第7章数据库技术基础资料

上传人:仙*** 文档编号:224177851 上传时间:2023-07-26 格式:PPT 页数:125 大小:1.73MB
收藏 版权申诉 举报 下载
第7章数据库技术基础资料_第1页
第1页 / 共125页
第7章数据库技术基础资料_第2页
第2页 / 共125页
第7章数据库技术基础资料_第3页
第3页 / 共125页
资源描述:

《第7章数据库技术基础资料》由会员分享,可在线阅读,更多相关《第7章数据库技术基础资料(125页珍藏版)》请在装配图网上搜索。

1、1第7章数据库技术基础 在当今的信息化社会中,数据库技术是在当今的信息化社会中,数据库技术是数据处理的核心和基础。数据处理的核心和基础。2还有网上购物数据库、无纸化考试数据库、学生选课数据库、学生信息还有网上购物数据库、无纸化考试数据库、学生选课数据库、学生信息管理数据库等。管理数据库等。铁路售票 数据库存储日期、车辆信息(车次、车厢号、座号是否售出、售出区间等)银行储蓄 数据库存储开户时间、储蓄类型、帐号、密码、目前余额,存入明细,提款明细等。6.1 实例数据库实例数据库3 人工表格人工表格 4教教师数据数据库表表结构构字段名称字段名称数据类型数据类型字段宽度字段宽度说说 明明编号编号文本文

2、本6 6姓名姓名文本文本8 8最多最多4 4个汉字或个汉字或8 8个字符个字符性别性别文本文本1 11 1表示男,表示男,2 2表示女表示女出生日期出生日期日期日期默认默认8 8职称职称文本文本1 11 1助教,助教,2 2讲师,讲师,3 3副教授,副教授,4 4教授,教授,5 5研究研究员员办公电话办公电话文本文本1515住宅电话住宅电话文本文本1515移动电话移动电话文本文本1515在职在职逻辑逻辑默认默认1 1TRUE TRUE 表示在职,表示在职,FALSE FALSE 表示退休表示退休5数据数据库表表编号编号姓姓 名名性别性别出生日期出生日期职职称称办公电话办公电话住宅电话住宅电话移

3、动电话移动电话在职在职103601103601李晓光李晓光1 11960-5-11960-5-13 3889223318892233185166123851661231301929865713019298657TrueTrue103621103621李李 敏敏2 21970-1-121970-1-122 2884567218845672185660304856603041380922812713809228127TrueTrue106723106723赵丹茹赵丹茹2 21945-12-31945-12-35 588499213884992131301987650213019876502Fals

4、eFalse105721105721张大伟张大伟1 11957-3-111957-3-114 4884261158842611588499212884992121390212563113902125631TrueTrue6人工表、数据库表及转换人工表对客观事物进行抽象、提取、归纳和总结,最后通过表格描述客观事物(对象)特性。数据库表:数据库表:是结构化、有数据类型的表格。是结构化、有数据类型的表格。人工表转为数据库表要拆分某些数据项,使其意义更加明确;为数据项起容易记忆、便于操作的名称;对某些数据项进行必要的编码。77.1.2 7.1.2 关系数据库表关系数据库表关系数据库表用于存储计算机要处

5、理的数据。要利用关系数据库表用于存储计算机要处理的数据。要利用计算机进行各种业务处理,其中一项重要工作就是计算机进行各种业务处理,其中一项重要工作就是将人工信息表格转换成计算机中的数据库表。将人工信息表格转换成计算机中的数据库表。数据库表是一种结构化、有数据类型的表格,对各个数据库表是一种结构化、有数据类型的表格,对各个数据项要规定字段能存储数据的最大宽度(尺寸)数据项要规定字段能存储数据的最大宽度(尺寸)和数据类型。和数据类型。8 关系数据关系数据库以文件形式存以文件形式存储在在计算机系算机系统中,文件中,文件扩展名展名为.MDB。关系数据关系数据库主要由数据主要由数据库表构成。例如,表构成

6、。例如,选课数数据据库中包含中包含“教教师”、“课程程”、“学生学生”和和“成成绩”4个数据个数据库表。此外,表。此外,还包含数据索引、表之包含数据索引、表之间关关系、数据有效性系、数据有效性规则和安全控制和安全控制规则等信息。等信息。7.1.3 关系数据关系数据库910数据管理数据管理数据管理数据管理是数据处理的核心,主要指数据收集、组织、是数据处理的核心,主要指数据收集、组织、分类、编码、存储、检索和维护。分类、编码、存储、检索和维护。计算机数据管理技术经历计算机数据管理技术经历4 4个发展阶段个发展阶段:人工管理、文件系统人工管理、文件系统 、数据库系统、数据库系统 和分布式数据库系和分

7、布式数据库系统。统。7.2 数据数据库系系统概述概述111人工管理阶段l特点特点程序之间不能共享数据;程序复杂;数据量小程序之间不能共享数据;程序复杂;数据量小且无法长期保存;人工重复输入数据。且无法长期保存;人工重复输入数据。l年年 代代19461946年至年至2020世纪世纪5050年代中期,计算机主要用于年代中期,计算机主要用于科学计算。科学计算。122 文件系统阶段l年年 代代2020世纪世纪5050年代后期至年代后期至6060年代中期。外存有磁鼓年代中期。外存有磁鼓和磁盘等存取设备和磁盘等存取设备 ;软件有操作系统和文件系统;软件有操作系统和文件系统;程序通过数据文件访问数据。程序通

8、过数据文件访问数据。程序共享数据;易长期保存数据;程序代码有程序共享数据;易长期保存数据;程序代码有所简化;所简化;数据冗余数据冗余(重复重复)度大,数据文件通常是非结度大,数据文件通常是非结构化文件;程序依赖数据(独立性差);构化文件;程序依赖数据(独立性差);专业性强。专业性强。l特点特点13外存储器 20 20世纪世纪6060年代后期至年代后期至8080年代初期年代初期 。磁盘容。磁盘容量增大,流行量增大,流行dBASEdBASE系列和系列和OracleOracle数据库管理系数据库管理系统等。统等。14主要特点1.1.数据结构化并与程序分离;数据结构化并与程序分离;2.2.数据集中式管

