1、1数据库原理与应用习题一、选择题1 WHERE 子句的条件表达式中可以匹配 0 个到多个字符的通配符是(B )。A.B.C.一D.?2 下列命令不属于 DBMS 的数据定义语言的是:( C )。A.CREATEB.DROPC.INSERTD.ALTER3 概念结构设计阶段得到的结果是(B ) 。A.数据字典描述的数据需求B.E-R 图表示的概念模型C.某个 DBMS 所支持的数据模型D.存储结构和方法的物理结构4 在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建( C) 。A.另一个表(table)B.游标(cursor)C.视图(view)D.索引(in
2、dex )6 在数据库中,可以有(D )个主键。A.一个B.二个C.三个D.任意多个7 2当两个子查询的结果( B ) 时,可以执行并、交、差操作。A.结构完全不一致B.结构完全一致C.结构部分一致D.主键一致8 一个 m:n 联系转换为一个关系模式。关系的码为( B) 。A.某个实体的码B.各实体码的组合C.n 端实体的码D.任意一个实体的码9 SQL Server 2008 的文件包括 : 主数据文件、辅助数据文件和 (B)。A.索引文件B.日志文件C.备份文件D.程序文件10 SQL 中创建基本表应使用(B )语句。A.CREATE SCHEMAB.CREATE TABLEC.CREAT
3、E VIEWD.CREATE DATEBASE11 用二维表结构表示实体以及实体间联系的数据模型称为( C) 。A.网状模型B.层次模型C.关系模型D.面向对象模型12 表达式 SUBSTRING (SHANGHAI,6,3)的值是(D ) 。A.SHANGHB.SHAC.ANGHD.HAI13 下面函数不能进行数据类型转换的是:(D) 。A.CONVERT3B.STRC.CASTD.LTRIM15 SELECT s_no=学号,s_name=姓名 FROM information WHERE 班级名=软件 021 表示( A )。A.查询 INFORMATION 表中 软件 021班学生的学
4、号、姓名B.查询 INFORMATION 表中 软件 021班学生的所有信息C.查询 INFORMATION 表中学生的学号、姓名D.查询 INFORMATION 表中计算机系学生的记录16 下面关于存储过程的描述不正确的是( C)。A.存储过程实际上是一组 T-SQL 语句B.存储过程预先被编译存放在服务器的系统表中C.存储过程独立于数据库而存在D.存储过程可以完成某一特定的业务逻辑17 下列( D)不属于 SQL Server 2008 在安装时创建的系统数据库。A.masterB.modelC.msdbD.userdb18 将多个查询结果返回一个结果集合的运算符是( B )。A.JOIN
5、B.UNIONC.INTOD.LIKE20 联接有内联接、外联接和交叉联接,其中外联接只能对( A)表进行。A.两个B.三个C.四个D.任意个21 索引项的顺序与表中记录的物理顺序一致的索引,称之为( B )。 A.复合索引 B.唯一性索引 C.聚集索引D. 非聚集索引 422 命令 SELECT s_no,AVG(grade) AS 平均成绩 FROM score GROUP BY s_no HAVING AVG(grade)=85,表示(A )。A.查找 score 表中平均成绩在 85 分以上的学生的学号和平均成绩B.查找平均成绩在 85 分以上的学生C.查找 score 表中各科成绩在
6、 85 分以上的学生D.查找 score 表中各科成绩在 85 分以上的学生的学号和平均成绩23 下面关于唯一索引描述不正确的是:(A )。A.某列创建了唯一索引则这一列为主键B.不允许插入重复的列值C.某列创建为主键,则该列会自动创建唯一索引D.一个表中可以有多个唯一索引24 数据库中只存放视图的(C ) 。A.操作B.对应的数据C.定义D.限制26 使用关键字( A )可以把查询结果中的重复行屏蔽。A.DISTINCTB.UNIONC.ALLD.TOP27 在 SQL 中,CREATE VIEW 语句用于建立视图。如果要求对视图更新时必须满足于查询中的表达式,应当在该语句中使用(D )短语
7、。A.WITH UPDATEB.WITH INSERTC.WITH DELETED.WITH CHECK OPTION28第 17 题 下面哪种文件无法与 SQL Server 数据库进行导入和导出操作( C) 。A.文本文件5B.EXCEL 文件C.Word 文件D.Access 文件29 如果要删除 Student 数据库中的 Information 表,则可以使用命令:( C) 。A.DELETE TABLE informationB.TRUNCATE TABLE informationC.DROP TABLE informationD.ALTER TABLE information30
8、 删除触发器 tri_Sno 的正确命令是: (C )。A.DELETE TRIGGER tri_SnoB.TRUNCATE TRIGGER tri_SnoC.DROP TRIGGER tri_SnoD.REMOVE TRIGGER tri_Sno31 系统存储过程在系统安装时就已创建,这些存储过程存放在(A )系统数据库中。A.masterB.tempdbC.modelD.msdb32 下列 SQL 语句中,能够实现参照完整性控制的语句是:(D ) 。A.FOREIGN KEYB.PRIMARY KEYC.REFERENCESD.FOREIGNKEY 和 REFERENCES33 关于 FO
9、REIGN KEY 约束的描述不正确的是:( D)。A.体现数据库中表之间的关系B.实现参照完整性C.以其他表 PRIMARY KEY 约束和 UNIQUE 约束为前提D.每个表中都必须定义34 下列不可能在游标使用过程中使用的关键字是:(D )。A.OPENB.CLOSEC.DEALLOCATE6D.DROP35 SELECT 语句中与 HAVING 子句同时使用的是( C)子句。A.ORDER BYB.WHEREC.GROUP BYD.无需配合36 在( A )子查询中,内层查询只处理一次,得到一个结果集,再依次处理外层查询。A.IN 子查询B.EXIST 子查询C.NOT EXIST 子
10、查询D.JOIN 子查询37 关于导入导出数据,下面说法错误的是( D) 。A.可以使用向导导入导出数据B.可以将 SQL Server 数据导出到 AccessC.可以保存导入导出任务,以后执行D.导出数据后,原有数据被删除38 SQL Server 2000 是一种(A )的数据库管理系统。A.关系型B.层次型C.网状D.树型39 使用( B )身份验证方式需要客户端应用程序连接时提供登录时需要的用户标识和密码。A.Windows 身份验证B.SQL Server 身份验证C.以超级用户身份登录时D.其他方式登录时40 以下(C ) 不属于数据库逻辑对象 A.表和视图B.索引和约束C.T-
11、SQL 脚本D.触发器41 7要查询 information 表中学生姓中含有“张”的学生情况,可用(A )命令。A.SELECT * FROM information WHERE s_name LIKE 张% B.SELECT * FROM information WHERE s_name LIKE 张_C.SELECT * FROM information WHERE s_name LIKE %张% D.SELECT * FROM information WHERE s_name LIKE “ 张 _“ 42 关于导入导出数据,下面说法错误的是(D ) 。A.可以使用向导导入导出数据B.可
12、以将 SQL Server 数据导出到 AccessC.可以保存导入导出任务,以后执行D.导出数据后,原有数据被删除43 如果对于实体集 A 中的每一个实体,实体集 B 中有可有多个个实体与之联系;反之,对于实体集 B 中的每一个实体,实体集 A 中也可有多个实体与之联系。则称实体集 A 与 B 具有( C )。A.1:1 联系B.1:n 联系C.n:m 联系D.多种联系44 用来表示可变长度的非 Unicode 数据的类型是:(C )。A.CHARB.NCHARC.VARCHARD.NVARCHAR45 假设表中某列的数据类型为 VARCHAR(100) ,而输入的字符串为 “ahng345
13、6”,则存储的是(A )。A.ahng3456,共 8 字节B.ahng3456 和 92 个空格C.ahng3456 和 12 个空格D.ahng3456 和 32 个空格46 要查询 INFORMATION 表中姓“王”且单名的学生情况,可用( B )命令。A.SELECT * FROM INFORMATION WHERE 姓名 LIKE 王%B.SELECT * FROM INFORMATION WHERE 姓名 LIKE 王_C.SELECT * FROM INFORMATION WHERE 姓名 = 王% D.SELECT * FROM INFORMATION WHERE 姓名 =
14、王_ _48 以下与事务控制无关的关键字是:(C )。A.ROLLBACKB.COMMIT8C.DECLARED.BEGIN49 下列不可能在游标使用过程中使用的关键字是:( D)。A.OPENB.CLOSEC.DEALLOCATED.DROP50 Create trigger 命令用于创建( B )。A.存储过程B.触发器C.视图D.表51 带有前缀名为 sp 的存储过程属于( B )。A.用户自定义存储过程B.系统存储过程C.扩展存储过程D.以上都不是52 以下关于视图的描述中,错误的是(D )。A.视图不是真实存在的基础表,而是一张虚表B.当对通过视图看到的数据进行修改时,相应的基本表的
15、数据也要发生变化C.在创建视图时,若其中某个目标列是聚合函数时,必须指明视图的全部列名D.在一个语句中,一次可以修改一个以上的视图对应的基表53第 39 题 SQL Server 2000 的数据以页为基本存储单位,页的大小为(A )。A.8KBB.16KBC.32KBD.64KB54 表达式123+456的值是( A) 。A.123456B.579C.123456D.123456”55 表达式 STUFF(HOW ARE YOU,4,1,OLD)的值是( B) 。9A.HOWARE YOUB.HOW OLD ARE YOUC.HOWOLDARE YOUD.HOW OLD RE YOU 56
16、T-SQL 中的全局变量以(A )作前缀。A.B.C.#D.#58.在数据库中存储的是 ( C ) A数据 B.数据模型 C.数据以及数据之间的联系 D.信息 59.信息的数据表示形式是 ( D ) A.只能是文字 B.只能是声音 C.只能是图形 D.上述皆可 60.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的阶段是 ( A ) A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 61.DBMS是 ( D )A.数据库 B.数据库系统 C.数据库应用软件 D.数据库管理系统 62.下列四项中,不属于数据库系统特点的是(
17、C ) A.数据共享 B.数据完整性 C.数据冗余度高 D.数据独立性高 63.在数据库系统中,空值是( D ) A.0 B.空格 C.空字符串 D.不确定 64.实体完整性规则约束 ( B ) A.侯选关键字 B. 主关键字 C.外关键字 D.超关键字 65SQl语言是 ( C ) A.层次数据库语言 B.网络数据库语言 C.关系数据库语言 D.非数据库语言 66.在SQL语言查询语句中,WHERE子句实现关系代数的 ( B ) A.投影运算 B.选择运算 C.连接运算 D.交运算 67在SQL语言的SELECT语句中,能实现投影操作的是 ( A ) ASELECT BFROM CWHERE
18、 DGROUP BY 二、判断 1 数据库中如果不建立相应的索引文件,在查询时会经常出错。F2 在导入数据时,如果 SQL Server 数据库中不存在对应的表,可以自动创建。T3 SQL Server 有数据导入功能但没有数据导出功能。F4 10视图一旦创建后,其中的内容不能被修改。F5 在视图中可以添加和修改数据,在表中可以查看到数据的变化。T6 每个存储过程向调用方返回一个整数返回代码。如果存储过程没有显式设置返回代码的值,则返回代码为 0,表示成功。T7 因为通过视图可以插入.修改或删除数据,因此视图也是一个实在表,SQL SERVER 将它保存在 syscommens 系统表中。F8
19、 缺省情况下,所创建的索引是非聚集索引 T9 数据库是用来存放表和索引的逻辑实体。T10 在表中创建一个标识列(IDENTITY),当用户向表中插入新的数据行时,系统会自动为该行标识列赋值。T11 可以对视图进行加密处理,使用户无法看到视图的定义。T12 创建触发器的时候可以不是表的所有者或数据库的所有者。F13 11.9 是 SQL 中的实型常量吗?T14 存储过程的输出结果可以传递给一个变量。T15 职称 in (教授, 副教授) 与 职称 = 教授 and 职称 = 副教授 等价吗?F16 在 SQL SERVER 中,触发器的执行是在数据的插入、更新或删除之前执行的。 F17 删除表时
20、,表中的触发器不被同时删除。F18 视图中存储的是物理的数据。F19 11数据库系统中建立过多的索引会使系统效率降低。T20 触发器是通过事件进行触发而被执行的。T21 表中只能有一个聚集索引,但可以有多个非聚集索引。T22 DELETE 语句只是删除表中的数据,表本身依然存在数据库中。T23 恢复是利用冗余数据来重建数据库。T24. SQL 语言具有数据定义、关系规范化、数据控制的功能。F 25. SQL 语言具有两种使用方式,分别称为交互式 SQL 和嵌入式 SQL。 T26. SQL 语言中,UPDATE 语句可以改变表的结构。 F27. 关键字 DESC 可删除查询结果中的重复值。 F
21、28. 关键字 DISTINCT 可删除查询结果中的重复值。 T29. 可以在一个表上创建约束条件。当一个约束条件应用于一个表时,表中的每一行都必须满足约束条件所规定的条件。 T30. 数据库的约束条件有助于确保数据的引用完整性。 T31. 数据库的约束条件有助于确保数据的安全性。F 32. 可以通过创建角色即权限组来简化权限管理进程。把一些权限授予一个角色,而这个角色又可以被授予多个用户。T 33. 可以通过创建角色即权限组来简化权限管理进程。把一些权限授予一个角色,而这个角色只能被授予某个用户。F三、填空1. HAVING 子句与 WHERE 子句很相似,其区别在于: WHERE 子句作用
22、的对象是(表和视图) ,HAVING 子句作用的对象是(组) 。2 检索姓名字段中含有文的表达式为: select 姓名 like ( %文% ) 。123 目前最常用的数据库有层次数据库、 (网状)数据库和(关系)数据库,其中(关系)数据库是目前应用最广泛的一种数据库。 4 SQL Server 中数据操作语句包括(delete ) 、 (update ) 、 (insert )和 select 语句。5 SQL Server 的数据类型可分为(系统 )数据类型和(用户自定义 )数据类型。6 事务的 ACID 属性是指原子性、 (一致性)性、 (隔离性)性和( 持久性)性。7 关系数据模型的
23、逻辑结构是(二维表) ,关系中的列称为(属性) ,行称为(元组) 。标准答案:二维表、属性、元组 8 ROUND( )函数的是( 四舍五入)函数。9 在安装 MS SQL Server 时,必须选择一种安全类型。如果在登录时,不需要记录用户名和登录 ID,则该安全模式是( Windows 认证模式) 。10 数据定义语言是指用来创建、修改和删除各种对象的语句,是( create) 、 (update )和(drop ) 。11 关系数据库模型的数据操作主要包括插入、 (删除 ) 、 (更新 )和(查询 )数据。12 SQL Server 聚合函数有最大、最小、求和、平均和计数等,它们分别( m
24、ax) 、 (min ) 、 (sum ) 、avg 和count。13 ( 存储过程)是已经存储在 SQL Server 服务器中的一组预编译过的 Transact-SQL 语句。14 实体之间的联系类型有三种,分别为( 一对一) 、 (一对多 )和(多对多 ) 。15 在 SQL 中,create view 、alter view 和 drop view 命令分别为( 建立) 、 (修改 )和(删除 )视图的命令。16 语句 SELECT (7+3)*4-17/(4-(8-6)+99%4 的执行结果是(35 ) 。18 13职称 in (教授, 副教授) 与 职称 = 教授 or 职称 =
25、 副教授 等价吗?T19 规则必须使用一次就必须定义一次。F20 SQL Server 2008 四个系统数据库是( master ) 、 (model ) 、 (msdb )和 tempdb。21 (实体完整性)用于保证数据库中数据表的每一个特定实体的记录都是惟一的。22 在( Windows)身份验证模式,输入的账号必须是在 2000 professional(或 NT)已经建立的登录者或组。23 游标的操作步骤包括声明、 ( 打开) 、处理(提取、删除或修改) 、关闭和(释放 )游标。24 TransactSQL 语言有 4 部分元素组成,分别是:数据定义语言、 (数据操作语言 ) 、
26、(数据控制语言 )和一些附加的语言元素。 25 (视图 )是由一个或多个数据表(基本表)或视图导出的虚拟表。26 用 SELECT 进行模糊查询时,可以使用 like 或 not like 匹配符,但要在条件值中使用(%)或(_)等通配符来配合查询。并且模糊查询只能针对( 字符)类型字段查询。27 触发器定义在一个表中,当在表中执行( insert) 、 (update )或 delete 操作时被触发自动执行。28实体之间的联系可抽象为三类,它们是(一对一 ) 、 (一对多 ) 、 (多对多 ) 。29 (事务 )是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工
27、作单位。30在 SQL 语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用(GRANT )语句,收回所授的权限使用(REVOKE )语句。31. E-R 图一般在数据库设计的( 概念结构设计)阶段使用。32 ( 事务 )是用户定义的一个数据库操作序列,是一个不可分割的工作单位,它具有( 原子性) 、 (一致性 ) 、(独立性 ) 、 (持久性 )四个特性。33若事务 T 对数据对象 A 加了 S 锁,则其他事务只能对数据 A 再加( S )锁,不能加( X )锁,直到事务 T 释放 A 上的锁。1434表示实体及其联系的方法为(E-R 图) ,基本图素包括(实体 )
28、、 (属性 )和(联系 ) 。习惯上实体用(矩形 )表示,实体属性用( 椭圆形)表示,联系用(菱形 )表示。35在关系 A(S ,SN ,D)和 B(D,CN,NM )中, A 的主键是 S,B 的主键是 D,则 D 在 S 中称为(外键) 。四、 SQL 编程练习1设有下列表: STUDENT(NO ,NAME,SEX ,BIRTHDAY,CLASS)TEACHER(NO,NAME,SEX,BIRTHDAY,PROF,DEPART)COURSE(CNO,CNAME,TNO)SCORE(NO,CNO,DEGREE)其中,学生信息表 STUDENT 由学号(NO) 、学生姓名(NAME) 、性别
29、(SEX) 、出生年月日(BIRTHDAY) 、班级(CLASS)组成,记录学生的情况;教师信息表 TEACHER 由教师号(NO ) 、教师姓名(NAME) 、性别(SEX) 、出生年月日(BIRTHDAY) 、职称(FROF) 、教师所在系(DEPART)组成,记录教师的情况;课程表COURSE 由课程号( CNO) 、课程名称(CNAME) 、任课教师号(TNO )组成,记录所开课程及任课教师情况;成绩表 SCORE 由学生学号(NO) 、课程号(CNO ) 、成绩( DEGREE)组成,记录学生选课情况及相应的成绩。用 SQL 语句实现以下操作1) 显示 STUDENT 表中每个学生的
30、姓名和出生日期。SELECT NAME ,BIRTHDAY FROM SYUDENT2) 显示 STUDENT 表中所有姓 “王”的学生记录。SELECT * FROM STUDENT WHERE NAME LIKE 王%3) 显示成绩表中成绩在 60 分到 80 分之间的所有记录。SELECT * FROM SCORE WHERE DEGREE BETWEEN 60 AND 80显示“男”教师及其所上的课程。 (显示该教师的姓名和所上的课程名)SELECT TEACHER.NAME COURSE.CNAMEFROM TEACHER,COURSEWHERE TEACKER.NO=COURSE.
31、NO AND SEX=男4) 选出和“李军” 同学同性别并同班的学生姓名。SELECT NAME FROM SYUDENTWHERE SEX=(SELECT SEX FROM STUDENTWHERE NAME=李军)ANDCLASS=(SELECT CLASS FROM STUDENTWHERE NAME=李军)6)向 STUDENT 表中插入一条学生记录。 (学号:999,姓名:程功,性别:男,出生年月日: 10/01/1995,班级:95035)INSERT INTO STUDENT VALUES(999,程功,男,10/01/1995,95035)7)在 STUDENT 表中将学号为
32、“999”的学生的班号改为“95031”UPDATE STUDENT SET CLASS=95031WHERE NO=999158)在 STUDENT 表中删除学号为 “999”的学生记录。DELETE FROM STUDENT WHERE NO=9992对于学生数据库的 3 个基本表S(SNO,SNAME ,AGE,SEX)SC(SNO,CNO,CNAME)C(CNO,CNAME,TEACHER)试用 SQL 语句完成下列查询语句:1) 检索 LIU 老师所授课程的课程号和课程名。SELECT CNO,CNAME FROM CWHERE TEACHER=LIU2) 检索年龄大于 23 岁的男
33、学生的学号和姓名。SELECT SNO,SNAME FROM SWHERE AGE23 AND SEX=男3) 检索学号为 S3 学生所学课程的课程名与任课教师名。SELECT CNAME,TEACHER FROM SC,CWHERE SC.CNO=C.CNO AND SNO=S34) 检索至少选修 LIU 老师所授课程中一门课的女学生姓名。SELECT SNAME FROM S,SC,CWHERE S.SNO=SC.SNO AND SC.CNO=C.CNO AND SEX=女 AND TEACHER=LIU5) 检索 WANG 同学不学的课程的课程名。SELECT CNAME FROM CW
34、HERE NOT EXISTS(SELECT * FROM S,SCWHERE S.SNO=SC.SNO AND SC.CNO=C.CNO AND SNAME=WANG)6) 检索至少选修两门课的学生学号。SELECT DISTINCT X.SNO FROM SC X,SC YWHERE X.SNO=Y.SNO AND X.CNO!=Y.CNO7) 检索全部学生都选修的课程的课程号与课程名。8)检索选修课程包含 LIU 老师所授课程的学生学号。163试用 SQL 查询语句表达下列对上题中 3 个基本表 S、SC 、C 的查询:1)统计有学生选修的课程门数。SELECT COUNT(DISTIN
35、CT CNO) FROM SC2)求选修 C4 课程的女学生的平均年龄。 SELECT AVG(AGE) FROM S , SCWHERE S.SNO=SC.SNO AND CNO=C4 AND SEX=女3)求 LIU 老师所授课程的每门课程的平均成绩。 SELECT C.CNO ,AVG(GRADE) FROM SC ,CWHERE SC.CNO=C.CNO AND TEACHER=LIUGROUP BY C.CNO5) 统计每门课程的学生选修人数(超过 10 人的课程才统计) 。要求显示课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 SELECT CNO ,COUN
36、T(SNO) FROM SCGROUP BY CNO HAVING COUNT(*)10ORDWE BY 2 DESC,16) 检索学号比 WANG 同学大,而年龄比他小的学生姓名。SELECT SNAME FROM SWHERE SNOALL(SELECT SNO FROM S WHERE SNAME =WANG)ANDAGE (SELECT AVG(AGE) FROM S WHERE SEX=女)9)求年龄大于所有女同学年龄的男学生姓名和年龄。SELECT SNAME ,AGE FROM S WHERE SEX=男 ANDAGEALL(SELECT AGE FROM S WHERE SEX
37、=女)4用 SQL 更新语句表达对上题教学数据库中表 S、SC、 C 作如下更新操作:1)往表 C 中插一个课程 。课程号:C8,课程名:VC+授课教师:BAO17INSERT INTO C VALUES(C8,VC+,BAO)2)SC 中删除尚无成绩的选课元组。BELETE FROM SC WHERE GRADE IS NULL3)把选修 LIU 老师课程的女同学选课元组全部删去。DELETE FROM SC WHERE SNO IN(SELECT SNO FROM S WHERE SEX=女)ANDCNO IN (SELECT CNO FROM C WHERE TEACHER=LIU)4)
38、把 MATHS 课不及格的成绩全改为 60 分。 UPDATE SC SET GRADE =60WHERE GRADE60 AND CNO IN(SELECT CNO FROM C WHERE CNAME =MATHS)5)把低于所有课程总平均成绩的女同学成绩提高 5%。UPDATE SC SET GRADE =GRADE*1.05WHERE SNO IN (SELECT SNO FROM S WHERE SEX=女)ANDGRADE(SELECT AVG(GRADE) FROM SC)6)在表 SC 中,当某个成绩低于全部课程的平均成绩时,提高 5%。UPDATE SC SET GRADE
39、=GRADE *1.05WHERE GRADE (SELECT AVG(GRADE) FROM SC)五、数据库设计1、设有系、教师、学生、课程等实体,其中每一个系包括系名、系址、系主任姓名、办公电话等属性,教师实体包括工作证号码、教师名、出生日期、党派等属性。学生实体包括学号、姓名、出生日期、性别等属性。课程实体包括课程号、课程名、预修课号等属性。设一个系可以有多名教师,每个教师教多门课程, 一门课程由一个教师教。其中有的教师指导多个研究生。每一个学生可选多门课程,每门课程只有一个预修课程,每一个学生选修一门课程有一个成绩,试根据以上语义完成下述要求。1)试画出 ER 图 182)将 ER
40、图转换成关系模式集,并指出每个关系模式的主键和外键。2、学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用 E-R 图画出此学校的概念模型。试根据上述业务规则:1) 试画出 ER 图 2)将 ER 图转换成关系模式集,并指出每个关系模式的主键和外键。3某商业集团数据库中有 3 个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,三是有职工编号、姓名、性别、业绩等。商店与商品间存在“销售”
41、关系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店每销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。1) 试画出 ER 图,并在图上注明属性、联系的类型。192) 将 ER 图转换成关系模式集,并指出每个关系模式主键和外键。商店(商店编号,商店名,地址) 商店编号为主码 职工(职工编号,姓名,性别,业绩,商店编号,聘期,工资) 职工编号为主码,商店编号为外码。 商品(商品号,商品名,规格,单价) 商品号为主码 销售(商店编号,商品号,月销售量) 商店编号+商品号为主码 商店编号,商品号均为外码
42、 4设某商业集团数据库中有 3 个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。公司与仓库间存在“隶属” 联系,没个攻击管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库铬镍钢做,仓库聘用职工有聘期和工资。1) 画出 ER 图,并在图上注明属性、联系的类型。202)将 ER 图转换成关系模式集,并指出每个关系模式的主键和外键。5设某工商业集团数据库有 3 个实体集。一是“商品”实体集,属性有商品号、商品名、规格
43、、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。供应商与商品之间存在“供应”关系,每个供应商可供应多种商品,每种商品可向多个供应商订购,每个供应商供应每种商品有个月供应量;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,没个商店销售每种商品有个月计划数。1) 试画出 ER 图 2) 将 ER 图转换成关系模式集,并指出每个关系模式的主键和外键。6某医院病房计算机管理中需要如下信息:科室:科名,科地址,科电话,医生姓名病房:病房号,床位数,所属科室号医生:姓名,职称,所属科室名,年龄,工作证号病
44、人:病历号,姓名,性别,诊断,主管医生,病房号其中,一个科室有多个病房,多个医生。一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。完成入下设计:1) 试画出 ER 图 212)将 ER 图转换成关系模式集,并指出每个关系模式的主键和外键。科室(科名,科地址,科电话) 病房(病房号,床位号,科室名) 医生(工作证号,姓名,职称,科室名,年龄) 病人(病历号,姓名,性别,主管医生,病房号)7一个图书馆借阅管理数据库要求提供下述服务:1)可随时查询书库中现有书籍品种,数量与存放位置,所有各类书记均可由书号惟一标识。2)可随时查询书记借还情况,包括
45、借书人单位,姓名,借书证号,借书日期和还书日期。我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。当需要时,可通过数据库中保存的出版社的电报编号,电话,邮编及地址等信息向有关书籍的出版社增购有关书籍。我们约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社具有惟一性。根据以上情况和假设,试作如下设计:1) 试画出 ER 图 222)将 ER 图转换成关系模式集,并指出每个关系模式的主键和外键。借书人(借书证号,姓名,单位) 图书(书号,书名,数量,位置,出版社名) 出版社(出版社名,电报编号,电话可,邮编,地址) 借阅(借书证号,书号,借书日期,还书日期)