数据库第1章 数据库基础_第1页
数据库第1章 数据库基础_第2页
数据库第1章 数据库基础_第3页
数据库第1章 数据库基础_第4页
数据库第1章 数据库基础_第5页
已阅读5页,还剩122页未读 继续免费阅读

下载本文档

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

文档简介

1、广东工业大学 数据库应用与设计 第1章 数据库基础 n数据库已经成为人们日常生活中的重要部 分,到图书馆借书、到银行取款、到超市 购物、乘公交车刷卡等等都离不开数据库 的支持,数据库已经成为现代社会的一个 重要基础。本章首先介绍数据库的一些基 本概念,包括数据管理、数据库系统、数 据模型和数据库的体系结构等。 广东工业大学 数据库应用与设计 本章学习目标 n了解数据管理及其技术的发展; n深刻理解数据库的基本概念; n理解数据库、数据库管理系统、数据库系 统以及数据库管理的基本内容; n理解和掌握数据模型的基本概念和内容; n深刻理解数据独立性的概念; n掌握数据库的三层模式、理解数据库的基

2、本体系结构。 广东工业大学 数据库应用与设计 本章重点和难点 n本章学习的重点是围绕数据库的基本特征、 深刻理解数据库的基本概念,为后续章节 的学习奠定基础。 n本章学习的难点是理解数据独立性的概念, 掌握数据库的三层模式结构。 广东工业大学 数据库应用与设计 数据库在计算机系统中的地位 应用系统应用系统 应用开发工具应用开发工具 DBMS 操作系统操作系统 硬件硬件 广东工业大学 数据库应用与设计 1.1 数据管理 n什么是数据? n信息的符号表示 n什么是数据处理? n从某些已知的数据出发,推导加工出新的信息 广东工业大学 数据库应用与设计 n在数据处理中,我们最常用到的基本概念就是数据和

3、信 息,信息与数据有着不同的含义。 信息的定义 n信息是关于现实世界事物的存在方式或运动状态的反映 的综合,具体说是一种被加工为特定形式的数据,但这 种数据形式对接收者来说是有意义的,而且对当前和将 来的决策具有明显的或实际的价值。 如“2000年硕士研究生将扩招30%”,对接受者有意义, 使接受者据此作出决策。 广东工业大学 数据库应用与设计 信息的特征 n信息源于物质和能量,它不可能脱离物质而存在,信息 的传递需要物质载体,信息的获取和传递要消耗能量。 n如信息可以通过报纸、电台、电视、计算机网络进行传递。 n信息是可以感知的,人类对客观事物的感知,可以通过 感觉器官,也可以通过各种仪器仪

4、表和传感器等,不同 的信息源有不同的感知形式。 n如报纸上刊登的信息通过视觉器官感知,电台中广播的信息通过 听觉器官感知。 n信息是可存储、加工、传递和再生的。动物用大脑存储 信息,叫做记忆。计算机存储器、录音、录像等技术的 发展,进一步扩大了信息存储的范围。借助计算机,还 可对收集到的信息进行取舍整理。 广东工业大学 数据库应用与设计 数据是用来记录信息的可识别的符号,是信息的具 体表现形式。 2. 数据的表现形式 n可用多种不同的数据形式表示同一信息,而信息 不随数据形式的不同而改变。 n如“2000年硕士研究生将扩招30%”,其中的数据可 改为汉字形式“两千年”、“百分之三十”。 n数据

5、的概念在数据处理领域中已大大地拓宽了, 其表现形式不仅包括数字和文字,还包括图形、 图象、声音等。这些数据可以记录在纸上,也可 记录在各种存储器中。 广东工业大学 数据库应用与设计 数据与信息的联系 n数据是信息的符号表示或载体,信息则是数据的内涵,是对数据的 语义解释。 n如上例中的数据2000、30%被赋予了特定的语义,它们就具有了传递 信息的功能。 数据处理 n数据处理是将数据转换成信息的过程,包括对数据的收集、存储、 加工、检索、传输等一系列活动。其目的是从大量的原始数据中抽 取和推导出有价值的信息,作为决策的依据。 n可用下式简单的表示信息、数据与数据处理的关系: 信息=数据+数据处

6、理 n数据是原料,是输入,而信息是产出,是输出结果。“信息处理” 的真正含义应该是为了产生信息而处理数据。 广东工业大学 数据库应用与设计 数据管理及其技术发展 n数据处理的中心问题是数据管理。 n数据管理是指对数据的组织、分类、编码、 存储、检索和维护。 n随着计算机硬件和软件的发展,数据管理 经历了人工管理、文件系统和数据库系统 三个发展阶段。 广东工业大学 数据库应用与设计 人工管理阶段人工管理阶段 n20世纪50年代中期以前。 n特点 n数据不保存在计算机中。 n没有软件系统对数据进行统一管理。 n基本没有文件的概念。 n一组数据对应一个程序,数据是面向程序的。 n程序和程序之间存在着

