数据库原理第5章精品PPT课件

合集下载

数据库原理与应用第五章课件

数据库原理与应用第五章课件

5.2 需求分析
5.2.2 需求分析的方法
需求分析常用的调查方法有以下几种: (1)亲自参与业务活动,了解业务处理的基本情况。 (2)请专人介绍。 (3)在对用户的需求了解过程中一定会存在许多疑问,可以通
过与用户座谈、询问等方式来解决这些疑问。 (4)设计调查表请用户填写。如果调查表设计得合理接受。 (5)查问记录。即查问原系统有关的数据记录。 (6)学习文件。及时了解掌握与用户业务相关的政策和业务规
5.6 数据库实施
所谓数据库的实施,就是根据数据库的逻辑结构 设计和物理结构设计的结果,在具体RDBMS支持的计算 机系统上建立实际的数据库模式、装人数据、并进行 测试和试运行的过程。 (1)散数据库的建立与调整 (2)数据库的调整 (3)应用程序编制与调试 (4)数据库系统的试逻辑结构设计阶段 物理结构设计阶段 数据库实施阶段 数据库运行和维护阶段
5.2 需 求 分 析
5.2.1 需求分析的任务
需求分析的任务是通过详细调查所要处理的对象(组织、 部门、企业等),充分了解原有系统的工作概况,明确用户的 各种数据需求、完整性约束条件、事务处理和安全性条件等, 然后在此基础上确定新系统的功能。新系统必须充分考虑今后 可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。
(1)一个实体型转换为一个关系模式; (2)实体的属性就是关系的属性,实体的码就是关系的码。
5.5 物 理 设 计
数据库物理设计阶段主要包括以下4个过程: (1)分析影响物理数据库设计的因素。 (2)为关系模式选择存取方法。 (3)设计关系、索引等数据库文件的物理存储结构。 (4)评价物理结构。
(1)数据库的转储和恢复。 (2)维持数据库的完整性与安全性。 (3)监测并改善数据库性能。 (4)数据库的重组和重构。

数据库原理及应用课件:第5章 ACCESS 数据库—面向对象的程序设计语言(VBA)

数据库原理及应用课件:第5章 ACCESS 数据库—面向对象的程序设计语言(VBA)

13
2022/10/3
– 用户自定义型 所占字节数与元素个数有关,用 户可以使用Type语句定义任何数据类型。语法 如下:
– [Private/Public] Type 类型名
– 元素名 As 数据类型
–…
– End Type
例如:自定义一个教师的基本信息数据类型,其 中包括姓名、性别、年龄的信息。
4
2022/10/3
– 对象(Object)—是类的一个实例,是组成一个 系统的基本逻辑单元,是具有某些特征的具体的 事物的抽象。每个对象都具有属性和行为。
– 数据抽象(Data Abstraction)—指仅表现核心 的特性而不描述背景细节的行为。
– 继承(Inheritance)—是可以让某个类型的对象 获得另一个类型的对象的属性的方法。
24
2022/10/3
例:已知两个数x和y,比较它们的大小,使 得x大于y。
– 方法一:if x<y then
t=x
x=y
y=t
end if
– 方法二: if x<y then t=x:x=y:y=t
25
2022/10/3
– If …Then…Else语句(双分支结构)。此语句 也有两种形式:块结构和行结构。
– I说f…明T:hen语句(单分支结构)。有两种形
式1):表块达结式构一和般行为结关构系表达式、逻辑表达 块式0结为,构F也a形l可s式e以。:为If<算表术达表式达>式Th,e非n 0为True,
2)语句块可以语是句一块句或多句,若用行结 构来表示,则En只d 能If是一句语句,若多句, 行语结句构间形需式用:冒If号<表隔达开式,>而T且he必n须<语在句一>行上 书写。

《数据库原理及应用》第五章SQL查询

《数据库原理及应用》第五章SQL查询

