SQL数据库上机练习2

更新时间:2024-07-08 04:49:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1

SQL数据库上机练习2

在D盘根目录下用自己的名字加“练习2”建立一个目录

一.(6分)在SQL Server Management Studio中建立满足如下要求的数据库:

1. 数据库名字为:TwoDB;

2. 此数据库包含两个数据文件,其中主数据文件的逻辑文件名为:Two_Data1,物理文件名为

Two_data1.mdf,初始大小为2MB,存放在新建目录下,自动增长,每次增长1MB,最多增加到4MB。辅助数据文件的逻辑文件名为:Two_data2,物理文件名为Two_data2.ndf,初始大小为3MB,同主数据文件存放在相同的位置,不自动增长。

3. 日志文件包含一个,日志文件的逻辑文件名为:Two_log,物理文件名为Two_log.ldf,初始

大小为3MB,同主数据文件存放在相同的位置,自动增长,每次增长30%,最多增加到5MB。 二.(10分)为描述书店对图书的进书情况,创建了三张表:图书表,书店表和书店进书表。图书表用于表示图书的基本信息,书店表用于描述书店的基本信息,书店进书表描述了书店的图书进书情况。用语句在TwoDB数据库中创建这三张表,请将语句以文件形式保存下来,文件名为“姓名.sql”,存放在新建的目录下。可以将后续所有的SQL语句均保存在此文件中,在文件中要注明题号)。

注:括号中为表名和列名的拼音表示,建表时用拼音表示表名和列名即可。 三张表的结构如下: 1.图书表(TSB)(记录出版社所印的每种图书的情况,一个图书编号对应一种图书,而不是一本图书)

图书ISBN(ISBN):普通编码定长字符型,4位长,主码 书名(SM):普通编码可变长字符型,30位长,非空 类别(LB):普通编码定长字符型,10位长,允许空,取值范围为{计算机、通讯、数学、外语} 印刷数量(YSSL),小整型,允许空,取值:大于等于1000 单价(DJ):定点小数,小数点后保留2位,小数点前4位,允许空 出版日期(CBRQ):小日期时间型,允许空

2.书店(SDB) 书店编号(SDBH):普通编码定长字符型,4位长,主码 书店名称(SDDM):普通编码定长字符型,20位长,非空 地址(DZh):普通编码可变长字符型,30位长,允许空 电话(DH):普通编码定长字符型,12位长,取值形式为:“(3位数字)-6位数字”

3.书店进书表(JSB) 图书ISBN(ISBN):普通编码定长字符型,4位长,非空 书店编号(SDBH):普通编码定长字符型,4位长,非空 进书日期(JSRQ):小日期时间型,非空,默认值为插入记录时的当前时间 进书数量(JSSL):小整型,允许空,取值:大于等于10

其中:(图书ISBN,书店编号,进书日期)为主码

2

图书ISBN为引用图书表的外码,书店编号为引用书店表的外码。 假设一个书店对一种图书一天最多进书一次。

三.(6分)在SQL Server中创建登录帐号:User,并使其成为TwoDB数据库的用户,且让TwoDB

数据库成为此登录帐号的默认数据库,授予此用户具有对TwoDB数据库中的“图书表”和“书店表”的SELECT权限,但他不能具有对此数据库中的全部表的INSERT、DELETE和UPDATE权。 四.(6分)利用SQL Server的导入导出向导,将“图书表及书店表数据.XLS”文件中的数据分别导入到“图书表”和“书店表”中,将“书店进书表数据.txt”文件中的数据导入到“书店进书表”中。 五.(4分)数据库的备份与恢复

1.在SQL Server Management Studio中创建永久备份设备,名字为“Two_BK”,存放在新建目录

下。

2.用“Two_BK”备份设备对“TwoDB”进行一次完全备份。 六.(30分)利用第二题的三张表,写出实现如下要求的SQL语句(用一条语句完成)。

1. 查询单价在10到20之间、印刷数量大于5000的“外语”类图书的书名、单价和印刷数量。 2. 查询店名为“王府井书店”的进书情况,列出图书的书名、进书数量及进书日期。

3.查询地址在“海淀区”的各书店2001年1月1日以后的详细进书情况,列出书店的名称、

每次进书的书名、进书日期和进书数量,要求查询结果按每次进每本书的数量从多到少的顺序排列。

4. 查询哪些类别的图书在“王府井书店”从没有进过,列出图书的类别。 5. 新筹建一个书店,编号为“S111”,书店名为“当代书城”,地址和电话还没有确定,请将此

书店信息插入到书店表中。

6. 将“计算机”类图书的单价高于“计算机”类图书的平均单价超过50元的图书的单价减10

元。 7.查询“计算机”类别的图书的书名、单价,进书日期、进书数量及进书的总数量(可分步骤实现)。 七.(8分)编写用游标实现如下功能的SQL语句:查询2003年3月和4月份进了“数据库系统基

础”图书的书店名、进书日期及进书数量。并按如下形式显示结果。 书店名 进书日期 进书数量 高等教育书店 04 20 2003 12:00AM 80 科技书店 03 6 2003 12:00AM 120

本文来源:https://www.bwwdw.com/article/0mh.html

Top