专升本SQL复习.doc_第1页
专升本SQL复习.doc_第2页
专升本SQL复习.doc_第3页
专升本SQL复习.doc_第4页
专升本SQL复习.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一讲 数据库系统概论1.1 数据库系统概论1.1.1区分数据、数据库、数据库管理系统、数据库系统(1)数据(Data):数据库中存储的基本对象。数据的解释是指对数据含义的说明。数据的含义称为数据的语义。 (2)数据库(DataBase,DB):长期存储在在计算机内的、有组织、可共享的数据集合。(3)数据库管理系统(DataBase Management System,DBMS):数据库管理系统是位于用户与操作系统之间的一层数据管理软件。A、数据定义功能(Data Definition Language,DDL)。Create Alter DropB、数据操纵功能(Data Manipulation Language,DML)。Select Insert Update DeleteC、数据库的运行管理:统一管理,统一控制,以保证数据的安全性、完整性、多用户对沪剧的并发使用以及故障恢复。D、数据库的建立和维护功能:数据传输、转换功能、转存恢复功能。性能监视、分析。(4)数据库系统(DataBase System,DBS):在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统及开发工具、应用系统、数据管理员和用户构成。一般把数据库系统简称为数据库。 数据库系统数据库系统在计算机系统中的地位1.1.2 数据管理技术的产生和发展(1)人工管理阶段(20世纪50年代中期以前)背景:计算机主要用于科学计算(数据量小、结构简单,如高阶方程、曲线拟和等)。外存只有磁带、卡片、纸带等,没有磁盘等直接存取设备。没有操作系统,没有数据管理软件(用户用机器指令编码)。特点:用户负责数据的组织、存储结构、存取方法、输入输出等细节。数据完全面向特定的应用程序,每个用户使用自己的数据,数据不保存,用完就撤走。数据与程序没有独立性,程序中存取数据的子程序随着存储结构的改变而改变。(2)文件系统阶段(50年代后期-60年代中期)背景:计算机不但用于科学计算,还用于管理。外存有了磁盘、磁鼓等直接存取设备。有了专门管理数据的软件,一般称为文件系统,包括在操作系统中。特点:系统提供存取方法(索引文件、链接文件、直接存取文件、倒排文件等),支持对文件的基本操作(增、删、改、查等),用户程序不必考虑物理细节。数据的存取基本上以记录为单位。一个数据文件对应一个或几个用户程序,还是面向应用的。数据与程序有一定的独立性,因为文件的逻辑结构与存储结构由系统进行转换,数据在存储上的改变不一定反映在程序上。存在问题:数据与程序的独立性差:文件系统的出现并没有从根本上改变数据与程序紧密结合的状况。文件系统只是解脱了程序员对物理设备存取的负担,它并不理解数据的语义,只负责存储。数据的语义信息只能由程序来解释,也就是说,数据收集以后怎么组织,以及数据取出来之后按什么含义应用,只有全权管理它的程序知道。数据的逻辑结构改变则必须修改应用程序。一个应用若想共享另一个应用生成的数据,必须同另一个应用沟通,了解数据的语义与组织方式。数据的冗余度大:数据仍然是面向应用的。当不同应用程序所需要的数据有部分相同时,也必须建立各自的文件,而不能共享相同的数据。数据分散管理。数据的不一致性:由于数据存在很多副本,给数据的修改与维护带来了困难,容易造成数据的不一致性。(3)数据库系统阶段(60年代后期开始)背景:计算机管理的数据量大,关系复杂,共享性要求强(多种应用、不同语言共享数据)外存有了大容量磁盘,光盘。软件价格上升,硬件价格下降,编制和维护软件及应用程序成本相对增加,其中维护的成本更高,力求降低。特点:有了数据库管理系统。面向全组织,面向现实世界。独立性较强。由DBMS统一存取,维护数据语义及结构数据库观点:数据不是依赖于处理过程的附属品,而是现实世界中独立存在的对象。1.1.3 数据库系统 VS 文件系统文件系统的弱点:文件之间无联系,难于维护数据的完整性。数据库系统的用武之地:有查询,数据复杂效率两面观:运行效率,开发效率1.1.4 数据库系统的特点(与文件系统比较)(1)面向全组织的复杂的数据结构:支持全企业的应用而不是某一个应用。数据反映了客观事物间的本质联系,而不是着眼于面向某个应用,是有结构的数据。这是数据库系统的主要特征之一,与文件系统的根本差别。文件系统只是记录的内部有结构,一个文件的记录之间是个线性序列,记录之间无联系。(2)数据的冗余度小,易扩充:数据面向整个系统,而不是面向某一应用,数据集中管理,数据共享,因此冗余度小。节省存储空间,减少存取时间,且可避免数据之间的不相容性和不一致性。每个应用选用数据库的一个子集,只要重新选取不同子集或者加上一小部分数据,就可以满足新的应用要求,这就是易扩充性。(3)具有较高的数据和程序的独立性:数据与程序相对独立,把数据库的定义和描述从应用程序中分离出去。描述又是分级的(全局逻辑、局部逻辑、存储),数据的存取由系统管理,用户不必考虑存取路径等细节,从而简化了应用程序。A、数据独立性:当数据的结构发生变化时,通过系统提供的映象(转换)功能,使应用程序不必改变。B、数据的物理独立性:当数据的存储结构改变时,通过数据的存储结构与逻辑结构之间的映象,数据的逻辑结构可以保持不变,从而应用程序也不必改变。C、数据的逻辑独立性:当数据的总体逻辑结构改变时,通过数据的总体逻辑结构与局部逻辑结构之间的映象,数据的局部逻辑结构可以保持不变,从而应用程序也不必改变。数据独立性是由DBMS的二级映象功能来保证的。(4)统一的数据控制功能,数据共享程度高A、数据的安全性控制(Security):保护数据以防止不合法的使用所造成的数据泄露和破坏。措施:用户标识与鉴定,存取控制。B、数据的完整性控制(Integrity):数据的正确性、有效性、相容性。措施:完整性约束条件定义和检查。C、并发控制(Concurrency):对多用户的并发操作加以控制、协调,防止其互相干扰而得到错误的结果并使数据库完整性遭到破坏。措施:封锁。D、数据库恢复技术。12数据模型与数据抽象数据模型是一种模型,是现实世界数据特征的抽象。121数据模型定义 数据模型就是现实世界的模拟。122 数据模型数据模型:是数据库系统中用于提供信息表示和操作手段的形式构架。123 数据模型的三要素(1)数据结构:描述系统的静态特性,即组成数据库的对象类型。包括:数据本身:类型、内容、性质。如网状模型中的数据项、记录,关系模型中的域、属性,关系等。数据之间的联系:例如网状模型中的系型(Set Type)在数据库系统中一般按数据结构的类型来命名数据模型,如:“层次结构、网状结构、关系结构。(2)数据操纵:描述系统的动态特性,即对数据库中对象的实例允许执行的操作的集合,包括操作及操作规则。一般有检索、更新、插入、删除操作。数据模型要定义操作含义、操作符号、操作规则,以及实现操作的语言。(3)完整性约束:数据的约束条件是完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确、有效、相容。124 数据抽象信息世界:数据库系统是面向计算机的,而应用是面向现实世界的,两个世界存在着很大差异,要直接将现实世界中的语义映射到计算机世界是十分困难的,因此引入一个信息世界作为现实世界通向计算机实现的桥梁。一方面,信息世界是对现实世界的抽象,从纷繁的现实世界中抽取出能反映现实本质的概念和基本关系;另一方面,信息世界中的概念和关系,要以一定的方式映射到计算机世界中去,在计算机系统上最终实现。信息世界起到了承上启下的作用。模型分为两大类:1类是概念模型,2是数据模型。125 数据库系统模式模式:是数据库中全体数据的逻辑结构和特征的描述,仅仅涉及到“型“,不涉及到具体的值,是相对稳定的。型与值的区别:型是指对某一类数据的结构和属性的说明,值是型的一个具体的赋值。元数据(meta-data)/ 数据字典:描述数据的数据。例:身份证,文献索引。13概念模型131 概念模型概念数据模型:按用户的观点来对数据和信息建模。用于组织信息世界的概念,表现从现实世界中抽象出来的事物以及它们之间的联系。这类模型强调其语义表达能力,概念简单、清晰,易于用户理解。它是现实世界到信息世界的抽象,是用户与数据库设计人员之间进行交流的语言。如E-R模型。(1) 实体(entity):客观存在并且可以相互区别的事物。(2) 属性(attribute):实体所具有的某一特性。(3) (主)码(key):唯一标识实体的属性集。Primary Key(PK)(4) 域(Domain):属性的取值范围称为该属性的域。(5) 实体型(entry type):用实体名及其属性名集合来抽象和刻画同类实体。 例:学生(学号,姓名,性别,出生日期)(6) 实体集(entry set):同型实体的集合称为实体集。例:全体学生。(7) 联系(Relationship):组成实体的各属性之间的联系。(8)元组:表中的一行。(9)分量:元组中的某一个属性值。(10)外码:参考到其他表的属性列。对应关系:1:1 1:N N:M1.3.2 概念模型表示方法实体型:用矩型表示,矩型内写名实体名。属性:用椭圆表示,并用无向边将其与相应的实体连接起来。联系:用菱型表示,菱形内写明联系名。如果一个联系也具有属性,则这些属性也要用无向边联系。14数据模型141 常用数据模型(1)层次模型:用树结构表示实体之间联系的模型叫层次模型。树由节点和连线组成,节点代表实体型,连线表示两实体型间的一对多联系。树有以下特性:有且仅有一个节点,无父节点,此节点称为树的根(Root)。树中的其它节点都有且仅有一个父节点。父节点,子节点,根节点优点:结构简单,易于实现。缺点:支持的联系种类太少,只支持二元一对多联系。数据操纵不方便,子结点的存取只能通过父结点来进行。代表产品:IBM的IMS数据库,1969年研制成功。(2)网状模型是一个满足下列条件的有向图:可以有一个以上的节点无父节点。至少有一个节点有多于一个的父节点(排除树结构)。特点:表达的联系种类丰富。结构复杂。(3)关系模型用二维表来表示实体及其相互联系优点:简单,表的概念直观,用户易理解。非过程化的数据请求,数据请求可以不指明路径。数据独立性,用户只需提出“做什么”,无须说明“怎么做”。坚实的理论基础。14数据库系统结构141数据库系统的三级模式结构模式的分级:为了提高数据的物理独立性和逻辑独立性,使数据库的用户观点,即用户看到的数据库,与数据库的物理方面,即实际存储的数据库区分开来,数据库系统的模式是分级的。数据库系统三级模式结构:CODASYL(Conference On Data System Language,美国数据系统语言协商会)提出 外模式(用户模式,子模式)、模式(概念模式)、内模式(存储模式)三级模式的概念。三级模式之间有两级映象。模式(Schema):也称逻辑模式。所有用户的公共数据视图。是数据库中全体数据的全局逻辑结构和特性的描述。不涉及具体的物理存储细节和硬件环境,也与具体的应用程序无关。一个数据库只有一个模式。外模式(Sub-Schema)(用户模式,子模式):用户的数据视图。是数据的局部逻辑结构,模式的子集,有力的控制安全性。内模式(Storage Schema):又称存储模式。数据的物理结构及存储方式。(举例)142 数据库二级映象功能外模式/模式映象:定义某一个外模式和模式之间的对应关系,映象定义通常包含在各外模式中。当模式改变时,修改此映象,使外模式保持不变,从而应用程序可以保持不变,称为逻辑独立性。模式/内模式映象:定义数据逻辑结构与存储结构之间的对应关系。存储结构改变时,修改此映象,使模式保持不变,从而应用程序可以保持不变,称为物理独立性。143 ANSI/X3/SPARC(75,78)提出SPARC报告,其ANSI模型分为外部级、概念级、内部级。15 数据库系统的构成151 几个相关概念数据库:数据的集合。由DBMS统一管理,多用户共享。数据库管理系统DBMS:系统软件,对数据库进行统一管理和控制。数据库系统:带有数据库的整个计算机系统,包括硬件、软件、数据、人员。152 数据库系统的软硬件层次153 数据库系统的主要成分硬件:内存大,放得下OS,DBMS核心,系统缓冲区,用户工作区等;大容量、直接存取的外存设备;作数据备份的磁带。软件:OS,DBMS,高级语言编译系统及其与数据库的接口,应用开发工具,应用系统。数据:包括目标数据(数据本身)及描述数据(对数据的说明信息)。用户:最终用户:通过应用系统的用户接口(菜单等)使用数据库。应用程序员:基于外模式来编写应用程序。系统分析员:负责应用系统的需求分析和规范定义,确定系统的软硬件配置,参与数据库模式设计。数据库管理员DBA:负责数据库的全面管理和控制。154 DBA的重要性:重要资源,维护整个组织的信息资源。共享资源,多用户共享,需要统一管理、协调、监控。155 DBA职责建库方面:确定模式、外模式、存储结构、存取策略、负责数据的整理和装入。用库方面:定义完整性约束条件,规定数据的保密级别、用户权限,监督和控制数据库的运行情况,制定后援和恢复策略,负责故障恢复。改进方面:(1)监督分析系统的性能(空间利用率,处理效率);(2)数据库重组织,物理上重组织,以提高性能;(3)数据库重构造,设计上较大改动,模式和内模式修改。1.5.5 DBMS的层次结构156 DBMS的主要功能(1)数据库定义功能:提供DDL语言(Data Description Language)描述外模式、模式、内模式(源模式)。模式翻译程序把源模式翻译成目标模式,存入数据字典中。(2)数据存取功能:提供DML语言(Data manipulation language)对数据库进行检索、插入、修改、删除。DML类型:a、宿主型:DML不独立使用,嵌入到高级语言(主语言)程序中使用。B、自含型:独立使用,交互式命令方式。DBMS控制并执行DML语句:a、宿主型:有预编译和增强编译两种方式。B、自含型:解释执行。(3)数据库运行管理:并发控制、存取控制、完整性约束条件检查和执行,日志组织和管理,事务管理和自动恢复。(4)数据组织、存储和管理:用户数据、索引、数据字典的组织、存储和管理,包括文件结构、存取方式、数据之间的联系的实现等。(5)数据库的建立和维护功能:数据的装入、转换、卸出,数据库的转储、恢复、性能监视和分析等。16 数据库新方向161 新的数据库管理系统(1)面向对象数据库(2)对象-关系数据库(3)并行数据库(4)分布式数据库162 新的数据库应用(1)数据仓库(2)数据挖掘(3)OLAP第二章 实体-联系模型(概念数据库设计)21 数据库设计过程22 基本概念221 1976年,P.P.S.Chen提出E-R模型(Entity-Relationship Model),用E-R图来描述概念模型。观点:世界是由一组称作实体的基本对象和这些对象之间的联系构成的。222 基本概念(1)实体(Entity):客观存在并可相互区分的事物叫实体。如学生张三、工人李四、计算机系、数据库概论。(2)属性(Attribute):实体所具有的某一特性。一个实体可以由若干个属性来刻画。例如,学生可由学号、姓名、年龄、系、年级等组成。(4)域(Domain):属性的取值范围。例如,性别的域为(男、女),月份的域为1到12的整数。(5)实体型(Entity Type):实体名与其属性名集合共同构成实体型。例,学生(学号、姓名、年龄、性别、系、年级)。注意实体型与实体(值)之间的区别,后者是前者的一个特例。如学生(9808100,王平,21,男,计算机系,2)是一个实体。(6)实体集(Entity Set):同型实体的集合称为实体集。如全体学生。联系(Relationship):实体之间的相互关联。如学生与老师间的授课关系,学生与学生间有班长关系。联系也可以有属性,如学生与课程之间有选课联系,每个选课联系都有一个成绩作为其属性。同类联系的集合称为联系集。(7)元或度(Degree):参与联系的实体集的个数称为联系的元。如学生选修课程是二元联系,供应商向工程供应零件则是三元联系。(8)码(Key):A、候选码:关系中的某一属性或属性组的值能唯一地标识一个元组,称该属性或属性组为候选码。B、主码(Primary Key):一个关系有多个候选码,从中选定一个用来区别同一实体集中的不同实体,称作主码。一个实体集中任意两个实体在主码上的取值不能相同。如学号是学生实体的码。通讯录(姓名,邮编,地址,电话,Email,BP)C、外码:D、全码:关系模型中所有属性组是这个关系模式的候选码,称为全码。(9)参与(Participation):实体集之间的关联称为参与,即实体参与联系。如王军选修“数据库基础”,表示实体“王军”与 “数据库基础”参与了联系“选修”。如果实体集E中的每个实体都参与到联系集R中的至少一个联系,则称E全部参与R。如果实体集E中只有部分实体参与到联系集R的联系中,则称E部分参与R。如“职工”与“部门”之间的“管理”联系,“职工”实体集部分参与,而“部门”实体集完全参与。(10)角色(Role):实体在联系中的作用称为实体的角色。当同一个实体集不止一次参与一个联系集时,为区别各实体的参与联系的方式,需要显式指明其角色。如学生与班长关系,职工与职工之间的经理关系,课程之间的先修关系。223 属性类型(1)简单属性 :不可再分的属性。如学号、年龄、性别。(2) 复合(Composite)属性:可以划分为更小的属性。可以把相关属性聚集起来,使模型更清晰。如电话号码=区号+本地号码(3)单值属性:每一个特定的实体在该属性上的取值唯一。如学生的学号,年龄、性别、系别等。(4)多值属性:某个特定的实体在该属性上的有多于一个的取值。如学生(学号,所选课程,联系电话),的“所选课程”,“联系电话”。(5)NULL属性:Null表示“无意义”,当实体在某个属性上没有值时设为Null。如通讯录(姓名,email,电话,BP),若某人没有email地址,则在email属性上取值为null。null表示“值未知”,即值存在,但目前没有获得该信息。如职工(姓名,部门,工种,身份证),如果目前不知道职工身份证号码,则设身份证值为null。实体完整性:作为主码的属性上取值不能为null。(6)派生(Derived)属性与基属性:可以从其他相关的属性或实体派生出来的属性值。如学生(学号,姓名,平均成绩),选课(学号,课程号,成绩),则平均成绩可由学生所选课程的总成绩除以课程总数来得到。称平均成绩为派生属性,而成绩为基属性,或存储属性。数据库中,一般只存基属性值,而派生属性只存其定义或依赖关系,用到时再从基属性中计算出来。基本表 VS 视图多值属性用双椭圆表示,或用双线与实体相连。派生属性用虚椭圆表示,或用虚线与实体相连23 映射约束231 映射的基数(Mapping Cardinalities):实体之间的联系的数量,即一个实体通过一个联系集能与另一实体集相关联的实体的数目。可以有一对一的(1:1),一对多的(1:m),多对多的(m:n)几种情况。在E-R图中,用箭头或线段来表示联系的映射基数。(1)二元联系集的映射基数:一对一、一对多、多对多(2)一个实体集内的二元联系:一对一、一对多、多对多 (3)多个实体集间联系的情况232存在依赖(Existence Dependency)如果实体x的存在依赖于实体y的存在,则称x存在依赖于y。y称作支配实体,x称作从属实体。如果y被删除,则x也要被删除。考虑员工亲属的例子233 弱实体集(Weak Entity Set)如果一个实体集的所有属性都不足以形成主码,则称这样的实体集为弱实体集。弱实体集与其拥有者之间的联系称作标识性联系(identifying relationship)。弱实体集与强实体集之间是一对多的联系。弱实体集必然存在依赖于强实体集(Strong Entity Set)。存在依赖并不总会导致一个弱实体集,从属实体集可以有自己的主码。如实体集信用卡(信用卡号,客户帐号,金额),它存在依赖于客户帐号实体集,但信用卡有自己的主码信用卡号。234为什么使用弱实体集 通过为弱实体集加上合适的属性,可转变为强实体集,为什么还要使用弱实体集?(1)避免数据冗余(强实体集码重复),以及因此带来的数据的不一致性。(2)弱实体集反映了一个实体对其它实体依赖的逻辑结构。(3)弱实体集可以随它们的强实体集的删除而自动删除。(4)弱实体集可以物理地随它们的强实体集存储。235 复合实体复合实体的主码一般由两个(或两个以上)属性构成。236 实体的超类与子类举例:飞行员工与普通员工24 数据抽象与E-R模型设计步骤(1)数据抽象(2)设计局部E-R模型(3)设计全局E-R模型A、合并局部E-R图,生成初步E-R图:可能发生的问题,属性冲突,名称冲突,结构冲突。属性冲突:1、分为属性值域冲突,既属性值的类型,取值范围,或取值集合不同;2、属性的取值冲突,例如:重量:公斤,斤。名称冲突:同名异义,异名同义。结构冲突:1、同一对象在不同的应用中有不同的抽象,例如:教师的职称可能是一个实体也可能是一个属性。2、同一实体在不同应用中属性组成不同,可能是属性个数或属性次序不同。3、同一联系在不同应用中呈现不同的类型。B、消除冗余生成E-R图25 将E-R模型转换成数据库一般规则(1)将每一个实体转换成一个关系。(2)所有主码必须定义非空。(3)对于二元联系,按照规则定义外码。A、一对多:将“一”表中的主码作为外码放在“多”表中,外码总是在“多”的一方。B、弱实体:将父表的主码作为外码放在弱实体中。弱实体的主码由父表的主码与弱实体本身的候选码组成。也可以为弱实体建立新的独立的标识符ID。C、一对一:将一个表的主码作为外码放在另一个表中,外码通常是放在操作比较频繁的表中。也可以将两个实体合并成一个实体。D、多对多:建立复合实体,复合实体的主码由两个父实体的主码复合组成。复合实体的主码也是外码。第三讲 关系模型(逻辑结构设计)关系理论是建立在集合代数理论基础上的,有着坚实的数学基础。E.F.Codd于70年代初提出关系数据理论,他因此获得1981年的ACM图灵奖。早期代表系统:SystemR:由IBM研制。INGRES由加州Berkeley分校研制。目前主流的商业数据库系统:Oracle,Informix,Sybase,SQL Server,DB2,Access,Foxpro,Foxbase。31 关系基本概念关系理论是以集合代数为基础的。311 域(Domain):一组值的集合,这组值具有相同的数据类型。如整数的集合、字符串的集合、全体学生的集合。用D表示。312 笛卡尔积(Cartesian Product)一组域D1 , D2 , Dn的笛卡尔积为:D1D2Dn = (d1 , d2 , , dn) | diDi , i=1,n。笛卡尔积的每个元素(d1 , d2 , , dn)称作一个n元组(n-tuple)。元组的每一个值di叫做一个分量(component)。若Di为有限集其基数为mi(i=1,2,3n) ,则笛卡尔积的基数为笛卡尔积可表示为一个二维表,表中的每行对应一个元组,表中每列对应一个域。例:D1为教师集合(T)= t1,t2D2为学生集合(S)= s1,s2 ,s3D3为课程集合(C)= c1,c2则D1D2D3是个三元组集合,元组个数为232,是所有可能的(教师,学生,课程)元组集合。313 关系(1)笛卡尔积D1D2Dn的子集叫做在域D1 , D2 , Dn上的关系,用R(D1 , D2 , Dn )表示。(2)R是关系的名字,n是关系的度或目。(3)关系是笛卡尔积中有意义的子集。关系也可以表示为二维表。(4)关系的性质:列是同质的,即每一列中的分量来自同一域,是同一类型的数据。如TEACH(T, S, C)= (t1 , s2 , c1) ,(t1 , s1 , c1)是错误的。(5)不同的列可来自同一域,每列必须有不同的属性名。如P=t1,t2 , s1,s2 ,s3,C= c1,c2,则TEACH不能写成TEACH (P, P, C),还应写成TEACH(T, S, C)。(6)行列的顺序无关紧要。任意两个元组不能完全相同(集合内不能有相同的两个元素)。每一分量必须是不可再分的数据。满足这一条件的关系称作满足第一范式(1NF)的。314 关系的6条性质(1)列是同性质的,来自同一个域。(2)不同的列可以来自于同一个域。(3)列的顺序无所谓(4)行的顺序无所谓(5)任意两个元组不能完全相同(6)分量必须取原子值,每个分量都是不可分的数据项。32 关系模式数据结构:单一的数据结构关系。 实体集、联系都表示成关系。DEPT(D# , DN , DEAN)S(S# , SN , SEX , AGE , D#) (外表)C(C# , CN , CREDIT)PROF(P# , PN, D# ,SEX, SAL)SC(S# , C# , SCORE)TEACH(P# , C#)321 候选码(Candidate Key)关系中的某一属性或属性组的值能唯一地标识一个元组,称该属性或属性组为候选码如DEPT中的D#,DN都可作为候选码。任何一个候选码中的属性称作主属性。如SC中的S#,C#。322 主码(Primary Key)进行数据库设计时,从一个关系的多个候选码中选定一个作为主码。如可选定D#作为DEPT的主码。 333 外部码(Foreign Key)关系R中的一个属性组,它不是R的码,但它与另一个关系S的码相对应,则称这个属性组为R的外部码。如S关系中的D#属性。334 关系模式关系的描述称作关系模式,包括关系名、关系中的属性名、属性向域的映象、属性间的数据依赖关系等,记为:R(U,D,dom,F),简单记作R(A1 , A2 , An ) 。R:为关系名。U:组成改关系的属性名的集合。D:U属性所来自的域。dom:属性向域的映象一般直接说明为属性的类型、长度等。F:属性间的函数依赖关系。某一时刻对应某个关系模式的内容(元组的集合)称作关系。关系模式是型,是稳定的。关系是某一时刻的值,是随时间不断变化的。335 关系数据库其型是关系模式的集合,即数据库描述,称作数据库的内涵(Intension)。其值是某一时刻关系的集合,称作数据库的外延(Extension)。336 关系操作关系操作是集合操作,操作的对象及结果都是集合,是一次一集合(Set-at-a-time)的方式,而非关系型的数据操作方式是一次一记录(Record-at-a-time)。关系操作可以用关系代数和关系演算两种方式来表示,它们是相互等价的。如用关系代数来表示关系的操作,可以有选择、投影、连接、除、交、差、并等。337 关系模式的完整性(1)实体完整性:关系的主码中的属性值不能为空值。意义:关系对应到现实世界中的实体集,元组对应到实体,实体是相互可区分的,通过主码来唯一标识,若主码为空,则出现不可标识的实体,这是不容许的。(2)参照完整性:A、如果关系R2的外部码Fk与关系R1的主码Pk相对应,则R2中的每一个元组的Fk值或者等于R1 中某个元组的Pk 值,或者为空值。B、意义:如果关系R2的某个元组t2参照了关系R1的某个元组t1,则t1必须存在。(3)用户定义的完整性:用户针对具体的应用环境定义的完整性约束条件。如S#要求是8位整数,SEX要求取值为“男”或“女”。(4)系统支持A、实体完整性和参照完整性由系统自动支持。B、系统应提供定义和检验用户定义的完整性的机制。33关系数据语言概述331 抽象的查询语言(1)关系代数:用对关系的运算来表达查询,需要指明所用操作。(2)关系演算:用谓词来表达查询,只需描述所需信息的特性。元组关系演算:谓词变元的基本对象是元组变量。域关系演算:谓词变元的基本对象是域变量。332 具体系统中的实际语言SQL:介于关系代数和关系演算之间,由IBM公司在研制System R时提出的。QUEL:基于Codd提出的元组关系演算语言ALPHA,在INGRES上实现。QBE:基于域关系演算,由IBM公司研制。333 关系数据语言的特点(1)一体化:一般关系系统的数据语言都同时具有数据定义、数据操纵和数据控制语言,而不是分为几个语言。对象单一,都是关系,因此操作符也单一。而非关系型系统,如DBTG,有对记录的操作,有对系的操作。(2)非过程化:用户只需提出“做什么”,无须说明“怎么做”,存取路径的选择和操作过程由系统自动完成。(3)面向集合的存取方式:操作对象是一个或多个关系,结果是一个新的关系(一次一关系)。非关系系统是一次一记录的方式。34关系代数关系代数是一种抽象的查询语言,它是对关系的运算来表达查询的。341 关系代数分类法1:(1) 基本运算A、一元运算:选择、投影、更名。B、多元运算:广义笛卡儿积、并、交、集合差。(2)其它运算:自然连接、除、赋值。(3)扩展运算:广义投影、外连接、聚集。(4)修改操作:插入、删除、更新。分类法2:(1)传统的集合运算:并,差,交,广义笛卡尔积。(2)专门的关系运算:选择,投影,连接,除。342 一些标记给定关系模式R(A1 , A2 , , An),设R是它的一个具体的关系,tR是关系的一个元组。分量:设tR,则tAi表示元组t中相应于属性Ai的一个分量。属性列:A = Ai1 ,Ai2 , ,AikA1 ,A2 , ,An,称A为属性列或域列。tAi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论