SQL数据库习题及答案+ER图

SQL数据库习题及答案+ER图
SQL数据库习题及答案+ER图

1

SQL 数据库习题及答案 1. 模型中,同一个关系中的不同属性,其属性名不能相同.

2.数据库系统由数据库、DBMS 组成。

3.计算机数据管理技术的发展可以划分为三个阶段,在某个阶段数据是以文件形式长期存储在辅助存储器中,程序和数据之间具有相对的独立性,数据不再属于某个特定的应用程序,数据可以重复使用,该阶段是文件管理阶段。

4.在数据库的三级体系结构中,数据库的模式对应于数据库的概念视图

5.在数据库的三级体系结构中,数据的逻辑独立性是通过

外模式-模式映射来实现的。

6.三层C/S 结构包括客户机、应用服务器和数据库服务器三部分。

7.DDL 是指数据描述语言,DML 是指数据操纵-查询语言,DBMS 是指数据库管理系统,DD 是指数据字典.

8.在SPARC 结构中,定义的数据库三层结构分别是外模式、模式和内模式。

9.数据的独立性包括物理独立性和逻辑独立性两个方面。 10.实体集之间的联系有三种,分别是 一对一的联系,一对多的联系,多对多的联系

11.试说明数据管理的数据库阶段的主要特点。答:数据库管理的数据库阶段主要特点是:1、数据共享性;2、具有较高的数据与程序的独立性;3、便于对数据实行集中统一的控制。

12.试说明DBMS 的组成。答:DBMS 是由一系列软件构成的复杂系统,一般来说DBMS 由下列三类软件组成:语言系统;控制数据库运行的程序;数据库维护程序;

13.数据模型的三要素是什么?答:数据模型的三要素是数据结构、数据操作、数据的约束条件。

14.关系模型有什么特点?答:关系模型有什么特点:1、关系模型与非关系模型不同,它是建立在严格的数学概念基础上的;2、关系模型的概念单一,无论实体或实体之间的联系都用关系表示3、存取路径对用户透明。4、关系必须是规范化的关系。

第二章 关系数据库基本理论 1.下列不属于关系代数运算的是查询.

2.在关系数据模型中,利用关系运算对两个关系进行操作,

得到的结果是 关系.

3.下列的投影运算不是关系运算中的传统的集合运算.

4.关系A 中有5个属性,关系B 中的7个属性,且关系A 中

有两个属性名与关系B 中相同,那么关系A 和关系B 自然联

结的运算结果有10个 属性。

5.下列关于关键字的说法不正确的是不可以是所有字段

6.在关系运算中,根据具有相同属性名的字段相同进行联结,且在联结结果中去掉重复属性,这样的运算是 自然联结。

7.具有两个元组五个属性的关系和具有三个元组四个属性的关系的笛卡尔积,共有 6 元组,___9___属性。

8.从关系R1中挑选出符合条件F 的元组的“姓名”和“年

龄”字段,使用的关系代数表达式为 π姓名,年龄(σF

(R1)) 。

9.两个具有相同结构的关系R 和S ,它们的 交 运算是由既

属于R 又属于S 的元组组成的集合。

10.从关系中找出满足给定条件的元组的操作称为选择运算。 11.在某数据库中的一个学生表,表中有一个字段“学号”能够惟一地区分每一个记录。数据库中还有一个成绩表,表中也有一个“学号”字段,但不能惟一区分每条记录,此处的“学号”字段称为 外部关键字 。

12.专门的关系运算中的 投影 运算是对关系的垂直分解,它是在关系R 中选择出若干个属性组成新的关系。

13.关系规范化的过程是通过关系中属性的分解和关系模式的分解来实现的。关系规范化的条件可以分为几级,每级称

为一个 范式 (Normal Form ),记作nNF 。其中,n 表示

范式的级别,范式的级别越高条件越严格的数学定义。 14.造成关系修改麻烦的原因是 关系范式级别低 。第

三章 实体-联系模型 1.下列的四个模型中, E -R 模型和其他的三个不是一类. 2.数据世界的记录对应信息世界的 实体 。 3.下列 外部关键字 不是E -R 模型的基本要素。

4.把E -R 模型转换为关系模型时,实体之间多对多联系在关系模型中是通过 建立新的关系来实现。

5.在E -R 图中,用 方框 表示实体集,用 椭圆 表示属性,用 菱形框 表示联系。

6.对于E -R 图中每个实体集,都应转换为一个 关系 ,

该 关系 应包括对应实体的全部属性,并应根据关系所表

达的语义确定哪个属性或哪几个属性组作为“主关键字”。

7.在把E -R 图转换为关系模型时,若两实体集之间是1:n

联系,可将“一方”实体的主关键字纳入“n 方”实体集对应的关系中作为“外部关键字”,同时把联系的属性也一并纳

入“n 方”对应的关系中。

8.在把E -R 图转换为关系模型时,若两实体集之间是m :n

联系,必须对“联系” 单独建立一个关系 。

9.在把E -R 图转换为关系模型时,若两实体集之间是1:1

联系,有 三 种转换方法。

10.一个图书馆借阅管理数据库要求提供下述服务。

(1)构造满足要求的E -R 图。

(2)根据E -R 图转换为等价的关系模式。 借书人(借书证号,姓名,单位) 图书(书号,书名,数量,位置,出版社名) 出版社(出版社名,电报,电话,邮编,地址) 借阅(借书证号,书号,借书日期,还书日期)。第四章 数据库设计 1.下列的 D 不是数据库设计的内容.C.数据库的物理模式设计 D.应用程序设计

2.下列的 D 不是逻辑设计第一阶段(分析用户需求)产生的. D.局部E-R图 3.数据流图的基本成分不包括 D . D.实体

4.在数据库设计过程中,下列文档产生的先后关系正确的是 A .A.用户活动图、数据流图、数据字典、局部E-R图 5.数据库系统的技术文档指的是 A 。A.系统说明书、技术说明书和和使用说明书 6.数据流图的主要成分有四个,分别是 数据流 、 加

工 、 文件 、和 源点和终点 ,分别用 箭头 、 圆形 、 横线 、和 方框 表示。

7.数据库设计的逻辑设计阶段的概念模型设计可由两个步骤组成,分别是 局部E-R 模型设计 和 总体E-R 模型设计 。

8.数据字典产生于 数据流图 ,是对 数据流图 中的四个成分进行描述的产物。

9.数据库系统的技术文档包括 系统说明书 、 技术说明书 、和 使用说明书 。

10.数据库设计的特点是 反复探寻,逐步求精 。第六章 Delphi 7 与数据库

1.应用程序用以请求一个连到ODBC数据源的连接(Connection )的名字是 A 。A .DSN 2.在ODBC 层次结构中, D 包含在ODBC32.dll 中,其任务是管理ODBC 驱动程序,是ODBC 中最重要的部件。D .驱动程序管理器

3.在Database

Desktop 程序中, A 就是数据表所在的子目录或数据库文件名的替代名称。A .数据库别名

4.使用Database Desktop 程序,不能完成下列的 D 功能。 C .执行SQL 语句 D .创建三层结构的数据库程序 5.请说出下名词的含义。BDE OLE DB DSN ADO 数据库别名 工作目录 私有目录 BDE : 是BORLAND 数据库引擎的缩写,利用它应用程序可以用统一的方法访问和操作数据库。 OLE DB :是一个低层的数据访问接口,它向应用程序提供了一个统一的数据访问方法,用它可以访问各种资源,包括传统的关系型数据库、电子邮件系统及自定义的商业对象。 DSN : 是“应用程序用以请求一个连到ODBC 数据源的连接(Connection )的名字 ADO : 是微软公司设计的最新的数据访问技术,用来与OLEDB 一起协同工作,以提供通用数据访问。 数据库别名:是数据表所在的子目录或数据库文件名的替代名称。 工作目录: 是系统默认的打开和保存文件的目录,也是打开文件对话框和保存文件对话框的默认路径,各为WorkDir 的目录作为默认的工作目录。 私有目录: 私有目录通常在多用户环境中使用,用来存放当前用户的中间结果,如临时创建的表格等。

