文档库 最新最全的文档下载
当前位置:文档库 › 参照完整性规则

参照完整性规则

参照完整性规则

参照完整性规则

数据库完整性

第五章数据库完整性 一、选择题 1.有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于__________。 A 实体完整性约束 B 参照完整性约束 C 用户自定义完整性约束 D 关键字完整性约束 【解答】C 2.完整性约束有两大类型,其中一种是静态约束,下面( c )不属于静态约束。 A.固有约束B.隐含约束C.语义约束D.显示约束 【解答】C 3.数据库的破坏一般来自四个方面,其中__________是属于完整性约束问题。 A.系统故障B.并发所引起的数据不一致C.人为的破坏 D.输入或更新数据库的数据有误,更新事务未遵守保持数据库一致性的原则 【解答】D 4. ________子句能够实现关系参照性规则。 A. PRIMARY KEY B. NOT NULL C. FOREIGN KEY D. FOREIGN KEY...REFERENCES... 【解答】D 二、填空题 1. 数据库的是指数据的正确性和相容性 【解答】完整性 2.完整性约束是指和。 【解答】实体完整性,参照完整性 3.实体完整性是指在基本表中,。 【解答】主属性不能取空值 4.参照完整性是指在基本表中,。 【解答】外码可以是空值或者另一个关系主码的有效值 5.SQL标准使用了一系列概念来描述完整性,包括关系模型的________ 、________和 ________完整性。 【解答】实体完整性参照完整性用户定义 6.数据库完整性的定义一般由SQL的________ 语句来实现。它们作为数据库模式的一部 分存入________中。

【解答】DDL 数据字典 7.关系模型的实体完整性在________ 中用________定义。 【解答】CREATE TABLE 、PRIMARY KEY 二、问答题 1.什么是数据库的完整性? DBMS的完整性子系统的功能是什么? 【解答】数据库完整性是指数据库中数据的正确性、有效性和相容性。DBMS 的完整性控制机制至少包括完整性约束的定义机制和完整性约束的检查机制。 DBMS完整性子系统的功能是: (1)监督事务的执行,并测试是否违反完整性规则; (2)如有违反,则采取恰当的操作,如拒绝、报告违反情况,改正错误等方法进行处理。2.完整性规则由哪几个部分组成?关系数据库的完整性规则有哪几类? 【解答】完整性规则由三部分组成: 触发条件:即什么时候使用规则进行检查; 约束条件:即要检查什么样的错误; ELSE子句:即查出错误后该如何处理。 完整性规则有以下三类: 域完整性规则,用于定义属性的取值范围; 域联系的规则,定义一个或多个关系中,属性值间的联系、影响和约束。 关系完整性规则,定义更新操作对数据库中值的影响和限制。 3.试详述SQL中的完整性约束机制? 【解答】SQL中的完整性约束规则有主键约束、外键约束、属性值约束和全局约束等多种形式。 △主键约束。它是数据中最重要的一种约束。在关系中主键值不允许空,也不允许出现重复,体现了关系要满足实体完整性规则。主键可用主键子句或主键短语进行定义。 △外键约束。根据参照完整性规则,依赖关系中外键或者为空值,或者是基本关系(参照关系)中的该键的某个值。外键用外键关系子句定义,并考虑删除基本关系元组或修改基本关系的主键值的影响,依赖关系可按需要采用RESTRICT、SET NULL、CASCADE方式。△属性值约束。当要求某个属性的值不允许空值时,那么可以在属性定义后加上关键字:NOT NULL ,这是非空值约束。还可以用CHECK子句对一个属性值加以限制以及使用域约束子句CREAT DOMAIN 定义新域并加以属性值检查。 △全局约束。在关系定义时,可以说明一些比较复杂的完整性约束,这些约束涉及到多个属性间的联系或不同关系间的联系,称为全局约束。主要有基于元组的检查子句和断言。前者是对单个关系的元组值加以约束,后者则可对多个关系或聚合操作有关的完整性约束进行定义。 4. DBMS的完整性控制机制应具有哪些功能?

数据库概论试题-数据库完整性

