对每个多值属性建立一个关联表
关联关系模型

关联关系模型
关联关系模型是一种数据库模型,用于描述数据之间的关系。
在关联关系模型中,数据被组织成一个或多个表格,每个表格都包含了一组属性,这些属性描述了该表格中存储的数据。
表格之间通过共享相同属性值建立关联关系。
在关联关系模型中,每个表格都有一个主键,主键是该表格中唯一标识每个记录的属性。
主键可以是单个属性或多个属性的组合。
另外,表格之间可以使用外键建立关联关系,外键是一个指向另一个表格的主键。
关联关系模型的优点是数据之间的关系清晰明了,容易实现数据的查询和更新。
同时,该模型具有较高的数据完整性和安全性,可以对数据进行约束和限制。
然而,关联关系模型也存在一些缺点,例如对大规模数据的处理效率较低,需要进行多表联合操作。
此外,当数据之间的关系复杂时,关联关系模型的设计和维护会变得较为困难。
总的来说,关联关系模型是一种较为广泛应用的数据库模型,在实际的数据库设计和应用中具有重要的作用。
- 1 -。
数据库原理教程习题答案全

数据库原理教程习题答案全集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#0000000000第1章数据库系统概述习题参考答案税务局使用数据库存储纳税人(个人或公司)信息、纳税人缴纳税款信息等。
典型的数据处理包括纳税、退税处理、统计各类纳税人纳税情况等。
银行使用数据库存储客户基本信息、客户存贷款信息等。
典型的数据处理包括处理客户存取款等。
超市使用数据库存储商品的基本信息、会员客户基本信息、客户每次购物的详细清单。
典型的数据处理包括收银台记录客户每次购物的清单并计算应交货款。
DBMS是数据库管理系统的简称,是一种重要的程序设计系统。
它由一个相互关联的数据集合和一组访问这些数据的程序组成。
数据库是持久储存在计算机中、有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和存储,可以被各种用户共享,具有较小的冗余度、较高的数据独立性,并且易于扩展。
数据库系统由数据库、DBMS(及其开发工具)、应用系统和数据库管理员组成。
数据模型是一种形式机制,用于数据建模,描述数据、数据之间的联系、数据的语义、数据上的操作和数据的完整性约束条件。
数据库模式是数据库中使用数据模型对数据建模所产生设计结果。
对于关系数据库而言,数据库模式由一组关系模式构成。
数据字典是DBMS维护的一系列内部表,用来存放元数据。
所谓元数据是关于数据的数据。
DBMS提供如下功能:(1)数据定义:提供数据定义语言DDL,用于定义数据库中的数据对象和它们的结构。
(2)数据操纵:提供数据操纵语言DML,用于操纵数据,实现对数据库的基本操作(查询、插入、删除和修改)。
(3)事务管理和运行管理:统一管理数据、控制对数据的并发访问,保证数据的安全性、完整性,确保故障时数据库中数据不被破坏,并且能够恢复到一致状态。
(4)数据存储和查询处理:确定数据的物理组织和存取方式,提供数据的持久存储和有效访问;确定查询处理方法,优化查询处理过程。
数据仓库设计与建模的维度属性的多值处理方法(四)