9、理,高度共享;数据集中式管理,高度共享;3.3.数据冗余度小,具有一致性和完整性规则。数据冗余度小,具有一致性和完整性规则。15分布式数据库系统阶段主要特点:主要特点:1.1.分布式数据分布式数据库将数据存放在不同位置的多台将数据存放在不同位置的多台计算算机上,可以在不同位置机上,可以在不同位置访问数据数据库中数据中数据.2.2.数据局部自治与集中控制相数据局部自治与集中控制相结合,具有很合,具有很强的可的可靠性和可用性;靠性和可用性;3.3.强大数据共享和并大数据共享和并发控制能力,使数据的使用价控制能力,使数据的使用价值更高,更高,应用范用范围更大;更大;4.4.数据一致性和安全性控制措施

10、更加完善数据一致性和安全性控制措施更加完善。目前支持分布式数据目前支持分布式数据库的数据的数据库管理系管理系统有有Access、SQL Server、Oracle和和Sybase等。等。16 数据数据库系系统(Data Base System,DBS)是指存)是指存储数据数据库的的计算机系算机系统,它,它为数据数据处理、多个用理、多个用户同同时访问和数据共享提供了便利条件。它由和数据共享提供了便利条件。它由计算机硬件、算机硬件、软件和相关人件和相关人员组成。成。6.2.2 数据数据库系系统组成成171.1.数据数据描描述述客客观事事物物特特征征及及其其相相互互联系系的的一一种种抽抽象象化化、符

11、符号号化化表表示示。可可以以是是数数字字、文文字字、图形形、图象象、声声音音和和动画等。画等。182.数据数据库数据数据库(Data Base,DB)是)是动态存存储在在计算机系算机系统中、有中、有组织、结构化的关构化的关联数据的集合。数据数据的集合。数据库以文件的形式存以文件的形式存储。每个数据每个数据库管理系管理系统都有各自的数据都有各自的数据库文件文件扩展名。例如,展名。例如,Access数据数据库文件文件扩展名展名为MDB;Visual FoxPro数据数据库文件文件扩展名展名为DBC;SQL Server数据数据库文件的文件的扩展名展名为MDF等。等。数据数据库中除包含数据中除包含数

12、据库表外,表外,还包含数据索引、数据包含数据索引、数据库表之表之间的的联系、有效性系、有效性规则和安全控制和安全控制规则等。等。193.数据数据库管理系管理系统数据数据库管理系管理系统(Data Base Management System,DBMS)是建立、)是建立、维护和管理数据和管理数据库的系的系统软件,它提供数件,它提供数据安全性和完整性控制机制,具有完据安全性和完整性控制机制,具有完备的数据的数据库操作命令体操作命令体系。系。可以在交互方式下管理和可以在交互方式下管理和访问(存取)数据(存取)数据库,也可以,也可以利用开利用开发工具开工具开发数据数据库应用程序。用程序。20DBMSO

13、S硬件DBMSDataBase Management System,建立、维护和管理数据库的软件。例如:214.数据数据库应用系用系统DBASData Base Application System,由由数数据据库系系统和和数数据据库应用用程程序序组成成,以以数数据据库为核核心心,针对某种某种业务开开发的的应用用软件系件系统。数数据据库库用用应应系系统统DBMSOSOS硬件硬件225.5.相关人员相关人员数据库管理员应用系统开发人员.应用程序用户 23 7.2.3 数据数据库管理系管理系统功能功能1.数据定义 通通过数据定数据定义语言言DDL,建立,建立维护数数据据库、数据、数据库表、表、视图

14、和索引。和索引。2.数据操纵 通通过数据操数据操纵语言言DML,对数据数据库中中的数据插入、修改和的数据插入、修改和删除。除。3.数据查询 通通过数据数据查询语言言DQL,对数据数据查询、排序、排序、汇总和表和表连接等操作。接等操作。4.数据库运行管理和控制核心部分,主要包括数据核心部分,主要包括数据库并并发控制,控制,安全性安全性检查,完整性,完整性约束条件束条件检查和和执行,数据行,数据库内部内部资料自料自动维护。245.数据数据库维护 包括数据更新和包括数据更新和转换,数据,数据库转存和存和恢复,数据恢复,数据库重新重新组织、结构构维护和和性能性能监视等。等。6.数据数据组织、存存储和管

15、理和管理对数据字典、用数据字典、用户数据和存取路径等数据和存取路径等信息信息进行分行分类组织、存、存储和管理,和管理,实现数据之数据之间的的联系。系。7.数据通信数据通信 DBMS要要经常与操作系常与操作系统打交道,打交道,进行信息交行信息交换。257.2.4 数据数据库系系统安全保安全保护 对于数据于数据库中的数据必中的数据必须采取安全保采取安全保护措施,避免措施,避免“黑黑客客”攻攻击、破坏或盗用;确保数据的一致性和正确性。、破坏或盗用;确保数据的一致性和正确性。数据数据库的保的保护措施可分措施可分为并并发控制、安全性控制和数控制、安全性控制和数据据库备份恢复份恢复3个方面内容个方面内容。

16、261.并并发控制控制并并发控制的方法之一是控制的方法之一是对数据数据项进行互斥行互斥访问。即当即当一个事一个事务访问某个数据某个数据项时,其他任何事,其他任何事务都不能都不能修改修改该数据数据项。在事。在事务修改数据修改数据项之前之前锁定数据定数据项-加加锁。实现互斥互斥访问的最常用方法是只允的最常用方法是只允许事事务访问该事事务当前当前锁定的数据定的数据项。锁有多种有多种类型,不同的型,不同的DBMS提供的提供的锁类型也有些差异,型也有些差异,常常见的的锁类型有:型有:共享型共享型锁排它型排它型锁独占数据独占数据库 27数据库系统安全保护并发控制方式 1)1)共享型锁共享型锁:如果一个事务

