数据库原理及应用.pptx
《数据库原理及应用.pptx》由会员分享,可在线阅读,更多相关《数据库原理及应用.pptx(884页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库原理与应用(第3版)第1章 数据库概述v1.1 数据管理的发展 v1.2 数据独立性v1.3 数据库系统的组成v1.4 数据库应用结构 1.1 数据管理的发展v 1.1.1 文件管理 v 1.1.2 数据库管理1.1.1 文件管理应用程序1文件1应用程序2文件2应用程序n文件n文件系统文件管理系统示例应用程序应用程序A2应用程序应用程序A1学生基本信息管理学生基本信息管理学生选课管理学生选课管理学生信息学生信息文件文件F1课程信息课程信息文件文件F2学生选课信学生选课信息文件息文件F3文件管理系统的缺点 v编写应用程序不方便 v数据冗余不可避免v应用程序依赖性 v不支持对文件的并发访问
2、v数据间联系弱 v难以按用户视图表示数据 v无安全控制功能1.1.2 数据库管理应用程序1应用程序2应用程序nDBMS数据库数据库管理系统实现示例应 用 程 序应 用 程 序A1学生基本信息学生基本信息管理管理学 生 有学 生 有关 的 数关 的 数据库据库应用程序应用程序A2学生选课管理学生选课管理数据库数据库管理系统管理系统数据库管理系统的优点 v相互关联的数据的集合 v较少的数据冗余 v程序与数据相互对立v保证数据的安全、可靠v最大限度地保证数据的正确性v数据可以并发使用并能保证一致性相互关联的数据的集合v数据库中的数据不是孤立的,数据与数据之间是相互关联的。也就是说,在数据库中不仅要能
3、够表示数据本身,还要能够表示数据与数据之间的联系。较少的数据冗余 数据库中的数据被统一管理,合理组织,任何对数据的操作都由数据库管理系统DBMS完成。DBMSDBMS数据具有较高的独立性v数据独立性是指数据的组织和存储方法与应用程序互不依赖、彼此独立的特性。保证数据的安全、可靠 数据库技术要能够保证数据库中的数据是安全、可靠的。 防止 数据遭到破坏时能立刻将数据完全恢复最大限度地保证数据的正确性 保证数据正确的特性在数据库中称之为数据完整性。200岁数据可并发使用并能保证数据的一致性v 在多个用户同时使用数据库时,能够保证不产生冲突和矛盾,保证数据的一致性和正确性。并发操作示例10张票订订8
4、8张票:张票:10-8=2订订4张票:张票:10-6=44210101.2 数据独立性v数据独立性包含两个方面 逻辑独立性 物理独立性v物理独立性是指当数据的存储结构发生变化时,比如,从链表存储改为哈希表存储,不影响应用程序的特性;v逻辑独立性是指当表达现实世界的信息内容发生变化时,比如增加一些列、删除无用列等,也不影响应用程序的特性。 1.3 数据库系统的组成 应用程序应用程序1应用程序应用程序2应用程序应用程序n数据库管理系数据库管理系统(统(DBMS)数据库数据库核心核心用户类型v系统管理员:负责数据库的规划、设计、协调、维护和管理等工作,主要是为了保证数据库正确和高效的运行。v应用程序
5、开发人员:负责使用某个程序设计语言编写数据库应用程序,这些应用程序通过向数据库管理系统发出SQL请求获得对数据库的访问,并将数据库管理系统返回的结果按照一定格式显示给用户。v最终用户:是数据库应用程序的使用者。1.4 数据库应用结构v数据库应用结构是指数据库运行的软、硬件环境。通过这个环境,用户可以访问数据库中的数据。v四种最常见的应用结构: 集中式结构 文件服务器结构 客户/服务器结构 互联网应用结构 1.4.1 集中式应用结构 应用程序应用程序数据库数据库大型机大型机按键信息按键信息终端字符终端字符终端终端1终端终端n终端终端2客户端客户端优点是可以实现集中管理,安全性好。缺点是费用昂贵,
6、不能真正划分应用程序的逻辑。 1.4.2 文件服务器结构 v优点在于实现的费用比较低廉,而且配置非常灵活。缺点是,由于所有的应用处理都要在客户端完成,因此客户端的个人计算机必须要有足够的能力。 应用程序应用程序数据库数据库网络文件服务器网络文件服务器文件文件文件请求文件请求工作站工作站1工作站工作站n工作站工作站2客户端客户端应用程序应用程序应用程序应用程序1.4.3 客户/服务器结构 v优点:应用程序或应用逻辑可以根据需要划分在服务器和客户工作站中,同时减少了网络流量。 应用程序应用程序数据库数据库服务器服务器数据请求数据请求结果结果工作站工作站1工作站工作站n工作站工作站2客户端客户端应用
7、程序应用程序应用程序应用程序1.4 互联网应用结构 v优点:最终用户应用软件的安装和维护都非常简单,客户端不再需要安装、配置应用软件的工作。这些工作只需在Web服务器上完成,从而减少客户端与服务器端软件配置的不一致以及不同版本应用软件所带来的问题。 客户端应用程序应用程序数据库数据库服务器页面请求页面请求页面页面个人机个人机1个人机个人机n个人机个人机2数据请求数据请求结果结果Web服务器浏览器浏览器浏览器浏览器浏览器浏览器第2章 数据库系统结构 v2.1 数据和数据模型 v2.2 概念层数据模型 v2.3 组织层数据模型 v2.4 数据库系统的结构2.1 数据和数据模型v1.数据 人们从实际
8、中抽取的感兴趣的事物特征。 有一定的格式,如,性别是一个汉字的字符。格式的规定是数据的语法,而数据的含义是数据的语义。 数据是信息存在的一种形式,只有通过解释或处理才能成为有用的信息。 通过解释、推论、归纳、分析和综合等方法,从数据所获得的有意义的内容称为信息。示例v数据: (张三,9912101,男,1981,计算机系,应用软件)v解释: 张三是9912101班的男生,1981年出生,计算机系应用软件专业。2022年4月16日5时30分27数据信息解释2.1.2 数据模型v对于模型,人们并不陌生。 建筑模型 飞机模型v计算机中的模型是对事物、对象、过程等客观系统中感兴趣的内容的模拟和抽象表达
9、,是理解系统的思维工具v数据模型(data model)也是一种模型,它是对现实世界数据特征的抽象。2022年4月16日5时30分28数据模型(续)v数据库管理系统是基于某种数据模型对数据进行组织的,因此,了解数据模型的基本概念是学习数据库知识的基础。v在数据库领域中,数据模型用于表达现实世界中的对象,即将现实世界中杂乱的信息用一种规范的、形象化的方式表达出来。2022年4月16日5时30分29数据模型(续)v数据模型即要面向现实世界,又要面向机器世界,因此需满足三个要求: 能够真实地模拟现实世界; 容易被人们理解; 能够方便地在计算机上实现。2022年4月16日5时30分302. 数据模型v
10、模型是现实世界感兴趣的内容的抽象特征的模拟和抽象。(是理解系统的思维工具)v数据模型是用来抽象、表示和处理现实世界中的数据和信息的。(如:数据库、文件)v数据模型应满足三个条件: 能比较真实地模拟现实世界; 容易被人们理解; 便于在计算机上实现。数据模型(续)v数据模型实际上是模型化数据和信息的工具。根据模型应用的不同目的,可以将模型分为两大类:v概念层数据模型(概念模型),从数据的语义视角来抽取模型,是按用户的观点来对数据和信息进行建模。v组织层数据模型(组织模型)。从数据的组织层次来描述数据。2022年4月16日5时30分32概念层数据模型v从数据的应用语义视角来抽取现实世界中有价值的数据
11、并按用户的观点对数据进行建模。v主要用在数据库的设计阶段,v与具体的数据库管理系统无关,v与具体的实现方式无关。2022年4月16日5时30分33组织层数据模型v从数据的组织方式来描述数据。主要有: 层次模型 网状模型 关系模型 对象-关系模型v是从计算机系统的观点对数据进行建模,v与所使用的数据库管理系统有关。2022年4月16日5时30分34现实世界现实世界信息世界:概念模型信息世界:概念模型机器世界:具体机器世界:具体DBMSDBMS支支持的数据模型持的数据模型转换转换人的认识抽象人的认识抽象现实世界客观事物的抽象过程 数据的两个特征v静态特性:包括数据的基本结构、数据间的联系和数据中的
12、约束。 v动态特征:指定义在数据上的操作。比如对学生的基本信息可以查询、修改和增加新记录等。 2.2 概念层数据模型v1. 基本概念v2. 实体-联系模型2022年4月16日5时30分371. 基本概念v概念层数据模型是指抽象现实系统中有应用价值的元素及其关联关系,反映现实系统中有应用价值的信息结构,并且不依赖于数据的组织层数据模型。v用于对信息世界建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的工具,也是数据库设计人员和业务领域的用户之间进行交流的工具。2022年4月16日5时30分38基本概念(续)v概念层数据模型应该: 具有较强的语义表达能力; 能够方便、直接地表
13、达应用中的各种语义知识; 简单、清晰,易于被用户理解。v是面向用户、面向现实世界的数据模型,与具体的DBMS无关。v常用概念模型:实体-联系模型、语义对象模型2022年4月16日5时30分392. 实体-联系模型v由P. P. S. Chen于1976年提出,即通常所说的E-R方法。v这种方法由于简单、实用,因此得到了广泛的应用,也是目前描述信息结构最常用的方法。v实体-联系方法使用的工具称为E-R图。v也把这种描述结果称为E-R模型。2022年4月16日5时30分40 2.2 概念层数据模型 v概念层次模型实际上是现实世界到机器世界的一个中间层次。 v概念层次模型:抽象现实系统中有应用价值的
14、元素及其关联,反映现实系统中有应用价值的信息结构,不依赖于数据的组织结构。 v概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象。v是数据库设计人员和用户之间进行交流的工具 。v是面向用户、面向现实世界的数据模型,是与DBMS无关 。v常用的概念模型:实体-联系模型、语义对象模型 实体-联系模型 v实体 v属性 v联系 实体v具有公共性质的可相互区分的现实世界对象的集合。v可以是具体的事物,也可以是抽象的概念或联系v具体的事物:学生、课程、职工v抽象的联系:学生选课实体的表示方式v在E-R图中用矩形框表示实体,把实体名写在框内,比如学生实体可以表示为:学生属性v实体所具有的特征或性质
15、。身高年龄性别体重属性的表示方式 用圆角矩形或椭圆框表示,框内写上属性名,并用连线连到相应实体。学学生生学号学号姓名姓名性性别别2022年4月16日5时30分46联系 v联系是数据之间的关联集合,是客观存在的应用语义链 。v实体内部的联系:一个实体内属性之间的联系。 职工实体内部的职工号和职工的部门经理号v实体之间的联系:不同实体之间的联系。 课程实体和学生实体之间的选课联系。联系的表示方式 实体之间的联系用菱形框表示,框内写上联系名,并用连线与有关的实体相连。 联系名实体1实体2联系的种类 如果实体A中的每个实例在实体B中至多有一个(也可以没有)实例与之关联,反之亦然,则称实体A与实体B具有
16、一对一联系, 记作:1 : 1。 一对一联系(1:1)一对一联系的例子部门和正经理(假设一个部门只有一个正经理,一个人只当一个部门的经理)、系和正系主任(假设一个系只有一个正主任,一个人只当一个系的主任)都是一对一联系。 管理经理部门11一对多的联系 如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有多个实例与之对应;而对实体B中的任意一个实例,在实体A中都只有一个实例与之对应,则称实体A到实体B的联系是一对多的。 记作: 1 : n 有部门和职工两个实体,并且有语义:一个部门可以有多名职工,但是一个职工只在一个部门工作。则部门和职工之间的联系是一对多的,我们把这种联系命名
17、为工作。一对多联系的例子工作部门职工1n多对多的联系 如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有多个实例与之对应;而对实体B中的一个实例,在实体A中也有多个实例与之对应,则称实体A到实体B的联系是多对多的。 记作:m : n 多对多联系的例子 有学生和课程两个实体,并且有语义:一个学生可以修多门课程,一门课程可以被多个学生修。那么学生和课程之间的联系就是多对多的,我们把这种联系命名为选课。学生课程选课mn关联多个实体的联系v顾客购买商品:每个顾客可以从多个售货员那里购买商品,并且可以购买多种商品;每个售货员可以向多名顾客销售商品,并且可以销售多种商品;每种商品可由多
18、个售货员销售,并且可以销售给多名顾客。 m mn np p顾客顾客商品商品售货员售货员销售销售2.3 组织层数据模型v2.3.1 关系数据模型的数据结构v2.3.2 关系数据模型的数据操作v2.3.3 关系数据模型的数据完整性约束关系数据模型的数据结构v把数据看成是二维表中的元素,而这个二维表就是关系 v用关系(表格数据)表示实体和实体之间联系的模型称为关系数据模型v示例:学生基本信息表一些基本术语v关系(relation) :就是二维表,它满足如下性质:关系表中的每一列都是不可再分的基本属性。 表中各属性不能重名。 表中的行、列次序并不重要。学号学号姓名姓名年龄年龄性别性别所在系所在系出生日
19、期出生日期年月日0611101李勇21男计算机系1987460611102刘晨20男计算机系198812150611103王敏20女计算机系19888210621101张立20男信息管理系198863不是基本属性不是基本属性不是关系不是关系一些基本术语(续)v属性(attribute) :二维表中的每个列称为一个属性(或叫字段)。 v每个属性有一个名字,称为属性名。v二维表中对应某一列的值称为属性值;v二维表中列的个数称为关系的元数。如果一个二维表有n个列,则称其为n元关系。一些基本术语(续)v值域(domain)v二维表中属性的取值范围称为值域。v如: “年龄”取值为0150的整数 “性别”
20、 的取值为“男”和“女”一些基本术语(续)v元组(tuple):二维表中的一行数据称为一个元组(记录值)。(06111010611101,李勇,李勇,2121,男,计算机系),男,计算机系)(06111020611102,刘晨,刘晨,2020,男,计算机系),男,计算机系)(06111030611103,王敏,王敏,2020,女,计算机系),女,计算机系)(06211010621101,张立,张立,2020,男,信息管理系),男,信息管理系)(06211020621102,吴宾,吴宾,1919,女,信息管理系),女,信息管理系)元组元组一些基本术语(续)v分量(component):元组中的每
21、一个属性值称为元组的一个分量,n元关系的每个元组有n个分量。v例如, 元组(0611101,李勇,21,男,计算机系),有5个分量: 0611101、李勇、21、男、计算机系一些基本术语(续)v关系模式(relation schema):二维表的结构称为关系模式,或者说,关系模式就是二维表的表框架或表头结构。v设有关系名为R,属性分别为A1,A2,An,则关系模式可以表示为: R(A1,A2,An)v如果将关系模式理解为数据类型,则关系就是该数据类型的一个具体值。一些基本术语(续)v关系数据库(relation database):对应于一个关系模型的所有关系的集合称为关系数据库。v候选码(c
22、andidate key):如果一个属性或属性集的值能够惟一标识一个关系的元组而又不包含多余的属性,则称该属性或属性集为候选码。v候选码也称为候选键或候选关键字。v在一个关系上可以有多个候选码。一些基本术语(续)v主码(primary key):当一个关系中有多个候选码时,可以从中选择一个作为主码。v每个关系只能有一个主码。v主码也称为主键或主关键字,用于惟一地确定一个元组。v主码可以由一个属性组成,也可以由多个属性共同组成。v注意:不能根据关系在某时刻所存储的内容来决定其主码。主码示例v学生关系模式:(学号,姓名,年龄,性别,所在系)v选课关系模式: (学号,课程号,成绩):一个学生对一门课
23、程只能有一次考试; (学号,课程号,考试次数,成绩):一个学生对一门课程可有多次考试。一些基本术语(续)v主属性(primary attribute)和非主属性(nonprimary attribute)v包含在任一候选码中的属性称为主属性。v不包含在任一候选码中的属性称为非主属性。术语对比关系术语一般的表格术语关系名表名关系模式表头(表所含列的描述)关系(一张)二维表元组记录或行属性列分量一条记录中某个列的值关系模型的数据操作 v关系模型的操作对象是集合(也就是关系)v非关系型数据库系统中典型的操作是一次一行或一次一个记录。v集合处理能力是关系系统区别于其他系统的一个重要特征。v关系数据模型
24、的数据操作主要包括四种:查询、插入、删除和修改数据。 关系模型的数据完整性约束 v数据的完整性是指保证数据正确性的特征。v数据完整性是一种语义概念,包括两方面: 与现实世界中应用需求的数据的相容性和正确性; 数据库内数据之间的相容性和正确性。v实体完整性 v参照完整性v用户定义的完整性实体完整性v实体完整性指的是关系数据库中所有的表都必须有主码。 v而且表中不允许存在如下的记录: 无主码值的记录 主码值相同的记录参照完整性v参照完整性一般是指实体(表)之间的关联关系。 v在关系数据库中用外码来实现参照完整性。v外码一般出现在联系所对应的关系中,用于表示两个或多个实体之间的关联关系。v外码实际上
25、是表中的一个(或多个)属性,它引用某个其他表(特殊情况下,也可以是外码所在的表)的主码。 外码引用例1学生学生专业专业属于属于(学号学号, 姓名姓名, 专业号专业号, )(专业号专业号,专业名),专业名)外码引用例2学生学生课程课程修课修课(学号学号,姓名,姓名,)(课程号课程号,课程名,课程名, , )(学号学号, 课程号课程号, 成绩成绩, )参照完整性规则v参照完整性规则就是定义外码与主码之间的引用规则。v对于外码,一般应符合如下要求: 或者值为空; 或者等于其所应用的关系中的某个元组的主码值。v外码说明:外码不一定要与被引用列同名,只要它们的语义相同即可。外码为空示例v职工(职工号,职
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 应用
限制150内