当前位置:网站首页 > 数据科学与大数据 > 正文

数据库基础知识教程(数据库基础知识教程pdf)



数据库原理

2005年秋,48学时

夏英

课程性质与设置目的

;♦性质

计算机与信息类专业的一门专业基础课

■数据库技术是计算机软件学科的重要分支

■应用领域广大

>目的

■掌握基本原理和方法

■掌握数据库结构设计和数据库应用系统开发

方法

■能应用现有数据库管理软件和软件开发工具

数据库的地位

■数据库技术产生于六十年代末,是数据管

理的最新技术,是计算机科学的重要分支

■数据库技术是信息系统的核心和基础,它

的出现极大促进了计算机应用向各行各业

的渗透

■数据库的建设规模、数据库信息量的大小

和使用频度已成为衡量一个国家信息化程

度的重要标志

❖课程建设历程

■2003年重庆邮电学院重点课程

■2004年重庆邮电学院精品课程

■2005年重庆市精品课程

课程网站

■位置:重邮主页一信息资源一精品课程一数

据库原理

■包含:学习资源汇总、习题集和自测、答疑

课程教材及参考书

0月

❖教材

■萨师燧,王珊:数据库系统概论(第三版),

高等教育出版社,2000

自学参考书

■SQLServer2000相关书籍

■Powerbuilder、Powerdesigner、Delphi等

数据库系统开发相关书籍

❖坚实的理论基础

■关系运算理论,模式设计理论

❖实践性强

■密切结合现实生活,新的应用需求不断涌现

■SQL语言应用广泛,开发平台丰富

■数据库设计影响整个应用系统的性能

。研究领域多

■数据库设计与应用开发

■数据库管理系统(DBMS)软件的研制

■数据库理论研究

0月

♦:♦理论学习

■掌握基本概念,多看例题,多做习题

■理论指导实践,实践提高认识

■重视数据库设计

❖实践学习

■勤思考,多动手

■重视上机实习环境

■坚持自学

课程考试

。教考分离、统一命题

❖成绩评定:

■平时成绩(作业、考勤、讨论)+考试成绩

第一^章绪论

学习要点

■数据库系统有关的基本概念

■数据库的发展历史

■数据模型(DataMode⑸

■数据库系统的三级模式及二级映象

■数据库系统

1.1数据库系统概论

四个基本概念

■数据(Data)

■数据库(Database)

■数据库管理系统(DBMS)

■数据库系统(DBS)

概念1:数据

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

❖数据的定义

■描述事物的符号记录

❖数据的种类

■文字、图形、图像、声音、学生档案记录等

❖数据的特点

■语义:数据具有一定的含义

■数据与其语义是不可分的

♦:♦数据处理:收集、存储、加工和传播

*

❖学生档案中的学生记录

(李明,男,1972,江苏,计算机系,1990)

❖数据的解释

■语义:学生姓名、性别、出生年月、籍贯、所

在系别、入学时间

■解释:李明是个大学生,1972年出生,江苏人,

1990年考入计算机系

数据的形式不能完全表达其内容,需要明确其语义。

概念2:数据库

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

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

集合

学生登记表

学号姓名年龄性另1)系名年级

95004王小明19女社会学95

95006黄大鹏20男商品学95

95008张文斌18女法律学95

••••••••••••••••••

数据库的特征

0月

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

■可为各种用户共享

■冗余度较小

■数据独立性较高

■易扩展

概念3:数据库管理系统

❖DBMS(DatabaseManagementSystem)

■位于用户与操作系统之间的一层数据管理软件

■用于组织、存取和维护数据

■属于支持软件

计算机软件的种类?

补充:计算机软件分类

计算机软件著作权登记中使用的软件分类

编石4

XXXXXXXXXX

计算机软件软件适用的国民经

分类代码济行业代码

❖国家标准《计算机软件分类与代码》

1oooo统A

3oooo持A

6OOOO用A

❖11000操作系统

■包括实时、分时、分布式、智能等操作系统

