第5章sql数据库完整性约束

合集下载

数据库原理[2]阶段练习4

数据库原理[2]阶段练习4

华东理工大学网络学院《数据库原理[专]》阶段练习4(第五~八章)一、单项选择题。

1、数据库中数据的正确性、有效性和相容性称为_________。

A.恢复B.并发控制C.完整性D.安全性2、授权是数据库系统采用的_________。

A.恢复措施B.并发控制措施C.完整性措施D.安全性措施3、数据库的转储属于DBS的_________。

A.完整性措施B.安全性措施C.并发控制措施D.恢复措施4、在数据库管理系统中的权限管理方面,若授权的数据对象的__________,则授权子系统就越灵活。

A.范围越大B.范围越小C.范围越适中D.约束越细致5、数据库后援副本的用途是________。

A.安全性保障B.一致性控制C.故障恢复D.数据的转储6、SQL语言提供______语句用于实现数据存取的安全控制。

A.GRANTMITC.CREATE TABLED.ROLLBACK7、下述哪一条是并发控制的主要方法_______。

A.日志B.授权C.备份D.封锁8、如果事务T1获得了数据对象D上的排他锁,那么________。

A.T1对D只能读不能写B.T1对D只能写不能读C.另一个事务T2对D既不能读也不能写D.另一个事务T2对D只能读不能写9、SQL中的主键子句和外键子句属于DBS的____________。

A.完整性措施B.安全性措施C.并发性措施D.恢复措施10、事务T1符合两段锁封锁法的序列是________。

A.LOCK S(A)…LOCK S(B)…UNLOCK (B)…UNLOCK (A)B.LOCK X(A)…UNLOCK(A)… LOCK S(B)… UNLOCK(B)C.LOCK S(B)…LOCK X(A)…UNLOCK(A)…LOCK S(C)D.UNLOCK(A)…UNLOCK(B)…LOCK X(A)…LOCK X(B)二、多项选择题。

1、数据库安全性控制通常采取的措施是________。

(完整版)第五章_数据库完整性(习题)

(完整版)第五章_数据库完整性(习题)

(完整版)第五章_数据库完整性(习题)一、选择题1.完整性检查和控制的防范对象是( ),防止它们进入数据库。

安全性控制的防范对象是(),防止他们对数据库数据的存取。

A.不合语义的数据 B。

非法用户 C.不正确的数据 D.非法操作2.找出下面SQL命令中的数据控制命令().A。

GRANT MIT C.UPDATE D.SELECT3.下述SQL命令中,允许用户定义新关系时,引用其他关系的主码作为外码的是()。

A。

INSERT B。

DELETE C.REFERENCES D. SELECT4.下述SQL命令的短语中,不用于定义属性上约束条件的是()。

A.NOT NULL短语 B。

UNIQUE短语 C.CHECK短语 D。

HAVING短语二、填空题1.数据库的完整性是指数据的正确性和相容性.2.关系模型的实体完整性在CREATE TABLE中用 primary key 关键字来实现。

3.检查主码值出现不唯一和有一个为空违约情况时,则DBMS拒绝插入或修改。

4.关系模型的参照完整性在CREATE TABLE中用 foreign key关键字来实现。

5.当参照完整性检查出现违约情况时,则DBMS可以采用拒绝、级联和设置为空策略处理。

6.参照完整性的级连操作的关键字是cascade .7.在CREATE TABLE中定义属性上的约束条件,包括not null 、unique 和 check。

8.在CREATE TABLE中定义属性上的约束条件,检查列值唯一用unique 关键字。

9.关系模型的元组上的约束条件的定义,在CREATE TABLE中用check关键字来实现。

10.在Sno(学号)列上创建约束,要求Sno的值在18至22岁之间,约束名Sno_CK。

请写出对应的完整性命名子句constraintSno_CK primary key check(sno between 18 and 22)。

1.A C ;BD 2. A 3。

第5章sql数据库完整性约束

