《数据库关键技术》PPT课件.ppt

上传人:m**** 文档编号:568509321 上传时间:2024-07-25 格式:PPT 页数:44 大小:540.01KB
返回 下载 相关 举报
《数据库关键技术》PPT课件.ppt_第1页
第1页 / 共44页
《数据库关键技术》PPT课件.ppt_第2页
第2页 / 共44页
《数据库关键技术》PPT课件.ppt_第3页
第3页 / 共44页
《数据库关键技术》PPT课件.ppt_第4页
第4页 / 共44页
《数据库关键技术》PPT课件.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《《数据库关键技术》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据库关键技术》PPT课件.ppt(44页珍藏版)》请在金锄头文库上搜索。

1、第第3 3讲讲数据库关键技术数据库关键技术武汉大学国际软件学院武汉大学国际软件学院1一关系模型一关系模型二二. . 主键和实体完整性主键和实体完整性三外键与参照完整性三外键与参照完整性四四. . 数据库语言数据库语言SQLSQL五五. . 数据库设计数据库设计武汉大学国际软件学院武汉大学国际软件学院2关系模型关系模型武汉大学国际软件学院武汉大学国际软件学院3关关系系模模型型1.数据模型的概念数据模型的概念数据模型(Data Model)是用来抽象、表示和处理现实世界中的数据和信息的工具。数据模型应该满足三方面要求:v能比较真实地模拟现实世界v容易为人所理解v便于在计算机上实现一种数据模型要很好

2、地满足这三方面的要求在目前尚很困难:v多层次建模(概念模型、与计算机相关的数据模型)v针对不同的使用对象和应用目的,采用不同的数据模型武汉大学国际软件学院武汉大学国际软件学院4关关系系模模型型2.数据模型的类型决定数据库系统的类型数据模型的类型决定数据库系统的类型 数据模型是数据库系统的核心和基础数据模型类型DBS定义语言DBDBMS应用程序操作语言武汉大学国际软件学院武汉大学国际软件学院5关关系系模模型型3.关系模型的三要素关系模型的三要素关系模型是一种与计算机相关的数据模型1)数据结构v表2)数据操作v传统的集合操作v专门的关系操作3)数据约束条件v实体完整性v参照完整性v用户自定义的完整

3、性武汉大学国际软件学院武汉大学国际软件学院6关关系系模模型型4.4.关系代数关系代数 是根据查询来生成新表的方法的集合是根据查询来生成新表的方法的集合关系代数的运算分成两种类型:关系代数的运算分成两种类型:v 集集合合运运算算, ,表表实实际际上上是是“行行”的的集集合合,集合的运算是只涉及集合的运算是只涉及“行行”的运算;的运算;v 专专门门的的关关系系运运算算,既既涉涉及及到到“行行”,也涉及到,也涉及到“列列”的运算。的运算。武汉大学国际软件学院武汉大学国际软件学院7主键和主键和实体完整性实体完整性8主主 键键 和和 实实 体体 完完 整整 性性1.1.超键超键 超键是能唯一区分任意两行

4、数据的列或多个列例,在表students中,通过哪些列可以区别不同的学生?sidlnamefnameclasstelephone1JonesAllan2555-12342SmithJohn3555-43213BrownHarry2555-11225WhiteEdward3555-3344studentsstudentslnamesidfnametelephone(lname,fname)(lname,fname,telephone)(sid,fname)包含超键的多包含超键的多个列都是超键个列都是超键武汉大学国际软件学院武汉大学国际软件学院9主主 键键 和和 实实 体体 完完 整整 性性2.2

5、.键(候选键)键(候选键) 能唯一标识表中每一行的属性或属性组。v表在某一时刻的内容无法告诉我们表中的键是什么v每个表都至少有一个键武汉大学国际软件学院武汉大学国际软件学院10主主 键键 和和 实实 体体 完完 整整 性性3.3.主键主键 主键是被数据库设计者选择出来作为表T的行的唯一性标识符的候选键v键是客观的概念,主键是主观的概念例 下表中的键和主键是什么?sidlnamefnameclasstelephone1JonesAllan2555-12342SmithJohn3555-43213BrownHarry2555-11225WhiteEdward3555-3344如果学校不允许重名,则

6、键为sid,(lname,fname).可以任选一个作主键如果学校允许重如果学校允许重名呢?名呢?武汉大学国际软件学院武汉大学国际软件学院11主主 键键 和和 实实 体体 完完 整整 性性4.4.实体完整性规则实体完整性规则 表T中的任意行在主键列的取值都不允许为空武汉大学国际软件学院武汉大学国际软件学院12主主 键键 和和 实实 体体 完完 整整 性性5.5.如何选择有效的主键?如何选择有效的主键? sid 为主键? cno 为主键?(sid,cno)为主键 ?(sid,cno,major)为主键?sidcnomajor1101No1108Yes2105No3101Yes3108No5102

7、No5105NoenrollmentenrollmentNoNoNoYesNoYesNomajorYYYYYYYfirst1055102510831013105210811011cnosidenrollmentenrollmentNoNoNoYesNoYesNomajor1111111time1055102510831013105210811011cnosidenrollmentenrollment(sid,cno,first)为 主键 ?(sid,cno, time)为主键 ?主键的选择可能决主键的选择可能决定系统的功能定系统的功能 武汉大学国际软件学院武汉大学国际软件学院13主主 键键 和

8、和 实实 体体 完完 整整 性性6.6.创建表时定义主键创建表时定义主键,DBMS,DBMS自动支持实体完整性自动支持实体完整性 定义表语句的基本语法CREATETABLE表名((NOTNULLNULLUNIQUE,NOTNULLNULLUNIQUE,PRIMARYKEY(,),FOREIGNKEY(,)REFERENCES); 武汉大学国际软件学院武汉大学国际软件学院14外键外键和和参照完整性参照完整性15外外 键键 和和 参参 照照 完完 整整 性性1.外键外键设F是基本关系R的一个或一组属性,但不是R的键。如果F与基本关系S的键KS相对应,则称F是R的外键(Foreign Key),并称

9、R为参照关系(Referencing Relation) , S为 被 参 照 关 系 ( Referenced Relation)。关系R和S不一定是不同的关系。 SR外键参照关系被参照的关系KSKRF武汉大学国际软件学院武汉大学国际软件学院16外外 键键 和和 参参 照照 完完 整整 性性2.参照完整性规则参照完整性规则若属性(或属性组)F是基本关系R的外键,它与基本关系S的键KS相对应(关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:(1)或者取空值(F的每个属性值均为空值);(2)或者等于S中某个元组的主键值。武汉大学国际软件学院武汉大学国际软件学院17外外 键键

10、和和 参参 照照 完完 整整 性性3.实例实例例例1 1 两个关系间学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名) 例例2 2 两个以上的关系间学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩) 例例3 3 同一关系学生2(学号,姓名,性别,专业号,年龄,班长)武汉大学国际软件学院武汉大学国际软件学院18外外 键键 和和 参参 照照 完完 整整 性性4.4.创建表时定义外键创建表时定义外键,DBMS,DBMS自动支持参照完整性自动支持参照完整性 定义表语句的基本语法CREATETABLE表名((NOTNULLNULLUNIQUE,NOTN

11、ULLNULLUNIQUE,PRIMARYKEY(,),FOREIGNKEY(,)REFERENCES); 武汉大学国际软件学院武汉大学国际软件学院19数据库语言数据库语言SQLSQL武汉大学国际软件学院武汉大学国际软件学院20数数据据库库语语言言 S S Q Q L L1.SQL的特点和功能高度的非过程化语言一体化面向集合的操作方式两种使用方式,统一的语法结构简洁易学SQL功能动词数据查询语言SELECT数据定义语言CREATE,DROP,ALTER数据操纵语言INSERT,UPDATE,DELETE数据控制语言GRANT,REVOKE武汉大学国际软件学院武汉大学国际软件学院21数数据据库库

12、语语言言 S S Q Q L L2.2.SQLSQL的数据定义语言的数据定义语言操作对象创建删除修改表CREATETABLEDROPTABLEALTERTABLE视图CREATEVIEWDROPVIEW索引CREATEINDEXDROPINDEX武汉大学国际软件学院武汉大学国际软件学院22数数据据库库语语言言 S S Q Q L LDDLDDL对数据库三级模式的支持对数据库三级模式的支持SQL视图1基本表4基本表3基本表2基本表1存储文件2存储文件1内模式模式视图2外模式武汉大学国际软件学院武汉大学国际软件学院23数数据据库库语语言言 S S Q Q L L定义表语句的基本语法CREATETA

13、BLE表名((NOTNULLNULLUNIQUE,NOTNULLNULLUNIQUE,PRIMARYKEY(,),FOREIGN KEY (,)REFERENCES); 武汉大学国际软件学院武汉大学国际软件学院24数据库设计数据库设计武汉大学国际软件学院武汉大学国际软件学院25数数据据库库设设计计1.数据库逻辑设计的两类方法E-R模型建立概念模型,然后将概念模型转换成关系模型规范化设计方法武汉大学国际软件学院武汉大学国际软件学院26数数据据库库设设计计2.为什么需要概念模型(现实世界是复杂的)武汉大学国际软件学院武汉大学国际软件学院如何将现实世界的不规则如何将现实世界的不规则的手工信息处理方式

14、转换的手工信息处理方式转换为规则的计算机信息处理为规则的计算机信息处理方式?方式?27数数据据库库设设计计2.为什么需要概念模型(隔行如隔山)武汉大学国际软件学院武汉大学国际软件学院需要一个简明易需要一个简明易懂、无二义性且懂、无二义性且能描述信息处理能描述信息处理现状的现状的语言语言数据库数据库语言语言及及高级程序语言高级程序语言28数数据据库库设设计计3.3.现实世界现实世界与与E-RE-R模型的概念对应模型的概念对应 现实世界现实世界 E-RE-R模型模型 关系模型关系模型武汉大学国际软件学院武汉大学国际软件学院事物事物特征特征联系联系实体实体属性属性联系联系关系关系属性属性关系关系29

15、数数据据库库设设计计4.4.简单简单E-RE-R图图实体实体用矩形表示用矩形表示简简单单的的单单值值属属性性用用椭椭圆圆形形表表示示,并并用用直直线线连连接到实体接到实体复复合合属属性性用用椭椭圆圆形形表表示示,并并用用直直线线连连接接到到实实体体,同同时时组组成成复复合合属属性性的的简简单单属属性性连连接接到到复复合属性上合属性上多值属性多值属性用双线连接到实体用双线连接到实体武汉大学国际软件学院武汉大学国际软件学院30数数据据库库设设计计4.4.简单简单E-RE-R图图student_namelnamefnamemidinitialsidstudentsemp_addresscitysta

16、testaddresseidEmployeeszipcodehobbies武汉大学国际软件学院武汉大学国际软件学院31数数据据库库设设计计5.5.案例案例一个简单的航空定票数据库系统(只考虑一条航线的一端飞出的航班):武汉大学国际软件学院武汉大学国际软件学院32数数据据库库设设计计5.5.案例案例应用环境介绍: 旅客已经明确他需要的航线,在定票时,他需要了解有哪些航班可以乘坐?每个航班是否还有票?剩下哪些座位可供选择?一旦买了机票,就确定了航班和在飞机上的座位号码。在旅客拿着机票,在飞机起飞之前到达飞机场后,可以查到登记口是哪一个。这些信息应该都可以从航空定票系统中获得。武汉大学国际软件学院武

17、汉大学国际软件学院如何确定定票系统中需要存如何确定定票系统中需要存放的信息及结构?放的信息及结构?33数数据据库库设设计计5.5.案例案例确定实体旅客、航班、登机口和座位武汉大学国际软件学院武汉大学国际软件学院v旅客:旅客需要提供身份证v航班:航班包括航班乘务组、飞机、地勤人员以及起飞时间;v登记口:登记口包括登记口编号及在飞机场的位置v座位:座位包括座位号码和在飞机中的位置34数数据据库库设设计计5.5.案例案例确定实体的属性及与实体的关系武汉大学国际软件学院武汉大学国际软件学院PassengersPassengersticketnoticketnoGatesGatesgatenogaten

18、oFlightsFlightsdepart_nodepart_nodtimedtimeflightnoflightnoddateddateSeatsSeatsseatnoseatno35数数据据库库设设计计5.5.案例案例确定实体之间的联系v旅客将乘坐航班旅行,而旅客也将得到飞机上的一个座位;v一个航班上有很多座位;v旅客要登上他的航班,要通过某个登记口;所以,一个航班对应着一个登记口;武汉大学国际软件学院武汉大学国际软件学院36数数据据库库设设计计5.5.案例案例确定实体之间的联系武汉大学国际软件学院武汉大学国际软件学院PassengersPassengersticketnoticketno

19、GatesGatesgatenogatenoFlightsFlightsdepart_nodepart_nodtimedtimeflightnoflightnoddateddateSeatsSeatsseatnoseatnotravels_onmarshalshas_seatseat_assign37数数据据库库设设计计5.5.案例案例确定实体之间的联系武汉大学国际软件学院武汉大学国际软件学院PassengersPassengersticketnoticketnoGatesGatesgatenogatenoFlightsFlightsdepart_nodepart_nodtimedtimefl

20、ightnoflightnoddateddateSeatsSeatsseatnoseatnotravels_onmarshalshas_seatseat_assign(1,1)(1,1)(1,N)(1,N)(0,N)(0,N)(1,1)(1,1)(0,1)(0,1)(1,1)(1,1)(0,N)(0,N)(1,1)(1,1)38数数据据库库设设计计6.为什么需要规范化设计现在要建立一个数据库来描述学生的借书情况,有这样一些属性:借书证号(S#)姓名(SN)所在系(SD)电话(PHONE)借阅的图书号(B#)借阅图书名(BN) 借阅日期(DATE)用一个关系模式S(S#,SN,SD,PHONE,

21、B#,BN,DATE )表示。武汉大学国际软件学院武汉大学国际软件学院39数数据据库库设设计计假定有这样一个关系:假定有这样一个关系: S#SNSDPHONEB#BNDATE199813001王铭CS87654321B001数据结构20020403199813001王铭CS87654321B002数据库20020403199813001王铭CS87654321B003离散数学20020406199813001王铭CS87654321B004操作系统20020406199813001王铭CS87654321B005心理学20020420199813001王铭CS87654321B006人工智能2

22、0020420200112001李力MA12345678C001哲学20020508199812002张成MA12345678B001数据结构20020509设定主码为(S#,B#,DATE) 该关系该关系模式好模式好吗?吗?武汉大学国际软件学院武汉大学国际软件学院40数数据据库库设设计计冗余太大冗余太大更新异常更新异常插入异常插入异常删除异常删除异常S#SNSDPHONEB#BNDATE199813001王铭CS87654321B001数据结构20020403199813001王铭CS87654321B002数据库20020403199813001王铭CS87654321B003离散数学20

23、020406199813001王铭CS87654321B004操作系统20020406199813001王铭CS87654321B005心理学20020420199813001王铭CS87654321B006人工智能20020420200112001李力MA12345678C001哲学20020508199812002张成MA12345678B001数据结构20020509一个学生借多本书一个学生借多本书“王铭王铭”转系转系新生注册但没借书新生注册但没借书还掉了借的所有书还掉了借的所有书更新更新操作:操作:武汉大学国际软件学院武汉大学国际软件学院41数数据据库库设设计计解决 - 将该模式分解下

24、列成三个模式:S(S#,SN,SD,PHONE),B(B#,BN),SB(S#,B#,DATE) 一个学生借多本书一个学生借多本书“王铭王铭”转系转系新生注册但没借书新生注册但没借书还掉了借的所有书还掉了借的所有书S#SNSDPHONE199813001王铭CS87654321200112001李力MA12345678199812002张成MA12345678B#BNB001数据结构B002数据库B003离散数学B004操作系统B005心理学B006人工智能C001哲学S#B#DATE199813001B00120020403199813001B00220020403199813001B003

25、20020406199813001B00420020406199813001B00520020420199813001B00620020420200112001C00120020508199812002B00120020509解决前面的问题了吗?能保证不再存在其它的更新异常吗? 武汉大学国际软件学院武汉大学国际软件学院42数数据据库库设设计计出现更新异常的原因? - 在这单个模式中存在某些不好的数据依赖,如函数依赖,多值依赖武汉大学国际软件学院武汉大学国际软件学院43数数据据库库设设计计7.7.规范化设计思想规范化设计思想规范化是将属性分配给一个实体的过程,用以减少数据冗余和减少更新异常。这个过程实际上就是将一个低一级范式的关系模式,通过模式分解转换为若干个高一级范式的关系模式的集合的过程。武汉大学国际软件学院武汉大学国际软件学院一个手工处理的表可能一个手工处理的表可能存在数据冗余和导致更存在数据冗余和导致更新异常吗?新异常吗?44

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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