软件设计师-应用技术-数据库设计题2

基础知识及技巧:

1. 数据库设计过程:

  • 四个阶段:需求分析、概念结构设计、逻辑结构设计、物理设计。
  • 每个阶段的产物:
    • 需求分析:数据流图、数据字典、需求说明书。
    • 概念结构设计:ER模型
    • 逻辑机构设计:关系模式
  • 每个阶段的特点:见图中。

2. ER模型图例:

        弱实体:一类特殊的实体,这种实体需要依赖于另一个实体,若另一个实体不存在了,它也随之消失。

        子实体(特殊化):员工与经理等特殊关系:

        每个部门的员工中,有一名员工是经理。一个经理可以管理一个部门。

3. ER模型-实体联系类型:

  • 一对一关系:
    • 例:一个班级只有一个班主任,一个班主任也只在一个班级中任职。
  • 一对多关系:
    • 例:一个班级中有许多学生,而每个学生只在一个班级中学习。
  • 多对多关系:
    • 一门课程同时有许多学生选修,而一个学生也可以选修多门课程。

4. ER图与关系模型的转换:

4.1 一个实体转换为一个关系模式规则:

  • 实体名称作为关系模式名称;
  • 实体的属性就是关系的属性;
  • 实体的主码就是关系的主码。

4.2 一个联系集转换为一个关系模式的规则:

(重点看一下)

5. 关系模式:

答题技巧:

  • 详细分析试题说明,熟练掌握基本知识。

问题1 :补充E-R图中,"联系"、"联系类型"、"属性"、"实体与子实体联系"考题:

联系:

  • 联系的名称是动词,寻找题干中的动词。Ext:要总结出常见的联系名称。
  • 有些题不要求写联系的名称,会用"联系1"、"联系2"...代替,但是要写联系类型。

联系类型:

方法:

  • 创建一张表,使用实体名称做表头,将关联关系作为表中一条数据,最后对多条关联关系进行合并。 重要 ***

技巧:

  • 技巧1:阅读题干,分析两个实体之间的关系,从1端开始翻译,比对题干和结合ER图找出正确答案。
  • 技巧2:多对多关系,其实就是双边的实体的一对多关系。
  • 技巧3:三个实体的关系 拆成 两个两个实体的关系。
  • ---- ---- ---- ----
  • 试题1-问题1

属性:

  • 属性是填写自己属性:主键+自己其他属性。
  • 属性名称带下划线,代表是主键。

简单属性与复合属性:

  • 简单属性是原子的、不可再分的。
  • 复合属性可以细分为更小的部分(即划分为别的属性)。有时用户希望访问整个属性,有时希望访问属性的某个成分,那么在模式设计时可采用复合属性。
  • 例如,职工实体集的通信地址可以进一步分为邮编、省、市、街道。若不特别声明,通常指的是简单属性。

实体与子实体联系:

特殊点:

问题2:填写关系模式中,"属性"考题:

  • Tips1:考虑问题要全面,一个空可能填多个属性。
  • Tips2:阅读题干时,把整段都看全,并且需要逐一核对,不然可能会漏属性。 重要
  • Tips3:联系的关系模式有主键,也有外键。
  • ---- ---- 重要 ---- ----
  • 部门关系 主: 部门号 外:经理
  • 配给(商品号,业务员,配给时间,配给数量,业务员) 主:(商品号,业务员,配给时间) 外:(商品号,业务员) -> Tips2
  • 供货(供货商编号,团购点编号) 主:(供货商编号,团购点编号) 外:(供货商编号,团购点编号) -> Tips2
  • ---- ---- ---- ----
  • 试题1-问题3 试题2-问题2

问题3:填写关系模式中"主键外键"考题:

  • Tips1:不要忘记并标注主键和外键的完整性约束,主键写法:下划线,外键写法:下划虚线。
  • Tips2:如果主外键是"需要填空的属性",使用填写的属性名称。

问题4:

1. 关联类型从 1:* 变成 *:*:

  • 将"外键属性"从原关系模式中移除。
  • 将联系转换成独立的关系模式,将两个实体的主键添加到该关系模式中,还有其他相关的属性。

2. 新增实体,补充联系、联系类型、属性:

  • 可能需要自己推测联系类型。
  • 可能补充属性。