7、大量的重复数据 。 广东工业大学 数据库应用与设计 广东工业大学 数据库应用与设计 广东工业大学 数据库应用与设计 1. 数据不保存 n因为当时计算机主要用于科学计算,对于数据保 存的需求尚不迫切。 2. 系统没有专用的软件对数据进行管理 n每个应用程序都要包括数据的存储结构、存取方 法、输入方式等,程序员编写应用程序时,还要 安排数据的物理存储,因此程序员负担很重。 3. 数据不共享 n数据是面向程序的,一组数据只能对应一个程序。 n多个应用程序涉及某些相同的数据时,也必须各 自定义,因此程序之间有大量的冗余数据。 4. 数据不具有独立性 n程序依赖于数据,如果数据的类型、格式、或输入输出

8、方式等逻辑结构或物理结构发生变化,必须对应用程序 做出相应的修改。 广东工业大学 数据库应用与设计 文件系统阶段文件系统阶段 n20世纪50年代后期至20世纪60年代中期。 n特点 n数据长期保留在外存上,可经常对文件进行查 询、修改、插入、删除等操作。 n有软件(文件系统)对数据进行管理,程序和 数据有了一定的独立性。 n文件的形式多样化,有顺序文件、索引文件和 散列文件等。 n数据的存取基本上以记录为单位。 广东工业大学 数据库应用与设计 1. 数据以文件形式可长期保存下来 n用户可随时对文件进行查询、修改和增删等处理。 2. 文件系统可对数据的存取进行管理 n程序员只与文件名打交道,不必

9、明确数据的物理存储, 大大减轻了程序员的负担。 3. 文件形式多样化 n有顺序文件、倒排文件、索引文件等,因而对文件的记 录可顺序访问,也可随机访问,更便于存储和查找数据。 4. 程序与数据间有一定独立性 n由专门的软件即文件系统进行数据管理,程序和数据间 由软件提供的存取方法进行转换,数据存储发生变化不 一定影响程序的运行。 广东工业大学 数据库应用与设计 文件系统的缺陷 n数据冗余度大。 n数据独立性差。 n数据缺乏统一管理,数据联系弱。 广东工业大学 数据库应用与设计 数据库系统阶段数据库系统阶段 n20世纪60年代后期开始。 n特点 n面向全组织的数据结构化 n数据的共享性高、低冗余、

10、易扩充 n数据独立性高 广东工业大学 数据库应用与设计 1973年图灵奖获得者: 查尔斯巴赫曼 (Charles W Bachman) “网状数据库之父” 广东工业大学 数据库应用与设计 1981年图灵奖获得者: 埃德加科德 (Edgar Frank Codd) “关系数据库之父” 广东工业大学 数据库应用与设计 1998年图灵奖获得者: 吉姆格雷 (James Gray) “SQL之父” 广东工业大学 数据库应用与设计 数据结构化 n按照某种数据模型,将全组织的各种数据 组织到一个结构化的数据库中,整个组织 的数据不是一盘散沙,可表示出数据之间 的有机关联。 n例:要建立学生成绩管理系统,系

11、统包含 学生(学号、姓名、性别、系别、年龄)、 课程(课程号、课程名)、成绩(学号、 课程号、成绩)等数据,分别对应三个文 件。 广东工业大学 数据库应用与设计 n若采用文件处理方式,因为文件系统只表 示记录内部的联系,而不涉及不同文件记 录之间的联系,要想查找某个学生的学号、 姓名、所选课程的名称和成绩,必须编写 一段不很简单的程序来实现。 n而采用数据库方式,数据库系统不仅描述 数据本身,还描述数据之间的联系,上述 查询可以非常容易地联机查到。 广东工业大学 数据库应用与设计 数据共享性高、冗余少 n这是数据库系统阶段的最大改进,数据不 再面向某个应用程序而是面向整个系统, 当前所有用户可

12、同时存取库中的数据。 n这样便减少了不必要的数据冗余,节约存 储空间,同时也避免了数据之间的不相容 性与不一致性。 广东工业大学 数据库应用与设计 数据独立性高 n数据的独立性是指逻辑独立性和物理独立性。 n数据的逻辑独立性是指当数据的总体逻辑结构改变时, 数据的局部逻辑结构不变,由于应用程序是依据数据的 局部逻辑结构编写的,所以应用程序不必须修改,从而 保证了数据与程序间的逻辑独立性。 n例如,在原有的记录类型之间增加新的联系,或在某些记录类型 中增加新的数据项,均可确保数据的逻辑独立性。 n数据的物理独立性是指当数据的存储结构改变时,数据 的逻辑结构不变,从而应用程序也不必改变。 n例如,

13、改变存储设备和增加新的存储设备,或改变数据的存储组 织方式,均可确保数据的物理独立性。 广东工业大学 数据库应用与设计 思考题 n什么是数据?什么是数据管理? n什么因素促使了数据管理手段的进步? n什么是数据独立性?为什么数据存储结构 改变时应用程序不用修改? n文件系统阶段数据缺乏统一管理,数据联 系弱是什么意思? n数据共享可以带来哪些好处? 广东工业大学 数据库应用与设计 思考题 n文件系统阶段和手工管理阶段的本质区别是什么? 广东工业大学 数据库应用与设计 思考题 n数据库阶段和文件系统阶段的本质区别是什么? 广东工业大学 数据库应用与设计 1.2 数据库系统 n数据库是数据管理的现

14、代手段,有数据的 地方就有数据管理,有数据管理就有数据 库。本节介绍与数据库相关的一些基本概 念。 广东工业大学 数据库应用与设计 什么是数据库? n数据库是长期储存在计算机存储设备上、相互关联的、 可以被用户共享的数据集合: n是相互关联的数据的集合 n用综合的方法组织数据,保证尽可能高的访问效率 n具有较高的数据独立性 n具有较小的数据冗余,可供多个用户共享 n具有安全控制机制,能够保证数据的安全、可靠 n最大限度地保证数据的正确性 n允许并发地使用,能有效、及时地处理数据,并能保证数据 的一致性和完整性 广东工业大学 数据库应用与设计 相互关联的数据的集合 n数据库中的数据不是孤立的,数

15、据与数据 之间是相互关联的。也就是说,在数据库 中不仅要能够表示数据本身,还要能够表 示数据与数据之间的联系 广东工业大学 数据库应用与设计 用综合的方法组织数据 n数据库能够根据不同的需要按不同的方法 组织数据 广东工业大学 数据库应用与设计 具有较高的数据独立性 n数据独立性是 指数据的组织 和存储方法与 应用程序互不 依赖、彼此独 立的特性。 广东工业大学 数据库应用与设计 数据冗余小、可供多个用户共享 n数据库中的数据可以共享 n但是是可控制、受约束的 教务文件 后勤文件 学生基本情况冗余!冗余带来什么问题?学生基本情况冗余!冗余带来什么问题? 广东工业大学 数据库应用与设计 数据冗余

16、小、可供多个用户共享 n数据库中的数据可以共享 n但是是可控制、受约束的 物理存储物理存储 逻辑存储逻辑存储 广东工业大学 数据库应用与设计 能够保证数据的安全、可靠 n数据库技 术要能够 保证数据 库中的数 据是安全、 可靠的。 有效地防止数 据库中的数据 被非法使用或 非法修改 数据遭到破坏 时能立刻将数 据完全恢复 广东工业大学 数据库应用与设计 最大限度地保证数据的正确性 n保证数据正 确的特性在 数据库中称 之为数据完 整性。 899 广东工业大学 数据库应用与设计 允许并发地使用 n在多个用户同时使用数据库时,能够保证 不产生冲突和矛盾,保证数据的一致性和 正确性。 广东工业大学

17、数据库应用与设计 什么是数据库? n数据库是长期储存在计算机存储设备上、相互关联的、 可以被用户共享的数据集合: n是相互关联的数据的集合 n用综合的方法组织数据,保证尽可能高的访问效率 n具有较高的数据独立性 n具有较小的数据冗余,可供多个用户共享 n具有安全控制机制,能够保证数据的安全、可靠 n最大限度地保证数据的正确性 n允许并发地使用,能有效、及时地处理数据,并能保证数据 的一致性和完整性 广东工业大学 数据库应用与设计 数据库管理系统 n数据库的诸多特征哪里来的? n靠特定的数据库管理软件来实现的,这个 软件就是数据库管理系统DataBase Management System,简称

18、DBMS nDBMS运行在操作系统之上对数据库进行 统一的管理和控制,并且使数据库能为多 个用户共享,同时还能保证数据的安全性、 可靠性、完整性、一致性,还要保证数据 的高度独立性等。 广东工业大学 数据库应用与设计 数据库管理系统具备如下功能 n数据库中数据的组织功能; n数据库中数据的操纵功能; n数据库中数据的维护功能; n数据库中数据的查询功能; n数据库控制功能; n数据库通讯功能; n数据库的数据服务功能。 广东工业大学 数据库应用与设计 数据库系统 n数据库? n数据库管理系统? n数据库系统? 广东工业大学 数据库应用与设计 数据库系统 n数据库系统指的是基于数据库的计算机应用