第10章数据库完整性 1.数据库的完整性是指数据的__正确性、相容性__。 2.什么是数据库的完整性? 答:数据库的完整性是指数据的正确性和相容性。 3.SQL标准使用了一系列概念来描述完整性,包括关系模型的____实体完整性、参照完整性、用户定义___完整性。 4.数据库的完整性概念与数据库的安全性概念有什么区别和联系? 答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。 前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(GarbageInGarbageOut)所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。 5.数据库完整性的定义一般由SQL的__DDL数据字典__语句来实现。它们作为数据库模式的一部分存入中。 6.什么是数据库的完整性约束条件?可分为哪几类? 7.关系模型的实体完整性在__CREATETABLE__中用__PRIMARYKEY___定义。 8.DBMS的完整性控制机制应具有哪些功能? 答:DBMS的完整性控制机制应具有三个方面的功能: 1.定义功能,即提供定义完整性约束条件的机制。 2.检查功能,即检查用户发出的操作请求是否违背了完整性约束条件。 3.违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。 9.为了避免对基本表进行全表扫描,RDBMS核心一般都对__主码__自动建立一个__索引__。 10.RDBMS在实现参照完整性时需要考虑哪些方面? 11.关系模型的参照完整性在__CREATETABLE__中用___FOREIGNKEY__短语定义哪些列为外码列,用__REFERENCES__短语指明这些外码参照哪些表的主码。 12.假设有下面两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号为主码;用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60岁。 CREATETABLEDEPT(DeptnoNUMBER(2),DeptnameV ARCHAR(10),ManagerV ARCHAR(10), PhoneNumberChar(12)CONSTRAINTPK_SCPRIMARYKEY(Deptno));CREATETABLEEMP(E mpnoNUMBER(4),EnameV ARCHAR(10),AgeNUMBER(2),CONSTRAINTC1CHECK(Aage<= 60),JobV ARCHAR(9),SalNUMBER(7,2),DeptnoNUMBER(2),CONSTRAINTFK_DEPTNOFOR EIGNKEY(Deptno)REFERENCESDEPT(Deptno)); 13.关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的? 答:对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理。而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。具体的处理可以参见上面第5题或《概论》10.2中相应部分。

课后简答题答案 (1)

第一章 三、简答题 12、数据模型的主要作用是什么三类基本数据模型的划分依据是什么各自哪些优缺点答:数据模型对现实世界中的事物及其联系的一种模拟和抽象表示,对数据、数据间联系以及有关语义约束规程进行形式化描述。 三类基本数据模型划分的依据是它们的数据结构,按数据结构的不同分为层次模型、网状模型和关系模型。 层次模型的优点有:(1)、层次模型结构比较简单,层次分明,便于在计算机内实现。(2)、结点间联系简单,从根结点到树中任何一结点均存在一天唯一的层次路径,因此其查询效率很高。(3)、提供了良好的数据完整性支持。层次模型的缺点有:(1)、不能直接表示两个以上的实体间的复杂联系和实体型间的多对多联系,只能通过引入沉于数据或创建虚拟结点的方法来解决,易产生不一致性。(2)、对数据插入和删除的操作限制太多。(3)、查询子女结点必须通过双亲结点。 网状模型的优点有:(1)、能更为直接地描述客观世界,可表示实体间的多种复杂联系。(2)、具有良好的性能和存储效率。网状模型的缺点有:(1)、数据结构复杂,并且随着应用环境的扩大,数据库的结构变得越来越复杂,不便于终端用户掌握。(2)、器数据定义语言(DDL)、数据操纵语言(DML)语言极其复杂,不易使用户掌握。(3)、由于记录间的联系本质上是通过存储路径实现的,应用程序再访问数据库时要指定存取路径,即用户需要了解系统结构的细节,加重了编写应用程序的负担。 关系模型的优点有:(1)、其有严格的数学理论依据。(2)、数据结构简单、清晰,用户易懂易用,不仅用关系描述实体,而且用关系描述实体间的联系,此外,对数据的操纵结构也是关系。(3)、关系模型的存取路径对用户是透明的,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发工作。关系模型的缺点有:查询效率不如非关系

数据库原理复习题

