数据库第五章

合集下载

数据库5章数据库设计

数据库5章数据库设计

E-R图向关系模型的转换:
码原则:
一个实体型转换为一个关系模式:实体的属性就是关系的 属 性,实体的码就是关系的码。
一个联系转换为一个关系模式:与该联系相连的各实体的码以 及联系的属性转换为该关系的属性。该关系的码有五种情况:
若联系是1:1:则每个实体的码均是该关系的候选码。 若联系是1:n:则关系的码是n端实体的码。 若联系是m:n:则关系的码是参加联系的诸实体的码的集合。 若联系是三个或三个以上的实体的一个多元联系可以转换为一个关系模
① 确定局部E-R图实体之间的函数依赖。 ② 求F的最小依赖集Fm,求其差集,即
D=F-Fm ③ 逐一考察D中每一函数依赖,确定是否为冗余,若是,就把 它去掉。
5.4 逻辑结构设计
任务:将基本E-R模型转换为DBMS所支持的数据模型。 关系型逻辑结构设计的步骤:
1) 将概念结构转换为关系模型 2) 优化模型 3) 设计适合DBMS的子模式
第五章 数据库设计
5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计
数据库技术的研究领域
数据库管理系统软件的研制(×)
DBMS的研制包括DBMS本身以及以DBMS为核心的饿一组相互联系的软 件系统。目标是扩大功能、提高性能和用户的生产率。
5.2 需求分析
5.数据库应用系统的数据字典 包括:
数据项 数据结构 数据流 数据存储 处理过程
5.2 需求分析
例:下图给出了某机器制造厂的零配 件采购子系统的数据流图。该子系统 要处理的工作是生产部门提出的生产 计划根据零配件当前价格计算成本送 主管部门审批,对已批准生产计划制 定采购计划,准备好订货单给供应商。

数据库原理及应用第5章

数据库原理及应用第5章


表(a)
表(b)


系 数
A
B
C
D
A
B
C
D

• A →AB1在表(a)关B系1 上成立,C但1 A →B在D表1(b)关系上不A成1 立。 B1
C1
D1


A1
B1
C2
D2
A1
B2
C2
D2

A2
B2
C3
D3
A2
B2
C3
D3


A3
B2
C4
D4
D4
A3
B1
C4


14
函数依赖(续)



• 定义5.2

F




P
传递
17
函数依赖(续)

例: 在关系SC(Sno, Cno, Grade)中,

由于: Sno Grade, Cno Grade,

因此: (Sno, Cno) Grade
但:
F

(Sno, Cno) Sno, (Sno, Cno) Cno


例: 在关系Std(Sno, Sdept, Mname)中, 有:

章 • 练习:已知R(ABCD),F={B→C,D →A,BD →ABCD},求R的候选码。
B ABCD, D ABCD, BD ABCD

所以,R的候选码为BD
系 数 据 库
• 例: 全码
F
考虑关系模式R(P,W,A)
– 其中: P—演奏者, W—作品, A—听众

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

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

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

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

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

后者是保护数据库防止恶意的破坏和非法的存取。

也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据.2。

什么是数据库的完整性约束条件?完整性约束条件可以分为哪几类?解:完整性约束条件是指数据库中的数据应该满足的语义约束条件。

一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束.静态列级约束是对一个列的取值域的说明,包括以下几个方面:①数据类型的约束,包括数据的类型、长度、单位、精度等;②对数据格式的约束;③对取值范围或取值集合的约束;④对空值的约束;⑤其他约束.静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。

静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。

常见的静态关系约束有:①实体完整性约束;②参照完整性约束;③函数依赖约束.动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:①修改列定义时的约束;②修改列值时的约束。

动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件.动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。

3. 试述DBMS如何实现完整性控制.解:为了维护数据库的完整性,DBMS提供了以下三种机制:①完整性约束条件定义完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件.SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性。

第五章数据库查询和数据库搜索

第五章数据库查询和数据库搜索


局部相似性和整体相似性

序列比对分类

整体比对:从全长序列出发,考虑序列的整体相似性

局部比对:考虑序列部分区域的相似性。

由于蛋白质的功能位点往往由较短的序列片段组成,故 尽管在序列的其它部位可能有插入、删除或突变,但是 这些部位的序列仍然具有相当大的保守性。此时,局部 相似性比对往往比整体比对具有更高的灵敏度,其结果 更具生物学意义。