SQL语言
SQL功能 命令动词
数据查询
数据定义 数据操纵
SELECT
CREATE、DROP、ALTER INSERT、UPDATE、DELETE
数据控制
GRANT、REVOKE
SQL语言
SQL语言的优点在于SQL不是面向过程的 语言,使用SQL语言只需描述做什么,而 不需要描述如何做,为使用者带来极大的 方便。本章将以讨论SQL的数据查询语言 为主,同时介绍数据定义语言和数据操纵 语言。本章中大部分例题使用“学生管理” 数据库,并假定数据库在Access的当前目录 下。
简单查询----选择记录
WHERE子句通过指定查询条件,可以在表中找出满足条件 的记录。查询条件可以是任意复杂的逻辑表达式。 当WHERE子句需要指定一个以上的查询条件时,要使用逻 辑运算符AND、OR和NOT将其连接成复合的逻辑表达式。 其优先级由高到低为:NOT、AND、OR,可以使用括号改 变优先级。 条件查询还可以使用LIKE或NOT LIKE进行部分匹配查询。* 表示任意长度的字符串;?表示任意单个字符。 在查询中还可以使用查询谓词,查询谓词IN 和NOT IN用于 检索属于(IN)或不属于(NOT IN)指定集合的记录。 例10 查询成绩在60分以下(不包括60分)、90分以上(含 90分)学生的学号。
连接查询(多表查询)
例13 查询会计系学生选修课程及成绩,要求查询结果中含 属性学号、姓名、课程名称和成绩。 SELECT student.学号,姓名,课程名称,成绩 FROM student,course,grade WHERE 所属院系='会计学院' and student.学号=grade. 学号 and grade.课程编号=course.课程编号 这个查询涉及到两个表,查询所要求的结果来自两个表,查 询的条件也涉及到两个表,所以有“FROM student,grade”; 这两个表之间是有联系的,这种联系是通过父表的主关键字 (student中的学号)和子表的外部关键字(grade表的学号) 建立的,所以有命令子句WHERE中的筛选条件“student. 学号=grade.学号”。 由于student表和grade表都有学号属性,因此在SELECT子 句中要用前缀的形式“student.学号”指明取自哪个表中的 学号;此例中用“grade.学号”的形式,查询结果是一样的。

第5章_总体设计 数据库原理

第5章_总体设计 数据库原理
第5章 总体设计
Contents
5.1 设计过程 5.2 设计原理 5.3 启发规则 5.4 描绘软件结构的图形工具 5.5 面向数据流的设计方法
闽南科技学院计算机系
软件设计宣言:Mitch Kapor • “什么是设计?设计是你站在两个世界——技 术世界和人类的目标世界——而你尝试将这两 个世界结合在一起……”。 罗马建筑批评家Vitruvius提出的观念: • “设计良好的建筑应该展示出坚固、适用和令 人赏心悦目”。
• 耦合衡量不同模块彼此间互相依赖(连接)的紧密
程度。耦合要低,即每个模块和其他模块之间的 关系要简单;
• 内聚衡量一个模块内部各个元素彼此结合的紧密
程度。内聚要高,每个模块完成一个相对独立的 特定子功能。
闽南科技学院计算机系
1. 耦合
• 耦合:是对一个软件结构内不同模块之间互连程 • • •
度的度量。 要求:在软件设计中应该追求尽可能松散耦合的 系统。 可以研究、测试或维护任何一个模块,而不需要 对系统的其他模块有很多了解; 模块间联系简单,发生在一处的错误传播到整个 系统的可能性就很小; 模块间的耦合程度强烈影响系统的可理解性、可 测试性、可靠性和可维护性。
A Flag B Flag
f1
f2

