暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库系统概论[姊妹篇.第二弹]

桑小榆的坚定学说 2021-08-02
586

在上一篇中,我们大概了解了数据库相关的概述,以及他的内部三层模式两层映像的原理,还特地用了一条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查询的对应关系,顺便扩展查询优化技巧相关的内容。



👇创作不易,多多关照!👇




文章转载自桑小榆的坚定学说,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论