数据库基础

135 阅读11分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第10天

一、基本概念

1、信息:INFORMATION(数据包含的意义)

2、数据:DATA

3、数据管理 :是数据处理的核心问题。

4、数据库:DB  有结构的数据集合

5、数据库管理系统:DBMS(软件)

6、数据库系统:DBS(硬件、软件(OS、DBMS)、人员)

7、数据库管理员:DBA

思考:DB、DBMS、DBS三者的包含关系

 

二、数据管理技术的三个阶段

人工管理、文件系统、数据库系统

数据库系统阶段的特点:

1、数据结构化

2、数据额共享性高、冗余度低、易扩充

3、数据的独立性强

4、数据由DBMS统一管理和控制

 

三、数据模型分类

数据模型:对现实世界中数据的抽象。

模型:对客观事物、现象、过程或系统的简化描述。

为什么要建立数据模型(Data Model)? 盖大楼的设计图一样,数据模型可使所有的项目参与者都有一个共同的数据标准;可避免出现问题再解决;可及早发现问题;可加快应用开发的速度等。

数据模型应满足三方面的要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。  

 

1、数据模型的三要素:①数据结构(静态特征)②数据操作(动态特性,增删改等)③数据的完整性约束(数据的正确)

2、数据的抽象过程

客观世界--------à信息世界(概念模型) --------------à计算机世界(数据模型)

①客观世界

存在着客观事物(特征)及其相互之间的联系

②信息世界的概念模型

通过对客观事物及其联系的抽象描述,构造出概念模型,表达了数据的全局逻辑结构。主要用于数据库设计,它独立于DBMS,最常用的是E-R模型。

③机器世界的逻辑模型和物理模型

逻辑模型依赖于DBMS,数据的逻辑模型一般称为数据模型(层次模型、网状模型、关系模型),逻辑模型由数据库设计人员完成。

物理模型与具体的数据库管理系统、操作系统和硬件有关。物理模型由数据库管理系统完成。

四、概念模型

概念模型是现实世界到信息世界的第一次抽象

1、术语

①实体(entity):指客观存在并且可以相互区别的事物。

②属性(attribute):实体所具有的某一特性称为实体的属性。

③关键字(key):唯一标识实体的属性集称为关键字。例如,职工编号是职工实体的关键字。

④域(domain):属性的取值范围称为该属性的域。

⑤实体型(entity type):具有相同属性的实体称为同型实体。用来抽象和刻画同类实体的实体名及其属性名的集合称为实体型。例如,职工(职工编号,姓名,性别,职称,学历,工作时间)就是一个实体型。

⑥实体集(entity set):同型实体的集合称为实体集。

⑦联系(relationship):在现实世界中,事物内部及事物之间普遍存在联系,这些联系在信息世界中表现为实体型内部各属性之间的联系以及实体型之间的联系。两个实体型之间的联系可以分为三类:

n 一对一联系(1:1):若对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一的联系。

n 一对多联系(1: n):若对于实体集A中的每一个实体,实体集B中有n(n≥0)个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多的联系。

n 多对多联系(m: n):若对于实体集A中的每一个实体,实体集B中有n(n≥0)个实体与之联系,反过来,对于实体集B中的每一个实体,实体集A中也有m(m≥0)个实体与之联系,则称实体集A与实体集B有多对多的联系。

2、概念模型表示方法

概念模型的表示方法有很多,其中比较著名的是实体—联系方法(Entity-Relationship,E-R),该方法用E-R图来描述现实世界的概念模型。

E-R图提供了表示实体型、属性和联系的方法。

n 实体型:用矩形表示,矩形框内写实体名。

n 属性:用椭圆形表示,椭圆内写属性名,用无向边将属性与实体连接起来。

n 联系:用菱形表示,菱形框内写联系名,用无向边与有关实体连接起来,同时在无向边上注明联系类型。联系也具有属性,也要用无向边将联系与有关实体连接起来。

image.png

五、逻辑模型(数据模型)

逻辑模型直接描述数据库中数据的逻辑结构,它是信息世界到机器世界的抽象。目前,常用的结构数据模型有四种,它们是:

n 层次模型(hierarchical model)

n 网状模型(network model)

n 关系模型(relational model)

n 面向对象模型(object oriented model)

关系模型:用二维表的形式表示实体和实体间联系的数据模型。

关系模型具有以下优点:(1)数据结构单一 (2)关系规范化,并建立在严格的理论基础上 (3)概念简单,操作方便

学号姓名性别出生日期班级
10101001张永峰01993-8-1电子商务101
10101002何小丽11992-11-3电子商务101
10101003张红宇01992-8-21电子商务101
10102001王斌11991-7-14网络技术101

 

六、数据库系统的体系结构

体系结构上都采用三级模式两级映像结构。

1、数据库的三级模式