6.DSN 可以分成三种,分别是 系统DSN 、 用户DSN 和 文档DSN 。其中 系统DSN 可以被登录到系统中的所有用户使用。

7.第七章 关系数据库标准语言-----SQL 选择题1~9题使用的表7-7和表7-8所示。

表7-7 学生信息表(表名为

STUDENT )

学 号 姓 名 性 别籍 贯 年 龄

980001 王吉兵 男 江苏 22

980002

张晓春 女 安徽 21 980003

左燕 女 江苏 25 980004 赵华 男 安徽 22 980005 李宁 男 山东 20

表7-8 选课信息表(表名为SKB) 学 号 课 号 成 绩

980001 0001 98 980002 0002 76 980001 0002 80

980002 0003 69 980003 0001 75

980003 0003 68 980004 0001 89 980005 0001 76 980004 0002 65

980003 0002 90 1.给出选课信息表(SKB )增加一行,值分别为“980005”、“0002”、93,使用的语句正确的是 B 。B .INSERT INTO SKB VALUES(“980005”,“0002”,93) 2.要选出平均成绩超过80分的学生的学号和平均成绩,下列正确的语句是 C 。C .SELECT 学号,AVG(成绩) AS 平均成绩 FROM SKB

GROUP BY 学号 HAVING 平均成绩>=80

3.要求选出学生中平均成绩最高的人的学号、姓名和平均分,下列语句中正确的是 C 。 C .SELECT TOP l STUDENT.学号,STUDENT.姓名,A VG(SKB.成绩)AS FROM STUDENT INNER JOIN SKB.DBF ON STUDENT.学号=SKB.学号

GROUP BY STUDENT.学号 ORDERBY 3 DESC

4.下列语句执行后,结果中将包含 A 条记录。SELECT 课号,MAX(成绩) AS 最高成绩 FROM SKB GROUP BY 课号A .3 B .4 C .5 D .6 5.下列语句执行后,结果中将包含 A 条记录。SELECT 籍贯,MAX(年龄)AS 最大年龄FROM STUDENTGROUP BY 籍贯 HA VING 最大年龄>22A .1 B .2 C .3 D .4 6.下列程序执行后,结果中将包含 C 条记录。SELECT STUDENT.学号,STUDENT.姓名FROM STUDENT INNER JOIN SKB

ON STUDENT.学号=SKB.学号WHERE SKB.成绩BETWEEN 80 AND l 00 C .4 D .6 7.给所有的选修课号为”0001”的女生的该课成绩增加5分,使用的语句为 C .

C .UPDA TE SKB SET 成绩=成绩+5 WHERE 课号=”0001”AN

D 学号IN (SELECT 学号 FROM STUDENT WHER

E 性别=”女”) 8.要给学生信息表(STUDENT)增加一个出生日期字段(日期型),下面正确的是 C . C .ALTER TABLE STUDENT ADD COLUMN 出生日期 DA TETIME 9.创建一个名为RS 的视图,用来显示所有学生的学号、姓名和平均成绩,下面正确语句是____D___。 D .CREA TE VIEW RS AS SELECT STUDENT.学号,STUDENT.姓名,A VG(SKB.成绩) AS 平均成绩 WHERE STUDENT.学号=SKB.学号GROUP BY STUDENT.学号 10.SQL 是 Struct Query Language 的缩写。 11.SQL 定义表的命令是Create table 、修改表结构的命令是 alter table 、删除表的命令是 drop table . 12.SELECT 语句的HA VING 子句一般跟在 group by 子句后面。 13.SQL 语言中,实现数据控制功能的语句主要有 grant 和 revoke 。第八章 使用BDE 组件开发数据库应用程序 1.下列的4个组件中, D 和其他的三个不是一类。D.TDataSource 2.

在数据库桌面中已经建立了一个数据库别名“MY ALIAS ”,现在要让TTable 组件能够访问该别名下的数据表,应把它的 B 属性设置为该别名值。A .Database B .DatabaseName C .TableName D.TableType 3.要使TDataSource 组件与TTable 组件相联系,应把它的 A 属性设置为TTable 组件的名称。 A .DataSet 4.要使TDBNavigator 组件能够浏览某个数据表中的记录,应把它的DataSource 属性设置为___B____组件名。 B .TDataSource 5.要使TDBText 组件能够显示数据表中的某一字段的内容,除应设置它的DataSource 属性外,还应把它的 A 属性设

置为对应的字段名。

A .DataField 6.TDBLookListBox 组件中显示的列表项由

B 决定。A .DataField B .ListField 7.TTable 组件位于 BDE 组件页中。TDBGrid 组件位于 Datacontrols 组件页中。为使TDBGrid 组件能够显示TT'able 组件连接的数据表的内容,应该在它们的中间添加一个___TDataSource____组件。 8.要把记录指针移到数据集的首记录,应执行TTable 组件的 first 方法;要把记录指 针移到数据集的末记录,应执行TTable 组件的 last 方法;要把记录指针移到数据集的下 一条记录,应执行TTable 组件的 next 方法;要把记录指针移到数据集的前一条记录,应执行TTable 组件的 prior 方法;要为数据集增加一条新记录,应执行TTable 组件的___insert 方法或 append 方法;要删除数据集的当前记录,应执行TTable 组件的 delete 方法;要编辑修改当前记录,应执行TTable 组件的 edit 方法;要想把对当前记录的修改或添加的新记录存放到数据表中,应执行TTTable 组件的 post 方法;要想取消对当前记录的修改或添加的新记录,应执行TTable 组件的 cancel 方法。 9.TDataSource 组件是通过 Dataset 属性与TTable 组件建立联系的。 10.数据控制组件要访问数据集中的某个字段,首先应通过设置它的 DataSource 属性以便和TDataSource 组件建立联系,然后应设置它的 datafield 属性以使和具体的字段建立联系。 11.正确设置TTable 组件的DatabaseName 和TTableName 属性后,要想TTTable 组件能够 显示数据集的内容,还应把它的 active 属性设置为True 。 12.当记录指针位于 最后一条记录 位置时,TTable 组件的Eof 属性为True ,当记录指针位于 第一条记录 位置时,TTable 组件的Bof 属性为True 。 13.TTable 组件和TQuery 组件在功能上有什么区别? 答:前者通常是返回一个简单的单表数据集。 而后者可以写复杂的SQL 语句返回数据集外,还可以只执行SQL 命令不返回数据集。 第九章 使用TQuery 组件和SQL 语言编程 1.TQuery 组件的 A 属性用来与数据库相连接。A .DatabaseName B .TableName

C .DataSource

D .SQL 2.TQuery 组件主要用于执行SQL 语句,它执行的SQL 语句存放在 D 属性中。A .DatabaseName B .TableName

C .DataSource

D .SQL

3.要使TQuery 组件中的SQL 语句执行后返回一个结果数据集,应调用TQuery 组件的B 方法。

A .Add

B .Open

C .ExecSQL

4.可通过把TQuery 组件的Active 属性值设置为True 来执行存放在SQL 属性中的SQL 语句。 5.调用TQuery 组件的 Prepare 方法,Delphi 会将带参数的SQL 语句传送给对应的数据库引擎,对SQL 语句进行语

法分析和优化,从而大大提高动态SQL 语句的执行性能。