19、系统, 包括: n以数据为主体的数据库; n管理数据库的系统软件数据库管理系统; n支持计算机应用系统的硬件平台; n支持计算机应用系统的软件平台(如操作系统); n管理数据库的技术人员; n使用数据库的用户; n基于数据库的应用软件; n方便使用和管理系统的各种技术说明书和使用说明书等。 广东工业大学 数据库应用与设计 数据库管理 n把众多部门或用户的数据放在同一个数据库 中共享,那就必须要考虑这些数据会不会产 生冲突?能不能保证数据的安全?敏感或重 要数据会不会泄漏?大家同时使用数据库时 会不会产生干扰?数据会不会丢失?诸如此 类的问题是用户非常关心的,如果这些问题 解决不好,谁敢把数据放

20、在数据库中! nDBMS只是提供了组织、维护和使用数据的 功能,只有好的管理才能使数据库发挥更大 的效益。 广东工业大学 数据库应用与设计 数据库管理员 n从事数据库管理工作的人员称之为数据库 管理员(Database Administrator,简 称为DBA),数据库管理员指的是一种角 色,是负责数据库管理的人员或部门。 n数据库管理员从事的工作既有管理方面的、 也有技术方面的,数据库管理员负责数据 库的规划、设计、建设、运行、维护、升 级等各个方面的工作。 广东工业大学 数据库应用与设计 数据库管理员的职责 n在数据库规划阶段要参与选择和评价与数据库有关的计 算机软件和硬件,要与数据库用

21、户共同确定数据库系统 的目标和数据库应用需求,要确定数据库的开发计划; n在数据库设计阶段要负责数据库标准的制定,要负责数 据库的设计,负责数据库安全、可靠方面的设计; n在数据库运行阶段首先要负责对用户进行数据库方面的 培训;负责数据库的备份和恢复;负责对数据库中的数 据进行维护;负责监视数据库的性能,并调整、改善数 据库的性能,提高系统的效率;继续负责数据库安全系 统的管理;在运行过程中发现问题、解决问题。 广东工业大学 数据库应用与设计 思考题 n为什么数据库中的数据是相互关联的? n在数据库中为什么要使用综合的方法来组织数据? n为什么数据冗余可能会造成数据的不一致? n数据库的安全机

22、制主要有哪些? n可以利用备份恢复数据库,当数据库遭到破坏时 能否将数据库完全恢复到正确一致的状态? n什么是数据完整性?数据库可以从哪些方面保证 用户数据的正确性? 广东工业大学 数据库应用与设计 思考题 n数据库中的数据是共享的,如何保证多个用户在 同时使用共享的数据时不发生冲突? n什么是数据仓库? n数据库的诸多特征是如何获得的? n数据库、数据库系统、数据库管理系统这三个术 语的各自内涵是什么? n数据库管理涉及哪些问题?数据库管理员的职责 包括哪些内容? 广东工业大学 数据库应用与设计 1.3 数据模型概述 n数据库中不仅存储数据本身,还要存储数 据与数据之间的联系,这种数据和联系

23、是 需要描述和定义的,数据模型正是完成此 项任务的。 广东工业大学 数据库应用与设计 三个阶段 n现实世界概念数据模型 n信息世界逻辑数据模型 n机器世界物理数据模型 广东工业大学 数据库应用与设计 n由于计算机不能直接处理现实世界中的具体事物, 所以人们必须将具体事物转换成计算机能够处理 的数据。 n在数据库中用数据模型来抽象、表示和处理现实 世界中的数据。 n数据库即是模拟现实世界中某应用环境(一个企 业、单位或部门)所涉及的数据的集合,它不仅 要反映数据本身的内容,而且要反映数据之间的 联系。 n这个集合或者包含了信息的一部分(用用户视图 模拟),或者包含了信息的全部(用概念视图模 拟)

24、,而这种模拟是通过数据模型来进行的。 广东工业大学 数据库应用与设计 n为了把现实世界中的具体事物抽象、组织为某一DBMS 支持的数据模型,在实际的数据处理过程中, n首先将现实世界的事物及联系抽象成信息世界的信息 模型, n然后再抽象成计算机世界的数据模型。 n信息模型并不依赖于具体的计算机系统,不是某一个 DBMS所支持的数据模型,它是计算机内部数据的抽象 表示,是概念模型; n概念模型经过抽象,转换成计算机上某一DBMS支持的 数据模型。所以说,数据模型是现实世界的两级抽象的 结果。 n在数据处理中,数据加工经历了现实世界、信息世界和 计算机世界三个不同的世界,经历了两级抽象和转换。 这