17、获得了某数据:如果一个事务获得了某数据项共享型锁,则该事务只可以读但不能写数据。项共享型锁,则该事务只可以读但不能写数据。姓名工龄工资李晓名101560许明华212100同时可以有多个事务获得共享型锁。同时可以有多个事务获得共享型锁。28数据库系统安全保护并发控制方式 2)2)排它型锁:如果一个事务获得某数据排它型锁:如果一个事务获得某数据项排它型锁,则该事务既可读也可写数据。项排它型锁,则该事务既可读也可写数据。姓名工龄工资李晓名101560许明华212100对一个数据项,某时刻只有一个事务能获对一个数据项,某时刻只有一个事务能获得排它型锁。且此时其他事务也得排它型锁。且此时其他事务也不能获

18、得不能获得此此数据项的共享型锁。数据项的共享型锁。29数据库系统安全保护并发控制方式 3)3)独占数据库:当一个事务访问数据库独占数据库:当一个事务访问数据库时,其他事务不能访问该数据库时,其他事务不能访问该数据库 。通常用于。通常用于数据库建立与维护阶段。数据库建立与维护阶段。30 数据安全性控制主要是为了防止数据失窃或遭到数据安全性控制主要是为了防止数据失窃或遭到破坏所采取的一系列措施。破坏所采取的一系列措施。DBMS所采取的安全措施所采取的安全措施有有:1.用用户标识和密和密码鉴定定;2.用用户分分级授授权:某些人具有添加、修改或某些人具有添加、修改或删除数据除数据权限,而其他用限,而其

19、他用户只有只有查询数据数据权限。限。3.数据加密数据加密;2.数据安全性控制数据安全性控制31数据库系统安全保护安全性控制 1)1)标识和密码标识和密码:设置和检查用户名和密码。:设置和检查用户名和密码。防止数据失窃或遭到破坏:防止数据失窃或遭到破坏:32数据库系统安全保护安全性控制 2)2)用户分级授权:用户分级授权:用户业务不同,授权有别。用户业务不同,授权有别。如:某些人可建立、删除表;添加、修改或删除表如:某些人可建立、删除表;添加、修改或删除表中数据,而其他人只具有查询数据的权限。中数据,而其他人只具有查询数据的权限。3)3)数据加密数据加密333.数据数据库备份与恢复份与恢复 备份

20、数据份数据库:周期性地:周期性地转储(备份)数据份)数据库,使数,使数据据库留有多个留有多个备份,最好脱离数据份,最好脱离数据库系系统环境保存境保存备份数据份数据库。建立日志文件建立日志文件:记载每个用每个用户操作数据操作数据库的的过程。程。恢复数据恢复数据库:根据日志文件中:根据日志文件中记载内容分析出故内容分析出故障点,利用障点,利用较理想的理想的备份数据份数据库,将数据,将数据库恢复到恢复到最近正确状最近正确状态。34要使要使计算机能算机能处理客理客观事物,必事物,必须对事物抽事物抽象,提取事物的特征信息。象,提取事物的特征信息。数据化抽象和提取学号 姓名 性别 政治面貌民族 出生日期来

21、源省市邮政编码联系电话7.3 三个世界与概念模型三个世界与概念模型357.3.1 从从现实世界到数据世界世界到数据世界抽象化抽象化数据化数据化信息世界信息世界(实实体体,属属性)性)数据世界数据世界(记录,数据项)(记录,数据项)现实世界现实世界(事事物物,特特征)征)概念模型描述概念模型描述数据模型描述数据模型描述36 现实世界:世界:现实世界由各种客世界由各种客观存在的事物构成,事物之存在的事物构成,事物之间既存在既存在联系又有差异。系又有差异。信息世界(概念世界):人信息世界(概念世界):人们对客客观事物及其事物及其联系的抽象描系的抽象描述和概念化。述和概念化。客客观事物事物为实体,事物

22、的特征体,事物的特征为属性。用概念属性。用概念模型描述模型描述实体之体之间的的联系。系。数据世界:信息世界数据化。将信息世界中的数据世界:信息世界数据化。将信息世界中的实体体进一步抽一步抽象、提取和象、提取和规范化,使之成范化,使之成为计算机能算机能处理的数据,最理的数据,最终保保存到数据存到数据库中。中。在数据世界中,用数据模型描述在数据世界中,用数据模型描述实体及其之体及其之间的的联系;用一行系;用一行数据(数据(记录)表示一个)表示一个实体;用数据体;用数据项、列或字段表示、列或字段表示实体体的属性。的属性。377.3.2 7.3.2 信息世界与概念模型信息世界与概念模型1)1)实体实体

23、实体实体:是客观事物的真实反映,可以是实际存在的:是客观事物的真实反映,可以是实际存在的对象、抽象概念或事件。对象、抽象概念或事件。2)2)实体属性实体属性实体属性实体属性:在信息世界中,将事物特性为实体属性在信息世界中,将事物特性为实体属性在信息世界中,将事物特性为实体属性在信息世界中,将事物特性为实体属性如:编号、姓名、性别、出生日期和职称如:编号、姓名、性别、出生日期和职称3)3)实体属性值实体属性值实体属性值实体属性值:实体属性的具体化表示,:实体属性的具体化表示,属性值属性值属性值属性值的的集集集集合合合合表示一个表示一个实体实体实体实体 。如:如:103601103601是编号值;

24、李晓光是姓名值;是编号值;李晓光是姓名值;1 1是性别值。是性别值。38u实体类型:用实体名及实体所有属性集合表示一实体类型:用实体名及实体所有属性集合表示一种实体类型,简称实体型种实体类型,简称实体型。通过实体型可以区分不同类型的事物通过实体型可以区分不同类型的事物u实实 体体 集:具有相同属性的实体集合称为实体集。集:具有相同属性的实体集合称为实体集。实体型抽象地刻画实体集实体型抽象地刻画实体集 。39学号学号姓名姓名性别性别民族民族出生日期出生日期2103010221030102 张晓伟张晓伟 男男 汉汉族族 19841984年年6 6月月1818日日 实体属性与值的关系学生实体属性学生

