电子科技大学数据库原理及应用第1讲.docx

上传人:b****8 文档编号:29904656 上传时间:2023-08-03 格式:DOCX 页数:81 大小:265.78KB
下载 相关 举报
电子科技大学数据库原理及应用第1讲.docx_第1页
第1页 / 共81页
电子科技大学数据库原理及应用第1讲.docx_第2页
第2页 / 共81页
电子科技大学数据库原理及应用第1讲.docx_第3页
第3页 / 共81页
电子科技大学数据库原理及应用第1讲.docx_第4页
第4页 / 共81页
电子科技大学数据库原理及应用第1讲.docx_第5页
第5页 / 共81页
点击查看更多>>
下载资源
资源描述

电子科技大学数据库原理及应用第1讲.docx

《电子科技大学数据库原理及应用第1讲.docx》由会员分享,可在线阅读,更多相关《电子科技大学数据库原理及应用第1讲.docx(81页珍藏版)》请在冰豆网上搜索。

电子科技大学数据库原理及应用第1讲.docx

电子科技大学数据库原理及应用第1讲

数据库原理及应用

第1讲引言

September8,2017

1

教材与参考书

教材:

数据库系统概念(原书第六版本科教学版)

AbrahamSilberschatz,HenryF.Korth,

S.Sudarshan著,杨冬青、李红燕、唐世

渭译,机械工业出版社,2016

参考书:

数据库系统及应用(第2版)魏祖宽,电子

工业出版社,2013

数据库系统原理及设计(第二版)万常选、

廖国琼、吴京慧、刘喜平,清华大学出版社,2009

2

关于数据库课程与实验

请加入数据库课程与实验QQ群:

476070573

(加入申请中请写明学

号和姓名)

下载“实验一”相关资料(实验指导书、实

验相关软件)并完成课后实验。

实验班次:

周二晚上2个班次,周五上午2个

班次,请同学们在第二次课程时选择。

3

走进信息时代--信息大爆炸

20世纪科技迅速发展。

1946年第一台电子计算机

诞生,之后,工作、生活、学习各方面发生了巨

大的变化。

社会信息量急剧膨胀(企业信息,政府信息,科

研信息),信息大爆炸已成为众所皆知的事实。

信息已成为与材料、能源同等重要甚至更加重要

的战略性资源。

离开了信息人们将无所适从。

人们迫切需要提高效率和管理水平,加强信息处

理的效率。

4

1.1关于数据库系统

大学

银行业

航空公司

通讯业

讨论:

还有哪些数

据库应用?

财政系统

销售

制造业

人力资源

…5

数据库系统的历史

数据库系统阶段本身的发展经历了--网状、层次、关系

数据库、新一代数据库系统阶段。

1969年,层次数据库,IBM研制了IMS;

70年代初,网状数据库;

70年代后,关系型数据库取代了网状、层次;

80、90年代,数据库技术逐步与面向对象技术、多媒

体技术,网络技术、人工智能技术相结合,使面向对

象的关系型数据库、多媒体数据库、分布式数据库成

为新的发展趋势;

21世纪,XML、JSON,NoSQL非关系型数据库,以及

NewSQL等。

6

1.2数据库系统的目标

基础--四个基本概念

数据管理技术的产生与发展

7

基础--四个基本概念

数据(Data)

数据库(Database)

数据库管理系统(DBMS)

数据库系统(DBS)

8

基础1--数据

数据(Data)是数据库中存储的基本对象

数据的定义

描述事物的符号记录

数据的种类

文字、图形、图像、声音

数据的特点

数据与其语义是不可分的

9

基础1--数据举例

学生档案中的学生记录

(李明,男,1999,江苏,通信与信息工程学院,

2017)

数据的形式不能完全表达其内容

数据的解释

语义:

学生姓名、性别、出生年月、籍贯、所在系

别、入学时间

解释:

李明是个大学生,1999年出生,江苏人,

2017年考入通信与信息工程学院

10

基础1--数据

数据结构

逻辑结构

数据之间存在的逻辑关系

表、树、图、数组…

物理结构

数据在计算机内的存储方式

顺序方式、链接方式…

