数据库原理与设计陶宏才教程文件

上传人:yulij****0329 文档编号:139796211 上传时间:2020-07-24 格式:PPT 页数:122 大小:1.91MB
返回 下载 相关 举报
数据库原理与设计陶宏才教程文件_第1页
第1页 / 共122页
数据库原理与设计陶宏才教程文件_第2页
第2页 / 共122页
数据库原理与设计陶宏才教程文件_第3页
第3页 / 共122页
数据库原理与设计陶宏才教程文件_第4页
第4页 / 共122页
数据库原理与设计陶宏才教程文件_第5页
第5页 / 共122页
点击查看更多>>
资源描述

《数据库原理与设计陶宏才教程文件》由会员分享,可在线阅读,更多相关《数据库原理与设计陶宏才教程文件(122页珍藏版)》请在金锄头文库上搜索。

1、数据库原理及设计Principle and Design of Database,主讲: 朱 焱 博 士 SIST, SWJTU 2009.10,数据库原理及设计 Dr. Yan Zhu,2,学习目的和要求 从概念化数据库设计 进入逻辑数据库设计 关系数据模型的基本概念和术语 关系数据模型上的完整性约束 关系代数 关系运算,第三章 关系数据模型,数据库原理及设计 Dr. Yan Zhu,3,DBMS无关,DBMS有关,数据库设计过程,概念模式,内模式,逻辑设计 模式优化,数据库,数据库需求,使用高级数据模型 ERM,使用特定的DBMS的数据模型,物理DB设计,数据库原理及设计 Dr. Yan

2、Zhu,4,关系数据模型,数据模型的三要素,是本章学习的路标 静态数据结构;动态数据操作;完整性约束 这三要素体现在如下问题中: 如何表达数据本身? 如何表达数据间的联系? 有哪些动态数据操作? 能表达哪些完整性约束? 完整性约束如何设定? 完整性约束的效果? 如何进行关系模型的DB设计?,数据库原理及设计 Dr. Yan Zhu,6,ER 关系 - 表描述实体,关系模式(relational schema)的关键:基本表(base table),也简称关系表。表由“列”(Column)和“行”(Row)组成。行又叫元组(tuple),列又叫字段(field)。 数据对象(实体集)用关系(表)

3、来定义。 ER中实体集的属性表中的列(字段、属性); ER中实体集中的每个实体实例表中的行(元组、记录)。,列,行,学生表,数据库原理及设计 Dr. Yan Zhu,7,ER关系 - 表描述联系,ER模式中联系是单独描述的。而在关系模式中,联系也可以用表来描述。例如,选课联系选课表。 表中有来自学生和课程两个实体的属性,而成绩是选课关联自身的描述属性。 列的取值范围称为域(Domain)。例如,成绩的范围一般是:0-100。,学生选课表,数据库原理及设计 Dr. Yan Zhu,8,关系模式、关系、主键、外键,关系模式(Schema)由关系名、和各个列表示。 数学上表示为:R(A1,A2,An

4、)。 关系实例:由表中的各行构成。常简称关系;行序不重要,而列序重要。每个元组的字段必须对应关系模式中的字段。(物理存储要求的) 关系实例表示:,ai为属性Ai的值。 ER模型中的候选键关系中的候选键 ER模型中的主键关系中的主键 (Primary Key, PK) 关系中的新概念-外键,描述表与表之间的关联。,数据库原理及设计 Dr. Yan Zhu,9,表与表的联系,主键,外键,学生表,班级表,主键/候选键,外键(Foreign Key,FK): A表中的某个属性(组)是B表中的候选键或主键,则称该属性(组)为A表的外键。要使B表中的某个属性成为A表的外键,必须确定该属性为B表的主键或候选

5、键。如何指定?完整性约束的任务。,数据库原理及设计 Dr. Yan Zhu,10,关系模型术语,数据库原理及设计 Dr. Yan Zhu,11,关系的性质,关系是一个集合。集合中的元素是元组,每个元组的属性数目应该相同。 关系是一种规范化了的二维表格,不是一般的二维表。它的性质是: 关系中每一个属性值都是不可分解的; 关系中不允许出现重复元组; 关系是元组的集合,因此无行序; 关系的列是有序的。,数据库原理及设计 Dr. Yan Zhu,12,逻辑映射之数据结构映射,关系表,表的主键/候选键,表的列,表和列,表中的各行,?,数据库原理及设计 Dr. Yan Zhu,13,SQL语言,SQL发音