6.调用TQuery 语句的SQL 属性的 Clear 方法可以清除SQL 属性中存放的字符串。 7.在TQuery 组件的Open 方法和ExecSQL 方法有什么区别?答:前者有返回数据集,后者则没有。第十章 ADO 数据库编程 1.Delphi 通过把ADO 的对象封装在相应的组件中来实现对ADO 的支持,通常可使用 A 组件来建立与物理数据库的连接,其他组件能够通过该组件来访问数据库。A .TADOCormection B .TADOTable C .TADOCommand D .TADOQuery 2.在开发较为复杂的ADO 数据库应用程序时,其他ADO

组件(如ADOTable 组件)最好还是通过TADOConnection 组件来连接数据库,若想通过TADOConnection 组件连接数据库,应把它的 D 属性设置为TADOConnection 组件名。 D .Connection 3.下列 B 组件能够执行SQL 命令。A .TADOConnection B .TADOCommand 4.下列 B 组件最适合执行SQL 的DML 语句。A .TADOConnection B .TADOCommand C .TADOTable D .TADOQuery 5.下列 D 组件最适合执行SQL 的SELECT 语句。 A .TADOConnection B .TADOCommand C .TADOTable D .TADOQuery 6.下列 C 组件不适合执行不返回结果的SQL 语句。A .

TADOConnection B .TADOCommand C .TADODataSet D .TADOQuery 7.

通过TADOTable 组件的 A 属性,可以设定正在被操作的数据表的名字。A .TableName B .TableDirect C .CommandType 8.要对记录集进行批更新,应把记录集的LockType 属性设置为ltBatchOptimistic 。在进行批更新操作时,修改的数据被放入缓存中,直到调用方法 A 后,在缓存中标记为修改

的记录才正式写入到数据库中,标记为删除的记录才被删除。A .UDdateBatch B .CancelUpdate C .Post 9.TADOConnection 组件对象的连接字符串创建完成后并没

有建立实际的连接,要创建实际的连接,可以通过把

TADOConnection 对象的 CONNECTED 属性设置为True 来完成,也可以通过调用TADOConnection 组件的 open 方法来实现。 10.TADODataSet 组件通过执行 CommandText 属性中存放的命令以形成记录集,在该属性中可以指定一个数据表名,也可以写入SQL —SELECT 查询语句。 11.使用TADOQuery 组件,在运行阶段执行该组件的SQL 属性中语句方法有两种:如果 SQL 语句是返回结果的SELECT 语句,则应使用 Open 方法,否则应该使用ExecSql 方法。 12

.TADOStoredProc 组件通过 ProcedureName 属性指定存放在服务器上的一个存储过程,应用程序可以执行这个存储过程。 13.调用TADOCommand 对象 Execute 方法,可以执行存放在该对象的CommandText 属性中的命令,命令的执行可能返回一个结果记录集,为存取该记录集必须通过一个TADODataSet 组件,存取的前提是调用该方法时把返回值赋值给TADODataSet 组件的__ Recordset ___属性。 14.编写一个ADO 应用程序在一个列表框中列出“教学.MDB ”数据库中的所有表名,当 选中相应的表名后,该表中的内容会自动显示在一个TDBGrid 组件中。 一.选择控件TADOQuery 、TDataSource 、TADOConnection 、TDBGrid TButton 、TComboBox 二.绑定控件DBGrid1.DataSource = DataSource1 DataSource1.DataSet=ADOQuery1 ADOQuery1. Connection = ADOConnection1 三.设定控件属性 ADOConnection1.loginPrompt := False Button1.Caption := ‘Connect Da taBase’Button2.Caption := ‘Show’ 四.Button1.Click 事件(连络数据库,把数据库中的表名显示在ComboBox1中) //==========读取INI 配置文件=========== function gReadFromAppIniFile(Sec,Item,Default:Strin g):String; var SYSIni: TIniFile; sRtn,FileName:String; begin FileName:=Copy(Application.ExeName,1,Lengt h(Application.ExeName)-3) + 'ini'; if not FileExists(FileName) then FileCreate(FileName); sRtn := ''; SYSIni:= TIniFile.Create(FileName); try sRtn := SYSIni.ReadString(Sec,Item,Default); finally SYSIni.Free; end; Result := trim(sRtn); end; //==========click 事件 ===========

procedure TForm1.Button1Click(Sender: TObject);

var connectStr:String;

begin if not ADOConnection1.Connected then begin connectStr:=gReadFromAppIniFile('DB','Conn ectString',''); ADOConnection1.ConnectionString:=connectSt r; ADOConnection1.Connected:=True; n

图书 借阅 借书人 m 借书证号 单 位 姓 名 书 名

数 量 书 号 n m

出版社 出版

借书日期

还书日期

位 置

邮 编 地 址 出版社名 电报编号 电 话

2

ADOConnection1.GetTableNames(ComboBox1.Ite ms); end; end;

0、试述采用E-R 方法进行数据库概念设计的过程。

答:采用E-R 方法进行数据库概念设计,可以分成3步进行:首先设计局部E-R 模式,然后把各局部E-R 模式综合成一个

全局的E-R 模式,最后对全局E-R 模式进行优化,得到最终的E-R 模式,即概念模式。

1、某大学实现学分制,学生可根据自己情况选课。每名学生

可同时选修多门课程,每门课程可由多位教师主讲;每位教

师可讲授多门课程。其不完整的E-R 图如图1所示。 (1)指出学生与课程的联系类型。 (2)指出课程与教师的联系类型。

(3)若每名学生有一位教师指导,每个教师指导多名学生,

则学生与教师是如何联系?

(4)在原E-R 图上补画教师与学生的联系,并完善E-R 图。 (5)学生与课程联系类型是多对多联系。

(6)课程与教师的联系类型是多对多联系。

(7)学生与教师的联系类型是一对多联系。

(8)完善本题E-R 图的结果如图2所示。

学生课程教师

图6.11 一个E-R 图

图6.12 完善后的E-R 图

学生课程

教师

指导讲授

选修

m

n

m

m

n

1

2、将如图3所示的E-R 图转换为关系模式,菱形框中的属性自己确定。

答:本题的E-R 图转换为如下的关系模式: 单位(单位号,地址,电话)

职工(职工号,姓名,性别,年龄,单位号)

单位号职工号

单位号

地址年龄

姓名电话

性别单位

职工

D-E

1m

图6.13 一个E-R 图

3、假定一个部门的数据库包括以下信息:

(1)职工的信息:职工号、姓名、地址和所在部门。

(2)部门的信息:部门所有职工、部门名、经理和销售的产品。

(3)产品的信息:产品名、制造商、价格、型号及产品的内部编号。

(4)制造商的信息:制造商名称、地址、生产的产品名和价格。

试画出这个数据库的E-R 图。

答:本题对应的E-R 图如图 4所示。

职工制造商产品部门从属生产销售职工号产品号

部门好姓名地址经理

产品内部编号价格型号

地址

名称m 1m n

m n

图6.14 一个E-R 图

4、某医院病房计算机管理中心需要如下信息:

科室:科名、科地址、科电话、医生姓名 病房:病房号、床位号、所属科室名

医生:姓名、职称、所属科室名、年龄、工作证号

病人:病历号、姓名、性别、诊断、主管医生、病房号

其中,一个科室有多少个病房、多少个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。 完成如下设计:

(1)设计该计算机管理系统的E-R 图 (2)将该E-R 图转换为关系模式结构。

(3)指出转换结果中每个关系模式的后选码。 答:(1)本题的E-R 图如图5所示。 病房

医生

病人

科室

入住组成

从属

诊治

病房号科地址床位号

科电话

病历号

姓名

年龄

姓名

职称

性别

科名工作证号

图6.15 一个E-R 图

