数据库系统设计与实现02数据库设计.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库系统设计与实现02数据库设计

第二章 数据库设计 第一节 关系数据库的基本概念及规则 一、数据库的基本构成 一个数据库由若干个二维表组成。 二维表由行和列构成。 一个二维表通常对应于现实世界中的一种实体,如:学生,课程,老师。 实体具有一定的属性,如学生的姓名、性别、出生日期、籍贯、家庭住址等等,其对应于表中的列。 表中的一行则对应于一个具体的实体,其记录了某个具体实体的各个属性值。 因而,一个二维表可存储多个同种实体的有关属性值。 表的列称为:列,属性,字段 表的行称为:行,记录,元组,实体 数据库中的实体有实体型和实体值之分,一个二维表所对应的实体为实体型,或称实体类型。表中具体的一行所对应的实体为实体值,或称实体实例。 二、对表的基本规定 关系数据库中的表应具有如下一些基本特性: 1. 在关系数据库中,每个表都应具有关键字。每个记录的关键字必须是唯一的 关键字:能够唯一标识出一个实体的某个属性或某组属性。 如在一个人员表中,可用姓名来作为关键字。但如果存在同名的情况,则就要给每个人取一个代码,如学号。然后以该代码作为关键字。也可不取学号,而以姓名和出生日期两个属性组合起来作为关键字(认为不会出现同名而又同时出生的情况)。 关键字也称为:键,码,主属性。 不是关键字的哪些属性则称为非主属性。 在某些表中存在多个或多组属性都可作为关键字。如一个教研室表,其教研室编号和教研室名称都可作为关键字。将它们称为候选关键字,这时可从中任选一个作为主关键字。 2. 列是同质的。即所有记录在某一列上的取值应具有相同的数据类型和相同的含义。 如学生表中的列“生日”,所有学生在这一列上都应填上一个日期型数据,其表示的是学生的出生日期。而不能某些填的是生日,某些填的是年龄,或某些填的是出生日期,某些填的是入学日期。 3. 列的顺序是无意义的。不能用列的序号来访问或操作表,而必须用列的名称。 4. 行的顺序是无意义的。不能根据行的序号来访问或操作表。 三、数据库结构及内容 一个数据库所包含的各个表及各个表所具有的属性的总和,称为数据库结构。 数据库中各个表所包含的记录的总和即是数据库的内容。 一个数据库所具有的结构确定了该数据库可以存储哪些数据。 一般,一个信息系统的数据库结构在开发该系统的时候建立,在系统使用过程中,用户不能进行修改。 数据库的内容则在系统使用过程中通过用户输入。 第二节 关系数据库的规范化 关系数据库中的表除了要满足前面所给出的那些规定外,还需要进一步满足一定的要求,这些要求从弱到强分为5级,通常称其为5个范式。其中第3范式是主要的,一个满足第3范式的数据库就可认为是一个规范化的数据库。下面就介绍前三个范式。 第1范式 在一个表中,每个属性的取值都是不可分离的基本数据值,则称该表满足第1范式。 不满足第一范式的情况主要有两种。 第一种情况: 表中的某个属性是多个属性的组合,如一个学生表: 学号 姓名 性别 年龄 家庭住址 该表中的家庭住址属性就是多个属性的组合,其包含了学生家庭所在的省、市、区(县),门牌号码等属性。对这种表的处理方法就是将复合属性进行分解,如将上表转化为: 学号 姓名 性别 年龄 省 市 区县 地址 一个属性是不是复合属性与数据库的应用需求有关,如对姓名这个属性,在一般的系统中可看作是一个单一属性,但在户籍管理信息系统中,可能就是一个复合属性,因为在该系统中可能需要针对“姓”进行查询和统计。又如家庭住址这个属性,如果系统仅需要用这个属性掌握学生的通信地址,而不需要按照地区查询信息,则这个属性就可看作是一个单一属性。再如学号这个属性,按编号规则,这个属性包含了年级和班次这两个信息,如果系统中需要存储学生的这两项信息,则不能依赖学号来提供,而应在表中专门加上两个属性来存储这两个信息。 第二种情况: 一个记录的一个属性同时存在多个属性值。 如,一个记录学生情况及学习成绩的表为: *学号 姓名 性别 年龄 班级 系 课程号 课程名 学时 分数 0001 张三 男 18 98001 电子系 99005 99006 99001 化学 物理 数学 60 80 100 76 88 82 0002 李四 男 17 98002 机械系 99006 99001 物理 数学 80 100 85 72 对这种表进行规范化处理的方式就是将其填平,如下: *学号 姓名 性别 年龄 班级 系 *课程号 课程名 学时 分数 0001 张三 男 18 98001 电子系 99005 化学 60 76 0001 张三 男 18 98001 电子系 99006 物理 80 88 0001 张三 男 18 98001 电

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档