第七章讲述一个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. 1.4.15- HTML标签之链接标签

    代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  2. 用laravel Maatwebsite\Excel 教你导出漂亮的Excel表单

    先来看效果图 还算是漂亮吧 哈哈哈. 第一步当然是安装包咯 环境要求 PHP: ^7.0Laravel: ^5.5 composer require maatwebsite/excel 目前3.1 只 ...

  3. hdu3018 一笔画问题

    题意:       给你一幅画,这幅画由点和边构成,问你最少几笔能把这幅画画完. 思路:      这个题目的结论比较巧妙,首先我们考虑下,如果给的图是欧拉图,或者是条欧拉回路,那么我们一笔就搞定了, ...

  4. PyCharm调试程序

    当我们在运行python程序出错时,我们需要定位到出错的位置.有时候通过程序运行时的报错可以很容易的找到出错的位置,但是有时候必须得通过调试程序才能找出我们的错误. PyCharm中要调试程序的话,在 ...

  5. Linux中su、sudo、sudo -i的用法和区别

    sudo :暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码.缺点是每次执行超级用户权限都要在命令前加上 sudo ,优点是在当前终端再使用 sud ...

  6. [CTF]栅栏密码

    [CTF]栅栏密码 ---------------------  作者:adversity`  来源:CSDN  原文:https://blog.csdn.net/qq_40836553/articl ...

  7. seccomp沙盒逃逸基础——沙盒的规则编写

    seccomp沙盒逃逸基础--沙盒的规则编写 引入: 安全计算模式 seccomp(Secure Computing Mode)是自 Linux 2.6.10 之后引入到 kernel 的特性.一切都 ...

  8. liunx中文件夹不能删除怎么操作

    1.运行rm -rf 文件名称 2.不能删除对应文件并且提示"rm: cannot remove './.user.ini': Operation not permitted" 操 ...

  9. 原生JS和jQuery创建元素的方法

    jQ创建元素的方法 1.原生代码 .creatElement('tr')` .innerHTML = '<h1>加油</h1>' document.write('<h1& ...

  10. [刷题] 454 4Sum II

    要求 给出四个整型数组ABCD,寻找有多少 i j k l 的组合,使得A[i]+B[j]+C[k]+D[l]=0 ABCD元素个数均为N,0<=N<=500 示例 输入: A = [ 1 ...