版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第7章数据库技术基础 在当今的信息化社会中,数据库技术是在当今的信息化社会中,数据库技术是数据处理的核心和基础。数据处理的核心和基础。2还有网上购物数据库、无纸化考试数据库、学生选课数据库、学生信息还有网上购物数据库、无纸化考试数据库、学生选课数据库、学生信息管理数据库等。管理数据库等。铁路售票 数据库存储日期、车辆信息(车次、车厢号、座号是否售出、售出区间等) 银行储蓄 数据库存储开户时间、储蓄类型、帐号、密码、目前余额,存入明细,提款明细等。6.1 实例数据库实例数据库3编号编号姓名姓名出生日期出生日期 性别性别职称职称在职否在职否联系电话联系电话103601 李晓光李晓光 1960-5
2、-1男男副教授副教授在职在职8922331 5166123 13019298657103621 李敏李敏1970-1-12女女讲师讲师在职在职8456721 5660304 13809228127106723 赵丹茹赵丹茹 1945-12-3女女博士导师博士导师退休退休8499213 13019876502105721 张大伟张大伟 1957-3-11男男教授教授在职在职8426115 8499212课教师信息表 人工表格人工表格 4教师数据库表结构教师数据库表结构字段名称字段名称数据类型数据类型字段宽度字段宽度说说 明明编号编号文本文本6 6姓名姓名文本文本8 8最
3、多最多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数据库表数据库表编号编号姓姓 名名性别性别出生日期出生日期职职称称办公电话办公电话住宅电话住宅电话移动电话移动电话在职在职1036
4、01103601李晓光李晓光1 11960- 5- 11960- 5- 13 3889223318892233185166123851661231301929865713019298657TrueTrue103621103621李李 敏敏2 21970- 1-121970- 1-122 2884567218845672185660304856603041380922812713809228127TrueTrue106723106723赵丹茹赵丹茹2 21945-12- 31945-12- 35 588499213884992131301987650213019876502FalseFalse1
5、05721105721张大伟张大伟1 11957- 3-111957- 3-114 4884261158842611588499212884992121390212563113902125631TrueTrue6人工表、数据库表及转换人工表对客观事物进行抽象、提取、归纳和总结,最后通过表格描述客观事物(对象)特性。数据库表:数据库表:是结构化、有数据类型的表格。是结构化、有数据类型的表格。人工表转为数据库表要拆分某些数据项,使其意义更加明确;为数据项起容易记忆、便于操作的名称;对某些数据项进行必要的编码。77.1.2 7.1.2 关系数据库表关系数据库表关系数据库表用于存储计算机要处理的数据。
6、要利用关系数据库表用于存储计算机要处理的数据。要利用计算机进行各种业务处理,其中一项重要工作就是计算机进行各种业务处理,其中一项重要工作就是将人工信息表格转换成计算机中的数据库表。将人工信息表格转换成计算机中的数据库表。 数据库表是一种结构化、有数据类型的表格,对各个数据库表是一种结构化、有数据类型的表格,对各个数据项要规定字段能存储数据的最大宽度(尺寸)数据项要规定字段能存储数据的最大宽度(尺寸)和数据类型。和数据类型。 8 关系数据库以文件形式存储在计算机系统中,文关系数据库以文件形式存储在计算机系统中,文件扩展名为件扩展名为.MDB.MDB。 关系数据库主要由数据库表构成。例如,选课数关
7、系数据库主要由数据库表构成。例如,选课数据库中包含据库中包含“教师教师”、“课程课程”、“学生学生”和和“成成绩绩”4 4个数据库表。此外,还包含数据索引、表之间个数据库表。此外,还包含数据索引、表之间关系、数据有效性规则和安全控制规则等信息。关系、数据有效性规则和安全控制规则等信息。7.1.3 7.1.3 关系数据库关系数据库910是数据处理的核心,主要指数据收集、组织、是数据处理的核心,主要指数据收集、组织、分类、编码、存储、检索和维护。分类、编码、存储、检索和维护。计算机数据管理技术经历计算机数据管理技术经历4 4个发展阶段个发展阶段: :人工管理、文件系统人工管理、文件系统 、数据库系
8、统、数据库系统 和分布式数据库系和分布式数据库系统。统。7.2 7.2 数据库系统概述数据库系统概述111人工管理阶段程序之间不能共享数据;程序复杂;数据量小程序之间不能共享数据;程序复杂;数据量小且无法长期保存;人工重复输入数据。且无法长期保存;人工重复输入数据。19461946年至年至2020世纪世纪5050年代中期,计算机主要用于年代中期,计算机主要用于科学计算。科学计算。122 文件系统阶段2020世纪世纪5050年代后期至年代后期至6060年代中期。外存有磁鼓年代中期。外存有磁鼓和磁盘等存取设备和磁盘等存取设备 ;软件有操作系统和文件系统;软件有操作系统和文件系统;程序通过数据文件访
9、问数据。程序通过数据文件访问数据。程序共享数据;易长期保存数据;程序代码有程序共享数据;易长期保存数据;程序代码有所简化;所简化;数据冗余数据冗余( (重复重复) )度大,数据文件通常是非结度大,数据文件通常是非结构化文件;程序依赖数据(独立性差);构化文件;程序依赖数据(独立性差);专业性强。专业性强。13外存储器 20 20世纪世纪6060年代后期至年代后期至8080年代初期年代初期 。磁盘容。磁盘容量增大,流行量增大,流行dBASEdBASE系列和系列和OracleOracle数据库管理数据库管理系统等。系统等。14主要特点1. 1. 数据结构化并与程序分离;数据结构化并与程序分离;2.
10、 2. 数据集中式管理,高度共享;数据集中式管理,高度共享;3. 3. 数据冗余度小,具有一致性和完整性规则。数据冗余度小,具有一致性和完整性规则。15分布式数据库系统阶段主要特点:主要特点:1.1.分布式数据库将数据存放在不同位置的多台计算分布式数据库将数据存放在不同位置的多台计算机上,可以在不同位置访问数据库中数据机上,可以在不同位置访问数据库中数据. .2.2.数据局部自治与集中控制相结合,具有很强的可数据局部自治与集中控制相结合,具有很强的可靠性和可用性;靠性和可用性;3.3.强大数据共享和并发控制能力,使数据的使用价强大数据共享和并发控制能力,使数据的使用价值更高,应用范围更大;值更
11、高,应用范围更大;4.4.数据一致性和安全性控制措施更加完善数据一致性和安全性控制措施更加完善 。目前支持分布式数据库的数据库管理系统有目前支持分布式数据库的数据库管理系统有AccessAccess、SQL SQL ServerServer、OracleOracle和和SybaseSybase等。等。16 数据库系统(数据库系统(Data Base SystemData Base System,DBSDBS)是指存)是指存储数据库的计算机系统,它为数据处理、多个用户同储数据库的计算机系统,它为数据处理、多个用户同时访问和数据共享提供了便利条件。它由计算机硬件、时访问和数据共享提供了便利条件。它
12、由计算机硬件、软件和相关人员组成。软件和相关人员组成。 6.2.2 6.2.2 数据库系统组成数据库系统组成171.1.数据数据描述客观事物特征及其相互联系的一种抽象化、符号描述客观事物特征及其相互联系的一种抽象化、符号化表示。可以是数字、文字、图形、图象、声音和化表示。可以是数字、文字、图形、图象、声音和动画等。动画等。182.2.数据库数据库数据库(数据库(Data BaseData Base,DBDB)是动态存储在计算机系统中、有组)是动态存储在计算机系统中、有组织、结构化的关联数据的集合。数据库以文件的形式存储。织、结构化的关联数据的集合。数据库以文件的形式存储。每个数据库管理系统都有
13、各自的数据库文件扩展名。例如,每个数据库管理系统都有各自的数据库文件扩展名。例如,AccessAccess数据库文件扩展名为数据库文件扩展名为MDBMDB;Visual FoxProVisual FoxPro数据库文件数据库文件扩展名为扩展名为DBCDBC;SQL ServerSQL Server数据库文件的扩展名为数据库文件的扩展名为MDFMDF等。等。数据库中除包含数据库表外,还包含数据索引、数据库表之间数据库中除包含数据库表外,还包含数据索引、数据库表之间的联系、有效性规则和安全控制规则等。的联系、有效性规则和安全控制规则等。193.3.数据库管理系统数据库管理系统数据库管理系统(数据库
14、管理系统(Data Base Management SystemData Base Management System,DBMSDBMS)是建)是建立、维护和管理数据库的系统软件,它提供数据安全性和完立、维护和管理数据库的系统软件,它提供数据安全性和完整性控制机制,具有完备的数据库操作命令体系。整性控制机制,具有完备的数据库操作命令体系。可以在交可以在交互方式下管理和访问(存取)数据库,也可以利用开发工具互方式下管理和访问(存取)数据库,也可以利用开发工具开发数据库应用程序。开发数据库应用程序。20DBMSOS硬件DBMSDataBase Management System,建立、维护和管理数
15、据库的软件。例如:214.4.数据库应用系统数据库应用系统DBASDBASData Base Application SystemData Base Application System,由数据库系,由数据库系统和数据库应用程序组成,以数据库为核心,针对某统和数据库应用程序组成,以数据库为核心,针对某种业务开发的应用软件系统。种业务开发的应用软件系统。数数据据库库用用应应系系统统DBMSOSOS硬件硬件225. 5. 相关人员相关人员数据库管理员应用系统开发人员 .应用程序用户 23 7.2.3 7.2.3 数据库管理系统功能数据库管理系统功能1.数据定义 通过数据定义语言通过数据定义语言DD
16、LDDL,建立维护数据,建立维护数据库、数据库表、视图和索引。库、数据库表、视图和索引。2.数据操纵 通过数据操纵语言通过数据操纵语言DMLDML,对数据库中,对数据库中的数据插入、修改和删除。的数据插入、修改和删除。3.数据查询 通过数据查询语言通过数据查询语言DQLDQL,对数据查询、,对数据查询、排序、汇总和表连接等操作。排序、汇总和表连接等操作。4.数据库运行管理和控制核心部分,主要包括数据库并发控制,核心部分,主要包括数据库并发控制,安全性检查,完整性约束条件检查和安全性检查,完整性约束条件检查和执行,数据库内部资料自动维护。执行,数据库内部资料自动维护。245.5.数据库维数据库维
17、护护 包括数据更新和转换,数据库转存和包括数据更新和转换,数据库转存和恢复,数据库重新组织、结构维护和恢复,数据库重新组织、结构维护和性能监视等。性能监视等。6.6.数据组织、数据组织、存储和管理存储和管理对数据字典、用户数据和存取路径等对数据字典、用户数据和存取路径等信息进行分类组织、存储和管理,实信息进行分类组织、存储和管理,实现数据之间的联系。现数据之间的联系。7.7.数据通信数据通信 DBMSDBMS要经常与操作系统打交道,进行要经常与操作系统打交道,进行信息交换信息交换 。257.2.4 7.2.4 数据库系统安全保护数据库系统安全保护 对于数据库中的数据必须采取安全保护措施,避免对
18、于数据库中的数据必须采取安全保护措施,避免“黑客黑客”攻击、破坏或盗用;确保数据的一致性和攻击、破坏或盗用;确保数据的一致性和正确性。正确性。数据库的保护措施可分为并发控制、安全数据库的保护措施可分为并发控制、安全性控制和数据库备份恢复性控制和数据库备份恢复3 3个方面内容个方面内容。 261. 1. 并发控制并发控制并发控制的方法之一是对数据项进行互斥访问。并发控制的方法之一是对数据项进行互斥访问。即当即当一个事务访问某个数据项时,其他任何事务都不能一个事务访问某个数据项时,其他任何事务都不能修改该数据项。在事务修改数据项之前锁定数据项修改该数据项。在事务修改数据项之前锁定数据项- -加锁。
19、加锁。实现互斥访问的最常用方法是只允许事务访问该事务实现互斥访问的最常用方法是只允许事务访问该事务当前锁定的数据项。锁有多种类型,不同的当前锁定的数据项。锁有多种类型,不同的DBMSDBMS提提供的锁类型也有些差异,供的锁类型也有些差异,常见的锁类型有:常见的锁类型有: 共享型锁共享型锁 排它型锁排它型锁 独占数据库独占数据库 27数据库系统安全保护并发控制方式 1) 1):如果一个事务获得了某数据:如果一个事务获得了某数据项共享型锁,则该事务只可以读但不能写数据。项共享型锁,则该事务只可以读但不能写数据。姓名工龄工资李晓名101560许明华212100同时可以有多个事务获得共享型锁。同时可以
20、有多个事务获得共享型锁。28数据库系统安全保护并发控制方式 2)2) 排它型锁:如果一个事务获得某数据排它型锁:如果一个事务获得某数据项排它型锁,则该事务既可读也可写数据。项排它型锁,则该事务既可读也可写数据。姓名工龄工资李晓名101560许明华212100对一个数据项,某时刻只有一个事务能对一个数据项,某时刻只有一个事务能获得排它型锁。且此时其他事务也获得排它型锁。且此时其他事务也不能获得不能获得此数据项的共享型锁。此数据项的共享型锁。 29数据库系统安全保护并发控制方式 3)3) 独占数据库:当一个事务访问数据库独占数据库:当一个事务访问数据库时,其他事务不能访问该数据库时,其他事务不能访
21、问该数据库 。通常用于。通常用于数据库建立与维护阶段。数据库建立与维护阶段。30 数据安全性控制主要是为了防止数据失窃或遭到数据安全性控制主要是为了防止数据失窃或遭到破坏所采取的一系列措施。破坏所采取的一系列措施。DBMS所采取的安全措施所采取的安全措施有有 :1. 1. 用户标识和密码鉴定用户标识和密码鉴定; ;2. 2. 用户分级授权用户分级授权: :某些人具有添加、修改或删某些人具有添加、修改或删除数据权限,而其他用户只有查询数据权限。除数据权限,而其他用户只有查询数据权限。3. 3. 数据加密数据加密; ; 2. 2. 数据安全性控制数据安全性控制31数据库系统安全保护安全性控制 1)
22、 1):设置和检查用户名和密码。:设置和检查用户名和密码。防止数据失窃或遭到破坏:防止数据失窃或遭到破坏: 字段名 类型 宽度小数位说 明F_BM 字符型 2省市编码F_MC 字符型 12省市名称32数据库系统安全保护安全性控制 2) 2) 用户分级授权:用户分级授权:用户业务不同,授权有别。用户业务不同,授权有别。如:某些人可建立、删除表;添加、修改或删除表如:某些人可建立、删除表;添加、修改或删除表中数据,而其他人只具有查询数据的权限。中数据,而其他人只具有查询数据的权限。3)3)333. 3. 数据库备份与恢复数据库备份与恢复 备份数据库:周期性地转储(备份)数据库,使数备份数据库:周期
23、性地转储(备份)数据库,使数据库留有多个备份,最好脱离数据库系统环境保存据库留有多个备份,最好脱离数据库系统环境保存备份数据库。备份数据库。 建立日志文件建立日志文件 :记载每个用户操作数据库的过程。:记载每个用户操作数据库的过程。 恢复数据库恢复数据库 :根据日志文件中记载内容分析出故:根据日志文件中记载内容分析出故障点,利用较理想的备份数据库,将数据库恢复到障点,利用较理想的备份数据库,将数据库恢复到最近正确状态。最近正确状态。34要使计算机能处理客观事物,必须对事物抽要使计算机能处理客观事物,必须对事物抽象,提取事物的特征信息。象,提取事物的特征信息。数据化字段名类型 宽度 小数位说 明
24、F_BM字符型 2省市编码F_MC字符型 12省市名称抽象和提取学号 姓名 性别 政治面貌民族 出生日期来源省市邮政编码联系电话7.3 7.3 三个世界与概念模型三个世界与概念模型357.3.1 7.3.1 从现实世界到数据世界从现实世界到数据世界抽象化抽象化数据化数据化信息世界信息世界(实体,属(实体,属性)性)数据世界数据世界(记录,数据项)(记录,数据项)现实世界现实世界(事物,特(事物,特征)征)概念模型描述概念模型描述数据模型描述数据模型描述36 现实世界:现实世界由各种客观存在的事物构成,事物之间现实世界:现实世界由各种客观存在的事物构成,事物之间既存在联系又有差异。既存在联系又有
25、差异。 信息世界(概念世界):人们对客观事物及其联系的抽象描信息世界(概念世界):人们对客观事物及其联系的抽象描述和概念化。述和概念化。 客观事物为实体,事物的特征为属性。用概念客观事物为实体,事物的特征为属性。用概念模型描述实体之间的联系。模型描述实体之间的联系。 数据世界:信息世界数据化。将信息世界中的实体进一步抽数据世界:信息世界数据化。将信息世界中的实体进一步抽象、提取和规范化,使之成为计算机能处理的数据,最终保象、提取和规范化,使之成为计算机能处理的数据,最终保存到数据库中。存到数据库中。在数据世界中,用数据模型描述实体及其之间的联系;用一行在数据世界中,用数据模型描述实体及其之间的
26、联系;用一行数据(记录)表示一个实体;用数据项、列或字段表示实体数据(记录)表示一个实体;用数据项、列或字段表示实体的属性。的属性。377.3.2 7.3.2 信息世界与概念模型信息世界与概念模型1) 1):是客观事物的真实反映,可以是实际存在的:是客观事物的真实反映,可以是实际存在的对象、抽象概念或事件。对象、抽象概念或事件。2) 2):如:编号、姓名、性别、出生日期和职称如:编号、姓名、性别、出生日期和职称3) 3):实体属性的具体化表示,:实体属性的具体化表示,的的表示一个表示一个 。如:如:103601103601是编号值;李晓光是姓名值;是编号值;李晓光是姓名值;1 1是性别值。是性
27、别值。 38u实体类型:用实体名及实体所有属性集合表示一实体类型:用实体名及实体所有属性集合表示一种实体类型,简称实体型种实体类型,简称实体型 。 通过实体型可以区分不同类型的事物通过实体型可以区分不同类型的事物u实实 体体 集:具有相同属性的实体集合称为实体集。集:具有相同属性的实体集合称为实体集。实体型抽象地刻画实体集实体型抽象地刻画实体集 。39学号学号姓名姓名性别性别民族民族出生日期出生日期2103010221030102 张晓伟张晓伟 男男 汉族汉族 19841984年年6 6月月1818日日 实体属性与值的关系学生实体属性学生实体属性 学生实体属性值学生实体属性值 40学号学号姓名
28、姓名性别性别民族民族出生日期出生日期学生(学号,姓名,性别,民族,出生日期)学生实体型02030101 王玉琪女汉族1985-3-1102030102 袁爽男汉族1984-1-2721030101 赵松涛男朝鲜族 1985-9-1421030102 张晓伟男汉族1984-6-1807030102 范伟男汉族1985-10-507030201 彦红女回族1985-8-1222030102 王秀明男汉族1985-7-1207030203 齐阳男汉族1985-10-707030204 林小辉男满族1980-12-1民族出生日期学号姓名性别412. 2. 概念模型及概念模型及ERER方法方法概念模型是
29、能够准确、方便地描述信息世界中实体及实概念模型是能够准确、方便地描述信息世界中实体及实体之间的联系的方法,又称为实体模型或信息模型。体之间的联系的方法,又称为实体模型或信息模型。表示概念模型的方法有许多,其中常用方法是:表示概念模型的方法有许多,其中常用方法是:实体实体 联系方法联系方法(Entity Relationship Approach) ,简称为,简称为 E E R R方法。方法。它与计算机系统环境和具体的它与计算机系统环境和具体的DBMSDBMS无关,无关,它依赖于人们描述实体它依赖于人们描述实体的目的,也依赖于人们对实体的观点和视角。因此,对相同的目的,也依赖于人们对实体的观点和
30、视角。因此,对相同实体可以建立多个概念模型。实体可以建立多个概念模型。 42用图形方式描述实体及实体之间联系。其中:用图形方式描述实体及实体之间联系。其中: 实体:用矩形框表示实体,框内文字注明实体:用矩形框表示实体,框内文字注明实体名。实体名。 实体属性:用椭圆形框表示实体属性,框实体属性:用椭圆形框表示实体属性,框内文字注明属性名;用线与实体连接,表示与内文字注明属性名;用线与实体连接,表示与实体的隶属关系。实体的隶属关系。 实体之间的联系:用菱形框表示实体之间实体之间的联系:用菱形框表示实体之间的联系,框内文字注明联系方式;用连线连接的联系,框内文字注明联系方式;用连线连接关联的实体。关
31、联的实体。43任课教师教 室使用教师编号课程编号名 称出生日期性 别姓名职 称联系电话是否在职编号周 几课节编 号座位数44 通常将实体之间对应关系称为联系。通常将实体之间对应关系称为联系。实体实体之间的联系有一对一、一对多和多对多三种。之间的联系有一对一、一对多和多对多三种。 一对一联系:如数据记录与实体,教师一对一联系:如数据记录与实体,教师与讲台与讲台。 3. 3. 实体之间联系实体之间联系45 一对多联系(一对多联系(1 1:NN):是指一个实体对应多个实):是指一个实体对应多个实体,也称之为多对一联系(体,也称之为多对一联系(NN:1 1)。例如,一个班有)。例如,一个班有多个学生。
32、多个学生。 多对多联系(多对多联系(MM:NN):是指多个实体对应多个实):是指多个实体对应多个实体。例如,一个学生选修多门课程,而一门课程有多体。例如,一个学生选修多门课程,而一门课程有多名学生选修,因此,学生与课程之间是多对多联系。名学生选修,因此,学生与课程之间是多对多联系。46 在数据世界中,将描述实体及实体之间联系的方法在数据世界中,将描述实体及实体之间联系的方法称为数据模型。称为数据模型。数据模型是信息世界中概念模型的数数据模型是信息世界中概念模型的数据化,是数据库的逻辑结构和数据基础据化,是数据库的逻辑结构和数据基础 。DBMSDBMS总是总是基于某种数据模型,如层次型、网状型、
33、关系型、面基于某种数据模型,如层次型、网状型、关系型、面向对象型。向对象型。 7.47.4 数据模型数据模型47常见的数据模型有层次数据模型、网状数据模型、关常见的数据模型有层次数据模型、网状数据模型、关系数据模型和面向对象数据模型,不同的数据模型系数据模型和面向对象数据模型,不同的数据模型用于不同类型的数据库管理系统。用于不同类型的数据库管理系统。 48 层次数据模型通过树形结构表示实体(型)及实层次数据模型通过树形结构表示实体(型)及实体之间的联系,体之间的联系,“树树”中每个结点表示一个实体(型)中每个结点表示一个实体(型)结点之间的箭头表示实体之间的联系(由父到子)。结点之间的箭头表示
34、实体之间的联系(由父到子)。层次数据模型可分为基本层次数据模型和层次数据模层次数据模型可分为基本层次数据模型和层次数据模型两种。型两种。7.4.1. 7.4.1. 层次数据模型层次数据模型 49基本层次数据模型基本层次数据模型基本层次数据模型仅描述两个实体型及其联系的数据基本层次数据模型仅描述两个实体型及其联系的数据模型。模型。学学 校校学学 院院科研机构科研机构学学 生生管理人员管理人员科研人员科研人员管理人员管理人员管理人员管理人员管理部门管理部门图图7.4.1 7.4.1 层次数据模型示例层次数据模型示例教师教师汽汽 车车驾驶员驾驶员图图7.4.2 7.4.2 基本层次数据模型示基本层次
35、数据模型示例例50层次数据模型主要特点:层次数据模型主要特点:有且仅有一个根结点;每个有且仅有一个根结点;每个非根结点有且仅有一个父结点。非根结点有且仅有一个父结点。层次数据模型它最适层次数据模型它最适合表示实体的一对多联系。合表示实体的一对多联系。 51没有父结点多个父结点 通过网状结构表示实体及联系。通过网状结构表示实体及联系。“网网”中每个结点中每个结点表示一个实体型,结点之间箭头表示实体间的联系。表示一个实体型,结点之间箭头表示实体间的联系。主要特点:可能有多个根结点,某些非根结点可能有主要特点:可能有多个根结点,某些非根结点可能有多个父结点。多个父结点。网状数据模型适合于描述实体的一
36、对一、一对多和多网状数据模型适合于描述实体的一对一、一对多和多对多联系。对多联系。7.4.2. 网状数据模型网状数据模型 52层次数据模型与网状数据模型相似,逻辑结构层次数据模型与网状数据模型相似,逻辑结构上,都由基本层次数据模型组成;物理存储结构上上,都由基本层次数据模型组成;物理存储结构上 ,每一个结点每一个结点( (实体实体) )都是一个存储记录,用链接指针实都是一个存储记录,用链接指针实现记录之间的联系。现记录之间的联系。53层次与网状模型优缺点能直观、形象地描述实体及其联系,易能直观、形象地描述实体及其联系,易于被人们理解和掌握于被人们理解和掌握 。优优 点点 数据结构较复杂,存储数
37、据需要更多的数据结构较复杂,存储数据需要更多的链接指针;在检索数据时,需要考虑数据的链接指针;在检索数据时,需要考虑数据的存储路径;在插入或删除数据时,涉及到调存储路径;在插入或删除数据时,涉及到调整链接指针。整链接指针。缺缺 点点 547.4.3. 7.4.3. 关系数据模型关系数据模型关系数据模型是通过二维表描述实体及其之间的关系数据模型是通过二维表描述实体及其之间的联系。通常将关系数据模型中的二维表简称为联系。通常将关系数据模型中的二维表简称为关系或表。关系或表。目前广泛应用的数据库管理系统目前广泛应用的数据库管理系统Visual FoxProVisual FoxPro、AccessAc
38、cess、SQL SQL ServerServer、OracleOracle和和SybaseSybase都支持关系数据模型,它们由此得名都支持关系数据模型,它们由此得名关系型数据库管理系统。由它们管理的数据库被称为关系型数关系型数据库管理系统。由它们管理的数据库被称为关系型数据库。据库。55在关系数据模型中用一个二维表描述一种实体或实体在关系数据模型中用一个二维表描述一种实体或实体型之间的联系;表中的一行数据(记录)描述一个型之间的联系;表中的一行数据(记录)描述一个实体及实体之间的联系;表中的一个属性(字段或实体及实体之间的联系;表中的一个属性(字段或数据项)描述实体的一个属性。数据项)描述
39、实体的一个属性。 56关系数据模型直接支持实体的一对一和一对多联系,对关系数据模型直接支持实体的一对一和一对多联系,对于实体的多对多联系,在设计关系数据库时,需要对于实体的多对多联系,在设计关系数据库时,需要对某些表进行分解,增设表示联系的表,使实体的多对某些表进行分解,增设表示联系的表,使实体的多对多联系变成一对多联系。多联系变成一对多联系。 关系数据模型不能显式地表示实体之间的联系,实体之关系数据模型不能显式地表示实体之间的联系,实体之间的联系往往隐含在表的某些属性中。即通过属性的间的联系往往隐含在表的某些属性中。即通过属性的值可以分析出实体之间的联系;通过具有相同含义的值可以分析出实体之
40、间的联系;通过具有相同含义的属性(可能不同名)可以找出实体型(表)之间的联属性(可能不同名)可以找出实体型(表)之间的联系。系。57584. 面向对象数据模型面向对象数据模型 面向对象(面向对象(Object OrientedObject Oriented)数据模型是一种可扩充)数据模型是一种可扩充数据模型,简称为对象数据模型。以面向对象数据模数据模型,简称为对象数据模型。以面向对象数据模型为基础的型为基础的DBMSDBMS被称为面向对象数据库管理系统被称为面向对象数据库管理系统(OODBMS OODBMS ),简称为),简称为ODBMSODBMS。具有很强的描述复杂对象的能力,能包含更多的具
41、有很强的描述复杂对象的能力,能包含更多的数据语义信息等优点,如对多媒体数据进行描述和管数据语义信息等优点,如对多媒体数据进行描述和管理。理。59 将现实中所有实体都模拟成对象。例如,一个整数、将现实中所有实体都模拟成对象。例如,一个整数、一个日期、一辆汽车、一门课程等。一个日期、一辆汽车、一门课程等。 一个对象对应一个对象对应E-RE-R模型中的一个实体。面向对象模型中的一个实体。面向对象数据模型将一个对象的相关数据和代码封装在一起,数据模型将一个对象的相关数据和代码封装在一起,成为一个单元。通过消息完成对象之间的沟通。成为一个单元。通过消息完成对象之间的沟通。1. 对象对象60一个对象包含的
42、内容:一个对象包含的内容: 一组变量,每个变量对应一组变量,每个变量对应ERER模型中的一个属性,模型中的一个属性,用于描述对象的状态、组成和特性。用于描述对象的状态、组成和特性。 一组方法,用于描述对象行为特性。方法也称为操一组方法,用于描述对象行为特性。方法也称为操作作 。 一组对象所响应的消息,外界只能借助于消息与对一组对象所响应的消息,外界只能借助于消息与对象进行通信象进行通信 ,也称事件。,也称事件。612. 2. 对象类对象类 将具有相同属性和方法的对象归结为一类,将这些将具有相同属性和方法的对象归结为一类,将这些属性和方法在类中统一定义,将类中对象称为实例。属性和方法在类中统一定
43、义,将类中对象称为实例。 例如,将所有课程都归为一类,即课程类,各门课程具有公共属性为课程名称、例如,将所有课程都归为一类,即课程类,各门课程具有公共属性为课程名称、上课时间、上课地点和任课教师等;共同方法有上课、考试和留作业等。在定义类上课时间、上课地点和任课教师等;共同方法有上课、考试和留作业等。在定义类过程中完成这些属性和方法的定义;过程中完成这些属性和方法的定义; 课程类课程类课程名称课程名称上课时间上课时间地点地点任课教师任课教师上课上课考试考试留作业留作业623. 3. 类层次结构和继承类层次结构和继承 类类A A的子集可以被定义成类的子集可以被定义成类B B,类,类B B被称为类
44、被称为类A A的子的子类,而类类,而类A A被称为类被称为类B B的超类或父类。的超类或父类。 类的继承类的继承 :子类继承其所有超类的属性和方法,还:子类继承其所有超类的属性和方法,还可以增加自身独特的属性和方法。可以增加自身独特的属性和方法。 课程课程专业外语专业外语技术基础技术基础应用基础应用基础语言基础语言基础阅读写作阅读写作计算机计算机外语外语634.每个类可产生多个对象;每个对象都有惟一标识,简每个类可产生多个对象;每个对象都有惟一标识,简称称OIDOID。OIDOID由系统自动生成,不允许用户修改。由系统自动生成,不允许用户修改。647.5 关系数据库中基本概念关系数据库中基本概
45、念 关系数据库是支持关系数据模型的一类数据库。关系数据库是支持关系数据模型的一类数据库。目前广泛应用的目前广泛应用的Visual FoxProVisual FoxPro、AccessAccess、SQL ServerSQL Server、OracleOracle和和SybaseSybase等都是关系数据库管理系(等都是关系数据库管理系(RDBMSRDBMSRelational Data Base Management SystemRelational Data Base Management System)。)。 65 关系:是二维表,是实体的属性信息(属性名、类关系:是二维表,是实体的属性信
46、息(属性名、类型和宽度)及其属性值的集合。将关系中所含属性型和宽度)及其属性值的集合。将关系中所含属性的个数的个数n n称为关系的元或目,通常也称称为关系的元或目,通常也称n n元关系或元关系或n n目目关系。关系。66 属性:表中的每一列称为一个属性,也称为列、字属性:表中的每一列称为一个属性,也称为列、字段或数据项。每个属性都有属性名,也称为列名或段或数据项。每个属性都有属性名,也称为列名或字段名。字段名。67 元组:表中一行数据称为一个元组,也称为一个数元组:表中一行数据称为一个元组,也称为一个数据记录。据记录。通常一个元组对应一个实体,每张表中可通常一个元组对应一个实体,每张表中可含多
47、个元组。含多个元组。例如例如(”00002”00002”,”大学计算机基础大学计算机基础”,2 2,5454,2424,4 4)68一个表应该具有下列性质:一个表应该具有下列性质: 属性的原子性:表中每个属性是不可以再分割的基属性的原子性:表中每个属性是不可以再分割的基本数据项。本数据项。 属性名的惟一性:同一表中属性不可重名;属性名的惟一性:同一表中属性不可重名; 属性次序的无关性:属性次序的无关性:表中各个属性的前后顺序无关表中各个属性的前后顺序无关紧要;紧要; 属性的有限性:一个表中有有限个属性;属性的有限性:一个表中有有限个属性; 属性值域的同一性:同一属性具有相同的值域,即属性值域的
48、同一性:同一属性具有相同的值域,即表中同一列数据必须具有相同的数据类型和取值范表中同一列数据必须具有相同的数据类型和取值范围围69关键字非空性:关键字中的每个属性,对任何元组关键字非空性:关键字中的每个属性,对任何元组都不能出现空值(都不能出现空值(NullNull),否则,关键字将失去对数),否则,关键字将失去对数据记录的标识作用。据记录的标识作用。元组(数据记录)次序的无关性:表中各个元组的元组(数据记录)次序的无关性:表中各个元组的前后顺序无关紧要;前后顺序无关紧要;元组的唯一性:表中任意两个元组不能完全相同;元组的唯一性:表中任意两个元组不能完全相同;元组的有限性:表中有有限个元组;元
49、组的有限性:表中有有限个元组;70 关键字:由一个或多个属性组成,该组属性的值能关键字:由一个或多个属性组成,该组属性的值能惟一地标识表中的每个元组,并且,如果从该组属惟一地标识表中的每个元组,并且,如果从该组属性中去掉任意一个属性,表中就会出现关于剩余属性中去掉任意一个属性,表中就会出现关于剩余属性重值的元组。性重值的元组。每个表都有关键字,通常将关键字每个表都有关键字,通常将关键字也称为表的也称为表的候选键或候选码。候选键或候选码。例如,教师号是教师表的候选码;课程号是课程表的例如,教师号是教师表的候选码;课程号是课程表的候选码。候选码。候选码可以由多个属性构成。例如,学号和课程号两候选码
50、可以由多个属性构成。例如,学号和课程号两个属性构成成绩表中的候选码。一个表中可能有多个属性构成成绩表中的候选码。一个表中可能有多个候选码。个候选码。 7172 主属性:通常将包含在候选码中的属性称为主属性;主属性:通常将包含在候选码中的属性称为主属性;将不在任何候选码中的属性称为非主属性。将不在任何候选码中的属性称为非主属性。例如,学号和课程号都是成绩表中的主属性,而成绩例如,学号和课程号都是成绩表中的主属性,而成绩属性是成绩表中的非主属性。属性是成绩表中的非主属性。73 主关键字:一个表中可能有多个候选码,主关键字:一个表中可能有多个候选码,通常用户仅选用一通常用户仅选用一个候选码,将用户选
51、用的候选码称为主关键字,也简称为主个候选码,将用户选用的候选码称为主关键字,也简称为主键、主码、键或码。键、主码、键或码。主键除了标识元组外,在建立表之间的联系时起着重要作用。主键除了标识元组外,在建立表之间的联系时起着重要作用。74 外码:一个表外码:一个表R R的一组属性的一组属性F F不是表不是表R R的候选码,如的候选码,如果果F F与某表与某表S S的主码相对应,则的主码相对应,则F F是表是表R R的外码或外键。的外码或外键。例如,教师号不是成绩表的候选码,而是教师表的主例如,教师号不是成绩表的候选码,而是教师表的主码,因此,教师号是成绩表的一个外码。在建立表码,因此,教师号是成绩
52、表的一个外码。在建立表之间的联系时,主码与外码起着非常重要的作用。之间的联系时,主码与外码起着非常重要的作用。75 关系模式:关系模式是对关系的描述,是关系名及关系模式:关系模式是对关系的描述,是关系名及其所有属性的集合。关系模式用于描述表结构,格其所有属性的集合。关系模式用于描述表结构,格式为:式为: (全部属性名表)(全部属性名表)教师(教师号教师(教师号, , 姓名姓名, , 性别性别, , 出生日期出生日期, , 职称职称, , 办公电话办公电话, , 住宅电话住宅电话, , 移动电话移动电话, , 在职在职, , 简历);简历);课程(课程号,课程名,开课学期,理论学时,实验学时,学
53、课程(课程号,课程名,开课学期,理论学时,实验学时,学分);分);学生(学号学生(学号, , 姓名姓名, , 性别性别, , 出生日期出生日期, , 政治面貌政治面貌, , 民族)。民族)。成绩(学号成绩(学号, , 教师号教师号, , 课程号课程号, , 成绩)成绩)76 关系子模式:关系子模式是对用户所操作数据的结关系子模式:关系子模式是对用户所操作数据的结构描述。用户需要的数据可能来自一个表或多个表。构描述。用户需要的数据可能来自一个表或多个表。关系子模式的表示格式为:关系子模式的表示格式为: (所需属性名表)(所需属性名表)例如,学生民族(学号,姓名,民族)例如,学生民族(学号,姓名,
54、民族)数据来自于学生表;数据来自于学生表;学生听课(学号,姓名,教师名,课程名)学生听课(学号,姓名,教师名,课程名)数据来自于学生、教师和课程数据来自于学生、教师和课程3 3个表。个表。777.6 数据模型要素数据模型要素 数据模型主要由数据结构、数据操作和数据完整数据模型主要由数据结构、数据操作和数据完整性约束三个要素组成。性约束三个要素组成。 78数据结构主要用于描述属性名、数据类型、内容以及数据结构主要用于描述属性名、数据类型、内容以及数据之间的联系等,即数据存储的静态性。数据之间的联系等,即数据存储的静态性。在关系数据模型中,用关系(表)实现数据存储,因在关系数据模型中,用关系(表)
55、实现数据存储,因此,表的结构就是数据结构。此,表的结构就是数据结构。 1. 1. 数据结构数据结构79 对数据模型中数据和联系所允许的操作以及操作对数据模型中数据和联系所允许的操作以及操作规则,即描述数据模型的动态性规则,即描述数据模型的动态性。对数据模型的操。对数据模型的操作主要有插入、删除、修改和查询作主要有插入、删除、修改和查询4 4种。种。 在关系数据库中,对数据的操作实质上是对关系在关系数据库中,对数据的操作实质上是对关系(表)进行操作,操作的结果仍然是关系。(表)进行操作,操作的结果仍然是关系。2. 数据操作数据操作 80 1. 1. 查询数据查询数据 查询数据是指检索数据库中数据
56、,同时可以检索一查询数据是指检索数据库中数据,同时可以检索一个表或多个表中数据。在对多个表进行操作时,需个表或多个表中数据。在对多个表进行操作时,需要将表进行两两合并生成新表。在查询数据时需要要将表进行两两合并生成新表。在查询数据时需要指明数据项和查找记录的条件。指明数据项和查找记录的条件。2. 2. 插入数据:插入数据:向表中增加记录,一次操作仅向一个表向表中增加记录,一次操作仅向一个表中插入记录。中插入记录。3. 3. 删除数据:先在表中查找(选择)记录,然后再从删除数据:先在表中查找(选择)记录,然后再从表中将其删除。一次操作仅从一个表中删除记录。表中将其删除。一次操作仅从一个表中删除记
57、录。814. 4. 修改数据:修改数据是修改表中相关记录的属性值,修改数据:修改数据是修改表中相关记录的属性值,包括删除或添加属性的值。修改数据的过程是:在包括删除或添加属性的值。修改数据的过程是:在表中查找(选择)要修改的记录,提取(投影)相表中查找(选择)要修改的记录,提取(投影)相关数据项到内存,从表中删除这些记录,再修改内关数据项到内存,从表中删除这些记录,再修改内存中的数据,最后通过插入操作将修改后的记录插存中的数据,最后通过插入操作将修改后的记录插入到表中。入到表中。修改数据可以视为查找、删除和插入数据修改数据可以视为查找、删除和插入数据3 3种操作的组种操作的组合,一次操作仅能修
58、改一个表中的数据。合,一次操作仅能修改一个表中的数据。82 以上四种操作可以归纳成数据项投影、数据记录选以上四种操作可以归纳成数据项投影、数据记录选择、两个表连接、数据插入和数据删除择、两个表连接、数据插入和数据删除5 5种基本操种基本操作。作。 在关系数据库管理系统中,通过关系的专用操作实现在关系数据库管理系统中,通过关系的专用操作实现记录选择、数据项投影和表连接;通过关系的集合记录选择、数据项投影和表连接;通过关系的集合运算实现记录插入和删除。运算实现记录插入和删除。83数据库中的数据是现实世界中事物的真实表示,各个数据库中的数据是现实世界中事物的真实表示,各个属性的值受到数据语义的限制。
59、属性的值受到数据语义的限制。对表中数据的限制。例如,学生所选的课程必须是学对表中数据的限制。例如,学生所选的课程必须是学校开设的课程,在成绩表中的课程号必须在课程表校开设的课程,在成绩表中的课程号必须在课程表中能找到相关的数据记录,教师号必须在教师表中中能找到相关的数据记录,教师号必须在教师表中找到其记录。找到其记录。3. 3. 数据完整性约束数据完整性约束84l 数据语义:对数据含义的规定与解释。数据语义:对数据含义的规定与解释。l 语义的作用语义的作用 确定属性的取值范围确定属性的取值范围( (值域值域) ); 确定表的关键字;确定表的关键字; 限制更新相关表中数据。限制更新相关表中数据。
60、85 在关系数据模型中,将语义施加在数据上的限制称在关系数据模型中,将语义施加在数据上的限制称为完整性约束。为完整性约束。关系数据模型中有域、实体、参照关系数据模型中有域、实体、参照和用户定义和用户定义4 4类完整性约束。类完整性约束。 域完整性约束:域完整性约束:域是指表中属性的值域,即属性值的数据类型和取值域是指表中属性的值域,即属性值的数据类型和取值范围。范围。例如,例如,姓名属性的值域是所有人姓名的集合,姓名属性的值域是所有人姓名的集合,文本型数据文本型数据;性别属性的值域是;性别属性的值域是 男,女男,女 ,文本型,文本型数据等。数据等。 86 实体完整性约束:每个表都必须有关键字,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑砌体工程分项工程施工工艺标准
- 2024年连带责任担保借款协议书
- 临建合同范本2024年
- 2024年机械试用买卖合同
- 新疆公共基础知识模拟4
- 2024年二手房交易过户“一件事”一次办
- 地方公务员江苏申论90
- 2024年门面房屋租赁合同的范本
- 2024年建筑钢材购销合同格式
- 江苏申论模拟21
- 妊娠期高血压疾病诊治指南2020完整版
- 全国民用爆炸物品信息管理系统-新剖析课件
- 福特锐界2018款说明书
- 2023年高考全国甲卷语文试题答案详析(四川、广西、贵州、西藏)
- 铜及铜合金物理冶金基础-塑性加工原理
- 野生动物管理学知到章节答案智慧树2023年东北林业大学
- 学术交流英语知到章节答案智慧树2023年哈尔滨工程大学
- 考研英语二真题及答案解析
- 能源与动力工程专业导论知到章节答案智慧树2023年烟台大学
- 2023年03月江苏省灌南县公开招考67名乡村振兴专干笔试参考题库答案解析
- 大学美育知到章节答案智慧树2023年黑龙江农业工程职业学院(松北校区)
评论
0/150
提交评论