m

1

1

m

m

1

1

m (2)对应的关系模式结构如下:

科室(科名,科地址,科电话) 病房(病房号,床位号,科室名)

医生(工作证号,姓名,职称,科室名,年龄) 病人(病历号,姓名,性别,主管医生,病房号) (3)每个关系的后选码如下: 科室的后选码是科名。

病房的后选码是科室名+病房号。 医生的后选码是工作证。 病人的后选码是病历号。 5、设有如下实体:

学生:学号、单位名称、姓名、性别、年龄、选修课名 课程:编号、课程名、开课单位、认课教师号

教师:教师号、姓名、性别、职称、讲授课程编号 单位:单位名称、电话、教师号、教师姓名 上述实体中存在如下联系:

(1)一个学生可选多门课程,一门课程可被多个学生选修。 (2)一个教师可讲授多门课程,一门课程可由多个教师讲授。

(3)一个单位可有多个教师,一个教师只能属于一个单位。 试完成如下工作:

(1)分别设计学生选课和教师任课两个局部E-R 图。 (2)将上述设计完成的E-R 图合并成一个全局E-R 图。 (3)将全局E-R 图转换为等价的关系模式表示的数据库逻辑结构。 答:(1)学生选课局部E-R 图如图6所示,教师任课局部E-R 图如图7所示。

单位课程

学生

开课

拥有

选修

教师号

课程名

单位名称

姓名

年龄

性别

学号

编号

图6.16 学生选课的局部E-R 图

1

1

m

m

n

m

单位

学生

课程

教师属于

开课讲授

拥有

选课

图6.18 合并的全局E-R 图

1

1m

1

m

n

m m

n

m

(2)合并的全局E-R 图如图8所示

为避免复杂,合并的全局E-R图中省略了以下各实体的属性:

单位:单位名称,电话

学生:学号,姓名,性别,年龄 教师:教师号,姓名,性别,职称 课程:编号,课程名

教师单位课程讲授属于单位名称

教师号姓名编号电话职称

性别图6.17 教师任课的局部E-R 图m n m 1

(3)该全局E-R图转换为等价的关系模式表示的数据逻辑结构如下:

单位(单位名称,电话) 课程(教师号,姓名,性别,职称,单位名称) 学生(学号,姓名,性别,年龄,单位名称) 讲授(教师号,课程编号) 选修(学号,课程编号) 6、图9给出(a)、(b)和(c)3个不同的局部模型,将

其合并成一个全局信息结构,并设置联系实体中的属性(准

许增加认为必要的属性,也可将有关基本实体的属性选作联

系实体的属性)。 各实体构成如下: 部门:部门号、部门名、电话、地址

职员:职员号、职员名、职务(干部/工人)、年龄、性别

设备处:单位号、电话、地址

工人:工人编号、姓名、规格、价格

设备:设备号、名称、规格、价格 零件:零件号、名称、规格、价格

厂商:单位号、名称、电话、地址

部门

设备

零件

设备处

厂商

职员工人

生产

装配

管理

工作

工作

零件

( a )

( b )

( c )

图6.19 局部的E-R 图

1

m 1

m 1

m

m

n

m

n

答:汇总后的E-R图如图6.20所示。

部门职员

零件

设备管理

生产

装配

工作

图6.20 汇总后的E-R 图

1

1m

m

m

n m

n

类实体的属性为:

部门:部门号、部门名、电话、地址

职工:职工号、职工名、职务、年龄、性别 设备:设备号、名称、规格、价格 零件:零件号、名称、规格、价格

7、一个图书馆借阅管理数据库要求提供下述服务:

(1)可随时查询书库中现有书籍的品种、数量与存放位置。

所有各类书籍均可由书号惟一标识。

(2)可随时查询书籍借还情况,包括借书人单位、姓名、

借书证号、借书日期和还书日期。

我们约定:任何人可借多种书,任何一种书可为多个人所借,

借书证号具有惟一性。

