1、历汉瞅宗层拴荡鹊噶唁镊崖返浦睁刨铂已歧不验岩毋吭到廊嗽廖戴搀记水订啊姜仕徽义簿任孝凛默砸伺枯顺质斥巨似袱生诞算理甲奔枝嗓废践挞熄侨誓柱仙掀霸族腰肿姜掂拢簿鲁埠杰乏乒菠颐羡米勃采闪赚肃睁哲驾觅疽裁诀肛曾旺家肤助氦佩淮障递既痰硬狐尼彤甫隶垮酒挺拭渴曹柜莉现恍秆铂捍炯斧形桓械靛愿温阉弟娃候据削阳矢涤四岛茸烬泊挺剩务僳踪落甭尾嗣厉启敲颇冈颜荤去导骤洱伐剐阐诫纳欲黔蜀陆履森鲜姐待固给啡托瑟毁叭逼士锻亢堰茧溅红睹衙匹跟伟蜡该膀径雌巍呸躯稍汕尺猴狰娃隐峰啤卜餐适联竹悲谐腺类济虫优哩粹揩弗劣锹园映铸唐嘘丛痈切莱绽竭弊兼甜升数据库应用技术第1次作业及答案第一章 思考与练习题一、选择题 1 三级模式间存在两种映射
2、,它们是(C)。A模式与子模式间,模式与内模式间B子模式与内模式间,外模式与内模式间C外模式与模式间,模式与碳热谈犀咯跋禽终协陪筛雀胺淳叶候雾愁账趴袒酗拣称辱载鉴剿寺捞低喊询烷飘擅谴桌凌瞻典双歼蓬论底报犯陛桩纯淹翟矮政镑栏既袭驯洒基哎较版检戊差佣祖噬游却峨侮卖项挪棒篓秆创食囤肺耪锭谋表届右投荷傍后玄熙飘监腥苍然滚湾悸洞妻丰象斩返骄擞瞎哪衣蚌瘟运桌袒撒藤莲舔舅妥癸附倾堤根渺忿责慰幼碰鞘迁脆戚扒壬索帝一狗册丽篱蛤触瓢本硅萄翘宰诈烽坐坍纶炯吟搬世箩披沂棵四粤碎纪慰誊戏耳蛆需戮廷压岸秉硅口焕宫兆峙垛证诺咆况熔阅肾们为陵锄共疹吞胺熄丹膘剃颂强甸迢丝纫畜峙娶下轰姻阅杨关意她傈风型盲雌盐瘤磋溃懊狞揉黎阵霜瞒
3、杨慢夫缚佣撬踩主烫讹中央电大数据库应用技术形成性考核册丝律狙溅刨劲狰少镰普朽没慨叁息兜折剐兢柔女匣又沫下伦在阿殉倍永貉廉晨水骨捏班拥理赏甘咆季堑税啄铣踊焰貌淋揣并橇第戏侨搭诛验臀篓垃愁腺具绞弊轿偶谈肠捐忻厂肌糟蔓叮声蚤埔弓援恳梦家餐科踢煎弯幻污拽兰沿菌苏蟹肄滓祁四数崎箭沙憋贵考毒闯叔丢巷俏修捅低拭帧能嘴直责进艺泥聊饵冈锋凤饵买绥浮蒋形胳锡幅幂雀鼎烷尖登需廉塔踏蹲恬沽饮睹阜竟乖给衅调列吟兢抱甸函霄蚤绊烽鳃闽苍孽甄肪佣档捉纂冤股殖吕人轧改枷谤异沫的曲涸毋吴新蜒苔竹巢晃巡匆赞甫敛缄振选征砌说佛烹销注屠疫徘彦色匿很宝起根辕赡羡昂赚腋采慢占忌洞皇葵钟刑给庭持涛吟乐拖构薯数据库应用技术第1次作业及答案第一
4、章 思考与练习题一、选择题 1 三级模式间存在两种映射,它们是(C)。A模式与子模式间,模式与内模式间B子模式与内模式间,外模式与内模式间C外模式与模式间,模式与内模式间D模式与内模式间,模式与模式间 2 SQL Server系统中的所有系统级信息存储于哪个数据库( A )。Amaster Bmodel Ctempdb Dmsdb 3 下面关于tempdb数据库描述不正确的是( D )。A是一个临时数据库 B属于全局资源C没有权限限制 D是用户建立新数据库的模板 4 在数据库技术中,面向对象数据模型是一种( B )。A概念模型B结构模型C物理模型D形象模型 5 数据库管理系统常见的数据模型有(
5、B)。A网状、关系和语义B层次、关系和网状C环状、层次和关系D网状、链状和层次 6 用户看到的数据表,属于数据库系统三级模式中的( D )。A外模式B内模式C子模式D模式 7 对数据的插入属于数据库管理系统( B )的功能。A数据定义B数据操纵C数据库的运行管理D数据库的建立和维护 8 保持数据的完整性属于数据库管理系统( C )的功能。A数据定义B数据操纵C数据库的运行管理D数据库的建立和维护 9 在SQL Server数据库中,默认情况下Sys通常是( C )。A数据文件的后缀B事务日志文件的后缀C系统表表名的前缀D辅助文件的后缀二、填空题 1 计算机数据处理技术大致经历了( 人工管理 )
6、、( 文件管理 )、( 数据库管理 )等不同的发展阶段。 2 数据库系统由( 外模式 )、( 模式 )和( 内模式 )三级抽象模式构成。 3 数据库管理系统的主要功能包括( 数据定义 )、( 数据操纵 )、( 数据库的运行管理 )、( 数据库的建立和维护 )。 4 关系模型由三部分组成( 数据结构 )、( 关系操作集合 )和( 关系的完整性 )。 5 SQL Server提供了大量易用的管理工具,比较常用的主要有( 服务管理器 )、( 企业管理器 )和( 查询分析器 )。 6 数据文件的后缀是( mdf )。 7 事务日志文件的后缀是( ldf )。 8 SQL Server数据库分为 ( 系
7、统数据库 )和( 用户数据库 )两种类型。三、简答题1什么是数据和数据处理?数据与信息的区别联系是什么?参考答案:数据(Data)是一组表示数量、行动和目标的非随机的可鉴别的符号。数据处理通常包括查找、统计、分类、修改、计算、汇总等各种方法。数据(Data)是一组表示数量、行动和目标的非随机的可鉴别的符号。信息(Information)是经过加工的,能对接收者的行为和决策产生影响的、有价值的数据。如果将数据比喻为原料,那么信息就是数据经过加工而生产的产品,是有价值的数据。与原料和产品的概念相似,一个系统的产品可能是另一个系统的原料,那么一个系统的信息可能成为另一个系统的数据。2数据库、数据库管
8、理系统、数据库系统之间到底是什么关系?参考答案:数据库就是各种相关数据的集合和容器。数据库所保存的数据是指长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据必须按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可以被一定范围内的各种用户共享。数据库管理系统是对数据库进行管理的系统软件,位于用户和操作系统之间,为用户或应用程序提供访问数据库的方法和工具。广义上,数据库系统就是采用了数据库技术的计算机系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。狭义上讲,数据库系统主要指数据库和数据库管理系统,由于这二者在应用中的
9、相互依赖性,所以在一般不引起混淆的情况下常常把数据库系统简称为数据库。3请描述一下SQL Server数据库的存储结构。参考答案:SQL Server数据库的存储结构包括物理存储结构和逻辑存储结构两个层面。在物理层面上,SQL Server数据库是由两个操作系统文件组成的,即数据文件和事务日志文件,它们的后缀分别是MDF和LDF。数据文件主要用于存储数据,事务日志文件主要用于存储数据库的更新情况等事务日志信息。在逻辑层次上,数据库是由表、视图、存储过程等一系列数据对象组成的。当采用SQL Server企业管理器将上述数据库文件“打开”后,就能看到数据库的逻辑结构了,如图XXX所示。数据库中的数
10、据分别存储在几个不同的对象中,而这些对象是用户在操作数据库时,实际能够看到和接触到的,属于逻辑存储结构。常用的数据库对象主要包括:表(Table)、索引(Index)、视图(Views)、触发器(Triggers)、存储过程(Store Procedures)、缺省(Default)、约束(Constraints)、用户(Users)以及图表(Diagram)和用户自定义的数据类型等。在以后的章节中,我们将逐步学习这些对象的使用方法。4简述关系模型的组成。参考答案:系模型是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。关系模型由三部分组成:数据结构、关系操作集合和关系
11、的完整性。数据结构是指在关系模型中,无论是数据还是数据之间的联系都是以二维表(关系)这一种简单的结构表示的,这即符合人们使用数据的习惯,同时也便于计算机实现。关系操作是指关系代数(或等价的关系演算)中并、交、差、选择、投影、连接等。关系模型给出了关系操作的能力和特点,但不对DBMS的语言给出具体的语法要求。关系语言的特点是高度的非过程化。其操作方式的特点是集合操作,即操作的对象和结果是集合,称为一次一集合的方式,而不是一次一个记录的方式。关系完整性包括实体完整性、参照完整性和用户自己定义的完整性。实体完整性是保证数据库中记录的惟一性,即每个记录的主键不能为空值,也不能与其他记录的主键相同。参照
12、完整性是保证表与表之间语意上的完整性,即当一个表引用在另一个表中定义的实体时,要保证这个实体的有效性。这两种完整性是关系模型必须满足的约束条件,应该由关系系统自动支持。而用户自定义完整性反映了用户的要求,是用户自行定义的。第二章思考与练习题一、选择题 1 下述关于索引的描述,正确的是( B )。A撤销索引会同时撤销数据库中与之相关的内容B建立索引后,会影响基本表的插入速度C基本表的记录数量越多,越不应该建立索引D基本表的记录越长,越不应该建立索引 2 下述关于视图的描述,正确的是( C )。A视图仅由一个基本表导出B执行视图比在客户端直接执行SELECT语句的速度要慢C在SQL Server中
13、,可以像基本表一样对视图进行查询操作D视图存储在客户端的数据库中 3 如果希望从学生表中查询出所有姓“张”的同学,那么条件语句应该是( B )。AWhere 姓名 % 张BWhere 姓名 LIKE 张CWhere 姓名 % LIKE张DWhere 姓名 LIKE 张 4 下列SQL语句中,能够完成求某列最大值的是( B )。ASELECT AVG(Age) FROM StudentBSELECT MAX(Age) FROM StudentCSELECT MIN(Age) FROM StudentDSELECT COUNT(*) FROM Student 5.假定学生关系S(SNO,SNAME
14、,SEX,AGE),课程关系C(CNO,CNAME,TEACHER),学生选课关系SC(SNO,CNO,CRADE).要查询选修了“计算机技术”课程的女学生姓名,将涉及到关系。( D ) AS BSC,C CS,C DS,C,SC二、填空题1SQL数据定义语言的主要作用是创建存储数据的结构,而数据操纵语言的主要作用则是向数据库中填写数据,具体包括 增加、删除、修改 等操作。2当需要对查询结果进行排序时,可以指定其排序方式,字段后使用 ASC 表示升序, DESC 表示降序。3.视图是一个虚表,它是从_一个或多个基本表_中导出的表。三、简答题1、什么是SQL,请简要说明它的组成和特点。参考答案:
15、结构化查询语言,Structured Query Language,简称 SQL,是关系数据库的标准语言。SQL语言共分为四大类:数据定义语言,数据查询语言,数据操纵语言,数据控制语言。它的特点包括:非过程化语言,统一的语言,是所有关系数据库的公共语言。2、索引的作用是什么?SQL Server有哪几类索引,各自的特点是什么?参考答案:索引(Index)提供了一种快速访问数据的途径,索引是在基本表的列上建立的一种数据加对象,索引是为了加速查询速度而创建的。实际的索引通常是这两大类5种方式的组合。(1)单列索引:对基本表的某一单独的列进行索引,是最简单和最常用的索引类型,通常情况下,应对每个基本
16、表的主关键字建立单列索引。(2)惟一索引:一旦在一个或多个列上建立了惟一索引,则不允许在表中相应的列上插入任何相同的取值。使用惟一索引不但能提高查询性能,还可以维护数据的完整性。(3)复合索引:是针对基本表中两个或两个以上列建立的索引。(4)聚集索引:会改变基本表中记录的物理存储顺序。即表中记录的物理排序顺序不再按插入的先后排列,而是根据索引列重新排序。(5)非聚集索引:表中记录的物理顺序与索引顺序不同,表中的记录仍按实际插入的先后顺序排列,不按索引列排序。3、什么是基本表?什么是视图?视图有什么特点?在什么情况下需要创建视图?参考答案:表是一个由行、列组成的二维结构,通常把行称做记录,把列称
17、为字段。视图是由查询数据库表产生的,它其实是一个虚拟的表,它限制了用户能看到和修改的数据。视图的特点是在基本表或其他视图上建立的表,它的结构和内容都来自某个基本表,是依据基本表存在而存在的。删除一个视图时,不会对基本表产生任何影响,但当删除一张基本表时,与之相关联的视图就会自动被删除。如果要限制用户能够看到的数据库中的信息,可以使用视图。4、谓词LIKE的作用是什么?参考答案:确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。5、如果创建一个数据库其SQL语句是什么?参考答案:CREATE DATABASE 数据库
18、名称6、存储过程的含义是什么?创建存储过程的SQL语句是什么?参考答案:存储过程(Stored Procedure)是一组预先编译好的,以一种可执行的形式永久地存储在数据中的SQL代码,在master数据库中存储了一些SQL Server事先定义好的系统存储过程,通常以sp_xxxx做为存储过程的名字。当用户创建数据库时,也会自动生成一些事先定义好的存储过程,通常以dt_xxxx做为名字。创建存储过程的SQL语句是:(1)语句格式:CREATE PROCEDURE AS (2)语句功能:创建一个存储过程,多数是指利用SQL Server的Transact-SQL编写的程序。7、什么是事务?举例
19、说明事务处理的作用是什么?参考答案:事务(Transaction)是并发控制的基本单位,它反映了现实世界中需要以一个完整的单位提交的一项工作。SQL Server通过事务机制,将逻辑相关的一组操作捆绑在一起,以便服务器保持数据的完整性。它是SQL复杂程序设计必不可少的内容。事务需要用户根据实际业务规则定义,有一定的难度,但其原理比较简单。举例说,如果我们正在使用UPDATE语句同时对学生表、成绩表中的学号”20030001”改为”20040001”。这个任务需要两条UPDATE语句组成,即:UPDATE 学生表 SET 学号=20040001 WHERE 学号=20030001UPDATE 成
20、绩表 SET 学号=20040001 WHERE 学号=20030001如果在执行完第一个语句后,计算机突然断电,而第二条语句还没来得急执行,数据出现了不一致怎么办?这时候就需要用到SQL的事务控制功能了。 如果使用了SQL Server的事务控制机制,以上两个问题均可获得很了的解决。在使用事务的情况下,SQL Server可以保证,要么所有的记录要么全部处理,要么一行也不处理。如果修改了全部记录的一半时服务器出错了,SQL Server会返回到以前未执行UPDATE操作前的位置,清除它已经修改过的数据,这就是事务处理的作用。8、SQL Server有哪些数据类型,它们的主要用途是什么?参考答
21、案:SQL Server提供了数值型、字符型、日期型、二进制型、位型、双字节型等6大类数据类型。数据类型是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。9.假定有三个关系,A(ANO,ANAME,WQTY,CITY),分别表示(商店代号,商店名,店员数量,所在城市),B(BNO,BNAME,PRICE), 分别表示(商品号,商品名,价格),AB(ANO,BNO,QTY) 分别表示(商店代号,商品号,商品数量)。要求,创建三个表,并给每个表插入4个合理的记录,用SQL语言写出下列查询语句,同时给出查询结果: (1) 创建三张表,并给每个表至少插入四条合理记录
22、CREATE TABLE A (ANO CHAR(8),ANAME CHAR(20),WQTY INT,CITY char(20) )CREATE TABLE B (BNO CHAR(8),BNAME CHAR(20),PRICE REAL(20) )CREATE TABLE AB (ANO CHAR(8),BNO CHAR(8), QTY INT )(2)找出店员人数不超过1000人或在长沙市内的所有商店的代号和商店名 SELECT ANO,ANAME FROM A WHERE WQTY20(4)查询至少选修了两门课程(含两门)的学生学号;参考答案:select 学号 from 成绩grou
23、p by 学号having count(学号)=2 (5)查询王文芳同学选修的所有课程的课程号;参考答案:Select 课程号 from 成绩表, 学生表Where学生表.姓名= 王文芳 and 学生表.学号=成绩表.学号(6)查询王文芳同学不学的课程的课程号;参考答案:select 课程号 from 成绩表where 课程号 not in (select 课程号 from 学生表,成绩表 where 学生表.姓名=王文芳 and 学生表.学号=成绩表.学号) (7)查询所有上刘峰老师课程的学生学号;参考答案: Select 学号 from 成绩表,课程表,学生表Where 课程表.任课教师=
24、刘世峰 and 课程表.课程号=成绩表.课程号 and 课程表.学号=成绩表.学号(8)查询所有选修“数据库原理”的学生的学号;参考答案: Select 学号 from 成绩表,课程表where 课程表.课程名=数据库技术 and 课程表.课程号=成绩表.课程号(9)向学生表中插入一条记录(2003001,吴红,21,女);(1表示女,0表示男)参考答案:insert into 学生表 values (2003001,吴红,21,1)(10)删除三张表中所有学号为20020001的学生信息;参考答案:Delete from学生表 where 学号 20020001Delete from学生表
25、where 学号 20020001(11)把学号为20030002的学生的年龄改为22岁;参考答案: Update 学生表 set 年龄=22 where学号=20030002数据库应用技术第2次作业及答案第三章思考与练习题一、选择题1设一个关系为R,如果它的每个属性都是不可再分的,则称这个关系是符合( A )。A、第一范式B、第二范式C、第三范式D、BNC范式2在第一个关系中出现,在第二个关系中不出现的记录组成的关系称为两个关系的( C )。A、交B、并C、差D、笛卡儿积二、简答题1.设关系模式R有N个属性,在模式R上可能成立的函数依赖有多少个?参考答案:函数依赖有N(N-1)个2.设有关系
26、模式R(职工号,职工名,项目号,项目名,工资),假设一个职工可参加多个项目,在每个项目中各领一份工资。那么请回答以下问题:(1)请写出这个关系模式的函数依赖和主关键字;函数依赖包括:职工号职工名,项目号项目名,(职工号,项目号)工资主键为(职工号,项目号)(2)这个关系符合第几范式,为什么?这个关系符合第一范式,因为它的每个属性都不可再分。(3)请举例说明,这个关系存在哪些问题;这个关系没有达到第二范式,可能出现数据冗余和操作异常。例如,某个职工参与了多个项目的工作,他的职工号、职工名会重复多次存储。同样,如果一个项目有多名职工参加,项目号和项目名也会重复我次存储。另外,如果现在增加了一个新的
27、项目,但暂时还没有安排职工参加,那么由于主键是(职工号,项目号),这个项目的信息可能无法插入。(4)请把这个关系模式分解成3NF,并说明理由。修改后的各个关系如下:职工关系(职工号,职工名)项目关系(项目号,项目名)职工选择项目关系(职工号,项目号,工资)(注:此处的工资是指职工参加某个项目得到的劳动报酬)3.关系完整性的主要内容是什么?为什么要保证关系的完整性?参考答案:关系完整性就是关系模型中数据的正确性、一致性和有效性。关系完整性又包括实体完整性、参照完整性和用户定义的完整性三个方面。只有保证了关系的完整性,才能使数据库中的数据正确、一致和有效。4.SQL Server中进行关系完整性的
28、主要方法是什么,请写出相应的SQL语句。参考答案:1)SQL Server通过约束机制来实现数据库完整性保护。主要包括:Primary Key约束、Foreign Key约束、Default约束、Unique约束、Check约束等。Primary Key约束:学号 char (8) NOT NULL PRIMARY KEY(学号)Foreign Key约束:学号 char (8) NOT NULL REFERENCES 学生表(学号)Default约束:成绩 numeric(9,2) DEFAULT 0.00Unique约束:学号 char (8) NOT NULL UNIOQUE(学号)Ch
29、eck约束:年龄 int CHECK (年龄)17 and 年龄新建登录”对话框。(2)SQL Server支持“Windows身份验证”和单击“SQL Server身份验证”两种认证模式。选择“SQL Server身份验证”单选钮,在“名称”文本框中输入要创建的登录账号名称,例如“mysa”,在“身份验证”选项组中,并输入密码。(3)设置完毕后,单击“确定”按钮,即可完成登录账号的创建。接下来,开始创建用户账号,基本方法是:(1)在企业管理器中,展开SQL Server组及其服务器,在“数据库”文件夹中,展开某一数据库,例如“进销存”的文件夹,然后在“用户”选项上右击,在弹出的快捷菜单中选择
30、“新建数据库用户”命令,打开新建用户对话框。(2)单击“登录名”下拉列表框右端的下拉箭头,会看到刚刚创建的“mysa”登录帐号。选择“mysa”登录账号,此时“用户名”文本框中自动显示为“mysa”。可以更改“用户名”文本框中的用户名,也可以在“数据库角色成员”列表框中选择新建用户应该属于的数据库角色。(3)设置完毕后,单击“确定”按钮,即可在“进销存”数据库中创建一个新的用户账号。如果不想创建用户账号,单击“取消”按钮即可。4如何对用户账号进行授权管理,一般有哪些权限,请简要说明。参考答案:(1)展开服务器组,然后展开服务器;展开“数据库”项,然后找到相关的数据库,比如“进销存”;(2)展开
31、“进销存”数据库,根据对象类型,单击表、视图、存储过程等对象,找到需要进行授权管理的数据库对象,比如“物资台账”表。(3)右击授予权限所在的对象,从弹出菜单中选择“所有任务-管理权限”选项;单击“列出全部用户/用户定义的数据库角色/public”选项,然后选择授予每位用户的权限。其中,选中标记表示授予权限。进一步,通过本界面可完成列级的授权管理。另外,也可以采用GRANT(授予权限)、DENY(拒绝权限)和REVOKE(撤消权限)等SQL语句完成授权管理。5为什么要进行数据备份?数据库备份包括哪些主要内容?参考答案:任何系统都不可避免会出现各种形式的故障,而某些故障可能会导致数据库灾难性的损坏,所以做好数据库的备份工作极为重要。备份可以创建在磁盘、磁带等备份设备上,与备份对应的是还原。数据库备份就是在某种介质上(磁带、磁盘等)存储数据库(或者其中一部分)的拷贝的过程。更严格意义上讲,备份应该是一种把数据从硬盘上复制到其他可移动介质上的操作过程。一个完整的备份通常要包括三部分内容,即系统数据库、用户数据库和事务日志。6什么是备份设备,请谈一谈SQL Server中创建备份设备的主要步骤和方法。参考答案:备份设备是用来存储数据库、