6、为Sequel,现在趋向于发音为S-Q-L。,最早在IBM System-R RDBMS 上使用的查询语言;,第一个标准由ANSI于1986年制订,称为SQL-86;,1992年推出了SQL-92,是大多数RDBMS支持的版本;,1999年提出SQL:1999(SQL3),是SQL-92的扩展。,SQL在数据库界之外也受到重视。在软件工程、AI、万维网数据管理、等领域显示了潜力。,SQL成为国际标准后,由于各种类型的计算机和DBS都采用SQL作为其存取语言和标准接口,从而使数据库世界有可能链接为一个整体。前景非常好。,数据库原理及设计 Dr. Yan Zhu,14,几个重要的SQL语言命令,S

7、QL DDL针对表结构的操作 Create(创建) Drop(删除) Alter(修改) SQL DML针对表中数据的操作 Insert(插入) Delete(删除) Update(修改) Select(查询),数据库原理及设计 Dr. Yan Zhu,15,关系模型中的数据操作,动态的数据操作: 增加、删除、修改和查询,简称:增删改查询。 增加:INSERT R VALUES (林海,男) 修改:UPDATE R SET name=张湖,数据库原理及设计 Dr. Yan Zhu,16,逻辑映射之数据操作,关系表,表的主键/候选键,表的列,表和列,表中的各行,使用SQL语句对表进行操作,?,数

8、据库原理及设计 Dr. Yan Zhu,17,关系模型上完整性约束,完整性约束(Integrity Constraints,ICs)可以帮助阻止非法数据的输入。 它要求存入DB的数据应满足一些条件。 在定义一个关系模式的同时,或之后定义完整性约束。 当表中数据发生变化(如Insert、Delete、Update)时,DBMS即检查更新的数据是否满足完整性约束指定的条件。 几种完整性约束:域约束、主键约束、唯一约束、外键约束等。,数据库原理及设计 Dr. Yan Zhu,18,几种完整性约束(1),域限制(Domain Constraint) 每个属性A的值必须是来自域 dom(A)的原子值。

9、例如,表中某列的数据类型为“整数型”,那么该列的各记录值就不能是“字符串”。 不必显示指定。 主键约束(Primary Key Constraint) 概念:针对主键而言,保证主键的完整性。 要求:主键值必须唯一,且不能为空值。 例如:作者不能作主键。 需要显示指定。(如何指定,以后介绍),数据库原理及设计 Dr. Yan Zhu,19,几种完整性约束(2),唯一约束(Unique Constraint) 主键可以用主键约束来保证其值的完整性。因为候选键也能唯一标识关系实例元组,因此,保证候选键的完整性,需要唯一约束。 要求值唯一,允许有一个且仅有一个空值。 以上是“表本身”的完整性约束。 外

10、键限制(Foreign Key Constraint)也被称为“参照完整性约束”。 目的:用来维护表与表之间的数据一致性,即其中一张表的改动,可能要求另一张表要作出某些改动,以保持数据一致。为使DBMS能做这样的检查,则应指定这种涉及两个表的ICs,此即外键限制。,数据库原理及设计 Dr. Yan Zhu,20,主表与从表,主表:指外键在另一张表中作主/候选键的表。(例中的班级表) 从表:指含有外键的表。(例中的学生表),班级表(主表),学生表 (从表),数据库原理及设计 Dr. Yan Zhu,21,外键约束的例子(主表从表),学生表 (从表),班级表(主表),数据库原理及设计 Dr. Ya

11、n Zhu,22,分析外键约束(主表从表),对主表进行三种操作,观察对表间完整性的影响: 对主表中的主键进行操作 插入:要求插入值满足主键限制即可,不影响其它表。 修改:可能会影响与该主键相关的从表的外键值。当相应的外键值存在时,有两个策略可用:一是改变对应从表的所有外键值,使之与主键一致;其二是不允许修改主表中的主键值。 删除:可能会影响与该主键相关的从表的外键值。若相应的外键值存在时,策略有二:一是不允许删除主表的主键值;二是级联删除从表中相应外键值所在的行。,数据库原理及设计 Dr. Yan Zhu,23,外键约束的例子(从表主表),主键,学生表(从表),班级表(主表),数据库原理及设计