(3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息下相应出版社增购有关书籍。我们

约定,一个出版社可出版多种书籍,同一本书仅为一个出版

社出版,出版社名具有惟一性。

根据以上情况和假设,试作如下设计:

(1)构造满足需求的E-R图。 (2)转换为等价的关系模式结构。

答:

(1)满足上述需求的E-R图如图11所示。 借书人出版社图书借阅

出版借书日期借书证号电报编号还书日期

出版社名书号单位姓名电话地址邮编位置数量书名 m n

m 1图6.21 图书借阅管理数据库E-R 图

(2)转换为等价的关系模式结构如下: 借书人(借书证号,姓名,单位)

图书(书号,书名,数量,位置,出版社名)

出版社(出版社名,电报编号,电话可,邮编,地址) 借阅(借书证号,书号,借书日期,还书日期)

8、工厂(包括厂名和厂长名)需建立一个管理数据库存储以下信息:

(1)一个工厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。

(2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种

(3)一个车间生产多种产品,产品有产品号和价格。

(4)一个车间生产多种零件,一个零件也可能为多个车间制造。零件有零件号、重量和价格。

(5)一个产品由多种零件组成,一种零件也可装配出多种产品。

(6)产品与零件均存入仓库中。

(7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。 试:(1)画出该系统的E-R图 (2)给出相应的关系模式。 (3)画出该系统的层次模式图。

答:(1)该系统的E-R图如图12所示。 各实体的属性为:

工厂:厂名、厂长姓名

车间:车间号、车间主任姓名、地址、电话 工人:职工号、姓名、年龄、性别、工种 仓库:仓库号、仓库主任姓名、电话 零件:零件号、重量、价格 产品:产品号、价格

图11

图10

图9

图8

图7

图6

图5

图4

图3

图2

图1

3

工厂

产品

零件

工人

仓库车间

隶属

构成

存放存放

装配

生产

制造

组成

1

m

1m m

1

m

n

m

m 1

1m 1

m

n

图6.22 系统的E-R 图

(2)相应的关系模式如下:

工厂(厂名、厂长姓名)

车间(车间号、车间主任姓名、地址、电话、厂名) 工人(职工号、姓名、年龄、性别、工种、车间号) 仓库(仓库号、仓库主任姓名、电话、长名) 产品(产品号、价格、车间号、仓库号) 零件(零件号、重量、价格、仓库号) 制造(车间号、零件号)

(3)该系统的层次模型图如图13所示。 8、有如下运动队和运动会两个方面的实体: 1.运动队方面

运动队:队名、教练姓名、队员姓名 队员:队名、队员姓名、性别、项名

其中,一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般有一个教练。 2.运动会方面

运动队:队编号、队名、教练姓名

项目:项目名、参加运动队编号、队员姓名、性别、比赛场地

其中,一个项目可由多个队参加,一个运动员可参加多个项目,一个项目一个比赛场地。

工厂

制造产品

装配零件工人

仓库

装配

车间

产品制造装配零件

装配图6.23 该系统的层次模型图

请完成如下设计:

分别设计运动队和运动会两个局部E-R图。

将他们合并为一个全局E-R图。

合并时存在什么冲突,你是如何解决这些冲突的? 答:(1)运动队局部E-R图如图14所示,运动会局部E-R图如图15所示。

运动队

队员队名

属于

队名

教练姓名

项目

性别

姓名

图6.24 运动队局部E-R 图

1

m

项目

运动队

场地

队名

队编号

项目名

教练姓名

参加

n

m

图6.25 运动会局部E-R 图

(2)合并结果如图6.26所示。

队员

属于

项目

运动队

场地

队名队编号项目名

教练姓名

参加

n

m

姓名

性别

比赛

1

m

m

n

图6.26 合并后的全局部E-R 图

(3)命名冲突:项名、项目名异名同义,统一命名为项目

名。

结构冲突:项目在两个局部E-R图中,一个作属性,一个作

实体,合并统一为实体。

9、假设要建立一个企业数据库,该企业有多个下属单位,每一个单位有多个职工,一个职工仅隶属于一个单位,且一个职工仅在一个工程中工作,但一个工程中有很多职工参加工作,有多个供应商为各个工程供应不同设备。单位的属性有:单位名、电话。职工的属性有:职工号、姓名、性别。设备的属性有:设备号、设备名、产地。供应商的属性有:姓名、电话。工程的属性有:工程名、地点。 请完成如下处理:

设计满足上述要求的E-R图。

将该E-R图转换为等价的关系模式。

根据你的理解,用下划线标明每个关系中的码。 答:(1)满足要求的E-R图如图17所示。

单位

供应商工程

职工

设备

参加

供应

拥有

1m

m

1

m

n

n 图6.27 一个E-R 图

各实体的属性如下:

单位(单位名、电话)

职工(职工号、姓名、性别) 设备(设备名、设备号、产地) 供应商(姓名、电话) 工程(工程名、地点)

(2)转换后的关系模式如下: 单位(单位名、电话)

职工(职工号、单位名、工程名、姓名、性别) 设备(设备名、设备号、产地) 供应商(姓名、电话) 工程(工程名、地点)

供应(供应商姓名、工程名、设备号、数量)(3)见(2)中下划线。

10、图反映了一个公司部门(DEPT)、职工(EMP)、工程(PROJ)、材料(PART)、材料供应商(SUPP)和仓库(WH)之间联系的E-R图。建立它的关系模式。

DEPT SUPP WH

PART

PROJ

DEPT

D-E E-PR

INV

S-PR-PA

1

m

m

1

n

m

p n

m

图6.28 一个E-R 图

答:对应的关系模式如下:

部门(部门号,部门名,…)

职工(职工号,职工名,部门号,工程号,…) 工程(工程号,工程名,…) 材料(材料号,材料名,…)

材料供应商(供应商号,姓名,…)

仓库(仓库号,仓库名,地点,…) INV(仓库号,材料号)

S-PR-PA(供应商号,公称好,材料号) 有下划线的属性或属性组为码。

11、设一个海军基地要建立一个舰队管理信息系统,它包括如下两个方面的信息: 1.舰队方面

舰队:舰队名称、基地地点、舰艇数量 舰艇:编号、舰艇名称、舰队名称 2.舰艇方面

舰艇:舰艇编号、舰艇名、武器名称

武器:武器名称、武器生产时间、舰艇编号 官兵:官兵证号、姓名、舰艇编号

其中,一个舰队拥有多艘舰艇,一艘舰艇属于一个舰队;一艘舰艇安装多种吴起,一个武器可安装于多艘舰艇上;一艘舰艇有多个官兵,一个官兵只属于一艘舰艇。 请完成如下设计:

(1)分别设计舰队和舰艇两个局部E-R图。

(2)将上述两个局部E-R图合并为一个全局E-R图。 (3)将该全局E-R图转换为关系模式。 (4)合并时是否存在命名冲突?如何处理? 答:(1)舰队和舰艇两个局部E-R图分别如图所示。

舰队

舰艇

拥有

舰队名称基地地点舰艇数量舰艇名称

编号1

m

图6.29 舰队局部E-R 图

(2)将图19和图20所示出两个局部E-R图合并为如图21所示的全局E-R图。

(3)转换的关系模式如下:

舰队(舰队名称,基地地点)

舰艇(舰艇编号,舰艇名称,舰队名称,舰艇数量) 官兵(官兵证号,姓名,舰艇编号) 武器(武器名称,武器生产时间) 安装(舰艇编号,吴起名称) (4)存在冲突,表现在:

● “舰艇编号”和“编号”存在异名同义,合并时统一为“舰艇编号”。

● “舰艇名”和“舰艇名称”存在异名同义,合并时统一为“舰艇名称”。

舰艇兵官

武器

兵官证号

武器名称

舰艇编号

武器生产时间

姓名

属于

安装

舰艇名

m

n

1

m 图6.30 舰艇局部E-R 图

舰艇

武器

武器名称

舰艇编号

安装

舰艇名

m

n

武器生产时间

属于兵官兵官证号

姓名舰队

拥有

舰队名称基地地点

舰艇数量1

m

图6.31 全局E-R 图

12、社某商业集团数据库中有3个实体集,一是“商

品”实体集,属性有商店编号、商店名、地址等;二是“商

品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。 商店与商品间存在“销售”联系,每个商店可销售多种商品,

每中商品也可以放在多个商店销售,每个商店孝顺的一种商品有月销售量;商店与职工之间存在“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和工资。 (1)试画出E-R图。

(2)将该E-R图转换成关系模式,并指出主码和外码。 答:(1)对应的E-R图如图所示。

商店

职工

商品

商店编号月销售量职工编号商品号

商店名商品号

单价

姓名性别

业绩

聘期

工资

地址

聘用

销售

规格

m

1

n

n

图6.32 一个E-R 图

(2)这个E-R图可转换为如下关系模式:

商店(商店编号,商店名,地址) 商店编号为主码

职工(职工编号,姓名,性别,业绩,商店编号,聘期,工资) 职工编号为主码,商店编号为外码。

商品(商品号,商品名,规格,单价) 商品号为主码 销售(商店编号,商品号,月销售量) 商店编号+商品号为主码 商店编号,商品号均为外码

13、学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用E-R图画出此学校的概念模型,实体的属性可自行设计。

答:对应的E-R图如图23所示。各实体的属性如下: 系:系名,系主任号,系地址,系电话 班级:班号,班长,人数

教研室:教研室名,地址,电话

学生:学号,姓名,性别,年龄,籍贯,入学年份,专业 本科生:已修学分,平均成绩 研究生:研究方向,导师姓名

教员:姓名,年龄,性别,职称,专长 正副教授:科研项目,研究方向

课程

教员

学生

教研室

班级

属于指导

选修

隶属

从属

组成

本科生

正副教授研究生

11

m

m 1

1m

m m

n

m

n

图6.33 学校概念模型

图16

图14

图12

图17

图22

图21

图18

图19

图20

图13

图15

图23

教学管理系统数据库ER图及SQL语句

教学管理系统 一、系统功能需求 学校教务管理系统是针对学校的大量信息处理工作而开发的管理软件,完成的主要功能如下: (1) 学生基本信息管理:能够对学生基本信息进行输入、删除、修改。学生基本信息包括:学号、姓名、性别、出生日期、入学成绩、所在系号。 (2) 系部基本信息管理:系部的基本信息输入、修改、删除。系部基本信息包括:系号、系名称、系的简介。 (3) 课程信息管理:课程信息的输入、修改、删除。课程信息包括:课程号、课程名称、任课教师号、学时、学分、上课时间、上课地点、考试时间。 (4) 教职工信息管理:教职工信息的输入、修改、删除。教职工信息包括:职工号、姓名、性别、出身年月、所在系号、职称、技术专长。 (5) 选课管理:学号、学生、课程号、课程名称、上课教师姓名、系号 每学期所选课程的学分不能超过15分。学生可以同时选修一门或多门课程。可以同时为多个学生选修某一门或某几门课程。可以删除和修改选课信息。 (6) 成绩管理可以按课程输入和修改成绩,也可以按学生输入和修改成绩。 (7) 信息查询 可以按学号、姓名、系号查询学生基本信息。 可以按职工号、姓名、系号查询教职工基本信息。 可以按系号、系名称查询系的基本信息。 可以按课程号、课程名称、上课教师姓名查询课程基本信息。 按学号、课程号、课程名称、上课教师姓名、系号查询学生成绩,内容包括课程基本情况。若查询涉及多门课程,则按课程分组。 每门课程按总评成绩从高分到低分给出选修该门课程的所有学生的成绩(平时成绩、考试成绩和总评成绩)。 (8) 统计报表 a、成绩报表:内容包括课程基本信息(课程号、课程名称、任课教师号、学时、学分),选课学生名单(学号、姓名、性别),每个学生的平时成绩、考试成绩和总评成绩。 能按课程号、课程名称、教师姓名输出对应课程的成绩报表。 b、能够根据课程、授课教师统计成绩>=90分、>=80分、>=70分、>=60分及不及格学生的人数及比例。 二、任务描述 1、根据需求描述,完成数据概念模型设计,画出E-R图; 2、优化E-R图,给出数据逻辑模型; 3、将逻辑模型转换成物理模型并创建数据库和数据表。要求数据表能尽量实现数 据完整性要求。

数据库概念设计ER图

数据库概念设计 ER图 注:提交时,将文件名命名为(数据库系统概论ER图练习:学号+姓名+日期) 第一题:参考 大学实行学分制,学生可根据自己的情况选课。每名学生可同时选修多门课程,每门课程可由多位教师主讲;每位教师可讲授多门课程。 指出学生与课程的联系类型。 指出课程与教师的联系类型。 若每名学生有一位教师指导,每个教师指导多名学生,则学生与教师是何联系? 在原E-R图上补画教师与学生的联系,并完善E-R图。

第二题:将ER图转化为关系模式 单位 职工 第三题:画ER图 职工:职工号、姓名、地址和所在部门 部门:部门所有职工、部门名、经理和销售的产品 产品:产品名、制造商、价格、型号和产品内部编号 制造商:制造商名称、地址、生产的产品名和价格 部门有很多职工,职工仅在一个部门工作; 部门销售多种产品,这些产品也在其它部门销售; 制造商生产多种产品,其它制造商也制造这些产品。

画ER图 第四题:画ER图 科室:科名、科地址、科电话、医生姓名 病房:病房号、床位号、所属科室名 医生:姓名、职称、所属科室名、年龄、工作证号 病人病历号、姓名、性别、诊断、主臂医生、病房号一个科室有多个病房、多个医生; 一个病房只能属于一个科室; 一个医生只属于一个科室,但可负责多个病人的诊治;

一个病人的主管医生只有一个。 完成如下设计: 设计该计算机管理系统的E-R图。 将该E-R图转换为关系模式结构。 指出转换结果申每个关系模式的候选码。 第五题:画ER图 某田径运动会组委会需要一运动会管理系统,现提出如下需求。该系统中存在运动队和运动会两方面的实体。 1.运动队方面 运动队:队名、教练姓名 队员:编号、姓名、性别、项名 其中,一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般有一个教练,一个队员可参加多个项目 2.运动会方面 运动队:队编号、队名、教练姓名 项目:项目名、参加运动队编号、场地 其中,一个项目可由多个队参加,一个运动队可参加多个项目,一个项目一个比赛场地。现要求:(1).分别设计运动队和运动会的局部ER图。

数据库ER图习题汇总

7、一个图书馆借阅管理数据库要求提供下述服务: (1)可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号惟一标识。 (2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。 我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有惟一性。 (3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息下相应出版社增购有关书籍。我们约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有惟一性。 根据以上情况和假设,试作如下设计: (1)构造满足需求的E-R图。 (2)转换为等价的关系模式结构。 答:(1)满足上述需求的E-R图如图11所示。 (2)转换为等价的关系模式结构如下: 借书人(借书证号,姓名,单位) 图书(书号,书名,数量,位置,出版社名) 出版社(出版社名,电报编号,电话可,邮编,地址) 借阅(借书证号,书号,借书日期,还书日期)

8、工厂(包括厂名和厂长名)需建立一个管理数据库存储以下信息: (1)一个工厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。 (2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。 (3)一个车间生产多种产品,产品有产品号和价格。 (4)一个车间生产多种零件,一个零件也可能为多个车间制造。零件有零件号、重量和价格。 (5)一个产品由多种零件组成,一种零件也可装配出多种产品。 (6)产品与零件均存入仓库中。 (7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。 试:(1)画出该系统的E-R图。 (2)给出相应的关系模式。 (3)画出该系统的层次模式图。 答:(1)该系统的E-R图如图12所示。 各实体的属性为: 工厂:厂名、厂长姓名 车间:车间号、车间主任姓名、地址、电话 工人:职工号、姓名、年龄、性别、工种 仓库:仓库号、仓库主任姓名、电话 零件:零件号、重量、价格 产品:产品号、价格 (2)相应的关系模式如下: 工厂(厂名、厂长姓名) 车间(车间号、车间主任姓名、地址、电话、厂名) 工人(职工号、姓名、年龄、性别、工种、车间号)

如何画数据库ER图

如何画数据库ER图 数据库设计中重要的一环首先就是概念设计,也就是说,要从实际问题出发,排除非本质的东西,抽象出现实的数据结构之客观规律——即画出数据结构图——ER图。这是数据库设计的重点,也是数据库设计的难点。 那么,如何才能正确地反映客观现实,将ER图画好呢? 答案是,必须进行正确的需求分析。那么如何进行需求分析呢?需求分析一般有两种方法,一种是结构化分析(SA),一种是面向对象分析(OOA).通过这两种方法的实施以后,都可以得到比较正确的ER图。现在以下面的实际问题为例,通过结构化分析(SA)方法的应用,讲述如何得到比较正确的ER图。 ( 一 ) 校务管理系统 在要建立的系统中,有以下功能: 1.管理老师的功能:录入老师情况(姓名.地址.所教课程), 老师缺课记录(名字.时间.原因. 课程) 2.管理学生的功能: 录入学生情况 ( 姓名 . 所选课程 . 成绩 ) 3.教务主任的功能 : 查询统计 1: 教师情况 2: 学生总成绩 3: 学生平均成绩 要求: 1)用结构化方法画出系统顶层图、 0 层图,数据字典。 2)画出该系统的数据模型ER图。 一、结构化分析的需求分析 1)分析实际情况 根据实际情况,我们得到一下情况: (一)教师任课流程:

(二)学生选择课程流程: 2)画数据流图 (一、)顶层数据流图

3)画数据字典DD (略)和软件初始结构图 1基本数据=学生基本信息|教师基本信息|课程基本信息|教室基本信息 2教师任课信息=教师任课数据|教师考勤信息 3学生选课请求和成绩=学生选课请求|学生成绩 学生基本信息=学号+姓名+性别+年龄+专业+班级 。。。。。。 4

数据库ER图

1.设某商业集团数据库中有三个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。 公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 (1)试画出E-R图,并在图上注明属性、联系的类型。 (2)将E-R图转换成关系模型。 解:(1) E-R图 (2)这个E-R图可转换3个关系模式: 公司(公司编号,公司名,地址) 仓库(仓库编号,仓库名,地址,公司编号) 职工(职工编号,姓名,性别,仓库编号,聘期,工资) 2. 为某百货公司设计一个E-R模型。 百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。 实体类型“商店”的属性有:店号、店名、店址、店经理。 实体类型“商品”的属性有:商品号、品名、单价、产地。 实体类型“职工”的属性有:工号、姓名、性别、工资。 在联系中应反映出职工参加某商店工作的开始时间、商店销售商品的月销售量。 (1)试画出反映商店、商品、职工实体类型及其联系类型的E-R图。 (2)将E-R图转换成关系模型。

转换为等价的关系模式结构如下: 商店(店号,店名,店址,店经理) 商品(商品号,品名,单价,产地) 职工(工号,姓名,性别,工资,店号,开始时间) 经营(店号,工号,月销售量) 3.某体育运动锦标赛有来自世界各国运动员组成的体育代表团参赛各类比赛项目,包括以下信息: 代表团:团编号、地区、住所 运动员:运动员编号、姓名、年龄、性别 比赛项目:项目编号、项目名、级别 项目类别:类别编号类别名、主管 其中,一个代表团由若干运动员组成,一名运动员可以参加多个比赛项目,每名运动员参加每个比赛项目会有一个比赛成绩和名次,每个项目类别包含多个比赛项目,每个比赛项目只能属于一个项目类别。 (1)试为该锦标赛的比赛情况设计一个ER图 (2)将E-R图转换成关系模型,并注明主键和外键。 解:满足上述需求的ER图如图所示:

(完整版)数据库10个ER图练习题(只有ER图)

第1题: 设有商店和顾客两个实体,“商店”有属性:商店编号、商店名、地址、电话,“顾客”有属性:顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。 ①试画出ER图,并注明属性和联系类型。(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分) 商店(商店编号,商店名,地址,电话) 顾客(顾客编号,姓名,地址,年龄,性别) 消费(商店编号,顾客编号,消费金额,日期) 第2题: 假设每个学生选修若干门课程,且每个学生每选一门课只有一个成绩,每个教师只担任一门课的教学,一门课由若干教师任教。“学生”有属性:学号、姓名、地址、年龄、性别。“教师”有属性:职工号、教师姓名、职称,“课程”有属性:课程号、课程名。 ①试画出ER图,并注明属性和联系类型。(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分)

学生(学号,姓名,地址,年龄,性别) 课程(课程号,课程名) 教师(职工号,教师姓名,职称,课程) 选课(学号,课程号,成绩) 第3题: 设某商业公司数据库中有三个实体集,一是”公司”实体集,属性有公司编号、公司名、地址等;二是”仓库”实体集,属性有仓库编号、仓库名、地址等;三是”职工”实体集,属性有职工编号、姓名、性别等。每个公司有若干个仓库,每个仓库只能属于1个公司,每个仓库可聘用若干职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 ①试画出E-R图(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分)

数据库个ER图练习题只有ER图

第1题: 设有商店和顾客两个实体,“商店”有属性:商店编号、商店名、地址、电话,“顾客”有属性:顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。 ①试画出ER图,并注明属性和联系类型。(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分) 商店(商店编号,商店名,地址,电话) 顾客(顾客编号,姓名,地址,年龄,性别) 消费(商店编号,顾客编号,消费金额,日期) 第2题: 假设每个学生选修若干门课程,且每个学生每选一门课只有一个成绩,每个教师只担任一门课的教学,一门课由若干教师任教。“学生”有属性:学号、姓名、地址、年龄、性别。“教师”有属性:职工号、教师姓名、职称,“课程”有属性:课程号、课程名。 ①试画出ER图,并注明属性和联系类型。(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分) 学生(学号,姓名,地址,年龄,性别) 课程(课程号,课程名) 教师(职工号,教师姓名,职称, 课程) 选课(学号,课程号,成绩) 第3题: 设某商业公司数据库中有三个实体集,一是”公司”实体集,属性有公司编号、公司名、地址等; 二是”仓库”实体集,属性有仓库编号、仓库名、地址等;三是”职工”实体集,属性有职工编号、姓名、性别等。每个公司有若干个仓库,每个仓库只能属于1个公司,每个仓库可聘用若干职工,每 个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 ①试画出E-R图(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分)

仓库(仓库编号,仓库名,地址,公司编号) 公司(公司编号,公司名,地址) 职工(职工编号,姓名,性别, 仓库编号,聘期,工资) 第4题: 某研究所有多名科研人员,每一个科研人员只属于一个研究所,研究所有多个科研项目,每个科研项目有多名科研人员参加,每个科研人员可以参加多个科研项目。科研人员参加项目要统计工作量。“研究所”有属性:编号,名称、地址, “科研人员”有属性:职工号、姓名、性别、年龄,职称。“科研项目”有属性: 项目号、项目名、经费。 ①试画出ER图,并注明属性和联系类型。(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分) 研究所(编号,名称,地址) 科研人员(职工号,姓名,性别,年龄,职称, 编号) 科研项目(项目号,项目名,经费, 编号) 参^加(职工号,项目号,工作量) 第5题: 现有学生报考系统,实体“考生”有属性:准考证号、姓名、年龄、性别,实体“课程”有属性:课程编号、名称、性质。一名考生可以报考多门课程,考 运动员 m 项目号名称最好成绩

数据库概念设计ER图实例集

数据库概念设计ER图实例集 例1.某田径运动会组委会需要一运动会管理系统,现提出如下需求。该系统中存在运动队和运动会两方面的实体。 1.运动队方面 运动队:队名、教练姓名 队员:编号、姓名、性别、项名 其中,一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般有一个教练,一个队员可参加多个项目 2.运动会方面 运动队:队编号、队名、教练姓名 项目:项目名、参加运动队编号、场地 其中,一个项目可由多个队参加,一个运动队可参加多个项目,一个项目一个比赛场地。 现要求:(1).分别设计运动队和运动会的局部ER图。 (2).将它们合并为一个全局E-R图。 (3).合并时存在什么冲突,如何解决?

运动队局部ER图: ER图: 运动会局部 存在的冲突 (1).命名冲突:项名、项目名异名同义,统一命名为项目名; (2).结构冲突:项目在两个局部ER图中,一个做多值属性,一个作实体。统一为实体;运动队在两个局部图里的结构不一致也需统一。

例2.上海可的商业连锁集团需要建立信息系统。该系统中存在3个实体集,一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。 商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可以放在多个商店销售,每个商店销售的一种商品有月销售量;商店与职工之间存在“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和工资。 (1).试画出E-R 图。 (2).将该E-R 图转换成关系模式,并指出主码和外码。 ER 图: 关系模式: 商店(商店编号,商店名,地址) 职工(职工编号,姓名,性别,业绩,商店编号,聘期,工资) 商品(商品号,商品名,规格,单价)

数据库ER图

1 .设某商业集团数据库中有三个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库” 实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。 公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 (1)试画出E-R图,并在图上注明属性、联系的类型。 (2)将E-R图转换成关系模型。 (2)这个E-R图可转换3个关系模式: 公司(公司编号,公司名,地址) 仓库(仓库编号,仓库名,地址,公司编号) 职工(职工编号,姓名,性别,仓库编号,聘期,工资) 2.为某百货公司设计一个E-R模型。 百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于实体类型“商店”的属性有:店号、店名、店址、店经理。 实体类型“商品”的属性有:商品号、品名、单价、产地。 实体类型“职工”的属性有:工号、姓名、性别、工资。 在联系中应反映出职工参加某商店工作的开始时间、商店销售商品的月销售量。 (1)试画出反映商店、商品、职工实体类型及其联系类型的E-R图。 (2)将E-R图转换成关系模型。家商店。 解:⑴E-R

转换为等价的关系模式结构如下: 商店(店号,店名,店址,店经理 ) 商品(商品号,品名,单价,产地 ) 职工(工号,姓名,性别,工资,店号,开始时间 ) 经营(店号,工号,月销售量) 3. 某体育运动锦标赛有来自世界各国运动员组成的体育代表团参赛各类比赛项目,包括以下信息: 代表团:团编号、地 区、住所 运动员:运动员编号、姓名、年龄、性别 比赛项目:项目编号、项目名、级别 项目类别:类别编号类别名、主管 其中,一个代表团由若干运动员组成,一名运动员可以参加多个比赛项目,每名运动员参加每个比赛项目会有 一个比赛成绩和名次,每个项目类别包含多个比赛项目,每个比赛项目只能属于一个项目类别。 (1) 试为该锦标赛的比赛情况设计一个 ER 图 (2) 将E-R 图转换成关系模型,并注明主键和外键。 解:满足上述需求的EF 图如图所示 :

数据库ER图基础概念整理

数据库ER图基础概念整理 ER图分为实体、属性、关系三个核心部分。实体是长方形体现,而属性则是椭圆形,关系为菱形。ER图的实体(entity)即数据模型中的数据对象,例如人、学生、音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entity member)或者说实体对象(entity instance),例如学生实体里包括张三、李四等,实体成员(entity member)/实体实例(entity instance)不需要出现在ER图中。ER图的属性(attribute)即数据对象所具有的属性,例如学生具有姓名、学号、年级等属性,用椭圆形表示,属性分为唯一属性(unique attribute)和非唯一属性,唯一属性指的是唯一可用来标识该实体实例或者成员的属性,用下划线表示,一般来讲实体都至少有一个唯一属性。ER图的关系(relationship)用来表现数据对象与数据对象之间的联系,例如学生的实体和成绩表的实体之间有一定的联系,每个学生都有自己的成绩表,这就是一种关系,关系用菱形来表示。ER图中关联关系有三种: 1对1(1:1):1对1关系是指对于实体集A与实体集B,A中的每一个实体至多与B中一个实体有关系;反之,在实体集B中的每个实体至多与实体集A中一个实体有关系。1对多(1:N):1对多关系是指实体集A与实体集B中至少

有N(N>0)个实体有关系;并且实体集B中每一个实体至多与实体集A中一个实体有关系。多对多(M:N):多对多关系是指实体集A中的每一个实体与实体集B中至少有 M(M>0)个实体有关系,并且实体集B中的每一个实体与实体集A中的至少N(N>0)个实体有关系。下面是个简单的例子:ER实体补充讲解:ER的实体还会细分为弱实体和复合实体:弱实体:一个实体必须依赖于另一个实体存在,那么前者是弱实体,后者是强实体,弱实体必须依赖强实体存在,例如上图的学生实体和成绩单实体,成绩单依赖于学生实体而存在,因此学生是强实体,而成绩单是弱实体。弱实体和强实体的联系必然只有1:N或者1:1,这是由于弱实体完全依赖于强实体,强实体不存在,那么弱实体就不存在,所以弱实体是完全参与联系的,因此弱实体与联系之间的联系也是用的双线菱形。上面实例根据弱实体的情况更改如下图:复合实体:复合实体也称联合实体或桥接实体,常常用于实现两个或多个实体间的M:N联系,它由每个关联实体的主玛组成,用长方体内加一个菱形来表示。下图就是一个典型的复合实体,因为只是举例,相对粗糙,用户和商品两个实体是M:N的关系,中间又订单这个实体联系,因此订单这个实体是一个复合实体,同时如果用户实体不存在,就没有订单实体的存在,因此对于用户实体来讲订单是弱实体,同理商品实体如果不存在,同样不存在订单实体,因此

数据库ER模型答案

5.11 设某商业集团数据库中有三个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。 商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。 (1) 试画出ER 图,并在图上注明属性、联系的类型。 (2) 将ER 图转换成关系模型,并注明主键和外键。 解:(1) ER 图如图5.1所示。 M 1 N N 5.12 设某商业集团数据库中有三个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。 公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 (1) 试画出ER 图,并在图上注明属性、联系的类型。(2) 将ER 图转换成关系模型,并注明主键和外键。 解:(1) ER 图如图5.2 1 N 1 N 地址 商店编号 职工 商店 商店名 业绩 姓名 性别 商品 商品号 规格 月薪 月销售量 商品名 销售 聘用 单价 职工编号 聘期 (2)这个ER 图可转换4个关系模式: 商店(商店编号,商店名,地址) 职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪) 商品(商品号,商品名,规格,单价) 销售(商店编号,商品号,月销售量) 地址 公司编号 职工 公司 公司名 姓名 性别 仓库 工资 仓库名 仓库编号 聘期 聘用 隶属 职工编号 地址 (2)这个ER 图可转换3个关系模式: 公司(公司编号,公司名,地址) 仓库(仓库编号,仓库名,地址,公司编号) 职工(职工编号,姓名,性别,仓库编号,聘期,工资)