❖12000系统实用程序

❖13000系统扩充程序

■包括操作系统的扩充、汉化

❖14000网络系统软件

❖19900其他系统软件

KB'*

3oooA件

♦>

3oooA件

3ooo1^面

3ooo/换

♦»5

♦:

♦3OOOA件

♦人

♦:♦

❖36000语言处理程序

❖37000数据库管理系统

❖38000网络支持软件

❖39900其它支持软件

数据库管理系统的功能

:♦功能

■数据定义:定义数据库结构、权限、索引等。

■数据存取:实现对数据的查询、增、删、改等

操祚。

■数据库的运行管理:实现数据库恢复、并发控

制、完整性检查、安全性检查、日志管理等功

能,保证数据库系统的正常运行。

■数据库的建立和维护:数据输入、转换、转储、

♦复,薮箱库旌鼠篮控、性能分析等。

:.目前广泛使用的商用DBMS产品

■DB2,Oracle,Sybase,SQLServer,Access

等。

即卜人

概念4:数据库系统

定义:引入数据库后的计算机系统

组成:

应用系统

应用开发工具Powerbuilder,Delphi,VB,VC等

DBMSOracle,DB2,Sybase,SQLserver等

操作系统Win2000,Linux,Unix等

DBA全面负责管理和

控制数据库系统。硬件

。什么是数据管理

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

■是数据处理的中心问题

数据管理技术的发展动力

■应用需求的推动

■计算机硬件的发展

■计算机软件的发展

■理论发展

❖数据管理技术的发展过程

■人工管理阶段(40年代中“50年代中)

■文件系统阶段(50年代末・・60年代中)

■数据库系统阶段(60年代末■■现在)

阶段1:人工管理阶段*

❖时间:20世纪50年代中期以前

背景

■应用需求:科学计算

■硬件水平:外存只有卡片.纸带.磁带,无

直接存取存储设备

■软件水平:汇编语言,没有操作系统

■处理方式:批处理

人工管理阶段铮点

■数据的管理者:应用程序,数据不保存

■数据面向的对象:某一应用程序

■数据的共享程度:无共享、冗余度极大

■数据的独立性:不独立,完全依赖于程序

■数据的结构化:无结构

■数据控制能力:应用程序自己控制

阶段2:文件系统阶段*

♦:.时间:20世纪50年代末到60年代中期

❖背景

■应用需求:科学计算、管理

■硬件水平:磁盘、磁鼓等直接存取的外存设备

■软件水平:操作系统.高级语言.操作系统中

的文件系统是专门用于数据管理的软件

■处理方式:联机实时处理、批处理

文件系统的特点

。数据的管理者:文件系统,数据可长期保存

数据面向的对象:某一应用程序

。数据的共享程度:共享性差、冗余度大

孝数据的结构化:记录内有结构,整体无结构

卷数据的独立性:独立

性差,数据的逻辑结构

改变必须修改应用程序

/数据控制能力:应用

程序自己控制

文件系统中数据的结构

❖记录内有结构

■数据的结构是靠程序定义和解释的

■数据只能是定长的

■可以间接实现数据变长要求,但访问相应数

据的应用程序复杂了

❖数据整体无结构

■因为文件间是独立的

■可以间接实现数据整体的有结构,但必须在

应用程序中对描述数据间的联系

❖数据的最小存取单位是记录

阶段3:数据库系统阶段

❖时间:20世纪60年代末

背景

・应用背景:大规模管理

■硬件背景:大容量磁盘

■软件背景:有数据库管理系统

■处理方式:联机实时处理,分布处理,批处理

数据库系统特点

❖数据的管理者:DBMS

❖数据面向的对象:现实世界

❖数据的共享程度:共享性高

♦数据的独立性:高度的物理独立性和一定的逻辑独立性

♦:.数据的结构化:整体结构化,数据存取粒度小

数据控制能力:由DBMS统一管理和控制

数据库

。数据的高共享性的好处

