数据库第一次纸质作业答案.docx
《数据库第一次纸质作业答案.docx》由会员分享,可在线阅读,更多相关《数据库第一次纸质作业答案.docx(15页珍藏版)》请在冰点文库上搜索。
![数据库第一次纸质作业答案.docx](https://file1.bingdoc.com/fileroot1/2023-7/23/540fef31-7fc8-45d5-924e-86baa8a848b3/540fef31-7fc8-45d5-924e-86baa8a848b31.gif)
数据库第一次纸质作业答案
作业
(一)答案:
1.按要求完成下列SQL语句答案:
(1)
建立数据库代码:
USE[master]
GO
/******对象:
Database[1140120125DB]脚本日期:
03/25/201216:
18:
40******/
CREATEDATABASE[1140120125DB]ONPRIMARY
(NAME=N'1140120125DB',FILENAME=N'D:
\数据库\1140120125DB.mdf',SIZE=3072KB,MAXSIZE=102400KB,FILEGROWTH=1024KB)
LOGON
(NAME=N'1140120125DB_log',FILENAME=N'D:
\数据库\1140120125DB_log.ldf',SIZE=1024KB,MAXSIZE=81920KB,FILEGROWTH=10%)
COLLATEChinese_PRC_CI_AS
GO
EXECdbo.sp_dbcmptlevel@dbname=N'1140120125DB',@new_cmptlevel=90
GO
IF(1=FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC[1140120125DB].[dbo].[sp_fulltext_database]@action='disable'
end
GO
ALTERDATABASE[1140120125DB]SETANSI_NULL_DEFAULTOFF
GO
ALTERDATABASE[1140120125DB]SETANSI_NULLSOFF
GO
ALTERDATABASE[1140120125DB]SETANSI_PADDINGOFF
GO
ALTERDATABASE[1140120125DB]SETANSI_WARNINGSOFF
GO
ALTERDATABASE[1140120125DB]SETARITHABORTOFF
GO
ALTERDATABASE[1140120125DB]SETAUTO_CLOSEOFF
GO
ALTERDATABASE[1140120125DB]SETAUTO_CREATE_STATISTICSON
GO
ALTERDATABASE[1140120125DB]SETAUTO_SHRINKOFF
GO
ALTERDATABASE[1140120125DB]SETAUTO_UPDATE_STATISTICSON
GO
ALTERDATABASE[1140120125DB]SETCURSOR_CLOSE_ON_COMMITOFF
GO
ALTERDATABASE[1140120125DB]SETCURSOR_DEFAULTGLOBAL
GO
ALTERDATABASE[1140120125DB]SETCONCAT_NULL_YIELDS_NULLOFF
GO
ALTERDATABASE[1140120125DB]SETNUMERIC_ROUNDABORTOFF
GO
ALTERDATABASE[1140120125DB]SETQUOTED_IDENTIFIEROFF
GO
ALTERDATABASE[1140120125DB]SETRECURSIVE_TRIGGERSOFF
GO
ALTERDATABASE[1140120125DB]SETENABLE_BROKER
GO
ALTERDATABASE[1140120125DB]SETAUTO_UPDATE_STATISTICS_ASYNCOFF
GO
ALTERDATABASE[1140120125DB]SETDATE_CORRELATION_OPTIMIZATIONOFF
GO
ALTERDATABASE[1140120125DB]SETTRUSTWORTHYOFF
GO
ALTERDATABASE[1140120125DB]SETALLOW_SNAPSHOT_ISOLATIONOFF
GO
ALTERDATABASE[1140120125DB]SETPARAMETERIZATIONSIMPLE
GO
ALTERDATABASE[1140120125DB]SETREAD_WRITE
GO
ALTERDATABASE[1140120125DB]SETRECOVERYFULL
GO
ALTERDATABASE[1140120125DB]SETMULTI_USER
GO
ALTERDATABASE[1140120125DB]SETPAGE_VERIFYCHECKSUM
GO
ALTERDATABASE[1140120125DB]SETDB_CHAININGOFF
Orders表代码:
USE[1140120125DB]
GO
/******对象:
Table[dbo].[Orders]脚本日期:
03/25/201216:
21:
33******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
SETANSI_PADDINGON
GO
CREATETABLE[dbo].[Orders](
[customerid][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[order_date][datetime]NULL,
[item][char](10)COLLATEChinese_PRC_CI_ASNULL,
[quantity][tinyint]NULL,
[amount][money]NULL
)ON[PRIMARY]
GO
SETANSI_PADDINGOFF
Customer表代码:
USE[1140120125DB]
GO
/******对象:
Table[dbo].[Customers]脚本日期:
03/25/201216:
23:
47******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
SETANSI_PADDINGON
GO
CREATETABLE[dbo].[Customers](
[customerid][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[firstname][char](10)COLLATEChinese_PRC_CI_ASNULL,
[lastname][char](10)COLLATEChinese_PRC_CI_ASNULL,
[city][char](10)COLLATEChinese_PRC_CI_ASNULL,
[state][char](20)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
SETANSI_PADDINGOFF
(2)代码:
selectcustomerid,item,amountfromOrders
wherecustomerid='10459'
(3)代码:
select*fromOrders
whereitem='pencil'
(4)代码:
selectcustomerid,order_date,itemfromOrders
whereitemlike'w%'
(5)代码:
selectcount(distinctitem)fromorders
(6)代码:
selectmax(amount)fromorders
(7)代码:
selectavg(amount)as平均值fromorders
whereorder_datelike'%9%'
(8)代码:
selectcount(quantity)fromorders
(9)代码:
selectmin(amount)fromorders
(10)代码:
selectstate所在州,count(customerid)顾客人数fromCustomers
groupbystate
(11)代码:
selectitem,max(amount)as最大金额,min(amount)as最小金额fromorders
groupbyitem
(12)代码:
selectquantity,count(amount)as总金额fromorders
groupbyquantity
(13)代码:
selectdistinctitem商品,sum(amount)/sum(quantity)单价
fromorders
groupbyitem
(14)代码:
selectorder_date,item,amountfromorders
whereamountbetween100and800
(15)代码:
selectfirstname,city,statefromCustomers
wherestatein('Arizona','Washington','Oklahoma','Colorado')orstate='Hawaii'
(16)代码:
selectstate,count(customerid)顾客数,state所在州fromcustomers
groupbystate
havingcount(customerid)>1
(17)代码:
selectitem,max(amount)最大金额,min(amount)最小金额fromorders
groupbyitem
havingmax(amount)>190
(18)代码:
selectcustomerid顾客编号,count(customerid)购物次数,sum(amount)总金额fromorders
groupbycustomerid
havingcount(customerid)>1
2.简答题答案:
(1):
数据库管理员,数据库应用开发人员,数据库商业智能开发人员
(2):
1.SQLSERVER实例:
实际上就是一个服务,在管理工具的服务里面能看到。
2.在电脑E103上安装默认实例,实例名称是E103,跟机器名相同。
3.如果再安装一个命名实例GZ,那么实例名称是GZ,跟机器名相同。
(3):
1.master系统数据库;
作用:
用于记录SQLServer系统中所有系统级信息。
如果该数据库损坏,则SQLServe将无法正常工作。
2.msdb系统数据库;
作用:
供SQLServe代理服务调度报警和作业以及记录操作员时使用,保存关于调度报警,作业,操作员等信息,作业是在SQLServe中定义的自动执行的一系列操作集合,作业的执行不需要任何人干预。
3.model系统数据库;
作用:
是在SQLServe中创建用户数据库的模板,其中包含所有用户数据库的共享信息。
当用户创建一个数据库时,系统自动将model数据库中得全部内容复制到新建数据库中。
4.tempdb系统数据库;
作用:
是临时数据库,用于储存用户创建的临时表,用户声明的变量以及用户低昂一的游标数据等,并为数据的排序等操作提供一个临时工作空间。
(4):
文件组是数据文件的逻辑集合,它使管理员能够将文件组中所有文件作为单独的一项进行管理。
文件组可以控制数据库中各个对象的物理布局,这可提供大量可管理性和性能方面的好处。
例如:
可使用多个文件组,对数据库中数据的存储设备中得物理存储方式进行控制,并将读写数据与只读数据进行分离管理,这可以显著提高读写数据的性能。
SQLServe2005有一个主文件组,另外还可以有多个用户定义的文件组,即为文件组。
(5):
SQLServe2005中数据库由数据文件和日志文件组成,分为主数据文件,通常使用.mdf扩展名,辅助数据文件,通常使用.ndf为扩展名。
其中数据文件可以通过文件来组织,而日志文件不适用文件组。
SQLServe2005数据库包括如下数据库:
master,tempdb,msdb,model是系统数据库,还有一个可选的示例数据库Adventureworks。
3.解答题答案:
(1)第一种思路代码:
USE[master]
GO
/******对象:
Database[1140120125_DB]脚本日期:
03/27/201211:
06:
18******/
CREATEDATABASE[1140120125_DB]ONPRIMARY
(NAME=N'DB_data1',FILENAME=N'D:
\数据库\DB_data1.mdf',SIZE=51200KB,MAXSIZE=409600KB,FILEGROWTH=20%),
FILEGROUP[secondary]
(NAME=N'DB_data2',FILENAME=N'D:
\数据库\DB_data2',SIZE=10240KB,MAXSIZE=UNLIMITED,FILEGROWTH=0)
LOGON
(NAME=N'DB_log',FILENAME=N'D:
\数据库\DB_log.ldf',SIZE=6144KB,MAXSIZE=2048GB,FILEGROWTH=0)
COLLATEChinese_PRC_CI_AS
GO
ALTERDATABASE[1140120125_DB]ADDFILEGROUP[secondary1]
GO
EXECdbo.sp_dbcmptlevel@dbname=N'1140120125_DB',@new_cmptlevel=90
GO
IF(1=FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC[1140120125_DB].[dbo].[sp_fulltext_database]@action='disable'
end
GO
ALTERDATABASE[1140120125_DB]SETANSI_NULL_DEFAULTOFF
GO
ALTERDATABASE[1140120125_DB]SETANSI_NULLSOFF
GO
ALTERDATABASE[1140120125_DB]SETANSI_PADDINGOFF
GO
ALTERDATABASE[1140120125_DB]SETANSI_WARNINGSOFF
GO
ALTERDATABASE[1140120125_DB]SETARITHABORTOFF
GO
ALTERDATABASE[1140120125_DB]SETAUTO_CLOSEOFF
GO
ALTERDATABASE[1140120125_DB]SETAUTO_CREATE_STATISTICSON
GO
ALTERDATABASE[1140120125_DB]SETAUTO_SHRINKOFF
GO
ALTERDATABASE[1140120125_DB]SETAUTO_UPDATE_STATISTICSON
GO
ALTERDATABASE[1140120125_DB]SETCURSOR_CLOSE_ON_COMMITOFF
GO
ALTERDATABASE[1140120125_DB]SETCURSOR_DEFAULTGLOBAL
GO
ALTERDATABASE[1140120125_DB]SETCONCAT_NULL_YIELDS_NULLOFF
GO
ALTERDATABASE[1140120125_DB]SETNUMERIC_ROUNDABORTOFF
GO
ALTERDATABASE[1140120125_DB]SETQUOTED_IDENTIFIEROFF
GO
ALTERDATABASE[1140120125_DB]SETRECURSIVE_TRIGGERSOFF
GO
ALTERDATABASE[1140120125_DB]SETENABLE_BROKER
GO
ALTERDATABASE[1140120125_DB]SETAUTO_UPDATE_STATISTICS_ASYNCOFF
GO
ALTERDATABASE[1140120125_DB]SETDATE_CORRELATION_OPTIMIZATIONOFF
GO
ALTERDATABASE[1140120125_DB]SETTRUSTWORTHYOFF
GO
ALTERDATABASE[1140120125_DB]SETALLOW_SNAPSHOT_ISOLATIONOFF
GO
ALTERDATABASE[1140120125_DB]SETPARAMETERIZATIONSIMPLE
GO
ALTERDATABASE[1140120125_DB]SETREAD_WRITE
GO
ALTERDATABASE[1140120125_DB]SETRECOVERYFULL
GO
ALTERDATABASE[1140120125_DB]SETMULTI_USER
GO
ALTERDATABASE[1140120125_DB]SETPAGE_VERIFYCHECKSUM
GO
ALTERDATABASE[1140120125_DB]SETDB_CHAININGOFF
(2)第二种思路代码:
USE[master]
GO
/******对象:
Database[1140120125DB1]脚本日期:
03/27/201212:
18:
10******/
CREATEDATABASE[1140120125DB1]ONPRIMARY
(NAME=N'DB1_data1',FILENAME=N'D:
\数据库\DB1_data1.mdf',SIZE=51200KB,MAXSIZE=409600KB,FILEGROWTH=20%),
FILEGROUP[secondary]
(NAME=N'DB1_data2',FILENAME=N'D:
\数据库\DB1_data2.ndf',SIZE=10240KB,MAXSIZE=UNLIMITED,FILEGROWTH=0)
LOGON
(NAME=N'DB1_log',FILENAME=N'D:
\数据库\DB1_log.ldf',SIZE=6144KB,MAXSIZE=2048GB,FILEGROWTH=0)
COLLATEChinese_PRC_CI_AS
GO
EXECdbo.sp_dbcmptlevel@dbname=N'1140120125DB1',@new_cmptlevel=90
GO
IF(1=FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC[1140120125DB1].[dbo].[sp_fulltext_database]@action='enable'
end
GO
ALTERDATABASE[1140120125DB1]SETANSI_NULL_DEFAULTOFF
GO
ALTERDATABASE[1140120125DB1]SETANSI_NULLSOFF
GO
ALTERDATABASE[1140120125DB1]SETANSI_PADDINGOFF
GO
ALTERDATABASE[1140120125DB1]SETANSI_WARNINGSOFF
GO
ALTERDATABASE[1140120125DB1]SETARITHABORTOFF
GO
ALTERDATABASE[1140120125DB1]SETAUTO_CLOSEOFF
GO
ALTERDATABASE[1140120125DB1]SETAUTO_CREATE_STATISTICSON
GO
ALTERDATABASE[1140120125DB1]SETAUTO_SHRINKOFF
GO
ALTERDATABASE[1140120125DB1]SETAUTO_UPDATE_STATISTICSON
GO
ALTERDATABASE[1140120125DB1]SETCURSOR_CLOSE_ON_COMMITOFF
GO
ALTERDATABASE[1140120125DB1]SETCURSOR_DEFAULTGLOBAL
GO
ALTERDATABASE[1140120125DB1]SETCONCAT_NULL_YIELDS_NULLOFF
GO
ALTERDATABASE[1140120125DB1]SETNUMERIC_ROUNDABORTOFF
GO
ALTERDATABASE[1140120125DB1]SETQUOTED_IDENTIFIEROFF
GO
ALTERDATABASE[1140120125DB1]SETRECURSIVE_TRIGGERSOFF
GO
ALTERDATABASE[1140120125DB1]SETENABLE_BROKER
GO
ALTERDATABASE[1140120125DB1]SETAUTO_UPDATE_STATISTICS_ASYNCOFF
GO
ALTERDATABASE[1140120125DB1]SETDATE_CORRELATION_OPTIMIZATIONOFF
GO
ALTERDATABASE[1140120125DB1]SETTRUSTWORTHYOFF
GO