数据库—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,很高兴跟大家分享本课时的内容,从本节课开始,就开始了我们第二章的学习,第一章我们抛出了若干问题,从第二章开始往后,都是解决问题的一个过程: 第一章的案例中,我们拿手机销售公司举 ...
随机推荐
- #威佐夫博弈#洛谷 2252 [SHOI2002]取石子游戏
题目 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子. 游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子: 二是可以在两堆中同时取走相同数量的石子.最后把石子全部取完 ...
- [一本通1681]统计方案 题解(Meet in mid与逆元的结合)
题目描述 小\(B\)写了一个程序,随机生成了\(n\)个正整数,分别是\(a[1]-a[n]\),他取出了其中一些数,并把它们乘起来之后模\(p\),得到了余数\(c\).但是没过多久,小\(B\) ...
- 了解 Spring MVC 架构、Dispatcher Servlet 和 JSP 文件的关键作用
Spring MVC 是 Spring 框架的一部分,是一个 Web 应用程序框架.它旨在使用 Model-View-Controller(MVC) 设计模式轻松构建Web应用程序. Spring M ...
- 将py文件编译成pyc
核心代码 import compileall compileall.compile_file("a.py", legacy=True, force=True) 演示步骤 1.新建 ...
- HarmonyOS应用开发Web组件基本属性应用和事件
一.Web组件概述 Web组件用于在应用程序中显示Web页面内容,为开发者提供页面加载.页面交互.页面调试等能力. ● 页面加载:Web组件提供基础的前端页面加载的能力,包括加载网络页面.本地页面 ...
- HarmonyOS 极客马拉松2023 正式启动,诚邀极客们用键盘码出无限可能!
原文:https://mp.weixin.qq.com/s/p2yIs0rMmDE2BwhzsAtr7A,点击链接查看更多技术内容. 2023年6月15日, HarmonyOS极客马拉松2023开 ...
- 全面支持JS/eTS应用开发,DevEco Studio 3.0 Beta4新版本发布
原文:https://mp.weixin.qq.com/s/j5Cl48ZxzEmnnpfoM0pKJg ,点击链接查看更多技术内容. HUAWEI DevEco Studio(后文简称DevEco ...
- 深度优先搜索-overview
深度优先搜索的实现一般有2种方式 递归 //todo 非递归-借助stack 因为栈后进先出的特点,使其很容易实现树/图的深度优先遍历.如果是BFS,那非递归经常借助queue. 整个过程可以被描述为 ...
- Tailwind CSS 使用指南
0x01 概述 (1)简介 Tailwind CSS 官网:https://www.tailwindcss.cn/ Tailwind CSS 是一个 CSS 框架,使用初级"工具" ...
- 微信小程序三种授权登录的方式
经过一段时间对微信小程序的研发后 总结出以下三种授权登录的方式,我给他们命名为'一次性授权''永久授权''不授权' 1.一次性授权常规写法,需要获取用户公开信息(头像,昵称等)时,判断调取授权登录接口 ...