资源描述
数据库应用技术作业及答案第一章 思考与练习题一、选择题 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 数据库管理系统常见的数据模型有(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 计算机数据处理技术大致经历了( 人工管理 )、( 文件管理 )、( 数据库管理 )等不同的发展阶段。 2 数据库系统由( 外模式 )、( 模式 )和( 内模式 )三级抽象模式构成。 3 数据库管理系统的主要功能包括( 数据定义 )、( 数据操纵 )、( 数据库的运行管理 )、( 数据库的建立和维护 )。 4 关系模型由三部分组成( 数据结构 )、( 关系操作集合 )和( 关系的完整性 )。 5 SQL Server提供了大量易用的管理工具,比较常用的主要有( 服务管理器 )、( 企业管理器 )和( 查询分析器 )。 6 数据文件的后缀是( mdf )。 7 事务日志文件的后缀是( ldf )。 8 SQL Server数据库分为 ( 系统数据库 )和( 用户数据库 )两种类型。三、简答题1什么是数据和数据处理?数据与信息的区别联系是什么?参考答案:数据(Data)是一组表示数量、行动和目标的非随机的可鉴别的符号。数据处理通常包括查找、统计、分类、修改、计算、汇总等各种方法。数据(Data)是一组表示数量、行动和目标的非随机的可鉴别的符号。信息(Information)是经过加工的,能对接收者的行为和决策产生影响的、有价值的数据。如果将数据比喻为原料,那么信息就是数据经过加工而生产的产品,是有价值的数据。与原料和产品的概念相似,一个系统的产品可能是另一个系统的原料,那么一个系统的信息可能成为另一个系统的数据。2数据库、数据库管理系统、数据库系统之间到底是什么关系?参考答案:数据库就是各种相关数据的集合和容器。数据库所保存的数据是指长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据必须按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可以被一定范围内的各种用户共享。数据库管理系统是对数据库进行管理的系统软件,位于用户和操作系统之间,为用户或应用程序提供访问数据库的方法和工具。广义上,数据库系统就是采用了数据库技术的计算机系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。狭义上讲,数据库系统主要指数据库和数据库管理系统,由于这二者在应用中的相互依赖性,所以在一般不引起混淆的情况下常常把数据库系统简称为数据库。3请描述一下SQL Server数据库的存储结构。参考答案:SQL Server数据库的存储结构包括物理存储结构和逻辑存储结构两个层面。在物理层面上,SQL Server数据库是由两个操作系统文件组成的,即数据文件和事务日志文件,它们的后缀分别是MDF和LDF。数据文件主要用于存储数据,事务日志文件主要用于存储数据库的更新情况等事务日志信息。在逻辑层次上,数据库是由表、视图、存储过程等一系列数据对象组成的。当采用SQL Server企业管理器将上述数据库文件“打开”后,就能看到数据库的逻辑结构了,如图XXX所示。数据库中的数据分别存储在几个不同的对象中,而这些对象是用户在操作数据库时,实际能够看到和接触到的,属于逻辑存储结构。常用的数据库对象主要包括:表(Table)、索引(Index)、视图(Views)、触发器(Triggers)、存储过程(Store Procedures)、缺省(Default)、约束(Constraints)、用户(Users)以及图表(Diagram)和用户自定义的数据类型等。在以后的章节中,我们将逐步学习这些对象的使用方法。4简述关系模型的组成。参考答案:系模型是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。关系模型由三部分组成:数据结构、关系操作集合和关系的完整性。数据结构是指在关系模型中,无论是数据还是数据之间的联系都是以二维表(关系)这一种简单的结构表示的,这即符合人们使用数据的习惯,同时也便于计算机实现。关系操作是指关系代数(或等价的关系演算)中并、交、差、选择、投影、连接等。关系模型给出了关系操作的能力和特点,但不对DBMS的语言给出具体的语法要求。关系语言的特点是高度的非过程化。其操作方式的特点是集合操作,即操作的对象和结果是集合,称为一次一集合的方式,而不是一次一个记录的方式。关系完整性包括实体完整性、参照完整性和用户自己定义的完整性。实体完整性是保证数据库中记录的惟一性,即每个记录的主键不能为空值,也不能与其他记录的主键相同。参照完整性是保证表与表之间语意上的完整性,即当一个表引用在另一个表中定义的实体时,要保证这个实体的有效性。这两种完整性是关系模型必须满足的约束条件,应该由关系系统自动支持。而用户自定义完整性反映了用户的要求,是用户自行定义的。第二章 思考与练习题一、选择题 1 下述关于索引的描述,正确的是( B )。A撤销索引会同时撤销数据库中与之相关的内容B建立索引后,会影响基本表的插入速度C基本表的记录数量越多,越不应该建立索引D基本表的记录越长,越不应该建立索引 2 下述关于视图的描述,正确的是( C )。A视图仅由一个基本表导出B执行视图比在客户端直接执行SELECT语句的速度要慢C在SQL Server中,可以像基本表一样对视图进行查询操作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 二、填空题1SQL数据定义语言的主要作用是创建存储数据的结构,而数据操纵语言的主要作用则是向数据库中填写数据,具体包括 增加、删除、修改 等操作。2当需要对查询结果进行排序时,可以指定其排序方式,字段后使用 ASC 表示升序, DESC 表示降序。三、简答题1、什么是SQL,请简要说明它的组成和特点。参考答案:结构化查询语言,Structured Query Language,简称 SQL,是关系数据库的标准语言。SQL语言共分为四大类:数据定义语言,数据查询语言,数据操纵语言,数据控制语言。它的特点包括:非过程化语言,统一的语言,是所有关系数据库的公共语言。2、索引的作用是什么?SQL Server有哪几类索引,各自的特点是什么?参考答案:索引(Index)提供了一种快速访问数据的途径,索引是在基本表的列上建立的一种数据加对象,索引是为了加速查询速度而创建的。实际的索引通常是这两大类5种方式的组合。(1)单列索引:对基本表的某一单独的列进行索引,是最简单和最常用的索引类型,通常情况下,应对每个基本表的主关键字建立单列索引。(2)惟一索引:一旦在一个或多个列上建立了惟一索引,则不允许在表中相应的列上插入任何相同的取值。使用惟一索引不但能提高查询性能,还可以维护数据的完整性。(3)复合索引:是针对基本表中两个或两个以上列建立的索引。(4)聚集索引:会改变基本表中记录的物理存储顺序。即表中记录的物理排序顺序不再按插入的先后排列,而是根据索引列重新排序。(5)非聚集索引:表中记录的物理顺序与索引顺序不同,表中的记录仍按实际插入的先后顺序排列,不按索引列排序。3、什么是基本表?什么是视图?视图有什么特点?在什么情况下需要创建视图?参考答案:表是一个由行、列组成的二维结构,通常把行称做记录,把列称为字段。视图是由查询数据库表产生的,它其实是一个虚拟的表,它限制了用户能看到和修改的数据。视图的特点是在基本表或其他视图上建立的表,它的结构和内容都来自某个基本表,是依据基本表存在而存在的。删除一个视图时,不会对基本表产生任何影响,但当删除一张基本表时,与之相关联的视图就会自动被删除。如果要限制用户能够看到的数据库中的信息,可以使用视图。4、谓词LIKE的作用是什么?参考答案:确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。5、如果创建一个数据库其SQL语句是什么?参考答案:CREATE DATABASE 数据库名称6、存储过程的含义是什么?创建存储过程的SQL语句是什么?参考答案:存储过程(Stored Procedure)是一组预先编译好的,以一种可执行的形式永久地存储在数据中的SQL代码,在master数据库中存储了一些SQL Server事先定义好的系统存储过程,通常以sp_xxxx做为存储过程的名字。当用户创建数据库时,也会自动生成一些事先定义好的存储过程,通常以dt_xxxx做为名字。创建存储过程的SQL语句是:(1)语句格式:CREATE PROCEDURE AS (2)语句功能:创建一个存储过程,多数是指利用SQL Server的Transact-SQL编写的程序。7、什么是事务?举例说明事务处理的作用是什么?参考答案:事务(Transaction)是并发控制的基本单位,它反映了现实世界中需要以一个完整的单位提交的一项工作。SQL Server通过事务机制,将逻辑相关的一组操作捆绑在一起,以便服务器保持数据的完整性。它是SQL复杂程序设计必不可少的内容。事务需要用户根据实际业务规则定义,有一定的难度,但其原理比较简单。举例说,如果我们正在使用UPDATE语句同时对学生表、成绩表中的学号”20030001”改为”20040001”。这个任务需要两条UPDATE语句组成,即:UPDATE 学生表 SET 学号=20040001 WHERE 学号=20030001UPDATE 成绩表 SET 学号=20040001 WHERE 学号=20030001如果在执行完第一个语句后,计算机突然断电,而第二条语句还没来得急执行,数据出现了不一致怎么办?这时候就需要用到SQL的事务控制功能了。 如果使用了SQL Server的事务控制机制,以上两个问题均可获得很了的解决。在使用事务的情况下,SQL Server可以保证,要么所有的记录要么全部处理,要么一行也不处理。如果修改了全部记录的一半时服务器出错了,SQL Server会返回到以前未执行UPDATE操作前的位置,清除它已经修改过的数据,这就是事务处理的作用。8、SQL Server有哪些数据类型,它们的主要用途是什么?参考答案:SQL Server提供了数值型、字符型、日期型、二进制型、位型、双字节型等6大类数据类型。数据类型是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。9、假设某教学管理数据库有以下三张表,请写出下列问题的SQL语句:学生(学号,姓名,年龄,性别)课程(课程号,课程名,任课教师)成绩(学号,课程号,成绩)(1)如何在SQL Server上创建这三张表;参考答案:学生表:create table 学生表 (学号 char (8) primary Key,姓名 char(8),年龄 int,性别 bit)课程表:create table 课程表 (课程号 char (7) primary Key,课程名 char(20),任课教师 char (8)成绩表:create table 成绩表 (学号 char (8),课程号 char (7),成绩 Numeric (4,2)(2)查询刘峰教师所授课程号,课程名;参考答案:Select课程号, 课程名 from课程表 where任课教师= 刘峰(3)查询年龄大于20岁的所有男同学的学号、姓名;参考答案: Select 学号, 姓名 from 学生表 where 性别=1 and 年龄20(4)查询至少选修了两门课程(含两门)的学生学号;参考答案:select 学号 from 成绩group by 学号having count(学号)=2 (5)查询王文芳同学选修的所有课程的课程号;参考答案:Select 课程号 from 成绩表, 学生表Where学生表.姓名= 王文芳 and 学生表.学号=成绩表.学号(6)查询王文芳同学不学的课程的课程号;参考答案:select 课程号 from 成绩表where 课程号 not in (select 课程号 from 学生表,成绩表 where 学生表.姓名=王文芳 and 学生表.学号=成绩表.学号) (7)查询所有上刘峰老师课程的学生学号;参考答案: Select 学号 from 成绩表,课程表,学生表Where 课程表.任课教师=刘世峰 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学生表 where 学号 20020001(11)把学号为20030002的学生的年龄改为22岁;参考答案: Update 学生表 set 年龄=22 where学号=20030002第三章 思考与练习题一、选择题1设一个关系为R,如果它的每个属性都是不可再分的,则称这个关系是符合( A )。A、第一范式B、第二范式C、第三范式D、BNC范式2在第一个关系中出现,在第二个关系中不出现的记录组成的关系称为两个关系的( C )。A、交B、并C、差D、笛卡儿积二、简答题1.设关系模式R有N个属性,在模式R上可能成立的函数依赖有多少个?参考答案:函数依赖有N(N-1)个2.设有关系模式R(职工号,职工名,项目号,项目名,工资),假设一个职工可参加多个项目,在每个项目中各领一份工资。那么请回答以下问题:(1)请写出这个关系模式的函数依赖和主关键字;函数依赖包括:职工号职工名,项目号项目名,(职工号,项目号)工资主键为(职工号,项目号)(2)这个关系符合第几范式,为什么?这个关系符合第一范式,因为它的每个属性都不可再分。(3)请举例说明,这个关系存在哪些问题;这个关系没有达到第二范式,可能出现数据冗余和操作异常。例如,某个职工参与了多个项目的工作,他的职工号、职工名会重复多次存储。同样,如果一个项目有多名职工参加,项目号和项目名也会重复我次存储。另外,如果现在增加了一个新的项目,但暂时还没有安排职工参加,那么由于主键是(职工号,项目号),这个项目的信息可能无法插入。(4)请把这个关系模式分解成3NF,并说明理由。修改后的各个关系如下:职工关系(职工号,职工名)项目关系(项目号,项目名)职工选择项目关系(职工号,项目号,工资)(注:此处的工资是指职工参加某个项目得到的劳动报酬)3.关系完整性的主要内容是什么?为什么要保证关系的完整性?参考答案:关系完整性就是关系模型中数据的正确性、一致性和有效性。关系完整性又包括实体完整性、参照完整性和用户定义的完整性三个方面。只有保证了关系的完整性,才能使数据库中的数据正确、一致和有效。4.SQL Server中进行关系完整性的主要方法是什么,请写出相应的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(学号)Check约束:年龄 int CHECK (年龄)17 and 年龄新建登录”对话框。(2)SQL Server支持“Windows身份验证”和单击“SQL Server身份验证”两种认证模式。选择“SQL Server身份验证”单选钮,在“名称”文本框中输入要创建的登录账号名称,例如“mysa”,在“身份验证”选项组中,并输入密码。(3)设置完毕后,单击“确定”按钮,即可完成登录账号的创建。接下来,开始创建用户账号,基本方法是:(1)在企业管理器中,展开SQL Server组及其服务器,在“数据库”文件夹中,展开某一数据库,例如“进销存”的文件夹,然后在“用户”选项上右击,在弹出的快捷菜单中选择“新建数据库用户”命令,打开新建用户对话框。(2)单击“登录名”下拉列表框右端的下拉箭头,会看到刚刚创建的“mysa”登录帐号。选择“mysa”登录账号,此时“用户名”文本框中自动显示为“mysa”。可以更改“用户名”文本框中的用户名,也可以在“数据库角色成员”列表框中选择新建用户应该属于的数据库角色。(3)设置完毕后,单击“确定”按钮,即可在“进销存”数据库中创建一个新的用户账号。如果不想创建用户账号,单击“取消”按钮即可。4如何对用户账号进行授权管理,一般有哪些权限,请简要说明。参考答案:(1)展开服务器组,然后展开服务器;展开“数据库”项,然后找到相关的数据库,比如“进销存”;(2)展开“进销存”数据库,根据对象类型,单击表、视图、存储过程等对象,找到需要进行授权管理的数据库对象,比如“物资台账”表。(3)右击授予权限所在的对象,从弹出菜单中选择“所有任务-管理权限”选项;单击“列出全部用户/用户定义的数据库角色/public”选项,然后选择授予每位用户的权限。其中,选中标记表示授予权限。进一步,通过本界面可完成列级的授权管理。另外,也可以采用GRANT(授予权限)、DENY(拒绝权限)和REVOKE(撤消权限)等SQL语句完成授权管理。5为什么要进行数据备份?数据库备份包括哪些主要内容?参考答案:任何系统都不可避免会出现各种形式的故障,而某些故障可能会导致数据库灾难性的损坏,所以做好数据库的备份工作极为重要。备份可以创建在磁盘、磁带等备份设备上,与备份对应的是还原。数据库备份就是在某种介质上(磁带、磁盘等)存储数据库(或者其中一部分)的拷贝的过程。更严格意义上讲,备份应该是一种把数据从硬盘上复制到其他可移动介质上的操作过程。一个完整的备份通常要包括三部分内容,即系统数据库、用户数据库和事务日志。6什么是备份设备,请谈一谈SQL Server中创建备份设备的主要步骤和方法。参考答案:备份设备是用来存储数据库、事务日志或文件和文件组备份的存储介质。SQL Server支持3种备份设备,即磁盘设备、磁带设备和命名管道设备。在SQL Server中,可以采用两种方法创建备份设备,一是利用企业管理器;二是使用系统存储过程sp_addumpdevice。其步骤如下:在企业管理器中展开服务器组,展开指定的服务器,展开“管理”文件夹,右击“备份”,在弹出的快捷菜单中选择“新建备份设备”选项,打开“备份设备属性- 新设备”对话框。在“名称”文本框中输入逻辑设备的名称,在下面选择磁带或者磁盘备份设备,并设置物理位置。当使用磁盘时,SQL Server允许将本地主机硬盘和远程主机上的硬盘作为备份设备,备份设备在硬盘中是以文件的方式存储的。完成后,单击“确定”按钮即可。缺省情况下,备份设备的全路径为“C:Program FilesMicrosoft SQL ServerMSSQLBACKUP进销存数据库备份.BAK”,备份设备文件名为“进销存数据库备份.BAK”,缺省路径为SQL Server安装目录的BACKUP文件夹。7事务日志文件有什么用途?是否也需要备份?为什么?参考答案:SQL Server数据库是由两个操作系统文件组成的,即数据文件和事务日志文件。事务日志文件主要用于存储数据库的更新情况等事务日志信息。事务日志文件非常重要,所有对数据库的更改操作都会记录于此,当数据库损坏时,数据库管理员可使用事务日志恢复数据库。从事务日志文件的作用上可以看出,它是非常有用和重要的,因此也需要备份。8请按以下操作练习一下数据库备份操作,并体会一下数据库备份的的效果。(1)创建一个数据库;(2)使用CREATE TABLE语句在数据库中创建一张表;(3)使用INSERT语句向表中插入若干条数据;(4)进入企业管理器,对数据库进行备份操作;(5)使用DROP TABLE语句删除已创建的表;(6)使用企业管理器,对数据库进行还原操作。参考答案:CREATE DATABASE 学生库学生表:create table 学生 (学号 char (8) primary Key,姓名 char(8),年龄 int,性别 bit)insert into 学生values (2007001,王丽,19, 1)insert into 学生values (2007002,张华,20, 0)insert into 学生values (2007003,李敏,19, 1)DROP TABLE 学生第六章思考与练习题一、简答题1什么是嵌入式SQL,它有哪些特点和用途?参考答案:嵌入式SQL语言是将SQL语句直接嵌入到程序的源代码中,与其他程序设计语言语句混合。嵌入式SQL的用途:它是数据库应用程序的一种开发方法。是一种应用程序进行数据库访问时所采取的编程式数据库语言。嵌入式SQL的特点是,数据库管理系统DBMS一般会采用预编译的处理办法,即由DBMS的预处理程序对源程序进行扫描,识别出SQL语句,把它们转换成宿主语言调用语句,以使宿主语言编译程序能够识别它,最后再由宿主语言的编译程序将整个源程序编译成目标码。嵌入SQL语句完成的功能也可以通过应用程序接口(API)实现。2请简述C/S和B/S的主要原理,并说明它们各自的优缺点。参考答案:C/S模式就是基于企业内部网络的应用系统。传统的C/S 模式是一种两层结构的系统,第一层是在客户机系统上结合了表示与业务逻辑;第二层是通过网络结合了数据库服务器。优点是:C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。缺点是应用程序的维护、移植和互操作变得复杂。B/S模式,即浏览器/服务器模式,是一种从传统的二层C/S模式发展起来的新的网络结构模式,其本质是三层结构C/S模式。B/S网络结构模式是基于Intranet的需求而出现并发展的。在B/S模式中,客户端运行浏览器软件。优点是:B/S占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。缺点是:采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。3请简要说明利用VB开发数据库应用系统的一般步骤。参考答案:利用VB开发数据类应用程序的基本框架如下:1)通常要声明一个全局数据库连接对象2)一般要创建Main子过程,并将它设置为启动对象。在其中顺序完成以下操作:(1)以非模态方式显示飞溅窗。(2)创建全局数据库连接对象,并连接SQL Server或Access等数据库。(3)以模态方式显示登录窗,等待用户登录。(4)登录成功后,以非模态方式显示主窗体,否则退出程序。3)主窗体一般均提供增加、删除、修改、查询等对数据库的管理功能,所有操作均使用全局数据库连接对象作为与数据库交互的通道,通过SQL语句对数据进行处理,其中包括增加功能、删除功能、修改功能和查询功能。4)其他功能。比如数据库备份和恢复功能、用户权限管理功能等。4什么是数据库引擎?VB数据库应用系统访问数据库的主要机理是什么?参考答案:VB提供了三种数据库访问引擎,即Jet引擎、ODBC和OLE DB,目前主要使用OLE DB。在VB应用程序中主要用这个对象建立与数据库的连接,一般的方法是:声明并创建对象Dim ADOcn As New Connection建立数据库连接ADOcn.Open 连接字符串如果要连接SQL Server数据库,那么连接字符串一般应具有以下组成:Provider=SQLOLEDB;Server=;User ID=;Password=;Database=对数据表进行更新操作5ADO对象模型的主要对象是什么?如果连接后台数据库?参考答案:ADO对象模型的主要对象是:Connection、Command、Recordset、Parameter、Property、Field和Error。声明并创建对象Dim ADOcn As New Connection建立数据库连接ADOcn.Open 连接字符串如果要连接SQL Server数据库,那么连接字符串一般应具有以下组成:Provider=SQLOLEDB;Server=;User ID=;Password=;Database=6请写出VB中编写增、删、改、查功能的主要步骤和语句。参考答案:ADOcn.ExecuteSQL语句字符串要增加学生成绩表中学号为20070008的记录,可以采用以下语句实现:ADOcn.Execute “insert into 学生成绩表 (学号,课程号,成绩) Value(20070008,101,85)”要删除学生成绩表中学号为001的记录,可以采用以下语句实现:ADOcn.Execute “DELETE FROM 学生成绩表 WHERE 学号 = 001”要修改学号为20070008学生课程号为101的成绩为89。ADOcn.Execute “UPDATE 学生成绩表 SET 成绩=89WHERE学号 = 20070008 AND 课程号=101”要查找所有的学生的成绩ADOcn.Execute “SELECT * FROM 学生成绩表”一、单项选择题(每个题只有一个答案是正确的。)1如果希望从学生表中查询出所有姓“李”的同学,那么条件语句应该是(B)。A、Where 姓名 % 李B、Where 姓名 LIKE 李C、Where 姓名 % LIKE李D、Where 姓名 LIKE 李2在一个教师关系中,能够成为主关键字(或称主码)的属性是(B)。A、教师姓名B、教师编号C、教师年龄D、教师性别3从最终用户应用程序的视角看,数据库系统的三级模式结构是(C)。A、模式、外模式和内模式B、内模式、外模式和模式C、外模式、模式和内模式D、外模式、内模式和模式4在一个学生关系中,能够成为主关键字(或称主码)的属性是(C)。A、性别B、年龄C、学号D、班级5有严格的数学基础的数据模型是(A)。A、关系模型B、网状模型C、层次模型D、面向对象模型6下列关于索引的说明不正确的是(A)。A、索引必须创建在主关键字之上B、索引与基本表分开存储C、索引是为了提高查询速度而创建的D、索引会在一定程度上影响增删改操作的效率7设关系R是满足第一范式的,若R中不存在非主属性对主键的部分函数依赖,则R符合(A)。A、第二范式B、第三范式C、BNC范式D、第四范式8下列符合第三范式的关系是(D)。A、学生(学号,姓名,课程号,课程名)B、学生(学号,姓名,课程名,成绩)C、学生(学号,姓名,课程号,成绩)D、学生(学号,姓名,性别)9在第一个关系中出现,而在第二个关系中不出现的记录组成的新关系称为(D)。A、两个关系的积B、两个关系的并C、两个关系的交D、两个关系的差10数据库应用程序开发中,需求分析阶段的主要目的是(A)。A、回答“干什么”的问题B、回答“怎么干”的问题C、建立逻辑数据模型D、建立最佳物理存储结构11用户使用SQL Server时,通常需要依次经过两个安全性阶段(C)。A、登录验证、操作验证B、操作验证、登录验证C、身份验证、权限认证D、权限认证、身份验证12SQL Server数据库中的一个完整的备份通常要包括(A)。A、系统数据库、用户数据库和事务日志B、系统数据库、系统表和数据字典C、系统数据库、用户数据库和数据字典D、用户数据库和事务日志13下列哪些不属于索引的类型(D)。A、单列索引B、惟一索引C、聚集索引D、事务日志索引14下列SQL语句中,能够完成并运算的是(A)。A、SELECT * FROM 篮球爱好者UNIONSELECT * FROM 足球爱好者B、SELECT * FROM 篮球爱好者INTERSECTSELECT * FROM 足球爱好者C、SELECT * FROM 篮球爱好者EXCEPTSELECT * FROM 足球爱好者D、SELECT * FROM 篮球爱好者,足球爱好者15设学生表和课程表的结构分别为(学号,姓名)和(学号,课程号,成绩),如果希望查询出“成绩大于90分的学生姓名”,则对应的SQL语句是(D)。A、SELECT 姓名 FROM 学生表 WHERE 学生表.学号=课程表.学号 AND 课程表.成绩90B、SELECT 姓名 FROM 课程表 WHERE学生表.学号=课程表.学号 AND 课程表.成绩90C、SELECT 姓名 FROM 学生表,课程表 WHERE 学生表.学号=课程表.学号 OR 课程表.成绩90D、SELECT 姓名 FROM 学生表,课程表 WHERE 学生表.学号=课程表.学号 AND 课程表.成绩90二、填空题1数据库系统的三级模式结构是指数据库系统由外模式、模式和内模式三级抽象模式构成。2备份是指将数据从硬盘复制到可移动媒体上的过程。3“实体一联系”方法是描述数据库概念模型的主要方法,一般称这种方法为ER方法(或ER图方法)。4用户使用SQL Server数据库时,一般需要经过两个安全性阶段:身份验证和权限认证。5E-R图设计一般在数据库设计的概念设计阶段使用。三、判断题(正确的在括号内打上“”,错误的打上“”。)1能够惟一表示数据表中的每条记录的字段或者字段的组合称为主码或主键()。2SQL Server数据库中的NULL值(空值)表示的是 “空格”或“0”值()3一个不规范的关系模式通常会引发插入异常、删除异常和更新异常,导致大量的数据冗余。()4根据索引的特点,应该对那些数据量大、查询频度较高、实时性要求强的基本表创建索引,()5数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。()6参照完整性规则通常是指在两个参照和被参照关系中,参照关系中每条记录的外键或者为空,或者等于被参照关系中某条记录的主键。()四、简述题1请简要说明视图的概念和作用参考答案:视图是在基本表或其他视图上建立的表,它的结构和内容都来自某个基本表,是依据基本表存在而存在的。删除一个视图时,不会对基本表产生任何影响,但当删除一张基本表时,与之相关联的视图就会自动被删除。其作用主要是:(1)视图是经过预编译的SELECT语句,存储在数据库服务器端,因此执行视图比从客户端直接执行SELECT语句速度更快、效率更高一些。(2)视图属于用户模式范畴,在实际中,一般的用户不一定具有SELECT语句方面的专门知识,从用户友好性角度来说,视图更便于用户使用。(3)利用视图可以简化的形式表达复杂的SELECT语句组,如嵌套查询等。 2什么是函数依赖与函数决定,请举例说明参考答案:设一个关系为R,X和Y是它的两个属性集。若对于X上的每个值都有Y上的一个惟一值与之对应,则称X和Y具有函数依赖关系,并称X函数决定Y,或称Y函数依赖于X,称X为决定因素。假设一个职工关系为(职工号,姓名,性别,年龄,职务),职工号用来标识每个职工,选作该关系的主键。我们可以从以下两方面理解函数依赖的概念:首先,对于该关系中每个职工的职工号,都对应着姓名属性中的惟一值,即该职工的姓名,或者说一个职工的姓名由其职工号惟一确定,所以称职工号函数决定姓名,或称姓名函数依赖于职工号。其次,除职工号外,其他属性都不能成为决定因素形成函数依赖,因为对于它们的每个属性值,都可能对应另一属性的多个不同的取值,比如对于性别属性的一个取值“男”就会对应多个而不是一个职工号。3请简要说明存储过程的概念和优点。参考答案:存储过程(Stored Procedure)是一组预先编译好的,以一种可执行的形式永久地存储在数据中的SQL代码。使用存储过程的好处可归纳为以下几点:(a)执行速度快。在经过第一次调用以后,就驻留在内存中,不必再经过编译和优化;(b)模块化的程序设计。经过了一次创建以后,可以被调用无数次;(c)减少网络流量;(d)保证系统的安全性。五、综合应用题1设有有以下基本表:(1)供应商表(供应商编号,供应商名称,供应商所在城市);(2)零件表(零件编号,零件名称,零件颜色,零件重量);(3)工程项目表(工程编号,工程名称,工程所在城市);(4)工程供货表(工程编号,供应商编号,零件编号,零件数量)。用SQL语言写出下列查询语句,(1)查询所有工程的全部细节:SELECT * FROM 工程项目表(2)查询所在城市为上海的所有工程的全部细节SELECT * FROM 工程项目表 WHERE 工程所在城市=上海(3)查询重量最轻的零件代号SELECT 零件编号FROM 零件表 WHER
展开阅读全文