关系模型:
所有的关系型的数据库都是基于关系模型:
是由行和列组成的一种二维表格。
元组:代表关系模型中的一行数据。
属性:二维表格中的每一个列就叫做一个属性,会给每一列属性起一个名称,叫做属性名。
域:关系模型中每一个属性的取值范围就叫做属性域。
关系模型特点:
1.原子性:关系模型中的属性具有原子性,不能再拆分。
2.关系模型中要求不能有重复的元组,也就是不能有重复的行。
3.理论上关系模型中的元组是没有行序,但是在实际使用的过程中可以指定行序。
关键码:
超键:
候选键:
主键:
外键:
id name age sex pwd
1 小明 18 男 123456
2 小白 19 女 123456
三范式:
第一范式:关系模型中的每一个属性不能再分,如果属性可以再分就代表违反了第一范式
第二范式:关系模型中的每一个属性都必须要直接依赖主键,不能有传递依赖。
第三范式:将不直接依赖的属性重新创建一张表,通过外键和当前表进行关联
id name age sex address
1 小明 18 男 广东省深圳市龙岗区
2 小白 19 女 广东省深圳市龙岗区
id name age sex 地址编号 pro city qu
1 小明 18 男 01 广东省 深圳市 龙岗区
2 小白 19 女 01 广东省 深圳市 龙岗区
id name age sex
1 小明 18 男
2 小白 19 女
地址编号 pro city qu pid
01 广东省 深圳市 龙岗区 1
02 广东省 深圳市 福田区 1
关系模型设计:
逻辑模型设计图形:E-R图。
三要素:
实体:实际生活中客观存在的一些事物,例如:学生,老师,等等
实体使用矩形表示。
属性:属性就是实体的特征。
属性主要使用椭圆表示
联系:代表实体和实体之间的关系,联系使用菱形表示。
一对一:
实体集A中的每一个实体在实体集B中只有唯一的一个实体与之对应,反之亦然。
例如:人和身份证的关系
设计表的时候:1.方式一:在两张表中互存外键
person card
pid PK cid PK
name cardno
cid FK pid FK
2.方式二:两张表共用一个主键,pid和cid要保持一致
person card
pid PK cid PK
name cardno
一对多|多对一:
实体集A中每一个实体在实体集B中有多个实体与之对应,实体集B中的每一个实体
在实体集A中只有一个与之对应。
例如;菜系和菜品
设计表规则:在多的一方保存一的一方的主键作为外键
人员表(一方)
id name age sex
1 小明 18 男
2 小白 19 女
地址表(多方)
地址编号 pro city qu pid
01 广东省 深圳市 龙岗区 1
02 广东省 深圳市 福田区 1
多对多:
实体集A中的每一个实体在实体集B中有多个实体与之对应,反之亦然。
例如:学生和课程。
表设计规则:需要创建一张中间表来关联两个实体,中间表中保存两个实体的主键,中间表的主键是由两个实体的主键组成的一个复合主键。
student: score(中间表) course:
sid sid cid
name cid name
score
逻辑模型:主要就是在设计阶段绘制E-R图来进行设置,代表的是一种逻辑关系。
物理模型:代表具体创建出来的数据库表,是将逻辑模型要转换成物理模型,然后进行建表。
原文地址:http://www.cnblogs.com/sefan/p/16813235.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性