首页 > 代码库 > 数据库系统基本概念

数据库系统基本概念

数据库系统(Database System, DBS)包含了数据库(Database, DB)、数据库管理系统(Database Management System,DBMS)、硬件、其他软件及用户。

 

数据模型(Data Model):

首先明确下模型(Model)是个什么东东?

模型可以分为实物模型与抽象模型。例如,汽车模型、飞机模型都是实物模型;数学模型S = PI * R^2是一种抽象模型,它抽象地描述了圆的面积和半径之间的数量关系。

数据模型是一种抽象模型,而且它是数据特征的抽象,而数据是现实世界中事物及其特征的抽象。

 

数据模型的3种类型:

1. 概念数据模型(Conceptual Data Model),也称为信息模型。

面向用户的模型,与具体DBMS无关。作为数据库设计人员与用户之间进行交流的语言,服务于数据库设计的应用目的。可以经过转换变为DBMS支持的结构(又称逻辑)数据模型,进而在DBMS中得以实现。最常用和最著名的概念数据模型是实体-联系(E-R)模型,简称E-R模型。

2. 结构数据模型(Structure Data Model)又称为逻辑数据模型(Logic Data Model)。

既面向用户又面向系统的数据模型,服务于DBMS的应用实现。是用户从数据库中所看到的数据模型,为具体的DBMS所支持。与具体的DBMS相关联。一般而言,一种DBMS只支持一种数据模型。较为成熟并为人们广泛使用的结构数据模型有层次模型、网状模型、关系模型、面向对象模型和面向对象关系模型等。

3. 物理数据模型(Physical Data Model)。

用于描述数据在物理存储介质上的组织结构,与具体的DBMS有关,也与具体的操作系统和硬件有关。每种结构数据模型在实现时都要有其对应的物理数据模型。

 

概念数据模型:

E-R模型三要素:实体、属性、联系。

实体:现实世界中能够相互区分的事物。

属性:实体某个特定方面的特征。

联系:实体之间的联系。

 

实体型:用实体名称和属性名称集合来抽象和刻画同类实体,称为实体型(Entity Type)。

例如,学生(学号、姓名、性别、出生年月、入学时间)就是一个实体型。

 

实体集:若干个实体型的集合称为一个实体集(Entity Set)。

例如,全体学生就是一个实体集。

 

联系的分类:

1. 从联系的不同层面上来看:

实体集内部的联系:即实体集内部各个实体之间的联系。

实体集之间的联系:即一个实体集中的实体与另一个实体集中实体的联系。

2. 从联系的表现形式上来看:

存在性联系:如学校存在老师。

功能性联系:如教师授课。

事件性联系:如学生借书。

3. 从实体之间联系的“元数”来看:

一对一联系(1:1):如果对于实体集A中的每一个实体a,实体集B中至多有一个实体b与之联系;反之亦然。记为1:1.

一对多联系(1:n):对于实体集A中的每一个实体a,在实体集B中有n个实体与之联系,而且,对于实体集B中的每一个实体b,实体集A中至多有一个实体与之联系,则称实体集A和实体集B具有1对多的联系,记为1:n。

多对多联系(m:n):如果对于一个实体集A中的每一个实体,实体集B中有n个实体与之联系;同时对于实体集B中的每一个实体,实体集A中有m个实体与之联系,则称实体集A和实体集B具有多对多联系,记为m:n。

 

一元联系:一个实体内部的联系。

二元联系:两个实体间的联系。

多元联系:3个或3个以上实体间的联系。

 

E-R图:E-R模型的图示形式。

矩形表示实体

椭圆表示属性

菱形表示联系

 

结构数据模型:

一般来说,结构数据模型是严格定义的一组概念的集合,主要由数据结构、数据操作和完整性约束3部分组成,通常称为数据模型3要素。

 

关系模型:

关系模型是用二维表格表示实体集的结构数据模型。表格由行和列组成。