25、实体属性 学生实体属性值学生实体属性值 40学号学号姓名姓名性别性别民族民族出生日期出生日期学生(学号,姓名,性别,民族,出生日期)学生实体型412.2.概念模型及概念模型及E ER R方法方法概念模型是能概念模型是能够准确、方便地描述信息世界中准确、方便地描述信息世界中实体及体及实体之体之间的的联系的方法,又称系的方法,又称为实体模型或信息模型。体模型或信息模型。表示概念模型的方法有表示概念模型的方法有许多,其中常用方法是:多,其中常用方法是:实体体 联系方法系方法(Entity Relationship Approach),简称称为E R方法。方法。它与它与计算机系算机系统环境和具体的境和

26、具体的DBMS无关,无关,它依它依赖于人于人们描述描述实体的目的,也依体的目的,也依赖于人于人们对实体的体的观点和点和视角。因此,角。因此,对相同相同实体可以建立多个概念模型。体可以建立多个概念模型。42用图形方式描述实体及实体之间联系。其中:用图形方式描述实体及实体之间联系。其中:实体:用矩形框表示实体,框内文字注明实体:用矩形框表示实体,框内文字注明实体名。实体名。实体属性:用椭圆形框表示实体属性,框实体属性:用椭圆形框表示实体属性,框内文字注明属性名;用线与实体连接,表示与内文字注明属性名;用线与实体连接,表示与实体的隶属关系。实体的隶属关系。实体之间的联系:用菱形框表示实体之间实体之间

27、的联系:用菱形框表示实体之间的联系,框内文字注明联系方式;用连线连接的联系,框内文字注明联系方式;用连线连接关联的实体。关联的实体。43任课教师教 室使用教师编号课程编号名 称出生日期性 别姓名职 称联系电话是否在职编号周 几课节编 号座位数44 通通常常将将实实体体之之间间对对应应关关系系称称为为联联系系。实实体体之间的联系有一对一、一对多和多对多三种。之间的联系有一对一、一对多和多对多三种。一一对对一一联联系系:如如数数据据记记录录与与实实体体,教教师师与讲台与讲台。3.3.实体之间联系实体之间联系45 一一对对多多联联系系(1 1:NN):是是指指一一个个实实体体对对应应多多个个实实体体

28、,也也称称之之为为多多对对一一联联系系(NN:1 1)。例例如如,一一个个班班有有多个学生。多个学生。多多对对多多联联系系(MM:NN):是是指指多多个个实实体体对对应应多多个个实实体体。例例如如,一一个个学学生生选选修修多多门门课课程程,而而一一门门课课程程有有多多名学生选修,因此,学生与课程之间是多对多联系。名学生选修,因此,学生与课程之间是多对多联系。46 在数据世界中,将描述在数据世界中,将描述实体及体及实体之体之间联系的方法系的方法称称为数据模型。数据模型。数据模型是信息世界中概念模型的数数据模型是信息世界中概念模型的数据化,是数据据化,是数据库的的逻辑结构和数据基构和数据基础。DB

29、MS总是是基于某种数据模型,如基于某种数据模型,如层次型、网状型、关系型、面次型、网状型、关系型、面向向对象型。象型。7.47.4 数据模型数据模型47常常见的数据模型有的数据模型有层次数据模型、网状数据模型、关次数据模型、网状数据模型、关系数据模型和面向系数据模型和面向对象数据模型,不同的数据模型象数据模型,不同的数据模型用于不同用于不同类型的数据型的数据库管理系管理系统。48 层次数据模型通次数据模型通过树形形结构表示构表示实体(型)及体(型)及实体之体之间的的联系,系,“树”中每个中每个结点表示一个点表示一个实体(型)体(型)结点之点之间的箭的箭头表示表示实体之体之间的的联系(由父到子)

30、。系(由父到子)。层次数据模型可分次数据模型可分为基本基本层次数据模型和次数据模型和层次数据模次数据模型两种。型两种。7.4.1.7.4.1.层次数据模型层次数据模型 49基本层次数据模型基本层次数据模型基本层次数据模型仅描述两个实体型及其联系的数据基本层次数据模型仅描述两个实体型及其联系的数据模型。模型。学学 校校学学 院院科研机构科研机构学学 生生管理人员管理人员科研人员科研人员管理人员管理人员管理人员管理人员管理部门管理部门图图7.4.1 7.4.1 层次数据模型示例层次数据模型示例教师教师汽汽 车车驾驶员驾驶员图图7.4.2 7.4.2 基本层次数据模型示基本层次数据模型示例例50层次

31、数据模型主要特点:次数据模型主要特点:有且仅有一个根结点;每个有且仅有一个根结点;每个非根结点有且仅有一个父结点。非根结点有且仅有一个父结点。层次数据模型它最适次数据模型它最适合表示合表示实体的一体的一对多多联系。系。51没有父结点多个父结点 通通过网状网状结构表示构表示实体及体及联系。系。“网网”中每个中每个结点点表示一个表示一个实体型,体型,结点之点之间箭箭头表示表示实体体间的的联系。系。主要特点:可能有多个根主要特点:可能有多个根结点,某些非根点,某些非根结点可能有点可能有多个父多个父结点。点。网状数据模型适合于描述网状数据模型适合于描述实体的一体的一对一、一一、一对多和多多和多对多多联

32、系。系。7.4.2.网状数据模型网状数据模型 52层次数据模型与网状数据模型相似,逻辑结构层次数据模型与网状数据模型相似,逻辑结构上,都由基本层次数据模型组成;物理存储结构上上,都由基本层次数据模型组成;物理存储结构上 ,每一个结点,每一个结点(实体实体)都是一个存储记录,用链接指针都是一个存储记录,用链接指针实现记录之间的联系。实现记录之间的联系。53层次与网状模型优缺点能直观、形象地描述实体及其联系,易能直观、形象地描述实体及其联系,易于被人们理解和掌握于被人们理解和掌握 。优优 点点 数据结构较复杂,存储数据需要更多的数据结构较复杂,存储数据需要更多的链接指针;在检索数据时,需要考虑数据