生物序列相似性比较中绝大部分的问题在计算机科 学领域中主要体现为字符串的匹配和查找

相似性与同源性




相似性(Similarity):指序列比对过程中用来描述检测序 列和目标序列之间具有相同DNA碱基/氨基酸残基顺序所 占比例的高低 同源性(homology):如果两序列有一个共同的进化祖先, 那么称其为同源的。当两序列同源时,它们的氨基酸/核 苷酸序列通常有显著的一致性(identity)。 当相似程度高于50%时,比较容易推测检测序列和目标 序列可能是同源序列;而当相似性程度低于20%时,就 难以确定二者是否具有同源性。 两序列或者同源,或者不同源,所谓“具有50%同源 性”,或“这些序列高度同源”等说法,都是不确切的, 应该避免使用。
Hale Waihona Puke 可通过多种途径进行检索(名称、分类等级、序列等)

EBML SRS服务器界面

华南理工大学SRS服务器界面

SRS主要特点

统一的用户界面

安装通用网络浏览器即可查询世界上各地SRS服务器上的300多个 数据库 建立数据库索引文件,可快速高效实现查询,并可以某次查询结果 为子数据库进行进一步查询 超文本指针链接 可将序列分析等应用程序嵌入至基本查询中,做进一步分析及处理 数据库以文件系统的方式进行存放,便于更新和二次开发

第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】设数据表已经打开,为了在表尾增加一条空记录,应使用的命令是()。

A.APPEND B.APPEND BLANK C.INSERT D.INSERT BLANK【解析】答案A,APPEND命令打开一个输入记录的浏览窗口;答案D,INSERT BLANK是插入一条空记录,但必须将记录指针移动到文件尾;答案B是在文件尾追加一条空记录,这个命令常常配合REPLACE命令用于程序中添加记录。

答案:B【例题2】在打开的职工表在有字符型字段“职称”和数值型字段“工资”等,若要求先按职称的升序,职称相同再按工资降序建立排序好的zcgz.dbf文件,应使用的命令是()。

A.SORT ON职称,工资/D Tozcgz.dbfB.SORT ON工资/D,职称/A Tozcgz.dbfC.SORT ON职称+工资Tozcgz.dbfD.SORT ON职称+工资/D Tozcgz.dbf【解析】在SORT命令中,排序的依据只能是关键字段名,而不能使用关键字表达式,因此,答案C和D都是错误的。

答案B是先按工资排序,工资相同再按职称排序,与题意不符,所以正确的答案是A。

答案:A【例题3】在打开的学生档案表中有字符字段“性别”和日期型字段“出生日期”等若要先按性别排序,性别相同时再按出生日期排序创建单索引文件,应使用的命令是()。

A.INDEX ON性别,出生日期TO Xbrq.idxB.INDEX ON性别+出生日期TO xbrq.idxC.INDEX ON性别+STR(出生日期)TO xbrq.idxD.INDEX ON性别+DTOC(出生日期)TO xbrq.idx【解析】对于多重索引,索引表达式中的各字段数据类型必须是一致的。

本题中,“性别”和“出生日期”的数据类型不一致,为构成一个索引表达式,通常是使用转换函数把非字符型的数据转换成字符型的数据。

这里要用DTOC()函数将日期型转换成字符型的,因而答案B、C是错误的;答案A中,索引表达式不能是用逗号隔开的式子。

第五章 数据库设计

第五章 数据库设计

运动会方面,实体集包括:运动员(编号,姓名,性别,队 伍号),比赛项目(项目名,比赛场地)。其中,一个比赛项 目可供多名运动员参加,一名运动员可参加多个项目。
根据上述条件,分别设计运动队和运动会两个局部E-R图。
第三节 概念结构设计 参赛项目 性别 队伍号 队伍名 教练名 运动员 性别 队伍号 运动员 m 参加 n n 属于
第三节 概念结构设计 分解变换。如果实体集的属性较多,可以进行分解。例如, 对于员工实体集,其属性为员工号、姓名、性别、生日、(所 属)支行名、岗位、工资、奖金。 性别 生日 支行名 岗位 工资 奖金
姓名 员工号 员工
第三节 概念结构设计 可以把员工信息分解为两部分,一部分属于固定信息,一部 分属于变动信息。为了区别这两部分信息,产生一个新的实体 和一个新的联系。
在视图合并阶段,设计者把所有视图有机地合并成统一的概 念模型,这个最终的概念模型支持所有的应用。
第三节 概念结构设计 概念结构设计的策略主要分为自顶向下、自底向上、自内向 外和混合策略四种。 这些方法中最常用的是自底向上方法:首先设计局部概念模 式,然后综合局部概念模式成全局概念模式,最后对全局概念 模式进行评估和优化。
P2 P1 D2明细 D3账目 E2会 E1客 D1付款 打印账目 账务处理 单 户 计
第二节 需求分析 元数据是描述数据的数据,通常由数据结构的描述组成,主 要描述数据及其使用环境,例如数据精度、来源、产生时间、 使用范围、注解等。 数据字典是一种用户可以访问的、记录数据库和应用程序元 数据的集合,通常是用来解释数据表、数据字段等数据结构的 意义,数据字段的取值范围、数据值代表的意义等。 简而言之,数据字典是描述数据的信息集合,是系统中所有 数据的定义集合。
数据字典通常由数据项、数据结构、数据流、数据存储和处 理过程组成。