数据仓库设计与建模的维度属性的多值处理方法在数据仓库设计与建模的过程中,维度属性的多值处理是一个关键问题。
维度属性是用来描述事实的某个特征或维度的因素,它们可以帮助我们对数据进行更深入的分析和理解。
然而,有些维度属性可能具有多个取值,这就给数据仓库的设计带来了挑战。
本文将探讨一些常用的维度属性的多值处理方法,并提供一些建议。
一、合并多值属性对于一些维度属性,可能会有多个取值与之关联。
这时候,我们可以考虑将这些多个取值合并为一个新的取值。
例如,对于一个产品维度的颜色属性,可能会有多种颜色与之关联,如红色、蓝色和绿色。
我们可以将这些颜色合并为一个取值,比如"红色、蓝色、绿色"。
这样可以简化数据模型,减少维度表的大小,同时也方便了查询和分析。
二、拆分多值属性另一种处理多值属性的方法是将其拆分成多个独立的属性。
这样每个属性只包含一个取值,方便了数据的查询和分析。
例如,对于一个销售订单维度的产品属性,可能会有多个产品与之关联,我们可以将其拆分成多个独立的产品属性,每个属性只包含一个产品。
这样可以更方便地对不同产品进行分析和比较。
三、创建多值属性表对于一些需要保留多值关联的属性,我们可以创建一个单独的多值属性表来存储这些关联。
这个表可以和主维度表进行关联,通过一个共同的主键来建立关系。
例如,对于一个用户维度的兴趣属性,一个用户可能有多个兴趣爱好,我们可以创建一个独立的兴趣表,其中包含兴趣的描述和对应的用户主键。
这样可以方便地对兴趣进行查询和分析。
四、使用标识符进行多值属性处理另一种处理多值属性的方法是使用特定的标识符来区分不同的取值。
例如,在一个销售订单维度的产品属性中,可以使用逗号来分隔多个产品的标识符,如"产品A, 产品B, 产品C"。
这样可以简化数据模型,同时也方便了查询和分析。
五、使用多值属性集合对于一些维度属性,可能会有多个取值之间存在某种关系。
这时候,我们可以考虑使用多值属性集合来表示这些取值的关系。
数据库原理第六章习题答案

数据库原理第六章习题答案数据库原理第六章习题答案在数据库原理的学习中,习题是检验自己对知识掌握程度的重要方式。
第六章的习题主要涉及数据库设计和规范化的内容,下面将逐一给出习题的答案。
1. 什么是数据库设计?数据库设计是指根据用户的需求和系统的要求,设计出能够满足这些需求和要求的数据库结构和组织方式的过程。
它包括确定数据库的结构、定义数据的存储方式、确定数据之间的关系等。
2. 数据库设计的步骤有哪些?数据库设计的步骤主要包括需求分析、概念设计、逻辑设计和物理设计。
需求分析阶段主要是了解用户的需求和系统的要求;概念设计阶段主要是根据需求分析结果,设计出概念模型;逻辑设计阶段主要是将概念模型转化为逻辑模型,包括实体关系模型和关系模式;物理设计阶段主要是将逻辑模型转化为物理模型,包括数据库的存储结构和索引结构的设计。
3. 什么是规范化?规范化是指通过一系列的规则和算法,将非规范化的数据库设计转化为规范化的数据库设计的过程。
它的目的是消除冗余数据、提高数据的一致性和完整性,并减少数据的存储空间。
4. 数据库设计的规范化级别有哪些?数据库设计的规范化级别主要包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BC范式(BCNF)。
其中,第一范式要求数据表中的每个字段都是原子的;第二范式要求数据表中的非主键字段完全依赖于主键;第三范式要求数据表中的非主键字段不传递依赖于主键;BC范式要求数据表中的每个非主键字段都不能依赖于其他非主键字段。
5. 什么是函数依赖?函数依赖是指在关系模型中,一个属性或属性集合的值决定另一个属性或属性集合的值的关系。
如果一个属性或属性集合的值决定另一个属性的值,则称为单值函数依赖;如果一个属性或属性集合的值决定另一个属性集合的值,则称为多值函数依赖。
6. 什么是主属性和非主属性?在关系模型中,主属性是指能够唯一标识一个实体的属性,它是关系模型中的主键;非主属性是指不能唯一标识一个实体的属性,它依赖于主属性。
多对多关系表