25、一过程如图所示。 广东工业大学 数据库应用与设计 现实世界 信息世界 认识抽象 计算机世界 广东工业大学 数据库应用与设计 实体 n现实世界中所管理的对象称作实体(Entity) n实体定义:客观存在并可以相互区分的客观 事物或抽象事件。 n学生和课程就是客观事物,学生选课就是抽 象事件。无论学生、课程、还是学生选课, 它们都是现实世界管理的对象,都是实体。 广东工业大学 数据库应用与设计 实体特征 n每个实体肯定具有一定的特征(性质),这样 人们才能根据实体的特征来区分一个个实体。 学号 姓名 身高 年龄 性别 体重 标识特征?标识特征? 广东工业大学 数据库应用与设计 实体集 n具有相同特

26、征的一类实体的集 合称之为实体集。 学生实体集 课程实体集 教师实体集 教室实体集 广东工业大学 数据库应用与设计 现实世界的术语 广东工业大学 数据库应用与设计 我们更熟悉的术语 广东工业大学 数据库应用与设计 属性(Attributes) n实体的某一特性称为属性。 n如学生实体有学号、姓名、年龄、性别、系等 方面的属性。 n属性有型和“值”之分,型即为属性名, 如姓名、年龄、性别是属性的型;“值”即为 属性的具体内容,如(990001,张立,20, 男,计算机)这些属性值的集合表示了一个学 生实体。 广东工业大学 数据库应用与设计 实体型(Entity Type) n若干个属性型组成的集

27、合可以表示一个实体的类型,简 称实体型。 n如学生(学号,姓名,年龄,性别,系)就是一个实体型。 实体集(Entity Set) n同型实体的集合称为实体集。 n如所有的学生、所有的课程等。 键(Key) n能唯一标识一个实体的属性或属性集称为实体的键。 n如学生的学号,学生的姓名可能有重名,不能作为学生实体的键。 广东工业大学 数据库应用与设计 联系(Relationship) n在现实世界中,事物内部以及事物之间是有联系的,这 些联系同样也要抽象和反映到信息世界中来, n在信息世界中将被抽象为实体型内部的联系和实体型之 间的联系。 n实体内部的联系通常是指组成实体的各属性之间的联系; n实

28、体之间的联系通常是指不同实体集之间的联系。 n反映实体型及其联系的结构形式称为实体模型,也称作 信息模型,它是现实世界及其联系的抽象表示。 广东工业大学 数据库应用与设计 两个实体型之间的联系有如下三种类型: (1)一对一联系(1:1) n实体集A中的一个实体至多与实体集B中的一个实体相对 应,反之亦然,则称实体集A与实体集B为一对一的联系。 记作1:1。 n如:班级与班长,观众与座位,病人与床位。 (2)一对多联系(1:n) n实体集A中的一个实体与实体集B中的多个实体相对应, 反之,实体集B中的一个实体至多与实体集A中的一个实 体相对应。记作1:n。 n如:班级与学生、公司与职员、省与市。

29、 (3)多对多(m:n) n实体集A中的一个实体与实体集B中的多个实体相对应, 反之,实体集B中的一个实体与实体集A中的多个实体相 对应。记作(m:n)。 n如:教师与学生,学生与课程,工厂与产品。 广东工业大学 数据库应用与设计 n实际上,一对一联系是一对多联系的特例,而一对多联 系又是多对多联系的特例。 n可以用图形来表示两个实体型之间的这三类联系,如图 所示。 A B A B A B (a) (b) (c) 广东工业大学 数据库应用与设计 联系 n现实世界中实体和实体之间是有联系的 n实体之间联系的基本类型有三种 n一对一(1 : 1) n一对多(1 : n) n多对多(m : n) n

30、专业和学生 ? n学生和课程 ? 广东工业大学 数据库应用与设计 计算机世界中的基本概念 n信息世界中的实体抽象为计算机世界中的数据,存储在 计算机中。在计算机世界中,常用的主要概念如下: 1. 字段(Field) n对应于属性的数据称为字段,也称为数据项。字段的命 名往往和属性名相同。 n如学生有学号、姓名、年龄、性别、系等字段。 2. 记录(Record) n对应于每个实体的数据称为记录。 n如一个学生(990001,张立,20,男,计算机)为 一个记录。 3. 文件(File) n对应于实体集的数据称为文件。 n如所有学生的记录组成了一个学生文件。 广东工业大学 数据库应用与设计 n在计

31、算机世界中,信息模型被抽象为数据模型,实体型 内部的联系抽象为同一记录内部各字段间的联系,实体 型之间的联系抽象为记录与记录之间的联系。 n现实世界是设计数据库的出发点,也是使用数据库的最 终归宿。 n实体模型和数据模型是现实世界事物及其联系的两级抽 象。而数据模型是实现数据库系统的根据。 n通过以上的介绍,我们可总结出三个世界中各术语的对 应关系如图所示。 现实世界信息世界 计算机世界 事物总体实体集 文件 事物个体实体 记录 特征属性 字段 事物间联系实体模型 数据模型 广东工业大学 数据库应用与设计 概念模型 n描述现实世界的数据模型称为概念模型或 概念数据模型。 n支持概念模型的最常用

32、方法E-R方法 nE-R方法主要有3个要素: n实体 n联系 n属性 广东工业大学 数据库应用与设计 n实体型用矩形表示,矩形框内写明实体名。 学生学生教师教师 广东工业大学 数据库应用与设计 n属性用椭圆形表示,并用无向边将其与相 应的实体连接起来。 学生学生 学号学号 年龄年龄 性别性别姓名姓名 广东工业大学 数据库应用与设计 n联系(Relationship) n用菱形表示,菱形框内写明联系名 n用无向边分别与有关实体连接起来,同时在无 向边旁标上联系的类型 广东工业大学 数据库应用与设计 n两个实体型之间的联系 n一对一联系(1:1) 实体型实体型1 1 联系名联系名 实体型实体型2

33、2 1 1 1 1 1:11:1联系联系 广东工业大学 数据库应用与设计 n两个实体型之间的联系 n一对一联系(1:1) n一对多联系(1:n) 实体型实体型1 1 联系名联系名 实体型实体型2 2 1 1 n n 1:n1:n联系联系 广东工业大学 数据库应用与设计 n两个实体型之间的联系 n一对一联系(1:1) n一对多联系(1:n) n多对多联系(m:n) 实体型实体型1 1 联系名联系名 实体型实体型2 2 m m n n m:nm:n联系联系 广东工业大学 数据库应用与设计 多个实体之间的联系 nE-R图不 仅能描述 两个实体 之间的联 系,而且 还能描述 两个以上 实体之间 的联系

34、。 广东工业大学 数据库应用与设计 n两个以上实体型之间的联系 n一对多联系(1:n) 若实体型E1,E2,.,En存在联系,对于实 体型Ej(j=1,2,.,i-1,i+1,.,n)中的 给定实体,最多只和Ei中的一个实体相联系, 则我们说Ei与E1,E2,.,Ei-1,Ei+1,., En之间的联系是一对多的。 广东工业大学 数据库应用与设计 n两个以上实体型之间的联系 n一对多联系(1:n) 实体型实体型1 1 联系名联系名 实体型实体型2 2 1 1 m m 多个实体型间的多个实体型间的1:n1:n联系联系 实体型实体型3 3 n n 广东工业大学 数据库应用与设计 n两个以上实体型之

35、间的联系 n一对多联系(1:n) 课程课程 讲授讲授 教师教师 1 1 m m 多个实体型间的多个实体型间的1:n1:n联系联系 参考书参考书 n n 广东工业大学 数据库应用与设计 n两个以上实体型之间的联系 n多对多联系(m:n) 供应商供应商 供应供应 项目项目 m m n n 多个实体型间的多个实体型间的m:nm:n联系联系 零件零件 p p 三个实体型之间多对多三个实体型之间多对多 联系和三个实体型两两联系和三个实体型两两 之间多对多联系的语义之间多对多联系的语义 是不同的。是不同的。 广东工业大学 数据库应用与设计 n单个实体型内的联系 实体型实体型1 1 联系名联系名 1 1n

36、n 同一实体型内同一实体型内 部的部的1:n1:n联系联系 职工职工 领导领导 1 1n n 同一实体型内同一实体型内 部的部的1:n1:n联系联系 广东工业大学 数据库应用与设计 n联系的属性 n联系本身也是一种实体型,也可以有属性。如 果一个联系具有属性,则这些属性也要用无向 边与该联系连接起来 。 广东工业大学 数据库应用与设计 n联系的属性 课程课程 选修选修 学生学生 m m n n 成绩成绩 广东工业大学 数据库应用与设计 E-R举例 广东工业大学 数据库应用与设计 E-R图实例:某个工厂物资管理的概念模型 n物资管理涉及的实体: n仓库: 属性有仓库号、面积、电话号码。 n零件:

37、 属性有零件号、名称、规格、单价、 描述。 n供应商: 属性有供应商号、姓名、地址、电 话号码、账号。 n项目: 属性有项目号、预算、开工日期。 n职工: 属性有职工号、姓名、年龄、职称。 广东工业大学 数据库应用与设计 E-R图实例(续) n实体之间的联系 n一个仓库可以存放多种零件,一种零件可以 存放在多个仓库中。用库存量来表示某种零 件在某个仓库中的数量。 n一个仓库有多个职工当仓库保管员,一个职 工只能在一个仓库工作。 n职工之间具有领导-被领导关系。即仓库主 任领导若干保管员。 n一个供应商可以供给若干项目多种零件,每 个项目可以使用不同供应商供应的零件,每 种零件可由不同供应商供给

