《关系数据库与SQL_Server_2005课后答案——修改版》
SQL2005 习题参考答案
附录G 部分习题参考答案习题一参考答案一、选择题1.A 2.C 3.A 4.D二、填空题1.有组织的 可共享的2.人工管理 文件系统 数据库系统3.数据结构 数据操作 完整性约束4.层次模型 网状模型 关系模型 关系模型三、简答题略。
习题二参考答案一、填空题1.表 文件2.广义笛卡儿积 选择 投影 连接3.实体完整性 参照完整性 用户定义的完整性二、操作题1.PNO (SPJ)π2.PNO SNO 's5'((SPJ))=πσ3.SNO JNO 'J1'((SPJ))=πσ4.SNO JNO 'J1'and PNO='P1'((SPJ))=πσ5.SNO JNO 'J1'COLOR='P1'((SPJ)(P))=πσσ三、简答题略。
习题三参考答案3.U 上的极小函数依赖:SNO →SDEPT SDEPT →MNAME(SNO ,CNAME)f −−→GRADE规范化为3NF:ND(SNO,SDEPT)DM(SDEPT,MNAME)SCG(SNO,CNAME,GRADE)其余略。
习题四参考答案一、填空题1.客户机/服务器2.注册的服务器对象资源管理器3.停止运行4.F5二、简答题略三、操作题略习题五参考答案一、填空题1.二进制数据字符型数据日期和时间数据数值型数据双字节数据2.主数据文件辅助数据文件事务日志文件master数据库model数据库tempdb 数据库3.sp_help 表名二、操作题1.Sp_addtype 编号, 'char(8)', 'not null'2.CREATE TABLE图书(图书编号编号,书名varchar(50),价格int,出版社varchar(50),出版日期datetime,作者varchar(50))CREATE TABLE 读者(读者编号编号,姓名varchar(50),身份证号char(30),级别char(10))CREATE TABLE 借阅(读者编号编号,图书编号编号,借书日期datetime,还书日期datetime,是否续借char(10))3.(1)ALTER TABLE 读者ADD 联系方式varchar(50)(2)ALTER TABLE 图书MODIFY 出版社varchar(200)(3)ALTER TABLE 读者DROP COLUMN 联系方式4.(1)略。
sql server 2005教材思考与练习答案(1-9)
Sql server 2005程序设计与管理基础同步实训教程思考与练习答案第一章一、填空题1.身份验证权限验证2. sa3. C/S4. 关系第二章一、填空题1. 数据文件事务日志文件2. 主文件组用户自定义文件组3. master model tempdb msdb4. DA TABASE5. ALTER6. DROP二、选择题1. B2. D3.C4. B5. C6. A7. C8. B9. A10.C 11. A四、实践操作题1.—创建员工管理数据库CREATE DATABASE employee_manageON PRIMARY(NAME=employee_data,FILENAME='e:\employ\employee_data.mdf',SIZE=4MB,FILEGROWTH=1MB)LOG ON(NAME=employee_log,FILENAME='e:\employ\employee_log.ldf',SIZE=1MB,FILEGROWTH=15%)GO2. --修改员工管理数据库ALTER DATABASE employee_manageADD FILE(NAME=employee_data2,FILENAME='e:\employ\employee_manag2.ndf', SIZE=2MB,FILEGROWTH=10%,MAXSIZE=50MB)GO第三章一、填空题1. TABLE2. IDENTITY3. sp_help4. 单用户single user5. 1bit 0,1,null二、选择题1. B2. D3.B4. C5. B四、实践操作题USE employee_manageGO--创建部门信息表结构CREATE TABLE depart(depart_id char(3) PRIMARY KEY,depart_name nvarchar(20) NOT NULL,note nvarchar(50))GO--创建员工信息表结构CREATE TABLE empl(empl_id char(4) PRIMARY KEY,empl_name varchar(10) NOT NULL,sex char(2),birth datetime,duty varchar(20),depart_id char(3))GO--创建请假信息表结构CREATE TABLE leave(cq_id int IDENTITY(1,1) PRIMARY KEY, empl_id char(4) NOT NULL,cq_date datetime,leave_id char(2) NOT NULL,leave_reasom nvarchar(100))GO--创建请假类型表结构CREATE TABLE leaveType(leave_id char(2) PRIMARY KEY,leave_name varchar(20) NOT NULL)GO第四章一、填空题1. from2. <> !=3. ‘s%’‘_s’4. asc desc5. A VG MAX二、选择题1. A2.D3. A4. C5. C6. A7. A8. C9. C 10. A四、实践操作题--1.录入数据表记录--录入部门信息表记录INSERT INTO departV ALUES('001','基础教研室',NULL)GOINSERT INTO departV ALUES('002','专业教研室',NULL)GOINSERT INTO departV ALUES('003','教务科',NULL)GO--录入员工信息表记录INSERT INTO emplV ALUES('0101','王林','男','1956-1-23','院长',NULL)GOINSERT INTO emplV ALUES('0102','袁媛','女','1980-3-15','管理人员','003')GOINSERT INTO emplV ALUES('0201','李敏','女','1966-7-11','教研室主任','001')GOINSERT INTO emplV ALUES('0202','张天一','男','1979-9-11',NULL,'002')GOINSERT INTO emplV ALUES('0203','叶华','女','1982-8-15',NULL,'002')GOINSERT INTO emplV ALUES('0204','朱俊','男','1981-4-13',NULL,'001')GOINSERT INTO emplV ALUES('0205','马涛','男','1971-8-25','教研室主任','002')GOINSERT INTO emplV ALUES('0206','陈琳琳','女','1981-6-19',NULL,'001')GO--录入请假类型表记录INSERT INTO leaveT ypeV ALUES('01','事假')GOINSERT INTO leaveT ypeV ALUES('02','病假')GOINSERT INTO leaveT ypeV ALUES('03','缺假')GOINSERT INTO leaveT ypeV ALUES('04','公假')GO--录入请假信息表记录INSERT INTO leaveV ALUES('0202','2009-3-12','01',NULL) GOINSERT INTO leaveV ALUES('0205','2009-3-18','04','出差天') GOINSERT INTO leaveV ALUES('0202','2009-3-25','01','病假天') GOINSERT INTO leaveV ALUES('0203','2009-3-27','01','病假半天') GOINSERT INTO leaveV ALUES('0204','2009-4-10','03','缺勤天') GOINSERT INTO leaveV ALUES('0202','2009-4-22','02',NULL) GOINSERT INTO leaveV ALUES('0206','2009-3-16','01',NULL) GOINSERT INTO leaveV ALUES('0203','2009-4-15','03','缺勤半天') GOINSERT INTO leaveV ALUES('0204','2009-4-9','02',NULL)GOINSERT INTO leaveV ALUES('0202','2009-4-27','02',NULL) GO--2.修改表结构ALTER TABLE LEA VEADD status varchar(20)GO--3.修改请假信息表记录UPDA TE leaveSET status='已登记'WHERE month(cq_date)=3GOUPDA TE leaveSET status='未登记'WHERE month(cq_date)=4GO--4.查询部门编号为的所有员工的信息SELECT*FROM emplWHERE depart_id='002'GO--5.查询年以后出生的所有员工的信息SELECT*FROM emplWHERE birth>='1980-1-1'GO--6.查询月份请事假的考勤记录信息SELECT*FROM leaveWHERE leave_id='01'AND month(cq_date)=3 GO--7.统计各请假类型的请假人数信息SELECT leave_id 请假类型,count(*)请假人数FROM leaveGROUP BY leave_idGO--8.按员工统计其请假次数SELECT empl_id 员工编号,count(*)请假次数FROM leaveGROUP BY empl_idGO--9.统计员工中的男、女人数SELECT sex 性别,count(*)人数FROM emplGROUP BY sexGO第五章一、填空题1. 逗号JOIN2. INNER JOIN OUTER JOIN CROSS JOIN3. UNION 列数4. 左外连接右外连接全外连接5. EXISTS二、选择题1. A2. D3. A4. A、B5. A、C6. D四、实践操作题--1.查询各员工的基本信息及相应的部门信息SELECT e.*,d.*FROM empl e JOIN depart dON e.depart_id=d.depart_idGO--2.查询所有请假人员的姓名、所属部门、请假日期、请假类型名称SELECT empl_name,depart_name,cq_date,leave_nameFROM empl e JOIN depart dON e.depart_id=d.depart_idJOIN leave l ON l.empl_id=e.empl_idJOIN leaveType lt ON l.leave_id=lt.leave_idGO--3.查询出未请过假的员工的员工编号、姓名、部门名称SELECT empl_id,empl_name,depart_nameFROM empl e JOIN depart dON e.depart_id=d.depart_idWHERE empl_id NOT IN(SELECT empl_id FROM leave)GO--4.查询出各部门的请假人数SELECT depart_name 部门名称,count(*)请假次数FROM empl e JOIN depart dON e.depart_id=d.depart_idJOIN leave l ON l.empl_id=e.empl_idGROUP BY depart_name第六章一、填空题1. 主键约束非空约束2. 实体完整性域完整性参照完整性3. CREATE RULE4. sp_bindefault5. 唯一约束二、选择题1. D2. A3. D4. B5. A四、实践操作题--1.设置部门信息表的部门名称为唯一约束ALTER TABLE departADD CONSTRAINT uq_bmmc UNIQUE(depart_name)GO--2.设置员工信息表的所属部门列为外键约束ALTER TABLE emplADD CONSTRAINT fk_ssbm FOREIGN KEY(depart_id) REFERENCES depart(depart_id)GO--3.设置请假信息表的员工编号列为外键约束ALTER TABLE leaveADD CONSTRAINT fk_ygbh FOREIGN KEY(empl_id) REFERENCES empl(empl_id)GO--4.设置请假信息表的请假类型列为外键约束ALTER TABLE leaveADD CONSTRAINT fk_qjlx FOREIGN KEY(leave_id) REFERENCES leaveType(leave_id)GO--5.设置请假信息表的请假日期列为检查约束ALTER TABLE leaveADD CONSTRAINT ck_qjrq CHECK(cq_date<getdate())GO--6.设置员工信息表的性别列为检查约束ALTER TABLE emplADD CONSTRAINT ck_xb CHECK(sex IN('男','女'))GO--7.设置请假信息表的请假日期列为默认约束ALTER TABLE leaveADD CONSTRAINT df_qjrq DEFAULT getdate()FOR cq_date GO第七章一、填空题1. 视图2. 基本表3. sp_help sp_helptext4. WITH ENCRYPTION5. CREATE VIEW二、选择题1. C2. D3. A4. B四、实践操作题--1.创建视图,查询所有员工的基本信息及相应的部门信息CREATE VIEW v_emplDepartASSELECT e.*,depart_name,noteFROM empl e JOIN depart dON e.depart_id=d.depart_idGO--2.创建视图,查询请假人员的基本信息及请假的详细信息CREATE VIEW v_emplLeaveASSELECT e.*,cq_id,cq_date,leave_id,leave_reasom,statusFROM empl e JOIN leave lON l.empl_id=e.empl_idGO--3.创建视图,查询所有员工的基本信息及请假的详细信息CREATE VIEW v_allEmplLeaveASSELECT e.*,cq_id,cq_date,leave_id,leave_reasom,statusFROM empl e LEFT JOIN leave lON l.empl_id=e.empl_id--4.创建视图,查询出各部门的所有员工的基本信息及请假的详细信息CREATE VIEW v_allDepartEmplLeaveASSELECT depart_name,e.*,cq_id,cq_date,leave_reasom,statusFROM empl e JOIN depart dON e.depart_id=d.depart_idLEFT JOIN leave l ON l.empl_id=e.empl_idGO--5.使用视图v_emplDepart,查询出部门WEI 001的所有员工的信息SELECT*FROM v_emplDepartWHERE depart_id='001'GO--6.使用视图v_emplDepart,统计出各部门员工的人数SELECT depart_id,count(*)部门人数FROM v_emplDepartGROUP BY depart_idGO--6.使用视图v_emplLeave,统计出各请假类型员工的人数SELECT leave_id,count(*)请假人数FROM v_emplLeaveGROUP BY leave_idGO--7.使用视图v_allDepartEmplLeave,统计出各部门员工的请假次数SELECT depart_name,count(*)请假次数FROM v_allDepartEmplLeaveGROUP BY depart_nameGO第八章一、填空题1. 数据定义语言2. 局部变量全局变量3. @@4. DECLARE5. +二、选择题1. B2. D3. C4. B5. D第九章一、填空题1. master sp_2. 输入参数输出参数3. OUTPUT4. SP_HELPTEXT5. WITH RECOMPILE二、选择题1. D2. A四、实践操作题--1.建立一个存储过程,查询某班的所有学生的基本信息。
《SQL Server 2005实用教程》习题答案
第一章一、填空题1.5 ,企业版(Enterprise Edition)、开发人员版(Developer Edition)、标准版(Standard Edition)、工作组版(Workgroup Edition)、简易版(Express Edition)。
2.数据库引擎服务(SQL Server)、代理服务(SQL Server Agent)、分析服务(SQL Server Analysis Services)、浏览器服务(SQL Server Browser)、集成服务(SQL Server Integration Services)、全文索引服务(SQL Server Full Text Search))、报表服务(SQL Server Report Server)。
3.开发人员版、标准版、工作组版、简易版。
二、判断题1.×2.√三、简答题1.可以在哪些操作系统平台下安装使用SQL Server 2005企业版?Windows 2000 Server SP4Windows 2000 Advanced Server SP4Windows 2000 Datacenter Edition SP4Windows Server 2003 SP1Windows Server 2003 Enterprise Edition SP1Windows Server 2003 Datacenter Edition SP1Windows Small Business Server 2003 Standard Edition SP1Windows Small Business Server 2003 Premium Edition SP1……等2.简述如何启动、停止数据库引擎服务。
P11第二章一、填空题1.42.8二、选择题1.C2.A三、综合题1.创建一个数据类型New_str,要求其为字符型,最大长度为12,不允许为空,写出实现的语句。
SQL server 2005数据库课后习题答案
1.SQL Server 2005系统的示例数据库有(C)。
A.1个B.2个C.多个D.无数个2.下列系统数据库中,(D)数据库不允许进行备份操作。
A. masterB. msdbC. modelD. Tempdb3.下列关于SQL Server 2005实例的说法中,正确的是(C)。
A.不同版本的默认实例数可能不一样多B.不同版本的命名实例数一定一样多C.不同版本的默认实例只有一个,命名实例数不一样多D.不同版本的命名实例只有一个,默认实例数不一样多4.下列(C)数据库是SQL Server 2005在创建数据库时可以使用的模板。
A. masterB. msdbC. modelD.mssqlsystemresoure5.默认情况下,SQL Server 2005的系统数据库有(B)。
A. 1个B.5个C. 4个D.6个1.创建SQL Server 2005的用户数据库时,最多不能超过(B)。
A. 100B. 40000C.20D. 300002.SQL Server 2005数据库文件有3类,其中主数据文件的后缀为(C)。
A. .ndfB. .ldfC. .mdfD. .idf3.SQL Server 2005中每个数据文件的基本存储单位的大小是(A)。
A. 8KBB. 8060BC. 64KBD. 512B4.用于决策支持的数据库称为(A)数据库。
A. OLAPB. OLTPC. 系统D. 用户5.以下关于数据存储的描述错误的是(C)。
A. 所以数据库都有一个主要数据库文件(.mdf)B. 创建数据库时,会将model数据库复制到新数据库C. 同一行的数据可以随意存储在不同的页上D. 一个数据库中每1兆字节的空间能存储128个页1.SQL Server 2005的约束机制不包括(D)。
A. checkB. not nullC. uniqueD. Rule2.下列(B)方法可以实现引用完整性。
SQLServer数据库及应用课后习题答案
1、SQL Server 2005的版本有:SQL Server 2005 Enterprise Edition(企业版)、SQL Server 2005 Standard Edition(标准版)、SQL Server 2005 Workgroup Edtition(工作组版)、SQL Server 2005 Developer Edition(开发版)、及SQL Server 2005 Express Edition(简易版)。
2、在Management Studio中,单击工具栏左侧的“新建查询”按钮,即可打开查询分析器,输入SQL语句后,单击工具栏中的“执行”按钮,执行此SQL语句,并将查询后的结果显示在结果窗口中。
3、硬件要求:(1)监视器:SQL Server图形工具需要VGA或更高分辨率,分辨率至少为 1024×768 像素。
(2)处理器:Pentium III 600MHz以上。
(3)内存:SQL Server 2005 Express Edition最小内存为192MB,其他版本最小内存为512MB。
(4)硬盘空间:实际硬盘空间要求取决于系统配置和选择安装的应用程序和功能。
软件要求:(1)网络软件:64 位版本的SQL Server 2005的网络软件要求与32位版本的要求相同。
Windows 2003、Windows XP和Windows 2000都具有内置网络软件。
(2)浏览器:所有SQL Server 2005的安装都需要Microsoft Internet Explorer 6.0 SP1或更高版本,因为Microsoft管理控制台(MMC)和HTML帮助需要它。
(3)Internet信息服务:安装Microsoft SQL Server 2005 Reporting Services (报表服务)需要IIS 5.0以上版本。
(4)2.0:Reporting Services需要 2.0。
SQLServer课后习题参考答案(详解)
SQLServer课后习题参考答案(详解)第一章:1、订单管理系统的功能有哪些?答:订单管理系统的功能主要有客户查询商品信息、客户预订商品并提交订单、销售人员处理客户的订单信息、销售人员管理商品信息、客户信息等。
2、说明ER模型的作用?答:ER模型(实体关系模型)是描述概念世界,建立概念世界的工具,ER方法把管理系统所要描述的问题划分为单个的实体,通过实体间的联系实现有效、自然地模拟现实世界。
3、什么是关系模型?关系的完整性包括哪些内容?答:关系模型就是用二维表格结构来表示实体及实体之间联系的模型,关系模型包括四类完整性:域完整性、实体完整性、参照完整性和用户定义的完整性。
4、按照功能,SQL语言分为哪4部分?答:按照功能,SQL语言分为数据定义语言、查询语言、数据操纵语言、数据控制语言。
5、规范化范式是依据什么来划分的?它与一事一地的原则有什么联系?答:规范化范式根据一个关系满足数据依赖的程度不同,可规范化为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。
规范化范式遵循一事一地的原则,将描述一个独立事物的属性组成一个关系。
第二章:1、SQL Server 2005有哪些新增特性?答:SQL Server 2005的新特性主要体现在企业数据管理、开发人员生产力、商务智能三个方面。
企业数据管理体现在高可用性、管理工具、安全性和可伸缩性;开发人员生产力体现在CommonLanguage Runtime集成、集成XML、Transact-SQL增强和SQL服务代理;商务智能体现在分析服务、数据转换服务、报表服务和数据挖掘。
2、SQL Server 2005安装的软件和硬件环境是什么?答:SQL Server 2005安装的软件和硬件环境参见教材表2-3、2-4、2-5、2-6。
3、SQL Server 2005有哪些版本?有哪些服务组件?答:SQL Server 2005包括企业版、标准版、工作组版、开发版和简易版五个版本,服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。
《SQL Server2005数据库应用技术》习题参考答案
1、简述数据与信息之间的联系与区别。
1、描述事物的符号称为数据,信息是就指对结果进行加工处理,并对人类社会实践和生产活动产生决策影响的数据。
数据是物理的,信息是观念性的,数据和信息密切相关,信息可以数据化,数据代表信息,两者既有联系又有区别。
2、简述数据库系统的设计流程。
2、数据库设计的流程包括六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护。
3、社么是E-R图?E-R图由哪些要素构成?3、E-R图是用来描述实体-联系的模型图。
E-R图的组成要素:表示实体的“矩形”、表示实体属性的“椭圆”、表示实体间联系的“菱形”。
4、逻辑结构设计有哪些步骤?4、逻辑结构设计步骤:(1)概念模型转化为关系模型。
(2)将关系模型转化为特定数据管理系统下的数据模型。
(3)数据模型进行优化(通常采用规范化理论),以提高数据库应用系统的性能。
5、物理结构设计有哪些步骤?5、物理结构设计步骤:(1)确定数据库的物理结构(存储结构、存储位置)。
(2)确定数据库的存取方法。
(3)对物理结构进行评价,评价的重点为时间和空间效率。
6、数据库的维护包括哪些工作?6、数据库的维护工作:对数据库的监测、分析和性能的改善;数据库转存和故障恢复;数据库的安全性、完整性控制;数据库的重组和重构造。
7、简述安装SQL Server2005所需的软硬件环境。
软件环境:9何在SQL Server2005 Management Studio中增加一个数据库?9可利用“附加”数据库功能:(1)在【对象资源管理器】窗口中,右击【数据库】选项,弹出快捷菜单,选择【附加】选项,出现【附加数据库】对话框。
(2)单击【添加】按钮,出现【定位数据库文件】对话框。
从中选择要附加的数据库的主要数据文件,单击【确定】按钮,返回【附加数据库】对话框。
(3)单击【确定】按钮,即可把所选的数据库附加到当前SQL Server实例上10、如何一个查询,并保存脚本文件?10、打开查询编辑器窗口。
数据库技术与应用SQLServer2005课后习题答案
R-S={(a2,b2,c1),(a3,b2,c3)}
Π(A,B)={(a1,b1,c1),(a2,b2,c1)}
第三章
一.选择题
1.A 2.C 3.B 4.C 5.B
二.填空题
1.企业版,标准版,开发版,工作组版,精简版。
2.Windows其同模式
3.SQL Server配置管理器
实体属性:实体的特征成为属性。区别于关系属性:二维表的每一列在关系中称为属性
关键字:关系中能够唯一区分确定不同元组的单个属性或属性组合称为该关系的一个关键字。又被称为键或码(key)
外部关键字:如果关系中某个属性或属性组合并非本关系中的关键字但却是另一个关系中的关键字,这样的属性或属性组合被称为本关系中的外部关键字或外键(FOREIGN KEY,FK)
float和real数据类型被称为近似的数据类型。在近似数字数据类型方面,float和real数据的使用遵循IEEE 754标准。近似数字数据类型并不存储为多数数字指定的精确值,它们只储存这些值的最近似值。在很多应用程序中,指定值与存储值之间的微小差异并不明显。
money数据类型存储货币数据。货币数据存储的精确度为四位小数。可以存储在money数据类型中的值的范围是-922,337,203,685,477.5808至+922,337,203,685,477.5807(需8个字节的存储空间)。
如果您认识某个字,您可以快速地从自动中查到这个字。但您也可能会遇到您不认识的字,不知道它的发音,这时候,您就不能按照刚才的方法找到您要查的字,而需要去根据“偏旁部首”查到您要找的字,然后根据这个字后的页码直接翻到某页来找到您要找的字。但您结合“部首目录”和“检字表”而查到的字的排序并不是真正的正文的排序方法,比如您查“张”字,我们可以看到在查部首之后的检字表中“张”的页码是672页,检字表中“张”的上面是“驰”字,但页码却是63页,“张”的下面是“弩”字,页面是390页。很显然,这些字并不是真正的分别位于“张”字的上下方,现在您看到的连续的“驰、张、弩”三字实际上就是他们在非聚集索引中的排序,是字典正文中的字在非聚集索引中的映射。我们可以通过这种方式来找到您所需要的字,但它需要两个过程,先找到目录中的结果,然后再翻到您所需要的页码。聚集索引在每个表内又只能建立一个,而非聚类索引可以建立多个。
sqlServer2005习题与答案
从学生表Student(Sno,Sname,Ssex,Sage,Sdept)中查询出全体学生的学号与姓名1. 查询全体学生的详细记录2. 显示前5条纪录3. 显示前50%条纪录4. 查询所有年龄在17岁以下的学生姓名及其年龄。
5. 某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。
查询缺少成绩的学生的学号和相应的课程号。
(成绩为null)6. 查所有有成绩的学生学号和课程号7. 查询学生的所有信息,按学号的降序排列1.select * from student2.select top 5 * from student3.select top 50 percent * from student4.select sname,sage from student where sage<175.select sno,cno from sc where score is NULL6.select sno,cno from sc where score is not NULL7.select * from student order by sno desc8 查询选修了课程的学生学号9. 查全体学生的姓名及其出生年份,显示两列:姓名、出生年份10. 查询年龄在15~17岁(包括15岁和17岁)之间的学生的姓名、年龄。
11. 查询年龄不在15~17岁之间的学生姓名、系别和年龄。
12. 查询年龄不在15~17岁之间的男生姓名、系别和年龄。
13. 将上题查询的结果插入一个新表中。
8.select distinct sno from sc9.select sname,2010-sage as 出生年份from student10.select sname,sage from student where sage between 15 and 1711.select sname,sdept,sage from student where sage is not between 15 and 1712.select sname,sdept,sage from student where ssex='男' and sage is not between 15 and 1713.select sname,sdept,sage into newtable from student where ssex='男' and sage is not between 15 and 171. 查询学生总人数。
数据库原理与应用:基于SQL+Server+2005课后答案
CHAPTER 01第1章数据库系统概述练习题1参考答案1.文件系统中的文件与数据库系统中的文件有何本质上的不同?答文件系统中的文件是面向应用的,一个文件基本上对应于一个应用程序,文件之间不存在联系,数据冗余大,数据共享性差,数据独立性差;数据库系统中的文件不再面向特定的某个或多个应用,而是面向整个应用系统,文件之间是相互联系着的,减少了数据冗余,实现了数据共享,数据独立性高。
2.对数据库的3种不同数据观是如何划分的?答概念模式体现了数据库的总体观,称为DBA视图;内模式体现了数据库的存储观,称为系统程序员视图;外模式体现了数据库的用户观,称为用户视图。
用户视图有多个,而其他视图只有一个。
3.什么是数据独立性?数据库系统是如何实现数据独立性的?答数据独立性是指应用程序和数据之间相互独立、不受影响,即数据结构的修改不引起应用程序修改的特性。
数据独立性包括物理数据独立性和逻辑数据独立性。
物理数据独立性是指数据库物理结构改变时不必修改现有的应用程序。
逻辑数据独立性是指数据库逻辑结构改变时应用程序不用改变。
数据独立性是由DBMS的二级映象功能来保证的。
数据库系统通常采用外模式、模式和内模式三级结构,数据库管理系统在这三级模式之间提供了外模式/概念模式和概念模式/内模式两层映象,当整个系统要求改变模式时(增加记录类型,增加数据项)时,由DBMS 对各个外模式/概念模式的映象作相应改变,可以使外模式保持不变,由于应用程序是依据数据的外模式编写的,因而应用程序不必修改,保证了数据的逻辑独立性。
当数据的存储结构改变时,由DBMS对概念模式/内模式映象作相应改变,可以使模式不变,从而应用程序也不必改变,保证了数据的物理独立性。
第2章数据模型CHAPTER 02练习题2参考答案1.什么是关系?什么是关系框架?关系之间实现联系的手段是什么?什么是关系数据库?答关系是一张二维表,即元组的集合。
关系框架是一个关系的属性名表。
《关系数据库与SQL Server 2005》习题参考答案
关系数据库与SQL Server 2005习题参考答案第1章关系数据库原理1.数据是数据库中存储的基本对象。
数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及开发工具)、应用系统、数据库管理员和用户构成。
2.数据库系统的特点有:数据结构化、数据的共享性高,冗余度低,易扩充、数据独立性高、数据由DBMS统一管理和控制。
3.数据库管理系统的主要功能有:数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。
4.1:1的E-R图1:m的E-R图m:n的E-R图5.6.公司(公司代码,公司名,地址)部门(部门代码,部门名)员工(员工代码,姓名,性别,年龄,职务)商品(商品代码,商品名,单价,数量)厂家(厂家代码,厂家名,地址)拥有(公司代码,部门代码)属于(部门代码,员工代码)销售(员工代码,商品代码,销售量)供货(商品代码,厂家代码)7.条件连接是把两个表中的行按照给定的条件进行拼接而形成的新表,结果列为参与连接的两个表的所有列。
自然连接要求两个表有共同属性(列)。
自然连接的结果表是参与操作的两个表的共同属性上进行等值条件连接后,再去除重复的属性后得到的新表。
8.左外连接右外连接9.关系的完整性规则包括实体完整性、域完整性和参照完整性三个方面。
实体完整性用于保证数据库表中的每一个元组都是惟一的,要求在任何关系的任何一个元组中,主键的值不能为空值、也不能取重复的值。
域完整性用于保证给定字段中数据的有效性,即保证数据的取值在有效的范围内,要求由用户根据实际情况,定义表中属性的取值范围。
参照完整性用于确保相关联的表间的数据保持一致,要求“不引用不存在的实体”,即:不允许在一个关系中引用另一个关系中不存在的元组。
例如:主表:学生(学号,姓名,性别,专业号,年龄)从表:专业(专业号,专业名)主表的“专业号(外键)”的取值只能为两种情况:若取非空值,则它必须是从表中存在的值;取空值(null),表明尚未给学生分配专业,null不等于0或空字符串。
数据库技术与应用——sqlserver2005习题答案
第一章习题答案:一、(1)A(2)B(3)B二、1.需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、数据库物理结构设计阶段、数据库实施阶段、数据库运行和维护阶段2.逻辑独立性、物理独立性3.主属性、非主属性三、1.数据库技术主要经历了人工管理阶段、文件系统阶段、数据库系统阶段。
人工管理阶段的主要特点是:(1)数据不保存(2)应用程序管理数据(3)数据不共享(4)数据不具有独立性文件系统阶段的主要特点是:(1)数据可以长期保存(2)由文件系统管理数据数据库系统的特点是:(1)数据的管理者:DBMS(2)数据面向的对象:现实世界(3)数据的共享程度:共享性高(4)数据的独立性:高度的物理独立性和一定的逻辑独立性(5)数据的结构化:整体结构化(6)数据控制能力:由DBMS统一管理和控制2.数据(Data)是数据库中存储的基本对象,描述事物的符号记录。
数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。
数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成。
3.数据库系统的优点:是以数据为中心组织数据、减少数据的冗余,提供更高的数据共享能力,同时要求程序和数据具有较高的独立性,当数据的逻辑结构改变时,不涉及数据的物理结构,也不影响应用程序,这样就降低了应用程序研制与维护的费用。
第二章习题答案:一、1.A2.C二、1. SQL Server数据库引擎2.混合模式三、1. SQL Server 2005分发了4个主要的版本:工作组版、标准版、企业版和开发版。
主要有服务器组件、客户端组件、管理工具、开发工具、文档和示例2. SQL Server 2005在原有SQL Server 2000系统的基础上增加了一些新的功能和特性,主要表现在企业级数据库管理、开发人员能力和商业智能方面。
SQLServer2005课后实训参考答案
课后实训参考答案单元1(SQL Server概述)1、使用SQL语句。
在Sale数据库中创建名为MyDataType的用户定义数据类型,数据类型为NV ARCHAR,长度为20,该列允许为NULL。
USE SaleGOEXEC sp_addtype MyDataType,'NVARCHAR(20)','NULL' GO单元2(单表数据)使用查询窗口或sqlcmd实施查询。
本实训使用Xk数据库。
--1.查看系部编号为“03”的系部名称。
USE XkGOSELECT DepartNameFROM DepartmentWHERE DepartNo='03'GO--2.查看系部名称中包含有“工程”两个字的系的全名。
USE XkGOSELECT DepartNameFROM DepartmentWHERE DepartName LIKE'%工程%' GO--3.显示共有多少个系部。
USE XKGOSELECT'系部总数'=COUNT(*)FROM DepartmentGO--4.显示“01”年级共有多少个班级。
USE XKGOSELECT'01 级班级数'=COUNT(*)FROM ClassWHERE ClassNo LIKE'2001%'GOSELECT'01 级班级数'=COUNT(*)FROM ClassWHERE ClassName LIKE'01%'GOSELECT'01 级班级数'=COUNT(*)FROM StudentWHERE ClassNo LIKE'2001%'GO--5.查看在“周二晚”上课的课程名称和教师。
USE XKGOSELECT'课程名称'=CouName,'任课教师'=TeacherFROM CourseWHERE SchoolTime='周二晚'GO--6.查看姓“张”、“陈”、“黄”同学的基本信息,要求按照姓名降序排序查询结果。
SQL Server 2005 数据库实验问题答案
回答问题:1.你如何认识需求分析在系统开发中的地位和重要性?在开发一个系统前,需求分析可以在宏观上定义该系统的功能和性能,避免设计,编码测试的失常和重复性工作,或者没有很好的理解市场需求,从而导致系统的多余甚至错误。
需求分析可以更精准的把握住该系统的核心,在系统设计和实现上起到至关重要的作用。
2.设计ER图、关系模型分别属于数据库设计的哪一阶段?E-R图属于概念设计阶段,关系模型属于逻辑结构设计阶段。
3.主键、外键对于关系数据库的意义何在?主键主要是唯一的标示一行,同时作为一个可以被外键有效引用的对象。
主键和外键是把多个表组织为一个有效的关系数据库的粘合剂。
必须将数据库模式从理论上的逻辑设计转换为实际的物理设计。
而主键和外键的结构是这个设计过程的症结所在。
一旦将所设计的数据库用于了生产环境,就很难对这些键进行修改,所以在开发阶段就设计好主键和外键就是非常必要和值得的。
同时,也保证了数据库的完整性。
4.在数据库存储结构设计时要考虑哪些因素?确定数据的存储结构,存取路径的选择和调整,确定数据存放位置,确定存储分配。
5.在表设计时对于数据类型的选择和使用如何考虑?选择正确的数据列类型能大大提高数据库的性能和使数据库具有高扩展性,需要注意:存放到数据列中的数据类型。
数据值的取值范围。
考虑性能和处理效率。
数值操作比字符操作快。
小类型的处理速度比大类型快。
不同数据表中固定长度类型和可变长度类型的处理效率是不同的。
可变长度类型在经过删除和修改操作后容易产生碎片,降低系统性能,需定期运行OPTIMIZE TABLE命令以优化数据表。
固定长度类型由于有固定的长度,所以容易确定每条记录的起始点,可加快数据表的修复速度。
在MyISAM和ISAM表中使用固定长度类型数据列有助改善数据库性能。
在InnoDB表中,固定长度和可变长度数据列类型都以相同方式存储,所以固定长度数据列类型并没有性能优势,反而由于可度长度数据列类型由于占用存储空间较少,所以处理速度会快些。
SQL Server 课后习题参考答案(详解)
答:实例就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。一个SQL Server服务器就是一个实例,一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个实例。
答:实体是客观存在并且可以相互区别的事物,实体可以是具体的事物,也可以是抽象的事物。不同的事物是用不同的特征决定的,用来描述实体的特性称为实体的属性。表中每条记录对应一个实体,而每个字段保存着对应实体的属性值。
2、说明主键、惟一键和外键的作用。说明它们在保证数据完整性中的应用方法。
答:主键是唯一识别一个表的每一记录,作用是将记录和存放在其他表中的数据进行关联,并与外键构成参照完整性约束。惟一键用于指明创建惟一约束的列上的取值必须惟一。外键用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。外键约束的主要目的是控制存储在外键表中的数据,但它还可以控制对主键表中数据的修改。
7、SQL Server 2005中有哪些类型数据?
答:参见教材表4-1。
9、数据完整性包括哪些?如何实现?
答:数据完整性包括实体完整性,域完整性,引用完整性,用户定义完整性,通过在表中,列中,表与表之间设置主键、惟一键、外键、CHECK约束等可以实现。
16、说明使用标识列的优缺点。
答:优点:方便可以让计算机为表中的记录按照要求自动地生成标识字段的值。
8、通过视图修改数据要注意哪些限制?
答:对视图进行的修改操作ห้องสมุดไป่ตู้以下限制:
SQL-Sever-2005-习题与答案
SQL-Sever-2005-习题与答案一1.使用SQL Server管理平台中创建studentsdb 数据库,并修改studentsdb数据文件和日志的初始大小、最大文件大小、增长容量及文件路径。
2.使用Transact-SQL语句CREATE DATABASE创建studb数据库,指定数据文件大小、最大文件大小、增长容量及文件路径。
3.使用Transact-SQL语句ALTER DATABASE完成修改数据库设置、增加日志文件及更名等操作。
4.使用SQL Server管理平台中在studentsdb 数据库中创建数据表student_info(其数据结构如图1-2所示),并增加部分数据。
5.使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade表,其数据结构如图1-4所示。
6.使用Transact-SQL语句ALTER TABLE修改相同的所有学生的姓名、出生日期。
6.使用IN子查询,查找所修课程编号为0002、0005的学生学号、姓名、性别。
7.查询学习“C语言程序设计”课程的学生的学号、姓名、分数。
8.查询每个学生的所选课程的最高成绩,要求列出学号、姓名、课程编号、分数。
9.查询所有学生的总成绩,要求列出学号、姓名、总成绩,没有选修课程的学生的总成绩为空。
10.为grade表添加数据行:学号为0004、课程编号为0006、分数为76。
查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,curriculum表中没有的课程列值为空。
三1.使用Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。
2.使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。
3.使用Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关系数据库与SQL Server 2005习题参考答案(修改版)第1章关系数据库原理1.数据是数据库中存储的基本对象。
数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及开发工具)、应用系统、数据库管理员和用户构成。
2.数据库系统的特点有:数据结构化、数据的共享性高,冗余度低,易扩充、数据独立性高、数据由DBMS统一管理和控制。
3.数据库管理系统的主要功能有:数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。
4.1:1的E-R图1:m的E-R图m:n的E-R图5.6.公司(公司代码,公司名,地址)部门(部门代码,部门名)员工(员工代码,姓名,性别,年龄,职务)商品(商品代码,商品名,单价,数量)厂家(厂家代码,厂家名,地址)拥有(公司代码,部门代码)属于(部门代码,员工代码)销售(员工代码,商品代码,销售量)供货(商品代码,厂家代码)7.条件连接是把两个表中的行按照给定的条件进行拼接而形成的新表,结果列为参与连接的两个表的所有列。
自然连接要求两个表有共同属性(列)。
自然连接的结果表是参与操作的两个表的共同属性上进行等值条件连接后,再去除重复的属性后得到的新表。
8.9.关系的完整性规则包括实体完整性、域完整性和参照完整性三个方面。
实体完整性用于保证数据库表中的每一个元组都是惟一的,要求在任何关系的任何一个元组中,主键的值不能为空值、也不能取重复的值。
域完整性用于保证给定字段中数据的有效性,即保证数据的取值在有效的范围内,要求由用户根据实际情况,定义表中属性的取值范围。
参照完整性用于确保相关联的表间的数据保持一致,要求“不引用不存在的实体”,即:不允许在一个关系中引用另一个关系中不存在的元组。
例如:主表:学生(学号,姓名,性别,专业号,年龄)从表:专业(专业号,专业名)主表的“专业号(外键)”的取值只能为两种情况:若取非空值,则它必须是从表中存在的值;取空值(null),表明尚未给学生分配专业,null不等于0或空字符串。
10.在关系数据库的设计过程中,对于同一个问题,选用不同的关系模式,其性能的优劣是大不相同的,为了区分关系模式的优劣,人们常常把关系模式分为各种不同等级的范式。
一个低一级范式的关系模式,通过分解可以转换为若干个高一级范式的关系模式,这种过程称为关系的规范化。
关系的规范化主要目的是解决数据库中数据冗余、插入异常、删除异常和更新异常等数据存储问题。
关系规范化的基本方法是逐步消除关系模式中不合适的数据依赖,使模式达到某种程度的分离,也就是说,不要将若干事物混在一起,而要彼此分开,用一个关系表示一事或一物。
从第一范式到第二范式,消除了非主属性对码的部分函数依赖;从第二范式到第三范式,消除了非主属性对码的传递函数依赖;从第三范式到BCNF,消除了关系中冗余的码。
习题21.微软公司为用户提供了5种版本的SQL Server 2005:简易版、工作组版、标准版、企业版、开发人员版。
2.SQL Server 2005的新特性:企业级数据管理的增强功能、提高开发者能力的新技术、查询通知、多活动结果集、依据镜像的透明故障转移、商务智能。
3.SQL Server 2005的配置工具包括:Notification Services命令提示、Reporting Services配置、SQL Server Configuration Manager、SQL Server错误和使用情况报告、SQL Server外围应用配置器。
4.SQL Server 2005安装完成后,包括以下的系统数据库:Master数据库、Model数据库、Msdb数据库、Tempdb数据库、Resource数据库。
习题3一、填空题1.Master数据库Model数据库Msdb数据库Tempdb数据库Resource 数据库2.主数据文件次数据文件事务日志文件3.可恢复所有未完成的事务,保证数据库操作的一致性和完整性4.CREATE DA TABASE5.ALTER DATABASE6.DROP DATABASE7.sp_helpdb8.数据数据9.为空删除文件组中的文件10.主二、简答题1.分离数据库时,如果有用户与数据库连接,在“状态”列显示“未就绪”,此时分离数据库会操作失败。
所以要分离数据库先要结束那些正在使用数据库的进程。
2.备份数据库有4种类型:完整备份、差异备份、事务日志备份、文件和文件组备份。
三、上机题create database testdbon primary( name=td1, filename=‘e:\sql\td1.mdf',size=5, maxsize=20, filegrowth=10% ),( n ame=td2, filename=‘e:\sql\td2.ndf',size=10, maxsize=30, filegrowth=2 ),filegroup user1( name=td3, filename=‘e:\sql\td3.ndf',size=5, maxsize=unlimited, filegrowth=2 )log on( name=tlog, filename=' e:\sql\tlog.ldf',size=4, maxsize=unlimited, filegrowth=20% )习题4一、填空题1.主键约束唯一性约束外键约束检查约束空值约束默认值约束2.单个列定义所有列定义修改该表的方式3.一多空非空4.相应的约束5.外键T2二、上机题1.alter table 学生表add constraint pk_xh primary key (学号),constraint uq_email unique (EMAIL),constraint df_xb default ‘男’ for 性别alter table 学生表alter column 姓名char(8) not null2.alter table 成绩表add constraint pk_xh_kcm primary key (学号, 课程名),constraint fk_xh foreign key (学号) references 学生表(学号),constraint ck_cj check (成绩>=0 and 成绩<=100)alter table 成绩表alter column 课程名char(20) not null3.insert 学生表(学号, 姓名, 性别, 电话, EMAIL)values (‘020107’, ‘田芳’, ‘女’, ‘65926699’, ‘tianfang@’)goinsert 成绩表(学号, 课程名, 成绩)values (‘020107’, ‘数据库基础’, 85)4.alter table 学生表add 序号int identity5.alter table 学生表alter column 电话char(11)6.exec s p_rename ‘学生表’, ‘xs b’goexec s p_rename ‘成绩表’, ‘cjb’7.(略)习题5一、填空题1.SELECT2.WHERE3.连接4.分组5.排序6.ORDER BY7.设定组或聚合的查询条件HAVING子句可以使用汇总函数,而WHERE 子句则不能二、上机题1.select 课程名, 授课教师, 开课学期from kcwhere 开课学期=22.select 姓名, 性别, 联系电话from xsqkwhere 性别=03.select 学号, 课程号, 成绩from xs_kcwhere 成绩>=804.select 学号, 课程号, 成绩from xs_kcwhere 成绩>=80 or 成绩<605.select 学号, 姓名, 出生日期from xsqkwhere 出生日期not between ‘1980-07-07’ and ‘1980-09-30’6.select *from xsqkwhere 姓名like ‘陈_’7.select *from xsqkwhere 学号like ‘%1%’8.select *from xsqkwhere 联系电话like ‘_ _ _ _ _ _ [46] _’9.select *from kcwhere 开课学期in (1, 3, 5)10.select 学号, 姓名, 出生日期from xsqkorder by 出生日期11.select 开课学期, sum(学分) as 各学期的学分合计from kcgroup by 开课学期12.select 学号, count(*) as 每个学生选修的课程门数from xs_kcgroup by 学号13.select 课程名称, 开课学期, 学分from kccompute sum(学分)14.select 课程名称, 开课学期, 学分from kcorder by 2compute sum(学分) by 开课学期15.select 学号, avg(成绩) as 学生的平均分from xs_kcgroup by 学号16.select 学号, avg(成绩) as 学生的平均分from xs_kcgroup by 学号having avg(成绩) between 70 and 8017.select 学号, 课程号, 成绩into temp_kcfrom xs_kcorder by 课程号, 成绩desc18.select max(成绩) as 101课程的最高分, min(成绩) as 101课程的最低分from xs_kcwhere 课程号=’101’19.select 开课学期, count(*) as 每学期开设的课程门数from kcgroup by 开课学期20.select 专业名, count(专业名) as 各专业人数from xsqkgroup by 专业名21.select 学号, xs_kc.课程号, 授课教师, 开课学期, 成绩from kc, xs_kcwhere kc.学号=xs_kc.学号and 成绩<6022.select 学号, sum(成绩) as 各学生的总分from xs_kcgroup by 学号having sum(成绩)>=100order by sum(成绩) desc23.select 学号, 姓名from xsqkwhere (select count(课程号)from xs_kcwhere xsqk.学号=xs_kc.学号and 成绩>=60 )=224.select *from xs_kc awhere 成绩=(select max(成绩)from xs_kc bwhere a.课程号=b.课程号)25.select *from xs_kc awhere 成绩=(select min(成绩)from xs_kc bwhere a.学号=b.学号)习题6一、填空题1.标准视图索引视图分区视图2.虚拟表CREATE VIEW3.基表4.聚集索引非聚集索引唯一索引复合索引全文索引XML索引5.创建表6.数据库二、操作题1.create view v_平均成绩asselect 学号,avg(成绩) as 平均成绩from xs_kcgroup by 学号having avg(成绩)>=902.create view v_选课信息asselect a.姓名,b.课程名from xsqk a,kc b,xs_kc cwhere a.学号=c.学号and b.课程号=c.课程号and a.班级='网络071'3.create index ix_课程名on kc(课程名)习题71.规则是绑定到列或用户自定义数据类型上的数据库对象,用来指定列可以接受哪些数据值。