第七章讲述一个E-R设计如何转换成一个关系模式的集合以及如何在该设计中找到某些约束。

1、概念设计定义了数据库中表示的实体、实体的属性、实体之间的联系,以及实体和联系上的约束

在设计一个数据库模型的时候,我们要确保避免:冗余(一个不好的设计可能会有重复的信息)和不完整(一个不好的设计可能会使得企事业机构的某些方面难于甚至无法建模)

2、实体-联系(即E-R图)需要:实体集、联系集和属性

实体(现实世界中有区别于所有其他对象的一个“事物”或“对象”)

实体集:相同类型即具有相同性质(或属性)的一个实体集合

属性:是实体集里面每个成员所拥有的描述性性质

联系是指多个实体间的相互关联

联系集:是相同类型联系的集合

参与联系集的实体集的数目称为度,如二元联系集的度为2

每个属性都有一个可取值的集合,称为该属性的域,或者值集。例如属性semester的域可能是{春、夏、秋、冬}中的字符串

属性可以分为:简单和复合属性、单值和多值属性(例如 ID 和 电话 )

派生属性,从别的相关属性或者实体派生出来的

3、约束

一对一、一对多、多对一、多对多

部分/全部 参与

4、关系模式中的超码、候选码、主码同样适用于实体集

5、E-R图可以图形化表示数据库的全局逻辑结构

6、E-R图包括几个主要构件:

分成两部分的矩形代表实体集,有阴影的第一部分包含实体集的名字、第二部分包含实体集中所有属性的名字

菱形代表联系集

未分割的矩形代表联系集的属性,构成主码的属性以下划线标明

线段将实体集连接到联系集

虚线将联系集属性联系到联系集

双线显示实体在联系集中的参与度

双菱形代表连接到弱实体集的标志性联系集

箭头 → :部分参与;双横线:完全参与

7、弱实体集:没有足够的属性以形成主码的实体集
有主码的实体集称为强实体集

数据库原理 第七章 数据库设计和ER模型的更多相关文章

  1. 数据库设计与 ER 模型 - 数据库系统原理

    数据库系统生存周期 数据库应用系统的开发是一项软件工程,一般具有信息的采集.组织.加工.抽取.综合.传播等功能,但又有自己的特点,所以称为 数据库工程. 数据库应用系统从开始规划.设计.实现.维护到最 ...

  2. 数据库设计和ER模型-------之ER模型的基本概念(第二章)

    ER模型(实体联系模型)的基本元素 实体:是一个数据对象,在ER模型中,实体用方框表示,方框内注明实体的名称 联系:表示一个或多个实体之间的关联关系,联系用菱形框表示,并用线段将其与相关的实体联系起来 ...

  3. 数据库设计和ER模型-------之关系模型的基本概念(第二章)

    关系模型的基本术语 定义:用二维表格来表示实体集,用关键码表示实体之间联系的数据模型称为关系模型 有时也习惯称呼关系为表或表格,元组为行(Row),属性为列.关系中属性个数称为“元数”,元组个数称为“ ...

  4. MySQL数据分析-(5)数据库设计之ER模型

    大家好,我是jacky,很高兴跟大家分享本课时的内容,从本节课开始,就开始了我们第二章的学习,第一章我们抛出了若干问题,从第二章开始往后,都是解决问题的一个过程: 第一章的案例中,我们拿手机销售公司举 ...

  5. 《Entity Framework 6 Recipes》中文翻译系列 (39) ------ 第七章 使用对象服务之配置模型和使用单复数服务

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 7-3  配置模型 问题 你想了解配置模型中的各种选项. 解决方案 当你添加一个AD ...

  6. 数据库设计和ER模型-------之数据库系统生存期(第二章)

    数据库设计 概念:开发人员利用开发环境表达用户要求.设计构造最优的数据模型,然后据此建立数据库以及其应用系统,这个过程称为数据库设计 数据库生存期 1968年首次提出“软件工程”的概念 概念:我们把数 ...

  7. 第六章 数据库设计之ER模型

    在ER图中实体用方框表示 实体其实就相当于一个二维表,实体实例就相当于二维表中的一行 属性在二维表中用椭圆表示,属性就是描述实体特征的数据项 概念:键(也被成为候选键):1,属性集合K上的行唯一   ...

  8. 【转】MySQL数据库原理

    原文地址:http://www.cnblogs.com/qiuyi116/p/4349233.html 我们知道,数据是信息的载体——一种我们约定了如何解释的符号.在计算机系统中,最常见的应该是文本数 ...

  9. MySQL数据库原理

    我们知道,数据是信息的载体——一种我们约定了如何解释的符号.在计算机系统中,最常见的应该是文本数据.我们用它记录配置信息,写日志,等等.而在应用程序中,按一定的数据结构来组织数据的方式叫做数据库管理系 ...

