数据库—ER模型概念设计
文章目录
ER模型的概念
实体
画图时用方形表示属性
用椭圆形表示关系
用菱形表示主键(主码)
在主属性下面画划线外键(外码)
这里一般是用于一对多或者一对一有关系的时候将某个主属性作为另一方的外键时候要用到,这里是在外键属性下波浪线表示外键(外码)
如何画ER图
画ER图的总结反思:
- 实体之间基本都是用关系(菱形) 关联起来
- 关系之间标上对应数量 1:1 / 1:n / n:m
- 实体还可以与自身创建关系(比如:职工与领导,领导本身也是职工的一员,这时候就可以开一个关系叫做“带领”/“领导”之类的动词作为关系 ,然后与自身连起来)
- 在画关系的时候,有时候一个关系也要唯一标识的时候就需要加上某些属性,比如说借书这个关系,借书需要有借书时间,借书人ID等等,这就是权衡利弊的时候了,设也是我认为设计数据库的魅力之一。
ER图转换为关系数据库
- 将实体转化为一个关系数据表即可(考虑主键的设计)
- 1:1关系
当出现1:1的二者实体的关系的时候,很简单,只需要将一方的主键添加到另一方中作为外键属性
举例子:一对一,一个院对应一个院长,要么将院长(ID)主键加入到系的表中作为外键或者将院的ID加入到院长的属性中作为外键,这里可能会很容易想到将院ID加入院长中不切实际,因为其他教师也要加入用来分辨该老师属于哪一个院的,所以这也是数据库设计的一大魅力,这里的需求肯定是第一种方式解决最好。 - 1:n关系
1:n需要将1的一方的主键添加到n一方实体的属性中作为外键。
举例子:一个院对应多名老师,这时候本该的操作肯定是将院的ID加入到多名老师中,假设我们不这么做会发生什么?假设不这么做,而是将多名老师的ID加入到院中,正常人一想到这肯定就知道了这数据冗余是有多大,而且我们要查某个老师是哪一个院的时候我们还要去院表中查,这既不方便又充斥着无用数据在院表中,因为不止一个院不止一个老师。还方便查找等等。 - n:m关系
出现这个多对多的关系之后就要求把这个关系也设计出来一个单独的关系(表),我认为比较暴力有用的方法就是将这个关系连接的两者的主键取出来作为该关系的联合主键,然后这关系该有的属性也一并添加进去即可。
举例子:书籍与借书人的关系,我们不能把书籍信息放进借书人表中,因为不止借一本,借书人表信息一般只对应一个与元组,因为有他自己注册的ID账号嘛,做过数据库的都知道不可能多个主键存储,反过来对于书籍也是一样,不可能为了你这个借书人特地为这个书籍存储的信息记录借书人的信息,更不要说一本书以后会有多个人借阅了,这时候就需要另外创建一个表,用来记录二者的关系,查找的时候也方便,将二者的主键添加到ER关系的关系表中,然后也方便查找,正产人思维去到前台不都是报自己的账户然后书名查看自己到底有没有借还某本书,或者一查账户就知道借还了什么书。(同理还有学生与课程之间有一个选课关系也要单独提取出来为一个表,因为是多对多的关系,一个学生不可能只学习一门课程,一门课程也不可能只为一个学生开设。) - 用鲁琴老师的课件例题作为参考复习

