数据库基础之数据描述
数据描述
在数据处理中,数据描述涉及到不同的范畴。从事物的特性到计算机中的具体表示,实际上经历了三个阶段,这就是数据库所表达的概念的数据描述、数据库逻辑数据的描述和物理存储介质中的数据描述。数据库系统的一个重要目标是使用户能方便、容易地使用数据库,不必关心数据库的存储结构和实现方法,因此重要的是前两种数据描述,即数据库概念的数据描述和逻辑的数据描述。
一、概念设计中的数据描述
数据库概念设计是指根据用户的需求设计数据库所表达的概念。这一阶段要用到下列四个术语。
(一)实体(Entity)
实体是事物的抽象。客观存在并可相互区别的任何事物统称为实体。实体可以是具体的对象,例如一台电视机、一个男学生等;也可以是抽象的对象,如一场足球比赛。
(二)实体集(Entity Set)
性质相同的同类实体的集合称为实体集。例如,所有的男学生构成一个实体集,全国足球锦标赛的所有比赛构成另一个实体集等。
(三)属性(Attribute)
通常实体具有很多特性,每一特性称为属性,例如学生有学号、姓名、年龄和性别等属性。每个属性都有一个值域,其类型可以是整型数、实型数或字符串等。
(四)实体标识符(Identifer)
能惟一标识实体的属性(或几个属性的组合)称为实体标识符。
二、逻辑设计中的数据描述
数据库逻辑设计是指从概念设计得到的数据库概念出发来设计数据库的逻辑结构,即实现数据存取的表达方式和方法。逻辑数据描述用来向程序员或用户提供操作数据时使用的逻辑数据形式,是一种用户观点下的数据描述。逻辑数据描述涉及到下列术语。
(一)字段(Field)
标记实体属性的命名单位称为字段,或数据项。它是可以命名的最小信息单位。通常,字段名直接就用属性名,而不必另起名字。
(二)记录(Record)
字段的有序集合称为记录。一般情况下,用一个记录描述一个实体。因此,记录又可以定义为能完整地描述一个实体的字段集。例如,一个学生记录由若干有序的字段集(学号、姓名、性别、出生日期)组成。
(三)文件(File)
同类记录的集合称为文件。文件是用来描述实体集的。例如,所有的学生记录组成了一个学生文件。
(四)关键码(Key)
能惟一标识文件中每个记录的字段(或几个字段的组合)称为记录的关键码,简称为键。
概念设计和逻辑设计中的术语对应关系如表所示。
概念设计 | 逻辑设计 |
实体 | 记录 |
属性 | 字段(或数据项) |
实体集 | 文件 |
实体标识符 | 键 |
在数据库技术中,每个概念都有类型(Type)和值(Value)之区分。例如,“学生”是一个实体类型,而具体的人“张三”、“李四”等是实体值。记录也有记录类型和记录值之分。简言之,类型是概念的内涵,而值是概念的外延。但有时在不会引起误解时,不去仔细区分类型和值,而笼统地称“记录”。在数据库系统中,逻辑数据与物理数据之间可以差别很大。数据管理软件的功能之一就是把逻辑数据转换成物理数据,或者把物理数据转换成逻辑数据。
三、数据联系的描述
现实世界中,事物是相互联系的,实体不是孤立存在的,实体与实体之间有联系。
(一)什么是联系(Relationship)
联系是指实体之间的关系。与一个联系有关的实体集的个数,称为联系的元数。例如,联系有一元联系、二元联系和三元联系等。
只要把二元联系搞清楚,一元和三元联系就好理解了。
(二)二元联系的三种类型
1、一对一联系(简记为1:1)
对于不同型实体集A和B,如果A中的一个实体最多只与B中的一个实体有联系,反之亦然,则称A和B两实体为1:1联系。例如,一夫一妻制社会中,“丈夫”与“妻子”两实体集之间为1:1联系。
2、一对多联系(简记为1:n)
如果实体集A中至少有一个实体与实体集B中多于一个的实体有联系(可以是零个、一个或多个),则称A对B为1:n联系。例如,“母亲”和“子女”两实体间为1:n联系。
3、多对多联系(简记为m:n)
如果两个不同型实体集中,任何一方一个实体都与另一方多于一个实体相联系,则称其为m:n联系。例如,“学生”和“课程”两实体间为m:n联系,因为一个学生可以选修多门课程,反之一门课程有多名学生选修。
下面给出二元联系中的1:1、1:n和m:n三个联系的例子。
- 飞机的座位与乘客之间是1:1联系(图中用方框表示实体集,用单箭头表示联系的一方实体集,用双箭头表示联系的多方实体集)。
- 车间与工人之间是1:n联系。
- 学生与课程之间是m:n联系。