数据库原理第2章

上传人:子 文档编号:51713659 上传时间:2018-08-16 格式:PPT 页数:86 大小:288.50KB
返回 下载 相关 举报
数据库原理第2章_第1页
第1页 / 共86页
数据库原理第2章_第2页
第2页 / 共86页
数据库原理第2章_第3页
第3页 / 共86页
数据库原理第2章_第4页
第4页 / 共86页
数据库原理第2章_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《数据库原理第2章》由会员分享,可在线阅读,更多相关《数据库原理第2章(86页珍藏版)》请在金锄头文库上搜索。

1、数据库基础理论石油大学(北京)计算机系朱瑛1 1数据库系统基础数据库系统基础第二章 关系数据库一、关系模型的基本概念 二、关系运算 三、关系数据库标准语言SQL2 2数据库系统基础数据库系统基础一、关系的数学定义l1.域域是值的集合。如,实数集合、姓名集合 、职称集合、性别集合等等都是域。对于 一个确定的域来说,总能判断某个值是否 在此域中。2.1 关系模型的基本概念3 3数据库系统基础数据库系统基础l2.笛卡尔积例:给出下面三个域 D1=教师名=张辉,李晓云,王东 D2=性别=男,女 D3=职称=副教授,讲师,助教 则它们的笛卡儿积也是一个域,表示为: D1D2D3=(张辉,男,副教授),(

2、张辉, 男,讲师),(张辉,男,助教),(张辉 ,女,副教授),(张辉,女,讲师),4 4数据库系统基础数据库系统基础(张辉,女,助教),(李晓云,男,副教授 ),(李晓云,男,讲师),(李晓云,男 ,助教),(李晓云,女,副教授),(李 晓云,女,讲师),(李晓云,女,助教) ,(王东,男,副教授),(王东,男,讲 师),(王东,男,讲师),(王东,男, 助教),(王东,女,副教授),(王东, 女,讲师),( 王东,女,助教)5 5数据库系统基础数据库系统基础l2.关系笛卡儿积D1D2.Dn中的任一个子集 ,可以构成在n个域D1,D2,.,Dn上的 一个关系。例如,R=(张辉,男,副教授),

3、(李 晓云,女,讲师),(王东,男,助教) 就是上面提到的笛卡儿积D1D2D3中的一个 关系。关系也可以写成二维表的形式:6 6数据库系统基础数据库系统基础7 7数据库系统基础数据库系统基础l4.数据库中关系的性质属性必须是同质的,即同一属性的各个值 应是同类型的数据;各属性的排列次序无关紧要;同一关系中不能有完全相同的元组;各元组的次序可以交换;任一属性必须是原子的,它不可再分。8 8数据库系统基础数据库系统基础二、关系模型l在关系模型中,实体及实体之间的联 系均用关系二维表格表示。关系模 型由三部分组成:数据结构、关系操作 集合、关系的完整性。9 9数据库系统基础数据库系统基础l1.数据结

4、构一个数据库文件由文件结构与记录数据两 部分组成。前者称为关系的“型”或“关系 框架”,后者称为关系的“值”。一个关系 数据库可以包含一组关系,也可以只有一 个关系。定义一个关系数据库,就是对它 所包含的所有关系框架进行描述。例如,图书管理数据库有三个关系,其关 系模式如下:1010数据库系统基础数据库系统基础读者登记: 姓名 借书证号 单位借书登记: 借书证号 总编号 借阅日期图书资料登记: 图书号、总编号、分类号、书名、作者、出版社、价格 1)定义字段 字段名 类型 宽度 姓名 字符 10 借书证号 字符 81111数据库系统基础数据库系统基础单位 字符 18 图书号 字符 10 总编号

5、字符 10 分类号 字符 10 书名 字符 20 作者 字符 10 出版单位 字符 18 价格 数值 8 借阅日期 日期 8 2)定义关系 读者(姓名,借书证号,单位)1212数据库系统基础数据库系统基础图书(图书号,总编号,分类号,书名,作者 ,出版单位,价格) 借阅(借书证号,总编号,借阅日期)说明: 加下划线的字段名为主码; 如果一个关系中的属性或属性组并非该关系的 关键字(主码),但它们是另外一个 关系的关键字(主码),则称其为该关系的 外关键字(外部码)。1313数据库系统基础数据库系统基础l2.关系操作关系操作采用集合操作,即操作的对象和 结果都是集合。关系模型中常用的关系操作包括

6、:选择、 投影、连接、除、并、交、差等查询操作 和增、删、改操作两大部分。查询的表达 能力是其中最主要的部分。1414数据库系统基础数据库系统基础l3.关系的完整性关系模型提供了丰富的完整性控制机制, 允许定义三类完整性:实体完整性、参照 完整性、用户定义的完整性。其中实体完 整性和参照完整性是关系模型必须满足的 完整性约束条件,应该由关系系统自动支 持。1)实体完整性基本关系的主属性不能 取空值。 一个基本关系通常对应现实世界的一个实 体集。例如,学生关系对应于学生的集合。1515数据库系统基础数据库系统基础 现实世界中实体是可以区分的,即它们具 有某种唯一性标识。 关系模型中由主码作为唯一

7、性标识。 主码不能取空值。因为主码取空值说明存 在某个不可标识的实体。2)参照完整性若基本关系R中含有与另一基本关系S的主 码Ks相对应的属性组F(F称为R的外部码) ,则对于R中每个元组F上的值必须为: 或者取空值(F的每个属性值均为空值); 或者等于S中某个元组的主码值。关系S的 主码Ks和F定义在同一个(或一组)域上, 基本关系R,S不一定是不同的关系。 1616数据库系统基础数据库系统基础例如,职工关系(职工号,姓名,部门号)和 部门关系(部门号,部门名称)是两个基本 关系。职工关系的主码是职工号,部门关系 的主码是部门号。在职工关系中,部门号是 它的外部码。职工关系中每个元组的部门号

8、 取值允许有两种可能: 取空值。这说明这个职工尚未分配到某个 部门; 若非空值,则部门号的值必须是部门关系 中某个元组中的部门号值,表示此职工不可 能分配到一个不存在的部门中,即参照的部 门关系中一定存在一个元组,它的主码值等 于职工关系中的外部码值。这就是参照完整 性。 1717数据库系统基础数据库系统基础3)用户定义的完整性实体完整性和参照完整性用于任何关系数 据库系统。用户定义的完整性则是针对某 一数据库的约束条件,由应用环境决定。 它反映某一具体应用所涉及的数据必须满 足的语义要求。1818数据库系统基础数据库系统基础总之,关系模型具有如下特点:l关系必须规范化。即关系模型中每一个 关

9、系模式都必须满足一定的要求。l模型概念单一。即关系模型中,无论是 实体还是实体间的联系都用关系表示。l集合操作。即关系模型中,操作对象和 结果都是元组的集合。1919数据库系统基础数据库系统基础2.2关系运算关系是由若干个元组组成,每个元组 有若干个属性。关系的基本运算有两 类:l一类是传统的集合运算(并、交、差等 );l一类是专门的关系运算(选择、投影、 联接等)有些查询需要几个基本运算的 组合。2020数据库系统基础数据库系统基础一、传统的集合运算l1.并关系R和关系S的并记为RS,结果仍为n目 关系。由属于R或属于S的元组组成。l2.交关系R和关系S的交记为RS,结果仍为n目 关系。由既

10、属于R又属于S的元组组成。l3.差关系R和关系S的差记为R-S,结果仍为n目 关系。由属于R而不属于S的元组组成。2121数据库系统基础数据库系统基础URSRI SRSR-SRSRS2222数据库系统基础数据库系统基础l4.广义笛卡儿积两个分别为n、m目的关系R和关系S的笛卡 儿积RS是一个(n+m)目元组的集合。元 组的前n个分量R的一个元组,后m个分量 是S的一个元组。若R有k1个元组,S有k2 个元组,则RS有k1k2个元组。2323数据库系统基础数据库系统基础二、专门的关系运算l1.选择l从关系中找出满足给定条件的诸元组称 为选择。这是从行的角度进行运算,即 水平方向抽取元组。经过选择

