网络数据库复习资料_1
更新时间:2023-06-02 11:00:01 阅读量: 实用文档 文档下载
- access网络数据库推荐度:
- 相关推荐
一、名词解释
1.数据库系统是指一个具体的数据库管理系统软件和用它建立起来的数据库;严谨地讲,数据库系统是采用数据库技术的计算机系统,能够实现有组织地、动态地存储大量相互联系的数据,为用户提供数据访问的机制。如图1.6,一个完整的数据库系统由数据库、数据库管理系统、数据库管理员(DBA)、用户和应用程序组成。
2. 所谓数据完整性就是指数据库中数据的正确性和一致性,是指数据的精确性(Accuracy) 和可靠性(Reliability),它能防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息。利用数据的完整性约束,可以保证数据库中数据的质量。
3. 索引是一种树状结构,其中存储了关键字和指向包含关键字所在记录的数据页的指针。它是在通过数据库管理和使用数据时,为了提高数据的访问速度,缩短数据的查找时间而采用的一种数据库技术。
4. 聚集索引与非聚集索引:根据索引的顺序与数据表的物理顺序是否相同,可以把索引分成两种基本类型:一种是数据表中数据的物理顺序与索引顺序相同的聚集索引;另一种是数据表中数据的物理顺序与索引顺序不相同的非聚集索引。
5. 存储过程是一组完成特定功能的Transact-SQL语句集,经编译后存储在数据库中供用户调用。存储过程可以接收和输出参数、返回执行状态,也可以嵌套调用。
6. 触发器是一种实施复杂数据完整性,是通过事件进行触发而被执行的特殊类型的存储过程。
二、简答题
1数据库管理系统具备的主要功能有哪些?:
(1) 数据库的定义功能。数据库管理系统提供数据定义语言(DDL,Data Define Language)用于管理数据库中的对象,比如创建数据库、删除表等。
(2) 数据库的操纵功能。数据库管理系统提供数据操纵语言(DML,Data Manipulate Language)实现对数据的操作,包括对数据的更新(插入、删除、修改)和检索(查询)。
(3) 数据库的保护功能。数据库管理系统提供对数据库中数据的保护功能,包括数据库的恢复(在数据库遭到破坏或数据不正确时,恢复数据至正确的状态)、数据库的并发控制(对多个用户访问同一个数据进行控制,防止数据遭到破坏)、数据完整性控制(保证数据库中数据及语义的正确、一致和有效,防止任何对数据造成错误的操作)、数据安全性控制(防止未经授权的用户对数据库的数据进行访问,保证数据不被恶意更改或破坏等)。
2. 逻辑数据模型的定义包含了哪三个基本要素?
逻辑数据模型的定义包含了数据结构、数据操作和数据完整性三个基本要素。
数据结构:定义实体类型和实体间联系在计算机中的表达和实现;
数据操作:定义对数据库的检索和更新(包括插入、删除、修改)两类操作;
数据完整性:定义数据及其联系应具有的制约和依赖规则。
3. 基于关系模型的关系数据库的基本要素有三部分组成:数据结构(实体类型和实体间联系的表达和实现)、关系操作集合(对数据库的检索和更新,包括插入、删除和修改)、关系的完整性(数据及其联系应具有的制约和依赖规则)。
4. 关系模型提供了丰富的完整性控制机制,包括三类完整性:实体完整性、参照完整性、用户定义的完整性。实体完整性和参照完整性是关系模型定义必须满足的完整性约束条件,由关系数据库系统提供自动支持。
5. SQL语言包含4个组成部分:
(1) 数据查询语言DQL(Data Query Language),例如SELECT。
(2) 数据操纵语言DML(Data Manipulation Language),例如INSERT、UPDATE、
DELETE。
(3) 数据定义语言DDL(Data Definition Language),例如CREATE、 ALTER、
DROP。
(4) 数据控制语言DCL(Data Control Language),例如COMMIT、WORK、
ROLLBACK、WORK。
6. SQL Server 2005提供了三种文件组类型。它们分别是主要文件组(Primary)、用户定义文件组(user_defined)和默认文件组(default)。
主要文件组。每个数据库有一个主要文件组,主要文件组包含主要数据文件和一些没有放入其它文件组的次要数据文件。所有系统表都被分配到主要文件组中。 用户定义文件组。由用户创建的文件组。用户在首次创建数据库或以后修改数据库时明确创建的任何文件组。 默认文件组。如果在数据库中创建对象时没有指定对象所属的文件组,对象将被分
配给默认文件组。不管何时,只能将一个文件组指定为默认文件组。默认文件组中的文件必须足够大,能够容纳未分配给其他文件组的所有新对象。
默认情况下,主要文件组是默认文件组,除非使用 ALTER DATABASE 语句进行了更改。系统对象和系统表属于 PRIMARY 文件组。
7. 在哪些情况下不能分离数据库?
(1)已复制并发布的数据库。如果进行复制,则数据库必须是未发布的。必须通过运行 sp_replicationdboption 禁用发布后,才能分离数据库;
(2)数据库中存在数据库快照;
(3)该数据库正在某个数据库镜像会话中进行镜像。除非终止该会话,否则无法分离该数据库;
(4)数据库处于可疑状态。在 SQL Server 2005 中,无法分离可疑数据库;必须将数据库置入紧急模式,才能对其进行分离;
(5)该数据库是系统数据库。
8. 在SQL Server 2005 中,有哪四类完整性?
域完整性:对某列上的数据取值的有效性限制。可以强制域完整性限制类型(通过
使用数据类型)、限制格式(通过使用 CHECK 约束和规则)或限制可能值的范围(通过使用 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则)。
实体完整性:保证表中所有行的唯一性,以确保所有的记录都是可以区分的。实体完整性将行定义为特定表的唯一实体。实体完整性通过 UNIQUE 索引、UNIQUE 约束或 PRIMARY KEY 约束,强制表的标识符列或主键的完整性。
引用完整性:这是对涉及两个或两个以上表的数据的一致性维护。输入或删除行时,
引用完整性保留表之间定义的关系。在 SQL Server 2005 中,引用完整性通过 FOREIGN KEY 和 CHECK 约束,以外键与主键之间或外键与唯一键之间的关系为基础。引用完整性确保键值在所有表中一致。这类一致性要求不引用不存在的值,如果一个键值发生更改,则整个数据库中,对该键值的所有引用要进行一致的更改。 用户定义完整性:用户定义完整性允许用户定义不属于其他任何完整性类别的特定
业务规则。用户可定义各种类型的数据完整性规则,包括 CREATE TABLE 中所有 列级约束和表级约束、存储过程以及触发器。
9. 那么为什么要创建索引呢?
这是因为,创建索引可以大大提高系统的性能。第一,通过创建惟一性索引,可以保证每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使
用ORDER BY和GROUP BY子句进行数据检索时,可以显著减少查询中分组和排序的时间。第五,使用索引可以在查询数据的过程中使用优化隐藏器,提高系统的性能。
10. 为什么不对表中的每一个属性列创建索引呢?虽然索引有许多优点,但为表中的每一个列都建立索引是非常不明智的做法。这是因为增加索引也有缺点。第一,创建索引和维护索引要耗费时间。第二,索引需要占用物理空间,除了数据表占物理空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
11.创建索引的原则。
索引是依据属性列而建立的。因此,在创建索引的时候,应该考虑这些指导原则:在经常需要查询的属性列上创建索引;在主键上创建索引;在经常用于连接运算的属性列上创建索引;在经常需要根据范围进行查询的属性列上创建索引,因为索引己经排序,其指定的范围是连续的;在经常需要排序的列上创建索引,因为索引己经排序,这样查询可以利用索引的排序,加快排序查询时间;在常用于WHERE子句中的属性列上创建索引。
12. 索引选项中的FILLFACTOR填充因子的作用是什么?
系统提供填充因子选项是为了优化索引数据存储和提高查询性能。系统在创建或重新生成索引时,通过填充因子的值可确定每个索引页上可以填充数据的空间百分比,以便保留一定的可用空间供以后扩展索引时使用。通过在每一个索引页上预先留出一部分空间,使得系统在维护索引数据时就能够保持索引页不分裂(即,使得相关的索引内容在索引页上尽量连续的存储)。所以通过填充因子选项指定索引页中的数据充满度。FILLFACTOR是指定叶级数据页的数据充满度,它的目的是使索引的页分裂最小,并可以对查询性能进行微调。
13. 使用存储过程具有哪些优点?
1.存储过程已在服务器注册。
2.存储过程具有安全特性(例如权限)和所有权链接,以及可以附加到它们的证书。用户可以被授予权限来执行存储过程而不必直接对存储过程中引用的对象具有权限。
3.存储过程可以强制应用程序的安全性。存储过程允许模块化程序设计。
4.存储过程一旦创建,以后即可在程序中调用任意多次。这可以改进应用程序的可维护性,并允许应用程序统一访问数据库。
5.存储过程可以减少网络通信流量。
6.一个需要数百行 Transact-SQL 代码的操作可以通过一条执行过程代码的语句来执行,而不需要在网络中发送数百行代码。
14. 触发器可以完成哪些任务?
(1)级联更改数据库中相关的数据表;
(2)执行更加复杂的约束操作;
(3)拒绝或者回滚不符合完整性的事务;
(4)比较表中数据修改前后的差别采取相应的操作。
三、操作题
1. 在服务器上建立一个数据库MyDatabase,在该数据库中有一个主文件组。包含1个4MB的数据文件,其文件增长率为10%。1个2MB的日志文件,其增长方式为1MB。文件存放路径为“F:\”。需要执行的T_SQL语句如下:
CREATE DATABASE Mydatabase
ON PRIMARY
( NAME = mydb1,
FILENAME = 'F:\mydb1.mdf',
SIZE = 4MB,
MAXSIZE = 100,
FILEGROWTH = 10%
)
LOG ON
(
NAME = mydb_log1,
FILENAME = 'F:\mydb_log1.ldf',
SIZE = 2MB,
MAXSIZE = 50,
FILEGROWTH = 1
);
GO
2.请使用T-SQL语句删除上述数据库。需要执行的T-SQL语句是:
DROP DATABASE Mydatabase
3.请使用T-SQL语句创建TEST表。
CREATE TABLE [test](
[Class_id] [char](8) COLLATE Chinese_PRC_CI_AS NOT NULL,
[Class_name] [nvarchar](16) COLLATE Chinese_PRC_CI_AS NOT NULL,
[Class_department] [char](3) COLLATE Chinese_PRC_CI_AS NOT NULL,
[Class_teacherid] [char](5) COLLATE Chinese_PRC_CI_AS NOT NULL,
CONSTRAINT [PK_test_2] PRIMARY KEY CLUSTERED
(
[Class_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
3. 请编写一组T-SQL语句完成建立一个表“tabletest”,该有两个字段column1,column2,column1的类型为整型,column2的类型为varchar(20),不允许为空。然后删除表中的column2字段。
CREATE TABLE tabletest ( column1 INT, column2 VARCHAR(20) NULL) ;
GO
ALTER TABLE tabletest DROP COLUMN column2 ;
GO
4. 使用系统存储过程sp_rename重命名表tabletest,新名为newtable-test。需要执行的T-SQL语句为
Exec sp_rename ‘tabletest’,’newtable-test’
5. 删除“newtable-test”表,需要执行的T-SQL语句为:
USE [Student]
DROP TABLE [dbo].[newtable-test]
6. 在Student数据库中Courses基本表的Course_name列创建非聚集索引。 USE Student
GO
CREATE NONCLUSTERED INDEX IX_Courses_Course_name
ON Courses (Course_name)
7. 为Student数据库中Classes基本表的Class_name列上创建唯一的非聚集索引。 USE Student
GO
CREATE UNIQUE INDEX AK_Classes_Class_name
ON Classes(Class_name)
8.使用存储过程将Student数据库中COURSE表中的索引IX_COURSE_Course_name重命名为IX_COURSE_Course_name_old。 EXEC sp_rename 'COURSES.IX_Courses_Course_name','IX_Courses_Course_name_old', 'INDEX'
9. 删除Student数据库中Courses基本表的索引IX_Courses_Course_name_old。
USE Student
GO
DROP INDEX IX_Courses_Course_name_old ON Courses
10. 在Student数据库中创建存储过程procStuCour用于返回学生选课情况。T-SQL语句如下:
use Student
go
create procedure proc_StuCour
as
select s.Student_name,c.Course_name
from Student s inner join student_course sc
on s.Student_id=sc.Student_id inner join course c
on sc.Course_id=c.Course_id
11. 在Student数据库中创建一个存储过程proc_StuChooseCour,用于查询指定学生所选课程以及所选课程的数量。
分析:该存储过程包含一个输入参数,用于将指定学生的姓名传递给存储过程;一个输出参数用于返回该学生所选课程的数量;一个返回值,用于保存该存储过程的返回状态。
该存储过程的代码如下:
use Student
if exists(select name from sysobjects
where name='proc_StuChooseCour' and type='p') drop procedure proc_StuChooseCour
go
create procedure proc_StuChooseCour
@stuname nvarchar(10),
@courcount int output as declare @errorsave int set @errorsave=0 select s.Student_name,c.Course_name from student s inner join student_course sc on s.Student_id=sc.Student_id inner join course c on sc.Course_id=c.Course_id where s.Student_name=@stuname
select @courcount=count(Course_name) from student s inner join student_course sc on s.Student_id=sc.Student_id inner join course c on sc.Course_id=c.Course_id where s.Student_name=@stuname if(@@error<>0) set @errorsave=@@error
return @errorsave
go
11. 在Student数据库的course表中创建一个UPDATE触发器tr_CourPeriodChange,限制不能使修改后的课程学时超过80。
use Student go if exists(select name from sysobjects where type='tr' and name='tr_CourPeriodChange') DROP TRIGGER tr_CourPeriodChange go CREATE TRIGGER tr_CourPeriodChange ON course AFTER UPDATE AS if update(Course_period) begin if (select inserted.Course_period from inserted)>80 begin print '课程学时不能超过80学时' rollback transaction end end
go
12. 从Student数据库中删除用户studentAdm
USE student
go
EXEC sp_revokedbaccess ‘studentAdm’
四、填空题
(1)在SQL Server 2005 中,系统数据库包括________、__________、__________和
________。
Master、model、msdb、 tempdb、
(2)在SQL Server 2005,数据文件包括_____________和_____________。
数据、对象
(3)数据库的存储结构分为___________、___________、____________等几个层次。 物理数据层、概念数据层、逻辑数据层
(4)删除数据文件和日志文件时要求它们必须是空文件。删除数据文件时我们可以将数据
转移到其它文件组的数据文件中去。而日志文件不能转移,要清除掉_________,必须删除______或者________,当日志文件为空时,我们就可以删除此日志文件了。 非活动日志、日志、备份日志
(5)在SQL Server 2005中主要文件组是默认文件组,除非使用 ____________ 语句进行
了更改。
ALTER DATABASE
(6)如果我们要执行恢复操作,在这之前,我们必须先做_________操作把数据库设置为还
原状态,否则SQL Server 2005不允许我们作数据库恢复操作。
尾日志
(7)在SQL Server 2005 中,有以下4类完整性描述:________、__________、__________
和________。
域完整性、实体完整性、引用完整性、用户定义完整性
(8)在SQL Server 2005,每个数据库最多包含__________个表;每个表包含______个列。 20亿、1024
(9)在SQL Server 2005中,表所包含的数据类型有___________、___________、
____________、____________、____________等。
整数数据、字符数据、货币数据、日期和时间数据、二进制字符串
(10)SQL Server 2005 支持下列约束类:___________、___________、____________、
_________、_________。
NOT NULL约束、CHECK约束、UNIQUE约束、PRIMARY KEY约束、FOREIGN KEY约束
(11)Micosoft SQL Server 2005系统允许创建的视图类型分别是___________、________、_________。
标准视图、索引视图、分区视图
(12)创建视图时,使用________________选项可以加密视图定义文本。
WITH ENCRYPTION
(13)架构绑定视图的源对象可以是______、_________、__________。
表、视图、用户自定义函数
(14)创建视图时,如果查询子句中包含了ORDER BY 子句,则查询子句中必须包含___________。
TOP
(15)当通过视图更新数据时,一次只能更新____________中的数据。
一个基表
(16)使用视图的优点有__________________、_______________________、_______________、_______________________。
提高数据的易用性、安全性、独立性、间接提升服务器的性能
(17)SQL Server 2005的权限是分层次管理的,权限层次可以分为3层,他们分别是 、 、 。
操作系统级、SQL Server级和数据库级
(18)SQL Sever 2005登录验证有两种模式,他们分别是 和 。 Windows验证模式和SQL Server身份验证模式
五、判断题
(1)一个数据库文件不能存在于两个或者两个以上的文件组里。
√
(2)日志文件属于Primary文件组。
X
(3)一个文件组可以放在不同的存储设备中。
√
(4)数据库在备份过程中不能执行缩小数据库和日志文件操作。
√
(5)数据库可以缩小到比原始数据库还要小。
X
(6)如果我们买了很好的硬件设备,基本不会出问题,那么我们就不用备份。( ) X
(7)数据库备份是一个很复杂的工作,应该由专业的数据库管理员来进行管理。( ) √
(8)一个数据库的最小单位是表。
X
(9)一个表的主键可以有多个。
X
(10)如果一个表有外键,那么表中的数据只应指向另一个表中的现有行,不应指向不存在
的行。 ( )
√
(11)删除了表以后,表中的所有信息都会丢失。
√ ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
(12)一个表创建好以后就不能进行修改了。 X ( )
(13)用户可以给列创建约束,也可以为表创建约束。 √
( )
正在阅读:
网络数据库复习资料_106-02
一语 王学一10-22
美容院的宗旨、理念及行为规范01-27
大学本科无机化学 第十二章 s区元素08-27
地下汽车坡道外墙单面支模施工专项方案12-23
初中第一次月考反思08-09
在全市接待工作会议上的讲话03-13
钢结构施工方案05-20
党的建设在过去六十年取得了巨大的成就04-14
曾国藩为人处世之道05-02
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 复习资料
- 数据库
- 网络
- 对迟延履行期间债务利息确立并还原则的理解
- 工程合同谈判与签订
- 2012年国家自然科学基金申请及申请书撰写中应注意的问题
- 岗位技能津贴发放制度
- 闸北区高中英语学科教师本体知识研修检测纲要
- 公司员工月工作总结
- 第六讲 句型升级
- 四年级数学上册 三位数除以两位数(二)教案 冀教版
- 员工体检项目列表
- 口服有机磷农药中毒患者洗胃的护理
- 初一第二章第2节生物生存的家园-生物圈 (苏科版七年级上)
- 高管薪酬管制程度衡量指标及其影响因素分析
- 市委教育工作委员会、
- 复旦大学外籍留学生高考:数学样卷
- 工程光学复习题-几何光学部分I
- 建筑节能分部工程验收监理评估报告
- 有余数的除法整理与复习
- 分布式实验设计指导书
- 2015河南省考申论最新时政热点:9.3阅兵五大亮点需关注
- 2009——2010第二学期小小学音乐教师成长档案