课程号课程名学分先修课

1001数据结构41003

1002数据库31001

1003物联网技术4

11

基础2--数据库(举例)

学生信息数据库

学生登记表

学号姓名年龄性别系名年级

15004王小明19女社会学15

15006黄大鹏20男商品学15

15008张文斌18女法律学15

………………

12

基础2--数据库(续)

人们收集并抽取出一个应用所需要的大量数据

之后,应将其保存起来以供进一步加工处理,

进一步抽取有用信息

数据库的定义

数据库(Database,简称DB)是长期储存在计

算机内、有组织的、可共享的大量数据集合

13

基础2--数据库(续)

数据库的特征

数据按一定的数据模型组织、描述和储存

可为各种用户共享

冗余度较小

数据独立性较高

易扩展

14

基础3--数据库管理系统

什么是DBMS

数据库管理系统(DatabaseManagementSystem,

简称DBMS)由一个互相关联的数据的集合和一组

用以访问这些数据的程序组成。

是位于用户与操作

系统之间的一层数据管理软件。

DBMS的用途

科学地组织和存储数据、高效地获取和维护数据

15

基础3--DBMS的主要功能

数据定义功能

提供数据定义语言(DDL)

定义数据库中的数据对象

数据操纵功能

提供数据操纵语言(DML)

操纵数据实现对数据库的基本操作

(查询、插入、删除和修改)

16

基础3--DBMS的主要功能(续)

数据库的运行管理

保证数据的安全性、完整性

多用户对数据的并发使用

发生故障后的系统恢复

数据库的建立和维护功能

数据库数据批量装载

数据库转储

介质故障恢复

数据库的重组织

性能监视等

17

基础4--数据库系统

什么是数据库系统

数据库系统(DatabaseSystem,简称DBS)是指在

计算机系统中引入数据库后的系统构成

在不引起混淆的情况下常常把数据库系统简称为数

据库

数据库系统的构成

由数据库、数据库管理系统、应用系统(及其开发

工具)、数据库管理员(和用户)构成

18

基础4--数据库系统(续)

数据库系统构成

用户用户用户

应用程序

应用程序员

应用开发工具

DBMS

OS

DBA

Database

19

基础4--数据库系统(续)

数据库用户

应用系统

应用开发工具软件

数据库管理系统

操作系统

硬件/数据库

20

数据管理技术的产生和发展

什么是数据管理

对数据进行分类、组织、编码、存储、检索和维护,

是数据处理的中心问题

数据管理技术的发展动力

应用需求的推动

计算机硬件的发展

计算机软件的发展

21

数据管理的发展阶段

人工管理阶段(50年代中期以前)

文件系统阶段(50年代后期---60年代中期)

数据库系统阶段(60年代后期开始)

数据库系统VS文件系统

数据库系统的特点

22

人工管理阶段

背景

计算机主要用于科学计算

数据量小、结构简单,如高阶方程、曲线拟和等

外存为顺序存取设备

磁带、卡片、纸带,没有磁盘等直接存取设备

没有操作系统,没有数据管理软件

用户用机器指令编码,通过纸带机输入程序和数据,

程序运行完毕后,由用户取走纸带和运算结果,再让

下一用户上机操作

23

人工管理阶段

特点

用户完全负责数据管理工作

数据的组织、存储结构、存取方法、输入输出等

数据完全面向特定的应用程序

每个用户使用自己的数据,数据不保存,用完就撤走

数据与程序没有独立性

程序中存取数据的子程序随着存储结构的改变而改变

磁带的特点

优点:

廉价地存放大容量数据

缺点:

顺序访问;1%所需,100%访问

24

文件系统阶段

背景

计算机不但用于科学计算,还用于管理

外存有了磁盘、磁鼓等直接存取设备

直接存取设备(DASD)

无须顺序存取

由地址直接访问所需记录

有了专门管理数据的软件,一般称为文件系统

文件存储空间的管理

目录管理

文件读写管理

文件保护

向用户提供操作接口

25

文件系统阶段

特点

系统提供一定的数据管理功能

存取方法(索引文件、链接文件、直接存取文件、

倒排文件等)

