《数据库系统原理与应用(7)课件》由会员分享,可在线阅读,更多相关《数据库系统原理与应用(7)课件(100页珍藏版)》请在金锄头文库上搜索。
1、数据库系统原理与应用 第一讲第一讲 2012年冬季学期 联系联系方式:方式:姚姚 骏骏办公室办公室:自动化楼自动化楼301室室电电 话:话:5633-1634邮邮 箱:箱:database_密密 码:码:yanchang149教材教材数据库原理与应用数据库原理与应用基于基于SQL Server 2005 SQL Server 2005 李春葆等编箸李春葆等编箸 清华大学出版社清华大学出版社参考:参考:数据库系统原理与应用教程数据库系统原理与应用教程 苗雪兰等编箸苗雪兰等编箸 机械工业出版社机械工业出版社数据库原理及应用数据库原理及应用李俊山等编箸李俊山等编箸清华大学出版社清华大学出版社课程安排
2、第1周 周三(56节)周四(13节)课堂教学第29周 周三(56节)上机周四(13节)课堂教学第10周 复习、答疑课程安排一、数据库系统概述二、数据模型三、关系数据库四、 SQL Server2005系统概述(自学)五、创建和使用数据库和数据表六、关系数据库标准语言SQL七、关系数据库规范化理论八、SQL高级应用九、索引和视图十、存储过程和触发器第第1章章 数据数据库库系系统统概述概述一、信息一、信息(Information)n“信息信息”是对现实世界事物存在方式或运动是对现实世界事物存在方式或运动状态的反映。状态的反映。n信息信息的形态的形态n数据、文本、声音、图像数据、文本、声音、图像 n
3、信息爆炸信息爆炸(Information Explosion)n原因原因1:现代科学技术高速发展:现代科学技术高速发展n人类知识的倍增周期(英国学者詹姆斯人类知识的倍增周期(英国学者詹姆斯马丁)马丁)n19世纪为世纪为50年年n20世纪前半叶为世纪前半叶为10年左右年左右n20世纪世纪70年代缩短为年代缩短为5年年n20世纪世纪80年代末几乎已到了每年代末几乎已到了每3年翻一番的程度年翻一番的程度n20世纪世纪90年代到本世纪,知识量继续以几何级别增长,伴随年代到本世纪,知识量继续以几何级别增长,伴随着着互联网互联网的出现,信息真正地开始爆炸的出现,信息真正地开始爆炸 n近近30年生产的信息超
4、过过去年生产的信息超过过去5000年信息的总和年信息的总和 第第1章章 数据数据库库系系统统概述概述7n信息爆炸信息爆炸n原因原因2:多媒体时代的产物:多媒体时代的产物广播、电视、电话、出版物、计算机及网络等各广播、电视、电话、出版物、计算机及网络等各种信息传递手段使信息数量爆炸性增加,信息发种信息传递手段使信息数量爆炸性增加,信息发布和传播缺乏管理或产生了大量无用信息,造成布和传播缺乏管理或产生了大量无用信息,造成信息环境的污染信息环境的污染n信息爆炸对社会经济发展产生负面影响信息爆炸对社会经济发展产生负面影响 n产生信息速度产生信息速度收集信息的速度收集信息的速度分析信息的分析信息的能力能
5、力第第1章章 数据数据库库系系统统概述概述第第1章章 数据数据库库系系统统概述概述n解决信息爆炸问题的方法解决信息爆炸问题的方法n数据库数据库技术技术n信息挖掘技术信息挖掘技术n网络网络搜索引擎技术搜索引擎技术n分类目录型分类目录型搜索引擎搜索引擎n基于基于关键词的检索关键词的检索搜索引擎搜索引擎n基于基于内容的检索技术内容的检索技术第第1章章 数据数据库库系系统统概述概述2.“数据数据”是用符号表示的,用于反映客观是用符号表示的,用于反映客观世界中客体属性的记录。世界中客体属性的记录。 数据数据的特征的特征:数据是信息的符号化表示数据是信息的符号化表示数据是信息的载体数据是信息的载体信息是数
6、据的内涵信息是数据的内涵计算机信息处理:信息转换为计算机识计算机信息处理:信息转换为计算机识别的二进制编码别的二进制编码第第1章章 数据数据库库系系统统概述概述3.信息与数据联系信息与数据联系数据是信息的符号表示,信息是经过加工数据是信息的符号表示,信息是经过加工之后并对客观世界和生产活动产生影响的数之后并对客观世界和生产活动产生影响的数据,是数据的内涵,是数据的语义解释。据,是数据的内涵,是数据的语义解释。数据是符号化的信息,信息是语义化的数据数据是符号化的信息,信息是语义化的数据 数据和信息许多情况下可以混用,比如信数据和信息许多情况下可以混用,比如信息处理和数据处理有时并没有严格的语义区
7、息处理和数据处理有时并没有严格的语义区别;但有时却必须加以区分,比如数据文件别;但有时却必须加以区分,比如数据文件不能说成信息文件。不能说成信息文件。 4、数据管理与数据处理、数据管理与数据处理 数据管理(数据管理(Data Management) 包括组织和保存数据、进行数据包括组织和保存数据、进行数据维护、提供数据查询和统计功能这三方面。维护、提供数据查询和统计功能这三方面。 数据处理(数据处理(Data Processing) 包括数据管理、数据加工、数据包括数据管理、数据加工、数据传播等工作。传播等工作。第第1章章 数据数据库库系系统统概述概述第第1章章 数据数据库库系系统统概述概述手
8、工管理阶段手工管理阶段文件系统阶段文件系统阶段数据库系统阶段数据库系统阶段二、数据管理技术的发展二、数据管理技术的发展13第第1章章 数据数据库库系系统统概述概述1.手工管理阶段手工管理阶段(20世纪世纪50年代中期以前)年代中期以前)特点:特点:1)数据不保存)数据不保存2)数据没有独立性)数据没有独立性3)编写程序时要安排数据的物理存储)编写程序时要安排数据的物理存储4)数据面向应用)数据面向应用第第1章章 数据数据库库系系统统概述概述2. 文件系统阶段文件系统阶段(20 世纪世纪50年代后期至年代后期至60年年代中期)代中期)特点:特点: 1)数据以文件形式长期保存)数据以文件形式长期保
9、存 2)数据的物理结构与逻辑结构有了区别)数据的物理结构与逻辑结构有了区别 3)文件形式多样化)文件形式多样化 4)程序与数据间有一定的独立性)程序与数据间有一定的独立性缺点:不能表示复杂的数据结构,存在数据重缺点:不能表示复杂的数据结构,存在数据重复存储、冗余度大、一致性差等问题。复存储、冗余度大、一致性差等问题。第第1章章 数据数据库库系系统统概述概述3.数据库系统阶段数据库系统阶段(20 世纪世纪60年代后期以来)年代后期以来)特点:特点: 1)数据结构化)数据结构化 2)数据共享)数据共享 3)减少了数据冗余)减少了数据冗余 4)有较高的数据独立性)有较高的数据独立性 5)用数据库管理
10、系统作为用户与数据库的)用数据库管理系统作为用户与数据库的接口接口第第1章章 数据数据库库系系统统概述概述n19691969年年, IBM, IBM公司研制开发了公司研制开发了Information Management Information Management SystemSystem(IBSIBS)数据库管理系统。)数据库管理系统。IBSIBS是是层次结构的数据库模型层次结构的数据库模型。n7070年代初年代初, , 美国数据系统语言协商会美国数据系统语言协商会, , 对数据库方法进行了系统研讨后提出报对数据库方法进行了系统研讨后提出报告告, ,确定并建立了数据库系统的许多概念、确定并
11、建立了数据库系统的许多概念、方法和技术方法和技术, , 标志了网状结构的数据库标志了网状结构的数据库模型的诞生。模型的诞生。17第第1章章 数据数据库库系系统统概述概述n1970年年, IBM公司的公司的E.F.Codd发表了发表了一篇里程碑性的文章一篇里程碑性的文章大型共享数据库大型共享数据库的关系模型的关系模型。他把关系代数应用到存。他把关系代数应用到存储大量数据的问题中,系统而严格地提储大量数据的问题中,系统而严格地提出了关系模型的理论出了关系模型的理论, 最终奠定了现代最终奠定了现代关系型数据库管理系统的(关系型数据库管理系统的(RDBMS)的理论基础的理论基础第第1章章 数据数据库库
12、系系统统概述概述n数据库系统阶段的数据管理特点数据库系统阶段的数据管理特点n数据库结构化设计:面向数据模型对象数据库结构化设计:面向数据模型对象n数据库系统的数据冗余度小数据库系统的数据冗余度小n重复的数据少、节约存储空间、避免数据的不一致问题、重复的数据少、节约存储空间、避免数据的不一致问题、避免数据统计错误避免数据统计错误n数据共享度高数据共享度高n用户或程序可以共同享用数据库中的数据。用户或程序可以共同享用数据库中的数据。n系统扩充时,新用户或程序共享原有数据资源系统扩充时,新用户或程序共享原有数据资源n多用户或多程序在同一时刻共同使用同一数据多用户或多程序在同一时刻共同使用同一数据第第
13、1章章 数据数据库库系系统统概述概述三三、数据库、数据库(Database) 数据库简称数据库简称DB,是在计算机存储设备上按,是在计算机存储设备上按一定的组织方式存储在一起的,相关的数据一定的组织方式存储在一起的,相关的数据集合。集合。数据库方法与文件方法相比,具有以下特征。数据库方法与文件方法相比,具有以下特征。 1) 数据库中的数据具有数据整体性。数据库中的数据具有数据整体性。 2) 数据库中的数据具有数据共享性。数据库中的数据具有数据共享性。 数据库概念的含义数据库概念的含义: (1 1)数据库是存储在计算机存储设备上的)数据库是存储在计算机存储设备上的: : 数据库是存在于计算机存储
14、设备上的一个或多数据库是存在于计算机存储设备上的一个或多个个( (数据库数据库) )文件组成的统一体,是可感知的数据文件组成的统一体,是可感知的数据库形体。库形体。 (2 2)数据库是按一定的组织方式存储在一)数据库是按一定的组织方式存储在一起的:起的: 数据库中的数据是以结构化的形式存储的,这数据库中的数据是以结构化的形式存储的,这种结构化形式实质上就是数据库的种结构化形式实质上就是数据库的数据模型。数据模型。第第1章章 数据数据库库系系统统概述概述(3 3)数据库是相关的数据集合:)数据库是相关的数据集合: 数据库中的数据既有某特定应用领域涉及的各数据库中的数据既有某特定应用领域涉及的各种
15、基本数据,也有反映这些数据之间联系的种基本数据,也有反映这些数据之间联系的数据。数据。 第第1章章 数据数据库库系系统统概述概述第第1章章 数据数据库库系系统统概述概述四、数据库系统的体系结构四、数据库系统的体系结构硬件硬件存储存储记录接口记录接口第第1章章 数据数据库库系系统统概述概述n模式模式(Schema)n数据库中全体数据逻辑结构和特征的描述数据库中全体数据逻辑结构和特征的描述n模式的具体值是实例模式的具体值是实例(Instance)n模式是相对稳定的,实例是相对变动的。模式反模式是相对稳定的,实例是相对变动的。模式反映的是数据的结构及其关系,实例反映的是数据映的是数据的结构及其关系,
16、实例反映的是数据库某一时刻的状态库某一时刻的状态n模式:模式: (学号学号,姓名姓名,性别性别,班号班号)n实例:实例:(101,张三张三,男男,99051)第第1章章 数据数据库库系系统统概述概述1. 数据库的三级模式结构数据库的三级模式结构 美国国家标准学会所属标准计划和要求委员美国国家标准学会所属标准计划和要求委员会在会在1975年公布了一个关于数据库标准的报年公布了一个关于数据库标准的报告,提出了数据库三级模式结构。告,提出了数据库三级模式结构。应用1应用2应用3外模式1外模式2模式内模式数据库用户级概念级物理级外模式外模式/模式映像模式映像模式模式/内模式映像内模式映像 1)概念模式
17、)概念模式(Schema) 是对是对DB中全部数据的整体逻辑结构的描述中全部数据的整体逻辑结构的描述,体现了体现了全局、整体的数据观点全局、整体的数据观点。 概念模式的主体是数据库的数据模型;概念模式的主体是数据库的数据模型; 一个一个DB只有一个与数据模型对应的概念只有一个与数据模型对应的概念模式;模式; 概念模式仅涉及概念模式仅涉及“型型”的描述,不涉及的描述,不涉及具体的值。具体的值。第第1章章 数据数据库库系系统统概述概述 2)外模式)外模式(External Schema) 是对是对DB用户能看见和使用的局部数据逻用户能看见和使用的局部数据逻辑结构的描述,体现了辑结构的描述,体现了应
18、用程序员对数据库的应用程序员对数据库的数据观点数据观点。 外模式是用户和外模式是用户和DBS的接口;的接口; 一个一个DB可有多个外模式;可有多个外模式; 外模式是保证外模式是保证DB安全性的措施之一。安全性的措施之一。第第1章章 数据数据库库系系统统概述概述 3)内模式)内模式(Internal Schema) 是对数据库表物理存储结构的描述。是对数据库表物理存储结构的描述。 一个一个DB只有一个与概念模式对应的内模只有一个与概念模式对应的内模式。内模式是数据在数据库内部的表示,它定式。内模式是数据在数据库内部的表示,它定义了数据的内部记录类型、记录寻址技术、索义了数据的内部记录类型、记录寻
19、址技术、索引和文件的组织方式及数据控制方面的内容。引和文件的组织方式及数据控制方面的内容。第第1章章 数据数据库库系系统统概述概述模式结构模式结构内模式内模式概念模式概念模式外模式外模式DB数据抽象数据抽象物理层物理层逻辑层逻辑层视图层视图层低低复杂性复杂性强强易用性易用性简单简单结构结构抽象地抽象地访问数据访问数据高效地高效地存储数据存储数据逻辑地逻辑地组织数据组织数据第第1章章 数据数据库库系系统统概述概述第第1章章 数据数据库库系系统统概述概述2. 三个模式间的映像三个模式间的映像1)外模式外模式/模式的映象:定义并保证了外模模式的映象:定义并保证了外模式与数据模式之间的对应关系。式与数
20、据模式之间的对应关系。保证了数据的逻辑独立性保证了数据的逻辑独立性当数据库的概念模式结构因某种原因修改时,当数据库的概念模式结构因某种原因修改时,只要没有改变概念模式中与外模式定义有关的只要没有改变概念模式中与外模式定义有关的属性及与其关系模式名的隶属关系,就可使外属性及与其关系模式名的隶属关系,就可使外模式保持不变,从而不需修改应用程序。模式保持不变,从而不需修改应用程序。第第1章章 数据数据库库系系统统概述概述2)模式模式/内模式的映象及作用:定义并保证内模式的映象及作用:定义并保证了数据的逻辑模式与内模式之间的对应关系。了数据的逻辑模式与内模式之间的对应关系。保证了数据的物理独立性保证了
21、数据的物理独立性当数据库的内模式由于某种原因要修改时,当数据库的内模式由于某种原因要修改时,可通过对概念模式与内模式之间的映象的修改,可通过对概念模式与内模式之间的映象的修改,使概念模式尽可能地保持不变,实现内模式的使概念模式尽可能地保持不变,实现内模式的改变尽可能地不修改应用程序改变尽可能地不修改应用程序第第1章章 数据数据库库系系统统概述概述三级模式间的比较三级模式间的比较外模式外模式概念模式概念模式内模式内模式其他其他名字名字子模式、用户模式、子模式、用户模式、外视图外视图模式、概念视图、模式、概念视图、DBA视图视图存储模式、内视存储模式、内视图图描述描述数据库用户能看见和数据库用户能
22、看见和使用的局部数据的逻使用的局部数据的逻辑结构辑结构数据库中全体数数据库中全体数据的逻辑结构据的逻辑结构数据物理结构和数据物理结构和存储方式的描述存储方式的描述特点特点用户与数据库的接口用户与数据库的接口所有用户的公共所有用户的公共数据视图数据视图数据在数据库内数据在数据库内部的表示方式部的表示方式可以有多个外模式可以有多个外模式只有一个概念模只有一个概念模式式只有一个内模式只有一个内模式面向应用程序或最终面向应用程序或最终用户用户由由DBA定义定义基本由基本由DBMS定定义义第第1章章 数据数据库库系系统统概述概述五、数据库管理系统五、数据库管理系统(DataBase Management
23、 System) 数据库管理系统是专门用于管理数据库数据库管理系统是专门用于管理数据库的计算机系统软件。能够为数据库提供数据的计算机系统软件。能够为数据库提供数据的定义、建立、维护、查询和统计等操作功的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制能,并完成对数据完整性、安全性进行控制的功能。的功能。应用程序应用程序A1A1 应用程序应用程序A2A2应用程序应用程序B1B1 应用程序应用程序B2B2用户用户A1A1用户用户A1A1外模式外模式A A外模式外模式B B外模式到模式的映象外模式到模式的映象A A 外模式到模式的映象外模式到模式的映象B B概念模式概念模式
24、模式到内模式的映象模式到内模式的映象内模式内模式数据库数据库局部逻辑结构局部逻辑结构概念级概念级DB全局逻辑结构全局逻辑结构存储级存储级DB存储组织结构存储组织结构DBMSOS用户级用户级DB用户用户A1A1用户用户A1A1需要强调的是:需要强调的是:数据库三级模式之间数据库三级模式之间的转换是在数据库管理系的转换是在数据库管理系统(统(DBMS)的统一控制)的统一控制下实现的。下实现的。第第1章章 数据数据库库系系统统概述概述第第1章章 数据数据库库系系统统概述概述1.数据定义功能数据定义功能 提供数据定义语言(提供数据定义语言(DDL)2. 数据操纵功能数据操纵功能提供数据操纵语言提供数据
25、操纵语言(DML),实现检索、插,实现检索、插入、修改和删除等基本存取操作入、修改和删除等基本存取操作3.数据库的建立和维护功能数据库的建立和维护功能1. 包括初试数据的装入,数据库的存储、恢包括初试数据的装入,数据库的存储、恢复,系统性能的监视和分析等复,系统性能的监视和分析等4. 数据库的运行管理功能数据库的运行管理功能数据的安全性、完整性和并发控制数据的安全性、完整性和并发控制第第1章章 数据数据库库系系统统概述概述六、常见数据库六、常见数据库1.IBM的的DB2IBM在在1977年完成了年完成了SystemR系统的原型系统的原型2.Oracle1979年引入了第一个商用年引入了第一个商
26、用SQL关系数据库管理系统关系数据库管理系统3.Sybase1987年年5月推出月推出1.0。首先提出。首先提出Client/Server数据库数据库体系结构的思想,并率先在体系结构的思想,并率先在SybaseSQLServer中实中实现现第第1章章 数据数据库库系系统统概述概述4.SQLServer1989年,微软发布了年,微软发布了SQLServer1.0版版5.mySQL小型关系型数据库管理系统,开发者为瑞典小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。在公司。在Internet上的中小型网站中应用广泛上的中小型网站中应用广泛6.Access1994年推出的微机数据库管理系统
27、。具有界面友好、年推出的微机数据库管理系统。具有界面友好、开发简单等特点,是典型的桌面数据库管理系统开发简单等特点,是典型的桌面数据库管理系统7.Foxpro最初由美国最初由美国Fox公司公司1988年推出,年推出,1992年被年被Microsoft公司收购公司收购第第2章章 数据模型数据模型 2.1 2.1 数据模型数据模型 2.2 2.2 概念模型概念模型 3.3 3.3 数据库类型数据库类型现实世界现实世界信息信息 现实世界是存在于人们头脑之现实世界是存在于人们头脑之外的客观世界。外的客观世界。 现实世界既包括象宇宙、地球、现实世界既包括象宇宙、地球、山脉、河流等一切自然存在的实体山脉、
28、河流等一切自然存在的实体和现象,也包括人类社会进步与发和现象,也包括人类社会进步与发展的演变过程和各种生产活动。展的演变过程和各种生产活动。所以可狭义地将现实世界看作所以可狭义地将现实世界看作为各个事物、各个现象、各个单位为各个事物、各个现象、各个单位的实际情况,例如一个大学、一个的实际情况,例如一个大学、一个企业、一个工厂的仓库等。企业、一个工厂的仓库等。2.1数据模型数据模型计算机计算机现实世界现实世界信息信息对数据和信息的处理对数据和信息的处理是在计算机世界是在计算机世界数据世界完成的。数据世界完成的。2.1数据模型数据模型计算机计算机现实世界现实世界信息信息信息世界信息世界 信息世界是
29、信息世界是现实世界在人们现实世界在人们头脑中的反映和头脑中的反映和解释,是现实世解释,是现实世界的概念化。界的概念化。2.1数据模型数据模型计算机计算机现实世界现实世界信息信息信息世界信息世界概念模型概念模型概念化概念化抽象抽象 通过对现实世界通过对现实世界中人们关心的中人们关心的“事物事物”及其之间联系及其之间联系的概的概念化抽象,形成了信息念化抽象,形成了信息世界中的概念模型。世界中的概念模型。2.1数据模型数据模型计算机计算机现实世界现实世界信息信息信息世界信息世界概念模型概念模型概念化概念化抽象抽象DBMS支持的数据模型支持的数据模型形式化形式化转换转换2.1数据模型数据模型2.1数据
30、模型数据模型计算机计算机现实世界现实世界信息信息信息世界信息世界概念模型概念模型概念化概念化抽象抽象DBMS支持的数据模型支持的数据模型形式化形式化转换转换进一步讲,概念模型进一步讲,概念模型向向DBMS支持的数据支持的数据模型的转换,本质上模型的转换,本质上是对信息世界的进一是对信息世界的进一步抽象,是信息世界步抽象,是信息世界的形式化和数据化,的形式化和数据化,反映了数据之间的联反映了数据之间的联系和数据的共性特征,系和数据的共性特征,由此形成了由由此形成了由数据模数据模型型描述的数据世界,描述的数据世界,也即计算机世界。也即计算机世界。 数据模型数据模型是现实世界中的各种事物及各是现实世
31、界中的各种事物及各事物之间的联系用数据及数据间的联系来表事物之间的联系用数据及数据间的联系来表示的一种方法。示的一种方法。 一个数据库的数据模型实际上给出了在计一个数据库的数据模型实际上给出了在计算机系统上进行描述和动态模拟现实世界信算机系统上进行描述和动态模拟现实世界信息结构及其变化的方法。息结构及其变化的方法。2.1数据模型数据模型 数据模型定义为一组面向计算机的概念集合,由数据结构、数据操作、数据约束三部分组成:数据结构数据结构:包括应用所涉及的对象、对象具有的特征包括应用所涉及的对象、对象具有的特征和对象间的联系。是对数据库静态特征的描述。和对象间的联系。是对数据库静态特征的描述。数据
32、操作数据操作:是一组对数据结构的任何实例执行的操作是一组对数据结构的任何实例执行的操作集合,如查询、插入、删除、修改,反映了数据的动集合,如查询、插入、删除、修改,反映了数据的动态特性。态特性。数据约束数据约束:是对数据静态特征和动态特性的限定,定是对数据静态特征和动态特性的限定,定义了相容的数据库状态的集合及可允许的状态变化,义了相容的数据库状态的集合及可允许的状态变化,保证了数据库中数据的正确、有效和安全。保证了数据库中数据的正确、有效和安全。 2.1数据模型数据模型46先自学,以后重点讲。2.2概念模型概念模型2.32.3数据库类型数据库类型数据库技术的三个发展阶段数据库技术的三个发展阶
33、段: 层次模型、层次模型、网状模型、关系模型网状模型、关系模型从从60 年代末到年代末到70年代初的三个事件为代表年代初的三个事件为代表, 标标志了数据库技术日趋成熟志了数据库技术日趋成熟第一个事件第一个事件:1969年年, IBM公司研制开发了公司研制开发了Information Management System(IBS)数据库管)数据库管理系统。理系统。IBS是层次结构的数据库模型。是层次结构的数据库模型。层次模型的特征层次模型的特征 1) 有且仅有一个结点没有双亲结点,这个有且仅有一个结点没有双亲结点,这个结点称为根结点。结点称为根结点。 2) 除根结点之外的其他结点有且只有一个除根结
34、点之外的其他结点有且只有一个双亲结点。双亲结点。2.32.3数据库类型数据库类型系教务管理层次模型实体联系系教务管理层次模型实体联系2.32.3数据库类型数据库类型系教务管理层次实例系教务管理层次实例2.32.3数据库类型数据库类型层次模型的优点:层次模型的优点:(1 1)结构清晰,容易理解;)结构清晰,容易理解;(2 2)结点间联系简单,记录之间的联系通)结点间联系简单,记录之间的联系通过指针来实现,查询效率较高。过指针来实现,查询效率较高。 现实世界中的家族和组织机构关系, 都是自然的层次结构, 用层次模型来组织数据, 查询数据的算法很简便, 因为查询的路径是唯一的。但它不能描述事物间复杂
35、的联系。 层次模型只能表示一对多层次模型只能表示一对多(包括一对一包括一对一)的联系,的联系,对于多对多联系,需要分解成一对多的联系。对于多对多联系,需要分解成一对多的联系。2.32.3数据库类型数据库类型第二个事件第二个事件:60年代末、年代末、70年代初年代初, 美国数据系美国数据系统语言协商会下属的数据库任务组(统语言协商会下属的数据库任务组(DBTG), 对对数据库方法进行了系统的研讨后提出报告数据库方法进行了系统的研讨后提出报告, 称为称为DBTG报告。报告。DBTG报告确定并建立了数据库系报告确定并建立了数据库系统的许多概念、方法和技术统的许多概念、方法和技术, 标志了网状结构的标
36、志了网状结构的数据库模型的诞生。数据库模型的诞生。2.32.3数据库类型数据库类型网状模型结构的特征网状模型结构的特征 1) 有一个以上的结点没有双亲。有一个以上的结点没有双亲。 2) 结点可以有多于一个的双亲。结点可以有多于一个的双亲。 在现实世界中, 比如存款户与银行的联系, 一个用户可在多个银行开户, 而一个银行可为多个用户开户, 网状模型可用于描述这类较为复杂的结构, 但由于到达一个结点的路径有多条, 开发者必须选择较优的数据存取路径, 因此开发者必须了解系统结构的细节, 加重了其编写应用程序的负担。2.32.3数据库类型数据库类型 学生选修课网状模型学生选修课网状模型2.32.3数据
37、库类型数据库类型 学生选修课网状模型实例学生选修课网状模型实例2.32.3数据库类型数据库类型网状模型的网状模型的优点:优点: 在网状模型中,结点间的联系更具有在网状模型中,结点间的联系更具有任意性,更能表示事物之间的复杂联系,任意性,更能表示事物之间的复杂联系,更适合于描述客观世界。更适合于描述客观世界。数据结构复杂,数据独立性差。数据结构复杂,数据独立性差。2.32.3数据库类型数据库类型层次模型层次模型和和网状模型网状模型是数据库发展过程是数据库发展过程中最先使用的两种模型,但由于他们都中最先使用的两种模型,但由于他们都有非常明显的不足,已经被关系模型所有非常明显的不足,已经被关系模型所
38、取代。取代。2.32.3数据库类型数据库类型第三个事件:第三个事件:1970年年, IBM公司公司San Jose研究实验室的研究员研究实验室的研究员E.F.Codd发表了一篇里程碑性的文章发表了一篇里程碑性的文章“ARelationalModelofDataforLargeSharedDataBanks”,大型共享数,大型共享数据库的关系模型。在该文中据库的关系模型。在该文中, 他把他把数学中的一个称为关系代数的分支数学中的一个称为关系代数的分支, 应用到存储大量数据的问题中。他应用到存储大量数据的问题中。他连续发表了多篇论文连续发表了多篇论文, 系统而严格系统而严格地提出了关系模型的理论地
39、提出了关系模型的理论, 最终奠最终奠定了现代关系型数据库管理系统的定了现代关系型数据库管理系统的(RDBMS)的理论基础。)的理论基础。2.32.3数据库类型数据库类型关系模型是一种用关系模型是一种用二维表格结构二维表格结构表示数据及数据之表示数据及数据之间联系的数据模型。间联系的数据模型。其关系模式是其关系模式是: 学生学生(学号学号,姓名姓名,年龄年龄,性别性别,系系,年级年级)2.32.3数据库类型数据库类型关系数据模型的特点:关系数据模型的特点:1)关系数据模型具有严格的数学理论基础)关系数据模型具有严格的数学理论基础2)关系数据模型概念单一,容易理解)关系数据模型概念单一,容易理解3
40、)关系数据模型的存取路径对用户隐蔽)关系数据模型的存取路径对用户隐蔽4)关系模型中的数据是靠数据冗余实现的)关系模型中的数据是靠数据冗余实现的其关系模式是其关系模式是: R(A1,A2,An) R是关系名,是关系名,Ai(i=1,2,n)是关系的属性是关系的属性2.32.3数据库类型数据库类型 关系模型的优点:关系模型的优点: (1)模型结构简单清晰,容易为初学者接)模型结构简单清晰,容易为初学者接受。受。 (2)用户只需用简单的查询语句就可以对)用户只需用简单的查询语句就可以对数据库进行操作,不涉及存储结构、访问数据库进行操作,不涉及存储结构、访问技术等细节。技术等细节。 (3)关系模型使数
41、据库的研究建立在比较)关系模型使数据库的研究建立在比较坚实的数学基础上,为数据库技术的成熟坚实的数学基础上,为数据库技术的成熟奠定了基础。奠定了基础。2.32.3数据库类型数据库类型 关系模型的缺点:关系模型的缺点: (1)查询效率可能不如非关系模型,要对)查询效率可能不如非关系模型,要对用户的查询进行优化。用户的查询进行优化。 (2)关系必须是规范化的,不允许表中有)关系必须是规范化的,不允许表中有表。表。2.32.3数据库类型数据库类型63第章第章 关系数据关系数据库库 3.1 3.1 关系模型的基本概念关系模型的基本概念 3.2 3.2 关系的数学定义关系的数学定义 3.3 3.3 关系
42、代数关系代数 643.1 关系模型的基本概念关系模型的基本概念n关系关系 n元元组组 n属性属性n域域n关系模式关系模式n候候选码选码(候(候选选关关键键字)字)n主主码码(主关(主关键键字)字)n主属性主属性n外外码码(外关(外关键键字)字)n全全码码举例:举例:关系关系:一个关系就是一张二维表:一个关系就是一张二维表 每个关系有一个关系名,比如学生登记表每个关系有一个关系名,比如学生登记表元组元组:表中的每一行即为一个元组,即一条记录:表中的每一行即为一个元组,即一条记录属性属性:表中的列称为属性,每一列有一个属性名:表中的列称为属性,每一列有一个属性名 即字段、字段名。该关系有即字段、字
43、段名。该关系有6个属性个属性元组元组属性属性注:元组、属性,是关系模型的术语, 对应于存储文件的名词为记录、字段。1,2,3,4,5域域域域:属性的取值范围。:属性的取值范围。 即不同元组对同一个属性的值所限定的范即不同元组对同一个属性的值所限定的范围。围。关系模式关系模式:对关系的描述称为关系模式:对关系的描述称为关系模式 关系名(属性关系名(属性1, 1, 属性属性2, 2, ., ., 属性属性n n)一个关系模式对应一个关系文件结构一个关系模式对应一个关系文件结构 (学号(学号# , # , 姓名姓名, , 年令,性别,系名,年级)年令,性别,系名,年级)候选码候选码(或候选关键字、(
44、或候选关键字、码码):):属性或属性的组合,其值能够唯一地标识一个属性或属性的组合,其值能够唯一地标识一个关系中的一个元组。关系中的一个元组。 本例候选码只有一个:学号(由于姓名可能重码)本例候选码只有一个:学号(由于姓名可能重码) 本例有二个候选码:学号、身份证号,各自都本例有二个候选码:学号、身份证号,各自都是候选码是候选码主码主码(或主关键字):(或主关键字):一个关系中若有多个候选码,从中选择一个为一个关系中若有多个候选码,从中选择一个为主码主码 本例候选码有二个:学号、身份证号,选学号为主码本例候选码有二个:学号、身份证号,选学号为主码主属性主属性:包含在主码中的诸属性称为主属性:包
45、含在主码中的诸属性称为主属性 本例主码是学号,学号是主属性本例主码是学号,学号是主属性不属于任何候选码中的属性称为非主属性。不属于任何候选码中的属性称为非主属性。外码外码(或外关键字):(或外关键字):如果一个关系中的属性或属性组并非该关系的如果一个关系中的属性或属性组并非该关系的码码,但,但它们是另外一个关系的码,则称其为该关系的外码它们是另外一个关系的码,则称其为该关系的外码 (商品编号(商品编号# , # , 商品名称商品名称, , 大类编号)大类编号) (大类编号(大类编号# , # , 大类名)大类名)主码主码码码候选候选码,可以码,可以用作主码用作主码外码外码外码是用来表示多个关系
46、联系的方法。外码是用来表示多个关系联系的方法。全码全码:当所有属性都是一关系模式的候选码,称为全码当所有属性都是一关系模式的候选码,称为全码 本例候选码有二个:学号、身份证号,选学号为主码本例候选码有二个:学号、身份证号,选学号为主码唯一性唯一性非冗余非冗余有效性有效性讨论:主码由多个属性组合讨论:主码由多个属性组合(学号(学号 , 姓名姓名 , 性别性别 , 课程编号课程编号 , 课程名课程名 , 成绩成绩 ,绩点绩点 )#属性组属性组学号学号与与课号课号是关系的主码是关系的主码 关系关系 R1R11的主码是电影编号的主码是电影编号 关系关系 R R2 2不同场次不同价2的主码是电影编号的主
47、码是电影编号+场次场次 关系关系 R R3 33的主码:的主码: 电影编号电影编号+场次场次+场所场所不同场次、不同场所不同价3.2 关系的数学定义关系的数学定义n域域 域是一域是一组组具有相同数据具有相同数据类类型的型的值值的集合的集合n笛卡笛卡尔尔积积 设设定一定一组组域域D1,D2,Dn,定,定义义D1,D2,Dn的笛卡的笛卡尔尔积为积为:D1D2Dn= (d1,d2,dn)|di Di,i=1,n其中每个元素其中每个元素(d1,d2,dn)叫做一个叫做一个n元元组组,元素中的每个元素中的每个值值di叫做一个分量叫做一个分量例:设D1=李兵,王芳,D2=男,女, D3=北京,上海。D1D
48、2D3=(李兵,男,北京),(李兵,男,上海),(李兵,女,北京),(李兵,女,上海),(王芳,男,北京),(王芳,男,上海),(王芳,女,北京),(王芳,女,上海)基数为222=8。3.2 关系的数学定义关系的数学定义可见,笛卡儿积实际上是一个二维表,结果可见,笛卡儿积实际上是一个二维表,结果共有共有8个元组。个元组。 姓名姓名(D1)性别性别(D2)籍贯籍贯(D3)李兵李兵男男北京北京李兵李兵男男上海上海李兵李兵女女北京北京李兵李兵女女上海上海王芳王芳男男北京北京王芳王芳男男上海上海王芳王芳女女北京北京王芳王芳女女上海上海3.2 关系的数学定义关系的数学定义813.2 关系的数学定义关系的
49、数学定义n关系关系关系是笛卡关系是笛卡尔尔积积的有限子集,关系中的有限子集,关系中 的每个的每个元素是关系中的元元素是关系中的元组组。笛卡儿积笛卡儿积D1D2Dn的任一子集称为在的任一子集称为在域域D1,D2,Dn上的关系。上的关系。值域集合值域集合D1,D2,Dn是关系中元组的取值是关系中元组的取值范围,称为关系的范围,称为关系的域域(Domain),),n称称为关系的为关系的目目或或度度(Degree)。)。n=1,一元关系,一元关系n=2,二元关系,二元关系度为度为n时,时,n元关系元关系823.2 关系的数学定义关系的数学定义n关系的性关系的性质质列是同列是同质质的的不同的列可出自同一
50、个域不同的列可出自同一个域列的列的顺顺序无所序无所谓谓任意两个元任意两个元组组不能完全相同不能完全相同行的行的顺顺序无关序无关紧紧要要所有属性所有属性值值都是都是原子原子, ,不不允允许许属性又是属性又是一个二一个二维维关系。关系。 3.2 关系的数学定义关系的数学定义n关系的完整性关系的完整性规则规则 实实体完整性:体完整性:关系中主关系中主码码的的值值不能不能为为空空 参照完整性:参照完整性:如果关系如果关系R2R2的外的外码码X X与关系与关系R1R1的主的主码码相相对应对应,则则外外码码X X的每个的每个值值必必须须在关系在关系R1R1中主中主码码的的值值中找到,或者中找到,或者为为空
51、空 用用户户定定义义的完整性:的完整性:指用指用户对户对某一具体某一具体数据指定的数据指定的约约束条件束条件进进行行检验检验举举例例:在在以以下下关关系系R中中, 令令“书书号号”为为主主关关键键字字(主主码码), 则则关关系系S的的“书书号号”成成为为一一个个外外部部关关键键字字(外外码码),它它必必须须满满足足参照完整性规则。参照完整性规则。 关系关系 R 图书馆存书表图书馆存书表关系关系 S 读者借书表读者借书表3.2 关系的数学定义关系的数学定义在在这这三三种种完完整整性性中中,实实体体完完整整性性和和参参照照完完整整性性是是关关系系模模型型必必须须满满足足的的,所所以以, 几几乎乎所
52、所有有DBMS系系统统, 都都自自动进行支持。动进行支持。而而用用户户定定义义的的完完整整性性,通通常常是是在在实实际际实实现现系系统统中中,针针对对具具体体情情况况所所要要达达到到的的一一些些要要求求,系系统统不不能能预预先先设设定定,所所以以, 其其必必须须通通过过详详细细的的调调查查研研究究,由由用用户户来来进进行定义。行定义。3.2 关系的数学定义关系的数学定义863.3 关系代数关系代数n传统传统的集合运算的集合运算 关系的并关系的并 / 关系的差关系的差 / 关系的交关系的交 / 关系的笛卡关系的笛卡尔尔积积n专门专门的关系运算的关系运算 选择选择 / / 投影投影 / / 连连接
53、接 / / 除除 873.3.1 传统的集合运算传统的集合运算设设关关系系R和和S具具有有相相同同的的目目n(即即两两个个关关系系都都有有n个个属属性性),且且相相应应的的属属性性取取自自同同一一个个域。域。 1. 并运算并运算 RS=t| t R t S. 关系和关系的所有元组合并,关系和关系的所有元组合并,并删去重复的元组,组成新关系。并删去重复的元组,组成新关系。适用于适用于:找出所有出现在两个关系之一的:找出所有出现在两个关系之一的或同时出现在两个关系中的元组。或同时出现在两个关系中的元组。关系的关系的并并关系关系 R关系关系结果结果3.3.1 传统的集合运算传统的集合运算3.3.1
54、传统的集合运算传统的集合运算2. 差运算差运算 R-S=t| t R t S. 关系和关系的差是由属于而不关系和关系的差是由属于而不属于的所有元组组成,即从中删去属于的所有元组组成,即从中删去与中相同的元组,组成新关系。与中相同的元组,组成新关系。适用于:适用于:找出在一个关系中而不在另一找出在一个关系中而不在另一个关系中的那些元组个关系中的那些元组.关系的关系的差差关系关系 R关系关系结果结果3.3.1 传统的集合运算传统的集合运算3.3.1 传统的集合运算传统的集合运算3. 交运算交运算 RS=t| t R t S. 关系和关系的交是由既属于又属关系和关系的交是由既属于又属于的元组组成,即
55、在与中取相同的于的元组组成,即在与中取相同的元组,组成新关系。元组,组成新关系。适用于:适用于:需要找出所有同时出现在两个需要找出所有同时出现在两个关系中的元组时关系中的元组时。关系的关系的交交关系关系 R关系关系结果结果3.3.1 传统的集合运算传统的集合运算4. 笛卡尔积笛卡尔积 RS=trts| tr R ts S. 指将关系的每个元组与关系的每指将关系的每个元组与关系的每个元组的连接,组成新关系。个元组的连接,组成新关系。3.3.1 传统的集合运算传统的集合运算适用于适用于:将任意两个关系的信息无条件将任意两个关系的信息无条件组合在一起。组合在一起。关系关系 R关系关系结果结果例:例:
56、二个没有公共属性的关系的笛卡尔积。二个没有公共属性的关系的笛卡尔积。3.3.1 传统的集合运算传统的集合运算例:例:二个有共公属性的关系的笛卡尔积。二个有共公属性的关系的笛卡尔积。关系关系 R关系关系结果结果为为了了区区别别既既在在关关系系R中中又又在在关关系系S中中的的属属性性B, 对对来来自自R的属性用的属性用R.B表示表示, 对来自对来自S的属性用的属性用S.B表示。表示。专门的关系运算-选择n从关系中找出满足给定条件的所有元组称为选择。专门的关系运算-投影n从关系中选若干属性组成新的关系为投影。近期自学安排近期自学安排1.书上第三章、第六章书上第三章、第六章、第七章第七章2.从微软的网站上下载从微软的网站上下载MicrosoftSQLServer2005ExpressEdition,这是这是SQLServer2005的一个免费、易用、轻型的版本的一个免费、易用、轻型的版本。3.从微软的网站上下载从微软的网站上下载MicrosoftSQLServerManagementStudioExpress,这是一款免费、这是一款免费、易用的图形管理工具,用于管理易用的图形管理工具,用于管理SQLServerExpressEdition。100