①外模式:外模式又称子模式或用户模式,是模式的子集,是数据的局部逻辑结构,一个数据库可以有多个外模式,每一个外模式都是为了不同的应用而建立的数据视图。

②模式:模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,也是所有用户的公共数据视图。模式是数据库数据在逻辑上的视图。一个数据库中有一个模式。

③内模式:内模式也称存储模式,是数据在数据库中的内部表示,即数据的物理结构和存储方式描述。一个数据库只有一个内模式。

2、数据库的两级映像,数据独立性

数据库管理系统在这三级模式中提供了两级映像:外模式/模式映像和模式/内模式映像。

①外模式/模式映像:指存在于外模式与模式之间的某种对应关系。这些映像定义通常包含在外模式的描述中。

当数据库的模式发生改变时,例如,增加了一个新表或对表进行了修改,数据库管理员对各个外模式/模式的映像做相应的修改,使外模式保持不变,这样应用程序就不用修改了,因为应用程序是在外模式上编写的,所以保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

②模式/内模式映像:指数据库全局逻辑结构与存储结构之间的对应关系。

当数据库的内模式发生改变时,例如,存储数据库的硬件设备或存储方式发生了改变,由于存在模式/内模式映像,使得数据的逻辑结构保持不变,即模式不变,因此使应用程序也不变,保证了数据与程序的物理独立性,简称数据的物理独立性。

 

七、关系模型

1、术语

①关系模型(relational model):用二维表格结构来表示实体及实体间联系的模型称为关系模型。

二维表、实体集、关系、表都是指同一概念,只是场合不同而已

②属性(attribute)和值域(domain):在二维表中的列称为属性,列值称为属性值,属性值的取值范围称为值域。

③关系模式(relation schema):在二维表格中,行定义(记录的型)称为关系模式。

④元组(tuple)与关系:在二维表中的行(记录的值)称为元组,元组的集合称为关系,关系模式通常也称关系。

⑤关键字或码(key):在关系的属性中,能够用来唯一标识元组的属性(或属性组合)称为关键字或码。关系中的元组由关键字的值唯一确定,关键字不能为空。例如,教师表中的教师编号就是关键字。

⑥候选关键字或候选码(candidate key):如果一个关系中,存在着多个属性(或属性的组合)都能用来唯一标识该关系的元组,这些属性或属性的组合称为该关系的候选关键字或候选码。

⑦主关键字或主码(primary key):若一个关系中存在若干候选关键字,则从中指定关键字的属性(或属性组合)称为该关系的主关键字或主码。

⑧非主属性或非关键字属性(non primary attribute):关系中不能组成关键字的属性均为非主属性或非关键字属性。

⑨外部关键字或外键(foreign key):当关系中的某个属性或属性组合虽不是该关系的关键字或只是关键字的一部分,但却是另一个关系的关键字时,该属性或属性组合称为这个关系的外部关键字或外键。

⑩从表与主表:以某属性为主键的表称为主表,以此属性为外键的表称为从表。例如,学生(学号,姓名,性别,出生日期,入学时间,系部代码)与选课(学号,课程号,成绩)两个表,对于“选课”表,“学号”是外键,对于“学生”表,“学号”是主键,则“学生”表为主表,“选课”表为从表。

2、关系模型的数据结构:二维表结构

3、关系模型的数据完整性

①实体完整性规则(entity integrity rule):这条约束要求关系中的元组在组成主键的属性列上的值不能为空。例如,教师表中的教师编号不能为空。

②参照完整性规则(reference integrity rule):这条约束要求不能在从表中引用主表中不存在的元组。例如,在“学生选课表”中的学号不能引用“学生”表中没有的学号。

③用户自定义完整性规则(user-defindedintegrity rule):用户自定义完整性规则是根据应用领域的需要,由用户定义的约束条件,体现了具体应用领域的语义约束。

4、关系操作

 SQL(Structured Query Language)语言是关系数据库的标准语言

①SQL的数据定义功能(DDL):可以用于定义和修改模式(如基本表)、定义外模式(如视图)和内模式(如索引)。CREATE、DROP、ALTER

②SQL的数据查询功能(DQL):SQL的数据查询功能非常强大,它主要是通过SELECT语句来实现的。SQL可以实现简单查询、连接查询和嵌套查询等。

③SQL的数据更新功能(DML):主要包括INSERT、DELETE、UPDATE三个语句。

④SQL的访问控制功能(DCL):指控制用户对数据的存取权力。某个用户对数据库的操作是由数据库管理员来决定和分配的,数据库访问控制功能保证这些安全策略的正确执行。SQL通过授权语句GRANT和回收语句REVOKE来实现访问控制功能。

 

八、数据库设计

1、六个阶段

(1) 需求分析。

(2) 概念结构设计。

(3) 逻辑结构设计。

(4) 物理结构设计。

(5) 数据库实施。

(6) 数据库运行和维护。