您的位置:首页 > 数据库

数据库系统概论「姊妹篇.第二弹」

2022-05-15 21:16 876 查看

在上一篇中,我们大概了解了数据库相关的概述,以及他的内部三层模式两层映像的原理,还特地用了一条sql运转的过程,讲述数据库将如何操作。

 

接下来,讲述一些数据库建模相关的理论知识,主要从他的ODL(对象定义语言)、实体-联系模型,设计原则以及它的约束关系。

 ODL 对象定义语言

 

ODL(对象定义语言)是用面向对象的术语。通过给出的类的属性、联系和方法来描述面向对象的模型。属性用数据类型来表述。

 

常用的数据类型包括整型、字符串、枚举型以及结构、集合、数组、包和列表等形式的结构类型其中集合、数组、包和列表又统称为聚集类型。联系用与之相连的类来描述。联系有单值联系和多值联系之分。


它有基本的属性,联系和方法组成。其属性是它们的类型是由基本的数据类型构成的;联系便是它们的类型是对某类对象的引用或是这种引用的集合;方法用于该类对象的函数。

实体-联系(E-R图)

 

用形象化的形式来描述数据模型。在E-R图中,描述实体集及其属性以及实体集之间的联系。

 

E-R图中的实体集相当于ODL中的类,而属性和联系用词都一样,本质上是一致。实体集的成员称为实体相当于类的对象。

 

实体集:与ODL类相似。实体是是集体的成员,和ODL中的对象相似。(矩形标识)

 

属性:与ODL中的属性本质上也相同。(椭圆表示)

 

联系:与ODL中的联系本质上也相同(菱形表示)

 

联系的三种类型:二元联系可以分为一对一、一对多(或多对一)和多对多这三种不同的类型。在E-R图中三元联系可方便地转换为三个二元联系。

 

▲图/ 来源于百度百科

 

设计原则

 

为了有效设计数据库,需要选择合适的表示法(如ODL和E-R图),合理地确定的元素类型(如属性、联系或实体集),简单清晰而又真实地反映现实世界,而且要避免冗余,当然,有时为了提高效率,可能只是要求减少而不必要的冗余。

 

子类:从一个类中具有某些附加特性的对象组成一个附属的类,称为子类。子类除了具有原有类型的特性以外,还具有自己附加的特性--属性或联系。用这种类与子类的层次关系往往能更好的反映现实世界的层次结构。

▲图/ 学生的两个子类:研究生、本科生

 

键码的约束

 

键码(Key):是ODL中类的范围内唯一标识一个对象,或者E-R图中实体集的范围内唯一标识一个实体的属性或属性集。

 

单值约束:要求某个属性的值是唯一的,键码的单值约束的主要来源。

 

引用完整性约束:要求某个对象所引用的值在数据库中确实存在。

 

域约束:要求某个属性的值必须处于特定范围内或者取自特性值的集合。

 

键码:在类的范围内唯一标识一个对象,或者在实体集范围内唯一标识一个实体,

或者在一个关系范围内唯一标识一个元组的属性或属性集称为键码。

 

在了解数据库设计原则,一些键码约束规则之下,在下一篇的内容中,将会讲述关系代数运算SQL查询的对应关系,顺便扩展查询优化技巧相关的内容。

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: