数据库基本概念复习_第1页
数据库基本概念复习_第2页
数据库基本概念复习_第3页
数据库基本概念复习_第4页
数据库基本概念复习_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库基本概念复习第一章数据:描述事物的符号记录称为数据。如数字、文字、图形等。数据的解释是对数据含义【语义】的说明,数据和其语义不可分。数据库(DB):数据库是长期存放在电脑内部、有组织的、可共享的大量数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。数据库管理系统(DBMS):数据库管理系统是位于用户和操作系统之间的一层数据管理软件。其主要功能为:1) 数据定义功能。2) 数据组织、存储和管理。基本目标是提高存储空间利用率和方便存取。3) 数据操纵功能。提供数据操纵语言(DML)4) 数据库的事务管理和运行管理。5)

2、 数据库的建立与维护。6) 其他功能:DBMS与网络中其他如按系统的通信功能一个DBMS与另一个DBMS或文件系统中的数据转换功能异构数据库之间的互访和互操作功能数据库系统:数据库系统是指计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。数据库-操作系统-数据库管理系统-应用开发工具-应用系统-用户数据库管理技术经过第三个管理阶段:人工管理阶段、文件系统、数据库系统。数据库系统的特点:1) 数据结构化2) 数据的共享性高、冗余度低,易扩充。3) 数据独立性高物理独立性:用户的应用程序与存储在磁盘上的数据库中的数据时相互独立的。逻辑独立性:

3、用户的应用程序与数据库的逻辑结构是相互独立的。数据独立性由DBMS的二级映像功能来保证4) 数据由DBMS统一管理和控制。DBMS提供的数据控制功能:数据的安全性保护数据的完整性检查并发控制。当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。数据库恢复。数据模型:数据模型是对现实世界数据特征的抽象。包括 概念模型、逻辑模型、物理模型概念模型:亦称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。逻辑模型:它是按计算机系统的观点对数据建模,主要用于DBMS的实现。物理模型:是对数据

4、最低层的抽象。描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。物理模型的具体实现是DBMS任务。用户不必考虑。数据模型的组成要素:数据结构、数据操作(查询和更新两大类)、完整性约束三部分组成。概念模型:用于信息世界的建模,是现实世界到信息世界的第一层抽象。信息世界中的一些概念:实体:客观存在并且可以相互区别的事物成为实体。属性:实体所具有的某一特性。码:唯一标识实体的属性集称为码。域:域是一组具有相同数据类型的值的集合。实体型:用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。如 学生(学号,姓名,性别,.)实体集:同一类型实体的集合。如全

5、体学生。联系:分为实体内部之间的联系和实体之间的联系。两个实体型之间的联系可以分为:1:1 1:N M:NE-R图:实体型->矩形 属性 ->椭圆形联系 ->菱形无向边相连关系:一个关系对应通常说的一张表。元组:表中的一行即为一个元组。属性:表中的一列即为一个属性。码:也称为码键。唯一标识一个元组的属性或属性组。域:属性的取值范围。分量:元组中的一个属性值。关系的每一个分量必须是一个不可再分的数据项关系模式:对关系的描述。一般表示为:关系名(属性1,属性2,.,属性n)如 学生(学号,姓名,性别,.,年级)关系的完整性约束条件:实体完整性、参照完整性、用户定义的完整型。数据库

6、系统的三级模式结构:外模式、模式、内模式三级构成。模式:是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。是数据库系统结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序,所使用的应用开发工具及高级程序设计语言无关。一个数据库只有一个模式。外模式:也称子模式或用户模式,是数据库用户的视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集,一个数据库可以有多个外模式。同一个外模式也可以为某一用户的多个应用程序所使用,但一个应用程序只能有一个外模式。内模式:内模式也称为存储模式。一个数据库只有一个内模式。它是数据物理存储结构和存储方式的描述,是数据在数据

7、库内部的表示方式。数据库的二级映像功能:数据库系统的三级模式是对数据的3个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在系统内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像。外模式/模式映像模式/内模式映像,这保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。外模式/模式:模式描述的数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以任意多个外模式,每一个外模式都有一个外模式/模式映像,定义了该外模式与模式的对应关系。应用程序是根据外模式编

8、写的,从而当模式改变时,数据库管理员只需要对这个映像作相应改变,程序无需改变。这保证了数据与程序的逻辑独立性。模式/内模式:数据库中模式/内模式映像是唯一的。它定义了数据全体逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了,数据库管理员通过改变模式/内模式映像而不必去改变模式。第二章:关系数据库域:一组具有相同数据类型的值的集合。笛卡尔积:域上面的一种集合运算。定义:给定一组域D1,D2,.,Dn,这些域中可以是相同的域。D1,D2,.Dn的笛卡尔积为:D1×D2×.×Dn=(d1,d2,.,dn)|diDi,i=1,2,.,n其中每一个元素(d1,d2

9、,.,dn)叫做一个n元组,简称元组。元素中的每一个值di叫做一个分量。笛卡尔积可以表示为一张二维表,每行对应一个元组。关系:D1×D2×.Dn的子集叫做在域D1,D2,.Dn上的关系,表示为R(D1,D2,.,D n)候选码:一个关系中能唯一标识一个元组的属性组。主码:候选码中的一个。关系可以有三种关系:基本关系(基本表),查询表,视图表基本表:实际存在的表,是实际存储数据的逻辑表示。查询表:查询结果对应的表。视图表:有基本表或其它视图表导出的表,是虚表,不对应实际存储的数据。关系模式:关系的描述成为关系模式。关系是远足的集合,因此关系模式必须指出这个元组集合的结构。表示

10、为R(U,D,DOM,F),其中U属性名集合,D域DOM属性向域的映像集合,F为属性间数据的依赖关系集合。可以简记为R(U)。关系数据库:在一个给定的领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。关系数据库模式包括:若干域的定义在这些域上定义的若干关系模式。关系模型中常用的关系操作包括查询、【插入、删除、修改】两大类。查询操作又分为 选择、投影、连接、除、并、差、交,笛卡尔积等。关系数据语言可以分为三类:关系代数语言 关系演算语言 具有关系代数和关系演算双重特点的语言。如SQL关系的完整性约束:实体完整性、参照完整性、用户定义完整性关系代数运算符:集合运算符:并()、差(-)、

11、交()、笛卡尔积(×)比较运算符:>、<、=、<>专门的关系运算符:(选择)、(投影)、÷(除)、(连接)逻辑运算符:非()、与()、或()区别:传统的集合运算符讲关系看成元组的集合,其运算是从关系的“水平”方向即行的角度来进行。专门的关系运算不仅涉及行而且涉及列。第四章:数据库安全性计算机系统安全型:是指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防治其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。计算机系统的安全性问题可以分为三大类:技术安全类、管理安全类、政策法律类计算机以及信息安全技术方面有一系列

12、的安全标准,最有影响的是TCSEC和CC这两个标准。数据库安全性控制:在计算机操作系统中,安全措施是一级一级层层设置的。重点:用户标识与鉴别、存取控制、视图和密码存储 等安全技术。1) 用户标识与鉴别:是系统提供的最外层安全保护措施。方法有:用户标识、口令。2) 存取控制。存取控制机制主要包括两部分。定义用户权限,并将用户权限登记到数据字典中。合法权限检查这两部分的简单定义是在自主存取方法中,用户对于不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可以将其拥有的存取权限转授给其他用户。因此自主存取控制非常灵活。【主要通过SQL的GRANT语句和REVOKE语句来