数据库原理复习题 一、单项选择题 1、关系中属性个数称为“元数”,元组个数称为( C )。 A、行数 B、列数 C、基数 D、超键 2、SQL的主码子句和外码子句属于DBS的A。 A、完整性措施 B、安全性措施 C、恢复措施 D、并发控制措施 3、概念设计结果是( B )。 A、一个与DBMS相关的概念模式 B、一个与DBMS无关的概念模式 C、数据库系统的公用视图 D、数据库系统的数据字典 4、启动、暂停或停止SQL Server数据库服务器要使用哪种工具?(C ) A、企业管理器 B、查询分析器 C、服务管理器 D、服务器网络实用工具 5、设k元关系R,则σ 表示( B )。 2>’4’ A、从R中挑选第4个分量的值小于2的元组所构成的关系 B、从R中挑选第2个分量值大于4的元组所构成的关系 C、从R中挑选第2个分量值大于第4个分量值的元组所构成的关系 D、σ2>’4’与R相比,基数不变,元数减少 6、在SQL中,与“IN”等价的操作符是( D )。 A、=ALL B、<>SOME C、<>ALL D、=SOME 7、若以选课(学号,课号,成绩)表达“某学生选修某课程获得了某个成绩。”则在( C ) 的情况下,成绩不完全函数依赖于学号。 A、一个学生只能选修一门课 B、一门课程只能被一个学生选修 C、一个学生可以选修多门课 D、一门课程可以被多个学生选修 8、当同一个实体集内部的实体之间存在着一个M:N联系时,那么根据ER模型转换成关系 模型的规则,这个ER结构转换成关系模式个数为( B )。 A、1个 B、3个 C、5个 D、7个 9、SQL Server 2000 企业版可以安装在____D_____操作系统上。 A、Microsoft Windows 98 B、Microsoft Windows Me 和 XP C、Microsoft Windows 2000 Professional D、Microsoft Windows NT 10、在SELECT 语句中,与关系代数中π运算符对应的是( A )子句。 A、SELECT B、FROM C、GROUP BY D、WHERE 11、下面所列条目中,哪一条不是标准的SQL语句?B A、ALTER TABLE B、ALTER VIEW C、CREATE TABLE D、CREATE VIEW 12、所谓视图,是指( B )。 A、数据库中独立存在的表,每个视图对应一个存储文件

实验一创建数据库及关系表数据完整性约束

实验一创建数据库及关系表、数据完整性约束 一、实验目的 1.???掌握SQL Server数据库管理系统的使用,能够在该环境中进行日常数据库操作; 2.???掌握在SQL Server中使用图形化工具创建数据库的方法; 3.掌握建立关系表的语句,掌握定义主码约束及外码约束的语句; 4.掌握修改表结构的语句。 5.掌握数据完整性约束的功能。 二、实验内容和步骤 1.创建符合如下条件的数据库: 数据库的名字为:Students 数据文件的逻辑文件名为:Students_dat,存放在用户盘某目录下; 文件的初始大小为:5MB;增长方式为自动增长,每次增加1MB。 实验结果: 2.在已建立的Students数据库中,确定出各表中的数据类型,写出创建满足下述条件的四张表的SQL语句,并查看执行结果。 实验结果: 3.写出实现如下操作的SQL语句,并查看执行结果: (1)在选课表中添加一个新的修课类别列:列名为:选课类别,类型为char(4)。(2)将课程表中的学分列的类型改为:tinyint(微整型,取值范围在0~255)。(3)删除学生表的专业列。 (4)为教师表添加主码约束,其主码列为:教师号。

4.在Students数据库中,编写建立满足完整性要求的定义表的SQL语句,执行并观察执行结果。 (1)图书表,结构如下: 书号:统一字符编码定长类型,长度为6,主码, 书名:统一字符编码可变长类型,长度为30,非空, 第一作者:普通编码定长字符类型,长度为10,非空, 出版日期:小日期时间型,小于等于当前系统日期,(用getdate()实现)印刷数量:小整型,取值范围:1000~5000,默认为4000, 价格:定点小数,小数部分一位,整数部分3位。 实验结果: (2)书店表,结构如下: 书店编号:统一字符编码定长类型,长度为6,主码, 店名:统一字符编码可变长类型,长度为30,非空, 电话:普通编码定长字符类型,12位长,取值形式:010-8位数字 地址:普通编码可变长字符类型,40位长。前两个字符必须是:北京。 实验结果: (3)图书销售表,结构如下: 书号:统一字符编码定长类型,长度为6,非空, 书店编号:统一字符编码定长类型,长度为6,非空, 销售日期:小日期时间型,非空,默认值为系统当前日期, 销售数量:微整型,取值大于0,主码(书号,书店编号,销售日期); 书号为引用“图书表”的外码;书店编号为引用“书店表”的外码。