数据库建表-- 一对多/多对一/一对一/多对多关系关联映射:一对多/多对一存在最普遍的映射关系,简单来讲就如球员与球队的关系;一对多:从球队角度来说一个球队拥有多个球员即为一对多多对一:从球员角度来说多个球员属于一个球队即为多对一数据表间一对多关系如下图:关联映射:一对一关系就如球队与球队所在地址之间的关系,一支球队仅有一个地址,而一个地址区也仅有一支球队。
数据表间一对一关系的表现有两种,一种是外键关联,一种是主键关联。
图示如下:一对一外键关联:一对一主键关联:要求两个表的主键必须完全一致,通过两个表的主键建立关联关系关联映射:多对多多对多关系也很常见,例如学生与选修课之间的关系,一个学生可以选择多门选修课,而每个选修课又可以被多名学生选择。
数据库中的多对多关联关系一般需采用中间表的方式处理,将多对多转化为两个一对多。
数据表间多对多关系如下图:----------------------------------------------------------------------------------------------------------前言:多对多关系至少需要3个表,我们把一个表叫做主表,一个叫做关系表,另外一个叫做字典表或者副表(字典表是纪录比较少,而且基本稳定的,例如:版块名称;副表是内容比较多,内容变化的,例如)。
按照数据库的增删查改操作,多对多关系的查找都可以用inner join或者select * from 主表where id in (select 主表id from 关系表)1,角色任命型特点:关系表两外键组合无重复纪录,关系表一般不需要时间字段和主键,有一个表是字典类型的表。
界面特点:显示主表,用checkbox或多选select设置多选关系。
例如:任命版主(用户表-关系表-版块名称表),角色权限控制等,用户是5个版块版主,只要关系表5行纪录就可以确立,关系表的两个外键具有联合主键性质。
数据库系统基础教程_[全文]
![数据库系统基础教程_[全文]](https://img.taocdn.com/s3/m/df8cdbce3086bceb19e8b8f67c1cfad6195fe933.png)
第一章数据库系统的世界The Worlds of Database Systems数据库系统的发展数据库管理系统的结构未来的数据库系统*§1.1 数据库系统的发展c一、术语1.数据库是长期储存在计算机内的、有组织的、可共享的数据的集合。
*2.数据库管理系统数据库系统基础教程A First Course in Database SystemsDBMS - DataBase Management System是处理数据库访问的软件。
提供数据库的用户接口。
DBMS的目的:提供一个可以方便地、有效地存取数据库信息的环境*3.数据库系统是指在计算机系统中引入数据库后的系统*数据库最终用户应用系统应用开发工具DBMS操作系统数据库管理员DBA数据库系统构成应用程序员*保存信息的两种不同方法:永久性的系统文件、数据库系统。
文件方式的问题:数据的冗余和不一致数据访问困难数据孤立完整性问题原子性问题并发访问异常安全性问题二、文件系统与数据库系统*数据库方法能较好地解决以上的问题数据的独立性有效地访问数据减少应用程序的开发时间数据的一致性和安全性统一的数据管理并发的数据访问三、为什么用数据库*几种模型:基于树的层次模型基于图的网状模型物理相关、无高级查询语言基于表的关系模型物理无关、支持高级查询语言,基于对象的面向对象模型OOOR四、数据库模型的发展定长记录*关系数据库系统属性元组*关查询语言SQL语言SELECT balanceFROM AccountsWHERE accountNO = 67890;关系数据库系统*DBMS的组成数据、元数据存储管理程序事务管理程序查询处理程序§1.2 数据库管理系统的结构数据元数据存储管理程序查询处理程序事务管理程序模式更新更新查询*数据、元数据关于数据结构的信息(关于数据的数据)索引(INDEX)DBMS的组成*存储管理程序文件管理程序缓冲区管理查程序DBMS的组成*查询处理程序查询优化磁盘访问,是查询的主要代价;索引是查询优化的利器DBMS的组成*事务管理程序事务:是用户定义的一个数据库操作序列事务的四个特性原子性A一致性C隔离性I持久性DDBMS的组成*客户-服务器程序体系结构浏览器-服务器体系结构DBMS的组成*客户-服务器程序体系结构浏览器-服务器体系结构§1.3 未来的数据库系统第二章数据库建模Database Modeling*数据库的设计步骤需求收集和分析设计概念结构设计逻辑结构设计物理结构物理实现*数据库的设计步骤需求收集和分析用户关心什么用户要什么结果设计概念结构设计逻辑结构设计物理结构物理实现*数据库的设计步骤需求收集和分析设计概念结构存什么关系(联系)如何ODL或E/R图,是各种数据模型的共同基础设计逻辑结构设计物理结构物理实现*数据库的设计步骤需求收集和分析设计概念结构设计逻辑结构用什么数据模型数据库的模式(database schema)用户子模式设计物理结构物理实现*数据库的设计步骤需求收集和分析设计概念结构设计逻辑结构设计物理结构数据怎么存根据DBMS产品、环境特点物理实现*数据库的设计步骤需求收集和分析设计概念结构设计逻辑结构设计物理结构物理实现运行DDL装入测试数据应用程序*数据库的设计步骤想法需求ODLE / R关系RDBMSOODBMS*§2.1 ODL对象定义语言Object Definition Language以面向对象的观点、方法,说明数据库的概念结构可方便地直接转换成OODBMS 的说明经过努力,可以转换成RDBMS 的说明*面向对象的设计对象标识—OID对象与对象的区别类具有相同特性的对象归为一类对象的归并必须有意义属于同一类的对象其特性必须相同*面向对象的设计对象的三个特性属性:特性联系:引用方法:函数接口说明interface < 名字> {< 特性表>}*属性对象某方面的特征,属性就是数据只由基本数据类型构成属性的类型,不能是类、也不能从类中构造Interface Movie { //Movie Class 的ODL说明attribute string title;attribute integer year;attribute integer length;attribute enum Film { color, blackAndWhite } filmType;};*Interface Star {attribute string name;attribute Struct Addr{ string street,string city } address;};记录结构类型*联系对象的引用对象的关联对象集合的引用(1:N)Relationship Set < Star > stars;单一对象集合的引用(1:1)Relationship Star starOf;*反向联系ODL要求显式表示存在的反向联系Interface Movie { //Movie Class 的ODL说明attribute string title;attribute integer year;attribute integer length;attribute enum Film { color, blackAndWhite } filmType;relationship Set < Star > starsinverse Star :: starredIn; //Star与Movie的联系};联系的多重性N:N在联系中,每个C都和D的集合有关,而在反向联系中,每个D都和C的集合有关N:1在联系中,每个C都和唯一的D有关,而在反向联系中,每个D都和C的集合有关1:1在联系中,每个C都和唯一的D有关,而在反向联系中,每个D都和唯一的C有关*Interface Moive{……relationship Set <Star> starsinverse Star :: staredIn;relationship Studio ownedByinverse Studio :: owns;};Interface Star{……relationship Set <Moive> staredIninverse Moive :: stars;};Interface Studio{……relationship Set <Moive> ownsinverse Moive :: ownedBy;};NNN1*ODL中的类型基本类型原子类型接口类型结构类型,可由以下类型组合而成集合无重复,次序无关包可重复,次序无关列表可重复,次序相关数组结构*§2.2 实体联系图(E/R)用图形的方法,描述实体及实体间的联系世界由一组称作实体的基本对象及这些对象间的联系组成元素实体(Entity)客观存在并可相互区别的事件或物体对应于ODL中的对象实体集(Entity Set)同类(具有相同类型、相同性质)实体的集合对应于ODL中的类用矩形表示*§2.2 实体联系图(E/R)元素属性(Attribute)实体所具有的某一特性用与实体集相连的椭圆表示联系(Relationship)实体集之间的关联可涉及多个实体集可表示双向的联系用与相应的实体集相连的菱形表示*MoviesStarsStars-inlenghtfilmTypetitleyearnameaddress*E/R联系的多重性N与1的表示MoviesStarsStars-inStudiosPresidentsRunsMoviesStudiosOwns*联系的多向性E/R图能方便地描述两个以上实体集间的联系StarsMoviesContractsStudios一个制片公司与一位特定的影星签约来演一部特定的电影*联系中的角色实体集在联系中的作用参与联系的实体集互异只标注联系名同一实体集在一个联系中多次出现标注联系名及角色名Sequel-ofMoviesOriginalSequelStarsMoviesContractsStudiosStudio of starProducing studio*联系中的属性联系中可以包含属性由联系而产生的属性可为由联系产生的属性建立实体集StarsMoviesContractsStudiossalary*将多向联系转换成二元联系新增连接实体集引入连接实体集至原实体集的多对一的联系*§2.3 设计原则真实性设计应当忠于规范存什么避免冗余任何事物只表达一次避免引入过多的元素选择合适的元素类型属性?类/实体集?联系集?*§2.4 子类特殊化与概括子类与超类属性的继承*ODL中的子类子类继承其超类的所有特性属性联系Interface Cartoon : Movie {relationship set < Star > voices;}*ODL中的多重继承类的层次一个类可以有多个超类Interface MurderMystery : Movie{attribute string weapon;}Interface Cartoon-MurderMystery : Cartoon,MurderMystery { }*E/R中的子类IsaE/R中的继承*§2.5 对约束的建模建模包含对现实世界的对象及联系的描述,也包含对它们的一些约束键码单值约束参照完整性约束域的约束一般约束*键码在类的范围内唯一标识一个对象(或者在实体集的范围内唯一标识一个实体)的属性或属性集一个类中的两个对象(或一个实体集中的两个实体)在构成键码的属性集上取值不能相同ODL中键码的表示interface Movie( key (title,year) ) {……}*超码一个或多个属性的集合,能在一个实体集中唯一地标识一个实体一个类(或实体集)中可能有多个超码候选码其任意真子集都不为超码的超码一个类(或实体集)中可能有多个候选码主码从候选码中选取的一个,一个类(实体集)中只有一个主码E / R图中只能表示主码:主码属性名加上下划线*单值约束要求某个角色的值是唯一的,如键码当一个属性为单值时可以要求该属性值存在(not null)可以允许该属性值任选(null)构成键码的属性,必须有值存在(not null)*参照完整性约束要求由某个对象引用的值在数据库中确实存在参照与被参照、引用与被引用参照完整性约束的操作(各产品不同)禁止删除被引用的对象级联删除/ 修改E/R图中参照完整性的表示MoviesStudiosOwns*§2.6 弱实体集弱实体集的属性不足以形成主码有主码的实体集称为强实体集弱实体集只有作为一对多联系的一部分(多)才有意义弱实体集与其拥有者之间的联系是标识性联系CrewsUnit-ofStudiosnumbernameaddr*§2.7 关于联系集联系集的成份参加联系的实体集的主码联系集的属性联系中属性的决策(二元联系)1:1 联系集的属性:放到任意一端1:N 联系集的属性:放到N 端N:M联系集的属性:只能留在联系集中*联系集的取舍(二元联系)1:1联系:将一端的主码作为另一端的属性1:N联系:将一端的主码作为N 端的属性N:M联系:必须保留联系集联系集的键码(二元联系)1:1联系:任意一端的主码1:N联系:N端的主码N:M联系:参加联系的所有实体集的主码*ODL、E/R建模关心:存什么数据、关系如何不关心:用什么数学模型、DBMS产品透过E/R图,便于与用户交流*作业思考所有带*的练习,并上网查阅解答练习2.1.7 / 2.2.8 / 2.3.2 / 2.5.3 / 2.5.4 /2.6.4(a) 第三章关系数据模型The Relational Data Model*ODL、E/R到关系模型的转换关系模型的设计理论*§3.1 关系模型的基本概念逻辑数据模型是用户从数据库所看到的数据模型与DBMS有关层次、网状、关系、面向对象关系数据模型数据结构两维的扁平表数据操作关系代数关系演算数据的完整性实体完整性参照完整性用户定义的完整性*现实世界的实体以及实体间的各种联系均用关系表示关系数据库系统是建立在关系模型上的数据库系统关系数据库是表的集合*模型和模式数据模型是描述数据的手段数据模式是用给定的数据模型对具体数据的描述属性元组域型值联系关系的联系是通过关联属性的值连接的*SnoSnameSsexSagesdept95001张三男25CS95002李四女24CS96101王五23MA96001赵六男23CS关系( 表)属性(列、字段)元组(行、记录)域(string,{男,女})Student ( sno, sname, ssex, sage, sdept )*关系实例关系→实体集、类关系的实例→元组的集合元组→实体、对象数据库实例→给定时刻数据库中数据的一个快照*§3.2 从ODL设计到关系设计ODL设计是概念设计的产物( Using OO )ODL描述→关系模式→实现*ODL属性→关系属性原子属性类→关系属性→属性非原子属性(复杂数据类型)必须转换成原子属性记录结构结构的每个item对应一个属性多值集合针对每个值建立一个元组会产生冗余→需规范化*ODL属性→关系属性(续)其他类型属性(包、数组、列表)针对每个元素建立一个元组增加一个记数属性,表示包的成员号定长数组扩展为多个属性*ODL联系→关系描述单值联系联系的类型为一个类增加一个(组)属性,存放相关类的键码属性(组)将类之间的联系→关系之间的联系*ODL联系→关系描述(续)多值联系联系的类型为某个类的集合类型1 : N、N : M增加一个键码属性为集合的每个成员建立一个元组其他原始属性重复多次(与集合成员的个数相等)导致大量的冗余,需要规范化*键码是必需的选择合适的属性(组)作为键码学号、工号、身份证号…...增加计数属性联系与反向联系在联系的双方均有联系的描述→冗余ODL:双向描述E/R:相关的键码值进行连接*§3.3 从E/R图到关系的设计E/R与ODL描述的差异联系作为独立的概念←→联系嵌套在类定义中结构化数据←→允许使用集合、聚集类型联系可以有属性←→联系无属性E/R →关系模式→实现*实体集到关系的转换非弱实体集实体集名→关系名属性→属性弱实体集为弱实体集建立关系属性:弱实体集的属性+ 辅助实体集的键码*E/R联系到关系的转换用关系表示联系联系名→关系名属性→属性+ 相关实体集的键码属性(集)多向联系的转换注意,属性的命名*§3.4 子类结构到关系的转换ODL中的子类一个对象完全属于一个类子类继承其超类的特性E/R中的子类分层结构通过与ISA联系有关的实体集进行扩展*用关系表示ODL子类每个子类都有自己的关系包含该子类的所有特性(含继承特性)在一个关系中含有所有属性Movie(title,year,length,filmType,studioName,starName)Cartoon(title,year,length,filmType,studioName,starName,voice) MurderMystery(title,year,length,filmType,studioName,starName,weapon)Cartoon- MurderMystery(title,year,length,filmType,studioName,starName,voice, weapon)*在关系模型中表示isa 联系子类的信息被分散到上层的几个关系中与ISA联系有关的实体集拥有相同的键码Movie(title,year,length,filmType)Cartoon(title,year)MurderMystery(title,year, weapon)Voice(title,year,name)*使用NULL值合并关系将关系描述成一个‘全集’属性:所有可能的属性描述:允许Null值层次越高,取Null值的属性越多Movie (title,year,length,filmType,studioName,starName,voice, weapon) 只是一种方法而已*作业思考所有带*的练习,并上网查询解答练习3.2.3 / 3.3.1 / 3.4.1 / 3.5.3 /*§3.5 函数依赖数据依赖函数依赖多值依赖数据依赖是针对数据模式,而不是特定的实例*函数依赖(FD)属性之间的联系假设给定X 属性的值,就知道Y的值,那么X 函数决定Y如果R的两个元组在属性A1,A2,…,An上一致,则它们在另一个属性B上也一致,那么A1,A2,…,An函数决定B,记作A1A2…An→Bif A1A2…An→B1 thenA1A2…An→B2 A1A2…An→B1 B2 ... Bm……A1A2…An→Bm*关系的键码如果一个或多个属性的集合{A1A2…An}满足如下条件,则该集合为关系R的键码:1.这些属性函数决定该关系的所有其他属性2. {A1A2…An}的任何真子集都不能函数决定R的所有其他属性*超键码包含键码的属性集称为超键码*寻找关系的键码(来自E/R)来自实体集的关系的键码就是该实体集的键码属性对于二元联系R:N:M,相关两个实体的键码都是R的键码属性N:1,多端实体集的键码是R的加码属性1:1,任意一端实体集的键码是R的键码对于多向联系R:如果多向联系R有一个箭头指向实体集E,则响应的关系中,除了E的键码以外,至少还存在一个键码。
国家二级ACCESS机试选择题(数据库基础知识)模拟试卷6

国家二级ACCESS机试选择题(数据库基础知识)模拟试卷6(总分:64.00,做题时间:90分钟)一、选择题(总题数:32,分数:64.00)1.关系数据库管理系统中所谓的关系是指(分数:2.00)A.各元组之间彼此有一定的关系B.各字段之间彼此有一定的关系C.数据库之间彼此有一定的关系D.符合关系理论规定的二维表格√解析:解析:在关系数据库管理系统中,一个关系就是一张二维表,且须满足关系规范化理论,所以选项D正确。
2.某学校有“教师”(教师号、教师名)、“学生”(学号、学生名)和“课程”(课程号,课程名)等三个表,若规定一名教师可主讲多门课程,一名学生可选修多门课程,则教师与学生之间形成了多对多关系。
为反映这样的多对多关系并减少数据冗余,在数据库中应设计新表。
下列关于新表的设计中,最合理的设计是(分数:2.00)A.增加两个表:学生-选课表(学号、课程号),教师-任课表(教师号、课程号) √B.增加两个表:学生-选课表(学号、课程号、课程名),教师-任课表(教师号、课程号、课程名)C.增加一个表:学生-选课-教师表(学号、课程号、教师号)D.增加一个表:学生-选课-教师表(学号、学生名、课程号、课程名、教师号、教师名)解析:解析:目前已建立教师、学生、课程三个基本表,另外一名教师可主讲多门课程、一名学生可选修多门课程,因此应增加学生选课表(学号、课程号)和教师任课表(教师号、课程号)来反应以上关系。
课程名可通过课程号字段关联“课程”表来获得,因此不需要增加课程名字段在以上两个表中。
3.下列关于字段大小属性的叙述中,错误的是(分数:2.00)A.字段大小属性用于限制输入到字段中值的最大长度B.字段大小属性只适用于文本或自动编号类型的字段√C.文本型字段的字段大小属性可以在数据表视图中设置D.自动编号型的字段大小属性不能在数据表视图中设置解析:解析:“字段大小”属性用于限制输入到该字段的最大长度,当输入的数据超过该字段设置的大小时,系统将拒绝接收。
简述e—r模型转换为关系模型的规则

简述e—r模型转换为关系模型的规则e-r模型转换为关系模型的规则包括以下几点:
1.实体转换:将e-r图中的每个实体转换为一个关系表,表的名字为实体的名称。
2.属性转换:将e-r图中的每个属性转换为一个表的属性,表的属性包括属性名称、数据类型、长度、是否可以为空、默认值等。
3.关系转换:将e-r图中的每个关系转换为一个表,表的名字为关系的名称或者描述。
4.主键定义:对于每个关系表,需要定义一个主键,以唯一标识表中的每个记录。
5.外键定义:当两个关系表之间存在关联时,需要在其中一个关系表中定义一个外键,以引用另一个关系表的主键。
6.索引定义:对于需要频繁查询的字段,在数据库中需要创建索引,以提高查询效率。
7.规范化:对于关系表中的冗余数据和多值依赖关系,需要进行规范化处理,以提高数据的一致性和减少数据冗余。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 是一個屬性或多個屬性的集合,它(們)可用 來區別實體類型的每個實體案例。
– 例如︰員工可能的準鍵為(1)員工代號;(2) 員工姓名+地址(假設同個地址不會住著兩個 以上同名同姓的人)
主鍵(Primary Key)
– 準鍵之一,用以區別實體類型中之案例 – 常以底線表示之
生產線 1
包含
N
• 一條生產線可生產N個產品,而一個
產品 產品僅屬於某條生產線
多對多之二元關係實例
學生
M
選修
N
課程
• 一個學生可選修N個課程,而一個課 程可被M個學生所選修
系統分析與設計 楊子青 F-15
(3) 三元關係
表示三個實體類型其案例間之共同關係
– 如零件、供應商與批發商均是實體,三者間有 「輪船運送」之關係,且數量為屬性
1. 資料塑模工具
實體關係模式(Entity-relationship Model (E-R Model)是關聯式資料庫設計的重要 工具之一
– 實體關係圖(Entity-relationship Diagram, ERD)是 E-R Model的一種圖形表示
系統分析與設計 楊子青 F-1
ERD範例
1
人
1
N
員工
1
一對一之單一關係實例
結婚
• 一個人(案例)可以和另一人(案例) 有一對一的婚姻關係
一對多之單一關係實例
管理
• 一個主管(員工案例)可以管理多個 下屬(員工案例)
系統分析與設計 楊子青 F-14
(2) 二元關係
表示兩個實體類型其案例間之關係,此種 關係最為常見
一對多之二元關係實例
度,可以是一對一、一對多(或多對一)或者 多對多。
系統分析與設計 楊子青 F-3
ERD內容大綱
實體類型 屬性
– 多值屬性 – 準鍵與主鍵
關係
– 關係基數 – 關係度
系統分析與設計 楊子青 F-4
1.1 實體類型
涵意
– 一些具有共同性質或特徵之實體案例 (Entity instance)的集合。
系統分析與設計 楊子青 F-9
主鍵之選用準則 (Bruce, 1992)
其值在每個案例的生命過程中不會改變
– 例如用地址與名字當做員工主鍵並不恰當,因為員 工之地址可能會改變。
需是有效值,且不可為空值(Null) 避免使用智慧鍵(Intelligent Keys)
– 智慧鍵︰該鍵之結構表示分類或位置等 – 例如若員工實體之主鍵前兩碼表示部門,則員工調
• 強制性的參與者(Mandatory participant):關係的最小基數 為1之實體類型
– 若有最大之限制,稱為最大基數
電影
1 被存成 [0,N] 錄影帶
系統分析與設計 楊子青 F-12
1.3.2 關係度
degree of a relationship
– 指參與在某個關係中之實體類型的數量 – 在 E-R 模式中,三種最常見之關係度:
• 用雙線的橢圖形表示 • 用弱(week)實體類型表示︰以另一實體來表示,
並以線條與原實體相連
系統分析與設計 楊子青 F-7
以雙線橢圓形表示多值屬性
員工代號
眷屬姓名, 眷屬年齡, 眷屬關係
員工
以弱實體類型表示多值屬性
員工代號
眷屬姓名 眷屬年齡 眷屬關係
員工
N 眷屬
系統分析與設計 楊子青 F-8
1.2.2 準鍵與主鍵
• 單一(Unary, degree one)關係 • 二元(Binary, degree two)關係 • 三元(Ternary, degree three)關係
系統分析與 又稱遞迴關係(Recursive Relationship),此關係 是建立在一實體類型之案例間
– 以矩形表示,且有一個名稱為其辨別物 (Identifier)標示於矩形內。
– 實體之種類很多,主要包括人、地方、物件 、事件或使用者環境中之概念等。
員工
系統分析與設計 楊子青 F-5
1.2 屬性
實體類型的一個性質或特徵
– 以橢圓形表示,需有一名稱以茲辨別並標示 於橢圓形中,且以線條與其實體相連接。
至其他部門,或組織結構改變,主鍵將需經常修改
以單一屬性主鍵代替多個屬性的組合鍵
系統分析與設計 楊子青 F-10
1.3 關係
一個或多個實體類型的案例間之關聯 (Association),經常意味著事件已發生或 存在一些案例間自然的連結。
– 關係基數 – 關係度
系統分析與設計 楊子青 F-11
1.3.1 關係基數
指實體類型(如電影)之案例與另一實體類型(如
錄影帶)之案例的關聯數目
電影 1 被存成 N 錄影帶
最小基數與最大基數:實體案例間之關聯數目 若有限制
– 若有最小之限制,稱為最小基數
• 選擇性的參與者(Optional participant):關係的最小基數為 0之實體類型,如錄影帶
實體關係圖(ERD)
組成元素:
– 矩形:實體類型(Entity Type) – 菱形:實體類型間的關係 (Relationship) – 橢圓:實體類型或關係之屬性(Attribute) – 直線:把屬性連結到實體類型,或把實體類
型連結到關係 – 基數(Cardinality):代表實體類型間之關係程
• 某供應商以輪船運送某些數量之零件給某些批發商→ 三個實體才能共同決定運送之數量
零件
N
供應商
N
輪船運送 N
批發商
數量
系統分析與設計 楊子青 F-16
– 學生實體類型及其屬性實例︰
學號
姓名
地址
電話
學生
系統分析與設計 楊子青 F-6
1.2.1 多值屬性
Multivalued Attributes
– 指一個實體的某個屬性有一個以上之值 – 例如︰眷屬是員工(實體)的屬性之一,其眷
屬資料為眷屬姓名、年齡與關係(配偶、孩 子、父母等),因一員工可能有多個眷屬, 故眷屬是多值屬性。 – 兩種常用的多值屬性表示法:
訂單編號 客戶編號
訂購數量
產品編號
單價
訂單
M
訂貨
N
產品
訂單與產品為實體,訂貨則為這兩個實體之關係 訂單編號及客戶編號為訂單之屬性 訂單與產品發生的訂貨關係之基數為M:N(多對多)
– N表示每張訂單可訂購N個(多個)產品,而M表示每個產 品可以出現於M張訂單中,因數目不限故以M或N泛稱
系統分析與設計 楊子青 F-2