13、实现。】【用户权限由两个要素构成:数据库对象和操作类型】在强制存取方法中,每一个数据库对象被标以一定的密级,每一个用户也被授予一定级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取。强制存取控制因此相对比较严格。第五章:数据库完整性数据库的完整性是指数据的正确性和相容性。数据的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。数据的安全性是保护数据库防止恶意的破坏和非法的存取。因此完整性检查和控制的防范对象是不合语义的、不正确的数据,防止它们进入数据库。安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。为维护数据库的完整性

14、,DBMS必须能够:1)提供定义完整性约束条件的机制。包括关系模型的实体完整性、参照完整性和用户定义完整性。这些完整性一般由SQL的DDL语句来实现。2)提供完整性检查的方法。3)违约处理。触发器:是用户定义在关系表上的一类由事件驱动的特殊过程。一旦定义,任何用户对表的增、删、改操作均由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整性控制。第6章 :关系数据理论一个关系模式应该是一个五元组,R(U,D,DOM,F),本章中因集中对属性和数据以来做讨论,所以写成R(U,F)。三范式:1)1NF:满足了每一个分量都是一个不可再分的数据项这个条件的关系模式都是第一范式。2)2NF:若R1

15、NF,且每一个非主属性完全依赖于码,则R2NF。3)3NF:关系模式R<U,F>中若不存在这样的码X,属性组Y及非主属性Z(ZY),使得X->Y,Y->Z成立,YX,则称R<U ,F >3NF即每一个非主属性既不依赖于码也不传递依赖。第7章 :数据库设计“三分技术,七分管理,十二分基础数据”是数据库设计的特点之一。 数据库章节试题及答案第二章-关系数据库理论一.名词解释: 1.关系的数学定义:笛卡尔积D1×D2××Dn的子集叫做在域D1,D2,Dn上的关系,用R(D1,D2,Dn)表示。 2.关系模式:关系模式是对关系结构的描述

16、和定义,表示为:R(U,D,DOM,F)。其中,R为关系名,U为该关系的属性名集合,D为U中属性的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。简记为:R(U)=R(A1,A2,An) 3.候选码和主码:关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码,可有多个。主码属于候选码,1个关系只能有一个。4、主属性和非主属性:候选码的所有属性;不包含在任何候选码中的属性,因此也理解为非码属性。6、关系代数:一种抽象的查询语言,采用关系运算来表达查询,是支持关系数据库理论的数学工具。关系代数的运算对象、运算结果都是关系。7、元组关系演算:以元组变量作为谓词变元的基本对象

17、的关系演算,典型语言是:ALPHA语言。 ALPHA语言语句基本格式如下: 操作语句工作空间名(表达式):操作条件8、域关系演算:以域变量作为谓词变元的基本对象的关系演算方法。 典型:QBE.二、试述关系数据语言的特点和分类。三.试述等值连接与自然连接的区别和联系。答:(1)等值连接:比较运算符为“=”的连接运算,其结果是从笛卡儿积R×S中选取A、B属性值相等的那些元组。(2)自然连接:一种特殊的等值连接,要求将等值连接结果中重复的属性去掉。 四、设教学数据库TeachingData中有3个基本表。 学生表 (,) 选课表 (,) 课程表 (,) 试写出下列查询语句的关系代数表达式。

18、 ()查询老师"张三"所授课程的课程号和课程名(,)。 分析:结果反映在一个关系中,属于选择+投影:(C) ()查询没有选修"高等数学"的学生的姓名和所在班级(,)。分析:结果反映在三个关系中,需要连接,同时需要“投影” (,)以及“选择”没有选修"高等数学":高等数学其他(S)-(SCSC) ()查询所有女生的姓名和所在班级。 分析:不需连接。(S) ()查 询 未 选 修 课 程 号 为 "0010002" 的 课 程 的 男 学 生 的 学 号 和 姓 名 (, )。 (S)-(SCS)五、设有一个 数据库,