38、。 广东工业大学 数据库应用与设计 n设某汽车运输公司数据库中有三个实体集。一是“车 队”实体集,属性有车队号、车队名等;二是“车辆” 实体集,属性有车牌照号、厂家、出厂日期等;三是 “司机”实体集,属性有司机编号、姓名、电话等。 设车队与司机之间存在“聘用”联系,每个车队可聘 用若干司机,但每个司机只能应聘于一个车队,车队 聘用司机有聘期;司机与车辆之间存在着“使用”联 系,司机使用车辆有使用日期和公里数,每个司机可 以使用多辆汽车,每辆车可被多个司机使用。 n要求: n(1)试画出ER图,并在图上注明属性、联系类型; 广东工业大学 数据库应用与设计 车车队队 车车辆辆 司司机机 车车队队号

39、号 聘聘用用 使使用用 n 1 m n 车车队队名名 车车牌牌照照号号 厂厂家家 出出厂厂日日期期 司司机机编编号号 姓姓名名 电电话话 使使用用日日期期 公公里里数数 聘聘期期 广东工业大学 数据库应用与设计 ER图转换成关系模式集的规则 n实体类型转换实体类型转换 n原则一:将每个实体类型转换成一个关系模式,实 体的属性即为关系模式的属性,实体的标识属性即 为关系模式的主键。 广东工业大学 数据库应用与设计 n二元联系类型的转换 n原则二:若实体间联系是1:N,则在N实体转换成的关 系模式中加入1实体的主键(作为外键)和联系类型的 属性。 n原则三:若实体间联系是1:1,可以在两个实体类型

40、转 换成的两个关系模式中任意一个关系模式的属性中加 入另一个关系模式的主键和联系类型的属性。 n原则四:若实体间联系是M:N,则将联系类型也转换成 关系模式,其属性为两端实体类型的主键(作为外键) 加上联系的属性,而主键为两端实体主键的组合。 广东工业大学 数据库应用与设计 n一元联系类型的转换:同二元联系 n三元联系类型的转换 总是将三元联系类型转换成关系模式,其属性为 三端实体类型的主键(作为外键)加上联系类 型的属性,而主键为三端实体主键的组合。 广东工业大学 数据库应用与设计 多对多联系转换成一对多联系 年龄 19 20 20 18 姓名 张三 李四 王五 赵六 学号 S1 S2 S3

41、 S4 82 728010074 50 8092 90 65 78 77 66 76 课 程 号 课 程 名 称 数 据 结 构 程 序 设 计 数 据 库 高 等 数 学 C4C3C2C1 多对多联系是否蕴含 了一对多联系? 广东工业大学 数据库应用与设计 多对多联系转换成一对多联系 广东工业大学 数据库应用与设计 传统的三大数据模型 n层次模型 n网状模型 n关系模型 广东工业大学 数据库应用与设计 层次模型 n用树形结构来表示实体之间联系的模型称 为层次模型。 n支持层次模型的典型系统是诞生于1970年 左右的IBM公司的IMS(Information Management System

42、)。 广东工业大学 数据库应用与设计 网状模型 n用网络结构来表示实体之间联系的数据模型 称为网状数据模型。 n取消了层次模型中的两点限制。 n网状模型的典型代表CODASYL(Conference On DAta SYstem Languages) 广东工业大学 数据库应用与设计 格式化模型 n基本层次联系 两个记录及它们之间的一对多(包括一对一) 的联系。 Ri Lij Rj 双亲结点双亲结点 子女结点子女结点 广东工业大学 数据库应用与设计 层次模型 层次模型示例 广东工业大学广东工业大学 经济管理学院经济管理学院文法学院文法学院 国际贸易国际贸易电子商务电子商务 一班一班 二班二班 广

43、东工业大学 数据库应用与设计 层次模型 层次模型示意图 A BC DEF 广东工业大学 数据库应用与设计 n层次模型满足以下两个条件: n有且只有一个结点没有双亲结点,这个结点被 称为根结点 n根以外的其它结点有且只有一个双亲 层次模型 广东工业大学 数据库应用与设计 层次模型 层次模型示意图 根结点根结点 叶结点叶结点 叶结点叶结点 广东工业大学 数据库应用与设计 层次模型 n层次模型示意图 广东工业大学 数据库应用与设计 n层次模型的特点 n记录只能按其路径查看 n只能表示一对多联系 n数据操作比较复杂 层次模型 A BC DEF 广东工业大学 数据库应用与设计 网状模型 n网状模型示意图