11、运算得到 的结果元组可以形成新的关系,其关系 模式不变,但其中元组的数目小于等于 原来关系中元组的个数,它是原关系的 一个子集。lSELECT WHERE 2424数据库系统基础数据库系统基础2525数据库系统基础数据库系统基础例1.从图书中找出书名是“数据库导论”的书籍。SELECT 图书 WHERE 书名=“数据库导论”2626数据库系统基础数据库系统基础例2.从图书中找出由高等教育出版社出版的,单价不 超过20元的书籍。SELECT 图书 WHERE 出版单位=“高等教育出版社 ”AND 单价 (属性1,属性2, .)2828数据库系统基础数据库系统基础例3.从图书中列出所有书的书名、作

12、者、出版社、单 价。PROJECT 图书(书名,作者,出版单位,单价)2929数据库系统基础数据库系统基础例4.从图书中找出藏书所涉及的所有出版社。PROJECT 图书(出版单位)3030数据库系统基础数据库系统基础l3.联接l将两个关系模式的属性名拼接成一个更 宽的关系模式,生成新的关系中包含满 足联接条件的元组。运算过程是通过联 接条件来控制的,联接条件中将出现不 同关系中的公共属性名,或者具有相同 语义、可比的属性。联接是对关系的结 合。lJOIN AND WHERE 3131数据库系统基础数据库系统基础联接运算比较费时间,尤其是在包括许多 元组的关系之间联接更是如此。设关系R 和S分别

13、有m和n个元组,R与S的联接过程 要访问mn个元组。先从关系R中的第一个 元组开始,依次与关系S的各元组比较, 符合条件的元组首尾相连纳入新关系,一 轮共进行n次比较;再用关系R的第二个元 组与关系S的各元组扫描,共需进行m轮扫 描。如果m=500,n=50,关系R和关系S的 联接过程需要进行25000次存取。由此可 见,查询时应3232数据库系统基础数据库系统基础考虑优化,以便提高查询效率。如果有可 能,应当首先进行选择运算,使关系中元 组个数尽量减少,能投影的先投影,使关 系中属性个数减少,然后再进行联接。3333数据库系统基础数据库系统基础3434数据库系统基础数据库系统基础例5.根据表

14、2.1和表2.2,查看借书证号为“160001” 所借书的详情。JOIN 借阅AND 图书 WHERE 借阅(总编号)=图书 (总编号)AND 借阅(借书证号)=“160001”3535数据库系统基础数据库系统基础例6 .根据表2.2和表2.3,查看借了书的读者的详情。R1=PROJECT 借阅(借书证号)R2=JOIN R1 AND 读者 WHERE R1(借书证号)=读者 (借书证号)说明:联接过程中去掉重复属性的等值联接称为自然 联接。3636数据库系统基础数据库系统基础综上所述,关系数据库有如下特点:l数据库中的全部数据及其相互联系都被 组织成关系(即二维表)的形式。l关系数据库提供一

15、种完备的高级关系运 算,支持对数据库的各种操作。关系模 型的逻辑结构和相应的操作完全独立于 数据存储方式,具有高度的数据独立性 ,应用程序完全不必关心物理存储细节 。l关系模型有严格的数学理论,使数据库 的研究建立在比较坚实的数学基础上。3737数据库系统基础数据库系统基础2.3关系数据库标准语言一、SQL概貌及其特点 SQL是结构化查询语言(Structured Query Language)的缩写,它包括 查询、定义、操纵和控制四个部分, 是一种功能齐全的数据库语言。 SQL的主要特点是:3838数据库系统基础数据库系统基础l一体化l两种使用方式,统一的语法结构。l高度非过程化。l语言简洁,易学易用。3939数据库系统基础数据库系统基础lSQL支持关系数据库三级模式结构,如图 所示用户外模式模式存储SQL视图V1视图V2基本表B1基本表B2基本表B3基本表B4存储文件S1存储文件S2存储文件S3存储文件S44040数据库系统基础数据库系统基础l说明:基本表(Base table):本身独立存在的 表,即实际

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

当前位置:首页 > 生活休闲 > 科普知识

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