【数据库上】 第四讲 E-R模型基础知识
第四讲 E-R模型基础知识
一、数据库设计过程
数据库设计的关键阶段?
各个阶段设计的主要任务?
基础条件:清楚一个应用系统的功能需求与数据需求(直接与用户交互、数据流程图示例/UML类图等)
核心阶段:
- 数据库建模阶段(概念设计)
- 数据库逻辑结构设计阶段(逻辑设计)
- 数据库物理设计阶段(物理设计)
数据库设计的后期工作(数据库实现)
根据设计的逻辑模型和物理模型->实际的数据库结构
二、实体-联系模型(E-R模型)
E-R模型与E-R图有何区别?
E-R模型-是一种描述方法
E-R图-采用E-R模型方法,对一具体应用的描述(结果)
E-R模型有哪些基本要素?
E-R模型的三个最基本的要素:
实体集&属性(矩形)-描述数据对象及特征(内部结构);
联系集(菱形&连线)-描述数据对像间联系(外部结构)。
实体集也有超码,候选码,主码吗?
有,定义与作用都与关系模式类似!
实体集&联系集
分别指什么?
联系集上也可以有属性,表示何意?
可以带属性!表示联系的特征(与联系相关)
实体集和联系集的示例
*实体集与实体间的关系?
实体集:相关类型实体(对象)的集合
*联系集与联系间的关系?
联系集:相关类型联系(连线)的集合
联系集的类型与弱实体集
联系集采用双线表示何义?
弱实体集特点
1)没有键;
2)存在依赖于
主实体集;
3)键由主实体
集键和它的
分辨符合并
构成。
如何解释实体集自身的联系?
实体集到联系集采用双线表示何义?
联系集有哪几种常见类型(映射基数)?
四、复合属性与多元联系集
1、复合属性
E-R模型如何描述具有复杂结构的数据对象?
理论上讲:
E-R模型可描述任何复杂客观对象,实体集可以是任何一种复杂数据结构
因为:E-R模型重点是面向客观世界,建立易于用户理解的抽象数据模型
(它不关心数据如何才能够被实际存储)
2、多元联系与角色
什么是多元联系集和角色?
多元联系集描述可否转换为二元联系集描述?
多元联系的二元分解
(实体集间的关系):
对多元联系集R中的每个
实体(ai,bi,ci):
1. 创建实体集E中的一个
新实体ei=(ai , bi , ci)
2. 添加(ei,ai)到二元联系集RA
3. 添加(ei,bi)到二元联系集RB
4. 添加(ei,ci)到二元联系集RC
练习
设有商店和顾客两个实体,“商店”有属性:商店编号、商店名、地址、电话,“顾客”有属性:顾客编号、姓名、地址、年龄、性别。
假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。
图书借阅管理系统具有以下功能:
可随时查询书库中现有书籍的数量与存放位置。
所有各类书籍均可由书号唯一标识。
可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。
任何人可借多种书,任何一种书可为多个人所借;
借书证号具有唯一性。
可通过数据库中保存的出版社的Email、电话、邮编及地址等信息向相应出版社增购有关书籍。
一个出版社可出版多种书籍,同一本书仅为一个出版社出版;
出版社名具有唯一性。
请为该系统作概念模型设计,画出ER图.
人事管理系统
公司有多个部门,每个部门都有部长,副部长,职员
每一个职员都会有一个工作岗位
【数据库上】 第四讲 E-R模型基础知识的更多相关文章
- OSI七层模型基础知识及各层常见应用
OSI Open Source Initiative(简称OSI,有译作开放源代码促进会.开放原始码组织)是一个旨在推动开源软件发展的非盈利组织.OSI参考模型(OSI/RM)的全称是开放系统互 ...
- PHP基础入门(四)---PHP数组实用基础知识
PHP数组 数组是特殊的变量,它可以同时保存一个以上的值. ***关键词:数组基础.数组遍历.超全局数组.数组功能.数组函数. 下面来和大家分享一下有关PHP的数组基础知识,希望对你PHP的学习有所帮 ...
- Go语言核心36讲(Go语言基础知识四)--学习笔记
04 | 程序实体的那些事儿(上) 还记得吗?Go 语言中的程序实体包括变量.常量.函数.结构体和接口. Go 语言是静态类型的编程语言,所以我们在声明变量或常量的时候,都需要指定它们的类型,或者给予 ...
- Go语言核心36讲(Go语言基础知识五)--学习笔记
05 | 程序实体的那些事儿(中) 在前文中,我解释过代码块的含义.Go 语言的代码块是一层套一层的,就像大圆套小圆. 一个代码块可以有若干个子代码块:但对于每个代码块,最多只会有一个直接包含它的代码 ...
- JMM模型基础知识笔记
概述 内存模型可以理解为在特定的操作协议下,对特定的内存或者高速缓存进行读写访问的过程抽象,不同架构下的物理机拥有不一样的内存模型,Java虚拟机也有自己的内存模型,即Java内存模型(JavaMem ...
- 分布式数据库对比评测(Es,mongodb,redis)基础知识篇
前言 我建议大家看下这个,否则后面你不知道我在说什么. 1.ES数据库相关概念 啥是Es,说白了就是支持文档搜索的分布式数据库,专门方便搜索的,GITHUB京东现在都在用. 1.ES的数据库存放在哪里 ...
- 计算机网络(四)--全世界最好的TCP基础知识讲解
TCP传输的数据单元是报文段,报文段分为首部.数据两部分 TCP首部 首部的前20字节是固定长度,后面的4n字节根据需要增加的选项 字段解释:图中标示单位为bit,不是byte 1.源端口.目的端口: ...
- Go语言核心36讲(Go语言基础知识二)--学习笔记
02 | 命令源码文件 我们已经知道,环境变量 GOPATH 指向的是一个或多个工作区,每个工作区中都会有以代码包为基本组织形式的源码文件. 这里的源码文件又分为三种,即:命令源码文件.库源码文件和测 ...
- Go语言核心36讲(Go语言基础知识三)--学习笔记
03 | 库源码文件 在我的定义中,库源码文件是不能被直接运行的源码文件,它仅用于存放程序实体,这些程序实体可以被其他代码使用(只要遵从 Go 语言规范的话). 这里的"其他代码" ...
随机推荐
- Moonraker靶机
仅供个人娱乐 靶机搭建与下载 Monraker靶机ip: 192.168.181.135 kali攻击者ip : 192.168.181.128 说明:获取目标主机的root权限并读取目录中的flag ...
- CVPR2021 | Transformer用于End-to-End视频实例分割
论文:End-to-End Video Instance Segmentation with Transformers 获取:在CV技术指南后台回复关键字"0005"获取该论文 ...
- 背单词(AC自动机+线段树+dp+dfs序)
G. 背单词 内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 给定一张包含N个单词的表,每个单词有个价值W.要求从中选出一个子序列使 ...
- 实现自动切换主题的 VSCode 扩展
在白天,我常常需要浅色的 VSCode 主题:在夜间,我常常需要深色的 VSCode 主题.我不希望每天手动切换两次 VSCode 主题,所以我开发了这个可以自动切换主题的 VSCode 扩展 -- ...
- 2020年度钻石C++C学习笔记(2)--《博学谷》
2020年度钻石C++C--<博学谷> 1.以下标示符中命名合法的是A A.__A__ B.ab.c C.@rp D.2Y_ 2.设 a 和 b 均为 double 型变量,且a=5.5. ...
- 浙大二院姚克团队发现新的NLRP3炎症小体抑制剂,有望用于治疗炎症疾病
期刊:Clinical and Translational Medicine 发表时间:2021年7月19日 影响因子:11.492 角膜炎是一种眼科常见疾病,也是我国主要致盲眼病之一,其特征是炎性细 ...
- Docker入门第一章
Docker为什么出现? 一款产品:开发到上线 两套环境!应用环境,应用配置! 可能在开发环境你的产品是正常的,但是到了线上环境你的产品可能就会出现各种原因,或许是因为环境的不同,也可能是因为配置的不 ...
- Java课程设计 ssm电影售票选座管理系统 电影网站的网页设计与制作mysql
注意:此项目只截图部分功能,可评论区咨询查看项目全部功能演示 1.开发环境 开发语言:Java 后台框架:SSM(Spring+SpringMVC+Mybatis) 前端技术:HTML+CSS+Jav ...
- Java Swing 空布局
Swing 空布局 试了盒布局,说实话不太会用,很多地方都没法更加的细节,又翻了翻资料,知道了还有一个空布局,一看,真不错,很适合我这种菜鸡 用坐标就可以完成界面的布局,不错 话不多说,直接代码 pa ...
- 【笔记】多项式回归的思想以及在sklearn中使用多项式回归和pipeline
多项式回归以及在sklearn中使用多项式回归和pipeline 多项式回归 线性回归法有一个很大的局限性,就是假设数据背后是存在线性关系的,但是实际上,具有线性关系的数据集是相对来说比较少的,更多时 ...