33、的链接指针;在检索数据时,需要考虑数据的存储路径;在插入或删除数据时,涉及到调存储路径;在插入或删除数据时,涉及到调整链接指针。整链接指针。缺缺 点点 547.4.3.关系数据模型关系数据模型关系数据模型是通关系数据模型是通过二二维表描述表描述实体及其之体及其之间的的联系。通常将关系数据模型中的二系。通常将关系数据模型中的二维表表简称称为关系或表。关系或表。目前广泛应用的数据库管理系统目前广泛应用的数据库管理系统Visual FoxProVisual FoxPro、AccessAccess、SQL SQL ServerServer、OracleOracle和和SybaseSybase都支持关系

34、数据模型,它们由此得名都支持关系数据模型,它们由此得名关系型数据库管理系统。由它们管理的数据库被称为关系型数关系型数据库管理系统。由它们管理的数据库被称为关系型数据库。据库。55在关系数据模型中用一个二在关系数据模型中用一个二维表描述一种表描述一种实体或体或实体体型之型之间的的联系;表中的一行数据(系;表中的一行数据(记录)描述一个)描述一个实体及体及实体之体之间的的联系;表中的一个属性(字段或系;表中的一个属性(字段或数据数据项)描述)描述实体的一个属性。体的一个属性。56关系数据模型直接支持关系数据模型直接支持实体的一体的一对一和一一和一对多多联系,系,对于于实体的多体的多对多多联系,在系

35、,在设计关系数据关系数据库时,需要,需要对某些表某些表进行分解,增行分解,增设表示表示联系的表,使系的表,使实体的多体的多对多多联系系变成一成一对多多联系。系。关系数据模型不能关系数据模型不能显式地表示式地表示实体之体之间的的联系,系,实体之体之间的的联系往往系往往隐含在表的某些属性中。即通含在表的某些属性中。即通过属性的属性的值可以分析出可以分析出实体之体之间的的联系;通系;通过具有相同含具有相同含义的的属性(可能不同名)可以找出属性(可能不同名)可以找出实体型(表)之体型(表)之间的的联系。系。57584.面向对象数据模型面向对象数据模型 面向对象(面向对象(Object Oriented

36、Object Oriented)数据模型是一种可扩充)数据模型是一种可扩充数据模型,简称为对象数据模型。以面向对象数据模数据模型,简称为对象数据模型。以面向对象数据模型为基础的型为基础的DBMSDBMS被称为面向对象数据库管理系统被称为面向对象数据库管理系统(OODBMS OODBMS),简称为),简称为ODBMSODBMS。具有很强的描述复杂对象的能力,能包含更多的具有很强的描述复杂对象的能力,能包含更多的数据语义信息等优点,如对多媒体数据进行描述和管数据语义信息等优点,如对多媒体数据进行描述和管理。理。59 将现实中所有实体都模拟成对象。例如,一个整数、将现实中所有实体都模拟成对象。例如,

37、一个整数、一个日期、一辆汽车、一门课程等。一个日期、一辆汽车、一门课程等。一个对象对应一个对象对应E-RE-R模型中的一个实体。面向对象模型中的一个实体。面向对象数据模型将一个对象的相关数据和代码封装在一起,数据模型将一个对象的相关数据和代码封装在一起,成为一个单元。通过消息完成对象之间的沟通。成为一个单元。通过消息完成对象之间的沟通。1.对象对象60一个对象包含的内容:一个对象包含的内容:一组变量,每个变量对应一组变量,每个变量对应E ER R模型中的一个属性,模型中的一个属性,用于描述对象的状态、组成和特性。用于描述对象的状态、组成和特性。一组方法,用于描述对象行为特性。方法也称为操一组方

38、法,用于描述对象行为特性。方法也称为操作作 。一组对象所响应的消息,外界只能借助于消息与对一组对象所响应的消息,外界只能借助于消息与对象进行通信象进行通信 ,也称事件。,也称事件。612.2.对象类对象类 将具有相同属性和方法的对象归结为一类,将这些将具有相同属性和方法的对象归结为一类,将这些属性和方法在类中统一定义,将类中对象称为实例。属性和方法在类中统一定义,将类中对象称为实例。例如,将所有课程都归为一类,即课程类,各门课程具有公共属性为课程名称、例如,将所有课程都归为一类,即课程类,各门课程具有公共属性为课程名称、上课时间、上课地点和任课教师等;共同方法有上课、考试和留作业等。在定义类上

39、课时间、上课地点和任课教师等;共同方法有上课、考试和留作业等。在定义类过程中完成这些属性和方法的定义;过程中完成这些属性和方法的定义;课程名称课程名称上课时间上课时间地点地点任课教师任课教师上课上课考试考试留作业留作业623.3.类层次结构和继承类层次结构和继承 类类A A的子集可以被定义成类的子集可以被定义成类B B,类,类B B被称为类被称为类A A的子的子类,而类类,而类A A被称为类被称为类B B的超类或父类。的超类或父类。类的继承类的继承 :子类继承其所有超类的属性和方法,还:子类继承其所有超类的属性和方法,还可以增加自身独特的属性和方法。可以增加自身独特的属性和方法。课程课程专业外

40、语专业外语技术基础技术基础应用基础应用基础语言基础语言基础阅读写作阅读写作计算机计算机外语外语634.对象标识对象标识每个类可产生多个对象;每个对象都有惟一标识,简每个类可产生多个对象;每个对象都有惟一标识,简称称OIDOID。OIDOID由系统自动生成,不允许用户修改。由系统自动生成,不允许用户修改。647.5 关系数据库中基本概念关系数据库中基本概念 关系数据库是支持关系数据模型的一类数据库。关系数据库是支持关系数据模型的一类数据库。目前广泛应用的目前广泛应用的Visual FoxProVisual FoxPro、AccessAccess、SQL ServerSQL Server、Orac

41、leOracle和和SybaseSybase等都是关系数据库管理系(等都是关系数据库管理系(RDBMSRDBMSRelational Data Base Management SystemRelational Data Base Management System)。)。65 关系:是二维表,是实体的属性信息(属性名、类关系:是二维表,是实体的属性信息(属性名、类型和宽度)及其属性值的集合。将关系中所含属性型和宽度)及其属性值的集合。将关系中所含属性的个数的个数n n称为关系的元或目,通常也称称为关系的元或目,通常也称n n元关系或元关系或n n目目关系。关系。66 属性:表中的每一列称为一个