第5章 数据库安全保护

第5章 数据库安全保护

更改登录账号的属性
使用存储过程sp_password可改变登录账号的密码
EXEC sp_password '旧密码', '新密码', '登录账号名称' [例5-3]将Mike账号的密码由原来的m1934改为mike1934. EXEC sp_password ‘m1934’,’mike1934’,’Mike’
第5章 数据库安全保护
5.1 5.2 5.3 5.4
数据库的安全性 完整性控制 并发控制与封锁 数据库的恢复
2
5.1 数据库的安全性
5.1.1 数据库安全性的含义
数据库的安全性是指保护数据库以防止非法使 用所造成的数据泄露、更改或破坏。
安全性问题有许多方面 :
(1)法律、社会和伦理方面时问题。 (2)物理控制方面的问题。 (3)政策方面的问题。 (4)运行方面的问题。 (5)硬件控制方面的问题。 (6)操作系统安全性方面的问题。 (7)数据库系统本身的安全性方面的问题。
18
其中: BUILTIN\Administrators: 表示所有 Windows Adiminstrators组中的用户都可以 登录到SQL Server。此组中的成员同时也具 有SQL Server的系统管理员权限。 sa:SQL Server身份验证模式的系统管理 员账户。 方法2:使用存储过程查看登录账号。 EXEC sp_helplogins
14
5.1.4 SQL Server2000的身份验证模式
1.Windows身份验证模式 : 允许Windows操作系统用户连接到SQL Server。 当使用Windows身份验证模式时,用户必 须首先登录到Windows操作系统中,然后 再登录到SQL Server。 一般推荐使用Windows验证模式,因为这 种安全模式能够与Windows操作系统的安 全系统集成在一起,以提供更多的安全功能。

第五章 数据库完整性

第五章 数据库完整性
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中执行完整性控制的子系统。 其功能为监督事务的执行,测试其是否违反完整性 约束条件;若有违反,则分情况进行预定的处理。

数据库系统概论 课件 第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
一个参照完整性将两个表的相应元组联 系起来了
对被参照表和参照表进行增删改操作时
有可能破坏参照完整性 因此,必须进行检查

数据库第五章习题及答案

数据库第五章习题及答案

第五章 关系数据理论一、 单项选择题1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是 ( )A 、关系规范化理论B 、关系运算理论C 、关系代数理论D 、数理逻辑2、关系数据库规范化是为解决关系数据库中( )问题而引入的。

A 、插入、删除和数据冗余B 、提高查询速度C 、减少数据操作的复杂性D 、保证数据的安全性和完整性3、当关系模式R (A ,B )已属于3NF ,下列说法中( )是正确的。

A 、它一定消除了插入和删除异常B 、一定属于BCNFC 、仍存在一定的插入和删除异常D 、A 和C 都是4、在关系DB 中,任何二元关系模式的最高范式必定是( )A 、1NFB 、2NFC 、3NFD 、BCNF5、当B 属性函数依赖于A 属性时,属性A 与B 的联系是( )A 、1对多B 、多对1C 、多对多D 、以上都不是6、在关系模式中,如果属性A 和B 存在1对1的联系,则说( )A 、A B B 、B A C 、A B D 、以上都不是7、关系模式中,满足2NF 的模式,( )A 、可能是1NFB 、必定是1NFC 、必定是3NFD 、必定是BCNF8、关系模式R 中的属性全部是主属性,则R 的最高范式必定是( )A 、2NFB 、3NFC 、BCNFD 、4NF9、关系模式的候选关键字可以有( c ),主关键字有( 1个 )A 、0个B 、1个C 、1个或多个D 、多个10、如果关系模式R 是BCNF 范式,那么下列说法不正确的是( )。

