《数据库原理与应用》复习思考题1(5)

2019-03-10 19:18

CONSTRAINT C3 PRIMARY KEY(职工号,编号),

CONSTRAIN C3 FOREIGN KEY(职工号)REFERENCES职工(职工号));

2)CREAT VIEW 社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别)

AS SELECT 编号,名称,负责人,姓名,性别

FROM 社会团体,职工

WHERE 社会团体.负责人=职工.职工号;

CREAT VIEW参加人情况(职工号,姓名,社团编号,参加日期)

AS SELECT参加.职员号,姓名,社会团体.编号,名称,参加日期 FROM 职工,社会团体,参加 WHERE 职工.职工号=参加.职工号AND 参加.编号=社会团体.编号;

3) SELECT 职工号,姓名 FROM 职工,社会团体,参加

WHERE 职工.职工号=参加.职工号 AND 参加.编号=社会团体.编号 AND 社会团体.名称 IN(‘唱歌队’,‘篮球队’); 4)SELECT* FROM 职工 WHERE NOT EXISTS(SELECT* FORM 参加 WHERE 参加.职工号=职工.职工号);

5) SELECT * FROM 职工 WHERE NOT EXISTS(SELECT* FROM 参加

WHERE NOT EXISTS

(SELECT*

FROM 社会团体

WHERE参加.职工号=职工.职工号 AND 参加.编号=社会团体.编));

6) SELECT 职工号 FROM 职工

WHERE NOT EXISTS(SELECT* FROM 参加 参加1

WHERE 参加1.职工号=‘1001’AND NOT EXISTS (SELECT* FROM 参加 参加2

WHERE 参加2.编号=参加1.编号 AND 参加2.职工号=

职工.职工号));

7) SELECT COUNT(职员号)FROM 参加 GROUP BY 编号; 8) SELECT 社会团体.名称,COUNT(参加.职工号)

FROM 社会团体 参加

WHERE 社会团体.编号=参加.编号 GROUP BY 参加编号

HAVING MAX (COUNT(参加.职工号))=COUNT(参加.职工号));

9) SELECT 社会团体.名称,职工.姓名 FROM 职工,社会团体,参加

WHERE 社会团体.编号=参加.编号 AND 社会团体.负责人=职工.职工号 GROUP BY 参加.编号 HAVING COUNT(参加.编号)>100;

10) GRANT SELECT,INSERT,DELECT ON 社会团体,参加 TO 李平

WHERE GRANT OPTION;

3. 答:

1) SELECT 姓名,联系电话 FROM 供应商

2) SELECT * FROM 工程 WHERE 预算 BETWEEN 50000 AND 100000 ORDER BY 预算 DESC;

3) SELECT 工程代号 FROM 供应零件 WHERE 供应商代码=‘SI’; 4) SELECT 零件.零件名,供应零件.数量 FROM 零件 供应零件

WHERE 零件.零件代码=供应零件.零件代码AND供应零件.工程代码=

‘J2’;

5)SELECT 零件代号FROM 供应商,供应零件

WHERE 供应商.供应商代码=供应零件.供应商代码 AND

供应商.所在城市=‘上海’;

6) SELECT 工程名 FROM 供应商,供应零件,工程

WHERE 供应商.供应商代码=供应零件.供应商代码AND

供应零件.工程代码=工程.工程代码 AND 供应商.所在城市=‘上海’;

7) SELECT 工程号码FROM 工程 WHERE NOT EXISTS(SELECT*

FROM 供应零件

WHERE工程.工程代码=供应零件.工程代码 AND 供应商代码 IN

(SELECT 供应商代码

FROM 供应商

8) UPDATE 零件SET 颜色=‘蓝色’ WHERE 颜色=‘红色’; 9) UPDATE 供应零件SET 供应商代码=‘S3’

WHERE 供应商代码=‘S5’ AND 工程代码=’J4’ AND 零件代码=‘P6’;

10) DELETE FROM 供应零件 WHERE 供应商代码=’S2’;