数据库完整性-习题解答

第十章数据库完整性 习题解答和解析 1.什么是数据库的完整性 答:数据库的完整性是指数据的正确性和相容性。 2.数据库的完整性概念与数据库的安全性概念有什么区别和联系 答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garbage In Garbage Out)所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。 3.什么是数据库的完整性约束条件可分为哪几类 答:完整性约束条件是指数据库中的数据应该满足的语义约束条件。一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。 静态列级约束是对一个列的取值域的说明,包括以下几个方面: (1)对数据类型的约束,包括数据的类型、长度、单位可精度等; (2)对数据格式的约束; (3)对取值范围或取值集合的约束; (4)对空值的约束; (5)其他约束。 静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。 静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。常见的静态关系约束有: (1)实体完整性约束; (2)参照完整性约束; (3)函数依赖约束。 动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:(1)修改列定义时的约束; (2)修改列值时的约束。 动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件。

数据库5关系数据库完整性实验

数据库系统原理 实验报告 实验名称:关系数据库完整性实验任课教师:霍纬刚 学号:100341324 姓名:汪何媛 完成日期:2012.11.28

一、实验目的 通过ORACLE的完整性,理解关系数据库的完整性 二、实验内容与步骤 ORACLE环境中通过触发器可以定义为更复杂的完整性约束 例1:通过触发器产生主键值 create sequence ql minvalue 010341416; create table student(sno number(9) primary key ,sname varchar2(20)); create or replace trigger add_student before insert on student for each row begin select ql.nextval into :new.sno from dual; end; 验证触发器: SQL>insert into student (sname)values(‘刘辉’); SQL>insert into student (sname)values(‘刘俊波’); 例2:创建一个行级触发器,记录下给个用户对数据库的表进行数据操纵的次数 create or replace trigger audit_student after delete or insert or update on student for each row begin if deleting then update audit_student set del =del+1 where user_name=user and table_name='student'; end if; if inserting then update audit_student set ins=ins+1 where user_name=user and table_name='student'; end if; if updating then update audit_student set upd=upd+1; where user_name =user and table_name='student'; end if ; end; 要求:1)定义基本表: Audit_student(user_name,table_name,del,ins,upt) 2)输入元组,例“SCOTT”,“student”,0,0,0 3)以SCOTT身份登录,对student表进行增加删除和修改操作,之后查看 audit_student表的内容变化。 例3、为教师表Teacher定义完整性规则:“职称(pos)为教授时其工资(sal)不得低于1000元,如果低于1000元,自动改为1000元”。 create or replace trigger update_sal

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

一、选择题 1.完整性检查和控制的防范对象是(),防止它们进入数据库。安全性控制的防范对象是(),防止他们 对数据库数据的存取。 A.不合语义的数据 B.非法用户 C.不正确的数据 D.非法操作 2.找出下面SQL命令中的数据控制命令()。 A.GRANT https://www.wendangku.net/doc/431961883.html,MIT C.UPDA TE D.SELECT 3.下述SQL命令中,允许用户定义新关系时,引用其他关系的主码作为外码的是()。 A.INSERT B.DELETE C.REFERENCES D. SELECT 4.下述SQL命令的短语中,不用于定义属性上约束条件的是()。 A.NOT NULL短语 B.UNIQUE短语 C.CHECK短语 D.HA VING短语 二、填空题 1.数据库的完整性是指数据的正确性和相容性。 2.关系模型的实体完整性在CREATE TABLE中用primary key 关键字来实现。 3.检查主码值出现不唯一和有一个为空违约情况时,则DBMS拒绝插入或修改。 4.关系模型的参照完整性在CREATE TABLE中用foreign key关键字来实现。 5.当参照完整性检查出现违约情况时,则DBMS可以采用拒绝、级联和设置为空策略处理。 6.参照完整性的级连操作的关键字是cascade 。 7.在CREA TE TABLE中定义属性上的约束条件,包括not null 、unique 和check。 8.在CREA TE TABLE中定义属性上的约束条件,检查列值唯一用unique 关键字。 9.关系模型的元组上的约束条件的定义,在CREATE TABLE中用check关键字来实现。 10.在Sno(学号)列上创建约束,要求Sno的值在18至22岁之间,约束名Sno_CK。请写出对应的完整性 命名子句constraint Sno_CK primary key check(sno between 18 and 22)。 1.A C ;BD 2. A 3. C 4. D 三、综合题 1.假设有下面两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码; 部门(部门号,名称,经理名,电话),其中部门号为主码。用SQL 语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不