A 、R 必是3NFB 、R 必是1NFC 、R 必是2NFD 、R 必是4NF11、图4.5中给定关系R ( )。

A 、不是3NFB 、是3NF 但不是2NFC 、是3NF 但不是BCNFD 、是BCNF12、设有如图4.6所示的关系R ,它是( )A 、1NFB 、2NFC 、3NFD 、4NF二、 填空题1、如果模式是BCNF ,则模式R 必定是(3NF ),反之,则( 不一定 )成立。

数据库复习 第五章 习题

数据库复习 第五章  习题

第五章习题一、选择题:1.关系规范化中的删除操作异常是指①,插入操作异常是指②。

A.不该删除的数据被删除B.不该插入的数据被插入C.应该删除的数据未被删除D.应该插入的数据未被插入答案:①A ②D2.设计性能较优的关系模式称为规范化,规范化主要的理论依据是____。

A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑答案:A3.规范化理论是关系数据库进行逻辑设计的理论依据。

根据这个理论,关系数据库中的关系必须满足:其每一属性都是____。

A.互不相关的B.不可分解的C.长度可变的D.互相关联的答案:B4.关系数据库规范化是为解决关系数据库中____问题而引人的。

A.插入、删除异常和数据冗余B.提高查询速度C.减少数据操作的复杂性D.保证数据的安全性和完整性答案:A5.规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及____的缺陷。

A.数据的不一致性B.结构不合理C.冗余度大D.数据丢失答案:C6.当关系模式R(A,B)已属于3NF,下列说法中____是正确的。

A.它一定消除了插入和删除异常B.仍存在一定的插入和删除异常C.一定属于BCNF D.A和C都是答案:B7.关系模型中的关系模式至少是____。

A.1NF B.2NF C.3NF D.BCNF答案:A8.在关系DB中,任何二元关系模式的最高范式必定是____。

A.1NF B.2NF C.3NF D.BCNF答案:D9.在关系模式R中,若其函数依赖集中所有候选关键宇都是决定因素,则R最高范式是____。

A.2NF B.3NF C.4 NF D.BCNF答案:C10.当B属性函数依赖于A属性时,属性A与B的联系是____。

A.1对多B.多对1 C.多对多D.以上都不是答案:B11.在关系模式中,如果属性A和B存在1对1的联系,则说____。

A.A→B B.B→A C.A↔B D.以上都不是答案:C12.候选码中的属性称为____。

数据库第五章课后习题答案

数据库第五章课后习题答案

关系规范化理论题目4.20 设关系模式R(ABC),F是R上成立的FD集,F={B→A,C→A },ρ={AB,BC }是R上的一个分解,那么分解ρ是否保持FD集F?并说明理由。

答:已知F={ B→A,C→A },而πAB(F)={ B→A },πBC(F)=φ,显然,分解ρ丢失了FD C→A。

4.21 设关系模式R(ABC),F是R上成立的FD集,F={B→C,C→A },那么分解ρ={AB,AC }相对于F,是否无损分解和保持FD?并说明理由。

答:①已知F={ B→C,C→A },而πAB(F)=φ,πAC(F)={ C→A }显然,这个分解丢失了FD B→C②用测试过程可以知道,ρ相对于F是损失分解。

4.22 设关系模式R(ABCD),F是R上成立的FD集,F={A→B,B→C,A→D,D→C },ρ={AB,AC,BD }是R的一个分解。

①相对于F,ρ是无损分解吗?为什么?②试求F在ρ的每个模式上的投影。

③ρ保持F吗?为什么?答:①用测试过程可以知道,ρ相对于F是损失分解。

②πAB(F)={ A→B },πAC(F)={ A→C },πBD(F)=φ。

③显然,分解ρ不保持FD集F,丢失了B→C、A→D和D→C等三个FD。

4.23设关系模式R(ABCD),R上的FD集F={A→C,D→C,BD→A},试说明ρ={AB,ACD,BCD }相对于F是损失分解的理由。

答:据已知的F集,不可能把初始表格修改为有一个全a行的表格,因此ρ相对于F是损失分解。

4.24 设关系模式R(ABCD)上FD集为F,并且F={A→B,B→C,D→B}。