第5章sql数据库完整性约束
CHECK约束是限制用户输入某一列的数据取值,即该 列只能输入一定范围的数据。 CHECK约束可以作为表定义的一部分在创建表时创建, 也可以添加到现有表中。表和列可以包含多个CHECK约束。 允许修改或删除现有的CHECK约束。 在现有表中添加CHECK约束时,该约束可以仅作用于 新数据,也可以同时作用于已有的数据。默认设置为 CHECK约束同时作用于已有数据和新数据。当希望现有数 据维持不变,则使用约束仅作用于新数据选项。
5.2.4 默认值(DEFAULT)约束
默认约束是指在用户未提供某些列的数据时,数据库 系统为用户提供的默认值。从而简化应用程序代码和提高 系统性能。 表的每一列都可包含一个DEFAULT定义。可以修改或 删除现有的DEFAULT定义,但必须首先删除已有的 DEFAULT定义,然后通过新定义重新创建。 1.利用Management Studio定义(删除)default约束 步骤1:右键要建立default约束的表选择“修改”。 步骤2:在弹出的窗口中对应字段的“默认值或绑定”处 输入默认值。 步骤3:点击保存即可。
PRIMARY KEY约束在表中定义一个主键,唯一的标 识表中的行。一个表只能有一个PRIMARY KEY约束。
当向表中的现有列添加PRIMARY KEY约束时,SQL Server将检查列中现有的数据以确保现有数据遵从主键的 规则,即无空值、无重复值。 每个表都应有一个主键。主键可以是一列或列组合。
CREATE TABLE kc_new (5-4)
(课程号 CHAR(4) NOT NULL CONSTRAINT pk_kch1 PRIMARY KEY, 课程名 CHAR(16) NOT NULL CONSTRAINT ix_kcm1 UNIQUE,
学分 SMALLINT,

第5章 数据库完整性

第5章 数据库完整性

第5章数据库安全性(2课时)数据库的数据保护主要包括数据的安全性和数据的完整性。

数据的安全性是为了保护数据库防止恶意的破坏和非法访问,防范对象是非法用户和非法操作。

数据库的完整性是指数据的正确性和相容性,是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据,防范对象是不合语义的、不正确的数据。

举例说明数据的完整性(三种完整性各一例)。

为维护数据库的完整性,DBMS必须具备三个功能:1 提供定义完整性约束条件的机制完整性约束条件也称为完整性约束规则,是数据库必须满足的语义约束条件。

SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性。

这些完整性一般由SQL的DDL语句来实现。

它们作为数据库模式的一部分存入数据字典中。

2 提供完整性检查的方法DBMS中检查数据是否满足完整性约束条件的机制称为完整性检查。

一般在INSERT、UPDA TE、DELETE语句执行后开始检查,也可以在事务提交时检查。

检查这些操作执行后数据库中的数据库是否违背了完整性约束条件。

3 违约处理DBMS若发现用户的操作违背了完整性约束条件,就采取一定的动作,如拒绝(NOACTION)执行该操作,或级联(CASCADE)执行其他操作,进行违约处理以保证数据的完整性。

目前商用的DBMS产品都支持完整性控制,即完整性定义、检查控制和违约处理都是由DBMS来实现,不必由应用程序来完成,从而减轻了应用程序员的负担。

5.1 实体完整性是关系的两个不变性之一,关系的主属性的取值不能相同,主属性不能取空值,保证在一个关系中不存在两个完全相同的元组。

5.1.1 实体完整性定义关系模型的实体完整性在CREATE TABLE中用PRIMARY KEY定义。

对单属性构成的码有两种说明方法:一种是定义为列级约束条件;一种是定义为表级约束条件。

对多个属性构成的码只有一种说明方法:定义为表级约束条件。

《数据库系统概论》第四版

《数据库系统概论》第四版

《数据库系统概论》第四版第四章:1.什么是数据库的安全性?答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

2.数据库安全性和计算机系统的安全性有什么关系?答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。

只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。

系统安全保护措施是否有效是数据库系统的主要指标之一。

数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。

3.试述可信计算机系统评测标准的情况,试述TDI / TCSEC 标准的基本内容。

答:各个国家在计算机安全技术方面都建立了一套可信标准。

目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD )正式颁布的《 DoD 可信计算机系统评估标准》(伽sted Co 哪uter system Evaluation criteria ,简称TcsEc ,又称桔皮书)。