随机推荐

  1. hdu4585 STL水题

    题意:       成立少林寺,刚开始有一个大师,id是1,攻击力是10E,现在陆续来人,每个人有自己的id,和自己的攻击力,但是每一个新来的要和之前的和尚pk,他必须选择和他攻击力差值最小的那个,如 ...

  2. 票据传递攻击(Pass the Ticket,PtT)

    目录 黄金票据 生成票据并导入 查看票据 验证是否成功 黄金票据和白银票据的不同 票据传递攻击(PtT)是一种使用Kerberos票据代替明文密码或NTLM哈希的方法.PtT最常见的用途可能是使用黄金 ...

  3. Java并发容器篇

    作者:汤圆 个人博客:javalover.cc 前言 断断续续一个多月,也写了十几篇原创文章,感觉真的很不一样: 不能说技术有很大的进步,但是想法确实跟以前有所不同: 还没开始的时候,想着要学的东西太 ...

  4. 认识WPF

    新开一节WPF桌面开发的讲解,这节先初步认识一下什么是WPF. 1.简介 WPF是 Windows Presentation Foundation 的英文缩写,意为"窗体呈现基础" ...

  5. VS2017报错 由#define后的分号引发的【“ 应输入“)】

    其实并不是第十行分号出现了问题,而是由于在宏定义后面加了分号,修改成这样即可 一开始竟然没看出来--甚至以为是VS中出现"宏可以转换为constexpr"问题--下次要仔细--

  6. 技能Get·Windows10将任何格式文件固定到开始屏幕

    阅文时长 | 0.6分钟 字数统计 | 960.8字符 主要内容 | 1.引言&背景 2.将文件加入到应用列表中 3.修改注册表法 4.声明与参考资料 『技能Get·Windows10将任何格 ...

  7. 【二】Kubernetes 集群部署-kubeadm方式(亲测)

    一.概述 本次部署 Kubernetes 集群是通过 kubeadm 工具来进行部署, kubeadm 是 Kubernetes 官⽅提供的⽤于快速部署 Kubernetes 集群的⼯具,利⽤其来部署 ...

  8. [bug] VMvare 虚拟机磁盘空间耗尽

    问题 VMvare虚拟机文件默认创建在C盘,装大程序的时,空间用尽就会报错,此时补救的办法是把虚拟机文件复制到空间足够的盘,再重新打开 最好一开始就选再有足够空间的盘里创建虚拟机 参考 https:/ ...

  9. [java] 转型

    A为父类,子类B.C 第20行发生向上转型,a对象调用C覆写过的print()方法 若为A a = new B(); 则调用B覆写过的print()方法 创建对象时使用向上转型,能够统一参数类型(23 ...

  10. Iperf3网络性能测试工具详解教程

    Iperf3网络性能测试工具详解教程 小M 2020年4月17日 运维 本文下载链接 [学习笔记]Iperf3网络性能测试工具.pdf 网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保 ...