复习题解答.docx
《复习题解答.docx》由会员分享,可在线阅读,更多相关《复习题解答.docx(21页珍藏版)》请在冰豆网上搜索。
复习题解答
复习题解答
数据库―SQLServer2008
1.简述数据、数据库、数据库管理系统、数据库应用系统的概念。
答:
数据是描述事物的符号记录,是信息的载体,是信息的具体表现形式。
数据库就是存放数据的仓库,是将数据按一定的数据模型组织、描述和存储,能够自动进行查询和修改的数据集合。
数据库管理系统(DBMS)是数据库系统的核心,是为数据库的建立、使用和维护而配置的软件。
它建立在操作系统的基础上,位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的创建、查询、更新及各种数据控制等。
数据库应用系统:
凡使用数据库技术管理其数据的系统都称为数据库应用系统。
2.简述数据库管理系统的功能。
答:
数据库管理系统是数据库系统的核心软件,一般说来,其功能主要包括以下5个方面。
(1)数据定义和操纵功能
(2)数据库运行控制功能
(3)数据库的组织、存储和管理
(4)建立和维护数据库
(5)数据通信接口
3.简述数据库的三级模式和两级映像。
答:
为了保障数据与程序之间的独立性,使用户能以简单的逻辑结构操作数据而无需考虑数据的物理结构,简化了应用程序的编制和程序员的负担,增强系统的可靠性。
通常DBMS将数据库的体系结构分为三级模式:
外模式、模式和内模式。
模式也称概念模式或逻辑模式,是对数据库中全部数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
外模式也称子模式或用户模式,它是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。
内模式也称存储模式或物理模式,是对数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,一个数据库只有一个内模式。
三级模式结构之间差别往往很大,为了实现这3个抽象级别的联系和转换,DBMS在三级模式结构之间提供了两级映像:
外模式/模式映像,模式/内模式映像。
4.简述数据库的逻辑独立性和物理独立性。
答:
当模式改变时(如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式映像作相应改变,可以使外模式保持不变。
应用程序是依据数据的外模式编写的,因而应用程序不必修改,保证了数据与程序的逻辑独立性,简称逻辑数据独立性。
当数据库的存储结构改变了(如选用了另一种存储结构),由数据库管理员对模式/内模式映像作相应改变,可以保证模式保持小变,因而应用程序也不必改变。
保证了数据与程序的物理独立性,简称物理数据独立性。
5.什么是概念模型,什么是数据模型?
答:
概念模型是现实世界的抽象反映,它表示实体类型及实体间的联系,是独立于计算机系统的模型,是现实世界到机器世界的一个中间层次。
数据模型是对客观事物及联系的数据描述,是概念模型的数据化,即数据模型提供表示和组织数据的方法。
6.什么是实体、属性、码、联系?
实体的联系有哪三种?
答:
客观存在并可以相互区分的事物叫实体。
属性是实体所具有的某些特性,通过属性对实体进行描述。
一个实体往往有多个属性,这些属性之间是有关系的,它们构成该实体的属性集合。
如果其中有一个属性或属性集能够唯一标识整个属性集合,则称该属性或属性集为该实体的码。
现实世界的事物之间是有联系的,即各实体型之间是有联系的。
就两个实体型的联系来说,主要有以下3种情况:
一对一联系(1:
1)、一对多联系(1:
M)和多对多联系(M:
N)。
7.分析层次模型、网状模型和关系模型的特点。
答:
层次模型用树形结构来表示各类实体以及实体间的联系。
每个结点表示一个记录类型,结点之间的连线表示记录类型间的联系,这种联系只能是父子联系。
层次模型存在如下特点:
(1)只有一个结点没有双亲结点,称为根结点。
(2)根结点以外的其他结点有且只有一个双亲结点。
网状数据模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有双亲结点,也允许一个结点有多个双亲结点。
因此,网状模型可以方便地表示各种类型的联系。
网状模型是一种较为通用的模型,从图论的观点看,它是一个不加任何条件的无向图。
用二维表格结构表示实体以及实体之间的联系的数据模型称为关系模型。
关系模型在用户看来是一个二维表格。
8.解释关系模型的基本概念:
关系、元组、属性、域、关系模式、候选关键字、主键、外键、主属性。
答:
关系:
一个关系就是一张二维表。
元组:
二维表中的行称为元组,每一行是一个元组。
属性:
二维表的列称为属性,每一列有一个属性名,属性值是属性的具体值。
域:
是属性的取值范围。
关系模式:
对关系的信息结构及语义限制的描述称为关系模式,用关系名和包含的属性名的集合表示。
候选关键字:
如果在一个关系中,存在多个属性(或属性组合)都能用来唯一标识该关系中的元组,这些属性(或属性组合)都称为该关系的候选关键字或候选码,候选码可以有多个。
主键:
在一个关系的若干候选关键字中,被指定作为关键字的候选关键字称为该关的主键或主码。
主属性:
在一个关系中,包含在任何候选关键字中的各个属性称为主属性。
外键:
一个关系的某个属性(或属性组合)不是该关系的主键或只是主键的一部分,却是另一个关系的主码,则称这样的属性为该关系的外键或外码。
9.某网上订书系统,涉及如下信息:
(1)客户:
客户号、姓名、地址、联系电话。
(2)图书:
书号、书名、出版社、单价。
(3)订单:
订单号、日期、付款方式、总金额。
其中:
一份订单可订购多种图书,每种图书可订购多本;一位客户可有多份订单,一份订单仅对应一位客户。
根据以上叙述,建立E-R模型,要求标注联系类型。
答:
10.简述关系的完整性。
答:
关系模型允许定义三类完整性约束:
实体完整性、参照完整性和用户自定义的完整性约束。
实体完整性规则要求关系中元组在组成主码的属性上不能有空值。
参照完整性规则:
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S可能是相同的关系),则对于R中每个元组在F上的值必须为:
或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
用户定义的完整性规则由用户根据实际情况对数据库中数据的内容进行的规定,也称为域完整性规则。
11.传统的集合运算和专门的关系运算都有哪些。
答:
(1)传统的集合操作:
并、差、交、笛卡儿积。
(2)专门的关系操作:
投影(对关系进行垂直分割)、选择(水平分割)、连接(关系的结合)、除法(笛卡儿积的逆运算)等。
13.解释下列术语的含义:
函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、范式。
答:
函数依赖:
指在关系R中,X、Y为R的两个属性或属性组,如果对于R的所有关系r都存在:
对于X的每一个具体值,Y都只有一个具体值与之对应,则称属性Y函数依赖于属性X。
记作X→Y。
当Y不函数依赖于X时,记作:
X
Y。
当X→Y且Y→X时,则记作:
X↔Y。
平凡函数依赖:
设关系模式R(U),U是R上的属性集,X、Y⊆U;如果X→Y,且Y⊆X,则称X→Y为平凡的函数依赖。
非平凡函数依赖、如果X→Y,且Y不是X的子集,则称X→Y为非平凡的函数依赖。
完全函数依赖:
设关系模式R(U),U是R上的属性集,X、Y⊆U;如果X→Y,并且对于X的任何一个真子集Z,Z→Y都不成立,则称Y完全函数依赖于X;
部分函数依赖:
如果X→Y,但对于X的某一个真子集Z,有Z→Y成立,则称Y部分函数依赖于X。
传递函数依赖:
设关系模式R(U),X⊆U,Y⊆U,Z⊆U;如果X→Y,Y→Z成立,但Y→X不成立,且Z-X、Z-Y和Y-X均不空,则称X→Z为传递函数依赖。
范式:
范式(NormalForm)是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准,达到的关系才是规范化的。
12.简述非规范化的关系中存在哪些问题。
答:
①数据冗余②更新异常③插入异常④删除异常
13.简述关系模式规范化的目的。
答:
关系模式规范化的目的是解决关系模式中存在的数据冗余、插入和删除异常以及更新异常等问题。
其基本思想是消除数据依赖中的不合适部分,使各关系模式达到某种程度的分离,使一个关系描述一个概念、一个实体或实体间的一种联系。
因此,规范化的实质是概念的单一化。
14.根据给定的关系模式进行查询。
设有学生-课程关系数据库,它由三个关系组成,它们的模式是:
学生S(学号S#,姓名SN,所在系SD,年龄SA)、课程C(课程号C#,课程名CN,先修课号PC#)、SC(学号S#,课程号C#,成绩G)。
请用关系代数分别写出下列查询:
(1)检索学生年龄大于等于20岁的学生姓名。
∏SN(σSA≥20(S))
(2)检索先修课号为C2的课程号。
∏C#(σPC#=’C2’(C))
(3)检索课程号C1的成绩为90分以上的所有学生姓名。
∏SN(σC#=’C1’∧G>=90(S∞SC))
(4)检索001号学生修读的所有课程名及先修课号。
∏CN,PC#(σS#=’001’(C∞SC))
(5)检索年龄为19岁的学生所选修的课程名。
∏CN(σSA=19(C∞SC∞S))
15.将图1学生信息数据库系统的E-R图转换为关系模型。
图1
习题7图
答:
课程(课程号,课程名,学分)
学生(学号,姓名,性别,年龄,班级名)
班级(班级名,班主任)
选修(学号,课程号,成绩)
16.根据转换规则,将第10题中E-R模型转换成关系模型,要求标明每个关系模式的主键和外键。
关系模式:
客户(客户号,姓名,地址,联系电话)
图书(书号,书名,出版社,单价)
订单(订单号,日期,付款方式,总金额,客户号)
订购(订单号,书号,数量)
17.T-SQL语言的特点。
(1)综合统一:
T-SQL语言集数据定义语言、数据操纵语言、数据控制语言和附加语言元素为一体。
(2)两种使用方式,统一的语法结构:
即联机交互式和嵌入高级语言的使用方式。
(3)高度非过程化
(4)类似于人的思维习惯,容易理解和掌握
18.数据库由哪几种类型的文件组成?
其扩展名分别是什么?
答:
(1)主数据文件:
主数据文件是数据库的起点,指向数据库中的其他文件。
主数据文件的推荐文件扩展名是.mdf。
(2)辅助数据文件:
除主数据文件以外的所有其他数据文件都是辅助数据文件。
辅助数据文件的推荐文件扩展名是.ndf。
(3)事务日志文件:
日志文件包含着用于恢复数据库的所有日志信息。
日志文件的推荐文件扩展名是.ldf。
19.请分别使用SQLServerManagementStudio和T-SQL语句创建数据库Student,要创建的数据库的要求如下所示:
数据库名称为Student,包含3个20MB的数据库文件,2个10MB的日志文件,创建使用一个自定义文件组,主文件为第一个文件,主文件的后缀名为.mdf,次要文件的后缀名为.ndf;要明确地定义日志文件,日志文件的后缀名为.ldf;自定义文件组包含后两个数据文件,所有的文件都放在目录“E:
\DATA”中。
答:
createdatabaseSTUDENT
on
(name=STUDENT1,
filename='E:
\DATA\STUDENT1.MDF',
size=20,
maxsize=unlimited),
FILEGROUPFG1
(name=STUDENT2,
filename='E:
\DATA\STUDENT2.NDF',
size=30,
maxsize=unlimited),
(name=STUDENT3,
filename='E:
\DATA\STUDENT3.NDF',
size=30,
maxsize=unlimited)
logon
(name=STUDENTLOG1,
filename='E:
\DATA\STUDENTLOG1.LDF',
size=10,
maxsize=unlimited),
(name=STUDENTLOG2,
filename='E:
\DATA\STUDENTSLOG.LDF',
size=10,
maxsize=unlimited)
20创建一个STUDENT表,包含“学号”、“姓名”和“班级”列,要求能够与学生表同步插入、修改和删除数据。
答:
CREATETABLESTUDENT
(学号char(7)PRIMARYKEY,
姓名char(8)NOTNULL,
班级char(10)NULL,
)
MERGESTUDENTASd USING 学生表 ASs
ONs.ProductID=d.ProductId WHENNOTMATCHEDBYTARGET
THEN INSERT(学号,姓名,班级)VALUES(s.学号,s.姓名,s.班级)
WHENNOTMATCHEDBYSOURCETHEN DELETE
WHENMATCHEDTHEN
UPDATESETd.姓名=s.姓名,d.班级=s.班级;
21简述主键约束和唯一性约束的异、同点。
主键约束在表中定义一个主键值,这是唯一确定表中每一行数据的标识符。
该约束强制实体完整性。
一个表中最多只能有一个主键,且主键列不允许取空值。
UNIQUE(唯一性)约束指定表中某一个列或多个列不能有相同的两行或两行以上的数据存在。
这种约束通过实现唯一性索引来强制实体完整性。
当表中已经有了一个主键约束时,如果需要在其他列上实现实体完整性,又因为表中不能有两个或两个以上的主键约束,所以只能通过创建UNIQUE约束来实现。
一般地,把UNIQUE约束称为候选的主键约束。
22.针对“教学库”中的三个表,试用T-SQL的查询语句实现下列查询:
1)查询学生们有哪些专业,只显示专业列,过滤掉重复行。
答:
SELECTDISTINCT专业FROM学生表
2)统计有学生选修的课程门数。
答:
SELECTCOUNT(DISTINCT课程号)FROM选课表
3)求选修C004课程的学生的平均年龄。
答:
SELECTAVG(年龄)FROM学生表,选课表
WHERE学生表.学号=选课表.学号and课程号=’C004’
4)求学分为3的每门课程的学生平均成绩。
答:
SELECT课程表.课程号,AVG(成绩)FROM课程表,选课表
WHERE课程表.课程号=选课表.课程号and学分=3
GROUPBY课程表.课程号
5)统计每门课程的学生选修人数,超过3人的课程才统计。
要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。
答:
SELECT课程号,COUNT(*)FROM选课表
GROUPBY课程号
HAVINGCOUNT(*)>3
ORDERBYCOUNT(*)DESC,课程号
6)检索姓王的学生的姓名和年龄。
答:
SELECT姓名,年龄FROM学生表
WHERE姓名LIKE‘王%’
7)在选课表中检索成绩为空值的学生学号和课程号。
答:
SELECT学号,课程号FROM选课
WHERE成绩ISNULL
8)查询没有学生选修的课的课程号和课程名。
答:
SELECT课程号,课程名FROM课程表
WHERE课程号NOTIN(SELECT课程号FROM选课表)
9)求年龄大于女同学平均年龄的男学生姓名和年龄。
答:
SELECT姓名,年龄FROM学生表
WHERE性别=’男’
and年龄>(SELECTAVG(年龄)FROM学生表
WHERE性别=’女’)
10)求年龄大于所有女同学年龄的男学生姓名和年龄。
答:
SELECT姓名,年龄FROM学生表
WHERE性别=’男’
and年龄>all(SELECT年龄FROM学生表
WHERE性别=’女’)
11)查询所有与王华同年级、同专业,但比王华年龄大的学生的姓名、年龄和性别。
答:
SELECT姓名,年龄,性别FROM学生表
WHERE年龄>(SELECT年龄FROM学生表
WHERE姓名=’王华’)
AND年级=(SELECT年级FROM学生表
WHERE姓名=’王华’)
AND专业=(SELECT专业FROM学生表
WHERE姓名=’王华’)
12)检索选修课程C002的学生中成绩最高的学生的学号。
答:
SELECT学号FROM选课表
WHERE课程号=’C002’and成绩=(SELECTMAX(成绩)FROM选课表
WHERE课程号=’C002’)
13)检索学生姓名及其所选修课程的课程号和成绩。
答:
SELECT姓名,课程号,成绩FROM学生表,选课表
WHERE学生表.学号=选课表.学号
14)检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。
答:
SELECT学号,SUM(成绩)FROM选课表
WHERE成绩>=60
GROUPBY学号
HAVINGCOUNT(*)>=4
ORDERBYSUM(成绩)DESC
15)检索选修2门及以上课程的学生平均成绩只取前五名。
答:
SELECTTOP5学号,AVG(成绩)FROM选课表
GROUPBY学号
HAVINGCOUNT(*)>=2
ORDERBYAVG(成绩)DESC
16)查询每个学生的总学分。
答:
SELECT学号,SUM(学分)FROM选课表,课程表
WHERE选课表.课程号=课程表.课程号
GROUPBY学号
23.引入视图的主要目的是什么?
答:
数据库的基本表是按照数据库设计人员的观点设计的,并不一定符合用户的需求。
SQLServer2008可以根据用户需求重新定义表的数据结构,这种数据结构就是视图。
视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制,其结构和数据是建立在对表的查询基础上的。
24.当删除视图时所对应的数据表会删除吗?
答:
不会。
25.简述视图的优点。
答:
使用视图有很多优点,主要表现在:
(1)为用户集中数据,简化用户的数据查询和处理。
(2)保证数据的逻辑独立性。
(3)重新定制数据,使得数据便于共享;合并分割数据,有利于数据输出到应用程序中。
(4)数据保密。
26.可更新视图必须满足哪些条件?
答:
(1)任何修改(包括UPDATE、INSERT和DELETE语句)都只能引用一个基本表的列。
①如果视图数据为一个表的行、列子集,则可更新(包括UPDATE、INSERT和DELETE语句);但如果视图中包含的列为表定义时不允许取空值又没有给默认值的列,则此视图不可以插入数据。
②如果视图所依赖的基本表有多个时,不能向该视图添加(INSERT)数据。
③若视图依赖于多个基本表,那么一次修改只能修改(UPDATE)一个基本表中的数据。
④若视图依赖于多个基本表,那么不能通过视图删除(DELETE)数据。
(2)如果视图中没有包含表中某个不允许取空值又没有默认值约束的列,则不能利用视图插入数据。
(3)视图中被修改的列必须直接引用表列中的基础数据。
不能是通过任何其他方式对这些列进行派生而来的数据,比如通过聚合函数、计算(如表达式计算)、集合运算等。
(4)被修改的列不应是在创建视图时受GROUPBY、HAVING、DISTINCT或TOP子句影响的。
27.创建索引的必要性和作用是什么?
答:
数据库的索引就类似于书籍的目录,如果想快速查找而不是逐页查找指定的内容,可以通过目录中章节的页号找到其对应的内容。
类似地,索引通过记录表中的关键值指向表中的记录,这样数据库引擎就不用扫描整个表而定位到相关的记录。
相反,如果没有索引,则会导致SQLServer搜索表中的所有记录,以获取匹配结果。
28.简述存储过程和触发器的优点。
答:
存储过程最主要的特色是当写完一个存储过程后即被翻译成可执行码存储在系统表内,当作是数据库的对象之一,一般用户只要执行存储过程,并且提供存储过程所需的参数就可以得到所要的结果而不必再去编辑T-SQL命令。
由于在触发器中可以包含复杂的处理逻辑,因此,应该将触发器用来保持低级的数据的完整性,而不是返回大量的查询结果。
使用触发器主要可以实现以下操作:
(1)强制比CHECK约束更复杂的数据的完整性
(2)使用自定义的错误提示信息
(3)实现数据库中多张表的级联修改
(4)比较数据库修改前后数据的状态
(5)调用更多的存储过程
(6)维护非规范化数据
29.简述SQLServer2008中存储过程和触发器的分类。
答:
存储过程分为系统存储过程、本地存储过程、临时存储过程、远程存储过程和扩展存储过程。
触发器:
DML触发器是当数据库服务器中发生数据操作语言(DML)事件时会自动执行的存储过程。
DDL触发器是在响应数据定义语言(DDL)语句时触发,一般用于数据库中执行管理任务。
30.创建存储过程,从课程表中返回指定的课程的信息。
该存储过程对传递的参数进行模式匹配,如果没有提供参数,则返回所有课程的信息。
答:
CREATEPROCEDUREPcourse@namevarchar(20)='%'
AS
SELECT*FROM课程表
WHERE课程名LIKE@name
31简述角色的概念及其分类。
答:
角色是一种SQLServer安全账户,是SQLServer内部的管理单元,是管理权限时可以视为单个单元的其他安全账户的集合。
角色被分成3类:
固定服务器角色、固定数据库角色和用户自定义的数据库角色。
32简述进行权限设置时,授予、拒绝或撤销三者的关系。
答:
授予:
用户被授予特定数据库对象的某种操作权限,该用户就可以对数据在此权限范围内进行操作;撤销:
用户不再具有特定数据库对象的某种操作权限,但用户可以通过其组或角色成员身份继承此种权限;拒绝:
禁止用户对特定数据库对象的某种操作权限,防止用户通过其组或角色成员身份继承此种权限。
计算机网络
一、什么是计算机网络?
计算机网络由什么组成?
计算机网络就是把分散在各地的计算机用通信工具连在一起的系统,它是计算机技术与通信技术相结合的产物,它实现了分布在不同地理位置的计算机资源的信息交流、资源共享和能力共享。
计算机网络是由通信子网和资源子网组成。
通信子网是由网络中的各种通信设备和用作信息交换的节点计算机构成。
系统以通信子网为中心,通信子网处于网络的内层。
通信子网的重要任务是负责全网的信息交换,它采用的是分组交换技术(也就是存储转发技术)。
资源子网是由处于网络外围的主机和终端机构成。
资源子网的任务是负责信息处理,向网络提供可用的资源。
用户通过资源子网不仅共享通信子网的资源,而且还可以共享用户资源子网的硬件资源和软件资源。
二、计算机网络的分类及各类的特点?
1、按覆盖的地域分类:
局域网(LAN)、城域网(MAN)、广域网(WAN)。
2、按传输介质分类:
有线网、无线网。
3、按拓朴结构分类:
星型网、总线型网、树型网、环型网、网状型网。
4、按通信方式分类:
点对点传输网:
是以点对点的连接方式把计算机连接起来,信息沿着一定的线路一步一步地传下去,直到目的地。
这是复杂的、大的网络采用的通信方式。
广播式传输网络:
所有连到网上的计算