■降低数据的冗余度,节省存储空间

■避免数据间的不一致性

■使系统易于扩充

❖数据结构化

■整体数据的结构化是数据库的主要特征之一

■数据库中实现的是数据的真正结构化

/数据结构用数据模型描述,无需程序定义和解释

/数据可以变长

/数据的最小存取单位是数据项

补充说明:数据独立性

物理独立性

■指用户的应用程序与存储在磁盘上的数据库中

数据是相互独立的

■当数据的物理存储改变了,应用程序不用改变

❖逻辑独立性

■指用户的应用程序与数据库的逻辑结构是相互

独立的

■数据的逻辑结构改变了,用户程序也可以不变

源d

数据的安全性(Security)保护

■使每个用户只能按指定方式使用和处理指定数据,

保护数据以防止不合法的使用造成的数据的泄密和

破坏

数据的完整性(Integrity)检查

■将数据控制在有效的范围内,或保证数据之间满足

一定的关系

并发(Concurrency)控制

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

扰而得到错误的结果

数据库恢复(Recovery)

■将数据库从错误状态恢复到某一已知的正确状态

■2数据模型

0月

❖数据模型(DataModels)是什么?

■在数据库中用数据模型这个工具来抽象、表

示和处理现实世界中的数据和信息。通俗地

讲数据模型就是现实世界的模拟

❖数据模型应满足三方面要求

■能比较真实地模拟现实世界

■容易为人所理解

■便于在计算机上实现

数据模型的分类

❖概念模型

■也称信息模型,按用户的观点来对数据和信

息建模

■用于数据库设计

❖数据模型

■按计算机的观点对数据建模,主要用于

DBMS的实现

■一般有层次,网状,关系三种

*

❖客观对象的抽象过程.■■两步抽象

■现实世界中的客观对象抽象为概念模型;

■把概念模型转换为某一DBMS支持的数据模

❖概念模型是现实世界到机器世界的一个

中间层次

现实世界信息世界机器世界

数据模型组成要素

数据结构

■指所研究的对象类型的集合

/与数据类型、内容、性质有关的对象

/与数据之间联系有关的对象

■是对系统静态特性的描述

数据操作

■对数据库中各种对象(型)的实例(值)允许执行

的操作及宥关的操作规则

/检索、更新(包括插入、删除、修改)

■是对系统动态特,性的描述

♦:.数据的约束条件

■一组完整性规则的集合

/是数据及其联系所具有的制约和储存规则,用以限定符合

数据模型的数据库状态以及状态的变化,以保证数据的正

确、有效、相容

❖概念模型的用途

■概念模型用于信息世界的建模

■是现实世界到机器世界的一个中间层次

■是数据库设计的有力工具

■数据库设计人员和用户之间进行交流的语言

❖对概念模型的基本要求

■较强的语义表达能力,能够方便、直接地表

达应用中的各种语义知识

■简单、清晰、易于用户理解

实体(Entities)

■客观存在并可相互区别的事物,可具体,可抽象

/例:职工、学生、系

属性(Attribute)

■实体具有的某一特性

/例:学生实体有学号、姓名、性别、出生年份等属性

码(Key)

■唯一标识实体的属性集

/例如学号是学生实体的码

域(Domain)

■某属性的取值范围

*实体集(EntitySet)

■同型实体的集合

,如全体学生

实体间的联系(Relationship)

■现实世界中事物内部以及事物之间的联系在信息世

界中反映为实体内部的联家和实体之间的联系

/例张山选修数据库课程。

/学生实体和课程之间通过选修联系

*两个实体之间的联系:

■一对一联系(1:1)

■一对多联系(1:n)

■多对一联系(n:1)

■多对多联系(m:n)

实体联系图示

一•对一、一对多、多对一、多对多

两个实体型间的联系

:.一'对一'联系

■如果对于实体集A中的每一个实班级

体,实体集B中至多有一个实体1

与之联系,反之亦然,则称实