支持对文件的基本操作(增、删、改、查等),用

户程序不必考虑物理细节

数据的存取基本上以记录为单位

数据仍是面向应用的

一个数据文件对应一个或几个用户程序

数据与程序有一定的独立性

文件的逻辑结构与存储结构由系统进行转换,数据

在存储上的改变不一定反映在程序上

26

文件系统阶段

学号姓名系别补贴劳资科

学号姓名性别系别住址房产科

学号姓名系别学分学位学籍科

人事科

学号姓名性别系别年龄学位出身

27

文件系统阶段

数据与程序的独立性差

文件系统并没有从根本上改变数据与程序紧密结合

的状况,数据的逻辑结构改变则必须修改应用程序

文件系统只是解脱了程序员对物理设备存取的负担,

它并不理解数据的语义,只负责存储

数据的语义信息只能由程序来解释,也就是说,数

据收集以后怎么组织,以及数据取出来之后按什么

含义应用,只有全权管理它的程序知道。

一个应用若想共享另一个应用生成的数据,必须同

另一个应用沟通,了解数据的语义与组织方式

28

文件系统阶段

数据的共享性差,冗余度大

数据面向应用

即使不同应用程序所需要的数据有部分相同时,也必须

建立各自的文件,而不能共享相同的数据

数据孤立

数据分散管理,许多文件,许多数据格式

数据的不一致性

由于数据存在很多副本,给数据的修改与维护带

来了困难,容易造成数据的不一致性

29

文件系统阶段

数据查询困难

记录之间无联系

应用自己编程实现

对每个查询都重新编码

数据完整性难于维护

性别必须是男或女

员工工资不能超过其经理

每门课选修人数不能超过100

30

数据库系统阶段

背景

计算机管理的数据量大,关系复杂,共享性要

求强(多种应用、不同语言共享数据)

外存有了大容量磁盘,光盘

软件价格上升,硬件价格下降,编制和维护软

件及应用程序成本相对增加,其中维护的成本

更高,力求降低

31

数据库系统阶段

数据库观点

数据不是依赖于处理过程的附属品,而是现实世

界中独立存在的对象

程序2

程序n

程序1

统一存取

数据1数据2

数据n

32

数据库系统的特点

人事科

劳资科

系别年龄

补贴

学位

学号姓名

住址学分

学籍科

性别出身

房产科

33

数据库系统阶段

特点

有了数据库管理系统

面向全组织,面向现实世界

独立性较强

由DBMS统一存取,维护数据语义及结构

34

数据库系统的特点

面向全组织的复杂的数据结构

支持全企业的应用而不是某一个应用

数据反映了客观事物间的本质联系,而不是着

眼于面向某个应用,是有结构的数据。

这是数

据库系统的主要特征之一,与文件系统的根本

差别。

文件系统只是记录的内部有结构,一个

文件的记录之间是个线性序列,记录之间无联

35

数据库系统的特点

数据的冗余度小,易扩充

数据面向整个系统,而不是面向某一应用,数据

集中管理,数据共享,因此冗余度小

节省存储空间,减少存取时间,且可避免数据之

间的不相容性和不一致性

每个应用选用数据库的一个子集,只要重新选取

不同子集或者加上一小部分数据,就可以满足新

的应用要求,这就是易扩充性

36

数据库系统的特点

具有较高的数据和程序的独立性

把数据库的定义和描述从应用程序中分离出去

数据描述是分级的(全局逻辑、局部逻辑、存

储)

数据的存取由系统管理,用户不必考虑存取路

径等细节,从而简化了应用程序

37

数据库系统的特点

统一的数据控制功能,数据共享程度高

数据的安全性控制(Security)

保护数据以防止不合法的使用所造成的数据泄露和破坏

措施:

用户标识与鉴定,存取控制

数据的完整性控制(Integrity)

数据的正确性、有效性、相容性

措施:

完整性约束条件定义和检查

38

数据库系统的特点

并发控制(Concurrency)

对多用户的并发操作加以控制、协调,防止其互相干扰

而得到错误的结果并使数据库完整性遭到破坏

措施:

封锁

恢复控制(Recovery)

将数据库从故障中恢复到某个一致状态