42、属性,也称为列、字属性:表中的每一列称为一个属性,也称为列、字段或数据项。每个属性都有属性名,也称为列名或段或数据项。每个属性都有属性名,也称为列名或字段名。字段名。67 元组:表中一行数据称为一个元组,也称为一个数元组:表中一行数据称为一个元组,也称为一个数据记录。据记录。通常一个元组对应一个实体,每张表中可通常一个元组对应一个实体,每张表中可含多个元组。含多个元组。例如例如(”0000200002”,”大学计算机基础大学计算机基础”,2 2,5454,2424,4 4)68一个表应该具有下列性质:一个表应该具有下列性质:属性的原子性:表中每个属性是不可以再分割的基属性的原子性:表中每个属性

43、是不可以再分割的基本数据项。本数据项。属性名的惟一性:同一表中属性不可重名;属性名的惟一性:同一表中属性不可重名;属性次序的无关性:属性次序的无关性:表中各个属性的前后顺序无关表中各个属性的前后顺序无关紧要;紧要;属性的有限性:一个表中有有限个属性;属性的有限性:一个表中有有限个属性;属性值域的同一性:同一属性具有相同的值域,即属性值域的同一性:同一属性具有相同的值域,即表中同一列数据必须具有相同的数据类型和取值范表中同一列数据必须具有相同的数据类型和取值范围围69关键字非空性:关键字中的每个属性,对任何元组关键字非空性:关键字中的每个属性,对任何元组都不能出现空值(都不能出现空值(NullN

44、ull),否则,关键字将失去对数),否则,关键字将失去对数据记录的标识作用。据记录的标识作用。元组(数据记录)次序的无关性:表中各个元组的元组(数据记录)次序的无关性:表中各个元组的前后顺序无关紧要;前后顺序无关紧要;元组的唯一性:表中任意两个元组不能完全相同;元组的唯一性:表中任意两个元组不能完全相同;元组的有限性:表中有有限个元组;元组的有限性:表中有有限个元组;70 关键字:由一个或多个属性组成,该组属性的值能关键字:由一个或多个属性组成,该组属性的值能惟一地标识表中的每个元组,并且,如果从该组属惟一地标识表中的每个元组,并且,如果从该组属性中去掉任意一个属性,表中就会出现关于剩余属性中

45、去掉任意一个属性,表中就会出现关于剩余属性重值的元组。性重值的元组。每个表都有关键字,通常将关键字每个表都有关键字,通常将关键字也称为表的也称为表的候选键或候选码。候选键或候选码。例如,教师号是教师表的候选码;课程号是课程表的例如,教师号是教师表的候选码;课程号是课程表的候选码。候选码。候选码可以由多个属性构成。例如,学号和课程号两候选码可以由多个属性构成。例如,学号和课程号两个属性构成成绩表中的候选码。一个表中可能有多个属性构成成绩表中的候选码。一个表中可能有多个候选码。个候选码。7172 主属性:通常将包含在候选码中的属性称为主属性;主属性:通常将包含在候选码中的属性称为主属性;将不在任何

46、候选码中的属性称为非主属性。将不在任何候选码中的属性称为非主属性。例如,学号和课程号都是成绩表中的主属性,而成绩例如,学号和课程号都是成绩表中的主属性,而成绩属性是成绩表中的非主属性。属性是成绩表中的非主属性。73 主关键字:一个表中可能有多个候选码,主关键字:一个表中可能有多个候选码,通常用户仅选用一通常用户仅选用一个候选码,将用户选用的候选码称为主关键字,也简称为主个候选码,将用户选用的候选码称为主关键字,也简称为主键、主码、键或码。键、主码、键或码。主键除了标识元组外,在建立表之间的联系时起着重要作用。主键除了标识元组外,在建立表之间的联系时起着重要作用。74 外码:一个表外码:一个表R

47、 R的一组属性的一组属性F F不是表不是表R R的候选码,如的候选码,如果果F F与某表与某表S S的主码相对应,则的主码相对应,则F F是表是表R R的外码或外键。的外码或外键。例如,教师号不是成绩表的候选码,而是教师表的主例如,教师号不是成绩表的候选码,而是教师表的主码,因此,教师号是成绩表的一个外码。在建立表码,因此,教师号是成绩表的一个外码。在建立表之间的联系时,主码与外码起着非常重要的作用。之间的联系时,主码与外码起着非常重要的作用。75 关系模式:关系模式是对关系的描述,是关系名及关系模式:关系模式是对关系的描述,是关系名及其所有属性的集合。关系模式用于描述表结构,格其所有属性的集

48、合。关系模式用于描述表结构,格式为:式为:(全部属性名表)(全部属性名表)教师(教师号教师(教师号,姓名姓名,性别性别,出生日期出生日期,职称职称,办公电话办公电话,住宅电话住宅电话,移动电话移动电话,在职在职,简历);简历);课程(课程号,课程名,开课学期,理论学时,实验学时,学课程(课程号,课程名,开课学期,理论学时,实验学时,学分);分);学生(学号学生(学号,姓名姓名,性别性别,出生日期出生日期,政治面貌政治面貌,民族)。民族)。成绩(学号成绩(学号,教师号教师号,课程号课程号,成绩)成绩)76 关系子模式:关系子模式是对用户所操作数据的结关系子模式:关系子模式是对用户所操作数据的结构

49、描述。用户需要的数据可能来自一个表或多个表。构描述。用户需要的数据可能来自一个表或多个表。关系子模式的表示格式为:关系子模式的表示格式为:(所需属性名表)(所需属性名表)例如,学生民族(学号,姓名,民族)例如,学生民族(学号,姓名,民族)数据来自于学生表;数据来自于学生表;学生听课(学号,姓名,教师名,课程名)学生听课(学号,姓名,教师名,课程名)数据来自于学生、教师和课程数据来自于学生、教师和课程3 3个表。个表。777.6 数据模型要素数据模型要素 数据模型主要由数据结构、数据操作和数据完整数据模型主要由数据结构、数据操作和数据完整性约束三个要素组成。性约束三个要素组成。78数据结构主要用