体集A与实体集B具有一■对一■联'班级■班长

■记为1:11

■实例班长

/班级与班长之间的联系

1:1联系

两个实体型间的联系

:.一'对多联系

■如果对于实体集A中的每一个实班级

体,实体集B中有n个实体(nNO)

与之联系,反之,对于实体集B1

中的每一个实体,实体集A中至组成

多只有一个实体与之联系,贝弓称

实体集A与实体集B有一对多联系n

■记为1:n

学生

■实例

/班级与学生之间的联系l:n联系

两个实体型间的联系

❖多对多联系(m:n)

■如果对于实体集A中的每一个实课程

体,实体集B中有n个实体(nNO)

与之联系,反之,对于实体集Bm

中的每一个实体,实体集A中也

选修

有m个实体(mNO)与之联系,

则称实体集A与实体B具有多对

多联系。记为m:n

■实例学生

/课程与学生之间的联系

m:n联系

❖三个实体间的联系

❖判断联系种类

供应商

同一实体集内各实体间的联系

❖一^寸多联系

■实例

/职工实体集内部具有领导与被领导的联系

❖'一1对^一联系

❖多对多联系

职工

1n

领导

概念模型的表示方法

实体-联系模型(E・R图)

■矩形:表示实体集

■菱形:表示联系集

■线:连接实体集与联系集或属性与实体集

■椭圆:表示属性

■下划线:主码属性

学生实体及属性

联系及其属性例

联系也可以有属性

工厂物资管理

(较完整的E-R图示例)

♦:♦实体

■仓库、零件、供应商、项目、职工

❖实体间的联系

■一个仓库可以存放多种零件,一种零件可

存放在多个仓库中

■一个仓库有多个职工当仓库保管员,一个

职工只能点一个仓库工作

■职工中有领导:仓库主任

■供应关系中都是多对多的关系

工厂物资管理

工厂物资管理

实体及其联系

完整的E・R图

实例练习

❖实体

■系、班级、学生、教研室、

。给出概念模型:E-R图

。非关系模型

■层次模型(HierarchicalModel)

■网状模型(NetworkModel)

■数据结构:以基本层次联系为基本单位

■实体用记录表示。属性为记录的数据项

■基本层次联系:两个记录以及它们之间的一