fn
闽南科技学院计算机系
• • • • • • • • • • • • • • • • • • • • • • • •
#include <stdio.h> static bool Signal; void AdultOrNot(int age) { if (age > 18) { Signal = 1; } else { Signal = 0; } } void WineOrNot() { if (Signal == 1) { printf("%s\n", "您已到达法定饮酒年龄!"); } else { printf("%s\n","您未到达法定饮酒年龄!"); } }

精品课件-数据库原理及应用-第5章

精品课件-数据库原理及应用-第5章

第5章 关系数据库设计理论
(4) 示例模式4。 Teach(Cname,Tname,Rbook); 该关系模式用来存放课程、教师及课程参考书信息。其中, Teach为关系模式名,Cname为课程名,Tname为教师名, Rbook为某课程的参考书名。
第5章 关系数据库设计理论
现实系统的数据及语义可以通过高级语义数据模型(如实 体关系数据模型、对象模型)抽象后得到相应的数据模型。为 了通过关系数据库管理系统实现该数据模型,需要使其向关系 模型转换,变成相应的关系模式。然而,这样得到的关系模式, 还只是初步的关系模式,可能存在这样或那样的问题。因此, 需要对这类初步的关系模式,利用关系数据库设计理论进行规 范化,以逐步消除其存在的异常,得到一定规范程度的关系模 式,这就是本章所要讲述的内容。
第5章 关系数据库设计理论
实际上,设计任何一种数据库应用系统,不论是层次的、 网状的还是关系的,都会遇到如何构造合适的数据模式即逻辑 结构的问题。由于关系模型有严格的数学理论基础,并且可以 向别的数据模型转换,因此,人们就以关系模型为背景来讨论 这个问题,形成了数据库逻辑设计的一个有力工具——关系数 据库的规范化理论。规范化理论虽然是以关系模型为背景,但 是对于一般的数据库逻辑设计同样具有理论上的意义。
第5章 关系数据库设计理论
关系系统当中,数据冗余产生的重要原因就在于对数据依 赖的处理,从而影响到关系模式本身的结构设计。解决数据间 的依赖关系常常采用对关系的分解来消除不合理的部分,以减 少数据冗余。在例5.1中,我们将Teaching关系分解为三个关 系模式来表达:Student (Sno,Sname,Ssex,Sdept), Course(Cno,Cname,Tname)及Score(Sno,Cno,Grade),其 中Cno为学生选修的课程编号;分解后的部分数据如表5.2、 表5.3和表5.4所示。

数据库原理第五章关系数据库的规范化设计

数据库原理第五章关系数据库的规范化设计
在以上三个关系模式中,实现了信息的某种程度的 分离: T中存储教师基本信息,与所选课程及系主任无关; D中存储系的有关信息,与教师无关; TC中存储教师讲授课程的信息,而与教师及系的信 息无关。
12
模式分解是关系规范化的 主要方法(二)
与TDC相比,分解为三个关系模式后,数据的冗余度明显 降低。 当新插入一个系时,只要在关系D中添加一条记录。 当某个教师尚未讲课,只要在关系T中添加一条教师记录, 而与TC授课关系无关,这就避免了插入异常。 当某个系的教师不再讲课时,只需在TC中删除该教师的 全部授课记录,而关系D中有关该系的信息仍然保留,从 而不会引起删除异常。 同时,由于数据冗余度的降低,数据没有重复存储,也不 会引起更新异常。
24
2.2 完全函数依赖和部分函数依赖
例如:学生成绩表中
姓名 王一 王二 王三 王一
学号 1 2 3 4
年龄 16 15 16 16
籍贯 河北 山东 北京 天津
姓名不能推出年龄,学号也不能推出年龄,但是 姓名 + 学号能推出年龄,故完全依赖;
学号能直接推出籍贯,故是部分依赖
25
2.3 传递函数依赖
当关系中的元组增加、删除或更新后都不能被破 坏这种函数依赖。因此,必须根据语义来确定属 性之间的函数依赖,而不能单凭某一时刻关系中 的实际数据值来判断。
20
函数依赖的定义和性质(六)
函数依赖可以保证关系分解的无损连接性
设R(X,Y,Z),X,Y,Z为不相交的属性集合,如果X Y或X Z,则有R(X,Y,Z)=R[X,Y]*R[X,Z],其中,R[X,Y]表示关 系R在属性(X,Y)上的投影,即 R等于其投影在X上的自然连 接,这样便保证了关系R分解后不会丢失原有的信息,称为 关系分解的无损连接性