19、包括 S、P、J、SPJ4个关系模式。 供应商由供应商代码()、供应商姓名()、供应商状态()、供应商所在城市()组成; 零件P 由零件代码()、零件名()、颜色()、重量()组成; 工程项目表J 由工程项目代码()、工程项目名()、工程项目所在城市()组成。 供应情况表SPJ由供应商代码()、零件代码()、工程项目代码()、供应数量()组成,表示某供应商供应某种零件给某工程项目的数量为 。关系模式如下: (,) (,)J (,)_ SPJ(,) 对应数据表如下:试用关系代数完成如下(1)-(5)查询,用语言完成(1)-(3)、用语言完成(1)查询。 ()求供应工程 零件的供应商代码 。 ()

20、求供应工程 零件 的供应商代码 。 ()求供应工程 零件为红色的供应商代码 。 ()求没有使用天津供应商生产的红色零件的工程项目代码 。 ()求至少用了供应商 所供应的全部零件的工程项目代码 。答:用关系代数方法。()求供应工程 零件的供应商代码 。 分析:只用到spj表。(SPJ)()求供应工程零件 的供应商代码 。 (SPJ)()求供应工程 零件为红色的供应商代码 。 (SPJP)()求没有使用天津供应商生产的红色零件的工程项目代码。 (J)-(SPJJ)()求:至少用了供应商 所供应的全部零件的工程项目代码。(J)-(SPJ)以表中数据为例:S1提供的非S1提供的根据表中数据可看出,只有

21、J5没有选择S1提供的零件。答:用ALPHA方法。()求供应工程 零件的供应商代码 。 GET W (SPJ.Sno):spj.jno=j1()求供应工程零件 的供应商代码 。 GET W (SPJ.Sno):spj.jno=j1pno=p1()求供应工程 零件为红色的供应商代码。 RANGE P1 SPJ1GET W(SPJ.Sno):答:用QBE方法。()求供应工程 零件的供应商代码 。 snopnojnoqtyp.snoJ1一.名词解释: 1.关系模型的完整性规则。2.外码:3.实体完整性4.参照完整性5.函数依赖、6.非平凡函数依赖7.部分函数依赖、8.完全函数依赖9.传递函数依赖、1

22、0.候选码和主码11.全码12.主属性和非主属性13.范式、14.1NF、2NF、3NF、BCNF、二、单项选择1. 现有关系模式:运货路径(顾客姓名,顾客地址,商品名,供应商姓名,供应商地址),其主键应是( C )。A顾客姓名,供应商姓名B顾客姓名,商品名C顾客姓名,商品名,供应商姓名D顾客娃名,顾客地址,商品名2. 以下关于函数依赖的说法正确的是( D )。A函数依赖与关系中各属性列的取值有关,因此当关系中各属性列取值发生变化时,函数依赖必然发生改变;B属性间的联系方式与函数依赖密切相关,无论哪种联系方式都对应一种函数依赖;CXY是否成立仅取决于X、Y属性集上的值,与其他属性(集)的取值无

23、关;D以上都不是3. 当X、Y之间是一对多联系时,则存在函数依赖的是( B )。AXYBYXCXYD以上都不是4. 对于决定因素是单个属性的函数依赖,以下说法正确的是( B )。A有可能存在部分函数依赖 B不可能存在部分函数依赖C是否存在部分函数依赖取决于该关系模式中的属性个数 D以上都不是5. 以下关于主属性的说法正确的是( C )。A包含在主键中的属性B包含在外键中的属性C包含在任何一个候选键中的属性D包含在全键中的属性6下列有关范式的叙述中正确的是( C )。A如果关系模式R1NF,且R中主属性完全函数依赖于主键,则R是2NFB如果关系模式R3NF,X,Y ÍU,若XY,则R是

24、BCNFC一个关系模式如果属于4NF,则必定属于BCNF;反之不成立7关于属于BCNF的关系模式,以下说法正确的是( A )。A消除了属性间的部分函数依赖和传递函数依赖B只消除了主属性之间的传递函数依赖和部分函数依赖C只消除了非主属性对键的部分函数依赖和传递函数依赖D不是哪个关系模式都可以规范化到BCNF8若关系模式中的函数依赖的决定因素都是键,则其所属的最高范式为( D )。A1NF B2NF C3NF DBCNF9在关系数据库设计理论中,起核心作用的是( C )。A范式B模式设计 C数据依赖D数据完整性10任何二元关系模式所属的最高范式是( D )。A1NFB2NF C3NF DBCNF四

25、、简答题及分析设计题1. 全码的关系是否必然属于3NF?为什么?是否也必然属于BCNF?为什么?【解答】全码没有非主属性,因此不存在传递依赖,自然属于3NF;全码作为一个整体,主属性之间不存在依赖,因此属于BCNF。2. 要建立关于系、学生、班级、研究会等信息的一个关系数据库,规定:一个系有若干个专业,每个专业每年只招一个班级,每个班级有若干名学生,一个系的学生住在同一个宿舍区。每个学生可以参加若干个研究会,每个研究会有若干名学生。描述学生的属性有:学号、姓名、出生年月、系号、班号、宿舍区。描述班级的属性有:班号、专业名、系号、人数、入校年份。描述系的属性有:系号、系名、系办公地点、人数。描述

26、研究会的属性有:研究会名、成立年份、地点、人数。学生参加某研究会,有一个入会年份。试给出上述数据库的关系模式;写出每个关系的函数依赖集,指出是否存在传递函数依赖;对于函数依赖左部是多属性的情况,讨论其函数依赖是完全函数依赖还是部分函数依赖,指出关系的候选键、外键、有没有全键。【解答】各关系模式如下:学生(学号、姓名、出生年月、班号、研究会、入会年份、系号、宿舍区);班级(班号、专业名、系号、人数、入校年份);系(系号、系名、系办公地点、人数);研究会(研究会名、成立年份、地点、人数);每个关系的函数依赖集:系:专业=1:n,专业:班级=1:1,班级:学生=1:n系:宿舍区=1:1学生:研究会=

27、n:n专业系,专业班级,学生班级, 宿舍区系学生(学号、姓名、出生年月、班号、研究会、入会年份、系号、宿舍区);即:(学号、系号、姓名、出生年月、班号、研究会、入会年份、宿舍区);学生关系中:存在 学号班号,系号宿舍区。系号宿舍区,而(学号、系号)宿舍区存在 部分函数依赖学号班号 ,而(学号、系号)班号 存在 部分函数依赖班级(班号、专业名、系号、人数、入校年份);班级关系中:班号专业名,专业名系号;班号专业名系号,而(班号)系号“系号”通过“专业名”传递依赖于班号指出关系的外码。学生(学号、姓名、出生年月、班号、研究会,入会年份、系号、宿舍区);班级(班号、专业名、系号、人数、入校年份);系

28、(系号、系名、系办公地点、人数);研究会(研究会名、成立年份、地点、人数);指出关系是否有全码。没有全码。3. 设关系模式R (CITY,ADDRESS,ZIP),CITY代表城市名,ADDRESS代表街道名,ZIP代表邮政编码,函数依赖为 (CITY,ADDRESS)ZIP;ZIPCITY试分析该关系属于哪种范式等级,有哪种异常弊病,为什么,可具体讨论。并对其进行规范化提高范式等级,直到消除弊病,最后能达到哪级范式?【解答】由(CITY,ADDRESS)Z1P,ZIPCITY可知:(1)关系R的候选键为(CITY,ADDRESS)和(ADDRESS,ZIP)。因此,所有属性均为主属性,所以不

29、存在非主属性对键的部分函数依赖和传递函数依赖,因此R3NF。(2)若想为某个CITY增加一个ZIP,必须立刻为其指定一个ADDRESS。如果想取消一个ADDRESS的行政区划,则可能丢失该CITY所包含的一个ZIP。如果一个ZIP对应多个地址,则会重复多个同样的CITY值。因此,关系仍然存在插入异常、删除异常和冗余大的问题。(3)对其进行规范化,得到以下两个新关系:R1(ZIP,CITY),键为ZIP;R2(ZIP,ADDRESS),键为全键。R1和R2均属于BCNF,因为它们的决定因素均为键。经过这样的分解解决了上述问题。第四章-数据库的管理一.名词解释: 1.系统数据库系统数据库有5个:m

30、aster、model、msdb、tempdb和resource,它们在SQL Server2005中都有特殊的用途,不能随意对其进行修改或将其删除。2.数据文件数据文件包括数据库的数据和对象,如表、视图、索引等。每个数据库应该包含1个主要数据文件(.mdf) ,1个事务日志文件(.ldf)以及n个(n>=0)次要数据文件(.ndf)。3.日志文件保存用于恢复数据库的日志信息。每个数据库至少有一个日志文件,也可以有多个。4. T-SQLT-SQL (Transact-SQL)是结构化查询语言的增强版本,是Microsoft  SQL Server提供的使客户端能通过访问服务器上

31、数据的工具。二、填空题。1.数据库文件由称为( 页 )的单元组成。数据库中的(1MB)有128页。2.数据库存储结构包括:(逻辑)存储结构和(物理)存储结构。每个SQL Server 2005的数据库至少包含一个数据文件和一个( 日志 )文件 。4.日志文件包含用于(恢复数据库)的日志信息。5.创建数据库文件可采用(对象资源管理器)和(T-SQL命令)方法。三单选题1.哪个数据库被破坏或出现故障不可用,则SQL Server无法启动。Amaster B. tempdb C. msdb D. resource2. SQL Server2005的示例数据库名字为:A.Works B.Adventu

32、re C. Adventure Works D. Works Adventure3.次要数据文件的扩展名是:Amdf B. ndf C. ldf D.rdf4.主要数据文件的个数是:A>=1 B. >=0 C.=0 D.=15.次要数据文件的个数是:A>=1 B. >=0 C.=0 D.=16.SQL Server2005数据库结构包括:A.目录结构。 B.存储结构。 C.日志结构。 D.目录结构和存储结构。 四.简答题。1.SQL Server2005的5个系统数据库是什么?他们各自的主要功能是什么?Master: 记录SQL Server 2005系统的所有系统级的

33、信息,包括元数据(例如登录帐户)、端点、链接服务器和系统配置设备等,以及数据库文件的位置、初始化信息等。Model: 模板数据库,向用户提供各种模板Msdb: 是SQL Server 代理用来安排警报和作业、记录SQL Server代理程序服务项目和操作员信息等的数据库,有关数据库备份和还原的记录也会写在该数据库中。 Tempdb: 保存临时或中间结果的工作空间,包含了所有的暂存数据表与暂存的预存程序。Resource: SQL Server 2005中新增加的只读数据库,包含了SQL Server 2005中所有系统对象。2.文件组有什么用途?通常有哪三种类型,各种组包含哪些文件?用于数据库

34、文件的集中管理。文件组有三种类型。 主文件组包含:主要数据文件和未放入其他文件组的所有次要文件。在创建数据库时,如果没有定义文件组,SQL Server 2005会建立主文件组,所有的系统表都分配在主文件组中。 用户定义文件组是指:在创建或修改数据库时,用户创建的文件组。创建了用户文件组后,我们可以任意分配数据文件。如果用户定义的文件组被填满,那么只有该文件组的用户表会受影响。 初始情况下,主文件组是默认文件组。创建数据库对象时,如果没有指定它所属的文件组,那么就将这些对象指派到默认文件组。3.一个数据库至少应该有哪些文件?它们的扩展名是什么? 每个数据库应该包含1个主要数据文件(.mdf)

