第四讲 E-R模型基础知识

一、数据库设计过程

数据库设计的关键阶段?
各个阶段设计的主要任务?

基础条件:清楚一个应用系统的功能需求与数据需求(直接与用户交互、数据流程图示例/UML类图等)

核心阶段:

  1. 数据库建模阶段(概念设计)
  2. 数据库逻辑结构设计阶段(逻辑设计)
  3. 数据库物理设计阶段(物理设计)

数据库设计的后期工作(数据库实现)

​ 根据设计的逻辑模型和物理模型->实际的数据库结构

二、实体-联系模型(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模型基础知识的更多相关文章

  1. OSI七层模型基础知识及各层常见应用

       OSI Open Source Initiative(简称OSI,有译作开放源代码促进会.开放原始码组织)是一个旨在推动开源软件发展的非盈利组织.OSI参考模型(OSI/RM)的全称是开放系统互 ...

  2. PHP基础入门(四)---PHP数组实用基础知识

    PHP数组 数组是特殊的变量,它可以同时保存一个以上的值. ***关键词:数组基础.数组遍历.超全局数组.数组功能.数组函数. 下面来和大家分享一下有关PHP的数组基础知识,希望对你PHP的学习有所帮 ...

  3. Go语言核心36讲(Go语言基础知识四)--学习笔记

    04 | 程序实体的那些事儿(上) 还记得吗?Go 语言中的程序实体包括变量.常量.函数.结构体和接口. Go 语言是静态类型的编程语言,所以我们在声明变量或常量的时候,都需要指定它们的类型,或者给予 ...

  4. Go语言核心36讲(Go语言基础知识五)--学习笔记

    05 | 程序实体的那些事儿(中) 在前文中,我解释过代码块的含义.Go 语言的代码块是一层套一层的,就像大圆套小圆. 一个代码块可以有若干个子代码块:但对于每个代码块,最多只会有一个直接包含它的代码 ...

  5. JMM模型基础知识笔记

    概述 内存模型可以理解为在特定的操作协议下,对特定的内存或者高速缓存进行读写访问的过程抽象,不同架构下的物理机拥有不一样的内存模型,Java虚拟机也有自己的内存模型,即Java内存模型(JavaMem ...

  6. 分布式数据库对比评测(Es,mongodb,redis)基础知识篇

    前言 我建议大家看下这个,否则后面你不知道我在说什么. 1.ES数据库相关概念 啥是Es,说白了就是支持文档搜索的分布式数据库,专门方便搜索的,GITHUB京东现在都在用. 1.ES的数据库存放在哪里 ...

  7. 计算机网络(四)--全世界最好的TCP基础知识讲解

    TCP传输的数据单元是报文段,报文段分为首部.数据两部分 TCP首部 首部的前20字节是固定长度,后面的4n字节根据需要增加的选项 字段解释:图中标示单位为bit,不是byte 1.源端口.目的端口: ...

  8. Go语言核心36讲(Go语言基础知识二)--学习笔记

    02 | 命令源码文件 我们已经知道,环境变量 GOPATH 指向的是一个或多个工作区,每个工作区中都会有以代码包为基本组织形式的源码文件. 这里的源码文件又分为三种,即:命令源码文件.库源码文件和测 ...

  9. Go语言核心36讲(Go语言基础知识三)--学习笔记

    03 | 库源码文件 在我的定义中,库源码文件是不能被直接运行的源码文件,它仅用于存放程序实体,这些程序实体可以被其他代码使用(只要遵从 Go 语言规范的话). 这里的"其他代码" ...

随机推荐

  1. Java面向对象11——多态

    多态  package oop.demon01.demon06; ​ public class Application {     public static void main(String[] a ...

  2. Apache解析漏洞

    多解析特性 在Apache1.x,2.x中Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断.因此对于apache而言,一个test.php.qwea文件依 ...

  3. Linux命令(四)之常用文件拷贝/移动,文件解压缩,文件查找等相关的操作

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  4. Distribute SSH Pubkey to Multiple Hosts with Fabric

    Generate ssh keys on source host with ssh-keygen; Disable known_hosts prompt(optional): add "St ...

  5. golang web框架 kratos中的日志框架

    kratos是bilibili开源的一个web框架. 日志用法: logger.go package kratoslog import ( "flag" "github. ...

  6. 轻松上手SpringBoot+SpringSecurity+JWT实RESTfulAPI权限控制实战

    前言 我们知道在项目开发中,后台开发权限认证是非常重要的,springboot 中常用熟悉的权限认证框架有,shiro,还有就是springboot 全家桶的 security当然他们各有各的好处,但 ...

  7. DVWA靶场之SQL Injection通关

    SQL注入,一个大概的手工流程: 判断是否有注入,什么类型 破解SQL语句中查询的字段数是多少 确定回显位置 破库 破表 破字段 获得内容 Low: <?php if( isset( $_REQ ...

  8. 一文学会在Markdown中编辑数学符号与公式

    在用Markdown写博客时会涉及到数学符号与公式的编辑,下面进行汇总.随手记录,方便你我他. 行内公式:将公式插入到本行内 $0.98^{365} \approx 0.0006$ 我的365天:\( ...

  9. Linux 进程间传递文件描述符

    文章目录 文件描述符 文件数据结构 共享文件 UNIX域socket实现传递文件描述符 进程间传递打开的文件描述符,并不是传递文件描述符的值.先说一下文件描述符. 文件描述符 对内核来说,所有打开的文 ...

  10. 保护亿万数据安全,Spring有“声明式事务”绝招

    摘要:点外卖时,你只需考虑如何拼单:选择出行时,你只用想好目的地:手机支付时,你只需要保证余额充足.但你不知道这些智能的背后,是数以亿计的强大数据的支持,这就是数据库的力量.那么庞大数据的背后一定会牵 ...