Download presentation
Presentation is loading. Please wait.
Published by祈恤 向 Modified 7年之前
0
数据库技术及应用 中国科学技术大学管理学院 王卫平主讲
1
【开篇案例】 中国科技大学的在校生共有15500多人,其中:博士生1900多人,硕士生6200多人,本科生7400多人。学校的教学管理工作相当复杂和繁重,仅本科生开设的课程、教室安排事宜,每学期就多达950多个课堂。(即:全校每个学院,每个系,每个专业方向,不同的年级,在本学期开设的全部课程,安排在哪个教室,哪个节次?) 要用到哪些数据?用什么方法完成这件事? 学校开发了教学管理系统,同学们任何时候都可以非常方便的查询到课表和课堂安排… 这就是使用数据库技术开发的数据库应用系统
2
内容介绍课程 基础知识(第1—4章) 设计方法(第6章) 系统知识(第5章) 最新技术(第7章)
数据库基本概念:数据管理的进展、数据模型、数据库管理系统、数据库工程等。 关系数据库:关系数据模型、关系数据语言和关系数据理论等。 设计数据库应用系统的方法,重点是设计关系数据库应用系统。 数据库的安全性、完整性、并发控制和恢复等数据库保护技术。 新一代数据库技术,主要介绍网络环境下的数据库技术。 基础知识(第1—4章) 设计方法(第6章) 系统知识(第5章) 最新技术(第7章)
3
教学目的 数据库技术就是研究如何 有效地组织、存储、管理 和使用数据的技术。 掌握数据库的基本原理、方法和应用技术
有效地使用数据库管理系统和相关的软件开发工具 掌握数据库的基本原理、方法和应用技术 掌握数据库结构的设计和数据库应用系统的开发方法
4
教学安排 课堂讲授60学时,通过卷面考试检查知识掌握情况,占总成绩的70%
实验课20-30机时,分小组完成一个数据库应用系统的开发设计,占总成绩的30% 课堂出勤抽查,占总成绩的10%
5
第一章 绪论 1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统结构 1.4 数据库管理系统
6
1.1 数据库系统概述 1.几个基本概念 数据(Data):数据是数据库中存储的基本对象,数据的种类很多:数字、文字、图形、图像、声音、学生档案记录等。 数据与其语义是不可分的(数据的含义称为语义) 【例】93是一个数据 语义1:学生某门课的成绩 语义2:火车票的价钱 语义3:二年级的学生人数 语义4:请同学给出…
7
1.1 数据库系统概述 数据库(DataBase,简称DB):长期存储在计算机内、有组织的、可共享的数据集合。 【例】学生档案中的记录
(李明,男,1985/02,北京,计算机系,2003) 语义:学生姓名,性别,出生年月,籍贯, 所在院系,入学时间。 解释:李明是个男生,1985年2月出生,北京市 人,2003年考入科大计算机系。 请同学给出另一个解释和语义
8
1.1 数据库系统概述 我们收集了大量有关数据之后,如何科学地组织这些数据并将其存储在数据库中,又如何高效地处理这些数据呢?完成这个任务的是一个软件系统:数据库管理系统 数据库管理系统(DataBase Management System,简称DBMS):是位于用户与操作系统之间的一层数据管理软件。它为用户或应用程序提供访问DB的方法。
9
1.1 数据库系统概述 用户 数据库 管理员 操作系统 数据库管理系统 应用开发工具 应用系统 数据库系统 数据库系统(DataBase System,简称DBS):是指在计算机系统中引入数据库技术后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
10
1.1 数据库系统概述 硬件 操 作 系 统 DBMS 编 译 用 开 发 工 具 软 件 应 数据库在计算机系统中的地位
11
1.1 数据库系统概述 2.数据库技术的产生和发展 数据库技术是应数据管理任务的需要而产生的
数据管理是数据库的核心任务,内容包括对数据进行分类、组织、编码、存储、检索和维护。数据管理技术的发展,是随着计算机硬件和软件的发展而不断发展的。到目前为止,数据管理技术的发展经历了三个阶段:
12
1.1 数据库系统概述 -数据管理技术的发展 人工管理阶段(20世纪50年代中期前) 这一阶段的特点是: 数据不保存;
没有对数据进行管理的软件系统; 没有文件的概念; 一组数据对应于一个程序,数据是面向应用的。
13
1.1 数据库系统概述 -数据管理技术的发展 文件系统阶段(50年代后至60年代中期) 这一阶段的特点是:
数据需要长期保存在外存上供反复使用; 程序和数据之间有了一定的独立性; 文件的形式已经多样化; 数据的存取基本以记录为单位。
14
1.1 数据库系统概述 -数据管理技术的发展 数据库系统阶段(60年代后期) 数据结构化
这一阶段的特点是: 数据结构化 在文件系统中,只考虑了同一文件记录内部数据项之间的联系,而不同文件的记录之间是没有联系的,也就是说,从整体上看数据是无结构的。 在DBS中,实现了整体数据的结构化,把文件系统中简单的记录结构变成了由记录之间的联系所构成的结构化数据。在描述数据时,不仅要描述数据本身,还要描述数据间的联系。数据间的联系通过存取路径来实现,把相关的数据有机地联系在一起。
15
例: 这样的文件仍有局限性,因为这种灵活性只对一个应用而言。一个学校涉及许多应用,在DBS中不仅要考虑某个应用的数据结构,还要考虑整个学校的数据结构。 学号 姓名 性别 系别 年龄 政治面貌 家庭出身 籍贯 家庭成员 奖罚情况 学生人事记录 前八项数据是等长的 变化较大 学号 姓名 性别 系别 年龄 政治面貌 家庭出身 籍贯 姓名 与本人关系 详细情况 日期 奖罚条目 家庭条件记录 奖罚情况记录 2002 一等奖学金 家庭条件记录 奖罚情况记录 李 平 兄弟 9901 李勇 男 计算机 20 团员 工人 江苏 张 玉 母子 李意山 父子
16
通过所有存取路径表示自然的数据联系是DBS与文件系统的根本区别。
学号 姓名 性别 系别 年龄 政治面貌 籍贯 家庭出身 日期 地点 学历名 课程名 学号 学分 日期 奖罚条目 课程号 课程名 姓名 与本人关系 详细情况 学生基本记录 学生人事记录 学生学籍记录 学生选课记录 奖罚情况记录 家庭成员记录 课程记录
17
1.1 数据库系统概述 -数据管理技术的发展 数据共享性好,冗余度低 DBS从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间。同时还能避免数据之间的不相容与不一致性。
18
1.1 数据库系统概述 -数据管理技术的发展 数据独立性高 是指数据库中的数据与应用程序之间不存在依赖关系,而是相互独立的。
数据的独立性包括数据的物理独立性和数据的逻辑独立性。 物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。即当数据的存储结构改变时,用户的应用程序不用改变。 逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。即当数据的逻辑结构改变时,用户的应用程序也不用改变。
19
1.1 数据库系统概述 -数据管理技术的发展 数据由DBMS统一管理和控制
由于对数据实行了统一管理,在使用数据时可有很灵活的方式,因此系统的弹性大并易于扩充。另外,为了适应数据共享的环境,数据库管理系统还提供了四个基本控制功能: 数据的安全性 数据的完整性 并发控制 数据库恢复
20
第一章 绪论 1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统结构 1.4 数据库管理系统
21
1.2 数据模型 1.数据模型的概念 模型是对现实世界的抽象。在数据库技术中,用模型的概念描述数据库的结构与语义,对现实世界进行抽象。即数据模型是现实世界数据特征的抽象,是用来描述数据的一组概念和定义。换言之,数据模型是能表示实体类型及实体间联系的模型。
22
1.2 数据模型 2.数据模型的要素 数据结构:指对实体类型和实体间联系的表达与实现,用于描述系统的静态特征。
数据模型通常由数据结构、数据操作和完整性约束三个要素组成。 数据结构:指对实体类型和实体间联系的表达与实现,用于描述系统的静态特征。 数据操作:指对数据库的检索和更新两大类操作,用于描述系统的动态特征。 数据约束条件:一组完整性规则的集合,是数据及其联系应具有的制约和依赖规则。
23
1.2 数据模型 3.数据模型的种类 概念数据模型:独立于计算机系统,用于描述某种信息结构,是对现实世界的第一层抽象。
逻辑数据模型:直接面向数据库的逻辑结构,是对现实世界的第二层抽象。这类数据模型与DBS有关,有严格的形式化定义,以便于在计算机中实现。常用的有: •层次数据模型 •网状数据模型 •关系数据模型 •面向对象的数据模型
24
1.2 数据模型 -数据模型的种类 现实世界 认识抽象 信息世界概念模型 转换 计算机世界逻辑模型
25
1.2 数据模型 -数据模型的种类 (1)实体联系模型(E-R模型) E-R模型用于信息世界的建模,涉及的主要概念有:
实体:客观存在并可相互区别的事物称为实体,实体可以是具体的人、事、物,也可以是抽象的概念或联系。 属性:实体所具有的某一特征称为属性。一个实体可由若干个属性来刻画。 码:能唯一标识实体的属性集称为码。
26
1.2 数据模型 -实体联系模型 域:属性的取值范围。 实体集:同类实体的集合。
实体型:描述同类实体的框架,用实体名及其属性名集合来抽象和刻画。 联系:实体之间(和实体内部属性间)的联系。 两个实体间的联系分为三类: 一对一联系(1:1) 一对多联系(1:n) 多对多联系(m:n)
27
1.2 数据模型 -实体联系模型 E-R模型的表示方法 实体型:用矩形表示,矩形框内写明实体名。
属性:用椭圆形表示,并用无向边将其与相应的实体联系起来。 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来。同时在无向边旁标上联系的类型。
28
1.2 数据模型 -实体联系模型 例: 课程 教师 参考书 讲授 班级 班长 负责 班级 学生 组成 课程 学生 选修 邮局 学生 学号
n m 班级 班长 负责 1 班级 学生 组成 n 1 课程 学生 选修 m n 邮局 P 学生 学号 姓名 性别 年龄 购买 m n 邮票 顾客
29
1.2 数据模型 -实体联系模型 完整的E-R图 教师 参考书 讲授 选修 课程 学生 班级 组成 职工号 姓名 职称 书名 书号 出版社
作者 参考书 讲授 1 n m 选修 成绩 课程 课号 课名 学分 任课教师 班号 专业 班主任 学生 班级 组成 人数 学号 性别 完整的E-R图
30
1.2 数据模型 -数据模型的种类 (2)层次数据模型 用树结构表示实体及实体间联系的数据模型 a)数据结构
按照树的定义,层次模型有以下两个限制: 只有一个结点无双亲结点,称为根结点 根以外的其他结点有且仅有一个双亲结点 由定义可看出层次模型只能处理一对多的联系
31
例: T-S数据库模型 T-S的一个值 D(系) S(学生) R(教研室) T(教师) D# DL DN R# RN T# TN TD S#
SN SG 有向线表示记录型之间的联系,只能是1:n的父子联系 T-S的一个值 AI R3 IM R2 R1 DB R CS …… D11 D E11 LJJ DBS E09 LB E04 WS DBT T S07 WB A S03 CY C S01 LJ S E02 ML ES E39 HR E 每个结点表示一个记录型(实体),包含若干字段(属性)
32
1.2 数据模型 -层次数据模型 n:m联系在层次模型中的表示: 引入逻辑DB的概念,把n:m联系分介为1:n再表示。
分介方法:冗余结点法(实偶对) 虚拟结点法(虚偶对)
33
例: 冗余结点法 虚拟结点法 S# SN SG C# CN S-C n m S C S# SN SG C# CN S C S# SN SG
V.C C# CN C V.S 虚拟结点法
34
1.2 数据模型 -层次数据模型 b)数据操作与完整性约束 操作:查询,插入,删除,更新。 完整性约束条件:
无双亲结点值就不能插入子女结点值 删除双亲结点值,子女结点值也同时删除 更新时,若一处要更新,则所有出现该值的地方都要更新
35
1.2 数据模型 -层次数据模型 c)层次模型的存储结构 邻接法:自顶向下,自左向右的顺序排列。 例: A B C B1 B4 B6 A1
……
36
1.2 数据模型 -层次数据模型 链接法:按自顶向下,自左向右顺序用指针链 接起来。 .B1 .B4 .B6 .C2 .C9 .C4 .C6
.A1 .C3 .C5 .C7 .C14 A2
37
1.2 数据模型 -数据模型的种类 (3)网状数据模型 用丛结构表示实体及实体间联系的数据模型 a)数据结构
满足以下两个条件的基本层次联系的集合: 允许一个以上的结点无双亲 一个结点可以有多于一个的双亲 Rj Lij 1:n联系 Ri
38
例: 学生宿舍 系 学生 教研室 教师 1:n联系 L1 L2 L3 L4 树 人 种植 砍伐 复合链 S# SN SD 学生 C# CN
CT 课程 G 选修 S-SC C-SC n:m联系
39
1.2 数据模型 -网状数据模型 允许插入尚未确定双亲结点值的子女结点值 b)数据操作与完整性约束 操作:查询,插入,删除,更新。
完整性约束条件: 允许插入尚未确定双亲结点值的子女结点值 允许删除双亲结点值而保留子女结点值 c)网状模型的存储结构 常用:链接法,单向链,双向链,环状链, 向首链。
40
1.2 数据模型 -网状数据模型 学生-选课网状DB的一个存储示意图 S1 C1 A S1 C2 A S2 C2 A S1 C3 A
S2 C1 B S1 S2 C1 C3 C2 学生DB 选课DB 课程DB 学生-选课网状DB的一个存储示意图
41
1.2 数据模型 -数据模型的种类 (4)关系数据模型 用表格数据表示实体及实体间联系的数据模型 a)数据结构 二维表(逻辑结构)
域:学号从98001-98045 性别为“男”或“女”等 关系名 学生登记表 主码 元组 学号 姓名 性别 所在系 …… 98001 李勇 男 信息 分量 属性
42
1.2 数据模型 -数据模型的种类 对关系的描述一般可表示为: 关系名(属性1,…,属性n),称为关系模式 例如前面的关系可表示为:
学生(学号,姓名,性别,所在系,… ) 在关系模式中,关系之间的联系也是用关系来描述的。如学生和课程之间的多对多联系可表示为: 学生(学号,姓名,性别,所在系,年龄,籍贯) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩)
43
1.2 数据模型 -关系数据模型 关系必须是规范化的,即关系必须满足一定的规范条件,其中最基本的:每一分量不可再分 例: 学号 姓名 性别
年龄 籍贯 系别 成绩 数学 英语 … 物理 98001 李勇 男 20 江苏 数学 … 90 ……… … … … … 98045 王平 女 19 上海 信息 … 70
44
1.2 数据模型 -关系数据模型 b)数据操纵与完整性约束 操纵:查询,插入,删除,更新。 关系操作的特点为:集合操作 完整性约束条件:
实体完整性(实体区别性) 参照完整性(表间不矛盾) 用户自定义完整性(系统尊重用户要求) c)关系模型的存储结构 以文件形式存储
45
1.2 数据模型 -关系数据模型 非关系模型 实体之间的联系用指针链实现 关系模型与非关系模型(层次、网状模型)的主要差别:
非关系模型 实体之间的联系用指针链实现 关系模型 实体之间的联系用表格数据表示
46
第一章 绪论 1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统结构 1.4 数据库管理系统
47
1.3 数据库系统结构 1.“型”和“值”的概念 数据模型中有“型”和“值”之分。 型 是对某一类数据的结构和属性的描述
值 是型的一个具体赋值 例如:学生可以用 (学号,姓名,性别,出生年月,系别) 这样的记录型来描述,而 (PB ,李勇,男, ,信息系) 就是该记录型的一个记录值。
48
1.3 数据库系统结构 2.模式的概念 模式:是数据库中全体数据的逻辑结构和特征的描述。模式是相对稳定的,它反映的是数据的结构及其联系,是型的概念。 实例:模式的一个具体值,同一个模式可以有很多实例。模式的实例是相对变动的,它反映的是数据库某一时刻的状态。
49
1.3 数据库系统结构 3.数据库系统的模式结构 数据库系统采用三级模式结构,即是指数据库系统是由外模式、概念模式和内模式三级构成。如下图所示:
50
…… 局部逻辑结构 用户2 用户3 用户1 用户4 外模式A 外模式B 外模式C 模式 内模式 OS DBMS 用户级DB (用户视图)
(系统程序员视图) 模式/内模式的映象 外模式/模式的映象 全局逻辑结构 物理结构和存储方式的描述
51
1.3 数据库系统结构 -数据库系统的模式结构 (1)模式
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式,处于数据库系统模式结构的中间层。
52
1.3 数据库系统结构 -数据库系统的模式结构 (2)外模式 (3)内模式
外模式也称子模式或用户模式,它是数据库用户看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。 外模式通常是模式的子集,一个数据库可以有多个外模式,以满足不同用户的应用需求。 (3)内模式 内模式也称存储模式,它是数据物理和存储结构的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。
53
1.3 数据库系统结构 -数据库系统的模式结构 (4)数据库的二级映像功能
DBS的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在内部实现这三个抽象层次的联系和转换,DBS在三级模式之间提供了两层映像: 外模式/模式映像 模式/内模式映像
54
1.3 数据库系统结构 -数据库系统的模式结构 外模式/模式映像 定义了外模式与模式之间的对应关系。当模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。 模式/内模式映像 定义了数据全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。
55
1.3 数据库系统结构 -数据库系统的模式结构 4.数据库系统的体系结构 从最终用户的角度去看DBS的体系结构,可分为: 单用户DBS
56
第一章 绪论 1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统结构 1.4 数据库管理系统
57
1.4 数据库管理系统 DBMS是介于用户和操作系统之间的一个数据库系统软件。是数据库系统的核心组成部分。它的主要职能是维护数据库,接受和完成用户或命令提出的访问数据的各种请求。 1.DBMS的组成 数据定义语言DDL:包括模式DDL,子模式DDL, 物理DDL。 数据操纵语言DML:有宿主型和自主型两种。 DB 管理实用程序:包括语言翻译处理,系统运 行控制系统建立维护等程序。
58
1.4 数据库管理系统 2.DBMS的功能 数据定义:包括建立数据库和定义表的结构。 数据操作:包括输入、查询、更新、插入、删除等。
数据库运行管理:包括并发控制、完整性检查、安全性维护等。 数据库维护:包括数据库内部索引、数据字典自动维护、备份、恢复等可靠性保障。 数据通信:网络环境中的数据通信。
59
1.4 数据库管理系统 3.DBMS的工作模式 (1)接受应用程序的数据请求和处理请求 (2)将用户的数据请求转换成机器代码
(5)对查询结果进行处理(格式转换) (6)将处理结果返回给用户 应用程序 DBMS DB 数据请求 数据 低层指令 (处理结果) (查询结果)
60
4.用户访问数据过程示例 应用程序 DBS缓冲区 DB DBMS 数据字典 内模式 模式 外模式
返回信息 向DBMS发出读取数据的命令 4.用户访问数据过程示例 检查语法语义并调用子模式,检查存取权限,决定是否执行命令 确定读入模式中哪些记录 应用程序 DBS缓冲区 DB DBMS 数据字典 内模式 模式 外模式 OS 决定从哪个文件中用何方式读入哪些物理记录 导出需要的记录格式 向OS发出读物理记录的命令 OS将数据送往缓冲区 OS执行有关操作
61
第一章结束
Similar presentations