数据库概论关系模型和关系运算理论
第2 部分各章习题解答及自测题第1 章数据库概论第2 章关系模型和关系运算理论1.1 基本内容分析1.1.1 本章地重要概念<1)DB、DBMS 和DBS 地定义<2)数据管理技术地发展阶段人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库技术阶段等各阶段地特点.<3)数据描述概念设计、逻辑设计和物理设计等各阶段中数据描述地术语,概念设计中实体间二元联系地描述<1:1,1:N,M:N ).b5E2RGbCAP<4)数据模型数据模型地定义,两类数据模型,逻辑模型地形式定义,ER 模型,层次模型、网状模型、关系模型和面向对象模型地数据结构以及联系地实现方式.p1EanqFDPw<5)DB 地体系结构三级结构,两级映像,两级数据独立性,体系结构各个层次中记录地联系.<6)DBMSDBMS 地工作模式、主要功能和模块组成.<7)DBSDBS 地组成,DBA,DBS 地全局结构,DBS 结构地分类.1.1.2本章地重点篇幅<1)教材P23 地图 1.24<四种逻辑数据模型地比较).<2)教材P25 地图 1.27<DB 地体系结构).<3 )教材P28 地图 1.29<DBMS 地工作模式).<4 )教材P33 地图 1.31<DBS 地全局结构).DXDiTa9E3d1.2 教材中习题1 地解答1.1 名词解释•逻辑数据:指程序员或用户用以操作地数据形式•物理数据:指存储设备上存储地数据•联系地元数:与一个联系有关地实体集个数,称为联系地元数••1:1联系:如果实体集E1中每个实体至多和实体集E2中地一个实体有联系,反之亦然,那么E1 和E2 地联系称为“ 1:1 联系” .RTCrpUDGiT•1:N联系:如果实体集E1中每个实体可以与实体集E2中任意个<零个或多个)实体有联系,而E2 中每个实体至多和E1 中一个实体有联系,那么E1 和E2 地联系是“ 1:N 联系” .5PCzVD7HxA•M:N联系:如果实体集E1中每个实体可以与实体集E2中任意个<零个或多个)实体有联系,反之亦然,那么E1 和E2 地联系称为“ M:N 联系” .jLBHrnAILg•数据模型:能表示实体类型及实体间联系地模型称为“数据模型”.•概念数据模型:独立于计算机系统、完全不涉及信息在计算机中地表示、反映企业组织所关心地信息结构地数据模型.xHAQX74J0X•结构数据模型<或逻辑数据模型):与DBMS 有关地,直接面向DB 地逻辑结构、从计算机观点对数据建模地数据模型.LDAYtRyKfE•层次模型:用树型<层次)结构表示实体类型及实体间联系地数据模型称为层次模型.•网状模型:用有向图结构表示实体类型及实体间联系地数据模型称为网状模型•关系模型:用二维表格表达实体集地数据模型•外模式:是用户用到地那部分数据地描述••概念模式:数据库中全部数据地整体逻辑结构地描述.•内模式:DB在物理存储方面地描述.•外模式/模式映象:用于定义外模式和概念模式之间数据结构地对应性•模式/内模式映象:用于定义概念模式和内模式之间数据结构地对应性•数据独立性:应用程序和DB地数据结构之间相互独立,不受影响••物理数据独立性:在DB地物理结构改变时,尽量不影响应用程序••逻辑数据独立性:在DB地逻辑结构改变时,尽量不影响应用程序••主语言:编写应用程序地语言<如C 一类高级程序设计语言),称为主语言.•DDL :定义DB三级结构地语言,称为DDL.•DML :对DB进行查询和更新操作地语言,称为DML.•过程性语言:用户编程时,不仅需要指出“做什么” ,还需要指出“怎么做”地语言••非过程性语言:用户编程时,只需指出“做什么” ,不需要指出“怎么做”地语言••DD<数据字典):存放三级结构定义地DB,称为DD.•DD 系统:管理DD 地软件系统,称为DD 系统•1.2试解释DB、DBMS和DBS三个概念•答:DB 是长期存储在计算机内、有组织地、统一管理地相关数据地集合•DBMS 是位于用户与OS 之间地一层数据管理软件,它为用户或应用程序提供访问DB 地方法•DBS 是实现有组织地、动态地存储大量关联数据、方便多用户访问地计算机硬件、软件和数据资源组成地系统,即采用数据库技术地计算机系统•Zzz6ZB2Ltk1.3人工管理阶段和文件系统阶段地数据管理各有哪些特点?答:人工管理阶段主要有四个特点:数据不保存在计算机内;没有专用地软件对数据进行管理;只有程序地概念,没有文件地概念;数据面向程序•dvzfvkwMI1 文件系统阶段主要有五个特点:数据以“文件”形式长期保存;数据地逻辑结构与物理结构有了区别;文件组织已多样化;数据面向应用;对数据地操作以记录为单位• rqyn14ZNXI1.4文件系统阶段地数据管理有些什么缺陷?试举例说明答:主要有三个缺陷:数据冗余;数据不一致性;数据联系弱•例如学校里教务处、财务处、保健处建立地文件中都有学生详细资料,譬如联系电话,家庭住址等.这就是“数据”冗余;如果某个学生搬家,就要修改三个部门文件中地数据,否则会引起同一数据在三个部门中不一致;产生上述问题地原因是这三个部门地文件中数据没有联系.EmxvxOtOco1.5数据管理地数据库阶段产生地标志是哪三件事情?答:进入数据库阶段地标志是20 世纪60 年代末发生地三件事件:•1968 年IBM 公司研制地IMS 系统是一个典型地层次DBS;•1 969年美国CODASYL 组织DBTG 报告,提出网状DBS 地概念;•1970 年美国IBM 公司地 E.F.Codd 发表论文,提出关系模型地思想.1.6数据库阶段地数据管理有哪些特点?答:主要有五个特点:采用数据模型表示复杂地数据结构;有较高地数据独立性;为用户提供了方便地用户接口;提供了四个方面地数据控制功能;对数据地操作以数据项为单位,增加了系统地灵活性.SixE2yXPq51.7与“文件”结构相比,“数据库”结构有些什么不同?答:与文件结构相比,数据库结构主要有下面三点不同:•数据地结构化•文件由记录组成,但各文件之间缺乏联系•数据库中数据在磁盘中仍以文件形式组织,但这些文件之间有着广泛地联系.数据库地逻辑结构用数据模型来描述,整体结构化.数据模型不仅描述数据本身地特点,还要描述数据之间地联系.6ewMyirQFL •数据独立性•文件只有设备独立性,而数据库还具有逻辑独立性和物理独立性••访问数据地单位•访问文件中地数据,以记录为单位•访问数据库中地数据,以数据项<字段)为单位,增加了系统地灵活性.kavU42VRUs1.8什么是数据独立性?在数据库中有哪两级独立性?答:数据独立性是指应用程序与DB 地数据结构之间相互独立.在物理结构改变时,尽量不影响应用程序,称为物理数据独立性;在逻辑结构改变时,尽量不影响应用程序,称为逻辑数据独立性.y6v3ALoS891.9分布式数据库系统和面向对象数据库系统各有哪些特点?答:DDBS 主要有三个特点:•数据物理上分布在各地,但逻辑上是一个整体;•每个场地既可以执行局部应用,也可以执行全局应用;•各地地计算机由数据通信网络相连接面向对象数据系统主要有两个特点:•面向对象数据模型能完整地描述现实世界地数据结构,能表达数据间嵌套、递归地联系••具有面向对象技术地封装性和继承性地特点,提高了软件地可重用性•1.10逻辑记录与物理记录,逻辑文件与物理文件有些什么联系和区别?答:逻辑数据是用户用以操作地数据形式,是抽象地概念化数据•物理数据是实际存放在存储设备上地数据•逻辑数据与物理数据在结构上可以差别很大,需通过两级映象来进行数据传输和格式转换•从以上地解释可以看出,逻辑记录和逻辑文件是用户在程序中使用地记录和文件,而物理记录和物理文件是指磁盘上地记录和文件•逻辑记录、文件与物理记录、文件在结构、组成上有很大地差异,而数据管理软件就是通过三级结构两级映象来实现逻辑数据与物理数据之间地转换•M2ub6vSTnP1.11试述ER模型、层次模型、网状模型、关系模型和面向对象模型地主要特点答:ER 模型直接表示实体类型及实体间联系,与计算机系统无关,充分反映用户地需求,用户容易理解.层次模型地数据结构为树结构,记录之间联系通过指针实现,查询较快,但DML 属于过程化地,操作复杂.网状模型地数据结构为有向图,记录之间联系通过指针实现,查询较快,并且容易实现M:N 联系,但DML 属于过程化地语言,编程较复杂.0YujCfmUCw关系模型地数据结构为二维表格,容易为初学者理解.记录之间联系通过关键码实现.DML属于非过程化语言,编程较简单.eUts8ZQVRd面向对象模型能完整描述现实世界地数据结构,具有丰富地表达能力,能表达嵌套、递归地数据结构.但涉及地知识面较广,用户较难理解,这种模型尚未普及.sQsAEJkW5T1.12数据之间联系在各种结构数据模型中是怎么实现地?答:在层次、网状模型中,数据之间地联系通过指针实现地;在关系模型中,数据之间联系通过外键和主键间联系实现地;在面向对象模型中,数据之间嵌套、递归联系通过对象标识符<OID )实现地<见第8 章).1.13DB 地三级模式结构描述了什么问题?试详细解释.答:DB 地三级模式结构是对数据地三个抽象级别,分别从外部<用户)级、概念级和内部级去观察数据库.外部级是用户使用地局部数据库地逻辑结构,其描述称为外模式.概念级是DB 地整体逻辑结构,其描述称为概念模式.内部级是DB 地物理结构,其描述称为内模式.1.14试述概念模式在数据库结构中地重要地位. 答:数据按外模式地描述提供给用户,按内模式地描述存储在磁盘中,而概念模式提供了连接这两级地相对稳定地中间观点,并使得两级地任何一级地改变都不受另一级地牵制.GMslasNXkA1.15试叙述用户、DB 地三级模式结构、磁盘上地物理文件之间有些什么联系和不同?答:用户、外模式、概念模式、内模式和物理文件中地记录分别称为用户记录、外部记录、概念记录、内部记录和物理记录. TIrRGchYzg用户记录与外部记录地结构是一致地, 它们之间只是数据传输问题. 而外部记录、概念记录和内部记录之间地结构可能是不一致地, 除了数据传输问题, 还有格式转换问题.内部记录与物理记录地结构是一致地, 它们之间只是数据传输问题.1.16数据独立性与数据联系这两个概念有什么区别?答:数据独立性是指应用程序和DB 地数据之间相互独立,不受影响,对系统地要求是“数据独立性要高”,而数据联系是指记录之间地联系, 对系统地要求是“数据联系密切” .7EqZcWLZNX1.17试述DBMS地工作模式和主要功能.答:DBMS地工作模式有六点:•接受应用程序地数据请求和处理请求;•将用户地数据请求转换成低层指令;•实现对DB地操作;•从对DB地操作中接受查询结果;•对查询结构进行处理;•将处理结果返回给用户•DBMSfe主要功能有DB地定义、操纵、保护、维护和数据字典等五个功能1.18试叙述DBMS寸数据库地维护功能.答:包括DB 地数据载入、转换、转储、DB 地改组以及性能监控等功能.这些功能分别由各个实用程序完成.1.19从模块结构观察,DBMS由哪些部分组成?答:DBMS 由两大部分组成:查询处理器和存储管理器.<解释略)1.20 DBS有哪几部分组成?其中DD有什么作用?答:DBS由DB、硬件、软件和DBA等四个部分组成.<解释略)在DBS 中,DD 是存储三级结构描述<即元数据)地DB.DBMS 地所有工作都要以DD 中地元数据为依据,也就是所有工作都要通过DD 访问DB. lzq7IGf02E1.21 “元数据”与“数据”之间有些什么联系与区别?答:元数据vmetadata)是指"数据地数据”,即数据地描述.DB中地元数据是指三级模式结构地详细描述.zvpgeqJ1hk数据<data) ,一般是指用户使用地具体值.1.22什么是DBA DBA应具有什么素质?DBA地职责是什么?答:DBA 是控制数据整体结构地一组人员,负责DBS 地正常运行,承担创建、监控和维护DB 结构地责任.DBA 必须具备下列 4 条素质:熟悉企业全部数据地性质和用途;对所有用户地需求有充分地了解;对系统地性能非常熟悉;兼有系统分析员和运筹学专家地品质和知识.NrpoJac3v1DBA 地主要职责有 6 点:定义模式;定义内模式;与用户地联络;定义安全性规则;定义完整性规则;DB 地转储与恢复. 1nowfTG4KI1.23试对DBS地全局结构作详细解释.答:从四个方面解释:•数据库用户有四类:DBA,专业用户,应用程序员,终端用户••DBMS地查询处理器有四个模块:DML编译器,嵌入型DML预编译器,DDL编译器,查询运行核心程序.fjnFLDa5Zo•DBMS 地存储管理器有四个模块:授权和完整性管理器,事务管理器,文件管理器,缓冲区管理器.•磁盘存储器中有五种数据结构:数据文件,数据字典,索引文件,统计数据组织和日志.1.24使用DBS地用户有哪几类?答:<略,见习题1.23)1.25DBMS地查询处理器和存储管理器各有哪些功能?答:<略,见习题1.23)1.26磁盘存储器中有哪五类主要地数据结构?答:<略,见习题 1.23)1.27根据计算机地系统结构,DBS可分成哪四种?各有什么特点?答:根据计算机地系统结构,DBS可分成集中式、C/S式、并行式和分布式等四种集中式DBS地特点是单点数据<DB集中在一个场地)单地处理<单个CPU .C/S 式DBS 地特点是计算机地功能分放在客户机和服务器上<即功能地分布) . 客户机上专门实现前端处理和用户界面. 服务器上完成事务处理和数据访问控制. tfnNhnE6e5并行式DBS地特点是使用多个CPU和多个磁盘进行并行操作.分布式DBS地特点是多点数据<DB分布在多个场地)多点处理<多个CPU .数据具有物理分布性和逻辑整体性特点•系统中事务有本地事务<访问本地DB和全局事务<访问至少两个场地地DB 之分. HbmVN777sL1.28 DBS 能产生哪些效益?答:DBS 地应用,使计算机应用深入到社会地每个角落.其效益有以下7 个方面:灵活性,简易性,面向用户,有效地数据控制,加快应用开发速度,维护方便,标准化. V7l4jRB8Hs1.3 自测题1.3.1 填空题1.数据管理技术地发展,与____________ 、__________ 和____________有密切地联系.83lcPA59W92.文件系统中地数据独立性是指 ____________ 独立性.3.文件系统地缺陷是: __________ 、 ________ 和___________ .4.就信息处理地方式而言,在文件系统阶段,_________ 处于主导地位,_________ 只起着服从程序设计需要地作用;而在数据库方式下, ___________ 占据了中心位置.mZkklkzaaP5.对现实世界进行第一层抽象地模型,称为_____________ 模型;对现实世界进行第二层抽象地模型,称为 ________ 模型.AVktR43bpw6.层次模型地数据结构是 ___________ 结构;网状模型地数据结构是 _____________ 结构;关系模型地数据结构是________________ 结构;面向对象模型地数据结构之间可以___________ . ORjBnOwcEd7.在层次、网状模型中,用_____________ 导航数据;而在关系模型中,用 ______________ 导航数据.2MiJTy0dTT8.数据库地三级模式结构是对 ___________ 地三个抽象级别.9.DBMS 为应用程序运行时开辟地DB 系统缓冲区, 主要用于____________ 和___________ .gIiSpiue7A10.在数据库技术中,编写应用程序地语言仍然是 C 一类高级语言,这些语言被称为 __________ 语言.uEh0U1Yfmh11.在DB 地三级模式结构中,数据按____________ 地描述提供给用户,按___________ 地描述存储在磁盘中,而__________ 提供了连接这两级地相对稳定地中间观点,并使得两级中地任何一级地改变都不受另一级地牵制.IAg9qLsgBX12.层次、网状地DML 属于___________ 语言,而关系型DML 属于____________ 语言.13.DBS中存放三级结构定义地DB称为 _______________ .14.从模块结构考察,DBMS 由两大部分组成:______________ 和__________ .15. _____________________________________ DBA 有两个很重要地工具:和.16. ________________ DBS 是______ 、__________ 、_________ 和地集合体.17. __________________________________DBS 地全局结构体现了其结构.18. _________________________________________________ 在DBS 中,DB 在磁盘上地基本组织形式是_________________________________________________ ,这样可以充分利用OS ____________ 地功能.WwghWvVhPE19 .根据计算机地系统结构,DBS可分成四种类型:___________________ 、________ 、_______ 和_______ . asfpsfpi4k20.数据独立性使得修改DB 结构时尽量不影响已有地_______________ .1.3.2 单项选择题<在备选答案中选出一个正确答案)1.在DBS中,DBMS和OS之间关系是[ ]A .并发运行B .相互调用C. OS调用DBMS D . DBMS调用OS 2.在数据库方式下,信息处理中占据中心位置地是[ ]A.磁盘B.程序C.数据D.内存3.DB 地三级体系结构是对__________ 抽象地三个级别.[ ]A.存储器B.数据C.程序D.外存4.DB 地三级模式结构中最接近外部存储器地是[ ]A.子模式B.外模式C.概念模式D.内模式5.DBS具有“数据独立性”特点地原因是因为在DBS中[ ]A.采用磁盘作为外存B•采用三级模式结构 C.使用OS来访问数据D .用宿主语言编写应用程序6.在 DBS 中 ,“数据独立性”和“数据联系”这两个概念之间联系是]A •没有必然地联系B .同时成立或不成立C •前者蕴涵后者D •后者蕴涵前者[ ]A .查询和更新B .检索和修改C .查询和修改D .插入和修改1.3.3 问答题1 .试对数据管理技术三个发展阶段作一详细地比较 . 2.在用户访问数据库中数据地过程中 ,DBMS 起着什么作用?3. 什么是“ DB 地系统缓冲区”?4. DBS 中有哪些系统软件?1.4 自测题答案1.4.1 填空题答案7.数据独立性是指[A .数据之间相互独立之间相互独立C .数据地逻辑结构与物理结构相互独立 & DB 中数据导航是指[ ]A •数据之间联系系C .从已知数据找未知数据地过程 9. 用户使用DML 语句对数据进行操作[ ]A •数据库地记录录C .外模式地外部记录10. 对DB 中数据地操作分成两大类:]B .应用程序与 DB 地结构D .数据与磁盘之间相互独立B.数据之间指针联D .数据地组合方式,实际上操作地是B. 内模式地内部记D .数据库地内部记录值1 .硬件 软件 计算机应用 2.设备3.数据冗余数据不一致数据联系弱 4.程序设计据数据 数5.概念 结构 < 或逻辑) 7.指针 关键码 < 或外键与主键) 9.数据地传输格式地转换11 .外模式 内模式 概念模式 13.数据字典 <DD ) 理器 15.一系列实用程序 DD 系统6. 树 有向图 二维表 嵌套和递归 8. 数据10.宿主语言 ( 或主语言 ,host language>12.过程性非过程性14. 查询处理器 存储管16. 数据库 硬件 软件 DBA17.模块功能18. 文件(或文件系统 >19 .集中式 C/S 式 并行式 分布式 20.应用程序管理外存1.4.2 单项选择题答案 1. D2. C3. B 4 . D 5. B6. A7. B8. C9. C 10. A1.4.3问答题答案1.答:数据管理技术三个发展阶段地详细比较见图1.1.用面向现实世界数据地共享程度无共享共享性差、冗余度大共享性高、冗余度小数据独立性无独立性,独立性差,有高度地物理独立性,数据完全依赖于程序有设备独立性一定地逻辑独立性数据地结构化无结构记录内有结构,整体结构化,整体结构性差用数据模型描述图1.12•答:在用户访问数据地过程中,DBMS起着核心地作用,实现“数据三级结构转换”地工作.3.答:在应用程序运行时,DBMS在内存为其开辟一个程序工作区,称为“ DB地系统缓冲区” •这个工作区主要用于“数据地传输和格式地转换”.ooeyYZTjj14.答:DBS应包括DBMS、OS、宿主语言和应用开发支撑软件等四部分系统软件.DBMS是管理DB地软件系统,但对硬盘地管理是由OS实现地,因此DBS中应包括DBMS和OS这两个主要地系统软件.BkeGulnkxl编写应用程序仍然是用 C 一类高级程序设计语言,这些语言在DBS中称为宿主语言.为提高应用程序开发效率,需要像Dephi、PowerBuilder 一类软件开发工具<即应用开发支撑软件)开发应用程序.这些软件属于4GL范畴,可使应用系统开发生产率提高20~100倍.PgdOOsRIMo第2章关系模型和关系运算理论2.1基本内容分析2.1.1本章重要概念<1)基本概念关系模型,关键码<主键和外键),关系地定义和性质,三类完整性规则,ER模型到关系模型地转换规则,过程性语言与非过程性语言• 3cdXwckm15<2 )关系代数五个基本操作,四个组合操作,七个扩充操作.<3)关系演算元组关系演算和域关系演算地原子公式、公式地定义•关系演算地安全性和等价性.<4 )关系代数表达式地优化关系代数表达式地等价及等价转换规则,启化式优化算法.<5 )关系逻辑谓词、原子、规则和查询,规则地安全性,用规则模拟关系代数表达式.2.1.2本章地重点篇幅<1)教材中P56地例2.7<关系代数表达式地应用实例)<2)教材中P63地例2.19<元组表达式地应用实例).<3)教材中P81地例2.36<关系逻辑地规则表示).2.1.3重要内容分析1 •关系代数表达式地运用技巧<1 )一般规则•对于只涉及到选择、投影、联接地查询可用下列表达式表示:n …<(T …<R X S))或者n …< b …<R? S))•对于否定地操作,一般要用差操作表示,例如“检索不学C2课地学生姓名”.•对于检索具有“全部”特征地操作,一般要用除法操作表示,例如“检索学习全部课程地学生姓名”.<2)“检索不学C2课地学生姓名”,决不能用下式表示:n SNAME,AGE < b C# = 'C2'<S? SC))一定要用“差”地形式:n SNAME,AGE <S)— n SNAME,AGE < b C#='C2'<S? SC))<3)“检索学习全部课程地学生学号”,要用n s#,c#<SC) + n c#<C)表示,而不能写成n S# <SC+ n C#<C))形式.这是因为一个学生学地课程地成绩可能是不一样地.<4 )对于教材P56地例2.7地8个查询语句地关系代数表达式,考生一定要掌握,这是基础.h8c52WOngM2 •非过程性语言与过程性语言地区别编程时必须指出“干什么”及“怎么干”地语言,称为过程性语言;编程时只须指出“干什么”,不必指出“怎么干”地语言,称为非过程性语言.v4bdyGious两种语言地主要区别见图 2.1.2.12.2教材中习题2地解答2.1名词解释•关系模型:用二维表格表示实体集,外键和主键表示实体间联系地数据模型 ,称为关系模型.•关系模式:是对关系地描述,包括模式名、诸属性名、值域名和模式地主键.•关系实例:关系模式具体地值,称为关系实例.•属性:即字段或数据项,与二维表中地列对应.属性个数,称为元数<arity ). •域:属性地取值范围,称为域.•元组:即记录,与二维表中地行对应.元组个数,称为基数<cardinality ). •超键:能惟一标识元组地属性或属性集 ,称为关系地超键.•候选键:不含有多余属性地超键,称为候选键.•主键:正在使用地、用于标识元组地候选键 ,称为主键.•外键:属性集 F 是模式S 地主键,在模式R 中也出现,那么称F 是模式R 地外键. •实体完整性规则:实体地主键值不允许是空值•参照完整性规则:依赖关系中地外键值或者为空值 码.•过程性语言:编程时必须给出获得结果地操作步骤 地语言.•非过程性语言:编程时,只需指出需要什么信息 出“干什么”,不必指出“怎么干”地语言 .J0bm4qMpJ9•无限关系:指元组个数为无穷多个地关系 -无穷验证:验证公式真假时需要进行无限次验证2.2在关系模型中,对关系作了哪些规范性限制?答:对关系作了一下四个限制:属性值不可分解;没有重复元组;没有行序;使用时有列序2.3为什么关系中地元组没有先后顺序,且不允许有重复元组?答:由于关系定义为元组地集合 ,而集合中地元素是没有顺序地 ,因此关系中地元组也就没有先后地顺序 < 对用户而言).这样既能减少逻辑排序,又便于在关系数据库中引进集合论 地理论.XVauA9grYP每个关系模式都有一个主键,在关系中主键值是不允许重复地.如果关系中有重复元组那么其主键值肯定相等,起不了惟一标识作用,因此关系中不允许有重复元组.bR9C6TJscw2.4外键值何时允许空?何时不允许空?答:在依赖表中,当外键是主键地组成部分时,外键值不允许空;否则外键值允许空.2.5笛卡儿积、等值联接、自然联接三者之间有什么区别?答:笛卡尔积是一个基本操作 ,而等值联接和自然联接是组合操作 .设关系R 地元数为r,元组个数为m ;关系S 地元数为s,元组个数为n. 那么,R X S 地元数为r+s,元组个数为m x n ;R ? S 地元数也是r+s,但元组个数小于等于m x n ;i 9 j? ,或者是相应参照关系中某个主键,即指出“干什么”及“怎么干”,不必给出具体地操作步骤,即只要指。
数据库关系运算理论(1)
9
基本表
查询表
视图
10
(4)关系的规范化性质
列是同质的, ①列是同质的,即每一列中的分量是同一类型的数 来自同一个域。 据,来自同一个域。 不同的列可出自同一个域, ②不同的列可出自同一个域,称其中的每一列为一 个属性, 个属性,不同的属性要给予不同的属性名 ③列的顺序无所谓,即列的顺序可以任意交换。 列的顺序无所谓,即列的顺序可以任意交换。 任意两个元组不能完全相同。 ④任意两个元组不能完全相同。 行的顺序无所谓,即行的顺序可以任意交换。 ⑤行的顺序无所谓,即行的顺序可以任意交换。 分量必须取原子值, ⑥分量必须取原子值,即每个分量必须是不可再分 的数据项。 的数据项。
2)笛卡尔积:给定一组域D 2)笛卡尔积:给定一组域D1,D2,…Dn,这些域中 笛卡尔积 D 可以有相同的。笛卡尔积表示为: 可以有相同的。笛卡尔积表示为: D1╳D2 ╳ … Dn={(d1,d2,…dn)|di∈Di,i=1,2 …n} d n} 其中每一个元素(d 其中每一个元素(d1,d2,…dn)叫做一个n元组, 元素 d 叫做一个n元组, 简称为元组 元素中的每一个值d 叫做一个分量 元组。 分量。 简称为元组。元素中的每一个值di叫做一个分量。
一张二维表。 (1)数据结构:一张二维表。现实世界的实体 以及实体间的联系均用关系(二维表)表示。 以及实体间的联系均用关系(二维表)表示。 关系操作包括 操作。 (2)关系操作包括:查询和更新操作。 关系操作包括:查询和更新操作 查询操作包括:选择、投影、连接、 查询操作包括:选择、投影、连接、 操作。 除、并、交、差等操作。 更新操作包括:增加、删除、修改操作。 更新操作包括:增加、删除、修改操作。 操作 特点: 对象和 都是集合 关系操作的特点 操作对象 结果都是 关系操作的特点:操作对象和结果都是集合
数据库原理总结
第一章数据库概论1.人工管理阶段,文件系统阶段,数据库阶段,高级数据库阶段(对象数据库技术,分布式数据库系统,开放数据库互连技术,xml数据库技术,现代信息集成技术)2.数据描述:概念设计中:实体,实体集,属性,实体标识符;逻辑设计中:字段,记录,文件,关键码;物理设计中:位,字节,字,块,桶,卷;3.概念模型,逻辑模型(层次,网状,关系,对象),外部模型,内部模型;4.三层模式(外模式,逻辑模式,内模式),两级映像(外模式/逻辑模式映像,逻辑模式/内模式映像)5.数据库系统:数据库,硬件,软件,数据库管理员第二章关系模型和关系运算理论1.超键:能唯一标识元组的属性或属性集。
候选键:不含有多余属性的超键主键:用户选作元祖标识的候选键。
外键:是其他模式的主键。
实体完整性规则,参照完整性规则,用户定义的完整性规则关系模式的三层体系结构:关系模式,子模式,存储模式2.关系代数的5个基本操作:并,差,笛卡尔积,投影,选择;关系代数的4个组合操作:交,连接,自然连接,除法。
关系代数的7个扩充操作:改名,广义投影,赋值,外连接,外部并,半连接,聚集操作3.关系代数表达式的启发式优化算法:尽可能早的执行选择操作;尽可能早的执行投影操作;避免直接做笛卡尔积第三章关系数据库语言SQL1.SQL的组成:数据定义语言,数据操纵语言,嵌入式,数据控制语言2.数据定义:数据类型ok,数据库,数据表,索引的创建等ok。
3.数据查询,数据更新ok。
4,视图,嵌入式,动态SQL语句,存储过程。
第四章关系数据库的规范化设计1.定义1:函数依赖:设有关系模式R(U),U为属性集,x、y为U的子集,函数依赖(FD)是形为X→Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y],那么称FDX→Y在关系模式R(U)中成立。
定义2:如果X→Y和Y→X同时成立,则可记为X←→Y。
定义3:设F是在关系模式R上成立的函数依赖的集合,X→Y 是一个函数依赖。
第2章 数据库-关系模型1
• 在关系数据模型中一般将数据完整性分为三类
– 实体完整性
– 参照完整性 – 用户定义完整性
需要说明两点
• 关系是元组的集合,集合(关系)中的元素(元组) 是无序的;而元组不是分量di的集合,元组中的分量
是有序的。
例如,在关系中(a,b)≠(b,a),但在集合中{a,b}={b,a}。
• 若一个关系的元组个数是无限的,则该关系称为无限
实体完整性规则
• 实体完整性是要保证关系中的每个元组都是可识别和唯一的。 • 实体完整性规则要求关系中元组的主键值不可以为空值。
• 实体完整性是关系模型必须满足的完整性约束条件,也称作是
关系的不变性。 • 关系数据库管理系统用主键实现实体完整性,这是由关系系统 自动支持的。
对实体完整性规则的几点说明
关系数据语言
• 关系代数语言:如ISBL
• 关系演算语言:
– 元组关系演算语言(如Aplha,Quel)
– 域关系演算语言(如QBE)
• 具有关系代数和关系演算双重特点的语言:如SQL
返回
关系完整性约束
• 在数据库中数据完整性是指保证数据正确的特性。
它包括两方面的内容:
– 与现实世界中应用需求的数据的相容性和正确性; – 数据库内数据之间的相容性和正确性。
部门表(R1)
部门编号 01 02 03 04 部门名称 经理办公室 人事部 公关部 技术部 …
02 03
外部关系键
主关系键
注意事项:
• 外部关键字和相应的主关键字可以不同名,只要 定义在相同值域即可。 • 两个关系(R和S)也可以是同一个关系模式,表 示了属性之间的联系。 • 外部关键字的值是否为空,应视具体问题而定。
数据库原理及应用(MySQL版) 理论教案 第10次课(理论)关系代数、运算
{t∣(3u)(R(u)Λt[l]=u[2]Λt[2]=u[3]))。
(4)笛卡尔积
R×S={t I(3 u)( 3 v)( R(u) Λ S(v) Λ t[l]=u[l] A t[2]=u[2] Λ t[3]=u[3] A t[4]=v[l]Λt[5]=v[2]Λt[6]=v[3])}
(1)每个原子公式是公式。其中的元组变量是自由元组变量。
(2)如果Pl和P2是公式,那么下面3个也为公式。
•-,P∖>如果Pl为真,则一'Pi为假。
•PlVP2,如果Pl和P2中有一个为真或者同时为真,则PlVP2为真,仅当Pl和P2同时为假时,PιVP2为假0
•PlAP2,如果Pl和P2同时为真,则P∣∕∖P2才为真,否则为假。
R×S=) Cts∣tr∈RΛts∈S)
关系的笛卡儿积操作对应于两个关系记录横向合并的操作,俗称“X”操作。
4.投影(ProjeetiOn)
关系R上的投影是从R中选择出若干属性列组成新的关系。形式定义如下:
∏a(R)={t[A]∣t∈R)
其中,A为R中的属性列。
5.选择(Selection)
关系R上的选择操作是从R中选择符合条件的元组。形式定义如下:
(3)如果P是公式,那么Tt)(P)和(Vt)(P)也是公式。其中t是公式P中的 自由元组变量,在(三。(P)和(∀t)( P)中称为约束元组变量。
(31)( P)表示存在一个元组t使得公式P为真;(∀t)( P)表示对于所有元组t都 使得公式P为真。
(4)公式中各种运算符的优先级从高到低依次为:0、三和V、「、八和V。 在公式外还可以加括号,以改变上述优先顺序。
作业题目
[工学]关系数据模型与关系运算
单个关系内属性指定
关系查询
单个关系内元组选择
多个关系的合并
7
第2章 关系模型与运算: 2.1 关系数据模型(3)
2.1.3关系数据操作(2)
关系更新
元组插入 元组删除 元组修改
8
第2章 关系模型与运算: 2.1 关系数据模型(3)
2.1.3关系数据操作(3)
空值处理
限定主键不能取空值 定义空值相应运算
S( R): 更名运算,将R更名为S
∏ ( (R S.姓名 R.成绩S.成绩 R.课程=数学 S.课程=数学 R.姓名=王红 S( R))
R
姓名 课程 成绩
张军 物理 93 王红 数学 86
2.2.2基于查询的代数运算
元组集合的选择:选择运算
设有k元关系R,条件用一命题公式F表示,则从 关系R中选择出满足条件F的行定义为:
F (R) {t | t R F(t) true}
F是选择的条件: t∈R, F(t)要么为真,要么为假
F的形式:由逻辑运算符连接算术表达式而成
21
R
AB
1 2
S
CDE
10 a 10 a 20 b 10 b
RxS ABCDE
1 10 a 1 19 a 1 20 b 1 10 b 2 10 a 2 10 a 2 20 b 2 10 b
22
• 求数学成绩比王红同学高的学生
逻辑表达式:∧,∨,┐
算术表达式:X Y
X,Y是属性名、常量、或简单函数
是比较算符,∈{ , , , , , ≠}
19
R
A
B
C
3
关系模型【数据库概论】
关系模型【数据库概论】(⼀) 关系模型知识引⼊开局⼀张图,知识全靠爆~DBMS 采⽤某种数据模型进⾏建模,提供了在计算机中表⽰数据的⽅式,其包括,数据结构、数据操作、数据完整性三部分。
在关系模型中,通过关系表⽰实体与实体之间的联系,然后基于关系数据集合进⾏数据的查询、更新以及控制等操作同时对数据的更新操作进⾏实体完整性、参照完整性、⽤户⾃定义完整性约束。
⽽在前期,通过关系代数和逻辑⽅式(关系演算)表⽰对关系操作的能⼒,⽽后出现了 SQL 语⾔,其吸纳了关系代数的概念,和关系演算的逻辑思想虽然进⾏了⼀定的解释,但是光看图上的这些名词,还是很懵,没关系,下⾯我们就按照图⽚上的标号,针对关系数据模型进⾏讲解多说⼀句:关系模型⾮常重要,是现在主流的⼀种数据模型,同样 SQL 也⾮常流⾏,现在⼤部分数据库都是⽀持 SQL 的,这也正是我们要针对此部分重点学⼀下的原因(⼆) 关系的数据结构(1) 关系的相关概念A:关系的数学描述关系概念是对事物间数据依赖的⼀种描述,同时集合论提供了关系概念:集合论中的关系本⾝也是⼀个集合,以具有某种联系的对象组合——“序组”为其成员。
关系不是通过描述其内涵来刻画事物间联系的,⽽是通过列举其外延(具有这种联系的对象组合全体)来描述这种联系B:笛卡尔积关系的概念是建⽴在笛卡尔积概念的基础上的,笛卡尔积是定义在给定⼀组域上的有序对的集合,⽽域则是⼀组具有相同数据类型的值的集合,例如⾃然数整数实数,长度⼩于若⼲字节的字符串集合等都可以是域给定⼀组域D1,D2,…,Dn,这n个域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)| di∈Di,i=1,2,…,n }每⼀个元素(d1,d2,…,dn)叫作⼀个n元组(n-tuple),或简称为元组(Tuple)元素中的每⼀个di值叫作⼀个分量(Component)若Di (i=1,2,…,n)为有限集,其基数为mi (i=1,2,…,n),则D1×D2×…×Dn的基数M为:nM= ∏ mii=1定义可能有⼀些抽象,引⼊⼀个例⼦看⼀下,会直观⼀些【例】设:D1为学⽣集合= {张⼭,李斯,王武};D2为性别集合= {男,⼥};D3为年龄集合= {19,20}⽤⼆维表的形式表⽰D1×D2×D3,则为下表格,则有12个元组姓名性别年龄张⼭男19张⼭⼥19张⼭男20张⼭⼥20李斯男19李斯⼥19李斯男20李斯⼥20王武男19王武⼥19王武男20王武⼥20姓名性别年龄C:关系的定义根据上⾯的铺垫可以得出:满⾜⼀定语义的D1×D2×…×Dn的⼦集叫作在域D1、D2、…、Dn上的关系定义:R(D1, D2, …, Dn)R:关系的名字n:关系的⽬或度(Degree)(2) 关系模型的相关概念关系的描述称为关系模式:R(U, D, Dom, F)R:关系名U:组成该关系的属性集合D:属性组U中属性所来⾃的域Dom:属性向域的映像的集合F:属性间数据的依赖关系集合A:属性(U)若关系对应⼀个实体,关系的属性就是所要描述的实体对象的属性,即实体所对应的事物对象的特征,例如姓名,性别,年龄在同⼀关系中,属性名不能相同,但不同的属性可以有相同的域。
数据库系统概论复习重点
数据库系统概论复习重点第一章绪论1.数据库系统的基本概念:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员构成。
2.数据库管理系统的主要功能:数据定义功能、数据操作功能、数据库的运行管理、数据库的建立和维护。
3.数据模型的分类:概念模型、逻辑模型。
4.概念模型的表示:层次模型、网状模型、关系模型、面向对象模型、对象关系模型。
5.数据管理技术的产生和发展经历的三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。
6.实体是现实世界中客观存在,且能相互区别的。
7.数据模型的组成要素:数据结构、数据操作、数据的完整性的约束条件。
8.DBS包括DB和DBMS,而DB与DBSM是相互独立的。
9.概念模型独立于操作。
10.数据库三级结构有利于保证数据的安全性和独立性。
11.数据库物理存储视图为内模式12.用户通过DML语言对数据进行操作,其实是在操作外模式中的记录。
13.数据库系统的三级模式结构:外模式、模式、内模式。
14.有了“模式/内模式映像”可以保证数据的物理独立性。
15.数据库系统的核心是——数据库。
16.数据库系统的三级模式存在有二级映像,使之可以有较高的数据独立性。
17.数据库的外部存储方法和存储设备变化不影响逻辑结构,这种情况为物理数据独立性。
第二章关系数据库1.本章重点:关系数据库概念,可以用关系表达式来表达实际问题,可以用元祖表达式来表达实际问题,可以用域表达式来表达实际问题。
可以将这三种表达式相互转换。
2.关系代数运算:并、交、笛卡儿积、选择、投影。
3.常用的关系运算:关系代数、关系演算。
5.“列”可以出自一个域。
6.DBMS和OS之间的关系是:DBMS可以调用OS。
7.关系演算谓词变元可分为:元祖关系、演算关系、域关系演算。
8.若Sno由八位数组成,则此种情况称为:用户定义完整性。
9.一般情况下“R”“S”连接,则“R”“S”必有相同的属性。
数据库系统概论知识点
第一章:绪论数据库〔DB〕:长期存储在计算机、有组织、可共享的大量数据的集合。
数据库中的数据按照一定的数据模型组织、描述和存储,具有娇小的冗余度、交稿的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统〔DBMS〕:位于用户和操作系统间的数据管理系统的一层数据管理软件。
用途:科学地组织和存储数据,高效地获取和维护数据。
包括数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事物管理和运行管理,数据库的建立和维护功能,其他功能。
数据库系统〔DBS〕:在计算机系统中引入数据库后的系统,一般由数据库。
数据库管理系统〔及其开发工具〕、应用系统、数据库管理员构成。
目的:存储信息并支持用户检索和更新所需的信息。
数据库系统的特点:数据构造化;数据的共享性高,冗余度低,易扩大;数据独立性高;数据由DBMS统一管理和控制。
概念模型实体,客观存在并可相互区别的事物称为实体。
属性,实体所具有的*一特性称为属性。
码,唯一标识实体的属性集称为码。
域,是一组具有一样数据类型的值的集合。
实体型,具有一样属性的实体必然具有的共同的特征和性质。
实体集,同一类型实体的集合称为实体集。
联系两个实体型之间的联系一对一联系;一对多联系;多对多联系关系模型关系,元组,属性,码,域,分量,关系模型关系数据模型的操纵与完整性约束关系数据模型的操作主要包括查询,插入,删除和更新数据。
这些操作必须满足关系完整性约束条件。
关系的完整性约束条件包括三大类:实体完整性,参照完整性和用户定义的完整性。
数据库系统三级模式构造外模式,模式,模式模式:〔逻辑模式〕数据库中全体数据的逻辑构造和特征的描述,是所有用户的公共数据视图。
一个数据库只有一个模式。
模式的地位:是数据库系统模式构造的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。
模式定义的容:数据的逻辑构造〔数据项的名字、类型、取值围等〕,数据之间的联系,数据有关的平安性、完整性要求外模式:〔子模式/用户模式〕数据库用户〔包括应用程序员和最终用户〕能够看见和使用的局部数据库和逻辑构造和特征的描述,是数据库用户的数据视图,是与*一应用有关的系统的逻辑表示。
02 关系数据库的基本理论
2.2.4 关系系统
2.关系系统的分类 按照E.F.Codd的思想,可以把关系系统分 类如下: (1)最小关系系统 (2)关系上完备的系统 (3)全关系系统
2.2.4 关系系统
3.全关系系统的12条基本准则 【准则2-0】一个关系型的DBMS必须能完全通过 它的关系能力来管理数据库。 【准则2-1】信息准则。 【准则2-2】保证访问准则。 【准则2-3】空值的系统化处理。 【准则2-4】基于关系模型的动态的联机数据字典。 【准则2-5】统一的数据子语言准则。
第2章 关系数据库的基本理论
关系数据库系统具有独特的风格,概括起 来有以下五个特点。
(1)简单明了的数据模型。 (2)具有严谨的理论基础。 (3)实体表示方法和实体之间联系的表示 方法一致。 (4)处理多对多的联系方便。 (5)使用的关系数据语言功能强大。
2.1 关系模型概述
关系模型是关系数据库的基础。关系模型由数据 结构、关系操作集合和完整性约束三部分组成。 2.1.1 关系数据结构
其中,姓名、职称、X称为域名,姓名域和职称域各有4个值, X域有2个值,一般称它们的基数分别为4、4、2。
2.2.1 数学定义
【 定 义 2-2】 给 定 一 组 域 D1,D2,…,Dn , 则 D1×D2×…×Dn = { (d1,d2,…,dn) | d1∈Di , i = 1,2,…,n } 称 为 D1,D2,…,Dn 的 笛卡尔积。其中每个(d1,d2,…,dn)叫做一个n元组,元组中的 每个di是Di域中的一个值,称为一个分量。
表达(或描述)关系操作的关系数据语言 可以分为三类,具体分类情况如下:
2.1.2 关系操作
(1)关系代数 关系代数是用对关系的运算来表达查询要
求的方式。 (2)关系演算
数据库系统教程课后答案(施伯乐)(第二版)
目录第1部分课程的教与学第2部分各章习题解答及自测题第1章数据库概论1.1 基本内容分析1.2 教材中习题1的解答1.3 自测题1.4 自测题答案第2章关系模型和关系运算理论2.1基本内容分析2.2 教材中习题2的解答2.3 自测题2.4 自测题答案第3章关系数据库语言SQL3.1基本内容分析3.2 教材中习题3的解答3.3 自测题3.4 自测题答案第4章关系数据库的规范化设计4.1基本内容分析4.2 教材中习题4的解答4.3 自测题4.4 自测题答案第5章数据库设计与ER模型5.1基本内容分析5.2 教材中习题5的解答5.3 自测题5.4 自测题答案第6章数据库的存储结构6.1基本内容分析6.2 教材中习题6的解答第7章系统实现技术7.1基本内容分析7.2 教材中习题7的解答7.3 自测题7.4 自测题答案第8章对象数据库系统8.1基本内容分析8.2 教材中习题8的解答8.3 自测题8.4 自测题答案第9章分布式数据库系统9.1基本内容分析9.2 教材中习题9的解答9.3 自测题9.4 自测题答案第10章中间件技术10.1基本内容分析10.2 教材中习题10的解答10.3 自测题及答案第11章数据库与WWW11.1基本内容分析11.2 教材中习题11的解答第12章 XML技术12.1基本内容分析12.2 教材中习题12的解答学习推荐书目1.国内出版的数据库教材(1)施伯乐,丁宝康,汪卫. 数据库系统教程(第2版). 北京:高等教育出版社,2003(2)丁宝康,董健全. 数据库实用教程(第2版). 北京:清华大学出版社,2003(3)施伯乐,丁宝康. 数据库技术. 北京:科学出版社,2002(4)王能斌. 数据库系统教程(上、下册). 北京:电子工业出版社,2002(5)闪四清. 数据库系统原理与应用教程. 北京:清华大学出版社,2001(6)萨师煊,王珊. 数据库系统概论(第3版). 北京:高等教育出版社,2000(7)庄成三,洪玫,杨秋辉. 数据库系统原理及其应用. 北京:电子工业出版社,20002.出版的国外数据库教材(中文版或影印版)(1)Silberschatz A,Korth H F,Sudarshan S. 数据库系统概念(第4版). 杨冬青,唐世渭等译. 北京:机械工业出版社,2003(2)Elmasri R A,Navathe S B. 数据库系统基础(第3版). 邵佩英,张坤龙等译. 北京:人民邮电出版社,2002(3)Lewis P M,Bernstein A,Kifer M. Databases and Transaction Processing:An Application-Oriented Approach, Addison-Wesley, 2002(影印版, 北京:高等教育出版社;中文版,施伯乐等译,即将由电子工业出版社出版)(4)Hoffer J A,Prescott M B,McFadden F R. Modern Database Management. 6th ed. Prentice Hall, 2002(中文版,施伯乐等译,即将由电子工业出版社出版)3.上机实习教材(1)廖疆星,张艳钗,肖金星. PowerBuilder 8.0 & SQL Server 2000数据库管理系统管理与实现. 北京:冶金工业出版社,2002(2)伍俊良. PowerBuilder课程设计与系统开发案例. 北京:清华大学出版社,20034.学习指导书(1)丁宝康,董健全,汪卫,曾宇昆. 数据库系统教程习题解答及上机指导. 北京:高等教育出版社,2003(2)丁宝康,张守志,严勇. 数据库技术学习指导书. 北京:科学出版社,2003(3)丁宝康,董健全,曾宇昆. 数据库实用教程习题解答. 北京:清华大学出版社,2003 (4)丁宝康. 数据库原理题典. 长春:吉林大学出版社,2002(5)丁宝康,陈坚,许建军,楼晓鸿. 数据库原理辅导与练习. 北京:经济科学出版社,2001第1部分课程的教与学1.课程性质与设置目的现在,数据库已是信息化社会中信息资源与开发利用的基础,因而数据库是计算机教育的一门重要课程,是高等院校计算机和信息类专业的一门专业基础课。
