数据库原理及应用(二)数据模型

现实世界:           实体(Entity):现实世界存在的可以相互区分的事物或概念(一个人、一台车)

                              特征:用于区分不同实体的属性(职务、年龄、性别等)

                              实体集:具有相同特征的实体的集合

计算机世界:        数据项(item):对象属性的数据表示,实体的一个特征就是一个数据项

                              记录(record):实体的数据表示,由数据项组成的一个实体

                              文件(file):对象的数据表示,是同类记录的集合

                              数据模型(Data Model):现实世界中的事物和计算机世界的联系数据化的结果

他们之间的相互联系:

 概念模型及表示

        1.对象(object)和实例(instance)

                对象也称实体型,一类事物的抽象称为对象,对象是实体集数据化的结果,实例是对象中的具体事物(实体)

        2.属性(attribute)

                属性是实体的某一方面特征的抽象表示

        3.主码(Primary Key)和次码(Secondary Key)

                码即为关键字,能够标识唯一实体。主码和实体是一一对应的,次码可能对应多个实体

        4.域(Domain)

                属性的取值范围

实体联系的类型

        1.两个实体集之间的联系

                1.一对一联系(1:1)

                2.一对多联系(1:n)

                3.多对多联系(m:n)

        2.多实体集之间的联系

                1.一对多联系

                2.多对多联系

         3.实体集内部的联系(内部一对一、一对多、一对多)

概念模型的表示方法

        E-R图

                1.用长方形表示实体集;长方形内写明实体集名

                2.用椭圆表示实体集的属性

                 3.用菱形表示实体集之间的联系,菱形内标注联系名

 数据模型概述

        三要素:数据结构、数据操作、数据约束条件

        常见数据模型:层次模型、网状模型、关系模型

                层次模型和网状模型统称非关系模型。

                        层次模型:        定义:1.仅有一个结点,没有双亲结点,这个结点称为根结点

                                                              2.除根结点之外的其他结点有且仅有一个双亲结点

                        表示方法:        

                         特点:像一颗倒立的树,只有一个根结点,有若干叶结点,结点的双亲是唯一的

                        层次模型中多对多联系的表示

                                1.冗余结点分解法:通过增加冗余结点的方法将多对多的联系转换为一对多

                                 2.虚拟结点分解法:使用虚拟结点(指引元),将实体集间的多对多联系分解为多个层次模型

                         层次模型的数据操作和完整性约束条件

                                完整性约束条件:1.在进行插入记录值操作时,如果没有指明相应的双亲记录值则不能插入子女记录值

                                                              2.进行删除记录操作时:如果删除双亲记录值,则相应的子女结点值也同时被删除

                                                              3.进行修改记录操作时,应修改所有对应的记录,以保证数据的一致性

                        层次模型的存储结构

                                1.邻接存储法:按照层次树前序穿越的顺序,将所有记录值依次邻接存放(通过物理控件的位相邻来安排层次顺序)

                                2.链接存储法:

                                        (1)子女-兄弟链接法:要求每个记录设两个指引元,一个指引元指向它的最左边的子女记录值,另一个指引元指向它的最近兄弟记录。

                                        (2)层次序列链接法:按照树的前序穿越顺序,链接各记录值

                 网状模型

                        基本特征:        1.有一个以上的结点没有双亲

                                                   2.结点可以有多于一个的双亲结点

                         数据表示方法

                                        1.同层次模型一样,网状模型也使用记录和记录值表示实体集合实体;每个结点表示一个记录,每个记录可包含若干个字段。

                                        2.网状模型中的联系用结点间的有向线段表示。每个有向线段表示一个记录间的一对多的关系

                        约束条件

                                        1.支持记录码的概念。码即唯一标识记录的数据项的集合

                                        2.保证一个联系中双亲记录和子女记录之间是一对多的联系

                                        3.可以支持双亲记录和子女记录之间某些约束条件

                        存储结构:常用链接法

                网状模型和层次模型比较

                        1.层次模型的主要优缺点

                                优点:数据模型本身简单;性能优于关系模型和网状模型;能提供良好的完整性支持

                                缺点:在表示非层次关系时只能通过冗余数据(易产生不一致性)或创建非自然的数据组织(虚拟结点)来解决;对插入和删除操作的限制较多;查询子女结点必须通过双亲结点;由于结构严密,层次命令趋于程序化。

                        2.网状模型的主要优缺点

                                优点:能够直接描述现实世界;一个结点可以有多个双亲;允许复合链;具有良好的性能;存取效率比较高。

                                缺点:结构复杂,随着应用环境的扩大,数据库结构会变得越来越复杂;应用程序访问数据时必须选择适当的存取路径,加重了编写应用程序的负担。

                关系模型

                        主要术语:        关系:二维表

                                                元组:表的一行        属性:表的一列

                                                主码、域、分量:元组中的一个属性

                                                关系模式:关系的描述-->关系名(属性1,属性2,...属性n)

                                                                                     学生(学号,姓名,性别,年龄,所在系) 

                        约束条件:        实体完整性、参照完整性、用户定义的完整性

                        存储结构:        以文件形式存储

                关系模型与非关系模型比较

                        1.建立在严格的数学基础上

                        2.概念单一,容易理解

                        3.存取路径对用户隐蔽

                        4.数据联系靠数据冗余实现(空间效率和时间效率较低)

                        

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值