(TDI / TCSEC 标准是将TcsEc 扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》(Tmsted Database Interpretation 简称TDI , 又称紫皮书)。

在TDI 中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。

TDI 与TcsEc 一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。

每个方面又细分为若干项。

4.试述TcsEC ( TDI )将系统安全级别划分为4 组7 个等级的基本内容。

答:这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。

各个等级的基本内容为:D 级D 级是最低级别。

一切不符合更高标准的系统,统统归于D 组。

Cl 级只提供了非常初级的自主安全保护。

能够实现对用户和数据的分离,进行自主存取控制(DAC ) ,保护或限制用户权限的传播。

第五章 数据库完整性

第五章 数据库完整性
7
例2:将SC表中的SNO、cno属性组定义为码 create table sc (sno char(9) not null, cno char(4) not null, grade smallint, primary key(sno,cno) )
8
5.1.2 实体完整性的违约处理

对于实体完整性的检查,包括:
在子表中修改外码(也是主属性)的策略


6. 在参照关系(子表)中修改外码(同时是主码 属性 )。与在参照关系中插入元组类似,可以 有2种策略: 受限修改 递归修改 RDBMS在实现参照完整性时: 需要向用户提供定义主码、外码的机制。 向用户提供按照自己的应用要求选择处理依 赖关系中对应的元组的方法。
6
5.1 实体完整性
5.1.1 定义实体完整性 例1:将student表中的sno属性定义为码 create table student (sno char(9) primary key, sname char(20) not null, ssex char(2), sage smallint, sdept char(20) )
26
5.4 完整性约束命名子句


1. 完整性约束命名子句 Constraint <完整性约束条件名><完整性约 束条件> 例5.10 建立学生登记表 student,要求学号在 90000—99999 之间,姓名不能取空值,年 龄小于30,性别只能是“男”或者“女”
5

数据库完整性控制机制


DBMS完整性控制机制: 1. 提供定义完整性约束条件的机制:提供定义数 据完整性约束条件的方法,完整性约束条件作为 模式的一部分存入数据库中; 2. 提供完整性检查的方法:进行完整性检查,检 查数据是否满足约束条件; 3. 进行违约处理:若有违反,采取相应措施(拒 绝、报告、改正)处理。 完整性子系统:DBMS中执行完整性控制的子系统。 其功能为监督事务的执行,测试其是否违反完整性 约束条件;若有违反,则分情况进行预定的处理。

(完整版)数据库原理第五版习题答案

(完整版)数据库原理第五版习题答案
9.定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图(E一R图)
答:
实体:客观存在并可以相互区分的事物叫实体。实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。实体集:同型实体的集合称为实体集。属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。码:惟一标识实体的属性集称为码。实体联系图(E一R图):提供了表示实体型、属性和联系的方法:·实体型:用矩形表示,矩形框内写明实体名;·属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;·联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1 , 1 : n或m : n)。
( 4)数据库管理系统(DataBase Management sytem,简称DBMs ):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。解析DBMS是一个大型的复杂的软件系统,是计算机中的基础软件。目前,专门研制DBMS的厂商及其研制的DBMS产品很多。著名的有美国IBM公司的DBZ关系数据库管理系统和IMS层次数据库管理系统、美国Oracle公司的orade关系数据库管理系统、s油ase公司的s油ase关系数据库管理系统、美国微软公司的SQL Serve,关系数据库管理系统等。
11.试给出一个实际部门的E一R图,要求有三个实体型,而且3个实体型之间有多对多联系。3个实体型之间的多对多联系和三个实体型两两之间的三个多对多联系等价吗?为什么?
答:
3个实体型之间的多对多联系和3个实体型两两之间的3个多对多联系是不等价,因为它们拥有不同的语义。3个实体型两两之间的三个多对多联系如下图所示。

数据库系统概论作业

数据库系统概论作业

《数据库系统概论》作业第一章概述1. 层次模型的数据结构是__树形__结构;网状模型的数据结构是网状结构;关系模型的数据结构是__二维表__结构。

2.数据库系统具有“数据独立性”特点的原因是因为在数据库系统中(B)(A)、采用磁盘作为外存(B)、采用三级模式结构(C)、使用OS来访问数据(D)、用宿主语言编写应用程序3. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是(A)。

(A)、DBS包括DB和DBMS(B)、DBMS包括DB和DBS(C)、DB包括DBS和DBMS(D)、DBS就是DB,也就是DBMS4.数据库系统的数据独立性体现在( B )(A)、不会因为数据的变化而影响到应用程序(B)、不会因为系统数据存储结构和数据逻辑结构的变化而影响应用程序(C)、不会因为存储策略的变化而影响存储结构(D)、不会因为某些存储结构的变化而影响其他的存储结构5.要保证数据库的数据独立性,需要修改的是(A)(A)、模式与外模式(B)、模式与内模式(C)、三层之间的两种映射(D)、三层模式6.下述( D )不是DBA(数据库管理员)的职责。

(A)、完整性约束说明(B)、定义数据库模式(C)、数据库安全(D)、数据库管理系统设计7.(B)是按照一定的数据模型组织的,长期储存在计算机内,可为多个用户共享的数据的集合。

(A)、数据库系统(B)、数据库(C)、关系数据库(D)、数据库管理系统8.数据模型的三要素是( D)。

(A)、外模式、模式、内模式(B)、关系模型、层次模型、网状模型(C)、实体、联系、属性(D)、数据结构、数据操作、完整性约束9. 简述数据库系统的主要特点。

(1)、数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。

(2)数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,(3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。

05_数据库完整性

05_数据库完整性
检查记录中主码值是否唯一的方法:
全表扫描.依次判断表中每条记录的主码值与 将插入记录上的主码值(或修改的新主码值) 是否相同.十分耗时. 在主码上自动建立索引(如B+树索引).可大 大提高效率.
5.2 参照完整性
5.2.1 参照完整性定义
在CREATE TABLE中用FOREIGN KEY短语来定 义哪些列为外码,用REFERENCES短语指明这 些外码参照哪些表的主码. 见课本P154 [例3]
定义触发器(续)
INSERT,UPDATE和DELETE三个选项是指定在表或视图 上执行哪些数据修改语句时将激活触发器的关键字.必须 至少指定一个选项.在触发器定义中允许使用以任意顺序 组合的这些关键字.如果指定的选项多于一个,需用逗号 分隔这些选项. AS后是触发器要执行的操作. CREATE TRIGGER 权限默认授予定义触发器的表所有者, sysadmin 固定服务器角色成员以及 db_owner 和 db_ddladmin 固定数据库角色成员,并且不可转让.
ALTER TABLE <表名> DROP < 完整性约束条件名>
5.6 触发器(Trigger)
触发器是用户定义在关系表上的一类由事件驱动的 特殊过程.一旦定义,任何用户对表的增,删,改 操作均由服务器自动激活相应的触发器,在DBMS 核心层进行集中的完整性控制.触发器类似于约束, 但是比约束更加灵活,可实施比FOREIGN KEY约 束,CHECK约束更为复杂的检查和操作,具有更 精细和更强大的数据控制能力.
定义触发器(续)
当你创建一个触发操作时,通常需说明所指的是触发语句 作用之前还是之后的列值.由于此种原因,我们用两个取 有特殊名字的虚拟表格来测试触发语句的作用:deleted 和inserted(在内存中,触发器完成运行后,这些表就不 能再访问). 这些表和指定触发器的表具有相同的结构. deleted表保 存受delete和update影响的行的副本.inserted表保存在 insert和update之后添加到触发器中的行的副本.

数据库系统概论 课件 第05章_数据库完整性

数据库系统概论 课件 第05章_数据库完整性
值的限制,包括:
列值非空(NOT NULL约束) 列值唯一(UNIQUE约束) 检查列值是否满足一个布尔表达式(CHECK约束)
SQL Server 实现用户定义数据完整性的主要方法 有:约束、默认、规则、自定义数据类型和触发器
1、不允许取空值
DB
例5 在定义“学生”表时,说明学号Sno为主键,姓
数据库系统原理
DB
Principles of Database System
第五章 数据库完整性
第五章
DB
数据库完整性
数据库的完整性(Integrity)
数据的正确性、有效性和相容性
防止不合语义的数据进入数据库
例:学生的年龄必须是整数,取值范围为14-35;
学生的性别只能是男或女; 学生的学号一定是唯一的; 学生所在的系必须是学校开设的系;
DB
FOREIGN KEY(<列名>) REFERENCES <表名> [(<列名>)] [ ON DELETE <参照动作> ] [ ON UPDATE <参照动作> ] 其中 第一个“列名”是外部关键字 第二个“列名”是被参照表中的主键或候选键 。
参照动作
DB
NO ACTION(拒绝)
CASCADE(级联)
FOREIGN KEY(Sno) REFERENCES Student(Sno),
FOREIGN KEY(Cno) REFERENCES Course(Cno)
);

5.2.2 参照完整性检查和违约处理
DB
一个参照完整性将两个表的相应元组联 系起来了
对被参照表和参照表进行增删改操作时
有可能破坏参照完整性 因此,必须进行检查

第5章-SQL语言 作业和思考

第5章-SQL语言 作业和思考

一、单项选择题:1.SQL语言是( )的语言,容易学习。

A.过程化B. 非过程化C.格式化D. 导航式2.关系操作方式的特点是( )操作。

A. 导航方式B. 一次一集合方式C.一次一记录方式 D. 记录或集合方式3.下列关于基本表与存储文件之间关系的叙述中,正确的是( )。

A. 一个基本表只能存储于一个文件中,一个存储文件中也只能存储一个基本表B. 一个基本表只能存储于一个文件中,但一个存储文件中可存储多个基本表C. 一个基本表可以存储于一个或多个文件中,但一个存储文件中只能存储一个基本表D. 一个基本表可以存储于一个或多个文件中,一个存储文件中也可以存储一个或多个基本表4.视图是从一个或多个基本表(视图)导出的表。

它相当于三级模式结构中的( )A. 外模式B. 模式C.内模式 D. 存储模式5.SQL的GRANT与REVOKE命令属于数据库保护中的( )控制。

A.完整性 B. 安全性 C. 并发控制 D. 恢复机制6.1986年,( )被定为关系数据库标准语言。