措施:

冗余

39

数据库系统vs文件系统

应用应用

应用

数据管理

应用

数据管理

数据管理

文件系统

文件系统

40

1.3数据视图

数据库系统的一个主要目的是给用户

提供数据的抽象视图,即系统隐藏关

于数据存储和维护的某种细节

1.3.1数据抽象

1.3.2实例与模式

1.3.3数据模型

41

实例与模式

InstancesandSchemas型与值的区别

型是对数据的结构和属性的说明----模式

值是型的一个具体赋值----实例

型是相对稳定的,值是随时间不断变化的

类比

classperson{

public:

stringname;

stringaddress;};

personTOM;

person是型,TOM是变量,TOM在某时刻的值是实例

42

实例与模式

实例:

特定时刻存储在数据库中的信息

的集合称作数据库的一个实例

模式:

数据库的总体设计称作数据库模

43

数据抽象--数据库模式

模式的分级

为了提高数据的物理独立性和逻辑独立性,使数据

库的用户观点,即用户看到的数据库,与数据库的

物理方面,即实际存储的数据库区分开来,数据库

系统的模式是分级的

数据库系统三级模式结构

CODASYL(ConferenceOnDataSystemLanguage,

美国数据系统语言协商会)提出模式、外模式、存

储模式三级模式的概念,三级模式之间有两级映象

44

数据抽象

物理层

最低层次的抽象

物理层

描述数据如何存储

逻辑层逻辑层

描述数据及数据间的关系

由DBA使用

…...

视图层

视图层

描述整个数据库的某一部分

使用户与系统交互更简单

45

数据库三级模式结构

外模式(Sub-Schema子模式)

用户的数据视图

是数据的局部逻辑结构,模式的子集

可以有多个

模式(Schema)

所有用户的公共数据视图

是数据库全体数据的全局逻辑结构和特性的描述

只有一个

内模式(StorageSchema存储模式)

是数据的物理结构及存储方式

只有一个

46

数据库三级模式结构

外模式/模式映象

定义某一个外模式和模式之间的对应关系,映

象定义通常包含在各外模式中

模式/内模式映象

定义数据逻辑结构与存储结构之间的对应关系

47

数据库三级模式结构

应用A应用B应用C应用D应用E

外模式1外模式2外模式3

外模式/模式映象

模式

模式/内模式映象

内模式

48

数据独立性

数据独立性

物理数据独立性

存储结构改变时,修改模式/内模式映象,使模式保持

不变,从而应用程序可以保持不变,称为数据的物理

独立性

逻辑数据独立性

当模式改变时,修改外模式/模式映象,使外模式保持

不变,从而应用程序可以保持不变,称为数据的逻辑

独立性

49

数据库三级模式结构实例

房产科学籍科