数据库设计-ER图

数据库设计的基本步骤 (1)需求分析阶段:需求收集和分析,得到数据字典和数据流图。 (2)概念结构设计阶段:对用户需求综合、归纳与抽象,形成概念模型,用E-R图表示。 (3)逻辑结构设计阶段:将概念结构转换为某个DBMS所支持的数据模型。 (4)数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构。 (5)数据库实施阶段:建立数据库,编制与调试应用程序,组织数据入库,程序试运行。 (6)数据库运行和维护阶段:对数据库系统进行评价、调整与修改。 1 数据库设计概述 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据。 数据库设计的基本步骤: ?需求分析 ?概念结构设计 ?逻辑结构设计 ?物理结构设计 ?数据库的建立和测试 ?数据库运行和维护。

数据库各阶段设计描述

2 概念结构设计 在早期的数据库设计,在需求分析阶段后,就直接进行逻辑结构设计。由于此时既要考虑现实世界信息的联系与特征,又要满足特定的数据库系统的约束要求,因而对于客观世界的描述受到一定的限制。同时,由于设计时要同时考虑多方面的问题,也使设计工作变得十分复杂。1976年P.P.S.Chen提出在逻辑结构设计之前先设计一个概念模型,并提出了数据库设计的实体--联系方法(Entity--Relationship Approach)。这种方法不包括深的理论,但提供了一个简便、有效的方法,目前成为数据库设计中通用的工具。 有许多商业软件支持E-R模型,如Sybase公司的PowerDesigner DataArchitect(最新版本v9.5.1 for Windows)、微软公司Microsoft InfoModeler (VisioModeler)等。