3. 在职员关系模式中,假设每个职员有多名家属成员,那么职员关系模式存在什么问题?应如何解决?-> 关系模式分解

  • 职员关系模式存在数据冗余,修改、插入、删除异常等问题。背
  • 应将“职员”关系模式进行分解,分解之后的关系模式如下:
    • 职员1(职员号,姓名,岗位,所属业务部编号,电话)
    • 职员2(职员号,家庭成员姓名,成员关系)

试题1:

问题1:

(1) n 或m 或 * (2) n 或m 或 * (3) n 或m 或 *

问题2:

  • 需要增加员工和权限之 间 m:1 的联系。

问题3:

(4)员工号 ,部门号 (5)客房号 (6)身份证号 (7)岗位 (8) 身份证号,客房号

问题4:

  • 逆规范化理论的考点。
  • 若将权限表中的操作权限属性放在员工表中,优点:减少一次关联查询,查询速度加快。缺点:重复存储、存在数据冗余。

试题2:

问题1:

  • 一个商场由多个部门组成,一个部门只能归属与某一个商场。
  • 一个经理只能管理一个部门,一个部门只能有一个经理。
  • 一个部门有多名员工,一个员工只能隶属于一个部门。
  • Tips:特殊关系,表示员工与经理的关系。
  • ----- 如下官方解释:-----
  • 由"每个商场包含有不同的部门"可知商场与部门间为 1:m 联系;
  • 由"每个部门雇用了多名员工处理 日常事务"可知部门与员工间为 1:n联系;
  • 由"每个部门的员工中有一个经理 ... ... 每个经理只能管理一个部门" 可知部门与经理间为 1:1 联系,并且员工是经理的超类型,经理是员工的子类型。

问题2:

  • a 商场编号 b 部门编号 c 员工编号 (自己做题时,写错了)
  • 部门关系模式的主键:部门编号,外键:商场编号
  • 员工关系模式的主键:员工编号,外键:部门编号
  • 经理关系模式的主键:员工编号 ,外键:员工编号(自己做题时,写错了)

问题3:

  • 新增实体:紧急联系人,实体联系类型:1:n
  • 关系模式:紧急联系人(员工编号,姓名,联系电话)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/832487.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式之传输对象模式

在编程江湖里,有一种模式,它如同数据的“特快专递”,穿梭于系统间,保证信息的快速准确送达,它就是——传输对象模式(Data Transfer Object, DTO)。这不仅仅是数据的搬运工,更是提升系…

设置定位坐标+请按任意键继续

设置定位坐标 目的 在编程和游戏开发中,设置定位坐标的目的是为了确定对象在屏幕或游戏世界中的具体位置。坐标通常由一对数值表示,例如 (x, y),其中 x 表示水平位置,y 表示垂直位置。设置定位坐标的目的包括: 1. **精…

如何快速掌握DDT数据驱动测试?

前言 网盗概念相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离, 这样的测试脚本设计模式称为数据驱动。(网盗结束)当我们测试某个网站的登录功能时,我们往往会使用不同的用户名和密码来验证登录模块对系统的影响&#x…

软考之零碎片段记录(二十九)+复习巩固(十七、十八)

学习 1. 后缀式(逆波兰式) 2. c/c语言编译 类型检查是语义分析 词法分析。分析单词。如单词的字符拼写等语法分析。分析句子。如标点符号、括号位置等语言上的错误语义分析。分析运算符、运算对象类型是否合法 3. java语言特质 即时编译堆空间分配j…

引领智算变革,九章云极DataCanvas公司激活油气行业新质生产力

近日,“2024中国石油石化企业信息技术交流大会暨油气产业数字化转型高峰论坛”在京成功举办,九章云极DataCanvas公司携“油气行业AI智算服务全栈解决方案”震撼亮相,为油气行业数智化转型和新质生产力发展提供领先的技术视角和前瞻实战经验分…

C++手写协程项目(协程实现线程结构体、线程调度器定义,线程挂起函数、线程切换函数、线程恢复函数、线程结束函数、线程结束判断函数,模块测试)

协程结构体定义 之前我们使用linux下协程函数实现了线程切换,使用的是ucontext_t结构体,和基于这个结构体的四个函数。现在我们要用这些工具来实现我们自己的一个线程结构体,并实现线程调度和线程切换、挂起。 首先我们来实现以下线程结构体…

