软件设计师-应用技术-数据库设计题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
  • 关系模式:紧急联系人(员工编号,姓名,联系电话)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AndroidStudio的Iguana版的使用

1.AndroidStudio介绍 Android Studio 是用于开发 Android 应用的官方集成开发环境 (IDE)。Android Studio 基于 IntelliJ IDEA 强大的代码编辑器和开发者工具,还提供更多可提高 Android 应用构建效率的功能,例如: 基于 Gradle 的灵活构建系统…

esp32+mqtt协议+paltformio+vscode+微信小程序+温湿度检测

花费两天时间完成了这个项目(不完全是,属于是在resnet模型训练和温湿度检测两头跑......模型跑不出来,又是第一次从头到尾独立玩硬件,属于是焦头烂额了......,完成这个项目后,我的第一反应是写个csdn&#…

毕设:邮件分发系统

文章目录 前言一、登录1.邮箱登录2.账号登录 二、注册三、首页四、写邮件五、收邮件六、草稿箱七、垃圾箱八、已发送九、通讯录十、用户管理十一、邮件管理十二、登录日志总结 前言 分享一下邮件分发系统 一、登录 1.邮箱登录 2.账号登录 二、注册 三、首页 首页有邮件信息&…

华为ensp中USG6000V防火墙双机热备VRRP+HRP原理及配置

作者主页:点击! ENSP专栏:点击! 创作时间:2024年5月6日20点26分 华为防火墙双机热备是一种高可用性解决方案,可以将两台防火墙设备组成一个双机热备组,实现主备切换。当主用防火墙出现故障时&…

Linux 第十九章

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,linux 🔥座右铭:“不要等到什么都没有了…

【数据可视化-02】Seaborn图形实战宝典

Seaborn介绍 Seaborn是一个基于Python的数据可视化库,它建立在matplotlib的基础之上,为统计数据的可视化提供了高级接口。Seaborn通过简洁美观的默认样式和绘图类型,使数据可视化变得更加简单和直观。它特别适用于那些想要创建具有吸引力且信…

后端接口返回二进制数据流,前端如何将其转换成对应的excel、csv和json文件格式并下载

本文主要是介绍在工作中遇到的后端接口返回一个二进制数据流,前端在界面上创建下载按钮并下载成对应格式的文件导出。 downloadData({start: startTime,end: endTime,exportType: 0, // 0-excel, 1-csv, 2-json }).then((res) > {download(res, startTime, endTi…

Flutter笔记:Widgets Easier组件库 - 使用标签(Tag)

Flutter笔记 Widgets Easier组件库 - 使用标签(Tag) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this …

【网络原理】IP协议详解

一.与IP协议相关的基本概念 IP协议,即网际互连协议(Internet Protocol),是TCP/IP体系中的核心网络层协议。 网络层IP协议解决的问题 数据传输的过程中,不是直接进行的传输,而是经过层层的封装和分用的过程才能到达对端. IP协议主…

计算机是如何执行指令的

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…

19 内核开发-内核源码编译

19 内核开发-内核源码编译 (1)开始准备 安装好virtual box ubuntu 系统后,即可下载内核代码,进行编译 历史内核源码地址:https://mirrors.tuna.tsinghua.edu.cn/kernel/v5.x/ 下载 linux-5.10.102.tar.gz 的包,可以使用wget 命令 创建编译目…

CasaOS玩客云安装memos开源云笔记并实现随时随地远程记笔记

文章目录 前言1. 使用Docker部署memos2. 注册账号与简单操作演示3. 安装cpolar内网穿透4. 创建公网地址5. 创建固定公网地址 前言 本文主要介绍如何在CasaOS玩客云,使用Docker本地部署21.6K stars的热门开源云笔记服务memos,并结合cpolar内网穿透工具打…

基于Springboot的校园志愿者管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的校园志愿者管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结…

土壤重金属含量分布、Cd镉含量、Cr、Pb、Cu、Zn、As和Hg、土壤采样点、土壤类型分布

土壤是人类赖以生存和发展的重要资源之一,也是陆地生态系统重要的组成部分。近年来, 随着我国城市化进程加快,矿产资源开发、金属加工冶炼、化工生产、污水灌溉以及不合理的化肥农药施用等因素导致重金属在农田土壤中不断富集。重金属作为土壤环境中一种具有潜在危害…

软件测试与管理-白盒测试-逻辑覆盖法例题

目录 知识点: 例题 : 知识点: 语句覆盖:设计足够多的测试用例,使得被测试程序中的“ 每条可执行语句至少被执行一次” 优点:可通过源码观察直观地得到测试用例,无须细分每个判定表达式。缺点&am…

2024-5-3学习笔记 虚拟继承原理

目录 原理 总结 前面提到过,解决菱形继承产生的数据二义性问题和数据冗余,就需要用到虚拟继承,关于它是如何解决的,我们来一起研究。 class Person { public :string _name ; // 姓名 }; class Student : virtual public Perso…

Chrome浏览器命令行妙用:使你的网上冲浪更加无障碍

引言 在当今数字化时代,网络浏览器已成为我们日常生活中不可或缺的工具之一。对于许多人来说,Google Chrome浏览器是首选,不仅因为它的普及度,更因为它提供的丰富功能和高度的可定制性。在Chrome的众多特性中,命令行功…

Pytorch实现图片异常检测

图片异常检测 异常检测指的是在正常的图片中找到异常的数据,由于无法通过规则进行识别判断,这样的应用场景通常都是需要人工进行识别,比如残次品的识别,图片异常识别模型的目标是可以代替或者辅助人工进行识别异常图片。 AnoGAN…

Linux-信号概念

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

【一步一步了解Java系列】:探索Java基本类型转换的秘密

看到这句话的时候证明:此刻你我都在努力~ 加油陌生人~ 个人主页: Gu Gu Study ​​ 专栏:一步一步了解Java 喜欢的一句话: 常常会回顾努力的自己,所以要为自己的努力留下足迹。 如果喜欢能否点个赞支持一下&#…