44、 广东工业大学 数据库应用与设计 网状模型 n网状模型满足以下两个条件 n允许一个以上的结点无双亲 n允许一个结点有多于一个的双亲 广东工业大学 数据库应用与设计 网状模型 n网状模型的特点 n可直接描述多对多联系 n结构复杂,难以操作 广东工业大学 数据库应用与设计 关系模型 n用关系(表格数据)表示实体和实体之间 联系的模型称为关系数据模型。 n什么是关系? n通俗地讲,关系就是二维表格(第2章详细 解释)。 广东工业大学 数据库应用与设计 思考题 n数据模型的作用是什么? n理解实体及其相关概念,以图书管理和借阅 业务为例列出尽可能多的实体,并讨论实体 的特征和标识特征。 n挑选你熟悉的

45、45个领域讨论实体以及实体 之间的联系,并画出相应的E-R图。除了常 见的两个实体之间一对一、一对多和多对多 联系,是否有多个实体之间的联系?是否在 两个实体之间存在多种联系? 广东工业大学 数据库应用与设计 思考题 n多对多联系为什么要转换成一对多联系? 如何进行转换? n概念模型、层次模型、网状模型、关系模 型是如何划分的? n讨论层次模型和网状模型的特点。 n为什么说关系就是二维表? n关系模型有哪些特点? 广东工业大学 数据库应用与设计 1.4 数据库的三层模式结构 n数据库的体系结构是一种三层模式结构,即 由面向全局逻辑结构的概念层、和面向全局 存储结构的物理层以及面向局部应用的外部

46、 层构成。 广东工业大学 数据库应用与设计 数据独立性 n什么是数据独立性? n怎样获得数据独立性? 广东工业大学 数据库应用与设计 两层结构 n存储数据独立性 广东工业大学 数据库应用与设计 三层结构 n存储数据独立性和概念数据独立性 广东工业大学 数据库应用与设计 n模式(Schema)是数据库中全体数据的逻辑结构和特 征的描述。 n例如:学生记录定义为(学号、姓名、性别、系别、 年龄),称为记录型, n而(001101,张立,男,计算机,20)则是该记录 型的一个记录值。 n模式只是对记录型的描述,而与具体的值无关。 n模式的定义 n数据的逻辑结构(数据项的名字、类型、取值范围等) n数

47、据之间的联系 n数据有关的安全性、完整性要求 广东工业大学 数据库应用与设计 n在数据库系统中,对于同一意义下的数据,如:学生数 据,从计算机中处理的二进制表示到用户处理的诸如学 生姓名、年龄等概念的数据之间,存在着许多抽象和转 换。 n通常DBMS把数据库从逻辑上分为三级,即外模式、模 式和内模式,它们分别反映了看待数据库的三个角度。 三级模式结构如图 所示。 广东工业大学 数据库应用与设计 应用1应用2应用n 子模式1子模式m 子模式/模式映象 模式 模式/内模式映象 内模式 数据库 广东工业大学 数据库应用与设计 1. 模式 n模式(Schema)是数据库中全体数据的逻辑结构和特 征的描

48、述,又称概念模式或概念视图。视图可理解为一 组记录的值,用户或程序员看到和使用的数据库的内容。 n模式处于三级结构的中间层,它是整个数据库实际存储 的抽象表示,也是对现实世界的一个抽象,是现实世界 某应用环境(企业或单位)的所有信息内容集合的表示, 也是所有个别用户视图综合起来的结果,所以又称用户 共同视图。 n它表示了数据库的整体数据。 n由多个“概念记录”组成,包含数据库的所有信息,也 称“概念数据库”、“DBA视图”。 nDBMS 提供模式描述语言(模式 DDL)来定义模式。 广东工业大学 数据库应用与设计 2. 外模式 n又称子模式或用户模式或外视图,是三级结构的最外层, 个别用户只对

49、整个数据库的一部分感兴趣,所以外视图 是个别用户看到和使用的数据库内容,因此也常把外视 图称为用户数据库。 n它由多种外记录值构成,这些记录值是概念视图的某一 部分的抽象表示。即个别用户看到和使用的数据库内容, 也称“用户DB”。 n由多个“外记录值”组成,是概念视图的某一部分的抽 象表示。 n从逻辑关系上看,外模式包含于概念模式。 nDBMS 提供子模式描述语言(子模式 DDL)来定义子模 式。 广东工业大学 数据库应用与设计 n外模式的地位:介于模式与应用之间 n模式与外模式的关系:一对多 外模式通常是模式的子集 一个数据库可以有多个外模式。反映了不同的用户 的应用需求、看待数据的方式、对数据保密的要求 对模式中同一数据,在外模式中的结构、类型、长 度、保密级别等都可以不同 n外模式与应用的关系:一对多 同一外模式也可以为某一用户的多个应用系统所使 用, 但一个应用程序只能使用一

温馨提示

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

最新文档

评论

0/150

提交评论