python安装问题及解决办法(pip不是内部或外部命令也不是可运行)

pip是python的包管理工具,使python可在cmd(命令行窗口,WinR后输入cmd)中执行 针对 “pip不是内部或外部命令也不是可运行” 问题,需要在安装的时候将python添加到环境变量中 上图第三个选项必须勾选才能在cmd中使用pi…

LLVM的ThinLTO编译优化技术在Postgresql中的应用

部分内容引用:https://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html LTO是什么? 链接时优化(Link-time optimization,简称LTO)是编译器在链接时对程序进行的一种优化。它适用于以文件为单位编译…

触摸OpenNJet,感悟云原生

小程一言 云原生使得应用充分利用云计算、容器化和微服务架构等现代技术来构建和运行应用程序。 云原生技术的用处在于提高应用程序的可靠性、可伸缩性和灵活性,加快开发和部署速度,降低成本,提升整体的效率和竞争力。通过采用云原生技术&a…

mysql使用索引。并未命中

今天在给项目看板查询语句增加索引的时候,发现了一个很有趣的问题。如下: 我这样创建索引,就可以使用,但是我另外一个查询语句,需要使用到factory_id和plan_start_date。于是我就移动了索引顺序,这样遵守左…

若依前后端分离部署nginx

1、v.sj 2、生产环境修改 3、退出登录修改 4、路由改为hash模式 5、nginx配置 location /gldhtml/ {alias D:/java/tool/nginx-1.19.6/project/jxal/html/; } location /jxal/ {proxy_pass http://localhost:8081/; }

蓝牙连接手机播放音乐的同时传输少量数据,那些蓝牙芯片可以实现呢

简介 蓝牙连接手机播放音乐的同时连接另一蓝牙芯片传输少量数据,那些蓝牙芯片可以实现呢? 这个需求,其实就是双模的需求 简单描述就是:播放音乐的同时,还可以连接ble,进行数据的传输。二者同时进行,互不…

标准IO学习

思维导图: 有如下结构体 struct Student{ char name[16]; int age; double math_score; double chinese_score; double english_score; double physics_score; double chemistry_score; double bio_score; }; 申请该结构体数组,容量为5,初始…

uniapp 应用闪退、崩溃异常日志捕获插件(可对接网络上报)插件 Ba-Crash

应用闪退、崩溃异常日志捕获插件(可对接网络上报) Ba-Crash 简介(下载地址) Ba-Crash 是一款uniapp应用闪退、崩溃异常日志捕获插件,支持对接网络上报、设置提示等等,方便对一些远程问题、原生问题进行分…

Linux-信号概念

1. 什么是信号 信号本质是一种通知机制,用户or操作系统通过发送信号通知进程,进程进行后续处理 在日常生活中就有很多例子,比如打游戏方面王者荣耀的“进攻”,“撤退”,“请求集合”,“干得漂亮&#xff01…

【数据结构】有关环形链表题目的总结

文章目录 引入 - 快慢指针思考 - 快慢指针行走步数进阶 - 寻找环形链表的头 引入 - 快慢指针 141-环形链表 - Leetcode 关于这道题,大家可以利用快慢指针,一个每次走两步,一个每次走一步,只要他们有一次相撞了就代表说这是一个链…

ue引擎游戏开发笔记(33)——武器与角色的匹配,将新武器装备到角色身上

1.需求分析: 武器能出现在世界中,完成了第一步,下一步需要角色和武器适配,即不论角色跑动,射击等,武器和角色都相匹配,将武器装备到角色身上。 2.操作实现: 1.首先先把角色原有的武…

如何保证Redis双写一致性?

目录 数据不一致问题 数据库和缓存不一致解决方案 1. 先更新缓存,再更新数据 该方案数据不一致的原因 2. 先更新数据库,再更新缓存 3. 先删除缓存,再更新数据库 延时双删 4. 先更新数据库,再删除缓存 该方案数据不一致的…

LeetCode 226.翻转二叉树(全网最多的解法)

LeetCode 226.翻转二叉树 1、题目 题目链接:226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2&#…

Sentinel流量防卫兵

1、分布式服务遇到的问题 服务可用性问题 服务可用性场景 服务雪崩效应 因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程,就叫服务雪崩效应导致服务不可用的原因: 在服务提供者不可用的时候,会出现大量重试的情况&…