Python 学习笔记-第23讲:数据库三范式及高级查询语句

本文介绍了数据库的三范式以及ER图的概念,详细讲解了二分查找算法,并深入探讨了MySQL数据库的分组查询、多表连接、视图和索引的使用,包括内外连接、视图创建和索引优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 数据库三范式 (Normal Form)

第一范式(1NF):列的原子性,即列不能够再分成其他几列。

1NF的定义为:符合1NF的关系中的每个属性都不可再分。

第二范式(2NF):

一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。

第三范式(3NF):

首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。

https://blog.youkuaiyun.com/qingking520/article/details/52937728

https://www.zhihu.com/question/24696366

 

2. ER 图:实体关系图 (Entity Relationship Diagram)

是指提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。

ER图中包含了实体(即数据对象)、关系和属性等3种基本成分,通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,并用直线把实体(或关系)与其属性连接起来。

实体型(Entity):具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体;在E-R图中用矩形表示,矩形框内写明实体名;

属性(Attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;

联系(Relationship): 数据对象彼此之间相互连接的方式称为联系,也称为关系。联系可分为以下 3 种类型:

(1) 一对一联系 (1 ∶ 1)

(2) 一对多联系 (1 ∶ N)

(3) 多对多联系 (M ∶ N)

 

 

转换为等价的关系模式结构如下:

 

借书人(借书证号,姓名,单位)

 

图书(书号,书名,数量,位置,出版社名)

 

出版社(出版社名,电报编号,电话,邮编,地址)

 

借阅(借书证号,书号,借书日期,还书日期)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值