50、于描述属性名、数据类型、内容以及数据结构主要用于描述属性名、数据类型、内容以及数据之间的联系等,即数据存储的静态性。数据之间的联系等,即数据存储的静态性。在关系数据模型中,用关系(表)实现数据存储,因在关系数据模型中,用关系(表)实现数据存储,因此,表的结构就是数据结构。此,表的结构就是数据结构。1.1.数据结构数据结构79 对数据模型中数据和联系所允许的操作以及操作对数据模型中数据和联系所允许的操作以及操作规则,即描述数据模型的动态性规则,即描述数据模型的动态性。对数据模型的操。对数据模型的操作主要有插入、删除、修改和查询作主要有插入、删除、修改和查询4 4种。种。在关系数据库中,对数据的操

51、作实质上是对关系在关系数据库中,对数据的操作实质上是对关系(表)进行操作,操作的结果仍然是关系。(表)进行操作,操作的结果仍然是关系。2.数据操作数据操作 80 1.1.查询数据查询数据 查询数据是指检索数据库中数据,同时可以检索一个查询数据是指检索数据库中数据,同时可以检索一个表或多个表中数据。在对多个表进行操作时,需要表或多个表中数据。在对多个表进行操作时,需要将表进行两两合并生成新表。在查询数据时需要指将表进行两两合并生成新表。在查询数据时需要指明数据项和查找记录的条件。明数据项和查找记录的条件。2.2.插入数据:插入数据:向表中增加记录,一次操作仅向一个表向表中增加记录,一次操作仅向一

52、个表中插入记录。中插入记录。3.3.删除数据:先在表中查找(选择)记录,然后再从删除数据:先在表中查找(选择)记录,然后再从表中将其删除。一次操作仅从一个表中删除记录。表中将其删除。一次操作仅从一个表中删除记录。814.4.修改数据:修改数据是修改表中相关记录的属性值,修改数据:修改数据是修改表中相关记录的属性值,包括删除或添加属性的值。修改数据的过程是:在包括删除或添加属性的值。修改数据的过程是:在表中查找(选择)要修改的记录,提取(投影)相表中查找(选择)要修改的记录,提取(投影)相关数据项到内存,从表中删除这些记录,再修改内关数据项到内存,从表中删除这些记录,再修改内存中的数据,最后通过

53、插入操作将修改后的记录插存中的数据,最后通过插入操作将修改后的记录插入到表中。入到表中。修改数据可以视为查找、删除和插入数据修改数据可以视为查找、删除和插入数据3 3种操作的组种操作的组合,一次操作仅能修改一个表中的数据。合,一次操作仅能修改一个表中的数据。82 以上四种操作可以归纳成数据项投影、数据记录选以上四种操作可以归纳成数据项投影、数据记录选择、两个表连接、数据插入和数据删除择、两个表连接、数据插入和数据删除5 5种基本操种基本操作。作。在关系数据库管理系统中,通过关系的专用操作实现在关系数据库管理系统中,通过关系的专用操作实现记录选择、数据项投影和表连接;通过关系的集合记录选择、数据

54、项投影和表连接;通过关系的集合运算实现记录插入和删除。运算实现记录插入和删除。83数据库中的数据是现实世界中事物的真实表示,各个数据库中的数据是现实世界中事物的真实表示,各个属性的值受到数据语义的限制。属性的值受到数据语义的限制。对表中数据的限制。例如,学生所选的课程必须是学对表中数据的限制。例如,学生所选的课程必须是学校开设的课程,在成绩表中的课程号必须在课程表校开设的课程,在成绩表中的课程号必须在课程表中能找到相关的数据记录,教师号必须在教师表中中能找到相关的数据记录,教师号必须在教师表中找到其记录。找到其记录。3.3.数据完整性约束数据完整性约束84l数据语义:对数据含义的规定与解释。数

55、据语义:对数据含义的规定与解释。l语义的作用语义的作用 确定属性的取值范围确定属性的取值范围(值域值域);确定表的关键字;确定表的关键字;限制更新相关表中数据。限制更新相关表中数据。85 在关系数据模型中,将语义施加在数据上的限制称在关系数据模型中,将语义施加在数据上的限制称为完整性约束。为完整性约束。关系数据模型中有域、实体、参照关系数据模型中有域、实体、参照和用户定义和用户定义4 4类完整性约束。类完整性约束。域完整性约束:域完整性约束:域是指表中属性的值域,即属性值的数据类型和取值域是指表中属性的值域,即属性值的数据类型和取值范围。范围。例如,例如,姓名属性的值域是所有人姓名的集合,姓名

56、属性的值域是所有人姓名的集合,文本型数据文本型数据;性别属性的值域是;性别属性的值域是 男,女男,女,文本型,文本型数据等。数据等。86 实体完整性约束:每个表都必须有关键字,实体完实体完整性约束:每个表都必须有关键字,实体完整性约束要求主属性值不能为空,以确保关键字值整性约束要求主属性值不能为空,以确保关键字值的确定性且能惟一地标识记录。的确定性且能惟一地标识记录。参照完整性约束:对表之间联系的基本约束,它不参照完整性约束:对表之间联系的基本约束,它不允许一个表引用另一个表中不存在的数据。允许一个表引用另一个表中不存在的数据。具体要求是:具体要求是:如果如果F F是表是表S S的主键,且为表

57、的主键,且为表R R的外码,的外码,则表则表R R中每个记录在中每个记录在F F上的值必须等于表上的值必须等于表S S中某个记录中某个记录的主键值或者为空值。的主键值或者为空值。例如,当更改任课教师的教师例如,当更改任课教师的教师号时,需要修改成绩表中相关数据记录的教师号。号时,需要修改成绩表中相关数据记录的教师号。87参照完整性约束:参照完整性约束:88用户定义完整性约束:域完整性约束无法彻底检查用户定义完整性约束:域完整性约束无法彻底检查属性值是否在指定的域内,对某些特殊的属性还需属性值是否在指定的域内,对某些特殊的属性还需要通过用户定义规则限定数据的范围。即字段有效要通过用户定义规则限定