完整性(二)

数据完整性理论(二) ●规则 ●默认 1. 规则 规则(RULE)是一种数据库对象,作用是向表中的列插入数据时,指定该列接受数据值的范围。 特点: 1)规则要在insert和update语句之前给出。 2)规则与其作用的表是相互独立的,即表的删除、修改不会对与之相连的规则产生影响。 3)规则和约束可以同时使用,表的列可以有一个规则及多个CHECK 约束。 4)规则与CHECK 约束很相似。但CHECK 约束不能直接作用于用户自定义数据类型一、创建规则 1.用CREATE RULE 命令创建规则 CREA TE RULE 命令用于在当前数据库中创建规则,其语法如下: CREATE RULE rule_name AS condition_expression 其中: rule_name 是规则的名称 condition_expression 子句是规则的定义,它可以是能用于WHERE 条件子句中的任何表达式,可包含算术运算符、关系运算符和谓词(如IN、LIKE、BETWEEN 等)。 condition_expression 子句中的表达式必须以字符@ 开头 例1:创建年龄规则。 create rule age_rule as @age >= 10 and @age <= 50 create rule age_rule as @age between 10 and 50 例2: create rule Sex_rule as @性别in ('男','女') ----创建性别规则。 create rule Enter_date_rule as @入学年份>='1953-01-01' and @入学年份<=getdate() -----创建入学年份规则 2.用Enterprise Manager 创建规则 在Enterprise Manager 的左侧窗格中,展开要创建规则的数据库(如:JXGL)目录。 在数据库的对象“规则”上面单击右键,此时出现一快捷菜单,从快捷菜单中单击“新建规则”菜单项,则会弹出“规则属性”对话框。 在此对话框中的“名称”对应的文本框中输入要创建的规则的名称(如:age_rule),在“文本”对应的文本框中输入规则的内容(即约束的条件)。 在输入完规则名称和规则的内容之后,单击“确定”按钮即完成规则的创建。 二、查看和修改规则 1.用Enterprise Manager 查看规则 选择要查看的规则,单击右键,从快捷菜单中选择“属性”选项,即会出现“规则属性”对话框,可以从中编辑规则的表达式。 2.用存储过程Sp_helptext查看规则

第八章数据库完整性概念

第八章数据库完整性概念 1、什么是数据库的完整性? 答: 数据库的完整性是指数据的正确性和相容性。 2、数据库的完整性概念与数据库的安全性概念有什么区别和联系? 答: 数据的完整性和安全性是两个不同的概念,但是有一定的联系。 前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。 3、什么是数据库的完整性约束条件? 答: 完整性约束条件是指数据库中的数据应该满足的语义约束条件。一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。 4、RDBMS的完整性控制机制应具有哪些功能? 答: DBMS的完整性控制机制应具有三个方面的功能: (1)定义功能,即提供定义完整性约束条件的机制; (2)检查功能,及检查用户发出的操作请求是否违背了完整性约束条件; (3)违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。 5、RDBMS在实现参照完整性时需要考虑哪些方面? 答: RDBMS在实现参照完整性时需要考虑以下几个方面: (1)外码是否可以接受空值。 (2)删除被参照关系的元组时的考虑,这时系统可能采取的做法有三种:级联删除、受限删除、置空值删除。 (3)在参照关系中插入元组时的问题,这时系统可能采取的作法有:受限插入、递归插入。 (4)修改关系中得主码的问题。一般是不能用UPDATE语句修改关系主码的。如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关 系中。如果允许修改主码,首先要保证主码的唯一性和非空,否则拒绝修改。 然后要区分是参照关系还是被参照关系。 7、在关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的? 答: 对于违反实体完整性和用户定义完整性的操作一般采用拒绝执行的方式进行处理。而对

实验一创建数据库及关系表数据完整性约束

实验一创建数据库及关系表数据完整性约束集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