A. 关系代数B. 关系演算C.SQL语言D.QBE7.在SQL语言中授权的操作是通过( )语句实现的。

A. CREATE B.REVOKE C.GRANT D.INSERT8.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE,DELETE等.其中最重要的,也是使用最频繁的语句是( )。

A. DELETEB. INSERTC. UPDATED. SELECT9.SQL语言中,实现数据检索的语句是( )。

A.SELECT B.INSERT C. UPDATE D.FIND10.下列SQL语句中,修改表结构的是( )。

A. ALTERB. CREATEC.UPDATED. DELETE11.实体完整性约束和SQL语言中的()相对应。

A.primary key B.foreign key C.check D.unique12.参照完整性约束和SQL语言中的()相对应。

第五章-完整性控制

第五章-完整性控制
拒绝(NO ACTION)执行
默认策略
级联(CASCADE)操作
设置为空值(SET-NULL)
对于参照完整性,除了应该定义外码,还应定 义外码列是否允许空值
参照完整性检查和违约处理(续)
1、在被参照关系中删除元组的问题 2、在参照关系中插入元组时的问题 3、在参照关系中,修改外码的问题 4、修改被参照关系中主码的问题
参照完整性的常见实现机制包括:
外键(Foreign Key)
检查(Check) 触发器(Trigger) 存储过程(Stored Procedure)
5.2.1 参照完整性定义(续)
在输入或删除记录时,可以用来保持所有表之间定
义的关系,以确保键值在所有表中一致。 关系模型的参照完整性定义
完整性定义(续)
一条完整性规则可以用一个五元组 (D,O,A,C,P) 表示:
(1)D(Data) 约束作用的数据对象; (2)O(Operation) 触发完整性检查的数据库操作,即当用户 发出什么操作请求时需要检查该完整性规则,是立即检查 还是延迟检查; (3)A(Assertion) 数据对象必须满足的断言或语义约束,这 是规则的主体; (4)C(Condition) 选择A作用的数据对象值的谓词; (5)P(Procedure) 违反完整性规则时触发的过程。
违约处理
如果发现用户的操作请求使数据违背了完整性约束条件, 则采取一定的动作来保证数据的完整性。
违约处理(续)
违反实体完整性规则和用户定义的完整性规则的操 作:
一般是拒绝执行 违反参照完整性的操作:
拒绝执行
接受这个操作,同时执行一些附加的操作,以保证数 据库的状态正确
第五章 数据库完整性

数据库系统概论基础填空题

数据库系统概论基础填空题

数据库系统概论期末复习填空题第1章绪论1.数据管理技术经历了人工管理、文件系统和数据库系统三个阶段。

2.数据库是长期存储在计算机内、有组织的、可共享的数据集合。

3.DBMS是指数据库管理系统它是位于用户和操作系统之间的一层管理软件。

4.数据库管理系统的主要功能有数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立以及维护等4个方面。

5.数据独立性又可分为逻辑数据独立性和物理数据独立性。

6.当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的物理独立性。

答案:物理独立性7.数据模型是由数据结构、数据操作和完整性约束三部分组成的。

8.数据结构是对数据系统的静态特性的描述,数据操作是对数据库系统的动态特性的描述。

答案:①数据结构②数据操作9.数据库体系结构按照模式、外模式和内模式三级结构进行组织。

10.实体之间的联系可抽象为三类,它们是1∶1 、 1∶m 和 m∶n 。

11.数据冗余可能导致的问题有浪费存储空间及修改麻烦和潜在的数据不一致性。

12.数据库管理系统是数据库系统的一个重要组成部分,它的功能包括数据定义功能、13.数据操纵功能、数据组织存储和管理_、数据库运行管理和事物管理、数据库的建立和维护功能。

14.数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、15.数据库管理系统、应用软件和数据库管理员构成16.数据库,数据库管理系统(及其开发工具),数据库管理员,应用系统17..数据库具有数据结构化、最小的冗余度、较高的数据独立性等特点。

18..三级模式之间的两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和19.数据独立性。

20.数据模型的三要素是指数据结构化,数据操作,数据的完整性约束条件。

实际数据库系统中21.所支持的主要数据模型是层次模型,网状模型,关系数据模型。

22._ 关系模型___是目前最常用也是最重要的一种数据模型。

采用该模型作为数据的组织方式的数据库系统称为关系数据库。

《数据库技术与应用》第5章 习题答案

《数据库技术与应用》第5章 习题答案

第5章数据库完整性与安全性1.什么是数据库的完整性?什么是数据库的安全性?两者之间有什么区别和联系?解:数据库的完整性是指数据库中数据的正确性、有效性和相容性,其目的是防止不符合语义、不正确的数据进入数据库,从而来保证数据库系统能够真实的反映客观现实世界。

数据库安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。

数据的完整性和安全性是两个不同的概念,但是有一定的联系: 前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进单位、束。

静态元组①INSERT③)执行该操作,或级连(CASCADE)执行其它操作,进行违约处理以保证数据的完整性。

4.现有以下四个关系模式:供应商(供应商编号,姓名,电话,地点),其中供应商编号为主码;零件(零件编号,零件名称,颜色,重量),其中零件编号为主码;工程(工程编号,工程名称,所在地点),其中工程编号为主码;供应情况(供应商编号,零件编号,工程编号,数量),其中供应商编号,零件编号,工程编号为主码用SQL语句定义这四个关系模式,要求在模式中完成以下完整性约束条件的定义:①定义每个模式的主码;②定义参照完整性;③定义零件重量不得超过100千克。

解:CREATESCHEMASupplier_schemaCREATETABLESupplier(SnoCHAR(5)PRIMARYKEY,SnameCHAR(20)NOTNULL,PhoneCHAR(13),AddressCHAR(30));5.在关系数据库系统中,当操作违反实体完整性、参照完整性和用户自定义的完整性约束条件时,一般是如何分别进行处理的。

解:(1)按实体完整性规则自动进行检查。

包括:①检查主码值是否唯一,如果不唯一则拒绝插入或修改。

②检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改。

(2)按参照完整性检查,违约处理的策略如下:①拒绝(NOACTION)执行。

第5章 数据完整性

第5章 数据完整性

第5章数据完整性【学习目标】Microsoft SQL Server 2005系统提供了一系列保证数据完整性的方法和机制,例如约束、默认值和规则等。

其中约束技术是应用最为广泛的保证数据完整性的方法。

本章将主要介绍有关数据库完整性的技术与方法。

本章学习要点:◆数据完整性的基本概念与类型◆约束的概念与类型◆默认值的概念与类型◆规则的概念与类型【学习导航】数据完整性是指数据库系统中数据在逻辑上的一致性和准确性,是保证数据库中数据质量的一种重要手段,是数据库设计好坏的一项重要指标,同时也是现代数据库系统的一个重要特征。

我们都有在网上注册帐户的经历,在注册信息的时候,我们经常会遇到用户名已经存在、密码少于规定的长度、电子邮件必填、出生日期有效、身份证号码是否正确等一系列的限制,实际上这些限制就是保证数据完整性的一些手段,主要的目的就是为了保证用户所填写的内容正确、有效。

本章主要内容见图5-1所示的学习导航。

图5-1 本章学习导航5.1 概述当对数据库进行一系列的操作后,如添加、修改、删除后,数据可能会出现被破坏或相关数据不一致的情况,那么如何防止和解决这些问题的出现呢?这不仅仅需要管理人员和操纵人员的认真和负责,更需要建立一个保障机制,要么防止这些问题发生,要么发生这些问题时可以及时地发现。

数据完整性就是解决这些问题的一种机制。

数据完整性就是指存储在数据库中的数据的一致性和准确性。

在评价数据库的设计时,数据完整性是数据库设计好坏的一项重要指标。

根据数据完整性机制所作用的数据对象和范围不同,数据完整性可以分为实体完整性、域完整性、参照完整性和用户定义完整性4种。

1.实体完整性实体完整性,也可以称为行完整性。

实体是指表中的记录,一个实体就是表中的一条记录。

实体完整性要求在表中不能存在完全相同的记录,而且要求每条记录都要具有一个唯一的标识符,这种标识符一般称为主键值。

这样就可以保证数据所代表的任何事物都不存在重复、可以区分。

数据库客观题

数据库客观题

第1章绪论考试时间:1.数据库系统是采用了数据库技术的计算机系统,数据库系统由数据库、数据库管理系统、应用系统和( C)。

A.系统分析员B.程序员C.数据库管理员D.操作员2.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A )。

A.DBS包括DB和DBMSB.DBMS包括DB和DBSC.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS3.下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。

I.人工管理阶段 II.文件系统阶段 III.数据库阶段DA.I 和 IIB.只有 IIC.II 和 IIID.只有 I4.下列四项中,不属于数据库系统特点的是( C)。

A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高5.数据库系统的数据独立性体现在(B )。

A.不会因为数据的变化而影响到应用程序B.不会因为数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构6.描述数据库全体数据的全局逻辑结构和特性的是(A )。

A.模式B.内模式C.外模式D.7.要保证数据库的数据独立性,需要修改的是(C )。

A.模式与外模式B.模式与内模式C.三级模式之间的两层映射D.三层模式8.要保证数据库的逻辑数据独立性,需要修改的是(A )。

A.模式与外模式之间的映射B.模式与内模式之间的映射C.模式D.三级模式9.用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C )模式。

A.模式B.物理模式C.子模式D.内模式10.下述(D )不是DBA数据库管理员的职责。

A.完整性约束说明B.定义数据库模式D.数据库管理系统设计11.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是( D)。

A.层次模型B.关系模型C.网状模型D.实体-关系模型12.区分不同实体的依据是(B )。

数据库试题及课后答案

数据库试题及课后答案

数据库系统概论习题集第一章绪论一、选择题1. DBS是采用了数据库技术的计算机系统,DBS是一个集合体,包含数据库、计算机硬件、软件和(C)。

A. 系统分析员B. 程序员C. 数据库管理员D. 操作员2. 数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A )。

A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS3. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D)。

I.人工管理阶段II.文件系统阶段III.数据库阶段A. I 和IIB. 只有IIC. II 和IIID. 只有I4. 下列四项中,不属于数据库系统特点的是(C )。

A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高5. 数据库系统的数据独立性体现在(B)。

A.不会因为数据的变化而影响到应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构6. 描述数据库全体数据的全局逻辑结构和特性的是(A )。

A. 模式B. 内模式C. 外模式D. 用户模式7. 要保证数据库的数据独立性,需要修改的是(C)。

A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式8. 要保证数据库的逻辑数据独立性,需要修改的是(A )。

A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式9. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C),它是模式的逻辑子集。

A.模式B. 物理模式C. 子模式D. 内模式10.下述(D )不是DBA数据库管理员的职责。

A.完整性约束说明B. 定义数据库模式C.数据库安全D. 数据库管理系统设计选择题答案:(1) C (2) A (3) D (4) C (5) B(6) A (7) C (8) A (9) C (10) D课后习题第二章关系数据库一、选择题1. 下面的选项不是关系数据库基本特征的是(A )。

sql数据库练习题参考答案

sql数据库练习题参考答案

第1章数据库基础练习题一、单项选择题1.C 2.A 3.C 4.D 5.D6.B 7.A 8.B 9.B 10.D11.C 12.A 13.C 14.B 15.A16.B 17.A 18.D 19.B 20.B21.A; D 22.A 23.C 24.D 25.B26.B 27.B 28.D 29.B 30.B二、填空题1.概念;数据2.属性3.码4.一对一联系;一对多(或多对一)联系;多对多联系5.候选码6.候选码7.关系名(属性1,属性2,…,属性n)8.关系数据结构;关系操作集合;关系完整性约束9.实体;参照;用户定义的;实体;参照10.空值11.需求分析阶段;概念结构设计阶段;逻辑结构设计阶段;物理结构设计阶段;数据库实施阶段;数据库运行和维护阶段12.准确了解并分析用户对系统的要求,尤其是用户的信息要求、处理要求、安全性与完整性要求,确定所要开发的应用系统的目标,产生用户和设计者都能接受的需求说明书,做为下一步数据库概念结构设计的依据。

13.将需求分析得到的用户需求抽象为信息结构即概念模型。

14.将概念结构进一步转化为某一DBMS支持的数据模型,并对其进行优化。

15.为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上的存储结构和存取方法。

三、指出以下各缩写的英文意思和中文意思1.DB:Database2.DBMS:Database Management System3.RDBMS:4.DBS:Database System5.DBA:Database Administrator6.NF:Normal Form7.DDL:Data Definition Language 四、按题目要求回答问题3.答:(1)关系R是2NF。

