数据库原理及其应用教程课后答案 联系客服

发布时间 : 星期一 文章数据库原理及其应用教程课后答案更新完毕开始阅读4f82c5152af90242a895e5c0

第二章

2. 假设有一个书店,书店的管理者要对书店的经营状况进行管理,需要建立一个数据库,

其中包括两个表:

存书(书号,书名,出版社,版次,出版日期,作者,书价,进价,数量) 销售(日期,书号,数量,金额) 请用SQL实现书店管理者的下列要求: (1)建立存书表和销售表;

(2)掌握书的库存情况,列出当前库存的所有书名、数量、余额(余额=进价×数量,即库存占用的资金); (3)统计总销售额;

(4)列出每天的销售报表,包括书名、数量和合计金额(每一种书的销售总额); (5)分析畅销书,即列出本期(从当前日期起,向前30天)销售数量大于100的书名、数量。

(1)建立存书表和销售表

Book (ISBN, title, publisher, edition, publication date, author, book price, purchase price, quantity) CREATE TABLE Book

(ISBN CHAR(17) PRIMARY KEY, Title VARCHAR(50) NOT NULL, Publisher VARCHAR(50) , Edition CHAR(2), P_date CHAR(10), Author CHAR(8), B_price MONEY, P_price MONEY,

B_Quantity INT CHECK Quantity>=0)

(1)建立存书表和销售表;

Sales (date, ISBN, quantity, amount) CREATE TABLE Sales

(SNo CHAR(12) PRIMARY KEY, S_date DATATIME,

ISBN CHAR(17) NOT NULL, S_quantity INT, S_amount MONEY)

(2)掌握书的库存情况,列出当前库存的所有书名、数量、余额(余额=进价×数量,

即库存占用的资金);

SELECT Title, B_Quantity , P_price × B_Quantity AS Balance FROM Book

(3)统计总销售额;

SELECT SUM(S_amount ) AS Amount

(4)列出每天的销售报表,包括书名、数量和合计金额(每一种书的销售总额);

SELECT S_date, Title, SUM(S_quantity ) AS Quantity , SUM(S_amount ) AS Amount FROM Book, Sales

WHERE Sales.ISBN=Book.ISBN GROUP BY S_data, Title

(5)分析畅销书,即列出本期(从当前日期起,向前30天)销售数量大于100的书名、数量。

SELECT Title SUM(S_quantity) AS Quantity FROM Book, Sales

WHERE Sales.ISBN=Book.ISBN AND (S_date BETWEEN GETDATE( )-30 AND GETDATE( )) GROUP BY Title HAVING SUM(S_quantity)>100 ORDER BY SUM(S_quantity) DESC

四、简答题。

1.简述SQL支持的三级逻辑结构。

SQL语言支持关系数据库三级模式结构,如图3.1所示。其中外模式对应于视图(View)和部分基本表(Base Table),模式对应于基本表,内模式对应于存储文件。

SQL 视图1 视图2 外模式 基本表1 基本表2 基本表3 基本表4 模式 存储文件1 存储文件2 内模式

图3.1数据库三级模式结构

2.SQL有什么特点?

(1)SQL类似英语的自然语言,简洁实用。 (2)SQL是一种非过程语言。

(3)SQL是一种面向集合的语言。

(4)SQL即是一种自含式语言,又是嵌入式语言;可独立使用,也可嵌入宿主语言中。 (5)SQL具有数据查询、数据定义、数据操作和数据控制四种功能。

3.解释:基本表、视图、索引、系统权限、对象权限、角色,并说明视图、索引、角色的作用。

基本表:一个关系对应一个基本表。基本表是独立存在的表,不是由其它的表导出的表。一个或多个基本表对应一

个存储文件。

视图:视图是从一个或几个基本表导出的表,是一个虚拟的表。在用户看来,视图是通过不同路径去看一个实际表,

就像一个窗口一样,我们可以通过其去看我们想看的高楼的不同部分。

索引:索引是数据库随即检索的常用手段,它实际上就是记录的关键字与其相应地址的对应表。可加快查询速度;

保证行的唯一性。

系统权限:是指数据库用户能够对数据库系统进行某种特定的操作的权利。如创建一个表(CREATE TABLE) 对象权限:是指数据库用户在指定的数据库对象上进行某种特定的操作的权利。如查询(SELECT)、添加(INSERT)、

修改(UPDATE)和删除(DELETE)等操作。

角色:角色是多种权限的集合,可以把角色授予用户或其他角色。

4.在对数据库进行操作的进程中,设置视图机制有什么优点?它与数据表间有什么区别?

1)在关系数据库系统中,视图为用户提供了多种看待数据库数据的方法与途径,是关系数据库系统中的一种重要对象。其优点有:(1)视图能够简化用户的操作;(2)视图使用户能以多种角度看待同一数据;(3)增加了数据的安全性;(4)视图对重构数据库提供了一定程度的逻辑独立性。

2)视图在概念上与基本表等同,一经定义,就可以和基本表一样被查询、被删除,我们也可以在一个视图上再定义新的视图,但对视图的更新(插入、删除、修改)操作相对于数据表来说,则有一定的限制。即有些视图逻辑上是肯定不能修改的。