MyS的QL数据库基础之设计教程.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MyS的QL数据库基础之设计教程

student(student_no,student_name,student_contact) course(course_no,course_name,up_limit,description,status) teacher(teacher_no,teacher_name,teacher_contact) classes(class_no,class_name,department_name) 为每张表定义一个主键 外键(Foreign Key):如果表A中的一个字段a对应于表B的主键b,则字段a称为表A的外键,此时存储在表A中字段a的值,要么是NULL,要么是来自于表B主键b的值。 增加外键表示一对多关系 情形一:如果实体间的关系为一对多关系,则需要将“一”端实体的主键放到“多”端实体中,然后作为“多”端实体的外键,通过该外键即可表示实体间的一对多关系。 增加外键表示一对多关系 让学生记住所在班级,远比班级“记住”所有学生容易的多 。 增加外键表示一对多关系 情形二:实体间的一对一关系,可以看成一种特殊的一对多关系:将“一”端实体的主键放到另“一”端的实体中,并作为另“一”端的实体的外键,然后将外键定义为唯一性约束(Unique Constraint)。 增加外键表示一对多关系 PK 增加外键表示一对多关系 PK后的方案:student(student_no,student_name, student_contact,class_no) course(course_no,course_name,up_limit, description,status,teacher_no) teacher(teacher_no,teacher_name,teacher_contact) classes(class_no,class_name,department_name) 增加外键表示一对多关系 情形三:如果两个实体间的关系为多对多关系,则需要添加新表表示该多对多关系,然后将该关系涉及到的实体的“主键”分别放入到新表中(作为新表的外键),并将关系自身的属性放入到新表中作为新表的字段。 建立新表表示多对多关系 teacher(teacher_no,teacher_name, teacher_contact) classes(class_no,class_name,department_name) course(course_no,course_name,up_limit, description,status,teacher_no) student(student_no,student_name, student_contact,class_no) choose(choose_no,student_no,course_no,score,choose_time) 建立新表表示多对多关系 建立新表表示多对多关系 为字段选择合适的数据类型 为字段选择合适的数据类型 手机号什么数据类型? 学号2012001用什么数据类型? 2016-11-08用什么数据类型? 常用的约束条件有6种: 主键(Primary Key)约束 外键(Foreign Key)约束 唯一性(Unique)约束 默认值(Default)约束 非空(Not NULL)约束 检查(Check)约束。 定义约束(Constraint)条件 设计数据库时,有两个不争的事实。 ? 数据库中冗余的数据需要额外的维护,因此质量好的一套表应该尽量“减少冗余数据”。 ? 数据库中经常发生变化的数据需要额外的维护,因此质量好的一套表应该尽量“避免数据经常发生变化”。 评价数据库表设计的质量 冗余的数据需要额外的维护,并且容易导致“数据不一致”、“插入异常”以及“删除异常”等问题的发生。 使用规范化减少数据冗余 场景一:插入异常。 场景二:修改复杂。 场景三:删除异常。 使用规范化减少数据冗余 规范化是通过最小化数据冗余来提升数据库设计质量的过程,规范化是基于函数依赖以及一系列范式定义的,最为常用的是第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。 第一范式:如果一张表内同类字段不重复出现,该表就满足第一范式的要求。 第二范式:一张表在满足第一范式的基础上,如果每个“非关键字”字段“仅仅”函数依赖于主键,那么该表满足第二范式的要求。 第三范式:如果一张表满足第二范式的要求,并且不存在“非关键字”字段函数依赖于任何其他“非关键字”字段,那么该表满足第三范式的要求。 使用规范化减少数据冗余 函数依赖:一张表内两个字段值之间的一一对应关系称为函数依赖。

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档