数据库原理 第七章 数据库设计和ER模型
第七章讲述一个E-R设计如何转换成一个关系模式的集合以及如何在该设计中找到某些约束。
1、概念设计定义了数据库中表示的实体、实体的属性、实体之间的联系,以及实体和联系上的约束
在设计一个数据库模型的时候,我们要确保避免:冗余(一个不好的设计可能会有重复的信息)和不完整(一个不好的设计可能会使得企事业机构的某些方面难于甚至无法建模)
2、实体-联系(即E-R图)需要:实体集、联系集和属性
实体(现实世界中有区别于所有其他对象的一个“事物”或“对象”)
实体集:相同类型即具有相同性质(或属性)的一个实体集合
属性:是实体集里面每个成员所拥有的描述性性质
联系是指多个实体间的相互关联
联系集:是相同类型联系的集合
参与联系集的实体集的数目称为度,如二元联系集的度为2
每个属性都有一个可取值的集合,称为该属性的域,或者值集。例如属性semester的域可能是{春、夏、秋、冬}中的字符串
属性可以分为:简单和复合属性、单值和多值属性(例如 ID 和 电话 )
派生属性,从别的相关属性或者实体派生出来的
3、约束
一对一、一对多、多对一、多对多
部分/全部 参与
4、关系模式中的超码、候选码、主码同样适用于实体集
5、E-R图可以图形化表示数据库的全局逻辑结构
6、E-R图包括几个主要构件:
分成两部分的矩形代表实体集,有阴影的第一部分包含实体集的名字、第二部分包含实体集中所有属性的名字
菱形代表联系集
未分割的矩形代表联系集的属性,构成主码的属性以下划线标明
线段将实体集连接到联系集
虚线将联系集属性联系到联系集
双线显示实体在联系集中的参与度
双菱形代表连接到弱实体集的标志性联系集
箭头 → :部分参与;双横线:完全参与
7、弱实体集:没有足够的属性以形成主码的实体集
有主码的实体集称为强实体集
数据库原理 第七章 数据库设计和ER模型的更多相关文章
- 数据库设计与 ER 模型 - 数据库系统原理
数据库系统生存周期 数据库应用系统的开发是一项软件工程,一般具有信息的采集.组织.加工.抽取.综合.传播等功能,但又有自己的特点,所以称为 数据库工程. 数据库应用系统从开始规划.设计.实现.维护到最 ...
- 数据库设计和ER模型-------之ER模型的基本概念(第二章)
ER模型(实体联系模型)的基本元素 实体:是一个数据对象,在ER模型中,实体用方框表示,方框内注明实体的名称 联系:表示一个或多个实体之间的关联关系,联系用菱形框表示,并用线段将其与相关的实体联系起来 ...
- 数据库设计和ER模型-------之关系模型的基本概念(第二章)
关系模型的基本术语 定义:用二维表格来表示实体集,用关键码表示实体之间联系的数据模型称为关系模型 有时也习惯称呼关系为表或表格,元组为行(Row),属性为列.关系中属性个数称为“元数”,元组个数称为“ ...
- MySQL数据分析-(5)数据库设计之ER模型
大家好,我是jacky,很高兴跟大家分享本课时的内容,从本节课开始,就开始了我们第二章的学习,第一章我们抛出了若干问题,从第二章开始往后,都是解决问题的一个过程: 第一章的案例中,我们拿手机销售公司举 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (39) ------ 第七章 使用对象服务之配置模型和使用单复数服务
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 7-3 配置模型 问题 你想了解配置模型中的各种选项. 解决方案 当你添加一个AD ...
- 数据库设计和ER模型-------之数据库系统生存期(第二章)
数据库设计 概念:开发人员利用开发环境表达用户要求.设计构造最优的数据模型,然后据此建立数据库以及其应用系统,这个过程称为数据库设计 数据库生存期 1968年首次提出“软件工程”的概念 概念:我们把数 ...
- 第六章 数据库设计之ER模型
在ER图中实体用方框表示 实体其实就相当于一个二维表,实体实例就相当于二维表中的一行 属性在二维表中用椭圆表示,属性就是描述实体特征的数据项 概念:键(也被成为候选键):1,属性集合K上的行唯一 ...
- 【转】MySQL数据库原理
原文地址:http://www.cnblogs.com/qiuyi116/p/4349233.html 我们知道,数据是信息的载体——一种我们约定了如何解释的符号.在计算机系统中,最常见的应该是文本数 ...
- MySQL数据库原理
我们知道,数据是信息的载体——一种我们约定了如何解释的符号.在计算机系统中,最常见的应该是文本数据.我们用它记录配置信息,写日志,等等.而在应用程序中,按一定的数据结构来组织数据的方式叫做数据库管理系 ...
随机推荐
- Day09_46_Set集合_SortedSet03
SortedSet03 让SortedSet集合完成比较,还有另外一种方法,那就是单独编写一个比较器. java.util.comparator 在TreeSet集合创建的时候可以在集合中传入一个比较 ...
- 【Spring】循环依赖
@ 目录 循环依赖 是什么? Spring是如何解决的? 源码分析 细节 循环依赖 是什么? 简单的来说就是对象a的属性中引用了对象b,对象b的属性中引用了对象c......最后引用到a. < ...
- forEach和map的用法和区别
forEach()和map()都是处理数组的高阶函数有相同的三个值:(currentValue,index,arr): currentValue:必选,当前元素的值,index:可选,当前元素的下标, ...
- B - 抽屉 POJ - 2356 (容斥原理)
The input contains N natural (i.e. positive integer) numbers ( N <= 10000 ). Each of that numbers ...
- POJ1548最小路径覆盖
题意: 给你一个DAG,然后问你最少多少条路径能覆盖所有需要覆盖的点. 思路: 最小路径覆盖,太明显了,每个点向它右下方的点连边,然后...没啥难的地方,不说了. #inclu ...
- 5.IA-32寄存器
寄存器(Register)是CPU内部用来存放数据的一些小型存储区域,它与RAM(Random Access Memory,随机存储器.内存)略有不同.CPU访问(Access)RAM中的数据时要经过 ...
- C++ primer plus读书笔记——第17章 输入、输出和文件
第17章 输入.输出和文件 1. 对键盘进行输入缓冲可以让用户在将输入传输给程序之前返回并更正.C++程序通常在用户按下回车键时刷新输入缓冲区. 2. 一些I/O类 streambuf类为缓冲区提供了 ...
- 新代(Syntec)机床的IP设置
一.前言 通过以太网来做机床联网数据采集时,第一步通常是设置机床的IP和找网口 二.机床IP如何设置? 步骤一.找到设置IP的界面 [维护]>[网络设定] 步骤二.设置IP 设定[IP地址取得方 ...
- Docker系列——Grafana+Prometheus+Node-exporter服务器监控平台(一)
在最近的博文中,都是介绍监控平台的搭建,其实并不难,主要是需要自己动手操作,实践一番就会了. 有天在想,云上的服务器,是不是也可以搭建一个监控平台,所以就捣鼓了一下,不过遗憾的是,使用阿里云开源的插件 ...
- JAVA基础——运算符号
运算符(java) 算数运算符:+,-,*,/,%(取余),++,-- 赋值运算符:= 关系运算符:<, >, >= ,<= ,== , != 逻辑运算符:&& ...