① R分解成ρ={ACD,BD},试求F在ACD和BD上的投影。

② ACD和BD是BCNF吗?如不是,望分解成BCNF。

解:① F在模式ACD上的投影为{A→C,D→C},F在模式BD上的投影为{D→B}。

②由于模式ACD的关键码是AD,因此显然模式ACD不是BCNF。

第五章 数据库的创建与管理

第五章 数据库的创建与管理

数据库教案
物理存储结构
• 至少有一个主文件组,主文件组中包含了所有的 系统表,当建立数据库时,主文件组包括主数据 库文件和未指定组的其他文件。
• 事务日志文件文件不属于任何一个文件组。
数据库教案
• [例5-1]:创建一个只含一个数据文件和一个事务日志文件的数据库 • 数据库名为JWGL1, • 主数据库文件逻辑名称为jwgl1_data – 数据文件的操作系统名称jwgl1.mdf – 数据文件初始大小为5MB, – 最大值为500MB, – 数据文件大小以10%的增量增加。 • 日志逻辑文件名称jwgl1_log.ldf, – 事务日志的操作系统名称jwgl1.ldf, – 日志文件初始大小为5MB, – 最大值100MB, – 日志文件以2MB增量增加。
数据库的类型
了解系统数据库和用户数 系统数据库、文件存储位置、 据库的基本功能、存 默认扩展名、基本功能、 储信息 存储信息、属性
掌 握 使 用 SSMS 和 T-SQL 数据库的创建 数据文件、事务日志文件、 创建、修改与删除数 与管理 文件组、数据库属性 据库的方法 数 据 库 中 的 对 了解数据库中的对象及主 象 要对象的功能与作用 数据库关系图、表、视图、 可编程性、存储、安全 性
数据库教案
5.1 数据库简介
5.1.1 SQL Server 2005的数据库类型
1
2 系统数据库
用户数据库
数据库教案
系统数据库
1. 2. 3.
master数据库 model数据库 msdb数据库
4.
tempdb数据库
数据库教案
Master数据库
SQL Server中最重要的数据库,存储SQL Server中的系统级信息 包括所有的登录账户信息、初始化信息和 其它数据库的相关信息。 系统根据mas系统将受到影响

《数据库》第五章 数据完整性与约束

《数据库》第五章 数据完整性与约束
约束) 强制两个表之间的关系. –外键约束要求对于定义约束的列中的每个值,
必须与引用表中指定的列的值匹配。
15
Inspur Education
▪ 外键约束
–外键约束相关的概念:
oracle– 中外是键其常:他外表用键的约主约束 键定 列束义。中的的用引用法了其他表的的列或列集,一般
– 引用键:外键引用的其他表的唯一键或主键。 – 从表或子表:包含外键的表。此表的值依赖于引用表的唯一
–实例:在已创建的表dept_20中添加
oracleemp中lo常yee用_id约和束h的ir用e_d法ate 列的组合外键约
束A并LTE启R T用ABL:E dept_20
ADD CONSTRAINT fk_empid_hiredate FOREIGN KEY (employee_id, hire_date) REFERENCES job_history(employee_id, start_date)
▪ 唯一性约束
–实例:为已存在的warehouses表的
oraclwear中eh常ous用e_i约d,束wa的re用hou法se_name列,添加名
whAL_TuERnTqA为BLE的wa唯reh一ous性es 约束
ADD CONSTRAINT wh_unq UNIQUE (warehouse_id, warehouse_name)
25
Inspur Education
▪ 检查性约束
–检查性(check)约束即要求每一行的一列或
oracl多e列中的常值用,必约须束满的足用指定法条件。
–检查约束的主要好处是具有非常灵活的完整性 规则的能力。
26
Inspur Education

数据库第5章习题参考答案

数据库第5章习题参考答案

第5章习题解答1.选择题(1)为数据表创建索引的目的是_______。

A.提高查询的检索性能B.节省存储空间C.便于管理D.归类(2)索引是对数据库表中_______字段的值进行排序。

A.一个B.多个C.一个或多个D.零个(3)下列_______类数据不适合创建索引。

A.经常被查询搜索的列B.主键的列C.包含太多NULL值的列D.表很大(4)有表student(学号, 姓名, 性别, 身份证号, 出生日期, 所在系号),在此表上使用_______语句能创建建视图vst。