35、,1个事务日志文件(.ldf)以及n个(n>=0)次要数据文件(.ndf)。4.可否使用ALTER DATABASE命令修改数据库库名,为什么?ALTER DATABASE命令不能用来修改数据库库名,而要用系统提供的存储过程SP_rename。5.什么是数据库分离和数据库附加?分离数据库是指将数据库从SQL Server实例中删除,但数据库在其数据文件和事务日志文件中保持不变。数据库附加就是将“已经分离的数据库”的数据文件和日志文件复制到需要该数据库的地方,然后将其附加到数据库服务器中。6.什么是数据的导入?数据导入是指,从其他数据源中把数据复制到SQL Server数据库中,导出则为反

36、过程。其他数据源包括:同版本或旧版本的 SQL Server; Excel、Access、纯文本文件; 通过OLE DB或ODBC来访问的数据源等。第5章习题-数据表的管理一、思考题 简述 的数据类型。 系统数据类型和用户自定义类型。系统数据类型包括:数值类型、字符类型、时间数据类型和一些特殊的数据类型等。每种类型里都包含若干细分类型。简述索引的概念及优越性。 索引是数据库随机检索的常用手段,其作用是将数据表中的记录按照某个顺序进行排序,从而可以快速找到需要查找的记录。索引提供指针以指向存储在表中指定列的数据值,然后根据指定排序次序排列这些指针。合理地利用索引,将大大提高数据库的检索速度和数据

37、库的性能。二、实验操作题 (一)创建表 使用 Management Studio在TeachingDataA数据库中建立Tinfo表,表结构见表5-1。 使用T-SQL命令在TeachingDataA数据库中建立SInfo、Cinfo和ScoreInfo表,表结构如下。 (二)用T-SQL命令语句按下列要求修改表结构 修改表SInfo表结构,设置IDCardNo为唯一的。 use teachingDataAAlter table SInfo add CONSTRAINT Uni_ID UNIQUE (IDCardNo) 修改表ScoreInfo的表结构,设置term值只能为1或2,默认值为1(

38、?)。Alter table ScoreInfo add CONSTRAINT che_term CHECK(term='1' or term='2') 在表SInfo中添加一个字段EntrData(即入学日期),要求该值输入范围在2000-1-1至2010-1-1之间。 Alter table SInfo add EntrData smalldatetime CONSTRAINT che_entr CHECK(EntrData>='2000-1-1' and EntrData<='2010-1-1') 修改表Tinf

39、o表结构,要求删除其中的Birthday字段。 Alter table TInfo drop column birthday 5 修改表Tinfo表结构,要求其中字段homeTel只允许输入数字,且第一位不能为0.use teachingdataAgoAlter table Tinfo add check (isnumeric(homeTel)=1 and left(homeTel,1)<>'0' ) (三)添加与更新数据 1用-命令语句在表Tinfo中输入数据,如表5-5。 insert into TInfo values ('101001',&#

40、39;施 华','男',null,'1962-5-1 0:00:00','教 授','11111111',null)insert into TInfo values ('101002','张小同','男',null,'1969-12-2 0:00:00','副教授','22222222',null)insert into TInfo values ('101003','李 可','女

41、9;,null,'1972-5-1 0:00:00','讲 师','12345678',null)insert into TInfo values ('101004','王露','女',null,'1982-5-1 0:00:00','助 教','11111111',null)insert into TInfo values ('101005','周杰','男',null,'1975-5-1 0:

42、00:00','讲师','11111111',null)insert into TInfo values ('102001','张伟华','男',null,'1959-5-1 0:00:00','教 授','11111111',null)insert into TInfo values ('102002','李林','女',null,'1963-5-1 0:00:00','副教授'

43、,'11111111',null)insert into TInfo values ('102003','林森','男',null,'1960-5-1 0:00:00','教 授','11111111',null)insert into TInfo values ('102004','王明','男',null,'1951-5-1 0:00:00','教 授','11111111',null

44、)insert into TInfo values ('102005','史有才','男',null,'1964-5-1 0:00:00','讲','11111111',null) 2用T-SQL命令在表Tinfo中输入数据,当TID大于等于:101000且小于等于101999时,其所在部门dept字段的值为“信息管理”, 当TID大于等于:102000且小于等于102999时,其所在部门dept为电子商务。(四)创建索引 利用T-SQL命令为表Tinfo中的Dept和Tname两个字段创建一个简单