因为R的候选码为课程名,而课程名→教师名,教师名→教师地址,所以课程名→教师地址,即存在非主属性教师地址对候选码课程名的传递函数依赖,因此R不是3NF。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CREATE TABLE kc_new (5-4)
(课程号 CHAR(4) NOT NULL CONSTRAINT pk_kch1 PRIMARY KEY, 课程名 CHAR(16) NOT NULL CONSTRAINT ix_kcm1 UNIQUE,
学分 SMALLINT,
学时数 SMALLINT)
4.用户定义的完整性(User-defined Integrity) 这是由用户定义的完整性。用户可以根据自己的业务规 则定义不属于任何完整性分类的完整性。
5.2 约束
约束是通过限制列中数据、行中数据以及表之间数据取 值从而保证数据完整性的非常有效和简便的方法。
5.2.1 主键(PRIMARY KEY)约束
PRIMARY KEY约束在表中定义一个主键,唯一的标 识表中的行。一个表只能有一个PRIMARY KEY约束。
当向表中的现有列添加PRIMARY KEY约束时,SQL Serve个表都应有一个主键。主键可以是一列或列组合。
字段名 部门编号 部门名称 电话号码
数据类型 char(5) varchar(10) char(13)
允许空 否,主键 否 是
CREATE TABLE bm (5-1) ( 部门编号 CHAR(5) NOT NULL CONSTRAINT pk_bh PRIMARY KEY, 部门名称 VARCHAR(10) NOT NULL, 电话号码 CHAR(13) )
语法格式2:(有多个字段结合作为唯一约束,主键也类似) CREATE TABLE 数据表名 ( …… CONSTRAINT 约束名 UNIQUE (列名1[,…n]) ) 例:创建和cj表结构相同的cj_new表,设置学号和课程 号为唯一约束,约束名为IX_xhkch。
create table cj_new (5-5) ( 学号char(10) not null , 课程号char(4) not null, 成绩numeric(5,2) CONSTRAINT IX_xhkch UNIQUE (学号,课程号) )
5.2.2 唯一键(UNIQUE)约束
可使用UNIQUE约束确保在非主键列中不输入重复值。 在允许空值的列上保证唯一性时,应使用UNIQUE约束而不 是PRIMARY KEY约束,不过在该列中只允许有一个NULL 值。一个表可以定义多个UNIQUE约束,但只能定义一个 PRIMARY KEY约束。 1.利用Management Studio定义(删除)唯一性约束
ADD CONSTRAINT pk_xhkch PRIMARY KEY(学号,课程号)
(3)删除主键约束 其语法格式如下: ALTER TABLE 表名 DROP CONSTRAINT 约束名 例:要删除cj表中的主键约束pk_xhkch: ALTER TABLE cj DROP CONSTRAINT pk_xhkch (5-3)
(2)向已有表中添加唯一约束,其语法格式如下。 ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (列名1[,…n]))
步骤1:右键要建立唯一约束的表选择“修改” 。 步骤2:右击要设置唯一约束的字段(列)选择“索引/键”。 步骤3:在弹出的窗口中点击“添加”,在右边窗口的“名称” 处输入约束名,在类型中选择“唯一键”,点击“列”的浏览按钮 选中要设置为唯一约束的字段(如出生日期)。 步骤4:点击“关闭”按钮,保存即可。
删除方法与建立的步骤类似。
2.利用T-SQL语句定义(删除)唯一性约束 (1)在创建表时创建唯一性约束 其语法格式如下。 语法格式1:(只有一个字段作为唯一约束) CREATE TABLE 数据表名 (列名 数据类型 CONSTRAINT 约束名 UNIQUE ) 【例5.3】创建和kc表结构相同的kc_new表,设置课程 名为唯一约束,约束名为ix_kcm1。
3.参照完整性(Referential Integrity) 参照完整性定义了一个关系数据库中,不同的表中列之 间的关系(父键与外键)。要求一个表中(参照表)的一列 或列组合的值必须与另一个表(被参照表)中的相关一列或 列组合的值相匹配。被引用的列或列组合称为父键,父键必 须是主键或唯一键,通常父键为主键,主键表(被参照表) 是主表。引用父键的一列或列组合称为外键,外键表(参照 表)是子表。子表的外键必须与主表的主键相匹配,只要依 赖某一主键的外键存在,主表中包含该主键的行就不能被删 除。
第5章 数据完整性
5.1 数据完整性的基本概念
数据完整性包括实体完整性、域完整性、参照完整性和 用户定义的完整性。 1.实体完整性(Entity Integrity) 实体完整性用于保证数据库中数据表的每一个特定实体 都是唯一的。它可以通过主键约束(PRIMARY KEY)、唯 一键约束(UNIQUE)、索引或标识属性(IDENTITY)来 实现。 2.域完整性(Domain Integrity) 域完整性就是保证数据库中的数据取值的合理性,即保 证指定列的数据具有正确的数据类型、格式和有效的数据范 围。通过为表的列定义数据类型以及检查约束(CHECK)、 默认定义(DEFAULT)、非空(NOT NULL)和规则实现 限制数据范围,保证只有在有效范围内的值才能存储到列中。
(2)向已有表中添加主键约束 其语法格式如下。
ALTER TABLE 表名 ADD [CONSTRAINT 约束名] PRIMARY KEY(列名1[,…n]))
例:先用图形方式删除cj表中的主键,然后用命令方式添 加主键为学号和课程号,主键名为pk_xhkch。
ALTER TABLE cj (5-2)
1.利用Management Studio定义(删除)主键
2.利用T-SQL语句定义(删除)主键 (1)在创建表时创建主键约束 其语法格式如下 CREATE TABLE 数据表名 (列名 数据类型 [CONSTRAINT 约束名] PRIMARY KEY)
例:用命令方式新建如下所示的bm表,设置主键名为pk_bh。
相关文档
最新文档