数据库—ER模型概念设计的更多相关文章
- 数据库 E-R模型
数据库 E-R模型被定义被两种模型 "实体模型" AND "关系模型" 1.1 实体模型 如图:这是一个"项目表" Project ...
- 17数据表&E-R模型&概念数据模型上-选学天轰穿大话数据库视频教程
大纲:解剖“数据表”,戏说E-R模型,概念数据模型(E-R 到 CDM),使用PowerDesigner创建概念模型,生成逻辑数据模型 土豆超清地址: 腾讯超清地址: 百度云盘下载地址:上传ing,稍 ...
- 数据库E-R模型,数据字典
概述:实体-联系模型(简称E-R模型) 模型结构: E-R模型的构成成分是实体集.属性和联系集,其表示方法如下: (1) 实体集用矩形框表示,矩形框内写上实体名. (2) 实体的属性用椭圆框表示,框内 ...
- 18数据表&E-R模型&概念数据模型-下(选学)-天轰穿大话数据库视频教程
关键字:数据表 三大范式 外键 主键 数据表设计 天轰穿 sqlserver 数据库大纲:属性与主键,外键&联系,三大范式,设计表时应该考虑的因素 土豆超清地址: 优酷超清地址: 原文地址:h ...
- 数据库设计与 ER 模型 - 数据库系统原理
数据库系统生存周期 数据库应用系统的开发是一项软件工程,一般具有信息的采集.组织.加工.抽取.综合.传播等功能,但又有自己的特点,所以称为 数据库工程. 数据库应用系统从开始规划.设计.实现.维护到最 ...
- 数据库设计和ER模型-------之ER模型的基本概念(第二章)
ER模型(实体联系模型)的基本元素 实体:是一个数据对象,在ER模型中,实体用方框表示,方框内注明实体的名称 联系:表示一个或多个实体之间的关联关系,联系用菱形框表示,并用线段将其与相关的实体联系起来 ...
- 数据库设计和ER模型-------之关系模型的基本概念(第二章)
关系模型的基本术语 定义:用二维表格来表示实体集,用关键码表示实体之间联系的数据模型称为关系模型 有时也习惯称呼关系为表或表格,元组为行(Row),属性为列.关系中属性个数称为“元数”,元组个数称为“ ...
- 基于E-R模型的关系型数据库设计方法
摘要 在管理信息系统开发中,数据库设计的目标是建立DBMS能识别的关系数据模型.而关系数据模型建立的基础是首先建立E-R模型,通过E-R模型才能转换为关系数据模型.如何建立E-R模型以及如何将E-R模 ...
- 数据库设计和ER模型-------之数据库系统生存期(第二章)
数据库设计 概念:开发人员利用开发环境表达用户要求.设计构造最优的数据模型,然后据此建立数据库以及其应用系统,这个过程称为数据库设计 数据库生存期 1968年首次提出“软件工程”的概念 概念:我们把数 ...
- MySQL数据分析-(5)数据库设计之ER模型
大家好,我是jacky,很高兴跟大家分享本课时的内容,从本节课开始,就开始了我们第二章的学习,第一章我们抛出了若干问题,从第二章开始往后,都是解决问题的一个过程: 第一章的案例中,我们拿手机销售公司举 ...
随机推荐
- HDC2021技术分论坛:还有人不知道鸿蒙智联设备认证咋搞?
作者:maxiansheng,华为鸿蒙智联认证测试专家 2021年5月18日,华为正式宣布原Work With HUAWEI HiLink和Powered by HarmonyOS品牌升级为Harmo ...
- WPS HW 漏洞 学习
复现过程 2023 年 HW 出现 WPS 0day POC 影响版本: WPS Office 2023个人版<11.1.0.15120 WPS Office 2019企业版<11.8.2 ...
- CentOS 6.5快速部署HTTP WEB服务器和FTP服务器
CentOS 6.5快速部署HTTP WEB服务器和FTP服务器 时间:2014-03-29 来源:服务器之家 投稿:root 点击:210次 [题记]本文使用CentOS 6.5m ...
- mmdetection训练voc数据集
首先需要准备好数据集,这里有xml标签数据转voc数据集格式的说明以及免费分享的数据集:xml转voc数据集 - 一届书生 - 博客园 (cnblogs.com) 1. 准备工作目录 我们的工作目录, ...
- 基于locust全链路压测系统
2021年中旬就计划着搭建一套压测系统,大约9月份已经搭建完成,使用至今还是比较稳定了,分享一下搭建思路及过程: 为什么选择Locust呢,因为Locust可以仅需要执行命令就可以完成压测任务,并且集 ...
- 力扣704(java&python)-二分查找(简单)
题目: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1. 示例 1: 输入: ...
- OceanBase初体验之Docker快速部署试用环境
前置条件 准备好一台安装了 Docker 的 Linux 服务器,确保能够连接到 Docker Hub 仓库. 执行以下命令拉取最新的 OceanBase 镜像: docker pull oceanb ...
- 科普达人丨一图看懂块存储&云盘
简介: 建议收藏 原文链接:https://click.aliyun.com/m/1000363155/ 本文为阿里云原创内容,未经允许不得转载.
- 为 Serverless Devs 插上 Terraform 的翅膀,实现企业级多环境部署(下)
简介: 在上篇中,主要介绍了 Serverless Devs 多环境功能的使用,用户读完可能会些疑问,本文会就一些常见问题进行下回答. 在上篇中,主要介绍了 Serverless Devs 多环境功能 ...
- 【产品动态】解读Dataphin流批一体的实时研发
简介: Dataphin作为一款企业级智能数据构建与管理产品,具备全链路实时研发能力,从2019年开始就支撑可集团天猫双11的实时计算需求,文章将详细介绍Dataphin实时计算的能力. 背景 每当 ...