DELETE FROM 供应商 WHERE 供应商代码=’S2’;

4. 答: 在嵌入方式下,SQL语句在嵌入主语言的程序时其前缀加EXEC SQL ;其结束处用END_EXEC或用分号“;”。

5.答:

数据的工作单元和程序工作单元之间通信的主要方式有:主语言通过变量向SQL语句 提供参数;SQL语句的当前工作状态和运行环境数据要返馈给应用程序。

6.答:

使用游标解决SQL一次一集合的操作与主语言一次一记录操作的矛盾。游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。用户可以通过游标逐一获取记录,并将记录赋给主变量,交给主语言做进一步处理。

7.答:B 8.答:C 9.答:A 10.答:C 11.答:C

复习题六

1.客户机/服务器体系结构的特点是什么?SQL Server 2000客户机/服务器的结构特点是什么? 2.简述SQL Server 2000客户机/服务器的体系结构和软件结构。

3. SQL Server 2000的物理数据库有哪些文件构成?逻辑数据库有哪些内容构成?

4. SQL Server 2000的数据库中有哪些数据库对象?这些数据库对象在数据库系统中分别起什么作

用。

5. 简述SQL Server 2000的4个最主要的系统数据库及作用。 6. 简述SQL Server 2000的主要管理功能。

7. 简述SQL Server 2000提供的主要管理工具及功能。

8. Trangsact—SQL 与标准SQL相比,数据查询语句有什么不同之处?

9. 设要建立学生选课数据库,库中包括学生、课程和选课3个表,其表结构为:

学生(学号,姓名,性别,年龄,所在系); 课程(课程号,课程名,先行课); 选课(学号,课程号,成绩)。 用Transact—SQL完成下列操作。

1)建立学生选课库。

2)建立学生、课程和选课表。

3)建立各表以主码为索引项的索引。

4)建立学生性别只能以“男”或“女”的规则,性别为“男”的缺省,并将它们绑定的学生表上。

5) 建立在对选课表输入或更改数据时,必须服从参照完整性约束的INSERT和UPDATE触

发器。

6) 建立在删除学生记录时,同时也要把相应的选课记录删除的触发器。 7) 查询各系及学生数,最后求出共有多少系和多少学生。

8) 将学生表和选课表进行内连接、左连接和右外连接。

列出学生学号、姓名及学习情况。学习情况用好、较好、一般或较差表示。当平均成绩大于85分时,学习情况为好:当平均成绩在70-85分之间,学习情况为较好:当平均成绩在60-70分之间,学习情况为一般:当平均成绩在60分以下,学习情况为较差.

复习题六答案

1.答

客户机/服务器(Client/Server)是分布式数据库与网络技术相结合的产物,C/S系统可以通

过网络连接产品将多台计算机连接为企业内部网,能够与Internet相连并发布网页。网络中的一台或多台计算称为服务器(Server),其他的计算机称为客户机(Client).在C/S系统中,应用程充安装在客户机端,客户机端实现用户界面和前端处理功能:数据库服务 嚣程序安装在服务器端,同服务器实现颁事务的协调和数据访问控制。 2.答:

SQL Server 2000的数据库系统结构采用多层客户/服务器系统结构。其软件结构为客户软件、网络软件和服务器软件。客户软件包括客户应用程序软件、服务器的数据库应用程序、编程接口API和网络资源库;SQL服务器软件由网络链接库、开放式数据服务、SQL Server代理服务程序、SQL Server服务器以及分布事务管理服务5部分构成。 3.答: SQL Server的物理数据库由两个或多个物理文件组成,一个物理数据库中至少有一个数据库

数据文件和一个数据库事务日志文件。

逻辑数据库中有表、视图、图表等数据对象。

4.答:

SQL Server的数据库对象包括表、视图、用户、角色、索引、数据类型、默认值、存储过

程、触发器和约束等。

① 表和视图:表,即基本表,它是在数据库中存放的实际关系;视图是为了用户查询方便或根据数

据安全的需要而建立的虚表。

