




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章概述数据→处理→信息→分析/决策
数据库技术→数据管理最有效的手段。1.1数据库实例
学生选课数据库/网上书店数据库1.2基本知识
数据/数据库/数据库管理系统/数据库系统/数据管理技术1.3数据模型
概念/组成要素/分类1.4数据库系统的结构
模式结构
/体系结构11.1数据库实例1.1.1学生选课数据库2学号SNo姓名SName性别SSex年龄SAge电话SPhone照片SPhoto微信MInfoS00001杨康男2013666612316Xn.jpgXn123456S00002穆念慈女1913666612326Pj.jpgpj234567S00003欧阳克男2513666612336Ws.jpgWs345678S00004周伯通男2213666612346Wd.jpgWd456789表1.1学生Student1.1数据库实例1.1.1学生选课数据库3表1.2课程Course课程号CNo课程名CName先修课CPNo开课学期Seme学时Peri学分CredC001高等数学Null1644C002数据库原理C0033483C003Python语言C00124831.1数据库实例1.1.1学生选课数据库4表1.3选课StudentCourse学号SNo课程号CNo成绩Grade
学号SNo课程号CNo成绩GradeS00001C00199
S00002C00295S00001C00298
S00003C00188S00001C00396
S00003C00389S00002C00198
S00004C002991.1数据库实例1.1.2电子书店EBook
图书Book/客户Cust/出版社Press/购买Buy图书(书号,书名,作者,社号,版次,定价,进价,售价)Book(BNo,BName,Author,PNo,EditNo,Price,PPrice,SPrice)客户(户号,户名,性别,生日,电话,婚否,照片,邮箱)Cust(CNo,CName,CSex,Birth,Phone,Marry,Photo,Email)出版社(社号,社名,邮编,社址,电话,邮箱,网址)Press(PNo,PName,PCode,PAddr,Phone,Email,HPage)购买(户号,书号,购买日期)Buy(CNo,BNo,PDate)5图书Book书号BNo书名BName作者Author社号PNo版次EditNo定价Price进价PPrice售价SPriceISBN978-7-04-040664-1数据库系统概论王珊ISBN978-7-04539.62025ISBN978-7-302-33894-9Java程序设计教程雍俊海ISBN978-7-3023692636ISBN978-7-5612-2591-2图像技术韩培友ISBN978-7-56121361216ISBN978-7-5612-2123-1IDL可视化分析韩培友ISBN978-7-56121451922ISBN978-7-5178-0167-2Access数据库应用韩培友ISBN978-7-81140139.81619ISBN978-7-81140-582-8MySQL实验指导韩培友ISBN978-7-8114012510156客户Cust户号CNo户名CName性别CSex生日Birth电话Phone婚否Marry照片Photo邮箱EMailC001郭靖男1966-06-0113611122233是二进制数据Hu.Jpg123450@C002黄药师男1979-09-1013911122233是NULL543210@C003黄蓉女1988-10-0613622233355是NULL122220@C004洪七公男1999-06-1613922233355否NULL222220@C005梅超风女2002-07-1113655566699否NULL345220@C006梅超风女2006-08-0813955566699否NULL562220@7购买Buy户号CNo书号BNo购买日期PDate
户号CNo书号BNo购买日期PDateC001ISBN978-7-04-040664-12014-10-26
C002ISBN978-7-04-040664-12014-11-22C001ISBN978-7-302-33894-92014-06-16
C002ISBN978-7-302-33894-92014-08-12C001ISBN978-7-5612-2591-22010-01-12
C003ISBN978-7-5612-2591-22011-11-13C001ISBN978-7-5612-2123-12006-12-01
C005ISBN978-7-5612-2123-12008-10-09C001ISBN978-7-5178-0167-22014-03-19
C006ISBN978-7-5178-0167-22015-06-18C001ISBN978-7-81140-582-82012-09-15
C006ISBN978-7-81140-582-82013-10-178出版社Press社号PNo社名PName邮编PCode社址PAddr电话Phone邮箱EMail网址HPageISBN978-7-04高等教育出版社100120北京市西城区德外大街4号(010)58581118Gjdzfwb@ISBN978-7-302清华大学出版社100084清华大学学研大厦A座(010)62781733e-sale@www.tup.tsinghua.ISBN978-7-115人民邮电出版社100164北京市丰台区成寿寺路11号(010)81055075Youdianhr@ISBN978-7-5612西北工业大学出版社710072西安市友谊西路127号(029)88493844Fxb@ISBN978-7-81140浙江工商大学出版社310012杭州市教工路198号(0571)8882370361627291@9分析电子书店数据库:四张表
一张表是否可行?
数据只能以表的形式存储吗?
是否存在规范的数据结构来组织数据?思考:使用四张表优于使用一张表?请从多方面进行分析提示:
从数据冗余、插入异常、修改异常、删除异常等方面分析结论:对于实际应用,设计数据库中表的个数,规范每个表的属性个数以及每个属性的特征要求、约束条件和依赖关系等,最终实现安全稳定合理的数据库系统。
数据库技术会给出正确答案!101.2数据库技术基本知识对象:数据内容:
通过对数据的统一组织和管理,按照指定的数据结构建立相应的数据库;利用数据库管理系统实现对数据库的数据进行添加、修改、删除、查询、计算和报表等多功能的应用系统目的:利用数据库系统实现对数据的处理和分析概念:数据/数据库/数据库管理系统/数据库系统发展:人工管理/文件管理/数据库系统/数据仓库DW(数据挖掘DM)/大数据(BigData)111.2.1数据数据(Data):表示客观事物的符号分类:文本、图形、图像、音频、视频、动画等类型
文本→数值、字符、日期、时间、逻辑等类型例如:图书定价:39.6书名:图像技术生日:1966年6月6日(1966-6-6)婚否:是照片:Cat.jpg起飞时间:16时16分16秒(16:16:16)等121.2.1数据数值:表示年龄、工资和单价等大小多少的数据。例如:16,-10和26.6。字符:表示人名、地名和物品等名称的数据。例如:李明、杭州和图书。日期:表示工作日期、出生日期和入党日期等数据。例如:2016年6月6日。时间:表示上班时间、休息时间和开饭时间等数据。例如:10:12:19。逻辑:表示是否结婚、是否党员等逻辑判断结果的数据。例如:真和假。图形:表示直线、三角形和圆形等几何图形的数据。例如:正方形和五角星。图像:表示人物照片、风景照片和遥感图像等数据。例如:猫的照片Cat.jpg。音频:表示语音、声效和音乐等数据。例如:一段录音和飞机起飞的声音。视频:表示MTV和电影剪辑等数据。例如:精彩电影剪辑Robot.mpg。动画:计算机三维动画的数据。例如:Flash动画Fly.fla和3D动画Audi.3ds。13多媒体数据/信息多媒体数据:文本、图形、声音、图像、视频和动画等数据的集合,称为多媒体数据(Multimedia
Data)例如:网站及其网页和素材信息:信息来源于数据,数据是信息的载体。信息是数据处理后有价值的数据原始数据需要进行数据处理,才能成为真正有价值的信息141.2.2数据库数据库(DataBase,DB):长期存储在计算机内,有组织可共享的大量数据的集合。即:存放数据的电子仓库。数据库对所有的数据,按照指定的数据模型实行统一的组织、存储和管理。数据库独立于程序而存在,并提供给不同的用户共享。
例如:图书、客户、出版社和购买等组成电子书店数据库EBook特点:数据结构化存储、冗余度低,独立性高、共享和易扩展等多媒体数据库(Multimedia
DataBase,MDB):支持多媒体数据的数据库结果:数据库是数据的归宿。数据经过结构化处理,按照统一的数据结构存入数据库,进而实现数据共享。151.2.3数据库管理系统数据库管理系统(DataBaseManagementSystem,DBMS)是提供给用户,并帮助用户建立、使用和管理数据库的软件系统管理数据的软件;用于维护数据库、接受和完成用户提出的访问数据库的请求。例如:微软公司的SQLServer和Access、甲骨文公司的Oracle、IBM公司的DB2和开源的MySQL等目的:使用数据库,并对数据库中的数据进行数据处理和分析,数据库管理系统是帮助达到这一目的的工具和手段作用:DBMS作为数据库系统的核心,建立在操作系统OS之上,位于OS与用户之间的一个数据管理软件,负责对DB进行统一的管理和控制。保证了数据的安全性和完整性,同时提供了多用户并发控制和数据恢复机制。科学地组织和存储数据、高效地获取和维护数据16数据库管理系统的功能数据定义:用于定义数据的数据定义语言(DataDefinitionLanguage,DDL),利用DDL可以方便的定义数据库的数据对象及其关系数据操纵:用于操作数据的数据操纵语言(DataManipulation
Language,DML),利用DML可以灵活方便的对数据库进行插入、修改、删除、查询和报表等操作事务和运行管理:用于实现对数据库的安全性、完整性、并发性和恢复性等进行保护控制的数据控制语言(DataControlLanguage,DCL),以保证数据的安全和完整组织、存储和管理数据:实现对数据库的统一组织、存储和管理,确定数据库文件的存储结构和访问方式,减少数据冗余,提高数据库的利用率数据库的建立和维护:数据定义、操纵、控制和存贮的具体实现;数据库的备份与重组重构、性能监视与分析等维护任务171.2.4数据库系统数据库系统(DataBaseSystem,DBS):在计算机系统中引入数据库后,由数据库、数据库管理系统、开发工具、应用系统、数据库管理员和用户等构成的完整系统。组成:由硬件、软件和人员等三大部分组成硬件:计算机硬件和数据库专用硬件。计算机硬件:计算机的CPU、内存、硬盘、交换机和路由器等数据库专用硬件:快速存取数据的磁盘阵列、磁带阵列或者光盘阵列、快速传输设备和数据备份设备等软件:操作系统(OperatingSystem,OS)、DBMS、开发工具(程序设计语言和专用工具)和应用系统等人员:数据库设计员、程序员、数据库管理员和用户等。181.2.4数据库系统人员:数据库设计员、程序员、数据库管理员和用户等。数据库设计员:负责系统的需求分析、性能分析、概念结构、逻辑结构和物理结构设计等。程序员:主要负责应用系统的设计、实现和测试。数据库管理员(DataBaseAdministrator,DBA):对数据库进行建立、使用和维护等的专职管理人员。DBA应该与数据库设计员、程序员和用户,共同参与数据库设计。19DBA的职责决定数据库的信息内容和结构根据存储的数据,对数据库的信息内容和结构作统一的结构化处理。决定数据库的存储结构和存取策略:确定数据在存储设备上的存储结构和存取策略,提高存取效率和存储空间的利用率。定义数据的安全性和完整性约束:定义用户对数据库的存取权限、数据的保密级别和完整性约束条件,从而保证数据库的安全性和完整性监控数据库的使用和运行:DBA负责监视数据库系统运行的整个过程,并且及时处理运行过程中出现的问题。数据库的改进、重组和重构:分析系统运行的性能指标,根据实际情况,不断改进数据库设计。根据影响系统性能的因素,DBA有权定期对数据库进行重组织和重构造,以提高整个系统的性能。20数据库系统21用户1DB…
DBA数据库专用工具应用系统用户n程序设计语言DBMSOS开发工具数据库系统与计算机系统的关系22用户应用系统开发工具DBMSOS
硬件1.2.5
数据管理技术数据管理技术经历的阶段:人工管理文件管理数据库系统数据仓库大数据231.人工管理阶段利用原始计算机进行数据处理的初级阶段。程序员采用人工方式进行数据处理,数据处理的速度慢,准确性差。数据不保存,没有结构化
数据一般不予保存,而且没有经过统一结构化管理数据不能共享
一个应用程序对应一组数据集合,使得数据不能共享应用程序管理数据:计算机没有相应的软件管理数据,数据需要应用程序自行管理数据不具独立性:数据和程序不具有相互独立性,数据依赖于相应的应用程序。24人工管理阶段应用程序与数据集合之间的关系25应用程序1数据集合1应用程序n数据集合n••••••2.文件系统阶段数据以文件方式存储,对数据文件进行统一组织、存储和管理,加快了数据处理速度,提高了准确性。数据可以保存,没有结构化。数据可以长期保存,仍然没有经过统一结构化管理。数据不能共享。一个应用程序对应一组文件,使得数据文件不能共享。文件系统管理数据。尽管计算机提供了文件管理系统,对文件进行统一管理,但是每个应用程序仍然只能使用与自己相应的文件组。数据不具独立性:数据和程序不具有相互独立性,数据依赖于相应的应用程序。数据冗余高:由于数据不能共享,因此存在大量的冗余数据,浪费存储空间。26文件系统阶段应用程序与文件组之间的关系27…应用程序1文件组1应用程序n文件组n…文件管理系统3.数据库系统阶段数据结构化且易扩充。数据进行有组织的统一结构化管理,按照统一规范的结构进行永久存储,实现整体数据的结构化数据库管理系统管理数据。功能强大,对数据进行统一管理和控制;提供了数据安全性保护、数据完整性约束、多用户并发控制和数据库恢复等数据独立性高。真正实现程序和数据的分离管理,程序和数据既相互独立,程序又可以调用数据,从而具有较高的数据和程序的独立性。如果逻辑结构或者物理结构发生变化时,应用程序可以不改,或少该,减轻工作数据共享性高。数据面向整个系统,不面向应用程序,从而具有共享性数据冗余度低。由于数据可以共享,因此只需要保留较少的用于数据管理的冗余数据,从而节省了存储空间。28数据库系统阶段应用程序与数据库之间的关系29应用程序1应用程序n…数据库数据库管理系统1.3数据模型
概念
组成要素
分类301.3.1数据模型的概念数据模型(DataModel):实际问题的模拟和抽象。
针对实际问题,研究数据及其联系,并最终解决问题的方法和步骤(数据特征的抽象+描述/组织/操作数据)。例如:电子书店中图书进价的平均价格模型:结论:数据模型是一组概念、描述或者公式的集合。用数据模型可以抽象、表示和处理现实世界中客观事物的本质特征及其联系。特点:(1)真实模拟实际问题。(2)容易理解。(3)易于计算机实现。31
数据模型的组成要素组成:数据结构、数据操作和数据完整性约束等。1.数据结构
数据库中数据对象特性的静态描述。数据结构用于描述数据库的组成对象及其联系。即:数据对象及其特征的集合:数据对象的特性、类型和属性等。数据对象之间的联系:数据对象之间的一对一联系、一对多联系和多对多联系等。例如:在电子书店中,出版社的数据结构可以设计如下:出版社(社号,社名,邮编,社址,电话,邮箱,网址)32数据模型的组成要素2.数据操作数据操作:数据库中数据对象具体内容的动态描述。数据操作是对数据库中数据对象所执行的操作以及操作规则的集合。数据模型必须严格定义操作的确切含义、操作符号、操作规则以及实现操作的语言。即:(1)检索操作:数据对象的索引、排序和查询等。例如:在EBook中,对出版社按照“社号”建立索引。查询销售信息。(2)更新操作:数据对象的插入、修改和删除等。例如:在电子书店中,删除“购买”表中户号为“C005”的客户的购买信息。33数据模型的组成要素3.数据完整性约束数据完整性约束是为了确保数据的正确性和相容性,而对数据对象约定的一系列约束条件和约束规则。例如:在电子书店中,客户的性别只能是“男”或者“女”。数据完整性约束:实体完整性、参照完整性和用户定义完整性等。数据模型需要提供定义数据完整性的机制。341.3.3.数据模型的分类概念模型逻辑模型物理模型351.概念模型概念模型:数据及其关系的图形表示。利用专用描述工具,按照统一的描述方法,对实际问题抽象后,而建立的体现数据及其关系的结构模型。例如:E-R图专用描述工具:具有较强语义表达能力,且拥有统一的语法格式和描述方法,能够方便地表达应用中的各种语义。例如:实体-联系方法(Entity
Relationship
Approach,E-R方法)。特点:简单、清晰、易于理解,独立于DBMS等组成:实体、属性和联系等36(1)实体(Entity)实体(记录,元组):客观存在且相互区别的事物
实体可以是具体的人、事、物或者抽象对象等
例如:客户实体:户号,户名,性别,生日,手机,婚否,邮箱图书实体:书号,书名,作者,社号,版次,定价,进价、售价(C001,李明,男,1966-06-01是,123450@)(ISBN978-7-04-040664-1,数据库系统概论,王珊,ISBN978-7-04,5,39.6,25,20)实体集(表,关系):同类实体组成的实体集合例如:客户实体:户号,户名,性别,生日,手机,婚否,邮箱(C001,李明,男,1966-06-01是,123450@)(C002,吴光,男,1979-09-10是,543210@)(C003,王英,女,1988-10-06是,122220@)(C004,赵庆,男,1999-06-16否,222220@)(C005,李丽,女,2002-07-11否,345220@)(C006,李丽,女,2006-08-08否,562220@)37(2)属性(Attribute)属性(字段,数据项):实体所具有的特性。由多个属性来描述例如:户号特征:C001,C002,C003,C004,C005和C006
户名特征:李明,吴光,王英,赵庆,李丽和李丽例如:客户实体和图书实体的属性如下:客户实体(户号、户名、性别、生日、手机、婚否,邮箱)图书实体(书号、书名、作者、社号、版次、定价、进价和售价)域:属性的取值范围例如:户号的域:{C开头且后面为三位数字}
性别的域:{“男”,“女”}38(2)属性(Attribute)候选键/码(Candidate
Key,CK):区分实体的最小属性集候选键可以一个属性,或多个属性;一个实体集可以有多个候选键例如:出版社实体集的候选键有两个:社号和社名;因为出版社的社名一般不相同。客户实体集的候选键为户号。主键/码(Primary
Key,PK):被选中使用的候选键主键的取值唯一,且一个实体集只能有一个主键全键/码(AllKey,AK):实体集的所有属性组成候选键主属性:候选键的属性。非主属性:不包含在任何候选键中的属性型和值:属性和实体集均有型和值之分。属性型:描述了属性的本质特征。属性值:给出属性的具体数据。属性=属性型+属性值39实体集的型与值实体集型:描述同类实体的静态结构;实体集值:同类实体的具体数据
实体的所有属性构成实体集型;所有实体的属性值构成实体集值。
实体集=实体集型+实体集值属性名:每个属性的名称。表示属性的本质特性实体集名:实体集的名称。表示实体的本质特性实体集名和属性名二者一起共同组成实体集型;即:实体集的结构。例如:多个客户实体所组成的实体集的名称命名为“客户”。客户属性(户号,户名,性别,生日,手机,婚否,邮箱)共同组成客户实体集的型,即:客户(户号,户名,性别,生日,手机,婚否,邮箱)40实体集的型与值再如:多个图书实体所组成的实体集的名称可以命名为“图书”。图书实体集的属性(书号,书名,作者,社号,版次,定价,进价,售价)共同组成了图书实体集的型,即:图书(书号,书名,作者,社号,版次,定价,进价,售价)说明:在不引起混淆的情况下,如果没有特殊声明,通常使用“属性名”代替属性,实体名代替实体集例如:用“图书”代表“图书实体集”;用“客户”表示“客户实体集”。用属性名“书号”代表图书的一个属性(书号型+书号值);用属性名“户号”代表客户的一个属性(户号型+户号值)41(3)联系(Relationship)联系:实体集之间或实体集内部的关联关系。1:1;1:n;n:m
实体集与实体集之间(内部)存在一定联系。内部联系称为自联系例如:客户和图书之间存在客户购买图书的联系一对一联系(1:1):对于实体集A中的每一个实体,实体集B中有且只能有一个实体与之联系,反之亦然。例如:出版社与社长之间的联系;学校与校长之间的联系等。一对多联系(1:n):对于实体集A中的每一个实体,实体集B中有n(n≥2)个实体与之联系;反之,对于实体集B中的每一个实体,实体集A中有且只能有一个实体与之联系。例如:出版社与图书之间的联系;学院与班级之间的联系;班级与学生之间的联系等。42(3)联系(Relationship)多对多联系(m:n):对于实体集A中的每一个实体,实体集B中有n(n≥2)个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中有n(n≥2)实体与之联系多对多联系是一种复杂的联系例如:客户和图书之间的购买联系。因为一本电子图书可以卖给多个客户,而且一个客户可以购买多本图书。表1.4是客户和图书的联系再如:学生与课程之间的选修联系。因为一门课程可以供多个学生选修,而且一个学生可以选修多门课联系的属性:联系可以拥有属性。联系及其属性构成联系的完整描述例如:客户和图书之间的购买联系产生一个新属性:购买日期43E-R图E-R图:使用实体-联系方法所建立的用于描述概念模型中实体及其联系的图形。E-R图是概念模型的一种常用的表述方法。E-R图是一种概念模型。
E-R图简单易学,在DB设计中得到了广泛应用。详见第5章例如:在电子书店中,客户购买图书的概念模型(即:E-R图)如图1.6所示。44nm书号客户购买图书书名售价户号户名电话购买日期2.逻辑模型逻辑模型:概念结构的DBMS表示。即:为了能够用DBMS实现用户需求,将概念结构转化为适用于DBMS表示和实现的数据结构模型。例如:关系模式的集合。分类:层次模型、网状模型、关系模型和面向对象模型等。通常把相同特征的数据所组成的整体称为集合(例如:实体集)。集合之间或者集合内部通常存在着一定的联系。45(1)层次模型层次模型(HierarchicalModel):具有树型结构的数据模型(图1.7)
层次模型是最早出现的数据模型46记录集记录集记录集记录集…记录集记录集记录集………记录集(1)层次模型特点:存在唯一的没有双亲的根节点
非根节点均有唯一的双亲节点
记录集之间的联系是一对多联系。反映事物之间的一对多联系层次数据库:支持层次模型的数据库思考:层次模型的优缺点例如:学校的组织机构可以表示为如图1.8所示的层次模型。即:学校为根节点,其下级有两个孩子节点学院和处;学院又有两个孩子节点系和班级;处有一个孩子节点科。例如:1968年IBM公司的IMS(Information
ManagementSystem)47学校的组织机构(层次模型)48学校学院处系班级科(2)网状模型网状模型(NetworkModel):具有网状结构数据模型(图1.9)
网状模型是最复杂的数据模型。49记录集记录集11记录集记录集…记录集记录集记录集…记录集记录集记录集(2)网状模型特点:
可以存在多个没有双亲的节点。
节点可以有多个双亲节点。记录集之间的联系是多对多联系。反映事物之间的多对多联系网状数据库:支持网状模型的数据库思考:网状模型的优缺点例如:20~70年数据系统语言研究会的DBTG系统方案。HP公司的IMAGE。例如:速递公司需要管理车队、车辆和司机,车队需要聘任司机,车队需要拥有车辆,司机可以驾驶车辆,则速递公司的数据模型可以表示为如图所示的网状模型。50速递公司车队组织机构(网状模型)51车辆司机车队拥有聘用驾驶(3)关系模型关系模型(RelationalModel):具有规范二维表格结构数据模型
表1.1~表1.4:图书Book/客户Cust/出版社Press/购买BuyIBM公司的E.F.Codd于1970年首次提出关系数据库:支持关系模型的数据库。最流行的数据模型特点:关系模型结构简单,符合人类的思维方式,容易被接受和使用易于计算机实现容易从概念模型转换过来52(3)关系模型定义1.1
笛卡尔积:元组t(Tuple):分量(Component)t[Ai]:域:取值范围。所有元素的集合;度(Degree):属性个数n基数(CardinalNumber)(有限集合):笛卡尔积:用二维表格表示,每一列数据是类型相同的一个属性理论价值:针对实际问题,笛卡尔积的很多元组是没有意义的需要筛选出有实际意义的元组→关系53定义1.2关系关系:笛卡尔积的子集。关系名:关系的名称关系=关系型+关系值关系型:组成关系的属性型的集合。结构。关系值:组成关系的属性值的集合。即:元组的集合元组(实体,记录):关系值的每一行54定义1.2关系例1.1
如果客户的姓名和性别的取值如下:姓名={张三,李四,王五};性别={男,女}姓名和性别的笛卡尔积(图1.11)如下:姓名×性别={(张三,男),(张三,女),
(李四,男),(李四,女),
(王五,男),(王五,女)}姓名和性别组成的关系(不妨命名为:客户)如下:客户(姓名,性别)={(张三,男),(李四,女),(王五,女)}关系型:客户(姓名,性别)关系值:{("张三","男"),("李四","女"),("王五","女")}关系:笛卡尔积的一个子集,且具有实际意义(图1.11)55笛卡儿积与关系56
男
女
×张三
李四
王五姓名
性别
张三
男张三
女李四
男李四
女王五
男王五
女姓名
性别
张三
男李四
女王五
女
姓名性别
姓名×性别
客户(姓名,性别)定义1.3
关系模式关系模式:组成关系的关系型。即:关系的结构描述关系=关系模式+元组集合=关系模式+关系值关系与关系模式的关系:关系模式是关系型。关系的结构部分。关系特征的静态描述。关系模式决定关系,即:关系模式一旦确定,则关系的取值必须满足关系模式的类型和域的要求。关系模式是元组个数为0时的关系(空关系)关系是关系模式及其某一时刻的值所组成的整体。关系是关系模式下关系值的动态描述。一个关系模式对应多个关系。一个关系模式下,可以存在多个与之相应的关系,从而表现出关系模式在不同时刻的动态数据状态57定义1.3关系模式例如:二维表格由表头和表体组成。
表头就是关系模式,表体就是元组集合。思考:在例1.1中,添加年龄属性:年龄={16,18,19},则姓名×性别×年龄=?,姓名×性别×年龄中元组的个数是多少?构造一个有意义的客户关系:客户(姓名,性别,年龄)。58定义1.4关系数据库关系数据库:所有关系的集合。例如:电子书店的数据库(本书范例数据库):
电子书店EBook=R{图书Book,客户Cust,出版社Press,购买Buy}关系模型的特点:属性(或数据项)是同类型的不可再分的最小单位,即满足第一范式(1NF)。属性不能重名(即:不同的字段不能重名)。元组不能重复(即:不同的记录不能重复)。属性的顺序可以互换。元组的顺序可以互换。59定义1.4关系数据库例如:表1.5所示的图书价格表不是关系。因为属性“价格”又分为定价、进价和售价,所以“价格”不是不可再分的最小单位。表1.5不是规范的二维表,因为规范的表中不能嵌套子表。60书号书名作者价格定价进价售价ISBN978-7-04-040664-1数据库系统概论王珊39.62025ISBN978-7-302-33894-9Java程序设计教程雍俊海692636ISBN978-7-5612-2591-2图像技术韩培友361216ISBN978-7-5612-2123-1IDL可视化分析韩培友451922ISBN978-7-5178-0167-2Access数据库应用韩培友39.81619ISBN978-7-81140-582-8MySQL实验指导韩培友251015关系模型的组成层次组成层次:属性、元组、关系和数据库等。若干属性值组成元组,若干元组组成关系,若干关系组成数据库。规范的二维表是关系的常用表示方法。结论:关系模型具有结构简单清晰、表达能力强、易懂易用和拥有严谨数学理论支持等优点。使得它成为目前最流行的数据模型。61(4)面向对象模型面向对象模型(ObjectOrientedModel):20世纪80年代把面向对象程序设计(ObjectOrientedProgramming,OOP)方法和技术引入到数据库技术之后发展起来的新数据模型。面向对象模型不仅支持传统的数据库应用,而且支持CAD、OA和GIS等多媒体领域。遗憾的是面向对象模型没有推广成功。623.物理模型物理模型:数据的存储模型,用于描述数据在计算机内部的存储结构和存取方法的模型
物理模型是对数据最底层的抽象目的:利用合理的存储结构和存取策略,充分利用存储空间,实现快速存取,提高数据存取效率和存储空间利用率物理模型是逻辑模型的最终物理实现,为逻辑模型选取最适合的物理环境。概念模型、逻辑模型和物理模型的关系(图1.12)63逻辑模型物理模型概念模型
实际问题
1.4数据库系统的结构数据库系统模式结构从数据库管理系统角度分析数据库系统体系结构从最终用户角度分析641.4.1
数据库系统的模式结构模式结构:三级模式:外模式、模式和内模式二级映像:外模式/模式和模式/内模式65
DBMS
数据库外模式/模式映象模式/内模式映象应用应用应用应用应用应用外模式外模式外模式模式内模式操作系统1.三级模式(1)外模式外模式(子模式;用户模式):面向用户的数据库局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。它是局部应用数据的逻辑表示。一个数据库可以有多个外模式。不同的外模式反映了不同用户的应用需求、看待数据的方式、以及对数据保密的要求。模式中的同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同;外模式与应用的关系为一对多关系。同一外模式可以为用户的多个应用系统所使用,但是一个应用程序只能使用一个外模式。661.三级模式(2)模式模式(结构模式;逻辑模式):数据库中全部数据的整体逻辑结构和特征的描述,即数据库中数据的逻辑表示,是所有用户的公共数据视图,体现了数据库的总体特征。数据库模式是以某一种数据模型为基础,统一综合地考虑所有用户的需求,并将这些需求结合成为一个逻辑整体。一个数据库只能有一个模式。(3)内模式内模式(存储模式;物理模式):对数据库物理结构和存储方式的描述,是数据在数据库内部的组织存储方式。一个数据库只能有一个内模式。672.二级映像外模式/模式映像外模式/模式映像实现了用户级的数据库和逻辑层的数据库之间的转换,并通过映像提供的上下级服务把二者联系起来。外模式/模式映像的用途:保证数据的逻辑独立性。即:当模式发生改变时,数据库管理员修改有关的外模式/模式映像,使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,即数据的逻辑独立性。682.二级映像模式/内模式映像模式/内模式映像实现了逻辑层的数据库和物理层的数据库之间的转换,并通过映像提供的上下级服务把二者联系起来。模式/内模式映像的用途:保证数据的物理独立性。即:当数据库的存储结构发生改变时(例如:选用新的存储结构),数据库管理员修改模式/内模式映像,使模式保持不变,应用程序不受影响。保证了数据与程序的物理独立性,即数据的物理独立性。数据的逻辑独立性和数据的物理独立性合称为数据独立性。通过二级映像,保证了数据库系统的数据独立性,同时使用户使用数据库更加灵活方便。数据库系统的二级映像反映出了三级模式之间的相互关系:模式是内模式的逻辑表示;内模式是模式的物理实现;外模式则是模式的部分抽象和提取。69数据库系统模式结构的优点确保数据库的数据独立性确保数据库的安全性和保密性用户使用数据库更加灵感方便提高了数据库的共享性,减少了数据冗余701.4.2数据库系统的体系结构单用户数据库系统主从式数据库系统分布式数据库系统客户/服务器数据库系统浏览器/应用服务器/数据库服务器数据库系统等711.5小结数据、数据库、数据管理系统和数据库系统的概念及其关系数据管理阶段:人工管理阶段、文件系统阶段和数据库系统阶段数据库管理系统的功能数据库系统的组成。DBA的职责数据模型的概念和组成要素以及常用的数据模型:概念模型、逻辑模型(层次模型,网状模型,关系模型和面向对象模型)和物理模型数据库系统的模式结构与数据独立性研究内容:数据库理论研究、数据库设计、数据库管理系统的研发和数据库应用系统(Management
Info
System,MIS)的开发等72第2章关系运算关系数据语言基本集合运算
笛卡尔积/并集/差集/交集专用关系运算
选择/投影/连接/除运算更新运算综合实例查询优化
示例分析
/查询处理与查询优化/等价变换/优化规则/优化方法小结732.1关系数据语言关系数据语言:一种抽象的查询语言;关系代数/元组(域)关系演算特点:操作对象和操作结果都是集合74
常用运算:笛卡尔积、并集、差集、交集、选择、投影、连接、除运算符号:∪,∩,-,×,σ,π,÷,┒,∨,∧,≤,<,≥,>,=,≠,
2.1关系数据语言电子书店EBook
图书Book/客户Cust/出版社Press/购买Buy图书(书号,书名,作者,社号,版次,定价,进价,售价)Book(BNo,BName,Author,PNo,EditNo,Price,PPrice,SPrice)客户(户号,户名,性别,生日,电话,婚否,照片,邮箱)Cust(CNo,CName,CSex,Birth,Phone,Marry,Photo,Email)出版社(社号,社名,邮编,社址,电话,邮箱,网址)Press(PNo,PName,PCode,PAddr,Phone,Email,HPage)购买(户号,书号,购买日期)Buy(CNo,BNo,PDate)75图书Book书号BNo书名BName作者Author社号PNo版次EditNo定价Price进价PPrice售价SPriceISBN978-7-04-040664-1数据库系统概论王珊ISBN978-7-04539.62025ISBN978-7-302-33894-9Java程序设计教程雍俊海ISBN978-7-3023692636ISBN978-7-5612-2591-2图像技术韩培友ISBN978-7-56121361216ISBN978-7-5612-2123-1IDL可视化分析韩培友ISBN978-7-56121451922ISBN978-7-5178-0167-2Access数据库应用韩培友ISBN978-7-81140139.81619ISBN978-7-81140-582-8MySQL实验指导韩培友ISBN978-7-81140125101576客户Cust户号CNo户名CName性别CSex生日Birth电话Phone婚否Marry照片Photo邮箱EMailC001李明男1966-06-0113611122233是二进制数据Hu.Jpg123450@C002吴光男1979-09-1013911122233是NULL543210@C003王英女1988-10-0613622233355是NULL122220@C004赵庆男1999-06-1613922233355否NULL222220@C005李丽女2002-07-1113655566699否NULL345220@C006李丽女2006-08-0813955566699否NULL562220@77购买Buy户号CNo书号BNo购买日期PDate
户号CNo书号BNo购买日期PDateC001ISBN978-7-04-040664-12014-10-26
C002ISBN978-7-04-040664-12014-11-22C001ISBN978-7-302-33894-92014-06-16
C002ISBN978-7-302-33894-92014-08-12C001ISBN978-7-5612-2591-22010-01-12
C003ISBN978-7-5612-2591-22011-11-13C001ISBN978-7-5612-2123-12006-12-01
C005ISBN978-7-5612-2123-12008-10-09C001ISBN978-7-5178-0167-22014-03-19
C006ISBN978-7-5178-0167-22015-06-18C001ISBN978-7-81140-582-82012-09-15
C006ISBN978-7-81140-582-82013-10-1778出版社Press社号PNo社名PName邮编PCode社址PAddr电话Phone邮箱EMail网址HPageISBN978-7-04高等教育出版社100120北京市西城区德外大街4号(010)58581118Gjdzfwb@ISBN978-7-302清华大学出版社100084清华大学学研大厦A座(010)62781733e-sale@www.tup.tsinghua.ISBN978-7-115人民邮电出版社100164北京市丰台区成寿寺路11号(010)81055075Youdianhr@ISBN978-7-5612西北工业大学出版社710072西安市友谊西路127号(029)88493844Fxb@ISBN978-7-81140浙江工商大学出版社310012杭州市教工路198号(0571)8882370361627291@792.2基本集合运算
笛卡尔积
并集
差集
交集802.2.1笛卡尔积R×S:把R的每一个元组和S的每一个元组依次对接起来,对接后所生成的分量个数为n+m的所有元组的集合。属性:分量个数:R的分量个数和S的分量个数的和元组个数:R的元组个数和S的元组个数的乘积元组关系演算:域关系演算:812.2.1笛卡尔积例2.1
已知R和S,则R×S
=?笛卡尔积中包含有较多无意义的元组?82×姓名
性别
张良
男李丽
女年龄
成绩
189816991996姓名
性别
年龄
成绩
张良
男1898张良
男1699张良
男1996李丽
女1898李丽
女1699李丽
女1996
=(a)R(b)S(c)R×S2.2.2并集R∪S:具有相同属性的关系R和S中的所有元组的集合属性:分量个数:等于R的分量个数,或等于S的分量个数元组个数:小于等于k1+k2。k1和k2分别为R和S的元组的个数元组关系演算:域关系演算:832.2.2并集例2.2已知R和S,则R∪S
=?84=∪RSR∪S姓名
性别
张良
男李丽
女姓名
性别
张良
男李丽
女王海
男
姓名
性别
李丽
女王海
男
2.2.3差集R−S:具有相同属性的关系R和S中属于R,但不属于S的所有元组的集合属性:分量个数:等于R的分量个数,或等于S的分量个数元组个数:小于等于k1。k1为R的元组的个数元组关系演算:域关系演算:852.2.3差集例2.3已知R和S,则R─S
=?86=─RSR─S姓名
性别
张良
男李丽
女姓名
性别
张良
男
姓名
性别
李丽
女王海
男
2.2.4交集R∩S:具有相同属性的关系R和S中相同元组的集合属性:分量个数:等于R的分量个数,或等于S的分量个数元组个数:小于等于Min(k1,k2)。K1,k2分别为R和S的元组的个数元组关系演算:域关系演算:872.2.4交集例2.4已知R和S,则R∩S
=?88=∩RSR∩S姓名
性别
张良
男李丽
女姓名
性别
李丽
女
姓名
性别
李丽
女王海
男
综合示例例2.5关系R和关系S及其并集、交集、差集和笛卡尔积89XYZ222255552XYZ255265552R.XR.YR.ZS.XS.YS.Z222255222265222552255255255265255552552255552265552552R×SXYZ222XYZ222255552265XYZ255552RSR-SR∪SR∩S2.3专用关系运算
选择
投影
连接
除运算90选择选择(Selection):在R中选择出满足给定条件的元组。关系代数:
是逻辑表达式属性:分量个数:等于R的元组的分量个数。元组个数:小于等于k1。k1是R的元组的个数。元组关系演算:域关系演算:91选择例2.6从关系R中,查询90分以上(不含90分)的女生92姓名
性别
年龄
成绩王娟
女1996孙丽
女1898姓名
性别
年龄
成绩张军
男1888李明
男1699王娟
女1996孙丽
女1898R选择例2.7查询“高等教育出版社”的出版社信息93
选择例2.8查询作者是“王珊”,或者售价大于等于15且小于25的图书信息94
2.3.2投影投影(Projection):在R中选择出若干属性列组成的关系关系代数:属性:A中的属性分量个数:等于A中的属性的个数。元组个数:小于等于k1。k1是R的元组的个数。因为要去掉重复元组。元组关系演算:域关系演算:952.3.2投影例2.9从关系R中,查询所有人的姓名和性别96姓名
性别
年龄
成绩
张军
男1888李明
男1699王海
女1996孙丽
女1898姓名
性别
张军
男李明
男王海
女孙丽
女2.3.2投影例2.10从R中,查询所有90分以上(不含90分)的女生的姓名和性别97姓名
性别
年龄
成绩
张军
男1888李明
男1699王海
女1996孙丽
女1898姓名
性别
王海
女孙丽
女2.3.2投影例2.11查询图书的书名、作者和定价98
2.3.2投影例2.12查询客户的户名和电话99
2.3.3连接连接(Join):把两个关系按照连接条件进行连接后生成一个新关系的过程。即:根据指定的连接条件,依次检测R和S中的每一个元组,如果R中的某个元组与S中的某个元组满足了连接条件,则把这两个元组对接起来,而最终所有对接后的元组的集合即为R和S的连接。100连接方法和连接过程嵌套循环法(NestedLoop)首先在R中找到第一个元组,然后从头开始扫描S逐一查找满足连接件的元组,找到后就将R中的第一个元组与该元组拼接起来,形成结果关系中一个元组。S全部查找完后,再找R中第二个元组,然后再从头开始扫描S,逐一查找满足连接条件的元组,找到后就将R中的第二个元组与该元组拼接起来,形成结果表中一个元组。重复上述操作,直到R中的全部元组都处理完毕。排序合并法(SortMerge)首先按连接属性对R和S排序。对R的第一个元组,从头开始扫描S,顺序查找满足连接条件的元组,找到后就将R中的第一个元组与该元组拼接起来,形成结果关系中一个元组。当遇到S中第一条大于R连接字段值的元组时,对S的查询不再继续。找到R的第二个元组,然后从刚才的中断点处继续顺序扫描S,查找满足连接条件的元组,找到后就将R中的第二个元组与该元组拼接起来,形成结果关系中一个元组。直接遇到S中大于R连接字段值的元组时,对S的查询不再继续。重复上述操作,直到R或S中的全部元组都处理完毕为止。101连接方法和连接过程索引连接(IndexJoin)对S按连接字段建立索引对R的每个元组,依次根据其连接字段值查询S的索引,从中找到满足条件的索引值,进而在S中找到与之对应的元组,找到后就将R中的第一个元组与该元组拼接起来,形成结果表中一个元组;依次进行下去,直到结束。102连接关系代数:R和S的笛卡尔积中选择出满足条件的元组。R和S笛卡尔积的选择操作;由笛卡尔积和选择运算导出属性:分量个数:等于R和S分量个数的和元组个数:小于等于k1×k2。k1是R的元组的个数;k2是S的元组的个数元组关系演算:
域关系演算:103等值连接和自然连接等值连接:连接条件取相等的连接运算自然连接:去掉重复属性列的等值连接区别与联系:等值连接和自然连接都是要求属性间按照等值进行连接,而自然连接要求两个关系中相等的分量必须是相同的属性组而等值连接不需要,且自然连接要在结果中把重复的属性列去掉而等值连接不需要104
连接示例例2.14已知R和S,则R和S的条件(C<D)连接、等值连接和自然连接105ABCa1b15a2b16a3b27a4b39AR.BCS.BDa1b15b26a1b15b49a2b16b49a3b27b49
BDb13b26b33b49ABCDa1b153a2b163a3b276a4b393
AR.BCS.BDa1b15b13a2b16b13a3b27b26a4b39b33
RS连接示例例2.15查询作者是“王珊”的书名、定价、社名和电话106
关系代数:
元组演算:域演算:
除关系R与S的除运算:已知关系R(X,Y)和S(Y,Z),R与S的除运算的结果是一个属性组为X的关系P(X),并且满足:对于P(X)中的元组p,R中在X上的投影值等于p的诸元组,在Y上的投影包含S在Y上的投影。关系代数:R
S属性:X分量个数:X的分量个数元组个数:小于等于k1。k1是R的元组的个数关系演算:107除例2.17已知关系R与S,则R
S=?108
AB
1
2
3
1
1
1
3
4
2B12A
RS除例2.19已知关系R与S,则R
S=?
109XYZx2y2z4x4y6z6x6y8z5x2y4z6x8y5z5x4y4z6x2y4z2x3y3z6x1x1z3YZWy2z4w2y4z2w2y4z6w5XX2RSR
S计算方法1)计算2)计算
即:计算T×S中不在R中的元组3)计算4)计算110除例2.20对于关系R和S,则R÷S的计算过程111除例2.16已知成绩Grade和条件Cond,在Grade中选择满足条件的学生Result,即在Grade中选择高等数学和数据结构均为A的学生信息112对于Grade在SName、SSex和SDept上的投影的一个元组t,如果Grade中在SName、SSex和SDept上的投影值等于t的诸元组,在CName和Grade上的投影包含Cond中的元组,则该元组t
是一个结果元组(t
Grade÷Cond)。所有这样的t就组成了Grade÷CondSNameSSexCNameSDeptGrade李思
男
高等数学
计算机A刘英
女
高等数学
数学
B吴康
男
高等数学
计算机A王晶
女
数据结构
数学
A吴康
男
英语
计算机B王晶
女
高等数学
数学
ACNameGrade高等数学A数据结构ASNameSSexSDept王晶
女
数学除例2.18查询至少购买书号是ISBN978-7-04-040664-1和ISBN978-7-302-33894-9的两本书的客户的户号。113
BNoISBN978-7-04-040664-1ISBN978-7-302-33894-92.4更新运算插入运算(Insert):首先用需要插入的元组,创建一个与R同属性的临时关系T,然后计算修改运算(Update):首先用差运算把需要修改的元组从R中删除,得到
;然后利用元组的更新数据创建一个与
同属性的临时关系
,最后计算删除运算(Delete):首先从R中选择出需要删除的元组,并构造一个临时关系
,创建一个与R同属性的临时关系T,然后计算1142.5综合实例例2.21查询Book、Cust、Buy和Press的笛卡尔积(不难看出,该查询没有实际意义)115
2.5综合实例例2.22查询客户、图书和出版社的详细信息及其所有购买信息116BookCustBuyPress2.5综合实例例2.23查询图书的书名、作者、社名和售价117πBName,A𝑢thor,PName,SPrice(BookPress)2.5综合实例例2.24查询图书的书名、作者、售价、社名和购买图书的客户姓名118πBName,Author,SPrice,PName,CName(BookCustBuyPress)2.5综合实例例2.25查询客户李明购买的作者是韩培友的出版社是浙江工商大学出版的图书的户名、书名、作者、定价、售价、社名和购买日期119πCName,BName,Author,PName,Price,SPrice,PName,PName
(
σBName=‘李明’∧Author=‘韩培友’∧PName=‘浙江工商大学出版社’
(
BookCustBuyPress))
2.5综合实例例2.26查询购买王珊或者雍俊海书的客户的户号和户名120思
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校维修施工合同范本
- 灯具买卖全款合同范本
- 卫生护理合同范本
- 矿山监控施工合同范本
- 餐厅店面股份合同范本
- 公积金组合贷款合同范本
- 锅炉采购简易合同范本
- 建筑木工材料合同范本
- 委托劳务公司合同范本
- 包车合同范本
- 全国中学教师《初中数学》说课教学比赛-主题:《等腰三角形的性质》说课-一等奖课件
- 2024年工会财务知识竞赛试题及答案
- 26个英语字母描红练习(素材)-小学英语
- DL∕T 686-2018 电力网电能损耗计算导则
- 糖尿病医疗广告宣传指南
- 2023年河南省中考数学试卷及答案
- 中外民歌欣赏(高中音乐课件)
- Revit-基础教程课件
- 大学美育(第二版) 课件 第五单元:书法艺术
- 消防工程技术咨询合同
- 从《史记》看司马迁的命运观
评论
0/150
提交评论