软件设计师_数据库——数据模型(下午第二题)

数据模型

概念

 模型就是对现实世界特征的模型和抽象,数据模型是对现实世界数据特征的抽象。对于预期的模型人们并不陌生,如航模飞机、地图和建筑设计沙盘都是具体的模型。最常用的数据模型分为概念数据模型基本数据模型

(1)概念数据模型。概念数据模型也称信息模型,是按用户的观点对数据和信息的建模;是现实世界到信息世界的第一层抽象,强调其语义表达功能,易于用户理解;是用户和数据库设计人员交流的语言,主要用于数据库设计。这类模型中最著名的是实体-联系模型,简称E-R模型
(2)基本数据模型。它是按计算机系统的管带你对数据建模,是现实世界数据特征的抽象,用于DBMS的实现。基本的数据模型有层次模型网状模型关系模型面向对象模型

数据模型的三要素

 数据库结构的基础就是数据模型,是用来描述数据的一组概念和定义。数据模型的三要素是数据结构数据操作数据的约束条件

(1)数据结构。数据结构是所研究的对象类型的集合,是对系统静态特征的描述。
(2)数据操作。数据操作是对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及操作规则。例如操作有检索、插入、删除和修改,操作规则有优先级别等。数据操作是对系统动态特性的描述。
(3)n数据的约束条件。数据的约束条件是一组完整性规则的集合。也就是说,对于具体的应用数据必须遵循特定的语义约束条件,以保证数据的正确、有效和相容。例如某单位人事管理中,要求在职的“男”职工的年龄必须大于18岁小于60岁,工程师的基本工资不能低于1500元,每个职工可担任一个工种,这些要求可以通过建立数据的约束条件来实现。

E-R模型

实体

在E-R模型中,实体用矩形表示,通常矩阵框内写实体名。实体是现实世界中可以区别于其它对象的“事件”或“物体”。
例如企业中的每个人都是一个实体。每个实体由一组特性(属性)来表示其中每一部分属性可以唯一标识实体。

image-20221019125008577

弱实体

在现实世界中有一种特殊的联系,这种联系代表实体间的所有关系。
在扩展的E-R图中,弱实体用双线框表示。

image-20221019125240841

联系

 在 E-R 模型中,联系用菱形表示,通常菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标注上联系的类型 (1:1、1:n或 m:n)。实体的联系分为实体内部的联系和实体与实体之间的联系。实体内部的联系反映数据在同一记录内部各字段间的联系。
1)两个不同实体之间的联系
两个不同实体集之间存在以下 3 种联系类型。

  • 一对一(1:1):指实体集E1中的一个实体最多只与实体集E2中的一个实体联系;
  • 一对多(1:n):表示实体集E1中的一个实体可与实体集E2中的多个实体相联系;
  • 多对多(n:n):表示实体集E1中的多个实体可与实体集E2中的多个实体集相联系;

属性

 属性是实体某方面的特性。例如,职工实体集具有职工号、姓名、年龄、参加工作时间和通信地址等属性。每个属性都有其取值范围,例如职工号为 000001~999999 的 6 位整型数,姓名为 10 位的字符串,年龄的取值范围为 18~60 等。在同一实体集中,每个实体的属性及其域是相同的,但可能取不同的值。E-R 模型中的属性有以下分类。
(1)简单属性和复合属性。简单属性是原子的、不可再分的,复合属性可以细分为更小的部分(即划分为别的属性)。有时用户希望访问整个属性,有时希望访问属性的某个成分,那么在模式设计时可采用复合属性。例如,职工实体集的通信地址可以进一步分为邮编、省、市、街道。若不特别声明,通常指的是简单属性。
(2)单值属性和多值属性。在前面所举的例子中,定义的属性对于一个特定的实体都只有单独的一个值。例如,对于一个特定的职工,只对应一个职工号、职工姓名,这样的属性称为单值属性。但是,在某些特定情况下,一个属性可能对应一组值。例如,职工可能有 0 个、1个或多个亲属,那么职工的亲属的姓名可能有多个数目,这样的属性称为多值属性。
(3)NULL 属性。当实体在某个属性上没有值或属性值未知时,使用 NULL 值,表示无意义或不知道。
(4)派生属性。派生属性可以从其他属性得来。例如,职工实体集中有“参加工作时间”和“工作年限”属性,那么“工作年限”的值可以由当前时间和参加工作时间得到。这里,“工作年限”就是一个派生属性。

image-20221019125930294

18年下半年

image-20221019131003503

image-20221019133314524

解析:每个分公司只有知名经理,说明经理和分公司是一对一的关系;
每个分公司设立设为公司服务的多个业务部门,说明分公司与部门是一对多的关系;
每个部门只有一名主管,说明部门与主管是一对一的关系;
每个部门有多名员工,说明部门与员工是1对多的关系;

image-20221019134405845

image-20221019134421584

image-20221019141937075

答案:(a):经理(员工号)
(b):主管号(员工号),分公司编号
(c):隶属部门(部门号),岗位

image-20221019142132945

image-20221019144522241

答案:“部门”关系的主键:部门号 外键:主管号、分公司编号
“员工”关系的主键:员工号 外键:隶属部门(部门号)

解析:部门号唯一标识部门信息中的每一个元组,说明部门号就是“部门”关系的主键,也是“员工”关系的外键;
员工号唯一标识员工信息中的每一个元组,说明员工号是“员工”信息的每一个主键;
分公司编号唯一标识分公司信息中的每一个元组,说明分公司编号即使“分公司”关系的主键,也就是“部门”关系的外键;
主管号在某种意义上就是员工号,所以主管号也就是“部门”关系的外键;

image-20221019145115569

解析:当记录部门历任主管的认知时间和认知年限时,主管与部门的关系就成了多对多的关系;

不需要增设一个实体,因为部门与主管之间的联系是多对多的,那么只需要讲联系转换成一个独立的关系模式就可以,关系模式如下:

历任主管(部门号,主管号,任职时间,任职年限)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

要什么自行车儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值