数据库原理与应用技术简答.docx
《数据库原理与应用技术简答.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用技术简答.docx(16页珍藏版)》请在冰点文库上搜索。
数据库原理与应用技术简答
网上作业
一、第一章P63-1
1.简述概念模型概念
概念模型是现实世界到机器世界的一个中间层次。
它是对信息世界的建模,是对现实世界到信息世界的第一次抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
2.简述关系模型概念
关系模型是目前最为重要的一种模型,是对现实世界信息化描述的第二个抽象阶段分析描述的方法。
它是建立在严格的数学概念的基础上,用二维表来表示实体集属性间的关系以及实体之间联系的形式化模型。
它将用户数据的逻辑结构归纳为满足一定条件的二维表的形式。
关系模型由数据结构、关系操作集合和关系完整性约束三部分组成。
3.简述函数依赖概念
函数依赖是指,主键能决定关系中的任意两个元组,只要俩个元祖的主键相同,所有其他属性的值也一定相同。
4.简述规范化概念
关系的规范化,主要是看关系表中的属性对一定的数据依赖条件的依赖程度。
这些条件主要是函数依赖条件。
5.简述关系数据库概念
关系数据库是采用关系模型作为数据组织方式的数据库,它建立在严格的数学理论的基础之上。
二、第二章
1.SQLServer2000包括那几个版本?
各有什么特点?
P21-1
企业版:
通过部署群集服务支持TB级的巨型数据库和上千并发用户在线。
标准版:
支持中小型企业使用
个人版:
支持桌面应用
开发版:
开发人员为企业和WindowsCE构建企业应用
2.SQLServer2000适用几种身份验证模式?
分别是什么?
各有什么特点?
P21-3
使用两种身份验证。
第一种是Windows身份验证模式,第二种是SQLServer身份验证。
特点分别是相对于混合模式更加安全,使用本连接模式时候,sql不判断sa密码,而仅根据用户的windows权限来进行身份验证,我们称为“信任连接”,但是在远程连接的时候会因NTML验证的缘故,无法登陆。
三、第三章
1.企业管理器的功能是什么?
P21-4
(1)管理SQLServer服务器
(2)建立和管理数据库
(3)建立和管理表、视图、存储过程、触发器、角色、规则、默认值等数据库对象,以及用户定义的数据类型;
(4)备份数据库和事务日志、恢复数据库、复制数据库、设置任务调度
(5)设置警报
(6)提供跨服务的拖放控制操作
(7)管理用户账户
(8)建立Transaction-SQL命令语句以及管理和控制SQLMail
2.简述服务管理器的优缺点P21-5
服务管理器的优点在于它是一种DBA工具,利用它可以指定在操作系统启动时,启动SQLServer实力与进程。
提供在任意服务器上启动和停止SQLServer进程。
提供了对于SQLServer进程运行状态的可视化提示。
缺点是进程sqlmanage.exe大约需要占用3MB的内存。
四、第三次作业
1.什么是键,候选键,主键,主属性和外键?
P93-1
用来唯一地标识表中一条记录的属性或属性的组合称为关键字,也可称为键或码。
在一张表中,可能有多个关键字,这些关键字称为候选关键字,或称为候选键。
从候选键中选择一个作为主关键字,也可称为主键或主码。
主关键字中的属性称为主属性。
外键又称为外关键字,从字面可以理解为在外面是关键字,也就是说它在另一个表中是
关键字。
外键是用来建立数据库中多个表之间的关联用的。
2.SQLServer2000的系统数据类型有哪些?
P93-2
SQLServer2000的系统数据类型包括整型(int、smallint、tinyint、bigint)、精确数值型(decimal和numeric)、浮点数据类型(float和real)、货币数据类型(money和smallmoney)、日期和时间数据类型(datetime和smalldatetime)、时间戳数据类型(timestamp)、字符数据类型(char和varchar)、Unicode字符型、文本型(text和ntext)、位数据类型(bit)、二进制数据类型(binary和varbinary)、图像数据类型(image)和其他数据类型(Uniqueidentifier和sql_variant)。
3.填空:
P93-3
创建表用CREATETABLE语句,查看表定义信息使用sp_help语句,修改表定义使用ALTERTABLE语句,更改表名使用sp_rename语句,删除表使用DROPTABLE语句,向表中添加记录使用INSERT语句,修改表中记录使用UPDATE语句,删除表中记录使用DELETE语句
4.一般从哪几个方面考虑数据类型?
一般从以下四个方面讨论数据类型:
1)类别,如字符型、整数型、数字型等。
2)存储的数据值的长度,指的是存储数据所使用的字节数。
3)数值的精度,指数值数据中所存储的十进制数据的总位数。
4)数值的小数位数,值数值数据中小数点右边可以有的数字位数的最大值。
5.数据表分为哪几类?
数据表分为永久表和临时表两大类。
1)永久表:
在创建后,除非用户删除,否则将一直存储在数据文件中。
2)临时表:
会在用户退出或进行系统修复时删除。
6.数据完整性包括哪些?
P125-1
数据的完整性包括实体完整性、域完整性、参照完整性和用户自定义完整性。
7.什么是实体完整性?
可以通过哪些方法实现实体完整性?
P125-2
实体完整性:
要求表中的每一行必须是唯一的,它可以通过主键约束、唯一键约束、索引和标识来实现,也称为行完整性。
实体完整性要求数据库中的所有行都具有一个非空且没有重复值的主键,这样可以保证数据库中不存在两个完全相同的实体。
8.什么是域完整性?
可以通过哪些方法实现域完整性?
P125-3
域完整性:
也称为列完整性,用来保证数据库中数据取值的合理性,即输入数据的数据类型、格式以及有效范围是否正确。
域完整性可以通过限制数据类型、检查约束、规则、默认值和非空属性的定义来确定数据的正确性。
9.什么是参照完整性?
可以通过哪些方法实现域完整性?
P125-4
参照完整性:
又称为引用完整性。
它定义了一个关系数据库中,被参照表(主表)中的数据要与参照表(从表)中的数据保持一致。
参照完整性基于外键和主键之间或外键和候选键之间的关系,通过外键约束和检查约束来实现,确保键值在所有表中保持一致,如果键值修改了,那么整个数据库中,对该键值得所有参照都要进行修改。
10.什么是用户自定义完整性?
可以通过哪些方法实现用户自定义完整性?
P125-5
用户自定义完整性:
用户可以根据自己的需求定义不属于上述完整性分类的完整性。
由于每个用户的数据库都有自己独特的需求,所以系统必须有一种方式来实现定制自己的数据完整性约束。
用户自定义完整性可以通过自定义数据类型、规则、存储过程和触发器来实现。
11.创建“性别”的默认对象df_sex为“男”,并将它绑定到“学生信息”表的“性别”字段上,写出相关程序代码P125-9
EXECUTESP_BINDEFAULT'男','学生信息.性别'
12.SQLServer2000有多少种约束?
SQLServer2000中有6中约束。
1)主键约束:
向表中添加主键约束时,SQLServer2000将检查现有记录的列植,以确保现有数据符合主键的规则,所以在添加主键之前要确保主键列没有空值和重复值。
2)唯一键约束:
和添加主键约束一样,当想表中添加唯一键约束时,SQLServer2000也将检查现有记录的列植,以确保现有数据符合唯一键的规则,所以在添加唯一键之前要确保唯一键列不存在重复值,但可以有空值。
唯一键约束确保在非主键列中不能输入重复值。
3)检查约束:
通过限制对一列或多列值得输入或修改来强制实现的域完整性,它作用于插入和修改语句。
4)默认值约束:
如果表中某列定义了默认值约束,当用户表中添加数据时,如果没有给该列指定具体的数据系统就会将默认值赋值给该列,默认值也可以是空值。
5)外键约束:
作用是强制实现两个表之间的参照完整性,当数据插入或删除时,通过参照完整性保证它们之间数据的一致性。
6)级联参照完整性约束:
如果想要删除外键引用的记录,而又不想产生孤立的外键,就需要使用级联参照完整性约束,将引用它的外键记录仪器删除。
五、第二次作业
1.SQLServer2000数据库具有哪三种类型的文件?
P63-2
SQLServer2000数据库的三种类型文件:
主数据文件(扩展名为mdf)、辅助数据文件(扩
展名为ndf)和事务日志文件(扩展名为ldf)
2.SQLServer2000的三种运行模式是什么?
事务日志的作用有哪些?
P63-3
SQLServer2000事务有三种运行模式:
自动提交事务、显式事务和隐式事务
事务日志的作用:
1)恢复某个事务2)SQLServer启动时恢复所有未完成的事务,3)将数据库还原到故障点
3.SQLServer2000包含哪些系统级数据库?
各有什么作用和特点?
P63-4
SQLServer2000包含master数据库、tempdb数据库、model数据库、msdb数据库和系
统实例数据库。
master数据库为主控数据库,记录SQLServer2000系统的所有系统级信息,包括安装过程中的设置等初始化信息,它记录所有的登录账户和系统设置,记录实例中所有的数据库名称和数据库文件的位置等信息。
tempdb数据库为临时数据库,保存所有的临时表和临时存储过程,并满足其他临时存
储空间的要求。
在SQLServer2000每次启动时都重新建立,是SQLServer2000中负担最重的数据库,几乎所有的查询都需要使用它。
model数据库是模板数据库,当用户创建一个数据库时,model数据库的内容会自动复
制到该数据库中,但是每个表及其他数据库对象得内容反映的是新数据库的信息。
msdb数据库用于存储作业、报警以及操作员信息,SQLServer2000代理服务通过这些信息调度作业、检视数据库系统的错误触发报警器,并将作业或报警的消息传递给操作员。
Northwind、pubs是两个实例数据库。
Northwind实例数据库包含一个虚拟公司的销售数据,pubs实例数据库以一个图书出版公司为模型,用于演示SQLServer的许多操作。
4.简述SQLServer2000中文件组的作用和分类?
SQLServer2000中文件组的作用:
为了便于分配和管理,SQLServer2000允许将多个文件归纳为同一组,并赋予此组一个名称,这就是文件组。
有些系统可以通过控制在特定磁盘上放置的数据和索引来提高数据库的性能,文件组可以对此功能提供帮助。
文件组分为主文件组和次文件组。
主文件组包含主数据文件和任何没有明确分配给其他文件组的其他文件。
系统表的所有页均分配在主文件组中。
次文件组也称为定义文件组,是通过在CREATEDATABASE或ALTERDATABASE语句中使用FILEGROUP关键字指定的任何文件组。
5.建立文件和文件组的规则有哪些?
建立文件和文件组的规则:
1)文件和文件组不能被多个数据库使用,每个文件也只能成为一个文件组的成员。
2)日志文件是独立的、不能放在任何文件组中,即日志文件和数据文件总是分开的。
3)一旦一个文件作为数据库的一部分创建,就不能被移动带另一个文件组中。
如果用户希望移动文件,必须删除然后再重新创建文件。
4)在SQLServer2000中的数据文件和事务日志文件无法存放在压缩文件系统中或共享的网络目录中。
6.简述SQLServer2000中数据库存储和访问的方法。
P140-1
SQLServer2000中数据存储的方法:
SQLServer2000将数据存储在页上,表是数据页的集合。
在没有建立索引页的表中,数据按照录入的时间顺序存放。
在建立索引且为聚集索引的表内,数据行是基于索引键的顺序存储的,索引包含有表的一列或多列生成的索引键。
这些索引键的存储结构为B树结构。
通过使用B树索引结构可以大大提高检索速度。
SQLServer2000提供了两种数据访问的方法:
1)表描述法:
在没有建立索引的表内进行数据访问时,SQLServer通过表描述法来获取所需要的数据。
当SQLServer执行表扫描时,它从表的第一行开始进行逐行查找,直到找到符合查询条件的行。
2)索引法:
在建有索引的表内进行数据访问时,SQLServer通过使用索引来获取所需要的数据。
当SQLServer使用索引时,它会通过遍历索引树来查找所需行的存储位置,并通过查找的结果提取所需的行。
7.检索的作用有哪些?
P140-2
索引的作用:
创建索引的好处:
1)提高数据检索速度。
2)加快表的连接、排序和分组。
与此同时,建立索引还可以达到加快存取数据,保持数据的一致性和表之间的参照完整性的目的。
创建索引也有不足之处:
1)创建索引需要占用空间和时间。
2)建立索引会减慢数据修改的速度。
8.什么是聚集索引,非聚集索引,唯一索引,非唯一索引?
简要叙述区别。
P140-3
聚集索引:
在聚集索引中,表中的行的物理存储顺序和索引顺序完全相同。
每个表只允许建立一个聚集索引。
数据按列进行排序,然后再重新存储到磁盘上,建立聚集索引会该表表中数据行的物理顺序。
非聚集索引:
非聚集索引具有完全独立于数据行的结构,使用非聚集索引将对物理数据页中的数据按列排序。
非聚集索引的叶节点存储了组成非聚集索引的关键字值和一个指针,指针指向数据页中的数据行,该行具有与索引键值相同的列植。
唯一索引:
要求所有数据行中的任意两行中的呗索引列或索引列的组合不能存在重复值,包括不能有两个空值NULL。
唯一索引不允许两行具有相同的索引值。
非唯一索引:
不存在要求所有数据行中的任意两行中的呗索引列或索引列的组合不能存在重复值,包括不能有两个空值NULL这样的规则。
9.使用命令方式删除“学生信息”上名为“IX_学生信息_姓名”的索引。
P140-7
DROPINDEX学生信息.IX_学生信息_姓名
10.按照存储结构划分索引分为哪两类?
各有什么特点?
按存储结构划分索引分为聚集索引和非聚集索引。
聚集索引:
在聚集索引中,表中的行的物理存储顺序和索引顺序完全相同。
每个表只允许建立一个聚集索引。
数据按列进行排序,然后再重新存储到磁盘上,建立聚集索引会该表表中数据行的物理顺序。
非聚集索引:
非聚集索引具有完全独立于数据行的结构,使用非聚集索引将对物理数据页中的数据按列排序。
非聚集索引的叶节点存储了组成非聚集索引的关键字值和一个指针,指针指向数据页中的数据行,该行具有与索引键值相同的列植。
11.使用哪个存储过程可以查看索引信息?
查看索引信息方式:
可以通过企业管理器参看、修改索引的定义,方法是通过“管理索引”对话框和“设计表”窗口实现,与创建索引时使用的界面相同。
1.什么是存储过程?
P253-1
存储过程:
在使用Transact-SQL语言编程时,用户可以将某些需要多次调用的实现某个特定任务的代码段编写成一个过程,将其保存在数据库中,并由SQLServer2000服务器通过过程名来调用它们,这些过程就叫存储过程。
2.存储过程有什么优点?
P253-2
存储过程的优点:
1)执行速度快,改善系统性能。
2)减少网络流量。
3)提高代码可
重用性和共享性。
4)通过隔离和加密的方法提高数据库的安全性。
3.存储过程有哪些类型?
P253-3
存储过程的类型:
1)系统存储过程:
主要存储在master数据库中,并以sq_为前缀。
主要是从系统表中获取数据信息,从而为系统管理员管理提供支持。
2)用户自定义存储过程:
由用户创建并能完成某一特定功能的存储过程。
4.创建存储过程的注意事项有哪些?
P253-4
创建存储过程的注意事项:
1)不能将CREATEPROCEDURE语句与其他SQL语句组合到
单个批处理中。
2)创建存储过程的权限默认属于数据库所有者,该所有者可将此权限授予其他用户。
3)存储过程是数据库对象,其名称必须遵守标识符规则。
4)只能在当前数据库中创建存储过程。
5)一个存储过程的最大尺寸为128MB。
5.使用CREATEPROCEDURE命令建立名为StudentCourseScore存储过程,该存储过程用于查询“学生选课分数”视图中的数据,写程序代码P253-6
USE选课
GO
IFEXISTS(SELECTnameFROMsysobjects
WHEREname='StudentCourseScore'ANDtype='P')
DROPPROCEDUREStudentCourseScore
GO
CREATEPROCEDUREStudentCourseScore
AS
SELECT*FROM学生选课分数
GO
EXECUTEStudentCourseScore
GO
6.什么是触发器P268-1
触发器是一种与表紧密关联的特殊的存储过程,当对表进行插入、删除、更新操作时,用户为该表设置的触发器就会自动执行,用来维护数据完整性或进行其他特殊的数据处理工作。
7.触发器的作用是什么?
P268-2
触发器的作用:
1)基于多张表的级联修改。
2)实现比CHECK约束更为复杂的约束操作。
3)比较数据修改前后的差别,并根据差别采取相应的操作。
4)强制表的修改要合乎业务规则。
5)调用存储过程。
8.SQLServer2000提供哪些类型的触发器?
P268-3
SQLServer2000支持两种类型的触发器:
1)AFTER触发器:
是以前版本中存在的触发器,要求只有在执行造成出发的SQL语句完成后,触发器才能被触发,且只能定义在表上。
2)INSTEADOF触发器:
不执行造成触发的SQL语句而是首先执行触发器本身。
9.存储过程与触发器有什么不同?
触发器和存储过程的不同之处在于,触发器是在对表中数据进行修改时自动执行;而存储过程则需要被调用执行,同时还要传递必要的参数。
10.使用那些存储过程可以查看存储过程信息?
查看存储过程信息:
在查询分析器中,可以通过系统存储过程sp_helptext查看触发器的定义;通过sp_help查看触发器的参数;通过系统存储过程sp_depends查看触发器的相关性。
六、第六次作业
1.视图和表的区别是什么?
P183-1
视图和表的区别:
视图中定义的是一个或多个基本表的查询语句,其本身并不保存数据,所有的数据都存储在数据库的表中。
当基本表中的数据发生变化时,视图查询出来的结果也会发生变化。
当视图创建完成后,它将作为一个数据库对象存在,并可以像基本表一样进行查询、修改、删除等操作,同时也可以创建基于视图的视图。
2.视图的优缺点是什么?
P183-2
视图的优点:
1)关注特定数据。
2)简化数据查询。
3)提高数据库的安全性。
4)方便数据的导入导出视图的缺点主要集中在对数据修改的限制上。
如果用户需要对视图中的某些行进行修改,SQLServer2000必须对此修改转换成岁基本表的某些行的修改,这对定义相对简单的视图而言,是比较方便的,但是对定义相对复杂的视图或存在嵌套关系的视图来说,修改操作就可能因为所有者权限等问题而无法进行。
3.创建视图的条件有哪些?
创建视图的注意事项有哪些?
P183-3
创建视图的条件:
创建视图的用户不仅要拥有数据库管理员所授予的创建视图的权限,还要对定义视图所使用的基本表有一定的权限。
创建视图的用户必须拥有在视图定义中引用的任何数据库对象得许可证。
创建视图应该注意以下情况:
1)只能在当前数据库中创建视图。
2)如果视图引用的基本表或视图被删除,则该视图就不能继续使用,直到用户重新创建了新的基本表或者视图为止。
3)如果视图中某一列是函数、数学表达式、常量,或者存在两个或两个以上列具有相同列名时,必须重新给这些列命名。
4)当通过视图查询数据时,SQLServer2000要确保语句中涉及的所有数据库对象存在。
当通过视图修改表中的数据时,不能违反数据完整性规则。
5)视图的名称必须遵循标识符的规则,且对每个用户必须是唯一的。
此外,该名称不得与该用户拥有的任何表的名称相同。
4.使用CREATEVIEW语句创建“学生选课”视图,要求该视图显示学生姓名,所选课程名,课程分数P183-5
CREATEVIEW学生选课(学生姓名,所选课程名,课程分数)
AS
SELECTA.姓名AS学生姓名,B.课程名AS所选课程名,B.分数AS课程分数
FROM学生信息AINNERJOIN
选课BONA.学号=B.学号
GO
5.填空P183-6
创建视图使用CREATEVIEW语句,查看试图定义信息使用sp_helptext存储过程,给视图重命名使用sp_rename存储过程,查看试图相关性使用sp_depends存储过程,修改视图使用ALTERVIEW语句,删除视图使用DROPVIEW语句
6.使用存储过程可以查看那些视图信息?
查看视图的信息:
1)使用企业管理器查看视图的定义信息。
2)使用sp_helptext存储过程查看视图的定义信息。
7.SQLServer2000有两种安全验证机制,分别是什么?
P288-3
SQLServer2000的两种安全验证机制:
1)Windows身份验证2)SQLServer身份验证
8.什么是数据库的备份和恢复?
P303-1
数据库备份是恢复数据库结构、对象和数据的备份,以便数据库遭受破坏时能够修复数据库。
数据库恢复是指将备份的数据库再加载到数据库服务器中。
9.数据库的备份方式有几种?
各是什么?
P304-3
数据库备份方式:
1)数据库完全备份2)数据库差异备份3)事务日志备份4)文件或文件组备份
10.填空P232-11
在SQLServer2000中,使用DECLARECURSOR语句声明游标,使用OPEN打开游标。
当打开游标成功之后,可以通过游标变量@@CURSORROWS来获取游标中的记录行数。
使用FETCH语句从由表中获取数据,此时可以使用@@FETCHSTATUS全局变量返回该语句执行最后游标状态。
使用CLOSE关闭游标,使用DEALLOCATE语句释放游标
1.在“学生信息”表中查询所有学生“学号”和“姓名”。
P168-1
SELECT学号,姓名FROM学生信息
2.在“学生信息”表中查询所有学生的“学号”和“出生年份”.P168-2
SELECT姓名,出生年份ASyaer(出生日期)FROM学生信息
3.在“学生信息”表中查询“年龄”在19岁和20岁之间的学生的“姓名”和“所在系”,并将“所在系”命名为“系名”。
P168-3
SELECT姓名,所在系AS系名FROM学生信息WHERE年龄BETWEEN19AND20
4.在“学生信息”表中查询所有“所在系”属性中包含“计算机”字样的学生的全部信息,将查询结果按“姓名”降序排列。
P168-4
SELECT*FROM学生信息WHERE所在系LIKE’%计算机%’ORDERBY姓名DESC
5.查询“学生信息”表中学生的总人数。
P168-5
SELECT总人数=COUNT(ALL学号)FROM学生信息
6.查询至少选修两门课程以上的学生的总人数。
P168-6
SELECT学号FROM学生信息WHERE学号IN(SELECT学号FROM选课GROUPBY(学号)HAVI