数据库设计之ER图三范式

三范式

范式:设计数据库表时所依据的规范第一范式:一张表内字段不重复出现 如课程数学 课程英语。又比如联系方式中既有邮箱又有电话。

在这里插入图片描述

第二范式:建立在第一范式基础上 要求非主键字段完全依赖主键,不能产生部分依赖。尽量不使用联合主键。

在这里插入图片描述

解决方式:一共建立三个表。建一个学生表字段为学生编号和姓名 一个教师表字段为教师编号和姓名。 再建一个关系表 ,把学生编号(外键 来自学生表)和教师编号(外键 来自教师表)做联合主键, 这就是一个典型的多对多的设计。第三范式:在满足第二范式基础上,非主键字段不能依赖与主键字段(不要产生传递依赖)。
在这里插入图片描述

该表已经满足第二范式 但是非主键字段班级名称依赖班级编号 仍然存在数据冗余

解决方式:一对多,在多的一方表中添加指向一的一方的主键字段的外键。分两张表存储。

在这里插入图片描述

在这里插入图片描述

一对一有两种方案:1.分两张表储存 共享主键在数据库建表的时候可以将人表的主键放置与身份证表里面,也可以将身份证表的主键放置于人表里面

在这里插入图片描述
2.分两张表储存 外键唯一
在这里插入图片描述
设计时尽量遵循三范式,但是还是要看具体需求。ER图
学习数据库已经一段时间了,这是我做音乐管理商城时候碰到的一些比较有用的知识点,记下来方便复习使用或者别人查看使用。

ER图

首先要了解ER图的核心要素:实体,属性,关系;实体就是一个个对象,比如猫;属性就是实体所有的某个属性,比如猫的性别;关系就是实体和实体之间或者实体内部之间的关系。其次我们要了解ER图中怎么表示1中描述的三个核心要素:在ER图中,矩形代表实体,椭圆代表属性,菱形代表关系,各个形状之间用线段连接。画图不是难点,难的是理清楚之间的关系,把要实现的功能都想好。实体变成表,实例变成行,属性变成列,唯一标识变成主键,关系变成外键列和外键约束条件。
在这里插入图片描述

登录注册

两者原理相同,在view层创建control对象,把view数据传给control,在control层创建model对象,把control数据给model,对model层进行sql语句,对所传数据进行判断,如果正确进行接下来的操作,如果错误则出现提示框。
在这里插入图片描述

对不起,我无法提供具体的ER图案例,因为我无法访问互联网或存储外部信息。但是,我可以为您提供一些关于数据库设计的一般指导原则和步骤。 数据库设计的目标是创建一个能够有效地存储和管理数据的结构。以下是一个简单的数据库设计过程示例: 1. 确定需求:与利益相关者一起明确业务需求和目标。了解数据将如何被使用和访问,以及需要存储哪些类型的数据。 2. 收集数据:收集并分析与业务相关的数据。这可能包括文档、表格、报告等。 3. 识别实体:从收集到的数据中识别实体(例如人、地点、产品等)。这些实体将成为数据库中的表。 4. 确定属性:确定每个实体所具有的属性(例如人的姓名、年龄、地址等)。这些属性将成为表中的列。 5. 确定关系:确定实体之间的关系。例如,一个订单可以与一个客户关联,一个客户可以有多个订单。这些关系将成为表之间的连接。 6. 设计规范化模式:根据数据库范式规则,将表分解为更小的、相关的实体和属性。这有助于减少数据冗余和提高数据一致性。 7. 创建ER图:使用实体、属性和关系的信息创建ER图ER图是一种可视化表示数据库结构的工具,它显示了实体、属性和关系之间的关系。 8. 确定主键和外键:为每个表确定主键(用于唯一标识每个记录)和外键(用于建立表之间的关联)。 9. 创建数据库架构:根据ER图创建数据库的物理架构。选择合适的数据库管理系统,并创建表、索引和其他必要的结构。 10. 测试和优化:插入一些测试数据并进行测试,确保数据库能够正确地存储和检索数据。根据性能需求对数据库进行优化。 请注意,这只是一个简单的数据库设计过程示例。实际的数据库设计可能更加复杂,并可能涉及其他因素,如安全性、性能优化等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值