对多(包括一'对一)的联系

❖关系模型

■数据结构:表

❖面向对象模型

■数据结构:对象

满足下面两个条件的基本层次联系的集合为层次模型

■有且只有一个结点没有双亲结点,这个结点称为根结点

■根以外的其它结点有且只有一个双亲结点

❖层次模型中的几个术语

■根结点,双亲结点,兄弟结点,叶结点

叶结点叶结点

❖表示方法

■实体型

/用记录类型描述。

/每个结点表示一个记录类型

■属性

,用字段描述。每个记录类型可包含若干个字段

■联系

/用结点之间的连线表示记录(类)型之间的一对

多的联系

。实例:教员■学生数据模型(P23)

等点

♦:♦直接处理一对多的实体联系,表示多对多

关系不便

任何记录值只有按其路径查看时,才能显

出它的全部意义

❖没有一个子女记录值能够脱离双亲记录值

而独立存在

0月

M:N联系的表示:将多对多联系分解成一对多联系

■冗余结点法:结构清晰,存储位置可变,但浪费空

■虚拟结点法:节约空间,避免不一致性,但指针随

存储位置的变化而变化

数据操纵与完整性约束

■数据操纵:查询,插入,删除,修改

■完整性约束条件:严格的完整性约束条件

存储结构

■邻接法:前序穿线树

■链接法:用指针表示层次关系(子女-兄弟链接法,

层次序列链接法)

❖无相应的双亲结点值就不能插入子女结点

如果删除双亲结点值,则相应的子女结点

值也被同时删除

♦:♦更新操作时,应更新所有相应记录,以保

证数据的一致性

展次模型的优岐点

0月

❖优点

■层次数据模型简单,对具有一对多的层次关

系的部门描述自然、直观,容易理解

・性能优于关系模型,不低于网状模型

■层次数据模型提供了良好的完整性支持

❖缺点

■多对多联系表示不自然

■对插入和删除操作的限制多

■查询子女结点必须通过双亲结点

■层次命令趋于程序化

典型的层次数据库系统

IMS数据库管理系统

■第一个大型商用DBMS

■1968年推出

■旧M公司研制

❖NetworkModel条件

■允许一个以上的结点无双亲

■一个结点可以有多于一个的双亲结点

■注:一般,处理1:N的实体联系。

学生学号姓名系别课程课程号课程名学分

SSCCSC

选课学号课程号成绩

学生/选课/课程的网状数据库模式

Uy

❖M:N联系的表示:

■引入联结记录。

❖数据操纵与完整性约束:

■数据操纵:查询,插入,删除,修改。

■完整性约束条件:支持一定的完整性约束条

件。(支持记录码;支持双亲与子女间的一

对多联系;插入,删除时有一定的约束条件)

❖存储结构:

■链接法:用指针表示层次关系。(单链,双

链,环链等)

❖描述更加直接

❖存取效率高

❖结构复杂

♦:.DDL、DML复杂,用户不易使用

典型的网状数据库系统

♦:DBTG系统,亦称CODASYL系统

■由DBTG提出的一个系统方案

■奠定了数据库系统的基本概念、方法和技术

■70年代推出

❖实际系统

■CullinetSoftwareInc.公司的IDMS

■Univac公司的DMS1100

■Honeywell公司的IDS/2

■HP公司的IMAGE

关系模裂

>1970年由美国旧M公司SanJose研究室

的研究员EECodd提出

。最重要的一种数据模型。也是目前主要采

用的数据模型

。在用户观点下,关系模型中数据的逻辑结

构是一张二维表夕它由行和列组成

关系模型的数据结构

■关系(Relation):一个关系对应一张表

■元组(Tuple):表中的一行

■属性(Attribute):表中的一列,给每一列取一个名

称即属性名

■主码(Key):表中可唯一确定一个元组的某个属性组。

■域(Domain):属性的取值范围

■分量(Component):元组中的一个属性值

■关系模式(RelationSchema):对关系的描述

实体及实体间联系的表示

0月

。实体型:直接用关系(表)表示

❖属性:用属性名表示

❖一'对^一联系:隐含在实体对应的关系中

❖一对多联系:隐含在实体对应的关系中

多对多联系:直接用关系表示

学生(学号,姓名,年龄,性别,系号,年级)

课程(课程号,课程名,学分)

选修(学号,课程号,成绩)

关系数据模型j

。关系必须是规范化的,满足一定的规范条件

■最基本的规范条件:关系的每一个分量必须是一■个

不可分的数据项

J是关系数据

一-模型吗?,

职工姓职工资扣除实

号名称基本工龄职务房租水电发

86051陈平讲师1059.5rn.5

关系模裂

0月

❖数据操纵与完整性约束

■数据操纵:集合操作,操作对象和操作结果

都是关系

■完整性约束条件:包括实体完整性,参照完

整性和用户定义的完整性

❖存储结构

■文件存储方式:由于实体间联系用表表示,

而表则以文件形式存储

优点

■建立在严格的数学概念的基础上;

■概念单一;数据结构简单、清晰,用户易懂易用

■存取路径对用户透明,具有较高的数据独立性、安

全保密性,简化了程序员的工作和数据库开发建立

的工作

缺点

■存取路径对用户透明导致查询效率往往不如非关系

数据模型

■为提高性能,必须对用户的查询请求进行优化增加

了开发数据库管理系统的难度

一个关系数据库例子

customer-idcustomer-naniecustomer-streetcustomer-city

192-83-7465Johnson12AlmaSt.PaloAlto

019-28-3746Smith4NorthSt.Rye

677-89-9011Hayes3MainSt.Harrison

182-73-6091Turner123PutnamAve.Stamford

321-12-3123Jones100MainSt.Harrison

336-66-9999Lindsay175ParkAve.Pittsfield

019-28-3746Smith72NorthSt.Rye

(a)Thecustomertable

account-numberbalancecustomer-idaccount-number

A--83-7465A-101

A--83-7465A-201

A--28-3746A-215

A--89-9011A-102

A--73-6091A-305

A--12-3123A-217

A--66-9999A-222

(b)Tlieaccounttable019-28-3746A-201

(c)Thedepositortable

典型的关系数据库系统

ORACLE

SYBASE

INFORMIX

DB/2

COBASE

PBASE

EasyBase

DM/2

OpenBase

1.3数据库系统结构

❖DBMS角度系统内部结构

■三级模式结构■系统外部结构

❖最终用户角度

■集中式结构

/单用户结构

/主从结构

■分布式结构

■客户/服务器结构

■并行结构

数据库系统模式的概念

❖“型”和“值”的概念

■型(Type)

/对某一类数据的结构和属性的说明

■值(Value)

/是型的一个具体赋值

例如:学生记录

记录型:

(学号,姓名,性别,系别,年龄,籍贯)

该记录型的一个记录值:

(,李明,男,计算机,22,江苏)

模式与实例

(InstancesandSchemas)

类似于程序设计中变量的与的关系

模式(Schema)

■数据库逻辑结构和特征的描述

■是型的描述

■反映的是数据的结构及其联系

■模式是相对稳定的

♦:♦模式的一个实例(Instance)

■模式的一个具体值

■反映数据库某一时刻的状态

■同一个模式可以有很多实例

■实例随数据库中的数据的更新而变动

三级模式结构

0月

模式(Schema):逻辑模式

■逻辑级上的视图,是数据库中全体数据的逻辑结构和

特征的描述

■一个数据库只有一个模式

外模式(ExternalSchema):子模式或用户模式

■是数据库用户的数据视图,是与某一应用有关的数据

表示

■一个数据库可有多个外模式

内模式(InternalSchema):存储模式

■数据物理结构和存储方式的描述,是数据在数据库内

部的表示方式

■一个数据库只有一个内模式

二级映象与数据独立

夕卜模式(ExternalSchema)/模式(Schema)

■一个模式可对应多个外模式,对于每一个外模式均

有一个外模式/模式映象。

■当模式变化时,由DBA改变各外模式/模式映象而

保持外模式不变,应用程序也无须改变

所以,保证了数据与程序的逻辑独立性

模式(Schema)/内模式(InternalSchema)

■模式/内模式映象是唯一的

■当内模式变化时,由DBA改变各模式/内模式映象

而保持模式不变,应用程序也无须改变

所以,保证了数据与程序的物理独立性

小结

模式

■是数据库的中心与关键,独立于数据

到此这篇数据库基础知识教程(数据库基础知识教程pdf)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 无人车驾驶数据标注员(无人车驾驶数据标注员用不用出去考试)2025-05-05 13:18:05
  • 菜鸟教程oracle数据库(oracle11g菜鸟教程)2025-05-05 13:18:05
  • 自动驾驶数据集搭建(自动驾驶数据集如何收集)2025-05-05 13:18:05
  • 数据库基础知识整理实验报告(数据库技术基础实验)2025-05-05 13:18:05
  • gaussdb数据库(Gaussdb数据库三权分立是什么)2025-05-05 13:18:05
  • 大数据培训有哪些机构(大数据培训有哪些机构比较好)2025-05-05 13:18:05
  • 中文期刊全文数据库cnki(中文期刊全文数据库自然科学)2025-05-05 13:18:05
  • 红米手机 数据迁移(红米手机数据迁移到苹果手机)2025-05-05 13:18:05
  • 数据库入门应该学什么(数据库入门应该学什么内容)2025-05-05 13:18:05
  • 如何查看数据库端口(如何查看数据库端口oracle)2025-05-05 13:18:05
  • 全屏图片