设计ER图

需要避免的两个主要的缺陷
  • 冗余

    体现为信息的重复出现,比如一个学生表中,含有班别,班主任,那么同一个班的学生都含有含有班别、班主任的信息,造成了信息的冗余,这是因为只要知道班别,就确定了班主任,反之亦然

    信息的冗余可能会造成的问题是,当班别发生更新,而班主任没随之更新发生的错误

  • 不完整

实体集

实体是一个特定事物,例如,每一片树叶都是一个实体。实体具有一组性质,而性质中某些特定的值特定地标识一个实体,例如大学的学号。

实体集是共享相同属性的集合,大学中的所有教师的集合可以定义为instructor集。

联系集

是多个实体间的相互关联的集合。

例如教师有指导学生的关系,两个实体之间就可以画一个名为指导的菱形作为联系集

单个实体集也可以与自身构成联系,例如课程实体集,有拓扑排序那种先修和后修的关系,可以构成先修联系

联系集还可以具有描述符属性,学生和课程的实体集,课程本身可以具有成绩属性,但是没有学生选课程时,成绩往往为空,所以我们希望在学生与课程的联系集中加入成绩属性,表示学生选课之后会产生成绩,这个成绩是有选课联系才产生的。

大多数联系集是二元的,少数联系集是三元的,三元的联系集中的实体有时也可转换成联系。

属性
简单属性

集合中的常见属性,不能再被划分

复杂属性

可以再被划分的属性,例如地址划分为街道,城市,区域等

多值属性

含有多个值的属性,例如一个人可能有多个手机号

派生属性

不存储的属性,需要时可以计算出来,如老师指导了多少名学生

弱实体集

考虑有一个课程段实体,属性有课程编号、学年、学期、课程段编号属性,与课程实体创建一个联系集

由于课程实体也有课程编号属性,所以课程段实体出现了冗余

消除冗余的一个方式时去除这种联系,然而此时课程段实体出现了课程实体的主码,这不是我们想要的

另一个方式是去除课程编号属性,此时课程段的信息就变成不完整的,虽然是每个实体都是可区分的,但是不能再表明具体课程开设时间的信息

当一个实体的存在依赖于另一个实体,就像本例中的课程段实体中有课程编号,这个实体就是弱实体集,弱实体集依赖的另一个实体集称为标识性实体集,标识性实体集的主码和分辨符属性唯一地标识弱实体,弱实体集和标识性实体集的联系称为标识性联系

数据库系统概论----设计ER图相关推荐

  1. 如何设计ER图(弱实体集)

    相关系列: ER图转为关系模式 无损分解和保持依赖 3NF分解与BCNF分解 正则覆盖与候选码 如何设计ER图(弱实体集) 如何设计ER图(映射基数) 弱实体集的定义:没有足够的属性形成主码的实体集. ...

  2. php电商网站开发流程图,php网上购物平台设计+ER图+流程图.doc

    php网上购物平台设计ER图流程图 php网上购物平台设计+ER图+流程图 摘要:广义来说,电子商务是指电子工具在商务活动中的应用.狭义来说,电子商务是在技术.经济高度发达的现代社会里,掌握信息技术和 ...

  3. 微信小程序开发之路(十三)正式开工--设计ER图与数据库的创建

    微信小程序开发之路(十三)正式开工–设计ER图数据库的创建 先制作班费公是示功能 我们在项目的 settings.py 文件中找到 DATABASES 配置项,将其信息修改为: DATABASES = ...

  4. Microsoft Visio 2013 设计E-R图和数据库模型图

    一.设计E-R图 1.新建"空白绘图" 注:不一定非得是"空白绘图",任意选择一个类型的模型图即可,我们进去再具体选择. 2.选择左侧"更多形状&qu ...

  5. 怎样用EA设计ER图

    我们开发系统从文档開始,而EA就是替我们开发文档的好工具.结束了我们从概念设计到逻辑设计中的非常多问题.完好我们的文档. 如今就给大家说说如何在EA中设计概念模型ER图: 首先打开EA-"新 ...

  6. 设计E-R图,E-R图转换成关系模式结构

    数据库E-R图联系 第四章第二讲 1.某医院病房计算机管理中心需要如下信息: 科室:科名.科地址.科电话.医生姓名 病房:病房号.床位号.所属科室名 医生:姓名.职称.所属科室名.年龄.工作证号 病人 ...

  7. er图转换成关系模型的例题_有关数据库系统的练习题 E-R图的关系画图转换,,急需 谢谢了...

    展开全部 你看62616964757a686964616fe58685e5aeb931333332643239下下边的例子,你的问题就可以解决了. 设某商业集团数据库中有三个实体集.一是"商 ...

  8. 数据库系统概念 | 第七章:使用E-R模型的数据库设计 | ER图设计| ER图转化为关系模型 | 强实体和弱实体

    文章目录

  9. 数据库设计之从0到1 教你如何设计E-R图

    上一年写过一篇数据库如何设计,当时也只是停留在概念的理解方面,今天有一次加深了对数据库设计的理解 关于如何设计数据库, 可以戳这个链接数据库设计的六个步骤 接下来从实例来理解数据库的设计 一,首先了解 ...

最新文章

  1. html5中text-align,text-align
  2. 微软亚洲研究院刘铁岩博士:迎接深度学习的“大”挑战(一)
  3. python怎么写测试脚本语言_手把手带你,用Python写一个Monkey自动化测试脚本!!!...
  4. lintcode:排颜色 II
  5. 精简JRE第一步 — 精简bin目录
  6. JAVA基础加强笔记
  7. linux 下串口转usb不能发送数据包,红帽redhat下 串口转USB问题 linux
  8. 查看Mysql实时执行的Sql语句
  9. 组合数学—容斥原理与鸽巢原理
  10. 计算机专业的英语文献,计算机专业英语论文参考文献集 计算机专业英语英语参考文献哪里找...
  11. 教你如何理解Vue中的nextTick
  12. win10 安装pytorch gpu 及 解决报错“OSError: [WinError 126] 找不到指定的模块
  13. 浏览器播放RTSP视频流几种解决方案
  14. python打开xls文件报错_python处理excel文件(xls和xlsx)
  15. Python seaborn 条形图
  16. 计算机的资源管理器是电脑上的哪个图标,Win10资源管理器中“此电脑”光驱图标不见了怎么办?解决方法...
  17. CentOS8搭建实现私有CA和证书申请
  18. 美国大学的交流访问学者怎样申请?
  19. Java 的可移植性
  20. 提交给移动三个wap游戏,终于通过了一个

热门文章

  1. aws ebs 分析_使用AWS Comprehend进行情感分析
  2. 搭讪达人这样和女生发短信
  3. 惟伊·京汉方邀约全国贵宾黄龙溪一日游
  4. PAT A1008 Elevator
  5. 第2组 团队展示(组长)
  6. 把音频中的某个人声去掉_怎样去掉音频中的背景音乐 只保留人声?
  7. 超市会员管理系统(面向对象)
  8. lightGBM简述
  9. AAAI 2022 | 同时适用于同质和异质性的图神经网络
  10. ArcGIS工具 - 导出数据库结构