数据库学生成绩管理系统ER图

系统需求分析: 该学生成绩管理系统主要用于管理高校学生的考试成绩,提供学生成绩的录入、修改、查询、等各种功能。成绩由各系的任课老师录入,或教务处人员统一录入。学生成绩录入后由各系系秘书签字确认,只有教务处拥有对学生成绩的修改权限。 用户的具体需求分析: (1)教师:负责成绩的录入,能够在一定的权限内对学生的成绩进行查询,可以对自己的登录密码进行修改以及个人信息的修改等基本功能。 (2)系统管理员:与老师的功能相似(每个系都设有一管理员) 另外管理员具有用户管理功能,能够对新上任的老师和新注册的学生行进添加,并能删除已经毕业和退休的老师。用户分为管理员、教师用户、学生用户三类。不论是管理员或教师用户,还是学生用户都需要通过用户名和口令进行登录。用户名采用学生的学号和教师的教号,所以规定只能包括数字。密码也只能是数字,用户只有正确填写用户名和密码才可以登入,进行下一步操作。用户名被注销后,用户将不再拥有任何权限,并且从数据表中删除该用户的信息。 (3)学生:能够实现学生自己成绩和个人信息的查询、登录密码的修改等基本功能。概念模型设计: 由前面的系统需求分析得到实体主要有5个:教师、学生、管理员、课程、成绩。 学生有属性:学号、姓名、性别、系名、专业、出生日期 教师有属性:教师号、姓名、性别、院系、联系电话 管理员属性:用户名、密码 课程有属性:课程号、课程名、学分、教师 成绩有属性:学号、姓名、课程号、课程名、成绩、授课老师

1)教师与课程之间的关系: 教师与课程之间是1: n的关系,即一个老师只能教一门课程,一门课程可以由多个老师讲授。 (教师与学生E-R图)

相关主题
相关文档
最新文档