A.CREATE VIEW vst AS SELECT * FROM studentB.CREATE VIEW vst ON SELECT * FROM studentC.CREATE VIEW AS SELECT * FROM studentD.CREATE TABLE vst AS SELECT * FROM student(5)下列_______属性不适合建立索引。

A.经常出现在GROUP BY字句中的属性B.经常参与连接操作的属性C.经常出现在WHERE字句中的属性D.经常需要进行更新操作的属性(6)下面关于索引的描述不正确的是_______。

A.索引是一个指向表中数据的指针B.索引是在元组上建立的一种数据库对象C.索引的建立和删除对表中的数据毫无影响D.表被删除时将同时删除在其上建立的索引(7)SQL的视图是_______中导出的。

A.基本表B.视图C.基本表或视图D.数据库(8)在视图上不能完成的操作是_______。

A.更新视图数据B.查询C.在视图上定义新的基本表D.在视图上定义新视图(9)关于数据库视图,下列说法正确的是_______。

A.视图可以提高数据的操作性能B.定义视图的语句可以是任何数据操作语句C.视图可以提供一定程度的数据独立性D.视图的数据一般是物理存储的(10)在下列关于视图的叙述中,正确的是_______。

数据库系统概论 第5章

数据库系统概论 第5章

当一个关系模式在连接的过程中没有丢掉有用信息的, 称为无损连接分解否则称为有损连接分解。 3NF的优点就是其总可以在满足无损连接并保持依赖的 前提下得到3NF设计。其缺点是,若没有消除所有的传递 依赖,则必须要用空值来表示数据项间的某些可能有意义 的联系。此外,3NF还存在信息重复的问题。 若必须在BCNF和保持依赖的3NF间作选择的话,通常 倾向于选择3NF。因为若不能有效地检验依赖的保持情况, 我们要么牺牲系统性能,要么破坏数据库中的数据的完整 性,这当然都不好。相比之下,3NF中允许传递依赖造成 少量冗余反到是可以容忍的。所以,我们常选择保持依赖 而放弃BCNF。
假定有一个实际问题,有关系模式: 借书人(姓名,地址,书名,日期) 即 BORROW(NAME,ADDR,TITLE,DATE) 其中:NAME和TITLE是整个模式的关键字(主码)。
NAME 张 平 张 平 张 平 张 平 张 平 张 平 李少林 李少林 ADDR A1 A1 A1 A1 A1 A1 A2 A2 TITLE T1 T2 T3 T4 T5 T6 T3 T7 DATE D1 D2 D3 D4 D5 D6 D4 D7





一个低一级范式的系模式的集合,这种 过程就叫规范化。各种范式之间的关系为:
1NF 2NF
3NF BCNF 4NF
5NF
例:以下两例为非1NF关系。借书人
部门名 部门号
经理
正经理 副经理
张 平 李文化
DN1 DN2
D1 D2
M1 M2
5.2.5 3NF
定义:关系模式R(U,F)中若不存在这样的码X,属 性组Y及非主属性Z(Z Y)使得X→Y(Y→X)Y→Z 成立,则称R(U,F) ∈3NF。 简言之,不存在非主属性部分依赖和传递依赖于 码的第一范式称为第三范式。 从定义中还可得出结论:不存在非主属性的模式 为第三范式。

第5章 数据库的基本操作

第5章 数据库的基本操作

3.数据库与表
5.2.2 在数据库中建立表

例6:在已创建的D:\XSCJGL\DB\CJGL.DBC数据库 中建立学生信息表XSXI.DBF(表的结构参见第四 章),要求存储在D:\XSCJGL\DB\TABLES文件夹 下。
5.2.3 向数据库添加自由表

例7:将自由表KCXI.DBF添加到CJGL.DBC数据库 中。
3.以命令方式设置当前数据库


设置当前数据库,可使用下面的SET命令。 如SET DATABASE TO CJGL,表示将 CJGL.DBC设置为当前数据库。 格式:SET DATABASE TO[<数据库名>] 功能:指定已打开的某一数据库为当前数据库。 说明:如果省略数据库名,将取消当前数据库 的设置,即所有打开的数据库均不为当前数据 库。
4.以命令方式关闭数据库


格式:CLOSE DATABASES[ALL] 功能:关闭当前数据库和它包含的表; 若没有当前数据库,将关闭所有工作区中打开 的自由表和索引; 若命令中包含ALL选项,将关闭所有打开的数 据库及其包含的表,并关闭相关的索引文件和 格式文件。
5.以命令方式修改数据库
&&建立索引标识为XBBJ的惟一索引,该索引标识追加到XSXI.CDX文件
3.索引的使用