② ② 用户和角色:用户是数据库系统的合法使用者;角色是同一个或多个用户组成的

单元,角色也称职能组。

③ ③ 索引:索引是用来加速数据访问和保证表的实体完整性的数据库对象。SQL

Server中的索引有群聚和非群聚索引两种。群聚索引会使表的物理顺序与索引顺序一致,一个表只能有一个群聚索引;非群聚索引与表的物理顺序无关,一个表可以建立多个非群聚索引。

④ ④ 存储过程:存储过程是通过Transact-SQL编写的程序。存储进程包括系统存储过

程和用户存储过程:系统存储进程是由SQL Server提供的,其过程名均以SP开头;用户过程是由用户编写的,它可以自动执行过程中安排的任务。

⑤ ⑤ 触发器:触发器是一种特殊类型的存储过程,当表中发生特殊事件时执行。触发

器主要用于保证数据的完整性。

⑥ ⑥ 约束:约束规则用于加强数据完整性。 5.答:

系统数据库是由SQL Server内部创建和提供的一组数据库,其中最主要的数据库有4个,它

们分别是Master、Msdb、Model和Tempdb。

① Master数据库:用于记录所有SQL Server系统级别的信息,这些信息用于控制用户数

据库和数据操作。 ②Msdb数据库:由Enterprise Manager和Agent使用,记录着任务计划信息、事件处理信息、

数据备份有恢复信息、警告及异常信息。

③Model数据库:SQL Server为用户数据库提供的样板,新的用户数据库都以model

数据库为基础。每次创建一个新数据库时,SQL Server先制作一个model数据库的拷贝,然后再将

这个拷贝扩展成要求的规模。

④tempdb数据库:一个共享的工作空间,SQL Server中的所有数据库都可以使用它,它为

临时表和其他临时工作提供了一个存储区。 6.答:

①SQL服务器的安装、配置和管理:为了使用SQL服务器,必须先对它们进行安装和配置。当系统中有多台SQL服务器时,还需要将它们链接,使它们协同作。

②服务管理:在SQL客户机安装相应的软件并正确配置它们。

③数据库管理:包括数据库的创建、修改、删除以及备份和恢复等。

④数据库对象的管理:管理数据库中的表、视图、存储过程、触发器、规则、缺省值等。 ⑤数据管理:实现记录的添加、删除和修改以及数据的传递与复制等。 ⑥安全性管理:包括用户管理和权限管理两方面的内容。 ⑦作业管理:包括警报管理、操作员管理和任务管理。

⑧集成管理:SQL Server与电子邮件系统和Web服务器的交互操作。

7.答:

①查询分析器:编辑Transact-SQL,将其发送到服务器,并将执行结果有分析显示出来或进行存储。

②导入和导出数据:通过向导实现SQL Server 与任何OLE DB、ODBC、JDBC或文本文件等

多种不同类型的数据库之间实现数据传递。

③服务管理器:用于开启中、暂停和停止SQL服务工作,同时,也可以通过它设置服务是否自动启动。

④客户机网络连接工具和服务器网络连接工具:客户机网络连接工具用于设置本机作为服务器或客户机所使用的缺省网络链接库,并可为不支持缺省网络库的SQL服务器设置连接方式。服务器网络连接工具用于设置本机作为服务器时允许的连接协议,以支持不同配置的客户端。 ⑤联机丛书:SQL Server2000为用户提供在线帮助功能。

⑥企业管理器:实现对管理对象的定义、改动、删除等各种操作。 ⑦事件探查器:服务器活动跟踪程序,用于监视与分析SQL Server活动、SQL Server 服务器的网络进出流量或发出在SQL Server上的事件。

⑧在IIS中配置SQL XML支持:设置并管理IIS虚拟目录。

⑨分析管理器:管理分析服务器;创建数据库和指定数据源;生成并处理多维数据集;创建并处理数据挖掘模型;指定存储选项并优化查询性能;管理安全性;浏览数据源、共享维度、安全角色和其他对象。

⑩英语查询工具:为用户提供了英语询问,而不是用SQL语句进行数据查询的方式 。 8.答:

①新增加INTO、COMPUTE和COMPUTE BY三种子句:INTO子句用于创建一个表,并将查询结果添加到该表中;COMPUTE子句的作用是产生汇总值,并在结果集中后将汇总值放入摘要列,COMPUTE与BY配合,将起到换行控制和分段小计的作用。

②SELECT中增加了[TOP <数值> [PERCENT]]短语,增加了<列名或表达式> [AS] <列别句> 及 <列别名> = <表达式> 的列组表示方法。

③ FROM 子句中新增加了连接表类型及连接表示,数据源中可以使用嵌套的SELECT 语句。 ④ TSQL用GO表示语句结束,标准SQL用分号‘;’表示结束。 9.答:

1) 1) CREATE DATABASE 学生选课库

ON PRIMARY (NAME=学生选课库,

FILENAME=‘C:\\msSQL\\data\\学生选课.mdf SIZE=4MB, MAXSIZE=6MB, FILEROWHT=2MB)

GO

2)CREATE TABLE 学生 (学号 CHAR(10)PRIMARY KEY CLUSTERED,

姓名 CHAR(8), 性别 CHAR(2),

年龄 SMALLINT, 所在系 VARCHAR(50))

GO

CREATE TABLE 课程(课程号 CHAR(10)PRIMARY KEY CLUSTERED

课程名 VARCHAR(50), 先行课 VARCHAR(50))

CREATE TABLE 选课(学号 CHAR(10),

课程号 VARCHAR(50),

成绩 SMALLINT,

CONSTRAINT C1 PRIMARY KEY(学号课程,课程号),

CONSTRAINT C2 PRIMARY KEY(学号)REFERENCES 学生(学号), CONSTRAINT FOREIGN KEY(课程号) REFERENCES 课程(课程号)) GO

3) 3) CREATE INDEX student_ind ON 学生(学号)

GO

CREATE INDEX class_ind ON 课程(课程号) GO

CREATE INDEX select_ind ON 选课(学号,课程号) GO

4) 4) CREATE RULE value_rule AS @VALUE IN (‘男’,‘女’)

GO

CREATE DEFAULT 性别缺省 AS‘男’ GO

EXEC sp_bindrule ‘value_rude’, ‘学生.性别’ GO

EXEC sp_binddefault ‘性别缺省’,‘学生.性别’ GO

5) CREATE TRIGGER sc_insert ON 选课 FOR INSERT AS IF (SELECT COUNT(*) FROM 学生 , inserted , 课程 WHERE 学生.学号=inserted.学号 AND 课程.课程号=inserted.课程号)=0 ROLLBACK TRANSACTION

GO

CREATE TRIGGER sc_update ON FOR UPDATE AS IF (SELECT COUNT(*) FROM 学生 , updated, 课程 WHERE 学生.学号 =updated.学号 AND 课程.课程号=updated.课程号)=0 ROLLBACK TRANSACTION GO

6) CREATE TRIGGER delete_all ON 学生 FOR DELETE AS DELETE

FROM 选课 WHERE 选课. 学号=deleted. 学号

GO

7) SELECT 所在系,COUNT(学号)FROM 学生 GROUP BY 学生. 所在系

COMPUTE COUNT(DISTINCT(所在系)) COMPUTE COUNT(学号) BY 所在系 GO

8) SELECT * FROM 学生 INNER JOIN 课程

GO

SELECT * FROM 学生 LEFT OUTER JOIN 课程 GO

SELECT * FROM 学生 RIGHT OUTER JOIN 课程

GO

9) 9) SELECT 选课.学号 , 学生.姓名 , 学习情况中=CASE

WHEN AVG(成绩)>=85 THEN ‘好’

WHEN AVG(成绩)>=70 AND AVG(成绩)<85 THEN ‘较好’

WHEN AVG(成绩)>=60 AND AVG(成绩)<70 THEN ‘一般’


《数据库原理与应用》复习思考题1(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学语文S版二年级上册课文背诵填写

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: