福建专升本SQL重点重点

上传人:干*** 文档编号:180872465 上传时间:2023-01-08 格式:DOCX 页数:29 大小:78.70KB
收藏 版权申诉 举报 下载
福建专升本SQL重点重点_第1页
第1页 / 共29页
福建专升本SQL重点重点_第2页
第2页 / 共29页
福建专升本SQL重点重点_第3页
第3页 / 共29页
资源描述:

《福建专升本SQL重点重点》由会员分享,可在线阅读,更多相关《福建专升本SQL重点重点(29页珍藏版)》请在装配图网上搜索。

1、第一讲 数据库系统概论 1.1 数据库系统概论 1.1.1区分数据、数据库、数据库管理系统、数据库系统(1)数据(Data :数据库中存储的基本对象。数据的解释是指对数据含义的说明。数据的 含义称为数据的语义。(2)数据库(DataBase,DB):长期存储在在计算机内的、有组织、可共享的数据集合。(3)数据库管理系统(DataBase Management System,DBMS :数据库管理系统是位于用户 与操作系统之间的一层数据管理软件。A、数据定义功能(Data Definition Language,DDL)。Create Alter DropB、数据操纵功能(Data Manipu

2、lation Language,DML)。Select Insert Update DeleteC、数据库的运行管理:统一管理,统一控制,以保证数据的安全性、完整性、多用户对沪 剧的并发使用以及故障恢复。D、数据库的建立和维护功能:数据传输、转换功能、转存恢复功能。性能监视、分析。(4)数据库系统(DataBase System,DBS):在计算机系统中引入数据库后的系统,一般由 数据库、数据库管理系统及开发工具、应用系统、数据管理员和用户构成。一般把数据库系 统简称为数据库。 数据库系统数据库系统在计算机系统中的地位1.1.2 数据管理技术的产生和发展(1)人工管理阶段(20世纪50 年代中

3、期以前) 背景:计算机主要用于科学计算(数据量小、结构简单,如高阶方程、曲线拟和等)。外存只有磁带、卡片、纸带等,没有磁盘等直接存取设备。 没有操作系统,没有数据管理软件(用户用机器指令编码)。 特点:用户负责数据的组织、存储结构、存取方法、输入输出等细节。数据完全面向特定的应用程序,每个用户使用自己的数据,数据不保存,用完就撤走。 数据与程序没有独立性,程序中存取数据的子程序随着存储结构的改变而改变。(2)文件系统阶段(50年代后期-60年代中期) 背景:计算机不但用于科学计算,还用于管理。外存有了磁盘、磁鼓等直接存取设备。有了 专门管理数据的软件,一般称为文件系统,包括在操作系统中。特点:

4、系统提供存取方法(索引文件、链接文件、直接存取文件、倒排文件等),支持对文 件的基本操作(增、删、改、查等),用户程序不必考虑物理细节。数据的存取基本上以记 录为单位。一个数据文件对应一个或几个用户程序,还是面向应用的。数据与程序有一定的 独立性,因为文件的逻辑结构与存储结构由系统进行转换,数据在存储上的改变不一定反映 在程序上。存在问题:数据与程序的独立性差:文件系统的出现并没有从根本上改变数据与程序紧密结 合的状况。文件系统只是解脱了程序员对物理设备存取的负担,它并不理解数据的语义,只 负责存储。数据的语义信息只能由程序来解释,也就是说,数据收集以后怎么组织,以及数 据取出来之后按什么含义

5、应用,只有全权管理它的程序知道。数据的逻辑结构改变则必须修 改应用程序。一个应用若想共享另一个应用生成的数据,必须同另一个应用沟通,了解数据 的语义与组织方式。数据的冗余度大:数据仍然是面向应用的。当不同应用程序所需要的数 据有部分相同时,也必须建立各自的文件,而不能共享相同的数据。数据分散管理。数据的 不一致性:由于数据存在很多副本,给数据的修改与维护带来了困难,容易造成数据的不一 致性。(3)数据库系统阶段(60年代后期开始) 背景:计算机管理的数据量大,关系复杂,共享性要求强(多种应用、不同语言共享数据) 外存有了大容量磁盘,光盘。软件价格上升,硬件价格下降,编制和维护软件及应用程序成

6、本相对增加,其中维护的成本更高,力求降低。特点:有了数据库管理系统。面向全组织,面向现实世界。独立性较强。由DBMS统一存 取,维护数据语义及结构 数据库观点:数据不是依赖于处理过程的附属品,而是现实世界中独立存在的对象。1.1.3 数据库系统 VS 文件系统 文件系统的弱点:文件之间无联系,难于维护数据的完整性。数据库系统的用武之地:有查询,数据复杂 效率两面观:运行效率,开发效率1.1.4 数据库系统的特点(与文件系统比较)(1)面向全组织的复杂的数据结构: 支持全企业的应用而不是某一个应用。 数据反映了客观事物间的本质联系,而不是着眼于面向某个应用,是有结构的数据。这是数据库系统的主要特

7、征之一,与文件系统的根本差别。文件系统只是记录的内部有结构, 一个文件的记录之间是个线性序列,记录之间无联系。(2)数据的冗余度小,易扩充: 数据面向整个系统,而不是面向某一应用,数据集中管理,数据共享,因此冗余度小。 节省存储空间,减少存取时间,且可避免数据之间的不相容性和不一致性。每个应用选用数据库的一个子集,只要重新选取不同子集或者加上一小部分数据,就可以满 足新的应用要求,这就是易扩充性。(3)具有较高的数据和程序的独立性: 数据与程序相对独立,把数据库的定义和描述从应用程序中分离出去。描述又是分级的(全局逻辑、局部逻辑、存储),数据的存取由系统管理,用户不必考虑存取路径等细节, 从而

8、简化了应用程序。A、数据独立性:当数据的结构发生变化时,通过系统提供的映象(转换)功能,使应 用程序不必改变。B、数据的物理独立性:当数据的存储结构改变时,通过数据的存储结构与逻辑结构之 间的映象,数据的逻辑结构可以保持不变,从而应用程序也不必改变。C、数据的逻辑独立性:当数据的总体逻辑结构改变时,通过数据的总体逻辑结构与局 部逻辑结构之间的映象,数据的局部逻辑结构可以保持不变,从而应用程序也不必改变。数据独立性是由 DBMS 的二级映象功能来保证的。(4)统一的数据控制功能,数据共享程度高A、数据的安全性控制(Security):保护数据以防止不合法的使用所造成的数据泄露和 破坏。措施:用户

9、标识与鉴定,存取控制。B、数据的完整性控制(Integrity):数据的正确性、有效性、相容性。措施:完整性 约束条件定义和检查。C、并发控制(Concurrency):对多用户的并发操作加以控制、协调,防止其互相干扰 而得到错误的结果并使数据库完整性遭到破坏。措施:封锁。D、数据库恢复技术。12数据模型与数据抽象 数据模型是一种模型,是现实世界数据特征的抽象。121数据模型定义数据模型就是现实世界的模拟。122 数据模型数据模型:是数据库系统中用于提供信息表示和操作手段的形式构架。123 数据模型的三要素(1)数据结构:描述系统的静态特性,即组成数据库的对象类型。包括:数据本身:类型、内容、

10、性质。如网状模型中的数据项、记录,关系模型中的域、 属性,关系等。数据之间的联系:例如网状模型中的系型(Set Type)在数据库系统中一般按数据结构的类型来命名数据模型,如:“层次结构、网状结构、 关系结构。(2)数据操纵:描述系统的动态特性,即对数据库中对象的实例允许执行的操作的集合, 包括操作及操作规则。一般有检索、更新、插入、删除操作。数据模型要定义操作含义、操作符号、操作规则,以及实现操作的语言。(3)完整性约束:数据的约束条件是完整性规则的集合,规定数据库状态及状态变化所应 满足的条件,以保证数据的正确、有效、相容。124 数据抽象信息世界:数据库系统是面向计算机的,而应用是面向现

11、实世界的,两个世界存在着很 大差异,要直接将现实世界中的语义映射到计算机世界是十分困难的,因此引入一个信息世 界作为现实世界通向计算机实现的桥梁。一方面,信息世界是对现实世界的抽象,从纷繁的现实世界中抽取出能反映现实本质的 概念和基本关系;另一方面,信息世界中的概念和关系,要以一定的方式映射到计算机世界 中去,在计算机系统上最终实现。信息世界起到了承上启下的作用。模型分为两大类:1类是概念模型,2是数据模型。125 数据库系统模式模式:是数据库中全体数据的逻辑结构和特征的描述,仅仅涉及到“型“,不涉及到具 体的值,是相对稳定的。型与值的区别:型是指对某一类数据的结构和属性的说明,值是型的一个具

12、体的赋值。 元数据(meta-data)/数据字典:描述数据的数据。例:身份证,文献索引。13 概念模型131 概念模型 概念数据模型:按用户的观点来对数据和信息建模。用于组织信息世界的概念,表现从 现实世界中抽象出来的事物以及它们之间的联系。这类模型强调其语义表达能力,概念简单、 清晰,易于用户理解。它是现实世界到信息世界的抽象,是用户与数据库设计人员之间进行 交流的语言。如 E-R 模型。(1)实体(entity):客观存在并且可以相互区别的事物。(2) 属性(attribute):实体所具有的某一特性。(3)(主)码(key):唯一标识实体的属性集。Primary Key(PK)(4)

13、域(Domain):属性的取值范围称为该属性的域。(5)实体型(entry type):用实体名及其属性名集合来抽象和刻画同类实体。例:学生(学号,姓名,性别,出生日期)(6)实体集(entry set):同型实体的集合称为实体集。例:全体学生。(7)联系(Relationship):组成实体的各属性之间的联系。(8)元组:表中的一行。(9)分量:元组中的某一个属性值。(10)外码:参考到其他表的属性列。对应关系:1:11:N N:M1.3.2 概念模型表示方法 实体型:用矩型表示,矩型内写名实体名。 属性:用椭圆表示,并用无向边将其与相应的实体连接起来。 联系:用菱型表示,菱形内写明联系名。

14、如果一个联系也具有属性,则这些属性也要用无向 边联系。14数据模型141 常用数据模型(1)层次模型:用树结构表示实体之间联系的模型叫层次模型。树由节点和连线组成,节点代表实体型,连线表示两实体型间的一对多联系。 树有以下特性:有且仅有一个节点,无父节点,此节点称为树的根(Root)。 树中的其它节点都有且仅有一个父节点。父节点,子节点,根节点 优点:结构简单,易于实现。缺点:支持的联系种类太少,只支持二元一对多联系。数据操纵不方便,子结点的存取 只能通过父结点来进行。代表产品:IBM的IMS数据库,1969年研制成功。( 2 )网状模型是一个满足下列条件的有向图: 可以有一个以上的节点无父节

15、点。至少有一个节点有多于一个的父节点(排除树结构)。 特点:表达的联系种类丰富。结构复杂。( 3 )关系模型用二维表来表示实体及其相互联系 优点:简单,表的概念直观,用户易理解。非过程化的数据请求,数据请求可以不指明路径。 数据独立性,用户只需提出“做什么”,无须说明“怎么做”。坚实的理论基础。14 数据库系统结构141数据库系统的三级模式结构 模式的分级:为了提高数据的物理独立性和逻辑独立性,使数据库的用户观点,即用户 看到的数据库,与数据库的物理方面,即实际存储的数据库区分开来,数据库系统的模式是 分级的。数据库系统三级模式结构:CODASYL(Conference On DataSyst

16、em Language,美国数据 系统语言协商会)提出 外模式(用户模式,子模式)、模式(概念模式)、内模式(存储模 式)三级模式的概念。三级模式之间有两级映象。模式(Schema):也称逻辑模式。所有用户的公共数据视图。是数据库中全体数据的全局逻辑 结构和特性的描述。不涉及具体的物理存储细节和硬件环境,也与具体的应用程序无关。一 个数据库只有一个模式。外模式(Sub-Schema)(用户模式,子模式):用户的数据视图。是数据的局部逻辑结构,模 式的子集,有力的控制安全性。内模式(Storage Schema):又称存储模式。数据的物理结构及存储方式(举例)142 数据库二级映象功能 外模式/

17、模式映象:定义某一个外模式和模式之间的对应关系,映象定义通常包含在各 外模式中。当模式改变时,修改此映象,使外模式保持不变,从而应用程序可以保持不变, 称为逻辑独立性。模式/内模式映象:定义数据逻辑结构与存储结构之间的对应关系。存储结构改变时, 修改此映象,使模式保持不变,从而应用程序可以保持不变,称为物理独立性。1. 4. 3 ANSI/X3/SPARC(75,78)提出SPARC报告,其ANSI模型分为外部级、概念级、内部 级。1. 5 数据库系统的构成1. 5. 1 几个相关概念数据库:数据的集合。由DBMS统一管理,多用户共享。数据库管理系统DBMS :系统软件,对数据库进行统一管理和

18、控制。 数据库系统:带有数据库的整个计算机系统,包括硬件、软件、数据、人员。1. 5. 2 数据库系统的软硬件层次1 . 5. 3 数据库系统的主要成分硬件:内存大,放得下OS,DBMS核心,系统缓冲区,用户工作区等;大容量、直接存 取的外存设备;作数据备份的磁带。软件:OS, DBMS,高级语言编译系统及其与数据库的接口,应用开发工具,应用系统。 数据:包括目标数据(数据本身)及描述数据(对数据的说明信息)。用户: 最终用户:通过应用系统的用户接口(菜单等)使用数据库。 应用程序员:基于外模式来编写应用程序。系统分析员:负责应用系统的需求分析和规范定义,确定系统的软硬件配置,参与数据 库模式

19、设计。数据库管理员DBA:负责数据库的全面管理和控制。1. 5. 4 DBA的重要性:重要资源,维护整个组织的信息资源。共享资源,多用户共享,需 要统一管理、协调、监控。1 . 5. 5 DBA 职责 建库方面:确定模式、外模式、存储结构、存取策略、负责数据的整理和装入。 用库方面:定义完整性约束条件,规定数据的保密级别、用户权限,监督和控制数据库 的运行情况,制定后援和恢复策略,负责故障恢复。改进方面: (1)监督分析系统的性能(空间利用率,处理效率); (2)数据库重组织,物 理上重组织,以提高性能; (3)数据库重构造,设计上较大改动,模式和内模式修改。1.5.5 DBMS 的层次结构1

20、.5.6 DBMS 的主要功能(1) 数据库定义功能:提供DDL语言(Data Description Language)描述外模式、模式、 内模式(源模式)。模式翻译程序把源模式翻译成目标模式,存入数据字典中。( 2)数据存取功能:提供DML语言(Data manipulation language)对数据库进行检索、插入、修改、删除。 DML类型:a、宿主型:DML不独立使用,嵌入到高级语言(主语言)程序中使用。B、 自含型:独立使用,交互式命令方式。DBMS控制并执行DML语句:a、宿主型:有预编译和增强编译两种方式。B、自含型: 解释执行。( 3)数据库运行管理:并发控制、存取控制、完

21、整性约束条件检查和执行,日志组织和管 理,事务管理和自动恢复。(4)数据组织、存储和管理:用户数据、索引、数据字典的组织、存储和管理,包括文件 结构、存取方式、数据之间的联系的实现等。(5)数据库的建立和维护功能:数据的装入、转换、卸出,数据库的转储、恢复、性能监 视和分析等。16 数据库新方向161 新的数据库管理系统(1)面向对象数据库(2)对象-关系数据库(3)并行数据库(4)分布式数据库162 新的数据库应用(1)数据仓库(2)数据挖掘(3)OLAP第二章 实体-联系模型(概念数据库设计)21 数据库设计过程 22 基本概念2. 2. 1 1976 年,P.P.S.Chen 提出 E-

22、R 模型(En tit y-Rela ti onship Model),用 E-R 图来 描述概念模型。观点:世界是由一组称作实体的基本对象和这些对象之间的联系构成的。2. 2. 2 基本概念(1)实体(Entity):客观存在并可相互区分的事物叫实体。如学生张三、工人李四、 计算机系、数据库概论。(2)属性(Attribute):实体所具有的某一特性。一个实体可以由若干个属性来刻画。 例如,学生可由学号、姓名、年龄、系、年级等组成。(4)域(Domain):属性的取值范围。例如,性别的域为(男、女),月份的域为1到 12的整数。(5)实体型(EntityType):实体名与其属性名集合共同构

23、成实体型。例,学生(学号、 姓名、年龄、性别、系、年级)。注意实体型与实体(值)之间的区别,后者是前者的一个 特例。如学生(9808100,王平, 21,男,计算机系, 2)是一个实体。(6)实体集(Entity Set):同型实体的集合称为实体集。如全体学生。联系(Relationship):实体之间的相互关联。如学生与老师间的授课关系,学生与学生 间有班长关系。联系也可以有属性,如学生与课程之间有选课联系,每个选课联系都有一个 成绩作为其属性。同类联系的集合称为联系集。(7)元或度(Degree):参与联系的实体集的个数称为联系的元。如学生选修课程是二 元联系,供应商向工程供应零件则是三元

24、联系。(8)码(Key):A、候选码:关系中的某一属性或属性组的值能唯一地标识一个元组,称该属性或属性 组为候选码。B、主码(Primary Key): 个关系有多个候选码,从中选定一个用来区别同一实体集 中的不同实体,称作主码。一个实体集中任意两个实体在主码上的取值不能相同。 如学号是学生实体的码。通讯录(姓名,邮编,地址,电话, Email, BP)C、外码:D、全码:关系模型中所有属性组是这个关系模式的候选码,称为全码。(9) 参与(Participation):实体集之间的关联称为参与,即实体参与联系。如王军 选修“数据库基础”,表示实体“王军”与 “数据库基础”参与了联系“选修”。如

25、果实体 集E中的每个实体都参与到联系集R中的至少一个联系,则称E全部参与R。如果实体集E 中只有部分实体参与到联系集R的联系中,则称E部分参与R。如“职工”与“部门”之间 的“管理”联系,“职工”实体集部分参与,而“部门”实体集完全参与。(10) 角色(Role):实体在联系中的作用称为实体的角色。当同一个实体集不止一次 参与一个联系集时,为区别各实体的参与联系的方式,需要显式指明其角色。如学生与班长 关系,职工与职工之间的经理关系,课程之间的先修关系。223 属性类型(1) 简单属性 :不可再分的属性。如学号、年龄、性别。(2) 复合(Composite)属性:可以划分为更小的属性。可以把相

26、关属性聚集起来,使模 型更清晰。如电话号码=区号+本地号码(3) 单值属性:每一个特定的实体在该属性上的取值唯一。如学生的学号,年龄、性别、 系别等。(4) 多值属性:某个特定的实体在该属性上的有多于一个的取值。如学生(学号,所选课程, 联系电话),的“所选课程”,“联系电话”。(5) NULL属性:Null表示“无意义”,当实体在某个属性上没有值时设为Null。如通讯录(姓名,email,电话,BP),若某人没有email地址,则在email属性上取值 为 null。 null 表示“值未知”,即值存在,但目前没有获得该信息。如职工(姓名,部门,工种,身份证),如果目前不知道职工身份证号码,

27、则设身份证 值为 null。实体完整性:作为主码的属性上取值不能为null。(6) 派生(Derived)属性与基属性:可以从其他相关的属性或实体派生出来的属性值。如 学生(学号,姓名,平均成绩),选课(学号,课程号,成绩),则平均成绩可由学生所选课 程的总成绩除以课程总数来得到。称平均成绩为派生属性,而成绩为基属性,或存储属性。 数据库中,一般只存基属性值,而派生属性只存其定义或依赖关系,用到时再从基属性中计 算出来。基本表 VS 视图 多值属性用双椭圆表示,或用双线与实体相连。 派生属性用虚椭圆表示,或用虚线与实体相连23 映射约束2. 3. 1 映射的基数(Mapping Cardina

28、lities): 实体之间的联系的数量,即一个实体通过一个联系集能与另一实体集相关联的实体的数 目。可以有一对一的(1:1), 一对多的(1:m),多对多的(m:n)几种情况。在 E-R 图中,用箭头或线段来表示联系的映射基数。(1) 二元联系集的映射基数:一对一、一对多、多对多(2) 一个实体集内的二元联系:一对一、一对多、多对多(3) 多个实体集间联系的情况2. 3. 2 存在依赖(Existence Dependency)如果实体x的存在依赖于实体y的存在,则称x存在依赖于y。y称作支配实体,x称作从属实体。如果y被删除,则x也要被删除。考虑员工亲属的 例子2. 3. 3 弱实体集(We

29、ak Entity Set)如果一个实体集的所有属性都不足以形成主码,则称这样的实体集为弱实体集。弱实体集与其拥有者之间的联系称作标识性联系(iden tifying rela tionship)。 弱实体集与强实体集之间是一对多的联系。弱实体集必然存在依赖于强实体集(Strong Entity Set)。存在依赖并不总会导致一个 弱实体集,从属实体集可以有自己的主码。如实体集信用卡(信用卡号,客户帐号,金额),它存在依赖于客户帐号实体集,但信用卡 有自己的主码信用卡号。234 为什么使用弱实体集 通过为弱实体集加上合适的属性,可转变为强实体集,为什么还要使用弱实体集?(1)避免数据冗余(强实

30、体集码重复),以及因此带来的数据的不一致性。(2)弱实体集反映了一个实体对其它实体依赖的逻辑结构。(3)弱实体集可以随它们的强实体集的删除而自动删除。(4)弱实体集可以物理地随它们的强实体集存储。235 复合实体复合实体的主码一般由两个(或两个以上)属性构成。236 实体的超类与子类举例:飞行员工与普通员工24 数据抽象与 E-R 模型设计步骤( 1 )数据抽象( 2)设计局部 E-R 模型(3)设计全局E-R模型A、合并局部E-R图,生成初步E-R图:可能发生的问题,属性冲突,名称冲突,结构 冲突。属性冲突: 1、分为属性值域冲突,既属性值的类型,取值范围,或取值集合不同;2、 属性的取值冲

31、突,例如:重量:公斤,斤。名称冲突:同名异义,异名同义。结构冲突: 1、同一对象在不同的应用中有不同的抽象,例如:教师的职称可能是一个 实体也可能是一个属性。 2、同一实体在不同应用中属性组成不同,可能是属性个数或属性 次序不同。 3、同一联系在不同应用中呈现不同的类型。B、消除冗余生成E-R图2. 5将E-R模型转换成数据库一般规则(1)将每一个实体转换成一个关系。( 2)所有主码必须定义非空。(3)对于二元联系,按照规则定义外码。A、一对多:将“一”表中的主码作为外码放在“多”表中,夕卜码总是在“多”的一方。B、弱实体:将父表的主码作为外码放在弱实体中。弱实体的主码由父表的主码与弱实 体本

32、身的候选码组成。也可以为弱实体建立新的独立的标识符ID。C、一对一:将一个表的主码作为外码放在另一个表中,外码通常是放在操作比较频繁 的表中。也可以将两个实体合并成一个实体。D、多对多:建立复合实体,复合实体的主码由两个父实体的主码复合组成。复合实体 的主码也是外码。第三讲 关系模型(逻辑结构设计)关系理论是建立在集合代数理论基础上的,有着坚实的数学基础。E.F.Codd于70年代初提出关系数据理论,他因此获得1981年的 ACM 图灵奖。早期代表系统:SystemR:由IBM研制。INGRES由加州Berkeley分校研制。 目前主流的商业数据库系统: Oracle,Informix,Syb

33、ase,SQL Server,DB2, Access,Foxpro,Foxbase。31 关系基本概念关系理论是以集合代数为基础的。3. 1. 1 域(Domain): 一组值的集合,这组值具有相同的数据类型。如整数的集合、字符串的集合、全体学生 的集合。用D表示。3. 1. 2 笛卡尔积(Car tesian Product)一组域 D1 , D2,,Dn 的笛卡尔积为:D1XD2XXDn = (dl, d2 ,,dn) | di uDi , i=1,n。笛卡尔积的每个元素(d1 , d2 ,,dn)称作一个n元组(n-tuple)。 元组的每一个值di叫做一个分量(component)。若

34、Di为有限集其基数为mi(i=1,2,3n),则笛卡尔积的基数为M二打mii=1 笛卡尔积可表示为一个二维表,表中的每行对应一个元组,表中每列对应一个域。 例:D1为教师集合(T) = t1, t2D2 为学生集合(S) = s1, s2 , s3D3为课程集合(C) = c1, c2则D1XD2XD3是个三元组集合,元组个数为2X3X2,是所有可能的(教师,学生, 课程)元组集合。3. 1. 3 关系(1) 笛卡尔积D1XD2XXDn的子集叫做在域D1 , D2 , , Dn上的关系,用R(D1 , D2 , , Dn ) 表示。(2) R是关系的名字,n是关系的度或目。(3) 关系是笛卡尔

35、积中有意义的子集。关系也可以表示为二维表。(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) 行列的顺序无关紧要。任意两个元组不能完全相同(集合内不能有相同的两个元 素)。每一分量必须是不可再分的数据。满足这一条件的关系称作满足第一范式

36、(1NF)的。 3.1.4 关系的 6 条性质(1) 列是同性质的,来自同一个域。(2) 不同的列可以来自于同一个域。(3) 列的顺序无所谓( 4)行的顺序无所谓( 5)任意两个元组不能完全相同(6) 分量必须取原子值,每个分量都是不可分的数据项。3. 2 关系模式 数据结构:单一的数据结构关系。 实体集、联系都表示成关系。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#)3. 2. 1

37、 候选码(Candidate Key) 关系中的某一属性或属性组的值能唯一地标识一个元组,称该属性或属性组为候选码 如DEPT中的D#,DN都可作为候选码。任何一个候选码中的属性称作主属性。如SC中 的 S#, C#。3. 2. 2 主码(Primary Key)进行数据库设计时,从一个关系的多个候选码中选定一个作为主码。如可选定D#作为 DEPT 的主码。3. 3. 3 外部码(Foreign Key)关系R中的一个属性组,它不是R的码,但它与另一个关系S的码相对应,则称这个属 性组为R的外部码。如S关系中的D#属性。3. 3. 4 关系模式 关系的描述称作关系模式,包括关系名、关系中的属性

38、名、属性向域的映象、属性间的数据依赖关系等,记为:R (U,D,dom,F),简单记作R(A1 , A2,An )。 R:为关系名。U:组成改关系的属性名的集合。D: U 属性所来自的域。dom :属性向域的映象一般直接说明为属性的类型、长度等。F:属性间的函数依赖关系。 某一时刻对应某个关系模式的内容(元组的集合)称作关系。 关系模式是型,是稳定的。关系是某一时刻的值,是随时间不断变化的。3. 3. 5 关系数据库其型是关系模式的集合,即数据库描述,称作数据库的内涵(In tension)。 其值是某一时刻关系的集合,称作数据库的外延(Extension)。3. 3. 6 关系操作关系操作是

39、集合操作,操作的对象及结果都是集合,是一次一集合(Se t-at-a-time) 的方式,而非关系型的数据操作方式是一次一记录(Record-at-a-time)。关系操作可以用关系代数和关系演算两种方式来表示,它们是相互等价的。 如用关系代数来表示关系的操作,可以有选择、投影、连接、除、交、差、并等。3. 3. 7 关系模式的完整性(1)实体完整性:关系的主码中的属性值不能为空值。 意义:关系对应到现实世界中的实体集,元组对应到实体,实体是相互可区分的,通过 主码来唯一标识,若主码为空,则出现不可标识的实体,这是不容许的。( 2)参照完整性:A、如果关系R2的外部码Fk与关系R1的主码Pk相

40、对应,则R2中的每一个元组的Fk 值或者等于R1中某个元组的Pk值,或者为空值。B、意义:如果关系R2的某个元组t2参照了关系R1的某个元组t1,则t1必须存在。(3) 用户定义的完整性:用户针对具体的应用环境定义的完整性约束条件。如S#要求是8位整数,SEX要求取值 为“男”或“女”。(4) 系统支持A、实体完整性和参照完整性由系统自动支持。B、系统应提供定义和检验用户定义的完整性的机制。33关系数据语言概述331抽象的查询语言(1)关系代数:用对关系的运算来表达查询,需要指明所用操作。(2)关系演算:用谓词来表达查询,只需描述所需信息的特性。元组关系演算:谓词变元的基本对象是元组变量。 域

41、关系演算:谓词变元的基本对象是域变量。332具体系统中的实际语言SQL:介于关系代数和关系演算之间,由IBM公司在研制System R时提出的。QUEL:基于Codd提出的元组关系演算语言ALPHA,在INGRES上实现。QBE:基于域关系演算,由IBM公司研制。333关系数据语言的特点(1)一体化:一般关系系统的数据语言都同时具有数据定义、数据操纵和数据控制语言, 而不是分为几个语言。对象单一,都是关系,因此操作符也单一。而非关系型系统,如DBTG, 有对记录的操作,有对系的操作。(2)非过程化:用户只需提出“做什么”,无须说明“怎么做”,存取路径的选择和操作过 程由系统自动完成。(3)面向

42、集合的存取方式:操作对象是一个或多个关系,结果是一个新的关系(一次一关 系)。非关系系统是一次一记录的方式。34关系代数 关系代数是一种抽象的查询语言,它是对关系的运算来表达查询的。341关系代数 分类法1:(1)基本运算A、一元运算:选择、投影、更名。B、多元运算:广义笛卡儿积、并、交、集合差。(2)其它运算:自然连接、除、赋值。(3)扩展运算:广义投影、外连接、聚集。(4)修改操作:插入、删除、更新。分类法2:(1)传统的集合运算:并,差,交,广义笛卡尔积。(2)专门的关系运算:选择,投影,连接,除。342一些标记给定关系模式R(A1 , A2 ,,An),设R是它的一个具体的关系,twR

43、是关系的一 个元组。分量:设tgR,则t Ai表示元组t中相应于属性Ai的一个分量。属性列:A = Ai1 ,Ai2 , ,AikcA1 ,A2 ,,An,称 A 为属性列或域列。t Ai =(tAil, tAi2,,tAik)。给定一个关系R (X,Z), X和Z为属性组。定义,当tX=x时,x在R中的象集为: Zx=tZ | tgR,tX=x343选择(1)基本定义:在关系R中选择满足给定条件的元组(从行的角度)。qf(R) = t|tgR , F(t)=真F是选择的条件,VtgR,F(t)要么为真,要么为假。(2) F 的形式:由逻辑运算符连接算术表达式而成。逻辑表达式:A (与),V

44、(或),-1 (非) 算术表达式:X 9 YX, Y 是属性名、常量、或简单函数。9是比较算符,9 e , , , GCNO T CREDIT(SNO, CNO) P CREDIT(4) 传递函数依赖:在R(U)中,如果XtY, Y t Z,且Y匸X, Y X,则称Z对X 传递函数依赖。XTZ例: S( SNO,NAME,CNO,AGE,DNO,DEAN)SNO T NAMESNO T AGESNO T DNO , DNOT DEAN, DNO匸 SNO, DNOSNOV+SNO T DEAN系主任传递函数依赖于学号例:找出职工工资表中的传递函数依赖。例:关系模式S(S# , SN , SD

45、, DEAN , C# , G) 主码:(S#, C#)函数依赖:(S#,C#) f GS# T SN, (S#,C#) pTSNS# T SD, (S#,C#) pTSDSD T DEAN函数依赖集53 函数依赖的逻辑蕴涵(1)定义设R (U, F)是一个关系模式,X、Y是U中属性组,若在R (U, F)的任何一个满足F 中函数依赖的关系r上,都有函数依赖成立,则称F逻辑蕴涵 在关系模式R (U, F)中为F所逻辑蕴涵的函数依赖的全体称做F闭包,记为F+。例:有关系模式S (SNO, CNO,AGE,DNO,DEAN),其属性组上的函数依赖集为: F=SNOTNAME, SNOTAGE, S

46、NOTDNO, DNOTDEAN DNOTDEANF+=54 码541 定义(1) 超码:设K为R( U , F )的属性或属性组,若Kt U,则称K为R的超码。(2) 候选码:设K为R( U , F )的超码,若K / U,则称K为R的候选码。另一种定义:设有关系模式R(A1, A2,An), F是R上的函数依赖集,X是A1, A2, An的一个子集。如果满足条件:条件 1: XTA1A2Ane F+条件2:不存在X的真子集X,使的X TA1A2An成立则称X是R的一个侯选键。分析:条件1表示X能唯一决定一个元组,条件2表示X是能满足条件1而又无多余的属性 集。包含在任何一个候选码中的属性叫

47、做主属性。 不包含在任何一个候选码中的属性叫做非主属性。 最简单的情况下,单个属性是码,最极端的情况下,整个属性组是码,称做全码。 例:关系模式 CSZ(CITY, ST, ZIP),函数依赖集为:F=(CITY, ST) T ZIP, ZIPTCITY 候选码是:(CITY, ST)和(st,ZIP)两个候选码。证明方法见“函数依赖的公理系统”例(S#, C#, P#)是全码55 函数依赖的公理系统 为了确定一个关系模式的码,为了从一组函数依赖求得蕴涵的函数依赖,需要设计从 F 计算 F+。1974年由Armstrong首先提出来,称做Armstrong公理系统,它包括三条规则:5. 5.

48、1自反律:若Y匸X匸U,则XTY为F所蕴含。5. 5. 2增广律:若XTY为F所逻辑蕴涵,且Z匸U,则XZTYZ为F所逻辑蕴含。5. 5. 3传递律:若XTY及YTZ为F所逻辑蕴涵,则XTZ为F所逻辑蕴含。例:关系模式 CSZ (CITY, ST, ZIP),函数依赖集为:F= (CITY, ST) T ZIP, ZIPTCITY 证明:(ST, ZIP) T (CITY, ST, ZIP),即说明(ST, ZIP)是一个候选码。(1) ZIPTCITYF已经给出(2) (ST , ZIP) T (ST , CITY)对(1)用增广律,加 ST(3) (ST , ZIP) T (ST , CI

49、TY , ZIP)对(2)用增广律,加 ZIP候选码的证明思路有:a、(ST ZIP) T(ST CITY ZIP)Armstrong 公理是有效的、完备的。有效性:由F出发根据Armstrong公理推导出来的每一个函数依赖一定为F所逻辑蕴含。 完备性:F所逻辑蕴含的每一个函数依赖必定可以由F出发根据推理规则推导出来。根据 Armstrong 公理系统的 3 条推理规则可以得到下面 3 条很有用的推理规则:5. 5. 4合并规则:由XTY, XTZ,有XTYZ5. 5. 5伪传递规则:由 YWTZ,有XWTZ5. 5. 6分解规则:由XTY及Z匸Y,有XTZ 例: 2004年上午 37 题 结论:F+是所有利用Armstrong推理规则从F导出的函数依赖的集合。 判断XTY是否在F+中,只要判断XTY能否用推理规则从F导出。 例:如上例。5. 6 范式 5. 6. 1 定义(1)范式是对关系的不同数据依赖程度的要求。(2)通过模式分解

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!