58、数据的范围。即字段有效性规则。性规则。在选课数据库中,性别属性设置有效性规则为:在选课数据库中,性别属性设置有效性规则为:性别性别=“1 1”Or Or 性别性别=“2 2”;职称属性设置有效性规则为:职称属性设置有效性规则为:职称职称=“1 1”And And 职职称称=-1 And=-1 And 成绩成绩=100=100,成绩为,成绩为-1-1表示目前还没有登记成绩。表示目前还没有登记成绩。89实体、参照两种完整性是关系数据模型必须满足的约实体、参照两种完整性是关系数据模型必须满足的约束条件,被称为关系的两个不变性条件,由关系数束条件,被称为关系的两个不变性条件,由关系数据库管理系统自动支

59、持。而用户定义完整性是用户据库管理系统自动支持。而用户定义完整性是用户根据关系数据库管理系统提供的语言编写出来的约根据关系数据库管理系统提供的语言编写出来的约束条件,系统运行时自动检查该约束条件。束条件,系统运行时自动检查该约束条件。90在关系数据库中,查询、删除或修改数据时,需要选在关系数据库中,查询、删除或修改数据时,需要选择记录、确定要操作的数据项(投影)、还可能需择记录、确定要操作的数据项(投影)、还可能需要多个关系连接成一个关系。要多个关系连接成一个关系。关系数据模型中定义了选择、投影和连接关系数据模型中定义了选择、投影和连接3 3种专门的关种专门的关系操作,操作的结果仍然是关系。系

60、操作,操作的结果仍然是关系。7.7 关系的基本操作关系的基本操作91 从关系中选取符合条件的元组(记录从关系中选取符合条件的元组(记录),必须指明选,必须指明选择条件。择条件。比比较运算符:、运算符:、或、或;逻辑运算符:运算符:Or(或者或者)、And(并且并且)或或Not(否定否定)选择操作表示操作表示为:()1.选择操作操作 92教室编号课程编号教师编号星期课节010010000110360111-2010010000210362113-4010020100210871221-2020010200115213211-2教室编号课程编号教师编号星期课节010010000110360111-

61、2010010000210362113-4020010200115213211-2U=星期星期=1(教室表)(教室表)93 投影操作是从关系中投影操作是从关系中选取若干个属性(列),取若干个属性(列),选取各个属性取各个属性时不受关系中属性不受关系中属性顺序的序的约束。投影操作束。投影操作表示表示为:()对教室表的教室教室表的教室编号、号、课程程编号、教号、教师编号、星期号、星期和和课节5个属性个属性进行投影操作:行投影操作:V=教室教室编号,号,课程程编号,教号,教师编号,星期,号,星期,课节(教室表)(教室表)Select 教室编号教室编号,课程编号课程编号,教师编号教师编号,星期星期,课

62、节课节From 学生学生2.投影操作投影操作94教室编号课程编号教师编号星期课节010010000110360111-2010010000210362113-4010020100210871221-2020010200115213211-2教室编号名称座位数教师编号课程编号星期课节01001逸夫教学楼1阶2001036010000111-201001逸夫教学楼1阶2001036210000213-401002逸夫教学楼2阶2601087120100221-202001第三教学楼1阶3001521320200111-295连接操作是接操作是对两个关系两个关系进行行连接,生成一个新关系。接,生成一

63、个新关系。功功能能:对两两张表表进行行连接接,根根据据某某种种条条件件生生成成一一张新表。新表。R S 3.连接操作接操作 对学生和成学生和成绩两个关系两个关系进行行连接操作:接操作:学生学生学生学生.学号学号=成成绩.学号学号 成成绩 96Select*From Select*From 学生学生,成绩成绩 Where Where 学生学生.学号学号 =成绩成绩.学号学号;97如果如果连接条件中所有比接条件中所有比较运算符都是运算符都是“=”,则此种此种连接被称接被称为等等值连接。接。在等在等值连接的接的结果中,有些属性具有重复果中,有些属性具有重复值,在,在实际应用中,要将用中,要将这些重复

64、的属性去掉。些重复的属性去掉。通常将不包含冗余属性的等通常将不包含冗余属性的等值连接称接称为自然自然连接。人接。人们将将R与与S的自然的自然连接接记为:R S98SQL(Structured Query Language)是)是结构化构化查询语言,是操作关系型数据言,是操作关系型数据库的通用的通用语言。言。SQL语言言由数据定由数据定义语言、数据操言、数据操纵语言、数据言、数据查询语言和言和数据控制数据控制语言(用于言(用于设置用置用户访问数据数据库的的权限)限)4部分部分组成。成。7.8 结构化查询语言结构化查询语言SQL简介简介 目前各种大、中、小型关系数据库管理系统都支持SQL语言,但不

65、同数据库管理系统中支持的SQL语句也有些差异。下面以关系数据库管理系统Access为基础,介绍SQL语句的常用格式。99(Not Null Primary Key ,Not Null Primary Key ,Primary Key(););常用的数据类型符号有:文本型常用的数据类型符号有:文本型Char(n),,双精度型,双精度型Number,长整型,长整型Integer或或Long,整型,整型Short,日期型,日期型Date,逻辑型,逻辑型Logical和备注型和备注型Memo。用于建立(用于建立(Create)、)、删除(除(Drop)数据)数据库表以表以及修改(及修改(Alter)数

66、据)数据库表表结构。构。1.建立数据建立数据库表表:Create Table 1.数据定义语言数据定义语言DDL100Primary Key 指明该字段为表的主关键字。多个字段组成主关键字。Primary Key()注意:一个表只能有一个注意:一个表只能有一个Primary Key Primary Key。在输入数据时,Not Null(默认)表示该字段值不能空。Not Null 101【例例 7.7】Create Table 教教师(教教师号号 Char(6)Primary Key,姓名姓名 Char(8),性性别 Char(1),出生日期出生日期 Date,职称称 Char(6),办公公电话 Char(10),住宅住宅电话 Char(10),移移动电话 Char(15),在在职 Logical,简历 Memo);102Alter Table Alter Table Add Add Drop Drop;Alter Alter 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交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!