45、的复合索引。 利用T-SQL命令为表Tinfo中的homeTel字段创建一个唯一索引。 利用T-SQL命令为表Tinfo中的Tname字段创建一个降序的非聚集索引。 第6章习题-数据查询一、思考题 1. SQL查询语句有哪些子句,其中哪个子句为必选项。Select/ from/ where/ group by/ having/ order by 2. 简述排序查询、分组查询、联结查询及嵌套查询的概念。排序查询:用ORDER BY子句实现对查询结果集按列(列标题、列计算表达式)升、降序排序。如CID、平均年龄(列标题)、AVG(score) 分组查询:GROUP BY子句能够将数据记录依据设置的

46、条件分成若干组,实现分组查询。group_by_express: 分组依据表达式。它既可以是列(如CID,Sex等)也可以是引用由FROM子句返回的列的非聚合表达式,如 2011-Year(Birthday) 。CUBE:指定结果集不仅包含由GROUP BY提供的行,也包含汇总行。 联结查询:当一条查询语句涉及多个表时,称为联结查询。表之间的联结通过表的字段值来实现(这些字段称为联结字段),联结两表的条件称为联结条件。其种类包括:等值与非等值联结查询、自身联结、外联结、复合条件联结等。 嵌套查询:在一个外层查询中包含另一个内层查询。其中外层查询称为主查询,内层查询称为子查询。3.SQL查询语句

47、中 ALL 和 * 选项的作用有何不同?ALL 操作对象是行,为包含查询结果集中的重复记录;*指代某表的所有列。4在SELECT语句中WHERE和HAVING有什么不同?两者都是条件子句,但是HAVING用于group by子句。二、实验操作题 .完成本章中的所有例题。 .查询全体学生的SID、SNAME和SEX. SELECT SID, Sname,Sex from StuInfo .查询表StuInfo前5条记录中的学生姓名Sname和专业Major,要求在显示列标题为姓名和专业。 Select top 5 sname as 姓名,major as 专业 from StuInfo 4.查询

48、表StuInfo中的前50%的信息。 Select top 5 * from StuInfo 5.在表ScoreInfo中查询课程号CID为"002"且成绩低于60分的学生的SID和Score。 SELECT SID, Score from ScoreInfo where CID=002 AND Score<=60 6.分别用"BETWEEN AND"和比较运算符查询成绩在70分到80分之间的学生SID成绩 SCORE。 SELECT SID, Score from ScoreInfo where Score between 70 and 80 S

49、ELECT SID, Score from ScoreInfo where Score>=70 and Score<=80 7.试用两种方法来查询既没有选修课程"001",也没有选修"003"的学生SID、CID和成绩Score。 SELECT SID, CID,Score from ScoreInfo where CID<>”001” AND CID<>”003” SELECT SID, CID,Score from ScoreInfo where CID NOT IN (”001”,”003”) 8.在TchInf

50、o表中查询职称为"副教授"的教师的Tname和Birthday,并按出生年月进行降序排列。 Select Tname,birthday from TchInfo where Title="副教授" order by birthday desc9.查询SID为"2008001"的学生的总分和平均分。 Select sum(score),avg(score) from score where SID=2008001 10.查询各院系的讲师数。 Select count(*) from Tchinfo where Title=讲师 11.查询与李小红同学在同一个班级的学生的姓名。 Select Sname from stuInfo where cl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论