数据库设计之从0到1 教你如何设计E-R图
数据库 如何 设计
2023-09-11 14:20:21 时间
上一年写过一篇数据库如何设计,当时也只是停留在概念的理解方面,今天有一次加深了对数据库设计的理解
关于如何设计数据库,
可以戳这个链接数据库设计的六个步骤
接下来从实例来理解数据库的设计
一,首先了解三个元素
二,实例分析
下面对
- 1:1
- 1:n
- m:n
三者做出具体分析
A、一个1:1关系可以与任意一端所对应的关系模式合并也可以转换为一个独立的关系模式。
因为自身作为班长,那么我就从班长 管理班级的角度去分析1:1的关系
原实体对应关系模式分别为:
班级(班号,专业,人数)
班长(学号,姓名,专长)
- 将关系“管理”合并到实体“班级”对应的模式后为:
班级(班号,专业,人数,班长学号)
班长(学号,姓名,专长) - 关系“管理”也可以合并到实体“班长”对应的模式,将关系“管理”合并到实体“班级”对应的模式后为:
班级(班号,专业,人数)
班长(学号,姓名,专长,班号)
B、一个1:n关系可以与n端所对应的关系模式合并也可以转换为一个独立的关系模式。
因为在我们是学校是按照学院,系别的层次,而我在这儿解释的时候就不加系别了,因为我们平时也很少区分,所以就按照院长管理教师的角度去分析1:n的关系。
实体对应的关系模式
系(院号,院主任,电话,院名)
教师(教师号,姓名,专业,职称,性别,年龄)
关系对应的关系模式
管理(教师号,系号)
合并到实体“教师”后(只能合并到“多”的一端的关系模型):
教师(教师号,姓名,专业,职称,性别,年龄,院号)
C、一个m:n关系转换为一个关系模式。转换的方法为:与该关系相连的各实体的码以及关系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合。
学生选修课程一直一来是一个m:n 的经典问题,所以我们也拿来分析一下。 在这里,关系只能转换为独立模式
课程(课程号,课程名,学时,类别) 实体表
学生(学号,姓名,性别,专业,出生日期,照片) 实体表
选修(学号,课程号,分数) 关系表
D、三个或三个以上实体间的多元关系转换为一个关系模式
“讲授”关系是一个三元关系,可以转换为如下关系模式,其中课程号、职工号和书号为关系的组合码:
讲授(课程号,职工号,书号)
到这儿,相信大家应该对如何设计数据库的逻辑结构已经有了一个简单理解。
下面是一个简单的复习。以供大家参考。
相关文章
- JavaWeb-SpringBoot_使用MySQL数据库实现用户管理_demo
- 数据库中间件mycat简单入门
- C#基础视频教程6.3 如何简单读写数据库
- 如何转换SQL Server 2008数据库到SQL Server 2005
- 论IP地址在数据库中应该用何种形式存储
- python如何连接mysql数据库
- Serverless 解惑——函数计算如何访问 PostgreSQL 数据库
- Serverless 解惑——函数计算如何访问 MySQL 数据库
- 如何删除过期的数据库备份文件呢? .
- SSDB 数据库如何换用 rocksdb 引擎?
- [Nhibernate]sqlite数据库基本使用
- Windows DOS窗体下Oracle 数据库的导入导出命令
- mongo数据库查询结果不包括_id字段方法
- 如何使用IDEA数据库工具连接TDengine?
- 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (上)
- 授人以渔-在 SAP MM 物料显示界面上看到一个字段,如何查找哪张数据库表的哪个字段进行的存储的试读版
- 如何查找BAPI SD_SALESDOCUMENT_CHANGE里字段对应的数据库存储表
- Atitit 数据库view视图使用推荐规范与最佳实践与方法
- 如何将 winston log 库记录的日志写入 mongo DB 数据库
- 如何对数据库进行管理
- 如何将本地数据库迁移到数据库上?
- 怎么恢复MySQL数据库
- 〖Python 数据库开发实战 - MySQL篇⑨〗- 什么是 SQL 语言、如何创建数据逻辑库及如何创建数据表
- 如何化解35岁危机?华为云数据库首席架构师20年技术经验分享
- MySQL 数据库救火:磁盘爆满了,怎么办?
- 实践录丨如何在鲲鹏服务器OpenEuler操作系统中快速部署OpenGauss数据库
- 【成为架构师课程系列】NoSQL:在高并发场景下,数据库和NoSQL如何做到互补?
- vs2013 ADO联系SQL server2012数据库
- 数据机构与算法_21 _ 哈希算法(上):如何防止数据库中的用户信息被脱库
- LUMEN框架多数据库连接配置方法
- SQL Sever — 附加【如何导入外部文件数据库】
- Qt数据库应用22-文件编码格式识别