精华内容
下载资源
问答
  • 操作性定义(Operational Definition)

    千次阅读 2018-01-11 02:44:53
    操作性定义,又称操作定义,是根据可观察、可测量、可操作的特征来界定变量含义的方法。即从具体的行为、特征、指标上对变量的操作进行描述,将抽象的概念转换成可观测、可检验的项目。从本质上说,下操作性定义就是...
    操作性定义,又称操作定义,是根据可观察、可测量、可操作的特征来界定变量含义的方法。即从具体的行为、特征、指标上对变量的操作进行描述,将抽象的概念转换成可观测、可检验的项目。从本质上说,下操作性定义就是详细描述研究变量的操作程序和测量指标。在实证性研究中,操作性定义尤为重要,它是研究是否有价值的重要前提。
    中文名
    操作性定义
    外文名
    operational definition
    释    义
    将抽象的概念转换可检验的项目


    操作性定义,又称操作定义,是根据可观察、可测量、可操作的特征来界定变量含义的方法。即从具体的行为、特征、指标上对变量的操作进行描述,将抽象的概念转换成可观测、可检验的项目。从本质上说,下操作性定义就是详细描述研究变量的操作程序和测量指标。在实证性研究中,操作性定义尤为重要,它是研究是否有价值的重要前提。[1] 
    如何获取有价值的反映抽象定义内容的具体指标是研究是否客观可靠的条件。例如,“挫折感”的抽象定义为“当达到目标的过程中遇到障碍时所产生的情绪感觉或反应。”根据这一定义很难从科研中找到相应的测试内容,因为它不具体。如果研究人员把它规定为在某一具体情景中,如幼儿正在玩一个他十分喜爱的玩具的过程中,突然告诉他不能玩,或禁止继续玩,此时,幼儿的反应就是挫折感的反应。这样,一个抽象性定义就转变成了操作性定义。
    又例如,李伯特(Liebert)和巴隆(Baron)在对侵犯性行为研究中曾得到这样两种结果:一是“儿童观看暴力电视将促使其攻击行为增多”,二是“如果让儿童观看在实验室中攻击别人的3分钟短片后5分钟,儿童将可能按动按钮给隔壁房间的儿童施加疼痛的刺激”。从字面表述中可以看出,第一种表述更加有趣和普遍,但第二种表述可能会更精确一点,因为它比较确切地描述了做什么和结果发现什么,尽管第一种表述中包括了根据实际数据推理得到的结论。
    如果要研究它们,就必须把它们变成可操作的项目,即把它们变成具体的和可测量的形式。所有的实证性研究都必须有测量,并且所有的测量都必须把一般的抽象概念变为具体的行为指标。

    发展历程


    最早提出操作性定义的是美国的物理学家布里奇曼(P.W.Bridgman)。1923年,他提出:一个概念的真正定义不能用属性,而只能用实际操作来给出;一个领域的“内容”只能根据作为方法的一整套有序操作来定义。他认为科学上的名词或概念,如果要想避免暧昧不清,最好能以我们“所采用的测量它的操作方法”来界定 。他举例说明物理学领域的三个基本概念:长度、时间、重量,都可以采用测量它们的操作方法来界定,如,可以界定“1米”的长度为测量从赤道到北极直线距离的1/10000000;“1小时”的时间长度为测量地球自转一周所需时间的1/24;“1克”的重量为测量1立方厘米纯水在摄氏4度时的重量。布里奇曼的操作性定义的观点和思想在20世纪30-40年代被物理学界普遍接受,1971年被美国的《科学》杂志列为世界五大哲学成就之一 。

    目的与要求


    下操作性定义的基本要求是要提供观察或测量的标准,规定变量的操作程序,使抽象的概念成为可观察、可测量、可检验的项目。一般实证性的研究都要求下操作性定义,用测量操作方法来界定一个名词或概念的最大优点是具有明确客观的标准。
    下操作性定义的目的是为了能客观准确地测量变量;为他人重复验证提供具体的做法;便于别人和同行之间的学术交流,避免不必要的歧义和争论。在研究中,之所以有许多说不清、道不白的问题,很大一部分是由于对所探讨的概念没有明确客观的操作性定义造成的。大家在不同的层面,从不同的角度,用不同的定义来探讨同一个问题,这样的研讨肯定会产生很多误解和歧义,很难获得一致的结果。当我们讨论一个问题或交流有关信息时,彼此都在同一个层面使用同一个概念,都清楚所用的概念意味着什么,不会产生误解或歧义。即使对某一个概念产生疑问,也可以通过重复测量操作性定义予以验证。

    主要特征


    好的操作性定义有以下特征:
    1、操作性定义应该是可观测的、可重复的、可直接操作的。
    2、操作性定义所提示的测量或操作必须可行。
    3、操作性定义的指标成分应分解到能直接观测为止。
    4、操作性定义最好能把变量转化成数据形式,凡是能计数或计量的内容都是可以直接观测的。
    5、用多种方法形成操作性定义,既可以从操作入手,也可以从测量入手。
    判断一个操作性定义是否具有较好的操作性,可将这个定义向第三者描述,如果他表示理解这个变量的含义,并知道该如何去操纵、测量,那么这个定义往往是个比较好的、具体可行的操作性定义。在实际研究中,有些内容本身很难客观地观测,很难操作,我们往往只需对变量或概念追问一个“什么”的问题,便可判断这个变量或概念的可操作性。

    主要方法


    下操作性定义的方法很多,主要有以下三种:

    条件描述法

    条件描述法通常是通过陈述测量操作程序来界定一个概念,是对所解释对象的特征或可能产生的现象进行描述,对要达到某一结果的特定条件作出规定,指出用什么样的操作去引出什么样的状态,即规定某种条件,观察产生的结果。这种方法常用于给自变量下操作性定义。例如,要给“饥饿”下一个操作性定义,饥饿是一种自身感受,那么怎样才算饥饿了呢?心理学家用条件描述法给饥饿下了一个操作性定义:“饥饿”,指连续24小时没进食物的状态。这样,每个人都能对饥饿进行实际操作了。下面再举几个例子:
    1、竞争关系:两个以上的同伴,所处环境相似,大家都有相同的目标,但只允许其中一人达到目标,这时同伴之间的关系为竞争关系。
    2、智力:在《韦克斯勒儿童智力量表》(WISC—CR)上的测量分数。
    3、自信心:学生对即将来临的期终考试可能获得分数的估计值。

    指标描述法

    指标描述法通常是通过陈述测量操作标准来界定一个概念,是对所解释对象的测量手段、测量指标、判断标准作出规定。通常这些指标能作量化处理,常用于给因变量下操作性定义。例如,“青少年”可以界定为“年龄在7岁以上,18岁以下的人”。下面再举几个例子:
    1、发散思维:对同一物体多种用途的设想能力,具体指标为在60秒内回答砖的不同用途达10项以上为优秀;5项至9项为一般;5项以下为差。
    2、阅读能力:用阅读测验表上中等难度的文章进行测验,要求阅读速度达到200字/分以上;辨别达到90%以上;理解达到80%以上;记忆达到70%以上为合格。
    3、差生:在标准化成就测验中的分数低于个人智力所预测的成就分数一个标准差的学生。或者两门主课不及格的学生。

    行为描述法

    行为描述法通常是通过陈述测量结果来界定一个概念,是对所解释对象的动作特征进行描述,对可观测的行为结果进行描述。通常这种操作性定义用于给因变量下定义,解释客体的行为。例如,心理学家为了用饥饿的小白鼠做实验,给“饥饿”下了一个行为描述的操作性定义:一分钟内压低杠杆10次以上而获取食物的小白鼠。只有达到这样行为频率的小白鼠才属于饥饿状态。下面再举几个例子:
    1、旁观:注视别人的活动达2-3分钟以上,自己未参与。
    2、合作:对别人的活动给予支持,并直接参与活动,成为其中一员。
    3、谦让行为:在分配糖果时谦让行为可以分成三种水平:“主动谦让”指没有任何人提醒或暗示,都能将高级糖果让给别人;“被动谦让”指在他人的提醒或暗示下,才肯将高级糖果让给别人;“不谦让”指经他人再三提醒,都不肯把高级糖果让给别人,一定要自己享用。

    注意事项


    给变量下操作性定义要注意以下几点:
    研究课题中重要的变量要下操作性定义
    一般来说,研究假设中涉及的变量;在整个研究中起关键作用的新概念、新名词等要下操作性定义。例如,要研究儿童的创造能力,创造能力就是这项研究中的重要变量,不对这个变量下操作性定义,研究是难以进行下去的,因为创造能力本身不会告诉人们:创造能力的具体指标是什么,如何去测量,用什么去测量。
    研究目的、内容以及变量来下操作性定义
    操作性定义要与变量的原意相符,要与抽象性定义的内涵和外延相符。一般对研究结果的测定可采用指标描述法或行为描述法为宜。一个变量可以从不同角度、不同水平进行定义,但在一项研究中,只能认定其中之一贯穿始终,以保证研究结果的可靠性。
    操作性定义的设计要具体、明确
    操作性定义的设计要具体、明确。所谓具体是指所提示的测量或操作必须具有可行性,要使别人能理解操作内容和过程并能重复验证,要使被解释的事物成为可以看得到、摸得着,可以测量计数的项目,要将操作性定义的指标成分分解到能直接观测为止。所谓明确就是指制定的操作性定义要满足研究目的的需要,要与抽象性定义相吻合,能代表抽象性定义的实际含义。
    操作性定义在使用过程中应该是独特的
    操作性定义是研究者为了研究需要而规定的特殊解释,并非是对变量的全面的、唯一的解释。如果对变量作全面的解释,能将变量的所有含义囊括,这样的定义必定是抽象性定义。操作性定义比较灵活,研究者可以根据自己研究的需要界定变量,对同一个变量可以有不同的操作性定义。例如,我们把儿童的智力定义为:在韦克斯勒儿童智力量表(WISC——CR)上测得的分数。当然我们也知道测得的分数并非是某个儿童智力的全部,仅仅代表该生整个智力的一部分。但在这项研究中,研究者就把这测得的分数看作为该生智力的指标,用来代表该生的智力,这就是操作性定义的独特性。因为要将智力的所有因素都测量出来才能确定该生的智力是无法做到的。
    由于操作性定义的独特性比较难以理解,我们再举一个例子说明:有人要研究大学生的学习态度,对学习态度可以通过查阅教育词典、百科全书、教科书等获得抽象性定义,或者自己给学习态度下一个抽象性定义。但这样的定义往往无法具体操作、测量,只能作价值判断。研究者试图给学习态度下操作性定义,以便对学习态度进行测量,获取资料。他将学习态度定义为:学期学生上课的出勤率。然后每周上课点名获取出勤率的资料。当然学习态度涉及很多因素,会有很多指标,如上课的参与程度、举手发言频率、作业的正确率等,出勤率仅仅是其中的一个因素,但研究者就以出勤率来代替学习态度,以出勤率解释学习态度,这就是操作性定义的独特性,研究者不可能,也没有必要将学习态度涉及的所有因素都研究一番,才能了解学生的学习态度。
    操作性定义必须兼顾排他性与普遍性
    定义的排他性越大,解释的范围越小,普遍性也就越小。如“攻击性”的操作性定义可以是:
    曾与同学吵嘴或打架:排他性最低,外延最广,包含吵嘴和打架两种行为
    曾与同学打架:排他性略增,缩小范围,排除吵嘴行为
    每周至少与同学打架一次:排他性最高,只含每周至少一次的打架行为。
    操作性定义如果普遍性太低,则解释的范围有限,研究结果易流于偏狭;但如果排他性太低,则恐失之笼统,而不易掌握操作测量的本义。因此如何兼顾排他性和普遍性是个两难问题。一个基本的策略是:尽量用多种特征作为操作或测量的标准,以增加取舍的弹性。

    相似比较


    操作性定义和抽象定义的比较
    在实际研究过程中,操作性定义和抽象性定义都是需要的,各有其特点,应根据研究性质和目的加以取舍或运用。
    操作性定义 抽象定义
    目标 具体:描述变量的具体行为、特征和指标 抽象:描述出变量的本质特征
    作用 实用:可以借助它在研究中设计好内容 介绍概貌,便于读者了解有关变量
    方法 条件描述、行为描述、指标描述法等 经典定义、对等式定义、抽象定义、解释性定义等
    在给变量下定义的实际过程中,抽象性定义可以涵盖研究变量所属的基本特征,解释范围较大,具有普遍性,但往往失之笼统,无法据此测量和操纵研究变量。操作性定义对变量的界定清楚明确,便于操纵和测量,但往往只能涉及变量的少数特征,具有明显的排他性,难以表达完整意义。比较理想的方式是先用抽象性定义描述变量的基本特征,然后再用操作性定义规定操作程序和测量指标,这样便于把握操作性定义的方向和意义。
    展开全文
  • 数据库完整性定义与检查

    千次阅读 2019-05-21 10:31:34
    在列级定义实体完整: CREATE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT, Sdept CHAR(20)); 在表级定义实体完整: Create table SC(Sno char(9),Cno char(4),...

    实体完整性实验

    在列级定义实体完整性:
    CREATE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT, Sdept CHAR(20));
    在这里插入图片描述
    在表级定义实体完整性:
    Create table SC(Sno char(9),Cno char(4),Grade Smallint,primary key(Sno,Cno),foreign key(Sno) references Student(Sno),foreign key (Cno) references Course(Cno));
    在这里插入图片描述

    创建表后添加完整性约束
    alter table book add constraint pkey primary key(bno);
    在这里插入图片描述
    查看约束
    SELECT * FROM information_schema.TABLE_CONSTRAINTS where table_name=‘book’;
    在这里插入图片描述
    完整性约束验证:
    insert into book values(‘123456789’,‘booka’,10);
    insert into book values(‘123456789’,‘bookb’,20);
    在这里插入图片描述
    删除完整性约束
    alter table book drop primary key;
    在这里插入图片描述

    参照完整性实验

    创建表时定义参照完整性:
    create table borrow(bno char(9),sno char(9),foreign key(bno) references book(bno));
    在这里插入图片描述
    创建表后定义参照完整性:
    alter table borrow add constraint fkey foreign key(bno) references book(bno);
    在这里插入图片描述
    删除参照完整性:
    alter table borrow drop foreign key fkey;
    在这里插入图片描述

    用户自定义完整性实验

    添加非空约束
    alter table book modify bno char(9) not null;
    在这里插入图片描述
    添加unique约束
    alter table book add constraint bno_unique unique(bno);
    在这里插入图片描述
    删除unique约束
    alter table book drop index bno_unique;
    在这里插入图片描述
    添加default约束
    alter table book alter column bno set default ‘000000000’;
    在这里插入图片描述
    删除default约束
    alter table book alter column bno drop default;
    在这里插入图片描述
    增加check约束
    alter table book add constraint chk check(bprice<>0);
    在这里插入图片描述

    展开全文
  • 数据库完整性5.1 实体完整性5.1.1 实体完整性定义5.1.2 实体完整性检查和违约处理5.2 参照完整性5.2.1 参照完整性定义5.2.2 参照完整性检查和违约处理小结5.3 用户定义的完整性5.3.1 属性上的约束条件不允许取空值列...

    更多内容可以查看 计算机基础 — 笔记目录

    数据库的完整性:

    • 数据的正确性
      是指数据是符合现实世界语义,反映了当前实际状况的
      • 学生的学号必须唯一
      • 性别只能是男或女
      • 成绩的取值范围为0~100
    • 数据的相容性
      是指数据库同一对象在不同关系表中的数据是符合逻辑的
      • 学生所选的课程必须是学校开设的课程
      • 学生所在的院系必须是学校已成立的院系

    数据的完整性和安全性是两个不同概念:

    • 数据的完整性
      • 防止数据库中存在不正确的数据
      • 防范对象:不正确的数据
      • 完整性是阻止合法用户通过合法操作向数据库中加入不正确的数据
    • 数据的安全性
      • 保护数据库防止恶意的破坏和非法的存取
      • 防范对象:非法用户和非法操作
      • 安全性防范的是非法用户非法操作存取数据库中的正确数据

    为维护数据库的完整性,数据库管理系统必须:

    • 提供定义完整性约束条件的机制
      • 也称为完整性规则,是数据库中的数据必须满足的语义约束条件
      • 完整性包括关系模型的实体完整性、参照完整性和用户定义完整性
      • 这些完整性一般由SQL的数据定义语言语句来实现
    • 提供完整性检查机制
      • 检查数据是否满足完整性约束条件的机制称为完整性检查
      • 一般在INSERTUPDATEDELETE语句执行后开始检查,也可以在事务提交时检查
    • 违约处理
      • 数据库管理系统若发现用户的操作违背了完整性约束条件,就采取一定的动作
        • 拒绝执行该操作(NO ACTION)
        • 级连执行其他操作(CASCADE)

    由DBMS进行完整性检查的好处:

    • 不必由应用程序来完成,从而减轻了应用程序员的负担
    • 能够为所有的用户和应用提供一致的数据库完整性,避免出现漏洞

    5.1 实体完整性

    5.1.1 实体完整性定义

    • 单属性构成的码可以定义为列级表级
    • 多个属性构成的码只能定义为表级

    Ex:将Student表中的Sno属性定义为码(单属性)
    (1) 在列级定义主码

    CREATE TABLE Student(
    	Sno CHAR(9) PRIMARY KEY, /*列级定义主码*/
    	Sname CHAR(20) NOT NULL,
    	Ssex CHAR(2),
    	Sage SMALLINT,
    	Sdept CHAR(20)
    );
    

    (2) 在表级定义主码

    CREATE TABLE Student( 
    	Sno CHAR(9),
    	Sname CHAR(20) NOT NULL,
    	Ssex CHAR(2),
    	Sage SMALLINT,
    	Sdept CHAR(20),
    	PRIMARY KEY (Sno) /*表级定义主码*/
    );
    

    Ex:将SC表中的Sno,Cno属性组定义为码(多属性)

    CREATE TABLE SC( 
    	Sno CHAR(9) NOT NULL,
    	Cno CHAR(4) NOT NULL,
    	Grade SMALLINT,
    	PRIMARY KEY (Sno, Cno) /*只能在表级定义主码*/
    );
    

    5.1.2 实体完整性检查和违约处理

    插入对主码列进行更新操作,DBMS会按照实体完整性规则自动进行检查

    • 检查主码值是否唯一,如果不唯一则拒绝插入或修改
    • 检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改

    检查记录中主码值是否唯一的一种方法是进行全表扫描

    • 依次判断表中每一条记录的主码值与将插入记录上的主码值(或者修改的新主码值)是否相同
      在这里插入图片描述
    • 全表扫描缺点:十分耗时
    • 为避免对基本表进行全表扫描,RDBMS核心一般都在主码上自动建立一个索引

    例:新插入记录的主码值是25
    在这里插入图片描述

    5.2 参照完整性

    例:学生关系的“专业号”是外码,它参照专业关系的主码“专业号”
    学生关系中每个元组的“专业号”属性只取两类值:
    (1) 空值,表示该学生尚未确定专业
    (2)非空值,该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能属于一个不存在的专业

    关系模型的参照完整性定义

    • CREATE TABLE中用FOREIGN KEY短语定义哪些列为外码
    • REFERENCES短语指明这些外码参照哪些表的主码

    5.2.1 参照完整性定义

    例:Student表的Sdept属性是外码,参照DEPT表的主码Deptno
    (1) 在列级定义参照完整性

    CREATE TABLE Student(
    	Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件,Sno是主码*/
    	Sname CHAR(20) UNIQUE,
    	Ssex CHAR(2),
    	Sage SMALLINT,
    	Sdept CHAR(20) FOREIGN KEY REFERENCES DEPT(Deptno)
    	/*在列级定义参照完整性*/
    );
    

    (2) 在表级定义参照完整性

    CREATE TABLE Student(
    	Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件,Sno是主码*/
    	Sname CHAR(20) UNIQUE,
    	Ssex CHAR(2),
    	Sage SMALLINT,
    	Sdept CHAR(20),
    	FOREIGN KEY(Sdept) REFERENCES DEPT(Deptno)
    	/*在表级定义参照完整性*/
    );
    

    例:关系SC中(Sno,Cno)是主码。Sno,Cno分别参照Student表的主码和Course表的主码

    CREATE TABLE SC( 
    	Sno CHAR(9) NOT NULL,
    	Cno CHAR(4) NOT NULL,
    	Grade SMALLINT,
    	PRIMARY KEY (Sno, Cno), /*在表级定义实体完整性*/
    	FOREIGN KEY (Sno) REFERENCES Student(Sno), /*在表级定义参照完整性*/
    	FOREIGN KEY (Cno) REFERENCES Course(Cno) /*在表级定义参照完整性*/
    );
    

    5.2.2 参照完整性检查和违约处理

    • 一个参照完整性将两个表中的相应元组联系起来
    • 对被参照表和参照表进行增删改操作时有可能破坏参照完整性,必须进行检查

    参照完整性检查的时机?
    例:表SC和Student有四种可能破坏参照完整性的情况
    (1) SC表中增加一个元组,该元组的Sno属性的值在表Student中找不到一个元组,其Sno属性的值与之相等
    在这里插入图片描述
    (2) 修改SC表中的一个元组,修改后该元组的Sno属性的值在表Student中找不到一个元组,其Sno属性的值与之相等
    在这里插入图片描述
    (3) 从Student表中删除一个元组,造成SC表中某些元组的Sno属性的值在表Student中找不到一个元组,其Sno属性的值与之相等
    在这里插入图片描述
    (4) 修改Student表中一个元组的Sno属性,造成SC表中某些元组的Sno属性的值在表Student中找不到一个元组,其Sno属性的值与之相等 。
    在这里插入图片描述

    参照完整性违约处理

    1. 拒绝执行 NO ACTION
      不允许该操作执行。该策略一般设置为默认策略
    2. 级联操作 CASCADE
      当删除或修改被参照表(Student)的一个元组造成了与参照表(SC)的不一致,则删除或修改参照表中的所有造成不一致的元组
    3. 设置为空值 SET-NULL
      当删除或修改被参照表的一个元组时造成了不一致,则将参照表中的所有造成不一致的元组的对应属性设置为空值。

    例:显式说明参照完整性的违约处理示例

    CREATE TABLE SC( 
    	Sno CHAR(9) NOT NULL,
    	Cno CHAR(4) NOT NULL,
    	Grade SMALLINT,
    	PRIMARY KEY(Sno,Cno)FOREIGN KEY (Sno) REFERENCES Student(Sno)
    	ON DELETE CASCADE /*级联删除SC表中相应的元组*/
    	ON UPDATE CASCADE, /*级联更新SC表中相应的元组*/
    	FOREIGN KEY (Cno) REFERENCES Course(Cno)
    	ON DELETE NO ACTION/*当删除course 表中的元组造成了与SC表不一致时拒绝删除*/
    	ON UPDATE CASCADE/*当更新course表中的cno时,级联更新SC表中相应的元组*/
    );
    

    小结

    • 参照完整性的定义方法
      • CREATE TABLE … FOREIGN KEY … REFERENCE
    • 参照完整性的检查时机
      • 对被参照表和参照表进行增删改操作时
    • 参照完整性的违约处理
      • 拒绝执行 NO ACTION
      • 级联操作 CASCADE
      • 设置为空值 SET-NULL

    5.3 用户定义的完整性

    用户定义的完整性是:针对某一具体应用的数据必须满足的语义要求
    关系数据库管理系统提供了定义和检验用户定义完整性的机制,不必由应用程序承担

    5.3.1 属性上的约束条件

    CREATE TABLE时定义属性上的约束条件

    • 列值非空 NOT NULL
    • 列值唯一 UNIQUE
    • 检查列值是否满足一个条件表达式 CHECK

    不允许取空值

    例:在定义SC表时,说明Sno、Cno、Grade属性不允许取空值。

    CREATE TABLE SC( 
    	Sno CHAR(9) NOT NULL,/*不允许取空值*/
    	Cno CHAR(4) NOT NULL,/*不允许取空值*/
    	Grade SMALLINT NOT NULL,/*不允许取空值*/
    	PRIMARY KEY (Sno, Cno),);
    

    列值唯一

    例:建立专业表DEPT,要求专业名称Dname列取值唯一且不能取空值,专业编号Deptno列为主码。

    CREATE TABLE DEPT(
    	Deptno NUMERIC(2),
    	Dname CHAR(9) UNIQUE NOT NULL/*要求Dname列值唯一, 并且不能取空值*/
    	PRIMARY KEY (Deptno)
    );
    

    CHECK短语指定列值应该满足的条件

    例:Student表的Ssex只允许取“男”或“女”。

    CREATE TABLE Student(
    	Sno CHAR(9) PRIMARY KEY,
    	Sname CHAR(8) NOT NULL,
    	Ssex CHAR(2) CHECK (Ssex IN ('男','女')),/*性别属性Ssex只允许取'男'或'女' */
    	Sage SMALLINT,
    	Sdept CHAR(20)
    );
    

    例:SC表的Grade的值应该在0和100之间。

    CREATE TABLE SC( 
    	Sno CHAR(9) ,
    	Cno CHAR(4),
    	Grade SMALLINT CHECK (Grade>=0 AND Grade <=100)/*Grade取值范围是0到100*/
    	PRIMARY KEY (Sno,Cno),
    	FOREIGN KEY (Sno) REFERENCES Student(Sno),
    	FOREIGN KEY (Cno) REFERENCES Course(Cno)
    );
    

    属性上的约束条件检查和违约处理

    • 插入元组或修改属性的值时,关系数据库管理系统检查属性上的约束条件是否被满足
    • 如果不满足则操作被拒绝执行

    5.3.2 元组上的约束条件

    属性上的约束条件:只涉及单个属性

    • 元组级的限制:可以设置不同属性之间的取值的相互约束条件
    • CREATE TABLE时可以用CHECK子句定义元组上的约束条件

    例:当学生的性别是男时,其名字不能以Ms.打头

    CREATE TABLE Student ( 
    	Sno CHAR(9), 
    	Sname CHAR(8) NOT NULL,
    	Ssex CHAR(2), 
    	Sage SMALLINT, 
    	Sdept CHAR(20), 
    	PRIMARY KEY (Sno), 
    	CHECK (Ssex='女' OR Sname NOT LIKE 'Ms.%') 
    	/*定义了元组中Sname和Ssex两个属性值之间的约束条件*/ 
    );
    

    性别是女性的元组都能通过该项检查,因为Ssex='女'成立;
    当性别是男性时,要通过检查则名字一定不能以Ms.打头

    元组上的约束条件检查和违约处理

    • 插入元组或修改属性的值时,关系数据库管理系统检查元组上的约束条件是否被满足
    • 如果不满足则操作被拒绝执行

    小结

    • 属性上的用户定义完整性
      • 定义方法
      • 检查时机
      • 违约处理
    • 元组上的用户定义完整性
      • 定义方法
      • 检查时机
      • 违约处理

    在这里插入图片描述

    5.4 完整性约束命名字句

    CONSTRAINT <完整性约束条件名><完整性约束条件>
    

    <完整性约束条件>包括NOT NULLUNIQUEPRIMARY KEY短语、FOREIGN KEY短语、CHECK短语等

    例:建立学生登记表Student,要求学号在90000~99999之间,姓名不能取空值,年龄小于30,性别只能是“男”或“女”。

    CREATE TABLE Student( 
    	Sno NUMERIC(6)
    	CONSTRAINT C1 CHECK (Sno BETWEEN 90000 AND 99999),
    	Sname CHAR(20) CONSTRAINT C2 NOT NULL,
    	Sage NUMERIC(3) CONSTRAINT C3 CHECK (Sage < 30),
    	Ssex CHAR(2) CONSTRAINT C4 CHECK (Ssex IN ( ‘男’,'女')),
    	CONSTRAINT StudentKey PRIMARY KEY(Sno)
    );
    

    例:建立教师表TEACHER,要求每个教师的应发工资不低于3000元。应发工资是工资列Sal与扣除项Deduct之和。

    CREATE TABLE TEACHER( 
    	Eno NUMERIC(4) PRIMARY KEY /*在列级定义主码*/
    	Ename CHAR(10),
    	Job CHAR(8),
    	Sal NUMERIC(7,2),
    	Deduct NUMERIC(7,2),
    	Deptno NUMERIC(2),
    	CONSTRAINT TEACHERFKey FOREIGN KEY (Deptno) REFERENCES DEPT(Deptno),
    	CONSTRAINT C1 CHECK (Sal + Deduct >= 3000)
    );
    

    修改表中的完整性限制

    使用ALTER TABLE语句修改表中的完整性限制

    例:去掉上上例中Student表中对性别的限制。

    ALTER TABLE Student
    DROP CONSTRAINT C4;
    

    例:修改表Student中的约束条件,要求学号改为在900000~999999之间,年龄由小于30改为小于40

    • 可以先删除原来的约束条件,再增加新的约束条件:
    ALTER TABLE Student
    DROP CONSTRAINT C1;
    ALTER TABLE Student
    ADD CONSTRAINT C1 CHECK (Sno BETWEEN 900000 AND 999999),
    
    ALTER TABLE Student
    DROP CONSTRAINT C3;
    ALTER TABLE Student
    ADD CONSTRAINT C3 CHECK(Sage < 40);
    

    域约束:CREATE DOMAIN 语句(含CHECK子句)

    定义:

    CREATE DOMAIN COLOR CHAR(6) DEFAULT '???'
    CHECK(
    	/*格式同SELECT的WHERE*/
    	VALUE IN('Red','Yellow','Blue','Green', '???')
    );
    

    使用:

    CREATE TABLE PART (
    	pno char(5),
    	pname varchar(20),
    	partcolor COLOR,
    	…… 
    );
    

    *5.5 域中的完整性限制

    *5.6 断言

    *5.7 触发器

    展开全文
  • 数据完整 要想了解这三类完整约束首先要了解什么是数据完整。数据完整是指数据库中存储的数据...– 用户定义的完整(User-defined Integrity) • 实体完整和参照完整是关系模型必须满足的完整约束...

    数据完整性

    要想了解这三类完整性约束首先要了解什么是数据完整性。数据完整性是指数据库中存储的数据是有意义的或正确的,和现实世界相符。关系模型中三类完整性约束:
    – 实体完整性(Entity Integrity)
    – 参照完整性(Referential Integrity)
    – 用户定义的完整性(User-defined Integrity) •
    实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持

    实体完整性

    • 保证关系中的每个元组都是可识别的和惟一的 • 指关系数据库中所有的表都必须有主键,而且表中不允
    许存在如下记录:
    – 无主键值的记录
    – 主键值相同的记录
    • 原因:实体必须可区分
    例如:
    在这里插入图片描述
    上图就出现了主键值(学号是主键)重复的情况。当在表中定义了主键时,数据库管理系统会自动保证数据的实体完整性,即保证不允许存在主键值为空的记录以及主键值重复的记录。

    参照完整性

    也称为引用完整性
    • 现实世界中的实体之间往往存在着某种联系,在关系模型中,实体以及实体之间的联系都是用关系来表示的,这样就自然存在着关系与关系之间的引用
    • 参照完整性就是描述实体之间的联系的
    • 参照完整性一般是指多个实体或关系之间的关联关系
    在这里插入图片描述
    此完整性涉及到了外键:
    • 参照完整性规则就是定义外键与被参照的主键之间的引用规则
    • 外键一般应符合如下要求:
    – 或者值为空
    – 或者等于其所参照的关系中的某个元组的主键值

    用户定义完整性

    • 也称为域完整性或语义完整性
    • 是针对某一具体应用领域定义的数据约束条件
    • 反映某一具体应用所涉及的数据必须满足应用语义的要求
    • 实际上就是指明关系中属性的取值范围,防止属性的值与应用语义矛盾
    • 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统方法处理它们,而不要由应用程序承担这一功能

    展开全文
  • Oracle EBS 关键弹性域定义分段

    千次阅读 2014-02-10 11:01:01
    Oracle EBS 关键弹性域定义分段定义分段使用分段窗口为你的弹性域定义分段。窗口标题包含当前弹性域的名称。如果你的弹性域定义被冻结了(就是冻结弹性域定义复选框被选中了),这个窗口只用于显示。你的弹性域表有...
  • 定义完整约束

    千次阅读 2021-04-12 18:15:17
    在关系模型中,提供了实体完整、参照完整和用户定义的完整等三项规则。下面将分别介绍MySQL中对数据库完整三项规则的设置和实现方式。 主要内容: 1)实体完整 2)用户自定义的完整 3)参照完整 实体...
  • EBS 计划关键弹性域和定义关键弹性域的结构(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)计划你的关键弹性域计划你的关键弹性域的第一步是...
  • 定义访问权限集是一项分配至责任层的可选的安全功能,是对Oracle 11i应用产品弹性域安全性定义的功能扩展,对总帐管理模块的一些内容进行安全性定义和权限分配的集合,以控制不同的责任对一些内容的访问权限,如成批...
  • 定义参照完整

    千次阅读 2020-03-31 22:32:54
    定义参照完整的概念: 现实世界中的实体之间往往存在着某种联系,在关系模型中实体及实体之间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。 例如:学生实体和专业实体可以用下面的关系模式表示,...
  • 原子定义

    千次阅读 多人点赞 2018-07-20 18:42:16
    什么是原子,什么是原子操作? 举个例子:   A想要从自己的帐户中转1000块钱到B的帐户里。那个从A开始转帐,到转帐结束的这一个过程,称之为一个事务。在这个事务里,要做如下操作:  1. 从A的帐户中减去...
  • 有同事在问看到一个描述弹性域(DFF,Descriptive Flexfield)窗口怎么去找此弹性域段的定义。如下图的描述弹性域窗口,他在DFF段定义的名称是什么,其实就是那个弹性域弹出的标题,这里是“公用查看”。在弹性...
  • 数据库 完整约束定义

    千次阅读 2018-10-22 08:29:29
    --建表时定义性别取值为“男或女”默认为“男” --年龄在14到65之间(14,65) -- in (值1,值2,值3...值n) 属于值1到值n其中之一(详见聚集函数) create table Student( Sno Char(7) primary key,--学号 Sname Char...
  • 用户定义完整约束

    千次阅读 2020-03-31 22:40:15
    2.用户定义完整约束: 用户定义的完整规则,包括非空约束、自增约束、默认值约束等、check约束以及触发器约束,本次主要学习非空约束、自增约束、默认值约束,check约束以及触发器约束在这里暂时不做介绍。 ...
  • 数据库定义参照完整

    千次阅读 2020-05-18 11:03:18
    关系模型的参照完整在CREATE TABLE 中用FOREIGN KEY 短语定义哪些列为外码,用REFERENCES短语指定这些外码参照哪些表的主码。 例如:关系SC中一个元组表示一个学生选修的某门课程的成绩,(Sno,Cno)是主码,Sno...
  • 证明曲线凹凸的参数定义_20160421

    千次阅读 2016-05-02 17:48:11
    证明曲线凹凸的参数定义
  • 关于定义域有界的三种判断

    万次阅读 2016-12-19 19:57:32
    关于定义域有界的三种判断@(微积分)给定一个函数,讨论其在定义域上是否有界,有三种方法。不敢说常见,提出来思考。 理论法:若f(x)在定义域[a,b]上连续,或者放宽到常义可积(有限个第一类间断点),则f(x)在[a,...
  • 用户定义的完整

    千次阅读 2020-04-28 10:38:57
    1.概述:用户可以自定义完整机制,由数据库管理系统检查,并给出检查结果。 2.约束条件的种类: 2.1属性上的约束条件: 2.1.1列值非空(NOT NULL) 2.1.2 列值唯一 (UNIQUE) 2.1.3 l列值是否满足一个表达式...
  • 实验2 建立表和定义完整约束

    千次阅读 2019-05-17 09:54:10
    实验名称:建立模式、表和定义完整约束。 实验内容:在实验1建立的数据库的基础上,参照图3-4和表3-10建立表和定义完整约束。 实验目的:熟练掌握表的建立和数据完整速描定义方法,实践DBMS提供的...
  • EBS Form开发中弹性域定义的更新及其语法(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)原文来源:Application Developer Guide更新弹性域定义通常...
  • 文章目录一、可靠定义:二、可靠测试点:1、异常值输入:2、故障植入法:3、稳定测试:4、压力测试:5、恢复测试:6、性能测试:7、易用测试:三、测试用例设计方法SP1:SP2:SP3:SP4: 一、可靠定义:...
  • 数据库完整:数据的正确(是指数据是符合现实世界语义,反映了当前实际状况的)、数据的相容(是指数据库同一对象在不同关系表中的数据是符合逻辑的) 数据的完整 : 防止数据库中存在不符合语义的数据,...
  • 完备定义(ZZ)

    万次阅读 2010-11-22 20:13:00
     完备也称完全,可以从多个不同的角度来精确描述这个定义,同时可以引入完备化这个概念。但是在不同的领域中,“完备”也有不同的含义,特别是在某些领域中,“完备化”的过程并不称为“完备化”,另有其他的...
  • 关于函数连续的逐点定义

    千次阅读 2018-03-19 13:10:48
    大约在十八世纪60年代,德国数学家魏尔斯特拉斯(K.Weierstrass, 1815-1897)给出如下定义:给定函数y=f(x)以及在其定义域内的一个给定点x0 f (x) iscontinuous at x = x0 if ?ε&gt;0 ?δ&gt;0 such ...
  • 对用户定义的完整的认识

    千次阅读 2015-11-30 22:15:22
    静态约束在表约束定义定义,动态约束在触发器中定义。 三:断言与数据库约束 创建断言的语句格式: create assertion 断言名 check(条件) 约束性质 其中约束性质是deferrable或者not deferrable。 删除...
  • MySQL的参照完整(多表的设计):定义外键
  • 什么是函数的凹凸 函数的凹凸即对一个在某区间A上单调的函数,它的图像上凸或者上凹,则分别称为凸函数或者凹函数。而对于在某个区间内既有凹图像又有凸图像,则将凹图像所在区间称为函数的凹...凹凸数学定义...
  • 1、利用定义判定:若输出只取决于当前时刻的输入,则系统具有无记忆,即满足y(t)=Ax(at),A可以为常数也可以为关于t的函数,而 a只能为常数1 。所以说当你做题时或者其他时看到满足这样的关系果断判定! 2、...
  • 摘要:  不要过分依赖:人如果用前向盛名能够实现,那么就不要用包含(#include)定义。  不要互相依赖:循环依赖是...因此,循环依赖有碍于模块,是大型项目的祸根。请避免循环依赖。  除非确实需要类型定义,否
  • 数据定义

    千次阅读 2018-04-06 23:27:18
    SQL数据定义功能包括模式的定义、表定义、视图定义和索引的定义。 SQL的数据定义语句如下表 一、模式的定义和删除 1、定义模式 在SQL语句中,模式定义语句为: CREATE SCHEMA &lt;模式名&gt;...
  • XXE漏洞——XML实体定义引起的兼容问题 一、XML基础知识 XML指可扩展的标记语言(Extensible Markup Language),类似于HTML(超文本标记语言); XML被设计用来结构化、存储以及传输信息,其焦点是数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,192,464
精华内容 1,276,985
关键字:

性的定义