V1(S#,SNAME,ADDRESS)V2(S#,SNAME,CREDIT)

createV1

视图视图

selectS#,SNAME,ADDRESS

fromS

S(S#,SNAME,SEX,AGE,ADDRESS,CREDIT,DEGREE)

模式

50

数据库三级模式结构实例

房产科学籍科

V1(S#,SNAME,ADDRESS)V2(S#,SNAME,CREDIT)

createV1

视图视图

selectS#,SNAME,ADDRESS

fromB

B(S#,SNAME,

union

selectS#,SNAME,ADDRESS

fromM

M(S#,SNAME,SEX,AGE,ADDRESS,CREDIT,DISSERTATION)

模式

51

数据模型

定义

描述数据、数据联系、数据语义以及一致性约

束的概念工具的集合

要求

比较真实的模拟现实世界

容易为人所理解

便于在计算机上实现

52

数据模型

数据模型分成四类

关系模型:

用表的集合表示数据和数据之间的关系

实体-联系模型:

现实世界是由实体和实体之间的联

系构成的,用于数据库设计

基于对象数据模型:

实体-联系模型增加了封装、方

法和对象标识的扩展

面向对象数据模型

对象-关系数据模型

半结构化数据模型:

半结构化数据模型允许相同类

型的数据项含有不同的属性集的数据说明--xml

53

E-R数据模型

姓名学号系别课程名先修课主讲老师

mn

学生选修课程

实体联系

属性

成绩

54

oo数据模型

属性

category

price

name

Product

关联

buys

madeBy

makes类

name

Person

employs

worksFor

Company

stockprice

name

addressssn

55

关系模型

用二维表来表示实体及其相互联系

属性

元组

学号姓名年龄性别系号

S01张军21男D01

S02李红22女D01

S03王伟19男D02

56

关系模型

优点

简单,表的概念直观、单一,用户易理解

非过程化的数据请求,数据请求可以不指明路

径,用户只需提出“做什么”,无须说明“怎

么做”

数据独立性

坚实的理论基础

57

层次模型

层次模型

用树结构表示实体之间联系的模型叫层次模型

树由节点和连线组成

节点代表实体型

连线表示两实体型间的一对多联系

树的特性

每棵树有且仅有一个节点无父节点,称为树的根

树中的其它节点都有且仅有一个父节点

58

层次模型

实体型

1:

N联系

教研室学生

教员

系号系名地址

教研室号教研室名学号姓名年级

职工号姓名职称

59

网状模型

网状模型

是一个满足下列条件的有向图

可以有一个以上的节点无父节点

至少有一个节点有多于一个的父节点(排除树结构)

节点代表实体型,有向边(从箭尾到箭头)表示

两实体型间的一对多联系

科室

1:

N联系

实体型

医生病房

病人

60

1.4数据库语言

DDL语言(DataDescriptionLanguage)

描述外模式、模式、内模式(源模式)

数据库定义功能

模式翻译程序

把源模式翻译成目标模式,存入数据字典中

一致性约束定义

源模式模式翻译程序

数据字典

目标模式

61

1.4数据库语言

DML语言(Datamanipulationlanguage)

对数据库进行检索、插入、修改、删除

数据存取功能

DML类型

过程化的DML

WHATANDHOW

非过程化的DML

WHAT,NOHOW

实例----SQL

62

1.4数据库语言

DCL语言(DataControllanguage)

数据控制功能

安全性

完整性

并发控制

安全性控制:

权限的转授和回收

允许用户把已获得的权限转授给其他用户,也可以

把已授给其他用户的权限再回收上来数据存取功能

63

1.5关系数据库

属性

元组

学号姓名年龄性别系号

S01张军21男D01

S02李红22女D01

S03王伟19男D02

64

DDL语言

65

DML语言

66

1.6数据库设计

1.6.1设计过程

需求分析

选择数据模型

概念设计阶段

逻辑设计阶段

物理设计阶段

67

1.6数据库设计

1.6.2银行企业的数据库设计

需求

银行由支行组成

银行客户

两种帐户:

储蓄帐户和支票帐户

为客户提供贷款,记录还款

银行职员

68

银行系统的ER图

Account-branch

期二

1.6数据库设计

1.6.4规范化

范式和函数依赖(后续章节讲解)

NULL

70

1.8事务管理

事务定义

事务是由一系列操作序列构成的程序执行单元,

这些操作要么都做,要么都不做,是一个不可分

割的工作单位

实例--银行转帐:

从A帐户过户50¥到B帐户

read(A);

A:

=A–50;

write(A);

read(B);

B:

=B+50;

write(B);71

1.9事务管理

事务特性(ACID)

原子性(Atomicity)

事务中包含的所有操作要么全做,要么全不做

原子性由恢复机制实现

一致性(Consistency)

事务的隔离执行必须保证数据库的一致性

事务开始前,数据库处于一致性的状态;事务结束后,

数据库必须仍处于一致性状态

数据库的一致性状态由用户来负责,由并发控制机制

实现

如银行转帐,转帐前后两个帐户金额之和应保持不变

事务运行过程中允许暂时的不一致

72

1.8事务管理

事务特性(ACID)

隔离性(Isolation)

系统必须保证事务不受其它并发执行事务的影响

对任何一对事务T1,T2,在T1看来,T2要么在T1开始之

前已经结束,要么在T1完成之后再开始执行

隔离性通过并发控制机制实现

持久性(Durability)

一个事务一旦提交之后,它对数据库的影响必须是永

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1