实验一创建数据库及关系表、数据完整性约束 一、实验目的 1.掌握SQL Server数据库管理系统的使用,能够在该环境中进行日常数据库操作; 2.掌握在SQL Server中使用图形化工具创建数据库的方法; 3.掌握建立关系表的语句,掌握定义主码约束及外码约束的语句; 4.掌握修改表结构的语句。 5.掌握数据完整性约束的功能。 二、实验内容和步骤 1.创建符合如下条件的数据库: 数据库的名字为:Students 数据文件的逻辑文件名为:Students_dat,存放在用户盘某目录下; 文件的初始大小为:5MB;增长方式为自动增长,每次增加1MB。 实验结果: 2.在已建立的Students数据库中,确定出各表中的数据类型,写出创建满足下述条件的四张表的SQL语句,并查看执行结果。 实验结果: 3.写出实现如下操作的SQL语句,并查看执行结果: (1)在选课表中添加一个新的修课类别列:列名为:选课类别,类型为char(4)。(2)将课程表中的学分列的类型改为:tinyint(微整型,取值范围在0~255)。(3)删除学生表的专业列。

(4)为教师表添加主码约束,其主码列为:教师号。 实验结果: 4.在Students数据库中,编写建立满足完整性要求的定义表的SQL语句,执行并观察执行结果。 (1)图书表,结构如下: 书号:统一字符编码定长类型,长度为6,主码, 书名:统一字符编码可变长类型,长度为30,非空, 第一作者:普通编码定长字符类型,长度为10,非空, 出版日期:小日期时间型,小于等于当前系统日期,(用getdate()实现) 印刷数量:小整型,取值范围:1000~5000,默认为4000, 价格:定点小数,小数部分一位,整数部分3位。 实验结果: (2)书店表,结构如下: 书店编号:统一字符编码定长类型,长度为6,主码, 店名:统一字符编码可变长类型,长度为30,非空, 电话:普通编码定长字符类型,12位长,取值形式:010-8位数字 地址:普通编码可变长字符类型,40位长。前两个字符必须是:北京。 实验结果: (3)图书销售表,结构如下: 书号:统一字符编码定长类型,长度为6,非空, 书店编号:统一字符编码定长类型,长度为6,非空, 销售日期:小日期时间型,非空,默认值为系统当前日期,

数据完整性实验

实验十:数据完整性实验 实验目的: 加深对数据完整性的理解。 实验内容: 数据库的完整性设置。 实验步骤: 可视化界面的操作方法: 一、实体完整性 1.将student表的“sno”字段设为主键:在表设计界面中,单击左边的行选定块,选定“sno”字段,单击工具按钮设置主键。如图7-1所示: 图7-1 2将“sc”表的“sno”和“cno”设置为主键:在表设计界面中,单击并按住Ctrl键拖动左边的行选定块,选定sno和cno字段,单击工具按钮设置主键。如图7-2所示:

图7-2 二、域完整性 3. 将“ssex”字段设置为只能取“男”,“女”两值:在表设计界面,点击鼠标右键——CHECK 约束,——添加约束,添加CK_student_sex名称,然后在约束表达式框中输入“ssex in ('男 ','女') ”。如图7-3所示。

图6-3 三、参照完整性 4. 将“student”表和“sc”表中的“sno”字段设为参照: 打开“sc”表的设计界面, 点击工具栏按钮, 在弹出的属性(properties)对话框中点击“新建”按钮,在“主键表(Primary key table)”下拉框中选择“student”表,在其下的字段选择框中选择“sno”,在“外键表(Foreign key table)”下拉框中选择“sc”表,在其下的字段选择框中选择“sno”,单击关闭即可。见 图7-4。

图7-4 命令方式操作方法: 一、实体完整性 1.将“student”表的“sno”字段设为主键: 当“student”表已存在则执行: alter table student add constraint pk_sno primary key (sno) 当“student”表不存在则执行: Create table student(sno CHAR(5) primary key , sname CHAR(10) NOT NULL, ssex CHAR(2), sage int, sdept CHAR(4)) 注:可用命令“drop table student”删除“student”表 2. 添加一身份证号字段,设置其惟一性.(注: 操作前应删除表中的所有记录) Alter table student add id char(18) unique (id) 3. 将“sc”表的“sno”和“cno”设置为主键: 当“sc”表已存在则执行: alter table sc add constraint PK_SnoCno primary key (sno,cno) 当“sc”表不存在则执行:

相关文档