首页 / MYSQL / day4-mysql数据关系
day4-mysql数据关系
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了day4-mysql数据关系,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2138字,纯文字阅读大概需要4分钟。
内容图文
数据关系
数据关系也就是说一个表的某一列(多列)的值是外键,这样他们其中一个表依赖于另一个表,在有很多表中,这种依赖将错综复杂,形成了一个网。这个就是数据关系。通过这种关系来保存数据的数据库,我们叫它关系数据库。
假设我们要设计一个数据库表用来保存班级和学生要如何设计?
数据关系中的
一对一:比如一个学生对应一个学校的网站帐号,一个网站帐号也只能被一个学生使用。
一对多:比如一个班级对应多个学生,或者说多个学生属于同一个班级
多对多:比如学生和课程之间的关系,1个学生可以选择语文、数学、英语,同时语文又会被多个学生选择。
ER图
E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。它是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。用“矩形框”表示实体型,矩形框内写明实体名称;用“椭圆图框”表示实体的属性,并用“实心线段”将其与相应关系的“实体型”连接起来;用”菱形框“表示实体型之间的联系成因,在菱形框内写明联系名,并用”实心线段“分别与有关实体型连接起来,同时在”实心线段“旁标上联系的类型(1:1,1:n或m:n)。
数据库范式
范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。数据库范式分八种,通常用到的只有三种范式。
范式一(1NF):
强调的是列的原子性,即列不能够再分成其他几列。
例如:
考虑这样一个表:联系人(姓名,性别,电话)
如果在实际场景中,一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到 1NF。要符合 1NF 我们只需把列(电话)拆分,即:联系人(姓名,性别,家庭电话,公司电话)
范式二(2NF):
一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
例如:
因为我们知道在一个订单中可以订购多种产品,所以单单一个 OrderID 是不足以成为主键的,主键应该是(OrderID,ProductID)。显而易见 Discount(折扣),Quantity(数量)完全依赖(取决)于主键(OderID,ProductID),而 UnitPrice,ProductName 只依赖于 ProductID。所以 OrderDetail 表不符合 2NF。不符合 2NF 的设计容易产生冗余数据。
范式三(3NF):
非主键字段不能相互依赖。
例如:
订单表(订单号,订单日期,客户号,客户姓名,客户性别,客户年龄)
上述表就不满足第三范式,如要满足第三范式,必须新建一个客户表,然后订单表中只放客户编号。
作业
第一题: 根据以下ER图建立数据库表
第二题: 自己画一个购物网站的ER图,并设计表结构。
内容总结
以上是互联网集市为您收集整理的day4-mysql数据关系全部内容,希望文章能够帮你解决day4-mysql数据关系所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。