《数据库系统原理》PPT电子课件教案-第五章 数据库保护

《数据库系统原理》PPT电子课件教案-第五章 数据库保护

四、用户定义的安全性措施 除了系统级的安全性措施外,Oracle还允许用户用数 据库触发器定义特殊的更复杂的用户级安全性措施。例 如,规定只能在工作时间内更新Student表,可以定义如 下触发器,其中sysdate为系统当前时间: CREATE OR REPLACE TRIGGER secure student BEFORE INSERT OR UPDATE OR DELETE ON Student BEGIN IF(TO_CHAR(sysdate,’DY’) IN(‘SAT’,’SUN’)) OR(TO_NUMBER(sysdate HH24') NOT BETWEEN 8 AND l7) THEN


常用的方法:
1)用一个用户名或者用户标识号来标明用户身份, 系统鉴别此用户是否是合法用户。 2)口令(Password)。为进一步核实用户,系统要求 用户输入口令 3)系统提供一个随机数,用户根据预先约定好的某 一过程或函数进行计算,系统根据计算结果是否正 确进一步鉴定用户身份。


2. 存取控制
(2)行级安全性 Oracle行级安全性由视图实现。用视图定义表的水 平子集,限定用户在视图上的操作,就为表的行级提供 了保护。视图上的授权与回收与表级完全相同。 例如,只允许用户U2查看Student表中信息系学生的 数据,则首先创建信息系学生视图S_ IS,然后将该视图 的SELECT权限授予U2用户。 (3)列级安全性 Oracle列级安全性可以由视图实现,也可以直接在基 本表上定义。 用视图定义表的垂直子集就可以实现列级安全性,方 法与上面类似。
Oracle对数据库对象的权限采用分散控制方式, 允许具有WITH GRANTOPTION的用户把相应权限或 其子集传递授予其他用户,但不允许循环授权,即被 授权者不能把权限再授回给授权者或其祖先, U1 U2 U3 U4 × 循环授权 Oracle把所有权限信息记录在数据字典中。当用 户进行数据库操作时,Oracle首先根据数据字典中的 权限信息,检查操作的合法性。在Oracle中,安全性 检查是任何数据库操作的第一步。

数据库原理 第五章

数据库原理 第五章

