E-R图、键设计与规范化
頻出约 32 分钟5 个术语过去问 20 题
本单元目标
- 能从E-R图中读出业务的实体、实体间的关联以及关联的多重度
- 能从作用和取值限制两方面区分主键与外键
- 能说明规范化如何拆分表,以及这样做的目的
术语总表(5 个)
术语
E-R图(E-R図)是把业务中要管理的实体(entity)以及实体之间的关联(relationship)画成图的表示方法。
实体是想作为数据记录下来的一类对象,关联表示实体之间的联系。关联上还要注明多重度(一对一、一对多、多对多等),表示一方的1条对应对方的几条。
类比就像电视剧的人物关系图。把每个角色画成一个框,再用线连出父子、同事等关系,谁和谁怎样相连一目了然。
记法E 取自 Entity(实体),R 取自 Relationship(关联)。名字本身就点出了图的两种组成部分。
考点
- 常考E-R图(E-R図)用于在设计数据库(データベース)时理清业务管理对象之间的关系,在关系数据库中也用来表示表(テーブル)之间的联系。
- 常考如果1个班有多名学生,而每名学生只属于1个班,那么班级与学生是一对多(1対多)的关联。多重度(多重度)要从两个方向分别数出条数来确定。
- 常考E-R图根据业务分析的结果来画,表的设计则以这张E-R图为基础展开。
该术语的过去问 3 题 E-R図 →
主键(主キー)是为了唯一识别表中的一行(记录)而指定的列或列的组合。
在上表中,不论只看演出编号还是只看座位号,都有相同的值出现在多行里,但把两列组合起来就能确定一行。像这样组合使用时,整个组合被当作一个主键。
类比就像学生证上的学号。即使有同名的学生,只要知道学号就能确定是哪一个人。
记法英文是 primary key,primary 意为“首要的”,也就是区分表中各行的首要依据。
考点
- 常考主键(主キー)的值每行都不同;由多列组合成的主键靠组合整体的值区分各行,所以组成组合的单个列的值可以重复。构成主键的每一列都不能取空值(NULL)。
- 常考如果一个表靠单独一列无法确定行,也可以把两列以上合起来作为一个主键。
- 常考设定主键的目的,是让人能唯一地分辨出表中的每一行。
该术语的过去问 3 题 主キー →
外键(外部キー)是引用其他表主键值的列(或列的组合),通过值把表与表联系起来。
外键列中不能填入被引用表里不存在的值,这条规则称为参照约束(参照完整性)。有了这条约束,以上表为例,就不会出现指向班级表中并不存在的班级的学生行,表与表之间的联系得以保持。
类比就像快递单上填写的收件人会员号。这个号码必须对应会员名册里真实存在的人。
记法“外”指的是指向本表之外。外键就是通往其他表的路标。
考点
- 常考一对多(1対多)的关联,是在“多”一方的表中放入“一”一方表的主键(主キー)作为外键(外部キー)来表示的。
- 常考外键不能填入被引用表中不存在的值,所以添加数据时要先登记被引用一方的表。
- 常考一个表引用多个表时,要为每个被引用的表各设一个外键,因此一个表中可以有多个外键。
该术语的过去问 3 题 外部キー →
索引(インデックス)是把表中列的值与行的位置对应起来的查找目录,用来加快检索。
没有索引时,要找出符合条件的行,只能从头到尾逐行查看。有了索引,检索会变快,但每次改写行时都要同时修改索引,写入的工作量随之增加,而且保存索引本身也要多占存储空间。
类比就像厚书末尾的索引。可以按词语迅速查到页码,但每次修订正文时,索引也得跟着改。
记法英文 index 还有“食指”的意思。可以记成:用手指指出目标行在哪里。
考点
- 常考索引(インデックス)的作用是加快检索,在哪一列上建立则根据检索的使用方式来决定。
- 常考索引可以为每个用于检索的列分别建立,所以一个表中可以有多个索引。
该术语的过去问 3 题 インデックス →
规范化(正規化)是为了消除数据的重复、防止更新时出现矛盾,而把一张表拆分成多张表的设计工作。
同一事实记录在好几个地方时,修改时可能只改了其中一部分,导致数值前后不一致。规范化以“每个项目由哪个项目决定”为线索来拆分表,拆开的表之间再用共同的列(主键和外键)联系起来。规范化推进得越深入,表就分得越细。
类比好比把过去在各种单据上反复填写的往来单位地址,单独整理成一本往来单位名册,单据上只写名册里的编号。地址变了,只要改名册里的一处就行。
记法“规范”就是整理成规定的形式。记住这个反直觉的点:越整理,表反而越多。
考点
- 常考规范化(正規化)的目的,是让同一事实只记录在一处,更新时数值不会前后不一致,从而便于维护。
- 常考值只由另一列(例如会员编号)决定的项目,要移到以该列为主键(主キー)的表中,原表则保留这一列来建立联系。
- 常考能由其他项目计算得出的项目属于冗余项目(冗長)。例如有了单价和数量,就能算出金额。
该术语的过去问 3 题 正規化 →
要点
- E-R图用实体和关联表示业务的数据结构,关联上要标注一对一、一对多等多重度。
- 主键是唯一识别行的列或列的组合,其值不能与其他行重复,构成它的列也不能填空值。
- 外键是引用其他表主键的列(或列的组合),不能填入被引用表中不存在的值。
- 索引用来加快检索,代价是写入的工作量和存储空间都会增加。
- 规范化按每个项目由什么决定来拆分表,消除重复和更新时的不一致。
查看这个领域的全部过去问 →