12、 Dr. Yan Zhu,24,分析外键约束(从表主表),对从表中的外键操作 插入:要求插入的外键值应“参照”(Reference)主表中的主键值。 修改:要求修改的外键值“参照”主表中的主键值 。 删除:不需要参照主表中的主键值。,数据库原理及设计 Dr. Yan Zhu,25,外键约束小结,维护表间数据完整性从两个方向上完成,即: 主表从表:“主表”中的主键值在修改和删除时,“从表”中与该主键值相同的外键值可“级联”(CASCADE)修改和删除,或“禁止”(NO ACTION)“主表”主键值的修改和删除。 从表主表:表示“从表”中的外键值在插入和修改时,其值应“参照”(Reference)

13、“主表”中的主键值。,数据库原理及设计 Dr. Yan Zhu,26,表间数据完整性维护的实现,利用外键约束定义 对从表定义外键限制(或称参照完整性)完成主表和从表间两个方向的数据完整性; 利用触发器 主表的触发器维护主表到从表方向的数据完整性,而从表的触发器维护从表到主表方向的参照完整性。 SQL-92标准只支持外键约束方式。如果使用触发器,必须检查所用的RDBMS是否支持。,数据库原理及设计 Dr. Yan Zhu,27,其他的约束 检查限制,域限制、主键限制、唯一限制和外键限制是关系数据模型中最基本的限制,大多数商用系统都支持他们。其他还有更一般的限制,如: 检查限制(Check Con

14、straint,亦称“表限制”) 检查某一列值是否在某一取值范围之内; 表中某几列是否满足指定的条件。 与单个表有关。 例如:中学生的年龄定义为两位整数,范围很大,用户可以写如下规则,将年龄限制在10-20岁之间 CHECK(AGE BETWEEN 10 AND 20),数据库原理及设计 Dr. Yan Zhu,28,其他的约束性 断言限制,断言限制(Assertion)检查表中个别列、整个表或表与表之间是否满足指定的条件。与多个表有关,是关系之间的约束。 例如:希望限定计算机图书的作者一定是女性。 这时,仅靠键约束、唯一约束和外键限制不能实现,因为这个要求涉及到两张表(关系):Book,Au

15、thor。 可以写为: Create Assertion NoManComputerAuthor Check (Book.计算机类.作者 Author.性别为男性 = 空集) 与主键约束和唯一限制的定义不同,定义表约束和断言约束时要显式定义。,数据库原理及设计 Dr. Yan Zhu,29,完整性约束的实施,关系创建并指定了ICs后,当关系“更新”时(指插入、删除和修改)应实施检查。 对域限制、主键限制和唯一限制的实施 由于影响直接,故只要插入/删除/修改命令违背了限制,即被拒绝。而其它ICs(如一般性限制)的违背检查通常是在每个SQL语句之后。 对参照完整性(外键)限制的实施 外键限制的影响

16、较复杂,要从两个方向分别进行,但不是同时进行。,数据库原理及设计 Dr. Yan Zhu,30,完整性约束小结,SQL中把完整性约束分成三大类: 域约束 基本表约束:主键约束;候选键约束(唯一约束);外键约束; 检查约束 表间约束: 断言,数据库原理及设计 Dr. Yan Zhu,31,逻辑映射之约束,关系表,表的主键/候选键,表的列,表和列,表中的各行,使用SQL语句对表进行操作,域约束、主键约束、唯一约束、外键约束、检查约束、断言,数据库原理及设计 Dr. Yan Zhu,32,SQL Server对数据完整性约束的支持,不同的数据库管理系统厂商开发不同类型的SQL,被称为数据库方言。例如:Microsoft SQL Server 产品中的SQL方言叫Transact-SQL。 T-SQL,即事务SQL,是对标准SQL的扩展。 T-SQL由SQL语句、函数和存储过程三部分组成。 T-SQL除了具有标准的子语言:DDL,DML,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号