Database Theory
Integrity Constraints in Create Table
SCT
Student
Not NULL
Primary Key (A1, ..., An) Check (P), where P is a predicate …… E.g.
Create Table Student (Sno char(10) Not NULL, Sname char(20),
DCL (Data Control Language)
Grant Revoke
4 Finance & Economics Zhejiang University of
Database Theory
Data Definition Language (DDL) Allows the specification of not only a set of relations but also information about each relation, including:
char(n) – Fixed length character string, with user-specified length n. varchar(n). – Variable length character strings, with user-specified maximum length
Database Theory
Operations of SQL
DDL (Data Definition Language)
Create
Alter Drop
DML (Data Manipulation Language)

数据库系统概论 课件 第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章 数据库保护

第5章 数据库保护
• 如果参照关系同时又是另一个关系的被参照关系,则这种操作会继续 级联下去。
《数据库原理与应用》——第5章 数据库保护——东北财经大学 李红
⑵ 受限方式 (RESTRICT)
• 当参照关系中没有任何元组的外键值与被参照关系中要删除元组的主 键值相同时,系统才进行删除操作,否则拒绝删除操作。因此对“学 生”表的删除操作将被拒绝。
《数据库原理与应用》——第5章 数据库保护——东北财经大学 李红
DB完整性: • 指DB数据的正确性和相容性。 • 由DBMS提供定义完整性约束的机制。 完整性约束: • 指对数据所规定的语义约束条件。
《数据库原理与应用》——第5章 数据库保护——东北财经大学 李红
5.1.1 完整性约束的定义
1.实体完整性的定义 2.参照完整性的定义 3.用户定义完整性的定义
《数据库原理与应用》——第5章 数据库保护——东北财经大学 李红
⑶ 隔离性
• 当多个事务并发执行时,任一事务的执行不会受到其它事 务的干扰,多个事务并发执行的结果与分别执行单个事务 的结果是完全一样的,这就是事务的隔离性。
《数据库原理与应用》——第5章 数据库保护——东北财经大学 李红
2.参照完整性的定义
• 根据参照完整性规则,用户只要定义了一个关系(基本 表)的外键(外部关键字),系统就会控制外键的值要么 为空,要么等于被参照关系中某一个主键的值(系统对 外键的一种约束)。
• 使用FOREIGN KEY约束(外键约束)定义参照完整性。
第5章 数据库保护
《数据库原理与应用》——第5章 数据库保护——东北财经大学 李红
内容
5.1 数据库完整性 5.2 数据库安全性 5.3 数据库并发控制 5.4 数据库恢复 小结

数据库系统原理及应用——基于达梦8教学课件U5

数据库系统原理及应用——基于达梦8教学课件U5
时区设置,默认是+08:00,范围为-12:59和+14:00之间。 页面检查,默认是不启用,选项包括不启用、简单检查、
严格检查。
24
02 初始化参数(续)
字符集,默认是GB18030,选项包括GB18030、Unicode、 EUC-KR。
25
02 口令管理(续)
为了数据库管理安全,提供了为SYSDBA和SYSAUDITOR用户指定口令功能。 用户可以选择为每个用户设置不同口令(留空表示使用默认口令),也 可以为所有系统用户设置同一口令。如下图所示。
类多,要在不同语言的国家发布,就应该选择Unicode字符 集,就目前对DM_SQL来说,选择utf-8。 ➢ (2)如果应用中涉及已有数据的导入,就要充分考虑数据 库字符集对已有数据的兼容性。假若已经有数据是GBK文字, 如果选择uft-8作为数据库字符集,就会出现汉字无法正确 导入或显示的问题。
IS0-646字符集采用7位编码,定义了包括大小写英文字母、 阿拉伯数字、和标点符号,以及33个控制符号等。
虽然现在看来,这个美式的字符集很简单,包括的符号很 少,但直到今天依然是计算机世界里奠基性的标准,其后 指定的各种字符集基本都兼容ASCII字符集。
自从ASCII后,为了处理不同的语言和文字,很多组织和机 构先后创造了几百种字符集,例如ISO-8859系列,GBK等
9
01 DM支持的字符集(续)
目前 DM 数据系统支持 Unicode 字符集和其他多种字符集。 用户在安装 DM 系统时,可以指定服务器端使用 UTF-8 字
符集。此时在客户端,用户能够以各种字符集存储文本, 并使用系统提供的接口设置客户端使用的字符集,缺省使 用客户端操作系统缺省的字符集。 客户端 和服务器端的字符集由用户指定后,所有字符集都 可以透明地使用,系统负责不同字符集之间的自动转换。 对 Unicode 的支持使 DM 系统适应国际化的需要,增强了 DM 的通用性。

第五章 关系的规范化(数据库原理与应用)

第五章 关系的规范化(数据库原理与应用)


DataBase
关系规范化
关系规范化是从微观角度研究关系模式中属性与 属性之间的函数依赖性,判断关系模式中设计的 合理性,解决数据库设计的优化问题 规范化是通过一组不同级别的范式判定关系规范 化的程度,确认产生数据异常的原因,并通过关 系模式的分解方法,消除数据异常 规范化设计理论主要包括三方面内容:数据依赖, 范式和模式设计方法

魏英 tutor_wei@
7952616
DataBase
第一范式
将非规范化关系转换成1NF:P131
工资(工程号,工程名称,职工号,姓名,职务,小 时工资率,工时)
工程号 工程名称 职工号 A1 A1 A1 A2 花园大厦 花园大厦 花园大厦 立交桥 1001 1002 1004 1001 姓名 职务 小时工资率 工时 65 60 60 65 13 16 19 15 齐光明 工程师 李思岐 技术员 葛宇洪 律师 齐光明 工程师
律师
60
14
840
设计一个关系模式
R(工程号,工程名称,职工号,姓名,职务,小时工资率, 工时)
魏英 tutor_wei@ 7952616
DataBase
关系规范化
典型问题
数据冗余:如果一个职工参与多个工程项目,那么这 个职工的职工号,姓名,职务和小时工资率就要重复 几次存储。 操作异常

魏英 tutor_wei@
7952616
DataBase
函数依赖
例5.1:学生关系模式为学生(学号,姓名,性 别,系名称,系地址)
学号 姓名 性别 系名称 系地址 101 张三 男 计算机 C 102 李四 男 计算机 C 103 王五 女 计算机 C 经管 104 赵六 女 B 学生关系的FD集为: FD={ 学号→姓名, 学号→性别, 学号→系名称, 学号→系地址 系名称→系地址}

数据库原理第五章PPT课件

数据库原理第五章PPT课件
p=[B/R] p称为块因子(Blocking Factor)。
9
记录一般不会刚好填满物理块,会留下不用的零头 空间:
B―p×R<R
记录1 记录2 记录3 记录4
为了利用这部分空间,可以利用记录的跨块存储组 织(spanned organization)。
10
定长记录(跨块)
块i
记录1
记录2
记录3 记录4
区 址最 高 键
相对地址
1 121
2 134 3 167 4 182
5 203 6 211 7 223
8
9 229 10 231 11 237 12
241
索引键
13 255 14 259 15 267 16 271 …

37
查找索引键为211的记录的存储地址
211
271 430 601
182 4 201
Student(SNO,SNAME,SEX,BIRTHDATE, DEPT)
散列函数 H(SNO)=Address
90041 李林 … 计算机系 2
H(900412)=@addr
@addr
90041 李林 … 2
计算机系
存储空间
29
直接文件存在的问题: 键所映射的地址范围固定(地址范围设的太大或 太小都不好,为什么?)。 地址重叠问题(处理地址重叠增加了开销)。 直接文件只对散列键的访问有效。 不便于处理变长记录。 对于通用的DBMS很难找到通用的散列函数。 上述原因导致直接文件目前在数据库系统中使用不多。
0001 Nanjing 0002 Nanjing 0003 Nanjing 0004 Shanghai 0005 Shanghai

数据库第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)。
▪ 数据的完整性
➢ 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据 ➢ 防范对象:不合语义的、不正确的数据
▪ 数据的安全性
➢ 保护数据库防止恶意的破坏和非法的存取 ➢ 防范对象:非法用户和非法操作
An Introduction to Database System
No
Im 数据库a 完整g 性(续e )
No
Im 实体完整a 性定g 义(续e )
No
Image
[例1] 将Student表中的Sno属性定义为码 (1)在列级定义主码
CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) NOT NULL, Ssex CHAR(2) , Sage SMALLINT, Sdept CHAR(20));
No
Image
5.1 实体完整性 5.2 参照完整性 5.3 用户定义的完整性 5.4 完整性约束命名字句 *5.5 域中的完整性限制 5.6 触发器 5.7 小结
An Introduction to Database System
No
Im 5.2 参a 照完g 整性e
No
Image
5.2.1 参照完整性定义 5.2.2 参照完整性检查和违约处理
No
Image
❖ 关系模型的实体完整性
▪ CREATE TABLE中用PRIMARY KEY定义
❖ 单属性构成的码有两种说明方法
▪ 定义为列级约束条件 ▪ 定义为表级约束条件
❖ 对多个属性构成的码只有一种说明方法
▪ 定义为表级约束条件
An Introduction to Database System
An Introduction to Database System
No
Im 5.1 实a 体完g 整性e
No
Image
❖5.1.1 实体完整性定义 ❖5.1.2 实体完整性检查和违约处理
An Introduction to Database System
No
5.1.2I实m 体完整a 性检g 查和违e 约处理 No Image
An Introduction to Database System
No
Im 实体完整a 性定g 义(续e )
No
Image
[例2]将SC表 TABLE SC (Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY (Sno,Cno) /*只能在表级定义主码*/ );
❖ 检查记录中主码值是否唯一的一种方法是进行全表扫描
An Introduction to Database System
No
实体I完m 整性检a 查和g 违约处e 理(续) No Image
❖ 索引
An Introduction to Database System
No
I第m 五章 数a 据库g 完整e 性
No
Im 参照完整a 性定g 义(续e )
No
Image
例如,关系SC中一个元组表示一个学生选修的某门课程的成绩, (Sno,Cno)是主码。Sno,Cno分别参照引用Student表的 主码和Course表的主码
No
Image
为维护数据库的完整性,DBMS必须:
1.提供定义完整性约束条件的机制
2.提供完整性检查的方法
3.违约处理
An Introduction to Database System
No
I第m 五章 数a 据库g 完整e 性
No
Image
5.1 实体完整性 5.2 参照完整性 5.3 用户定义的完整性 5.4 完整性约束命名字句 *5.5 域中的完整性限制 5.6 触发器 5.7 小结
An Introduction to Database System
No
Im 实体完整a 性定g 义(续e )
No
Image
(2)在表级定义主码
CREATE TABLE Student (Sno CHAR(9), Sname CHAR(20) NOT NULL, Ssex CHAR(2) , Sage SMALLINT, Sdept CHAR(20), PRIMARY KEY (Sno) );
An Introduction to Database System
No
Im 5.1 实a 体完g 整性e
No
Image
❖5.1.1 实体完整性定义 ❖5.1.2 实体完整性检查和违约处理
An Introduction to Database System
No
I5m .1.1 实体a 完整g 性定e 义
❖ 插入或对主码列进行更新操作时,RDBMS按照实 体完整性规则自动进行检查。包括:
1. 检查主码值是否唯一,如果不唯一则拒绝插入或修改 2. 检查主码的各个属性是否为空,只要有一个为空就拒绝
插入或修改
An Introduction to Database System
No
实体I完m 整性检a 查和g 违约处e 理(续) No Image
An Introduction to Database System
No
Im 实体完整a 性定g 义(续e )
No
Image
(2)在表级定义主码
CREATE TABLE Student (Sno CHAR(9), Sname CHAR(20) NOT NULL, Ssex CHAR(2) , Sage SMALLINT, Sdept CHAR(20), PRIMARY KEY (Sno) );
An Introduction to Database System
No
I5m .2.1 参照a 完整g 性定e 义
No
Image
❖ 关系模型的参照完整性定义
▪ 在CREATE TABLE中用FOREIGN KEY短语定义哪些 列为外码
▪ 用REFERENCES短语指明这些外码参照哪些表的主码
An Introduction to Database System
No
Image
No Image
数据库系统概论
An Introduction to Database System
第五章 数据库完整性
An Introduction to Database System
No
Im 数据a 库完整g 性 e
No
Image
❖ 数据库的完整性
▪ 数据的正确性和相容性
❖ 数据的完整性和安全性是两个不同概念
相关文档
最新文档