(1)索引文件的打开与关闭 格式:SET INDEX TO [<索引文件列表 >|?][ADDITIVE] 功能:打开当前表的一个或多个索引文件。这 里的索引文件类型指的是单索引文件或非结构 化复合索引文件。
&&按学号相等建立当前表与成绩信息表的一对多关系
接下来,执行下面的命令: SELECT A BROWSE &&浏览成绩信息表 SELECT B BROWSE &&浏览学生信息表

数据库第5章

数据库第5章
数据库原理
1-6 郑州轻工业学院软件职业技术学院
总的来说计算机安全涉及的问题
计算机系统本身的技术问题
计算机安全理论与策略
计算机安全技术
管理问题
安全管理 安全评价 安全产品
数据库原理
1-7 郑州轻工业学院软件职业技术学院
计算机安全涉及问题(续)
法学
计算机安全法律
犯罪学
计算机犯罪与侦察 安全监察
能访问他有权存取的数据,必须预 先对每个用户定义存取权限。
检查存取权限
对于通过鉴定获得上机权的用户
(即合法用户),系统根据他的存 取权限定义对他的各种操作请求进 行控制,确保他只执行合法操作。
数据库原理
1-22 郑州轻工业学院软件职业技术学院
常用存取控制方法
自主存取控制(Discretionary Access
5.3.2 授权(Authorization)与回收
在数据库系统中,定义用户存取权限称为授权 (Authorization)。 第三章讨论 SQL 的数据控制功能时,我们已知道授权有两种: 系统特权和对象特权。 系统特权是由DBA授予某些数据库用户,只有得到系统特 权,才能成为数据库用户。 对象特权可以由DBA授予,也可以由数据对象的创建者授 予,使数据库用户具有对某些数据对象进行某些操作的 特权。 在系统初始化时,系统中至少有一个具有DBA特权的用户,DBA 可以通过GRANT语句将系统特权或对象特权授予其他用户。 对于已授权的用户可以通过REVOKE语句收回所授予的特权。


用户标识和鉴定的方法有多种,为了获得更强的安全性, 往往是多种方法并举,常用的方法有以下几种:
数据库原理
1-18 郑州轻工业学院软件职业技术学院
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
检查记录中主码值是否唯一的一种方法是进行全表扫描
实体完整性检查和违约处理(续)
索引
第五章 数据库完整性
5.1 实体完整性 5.2 参照完整性 5.3 用户定义的完整性
5.4 完整性约束命名字句
*5.5 域中的完整性限制
5.6 触发器
5.7 小结
5.2 参照完整性
5.2.1 参照完整性定义
插入元组或修改属性的值时,RDBMS检查属性上
的约束条件是否被满足 如果不满足则操作被拒绝执行
5.3 用户定义的完整性
5.3.1 属性上的约束条件的定义
5.3.2 属性上的约束条件检查和违约处理 5.3.3 元组上的约束条件的定义
5.3.4元组上的约束条件检查和违约处理
5.3.3 元组上的约束条件的定义
5.4 完整性约束命名字句
*5.5 域中的完整性限制
5.6 触发器
5.7 小结
5.1 实体完整性
5.1.1 实体完整性定义
5.1.2 实体完整性检查和违约处理
5.1.1 实体完整性定义
关系模型的实体完整性
CREATE TABLE中用PRIMARY KEY定义
单属性构成的码有两种说明方法
|CHECK短语]
完整性约束命名子句(续)
[例10] 建立学生登记表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) );
PRIMARY KEY (Deptno) );
属性上的约束条件的定义(续)
3. 用CHECK短语指定列值应该满足的条件
[例7] Student表的Ssex只允许取“男”或“女”。 CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY,
Sname CHAR(8) NOT NULL, Ssex CHAR(2) CHECK (Ssex IN (‘男’,‘女’) ) ,
实体完整性定义(续)
(2)在表级定义主码
CREATE TABLE Student (Sno CHAR(9), Sname CHAR(20) NOT NULL, Ssex CHAR(2) , Sage SMALLINT, Sdept CHAR(20), PRIMARY KEY (Sno) );
实体完整性定义(续)
属性上的约束条件的定义(续)
1.不允许取空值
[例5] 在定义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), /* 如果在表级定义实体完整性,隐含了Sno,Cno不允许取空值, 则在列级不允许取空值的定义就不必写了 * / );
属性上的约束条件的定义(续)
2.列值唯一
[例6] 建立部门表DEPT,要求部门名称Dname列取值唯一,部门编 号Deptno列为主码
CREATE TABLE DEPT
(Deptno NUMERIC(2), Dname CHAR(9) UNIQUE,/*要求Dname列值唯一*/
Location CHAR(10),
数据库系统概论
An Introduction to Database System
第五章
数据库完整性
数据库完整性
数据库的完整性
数据的正确性和相容性
数据的完整性和安全性是两个不同概念
数据的完整性
防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据
防范对象:不合语义的、不正确的数据
5.3.1 属性上的约束条件的定义
5.3.2 属性上的约束条件检查和违约处理 5.3.3 元组上的约束条件的定义
5.3.4元组上的约束条件检查和违约处理
5.3.1 属性上的约束条件的定义
C(NOT NULL)
列值唯一(UNIQUE)
检查列值是否满足一个布尔表达式(CHECK)
在CREATE TABLE时可以用CHECK短语定义元组上的约
束条件,即元组级的限制
同属性值限制相比,元组级的限制可以设置不同属性之间
的取值的相互约束条件
元组上的约束条件的定义(续)
[例9] 当学生的性别是男时,其名字不能以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.打头
[例2]将SC表中的Sno,Cno属性组定义为码
CREATE TABLE SC (Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT,
PRIMARY KEY (Sno,Cno)
);
/*只能在表级定义主码*/
5.1 实体完整性
5.1.1 实体完整性定义
在Student表上建立了5个约束条件,包括主码约束(命名为StudentKey) 以及C1、C2、C3、C4四个列级约束。
完整性约束命名子句(续)
2. 修改表中的完整性限制
使用ALTER TABLE语句修改表中的完整性限 制
完整性约束命名子句(续)
[例13] 修改表Student中的约束条件,要求学号改为在 900000~999999之间,年龄由小于30改为小于40 可以先删除原来的约束条件,再增加新的约束条件
违约处理(续)
[例4] 显式说明参照完整性的违约处理示例
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表中相应的元组*/ );
5.2 参照完整性
5.2.1 参照完整性定义
5.2.2 参照完整性检查和违约处理
参照完整性检查和违约处理
可能破坏参照完整性的情况及违约处理
被参照表(例如Student) 可能破坏参照完整性 可能破坏参照完整性 删除元组 修改主码值
参照表(例如SC) 插入元组 修改外码值 可能破坏参照完整性 可能破坏参照完整性
5.1.2 实体完整性检查和违约处理
5.1.2 实体完整性检查和违约处理
插入或对主码列进行更新操作时,RDBMS按照实体完整
性规则自动进行检查。包括:
1. 检查主码值是否唯一,如果不唯一则拒绝插入或修改
2. 检查主码的各个属性是否为空,只要有一个为空就拒绝插
入或修改
实体完整性检查和违约处理(续)
5.3 用户定义的完整性
5.3.1 属性上的约束条件的定义
5.3.2 属性上的约束条件检查和违约处理 5.3.3 元组上的约束条件的定义
5.3.4 元组上的约束条件检查和违约处理
5.3.4 元组上的约束条件检查和违约处理
插入元组或修改属性的值时,RDBMS检查元组上的约束
条件是否被满足
/*性别属性Ssex只允许取'男'或'女' */
Sage SMALLINT, Sdept CHAR(20)
);
5.3 用户定义的完整性
5.3.1 属性上的约束条件的定义
5.3.2 属性上的约束条件检查和违约处理 5.3.3 元组上的约束条件的定义
5.3.4元组上的约束条件检查和违约处理
5.3.2 属性上的约束条件检查和违约处理
5.2.2 参照完整性检查和违约处理
5.2.1 参照完整性定义
关系模型的参照完整性定义
在CREATE TABLE中用FOREIGN KEY短语定义哪些 列为外码 用REFERENCES短语指明这些外码参照哪些表的主码
参照完整性定义(续)
例如,关系SC中一个元组表示一个学生选修的某门课程的成绩, (Sno,Cno)是主码。Sno,Cno分别参照引用Student表的 主码和Course表的主码 [例3] 定义SC中的参照完整性 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) /*在表级定义参照完整性*/ );
相关文档
最新文档