00山东科技大学数据库课后习题答案+习题
更新时间:2024-01-24 18:55:01 阅读量: 教育文库 文档下载
第一章 数据库设计概述 一单元 习题参考答案
1.简述数据库管理系统的功能。 答:
⑴使用专门的数据定义语言(DDL)建立新的数据库,并说明它的逻辑结构;⑵使用专门的数据操纵语言(DML)进行查询和更新操作,数据操纵语言可以分为两大类:一类嵌入式在C、VB等高级语言中,这类数据操纵语言本身不能独立使用,因此称为宿主型数据操纵语言,另一类是交互式命令语言,它们的语法简单,且可以独立使用,故又称为自主型或自含型数据操纵语言;⑶支持大数据量的持久存储,并提供数据保护功能;⑷支持多用户对数据的并发存取,保证一个用户的操作不影响另一个用户的操作。 2.简述数据管理技术的三个发展阶段。 答:
数据管理技术已经历了人工管理、文件系统及数据库系统三个发展阶段。
⑴人工管理阶段:20世纪50年代中期以前,计算机主要用于科学计算。人工管理数据具有以下几个特点:①数据不保存,②应用程序管理数据,③数据不共享,④数据不具有独立性。⑵文件系统阶段:20世纪50年代后期到60年代中期,这时计算机已大量用于数据的管理。特点有:①数据长期保存,②文件系统管理数据,③数据共享性差,冗余度大,④数据独立性差。⑶数据库系统阶段:20世纪60年代后期以来,计算机用于管理的规模更为庞大,数据量急剧增长,硬件已有大容量磁盘,硬件价格下降;软件则价格上升,使得编制、维护软件及应用程序成本相对增加;处理方式上,联机实时处理要求更多,分布处理也在考虑之中。数据库系统阶段具有如下优于文件系统的特点:①数据结构化,②数据的共享性高,冗余度低,易扩充,③数据独立性高,④数据由DBMS统一管理和控制。 3.简述数据库技术的发展以及发展方向。 答:
A.发展:⑴第一代数据库系统是指层次模型数据库系统和网状模型数据库系统;⑵第二代数据库系统是支持关系模型的数据库系统;⑶第三代数据库系统是指以面向对象模型为主要特征的数据库系统,或称新一代数据库系统。
B.发展方向:近年来计算机软硬件技术的快速发展,为数据库新技术的发展提供了技术基础。对数据库技术来说,大容量磁盘、光盘、磁盘组、大规模并行处理技术、光纤传输和高速网、高性能微处理器芯片、人工智能和逻辑程序设计、多媒体技术的发展和推广、面向对象程序设计、开放系统和标准化等都促进了数据库技术的发展。在数据库技术方面形成了一些新的研究方向:分布式数据库系统、面向对象的数据库系统、并行的数据库系统、多媒体数据库系统、模糊数据库系统、数据库中的知识发现与数据挖掘、专用数据库系统等等。 4.在构造数据库系统模式结构时,可将数据模型划分为哪几层数据模型? 答:
当数据模型作为构造数据库系统模式结构的依据时,可以将数据模型划分为:概念层数据模型、组织层数据模型和物理层数据模型。
5.简述E-R模型的基本概念,设计构造E-R模型的具体步骤是什么? 答:
A.基本概念:E-R模型是由P.S.Chen(陈平山)于1976年提出,用图示法来描述现实世界的信息结构。构造E-R模型的第一步是选择实体(Entity)。所谓实体是指现实世界中客观存在并且可以相互区别的对象。实体可以是具体的事物,如:学生张良、英语课等;也可以是抽象的概念或联系,如:学生张良选修了英语课。第二步确定属性(Attribute),通常,体可以由若干个属性来刻画,即每一个实体都是一个属性的集合,如学生实体具有学号、姓名、性别、出生年月、入学时间等属性。实体的属性通常都有一个给定的取值范围,称为域(Domain),如性别的取值范围为(男,女)。第三步设臵确定键。能够唯一标识同一实体型中每个实体的属性称为键(Key)。第四步确定联系(Relationship)。即指两个或多个实体型之间的联系。
B.具体步骤:⑴确定实体型及属性。针对特定用户的应用,首先确定哪些是实体,有多少个实体型。其次确定各个实体型的属性。⑵确定实体型间的联系。确定实体型间之间存在的联系以及联系的属性。
6.关系模型的完整性约束的具体内容是什么? 答:
完整性约束是对关系实例的限制,即限制哪些元组可以出现在关系实例中。关系模型的完整性主要包括实体完整性、参照完整性和用户定义的完整性。⑴实体完整性的规则为:若属性A是关系R的主属性,则属性A不能取空值。空值就是“不知道”或“无意义”的值。如果主属性取空值,则说明存在某个不可标识的实体,即存在不可取分的实体,这与现实世界中实体都是可区分的假设矛盾,因此这个实体一定不是一个完整的实体。⑵参照完整性又称为引用完整性,指的是多个表之间的关联关系。具有:①外键和参照关系;②参照完整性规则。⑶户定义的完整性是:在不同的关系数据库管理系统根据应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映了某一个具体应用所涉及的数据必须满足语义要求。关系模型应提供定义和检验这类完整性的机制,以便用统一的方法处理。 7.简述数据库系统的体系结构。 答:
⑴单用户数据库系统:早期最简单的数据库系统。整个数据库系统,包括应用程序、数据库管理系统及数据,都装在一台计算机上,为一个用户独占,不同机器之间无法实现数据共享。⑵多用户数据库系统:应用程序、数据库管理系统都集中存放在主机上,所有处理任务都有主机来完成。各个用户通过主机的终端并发地存取数据库中的数据,共享数据资源。⑶客户/服务器结构的数据库系统:服务器是指网络中每个(些)结点上的计算机专门用于执行数据库管理系统功能。⑷浏览器/服务器结构的数据库系统:用户可以通过Web浏览器访问由Web服务器提供的信息,而Web服务器可以通过各种方式与数据库服务器连接,大量的信息实际存放在数据库服务器中。⑸分布式结构的数据库系统:网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用,也可以同时存取和处理多个异地数据库中的数据,执行全局应用。
8.简述数据库设计的任务、特点和具体步骤。
答:
A.任务:是针对一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能有效地收集、存储、操作和管理数据,满足用户的各种需求。B.特点:数据库设计既是一项涉及多学科的综合性技术,又是一项庞大的工程项目。数据库设计主要包括结构特性设计和行为特性设计两个方面的内容。结构特性的设计是指确定数据库的数据模型,数据模型反映了现实世界的数据与数据之间的联系,在满足要求的前提下,尽可能地减少冗余,实现数据的共享;行为特性的设计是指确定数据库应用的行为和动作,应用的行为体现在应用程序中,行为特性的设计主要是应用程序的设计。因为在数据库系统中,数据库模型是一个相对稳定的并为所有用户共享的数据基础,所以数据库设计重点是结构性设计,但必须与行为特性设计相结合。C.具体步骤:按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段:⑴需求分析,⑵概念结构设计,⑶逻辑结构设计,⑷物理结构设计,⑸数据库实施,⑹数据库运行和维护。
二单元 扩展、综合习题
一、选择题(在下列各题A、B、C、D四个选项中选择一个是正确的)
1.数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)之间的关系是( )。 A.DB包含DBS和DBMS B.DBMS包含DB和DBS C.DBS包含DB和DBMS D.没有任何关系 2.数据库系统的核心是( )。
A.数据模型 B.数据库管理系统 C.数据库 D.数据库管理员
3.数据库独立性是数据库技术的重要特点之一。所谓数据独立性是指( )。 A.数据与程序存放
B.不同的数据被存放在不同的文件中 C.不同的数据只能被对应的应用程序所使用 D.以上三种说法都不对
4.用树形结构表示实体之间联系的模型是( )。
A.关系模型 B.网状模型 C.层次模型 D.以上三个都是 5.“商品”与“顾客”两个实体集之间的联系一般是( )。
A.一对一 B.一对多 C.多对一 D.多对多 6.在E-R图中,用来表示实体的图形是( )。
A.矩形 B.椭圆形 C.菱形 D.三角形
7.在数据库管理系统提供的数据语言中,负责数据的模式定义与数据的物理存取构建的是( )。
A.数据定义语言 B.数据转换语言 C.数据操纵语言 D.数据控制语言
8.在数据库管理系统提供的语言中,负责数据的完整性、安全性的定义与检查以及并发控制、
故障恢复等功能的是( )。
A.数据定义语言 B.数据转换语言 C.数据操纵语言 D.数据控制语言 9.下面关于数据库系统叙述正确的是( )。 A.数据库系统避免了一切冗余 B.数据库系统减少了数据冗余 C.数据库系统比文件能管理更多的数据
D.数据库系统中数据的一致性是指数据类型的一致
10.在数据库管理系统提供的数据语言中,负责数据的查询及增、删、改等操作的是( )。 A.数据定义语言 B.数据转换语言 C.数据控制语言 D.数据操控语言 11.下列有关数据库的描述,正确的是( )。 A.数据库是一个结构化的数据集合 B.数据库是一个关系 C.数据库是一个BDF文件 D.数据库是一组文件
12.( )是存储在计算机内有结构的数据集合。 A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构
二、填空题
1.数据库系统中,实现数据管理功能的核心软件为 。 2.数据库管理系统是位于用户与 之间的软件系统。
3.数据管理技术发展过程中经历了:人工管理、文件系统、数据库系统三个阶段,其中数据独立性最高的阶段是 。
4.在关系数据库中,把数据表示成二维表,每个二维表称为 。
5.当数据模型作为构造数据库系统模式结构的依据时,可以将数据模型划分为:概念层数据模型、 和物理层数据模型。
6.一个项目具有一个主管,一个项目主管可以管理多个项目,则实体“项目主管”与实体“项目”之间的关系属于 的关系。
7.数据库管理系统常见的数据模型有层次模型、网状模型和 三种。
8.比较流行的应用于构建概念层数据模型的方法是 模型,在该模型的基本概念中,有实体、 、 和联系等基本要素。
9.基于浏览器/服务器(Browser/Server,B/S)结构的数据库系统的最大特点是:用户可以通过Web浏览器访问由Web服务器提供的信息,而Web服务器可以通过各种方式与数据库服务器连接,大量的信息实际存放在 中。
10.数据库设计是数据库应用系统开发的关键环节,从开始规划,到 、概念结构设计、 、 、 和数据库运行与维护分六个阶段。
第二章 SQL Server 2005安装与配置
一单元 习题参考答案
1.简述Microsoft SQL Server 2005的发展、新增功能、系统结构、安装版本。 答:
A、发展:在Microsoft SQL Server的发展历程中,有两个版本具有重要的意义。那就是在1996年推出的SQL Server 6.5版本和在2000年8月推出的SQL Server 2000版本。SQL Server 6.5版本使SQL Server得到了广泛的应用,而2000版本在功能和易用性上有很大的增强,并推出了简体中文版,它包括企业版、标准版、开发版和个人版四个版本。2005年,微软又推出了SQL Server 2005版。该版本对SQL Server的许多地方进行了改进,并扩展了SQL Server 2000的性能、可靠性、可编程性和易用性,推出了包括企业版、标准版、开发版、工作组版和精简版五个版本。
B、新增功能:⑴Notification Services增强功能、⑵Reporting Services增强功能、⑶新增Service Broker、⑷数据库引擎增强功能、⑸数据访问接口方面的增强功能、⑹Analysis Services的增强功能(SSAS)、⑺Integration Services的增强功能、⑻复制增强功能、⑼工具和实用工具增强功能。
C、系统结构:SQL Server 2005是一个全面的、集成的、端到端的数据解决方案,它为用户提供了一个安全、可靠和高效的平台,用于企业数据管理和商业智能应用。SQL Server 2005为IT专家和信息共享者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。通过全面的功能集和现有系统的集成性,以及对日常任务的自动化管理能力,SQL Server 2005为不同规模的企业提供了一个完整的数据解决方案。
D、安装版本:SQL Server 2005 Enterprise Edition、SQL Server 2005 Standard Edition、SQL Server 2005 Developer Edition、SQL Server 2005 Workgroup Edition和SQL Server 2005 Express Edition五个版本。
2.掌握Microsoft SQL Server 2005的安装和配臵。 答:
A、安装:⑴系统配臵检查、⑵选择安装组件、⑶选择实例名称、⑷设臵服务账户、⑸设臵服务器登录模式、⑹设臵排序规则、⑺报表服务器安装配臵、⑻、设臵错误报告、⑼完成安装。 B、配臵:⑴启动和停止SQL Server服务、⑵注册服务器、⑶创建服务器组。 3.熟悉Microsoft SQL Server Management Studio环境。 答:
Microsoft SQL Server Management Studio是Microsoft SQL Server 2005提供的一种新集成环境,用于访问、配臵、控制、管理和开发 SQL Server 的所有组件。SQL Server Management Studio将一组多样化的图形工具与多种功能齐全的脚本编辑器组合在一起,可为各类技术级别的开发人员和管理员提供对SQL Server的访问。SQL Server Management Studio将以前版本的 SQL Server 中所包括的企业管理器、查询分析器和服务管理器功能整合到单一环境中。此外,SQL Server Management Studio还可以和SQL Server的所有组件协同工作。
4.熟悉Business Intelligence Development Studio环境。 答:
Business Intelligence Development Studio是包含特定于 SQL Server 2005商业智能的附加项目类型的 Microsoft Visual Studio 2005。Business Intelligence Development Studio是用于开发包括Analysis Services、Integration Services 和 Reporting Services项目在内的商业解决方案的主要环境。
5.简述使用SQL Server配置管理器管理服务的方法。 答:
使用SQL Server Configuration Manager管理服务的方法如下:在SQL Server 2005配臵管理器中停止和启动SQL Server。步骤如下。
⑴在“开始”菜单中,依次选择“程序”→“Microsoft SQL Server 2005”→“配臵工具”,然后单击“SQL Server Configuration Manager”。弹出SQL Server配臵管理器窗口。 ⑵在SQL Server配臵管理器窗口中,单击“SQL Server 2005服务”。
⑶在详细信息窗格中,右键单击SQL Server(MSSQL SERVER),在弹出的快捷菜单中有启动、停止、暂停、恢复、重新启动等命令,使用这些命令可以启动、停止、暂停、恢复、重新启动SQL Server服务。如果工具栏上和服务器名称旁的图标上出现绿色箭头,则指示服务器已成功启动。
⑷在弹出的快捷菜单中选择“属性”命令,打开属性对话框,在该对话框中,可以对“登录、服务、服务状态”等进行设臵,单击“确定”按钮关闭“属性”对话框。单击快捷菜单中的“停止”、“暂停”、“恢复”、“重新启动”等命令,可以停止、暂停、恢复、重新启动SQL Server服务。
6.在SQL Server服务中,可以使用哪些账户?
答:⑴Domain User账户、⑵Local Service 账户、⑶Network Service账户、⑷Local System账户。
7.简述SQL Server性能工具中数据库引擎优化顾的优化功能。 答:
⑴通过使用查询优化器分析工作负荷中的查询,推荐数据库的最佳索引组合。 ⑵为工作负荷中引用的数据库推荐对齐分区或非对齐分区。 ⑶推荐工作负荷中引用的数据库的索引视图。
⑷分析所建议的更改将会产生的影响,包括索引的使用,查询在表之间的分布,以及查询在工作负荷中的性能。
⑸推荐为执行一个小型的问题查询集而对数据库进行优化的方法。 ⑹允许通过指定磁盘空间约束等高级选项对推荐进行自定义。 ⑺提供对所给工作负荷的建议执行效果的汇总报告。
⑻考虑备选方案,即:用户以假定配臵的形式提供可能的设计结构方案,供数据库引擎优化顾问进行评估。
二单元 扩展、综合习题
一、选择题(在下列各题A、B、C、D四个选项中选择一个是正确的)
1.SQL Server2005属于( )数据库系统。
A.层次型 B.网状型 C.关系型 D.面向对象型 2.下列( )不是SQL Server2005数据库系统的新增功能。
A.数据库引擎增强功能 B.Reporting Services增强功能 C.对Office支持的新功能 D.Notification Services增强功能 3.下列( )不是SQL Server2005数据库平台提供的服务。
A.关系数据库引擎服务 B.Analysis Services服务 C.Integration Services服务 D.Web增强服务 4.下列( )不是SQL Server2005数据库系统的安装版本。 A.Enterprise Edition B.Standard Edition
C.Developer Edition D.Workgroup Express Edition
5.在Windows XP Home Edition SP2操作系统中,可以安装SQL Server 2005的( )。 A.企业版 B.标准版 C.开发版 D.工作组版
6.SQL Server Management Studio将以前版本的SQL Server功能集成为一体,( )功能不在新集成的环境中。
A.企业管理器 B.项目管理器 C.查询分析器 D.服务管理器 7.在对象资源管理器中,对数据库不能进行的操作是( )。
A.新建、修改、删除数据库 B.表、视图等数据库对象管理 C.新建查询、设置关系图 D.设置操作系统安全
8.在查询编辑器窗口中,通过代码编辑器编写的脚本,下列( )脚本不能被执行。 A.Transact-SQL脚本 B.MDX脚本 C.DMX、XML/A、XML脚本 D.VP脚本
9.在Business Intelligence Development Studio中,下列( )项目不在其中。 A.Analysis Services项目 B.Integration Services项目 C.IC集成项目 D.Reporting Services项目
10.Business Intelligence Development Studio中的Reporting Services,不包括( )。 A.报表模型 B.共享数据源模板 C.数据源视图的模板 D.Integration Services模板
二、填空题
1.SQL Server 2005的新增功能有:Notification Services增强功能、Reporting Services增强功能、 、新增Service Broker、 、Analysis Services的增强功能、Integration Services的增强功能、复制增强功能、工具和实用工具增强功能。 2.SQL Server 2005安装程序安装需要的软件组件是:Microsoft Windows .NET Framework 2.0、Microsoft SQL Server 本机客户端、 。
3.SQL Server 2005安装过程中,设置服务账户,可以为SQL Server服务账户指定 、
密码和 。
4.SQL Server 2005安装过程中,设置服务器登录模式,有两种身份验证模式: 、和 。
5. 在注册服务器时需要指定:服务器的类型、 、 、用户名和密码。 6.对象资源管理器的主要功能有:按对象类型或架构查看对象;按完整名称或部分名称、架构或日期进行筛选;异步填充对象,并可以根据对象的元数据筛选对象; 。 7.在查询编辑器的代码编辑窗格中,输入可执行的脚本后,可以单击“连接”、“执行”、“分析”或“ ”以连接到SQL Server ,执行后可以看到相应的结果。 8.Business Intelligence Development Studio包括用于为商业智能应用程序开发联机分析处理(OLAP)和 。此项目类型包括用于 、维度、 、数据源、数据源视图和角色的模板。
9.SQL Server配置工具中,有:报表服务配置工具、SQL Server Configuration Manager、和 。
10.SQL Server性能工具中,有 和SQL Server Profiler等工具。
第三章 SQL Server 2005数据库管理
一单元 习题参考答案
1.数据库有哪几种类型? 答:
数据库有系统数据库和用户自定义数据库两种。系统数据库安装时SQL Server 2005实例是自动建立的,默认情况下有四个,分别为:Master数据库,Model数据库,Tempdb数据库,Msdb数据库,distribution数据库是SQL Server实体被配臵为复制分发SERVER时才添加到的系统里的;用户自定义数据库是数据库开发者根据系统需求建立的数据库。 2.怎样查看数据库属性,可以得到什么信息? 答:
右键单击要查看数据库→单击“数据库属性”可以打开数据库属性对话框查看数据库属性。包括数据库常规信息、文件信息、文件组信息、选项信息、权限信息、扩展属性信息、镜像信息、事务日志传送信息。
3.常用系统数据库有哪几个?简述其功能。 答:
常用系统数据库四个,分别为:Master数据库,Model数据库,Tempdb数据库。Master数据库记录SQL Server实例的所有系统级信息;Model数据库用作 SQL Server实例上创建的所有数据库的模板,对 model 数据库进行的修改(如数据库大小、排序规则、恢复模式和其他数据库选项)将应用于以后创建的所有数据库;Msdb数据库用于SQL Server代理计划警报和作业;Tempdb数据库一个工作空间,用于保存临时对象或中间结果集。 4.为什么数据库中数据信息和日志信息不能放在同一个文件中? 答:
事务日志是数据库中已发生的所有修改和执行每次修改的事务的一连串记录。事务日志记录每个事务的开始。它记录了在每个事务期间,对数据的更改及撤消所做更改(以后如有必要)所需的足够信息。SQL Server使用各数据库的事务日志来恢复事务。如果把数据和日志放在同一个文件中,当数据库系统出现故障时,假如这个文件损坏,那么数据和日志将同时丢失,也就没法恢复。所以不能放在同一个文件中。
5.创建goods数据库,要求:主数据文件名为goods.MDF,存放在C:\\文件夹下,初始值大小为2MB,增长方式为按照10%的比例增长;日志文件名goods_log.LDF,都存放在C:\\文件夹下,初始大小为3MB,增长方式为按照1MB的增量增长。
CREATE DATABASE goods ON PRIMARY (NAME ='goods',
FILENAME = 'c:\\goods.mdf', SIZE = 2MB, FILEGROWTH =10%)
LOG ON
(NAME ='goods_log',
FILENAME = 'c:\\goods_log.ldf', SIZE = 3MB, FILEGROWTH =3)
二单元 扩展 综合习题
一、选择题(在下列各题A、B、C、D四个选项中选择一个正确的)
1.每个数据库有且只能有一个( )。
A.次数据文件 B.主数据文件 C.日志文件 D.其他
2.如果数据库中的数据量非常大,除了存储在主数据文件中,可以将一部分数据存储在( )。
A.次数据文件 B.主数据文件 C.日志文件 D.其他 3.( )不属于任何文件组。
A.次数据文件 B.主数据文件 C.日志文件 D.其他 4.关于数据库事务日志文件叙述错误的是( )。
A.一个数据库至少有一个事务日志文件。
B.创建数据库时,如果未指定事务日志文件,SQLServer 则会自动创建一个。 C.事务日志文件的默认大小为1MB。
D.如果未指定事务日志文件的增长量,则文件大小保持不变。 5.下面描述错误的是( )。
A.每个数据文件中有且只有一个主数据文件。 B.日志文件可以存在于任意文件组中。 C.主数据文件默认为primary文件组。 D.文件组是为了更好的实现数据库文件组织。 6.SQL Server的登录账户信息保存在( )数据库中。
A.master B.model C.msdb D.tempdb
7.下列数据库中,属于SQL Server系统数据库的是( )数据库。
A.Northwind B.tempdb C.pubs D.sysdb 8. 每次启动系统时都重新创建的数据库是( )。
A.master B.model C.msdb D.tempdb 9.使用下列哪种语句可以创建数据库( )。
A.CREATE DATABASE B.CREATE TABLE C.ALTER DATABASE D.ALTER TABLE 10.使用下列哪种语句可以修改数据库( )。
A.CREATE DATABASE B.CREATE TABLE C.ALTER DATABASE D.ALTER TABLE 11.使用下列哪种语句可以删除数据库( )。
A.DROP DATABASE B.CREATE TABLE
C.ALTER DATABASE D.DROP TABLE 12.关于DROP DATABASE语句叙述错误的是( )。
A.一次可以删除一个或多个数据库。 B.在删除数据库时不会显示确认信息。 C.会删除数据库的磁盘文件。
D.如果数据库正在使用,删除数据库将导致应用程序出错。 13.下列关于数据库的数据文件叙述错误的是( )。
A.创建数据库时必须指定数据文件。
B.创建数据库时,PRIMARY文件组中的第一个文件为主数据文件。 C.一个数据库可以有多个数据文件。 D.一个数据库只能有一个主数据文件。 14.下列关于删除数据库叙述错误的是( )。
A.从Windows的资源管理器中删除数据库文件即可删除该数据库。 B.删除数据库时,会删除该数据库的所有数据文件。 C.删除数据库时,会删除该数据库的所有事务日志文件。 D.被删除的数据库不可能再附加到数据库中。 15.下列关于创建数据库操作叙述错误的是( )。
A.在创建数据库时,可以只指定数据库名称。
B.数据库的数据文件和事务日志文件默认与数据库名称相同。 C.可以为数据库添加辅助数据文件。 D.可以设置数据库文件大小保持不变。 16.下列哪个不属于数据库对象( )
A.触发器 B.SELECT语句 C.存储过程 D.视图 17.系统数据库中的那一个数据库可以被删除( )。
A.master B.model C.msdb D.tempdb
18.下列( )数据库不属于SQL Server 2005在安装时创建的系统数据库。
A.master B.NorthWind C.model D.msdb
19.SQL server数据库文件有三类,其中主数据文件的后缀为( )。
A. .ndf B. .ldf C. .mdf D. .idf
20.在使用CREATE DATABASE命令创建数据库时,FILENAME选项定义的是( )。
A.文件增长量 B.文件大小 C.逻辑文件名 D.物理文件名
二、填空题
1.从物理结构上说,SQL SERVER数据库是由文件组成,根据文件的作用,可以将这些文件分三类: 、 和 。
2.所有的数据库都有一个 和一个或多个事务日志文件,此外,还可能有 。
3.打开数据库快照使用的命令是 。
4.在使用属性对话框创建数据库时,如果输入的数据库名称为student,则默认的数据文件名称为 ,默认的事务日志文件名称为 。
5.一个数据库的数据文件可分为主数据文件和辅助数据文件,主数据文件的扩展名一般为 ,辅助数据文件的扩展名一般为 。
6.一个数据文件如果没有指定文件组,则默认属于 文件组。
7.SQL Server有两类数据库, 和用户数据库。其中为新的用户数据库提供模板的系统数据库是 。
8.在给数据库改名之前,必须设置数据库处于 状态。
9.sp_help系统存储过程的功能是 。 10.SQL server使用 文件记载用户对数据库进行的所有操作。
三、简答题
1.简述分离数据库和删除数据库的区别。
2.计算机A上有一数据库“Store”,现将此数据库移植到计算机B,请简述移植过程。 3.数据库收缩有几种方法?
四、业务题
创建store数据库,要求:主数据文件名为store.MDF,存放在:d:\\data文件夹下,初始值大小为2MB,增长方式为按照10%的比例增长;次数据文件名为store_data1.NDF和store_data2.NDF,都存放在D:\\data1文件夹下,初始大小为1MB,增长方式为按2MB的增量增长;日志文件名store_log.LDF,都存放在c:\\data文件夹下,初始大小为3MB,增长方式为按照1MB的增量增长。
第四章 SQL Server 2005数据表管理
一单元 习题参考答案
1.数据类型在表中的作用是什么? 答:确定属性的域。
2.在创建表时,没有指定字段为“NULL”或“NOT NULL”,SQL Server2005缺省情况下采用什么值? 答:采用NULL。
3.数据的四种完整性分别是什么? 答:
实体完整性将行定义为特定表的唯一实体。实体完整性通过索引、UNIQUE约束、PRIMARY KEY约束或 IDENTITY属性强制表的标识符列或主键的完整性。
域完整性指特定列的项的有效性。您可以强制域完整性限制类型(通过使用数据类型)、限制格式(通过使用 CHECK约束和规则)或限制可能值的范围(通过使用FOREIGN KEY约束、CHECK约束、DEFAULT定义、NOT NULL定义和规则)。
在输入或删除记录时,引用完整性保持表之间已定义的关系。在SQL Server 2005中,引用完整性通过 FOREIGN KEY和CHECK约束,以外键与主键之间或外键与唯一键之间的关系为基础。引用完整性确保键值在所有表中一致。这类一致性要求不引用不存在的值,如果一个键值发生更改,则整个数据库中,对该键值的所有引用要进行一致的更改。
用户定义完整性使您可以定义不属于其他任何完整性类别的特定业务规则。所有完整性类别都支持用户定义完整性。这包括CREATE TABLE中所有列级约束和表级约束、存储过程以及触发器。
4.外键关系建立好后,对两个表的增、删、改操作各有什么影响? 答:表的数据删除时,外键表的相应记录也应删除。
外键表的数据的插入或更新要参照主键表。 5.
(1)创建数据库Stud。 参见教材。
(2)创建各个数据表。 参见教材。
(3)将下列信息添加到Collage表。
学院编号 学院名称 院长 电话 系数量 1001 信息学院 张光辉 67893456 4 1002 理学院 王志敏 67895734 5
INSERT INTO Collage VALUES('1001','信息学院','张光辉','67893456',4) INSERT INTO Collage
(ColID,ColName,ColChairman,ColPhone,Depnum) VALUES('1002','理学院','王志敏','67895734',5)
(4)将信息学院的系数量增加2个。
UPDATE Collage SET Depnum=Depnum+2_where ColNmae='信息学院' (5)将理学院的名称改为“公共课部”。
UPDATE SET ColNmae='公共课部' where ColNmae='理学院' (5)删除理学院。
DELETE FROM Collage where ColNmae='理学院'
二单元 扩展、综合习题
一、选择题(在下列各题A、B、C、D四个选项中选择一个正确的)
1.在Transact-SQL语法中,用于更新的命令是( )。
A. Insert B. Update C. Delete D. Create 2.在Transact-SQL语法中,用来删除数据的命令是( )。
A. Insert B. Update C. Delete D. Create 3.在SQL Server中,主键约束的英文名称为( )。
A. Primary KeyB. Foreign KeyC. Unique D. Check 4.如果要确保一个表中的非主键列不输入重复值,应在该列上定义( )。
A. Primary Key B. Unique Key C. Check D. Foreign Key 5.外键约束主要用来维护几个表之间的数据的一致性( )。
A. 两个 B. 三个 C. 四个 D. 任意个 6.在Transact-SQL语法中,用来插入数据的命令是( )。
A. Insert, B. Update C. Delete, D. Create 7.面哪一个不是SQL Server2000的基本数据类型 ( )。
A. VARIANT B. VARCHAR C. VARBINARY D. NVARCHAR 8.下面的类型中宽度最大的是 ( )
A. CHAR(5) B. VARCHAR(5) C. NCHAR(5) D. BIGINT 9.关于表结构的定义,下面说法中错误的是 ( )。
A.表名在同一个数据库内应是唯一的。 B.创建表使用CREATE TABLE命令。 C.删除表使用DELETE TABLE命令。 D.修改表使用ALTER TABLE命令。 10.下面哪一个约束用来禁止输入重复值?( )。
A. UNIQUE B. NULL C. DEFAULT D. FOREIGN KEY 11.关于主键描述正确的是( )。
A. 包含一列 B. 包含两列 C. 包含一列或者多列 D. 以上都不正确 12.SQL Server的字符型系统数据类型主要包括( )。
A. Int、money、char B. char、varchar、text C. datetime、binary、int D. char、varchar、int
13.下面是合法的smallint数据类型数据的是( )。
A. 223.5 B. 32768 C. -32767 D. 58345 14.下列说法错误的是( )。
A. 一个基本表可以跨一个或多个存储文件 B. 一个存储文件可以跨一个或多个基本表 C. 每个存储文件与外部存储器上一个物理文件对应 D. 每个基本表与外部存储器上一个物理文件对应
15.表在数据库中是一个非常重要的数据对象,它是用来( )各种数据内容的。
A. 显示 B. 查询 C. 存放 D. 检索 16.创建标时不需要定义的是 ( )。
A. 列宽度 B. 列名 C. 列类型 D. 列数据 17.下列不是字符类型的是( )。
A. text B. char C. nchar D. image 18.可以存储图形文件的字段类型是( )。
A. 备注类型 B. 日期类型 C. 二进制数据类型 D. 文本数据类型 19.不属于表的维护操作的是( )。
A. 设计表结构 B. 插入数据 C. 修改数据 D. 删除数据
20.以下关于主键和外间关系的叙述正确的是( )。
A.一个表最多有一个主键约束,可以有多个外键约束。 B.一个表最多有一个主键约束和一个外键约束。 C.在定义约束是应该定义主键约束,再定义外键约束。 D.在定义约束是应该定义外键约束,再定义主键约束。 21.下列哪个不是SQL Server 2005数据库约束类型( )。
A. 主关键字约束、默认约束 B. 外关健字约束、条件约束 C. 唯一性约束、默认约束 D. 检查约束、外关健字约束
二、填空题
1.数据库的完整性是指数据的 和 。 2.用于修改数据表结构命令是 。
3.删除表命令是:___________________________________________。 4.SQL Server 2005的编程语言就是_____________________________语言。
5.SQL Server 2005支持Unicode字符集,相应数据类型为 、 和 。 6.SQL Server 2005修改表的结构应使用关键字____________,修改表中的数据应使用关键字___________ 。
7.外键是指 。 8.SQL Server 2005中实现数据完整性的途径有 ___ ____ 、___ ____ 、 _______ 和 _______ 等。
9.标志列可以实现 ______ ___ 数据完整性。
10.SQL Server 2005的数据库级别存在的特殊的数据库用户是 。
11.SQL Server 2005数据库对象包括______、______、触发器、过程、列、索引、约束、规则、默认和用户自定义的数据类型等。
12.如果表的某一列被指定具有NOT NULL属性,则表示 。 13.关系数据库中,主键是 。
三、简答题
1.简述定义表结构时应定义哪些内容。
2.char类型和nchar类型有什么区别,举例说明。
3.有学生成绩表,要保证每个学生的每门课程惟一。有几种数据完整性方法可以实现?分别是什么?
4.简述数据完整性的类型,一般如何确定使用方法。 5.简述设置数据完整性的好处
6.在关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的?
四、业务题
图书数据库Stores有三个表:
Books(Bno,category,title,press,year,price,total,remains),各属性分别表示(书号、类别、书名、出版社、年份、价格、总数、当前库存)
Book-Author(Bno,AID,Rank),各属性分别表示(书号,作者编号,作者位次) Authors(AID,name),各属性分别表示(作者编号,作者姓名)
1)用Transact-SQL语句建立三个表,(包括建立主键、外键、列取值非空)。 2)根据参照完整性,输入第一个记录时一般应先输入哪个表的数据?为什么? 3)为Author表增加性别列sex(限定只能取‘男’或‘女’)。 4)写出增加一本书的信息的Transact-SQL语句。
(9787563628152,信息类,数据库技术及应用,25.5,2000,500)
作者:刘太安(编号A123,Author表中已存在)、林晓霞(B234,Author表中不存在)。 5)将这本书的第二作者“林晓霞”改为“胡美燕”(编号B456,Author表中已存在)。 6)删除作者“张继良”编著的所有书。
第五章 SQL Server 2005数据查询
一单元 习题参考答案
1.说明SELECT语句的基本语法结构。 答:
SELECT语句的基本语法格式为: SELECT [ALL|DISTINCT] select_list [ INTO new_table_name ] FROM table_source [ WHERE search_condition ] [ GROUP BY group_by_expression ] [ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
上面格式中[ ]内的部分为可选项且大写内容为关键字,下面对各种参数进行详细说明。 其中:
? [ALL|DISTINCT] 指明查询结果集的内容。使用关键字ALL,则查询结果集是表的
全部记录;使用关键字DISTINCT,查询结果是不包含重复行的记录集。默认为ALL关键字。
? select_list 指明要查询的字段列表。列表可以包括若干个列名或表达式,列名或表
达式之间用逗号隔开,用来指示应该返回哪些数据。表达式可以是列名、函数或常数的列表。如果用“*”代替字段列表,则将返回指定数据表中的全部数据信息。 new_table_name为新表? INTO new_table_name 指定用查询的结果创建成一个新表。
名称。
? FROM table_source 指定所查询的表或视图的名称。 ? WHERE search_condition 指明查询所要满足的条件。
? GROUP BY group_by_expression 根据指定列中的值对结果集进行分组。 WHERE或GROUP BY子句创建的中间结? HAVING search_condition 对用FROM、
果集进行行的筛选。它通常与GROUP BY子句一起使用。
[ ORDER BY order_expression [ ASC | DESC ] ] 对查询结果集中的行重新排序。ASC 和DESC关键字分别用于指定按升序或降序排序。如果省略ASC或DESC,则系统默认为升序ASC排列。
2.使用SELECT语句时,在选择列表中更改列标题有哪三种格式? 答:
更改列标题的3种方法如下: ? 列标题=列名 ? 列名 列标题 ? 列名 AS 列标题
3.什么是基本连接?如何使用基本连接?
答:
所谓基本连接是指通过SELECT语句的FROM子句和WHERE子句实现的最简单的连接,其连接方式为,在FROM子句后面,将不同的表用逗号隔开。如果通过FROM子句建立连接,查询结果集将是由连接表生成的一个笛卡尔乘积表,即由连接中的一个基表的每一行与另一基表的每一行连接在一起所生成的表,该表的行数是两个连接基表行数的乘积。 4.列举实例介绍左外连接、右外连接以及全连接的异同。 答:略
5.列举实例介绍如何使用嵌套子查询。 答:略
6.根据数据库Stud里的七个表:学生基本信息表(Student)、教师基本信息表(Teacher)、学院表(Colleage)、系部表(Department)、班级表(Class)、课程信息表(Course)、成绩表(Result),使用SQL语句,完成下列操作。
(1)在学生基本信息表中查询学生的学号、姓名、性别和地址等信息。 在查询编辑器中运行如下命令:
USE Stud
SELECT StuID,StuName,Stusex,StuAddr FROM Student (2)从学生基本信息表中查询学生来自哪几个地区。 在查询编辑器中运行如下命令:
USE Stud
SELECT DISTINCT StuAddr FROM Student (3)从学生基本信息表中只显示5%的信息。 在查询编辑器中运行如下命令:
USE Stud
SELECT TOP 5 PERCENT * FROM Student
(4)从相关表中查询每一位学生的学号、姓名、课程名称、成绩。
从各表数据可知,“学号”存在于“学生基本信息表”和“成绩表”,“姓名”存在于“学生基本信息表”,“课程名称”存在于“课程信息表”,“成绩”存在于“成绩表”,要实现本例查询,则需要对“学生基本信息表”、“课程信息表”、“成绩表”进行多表检索,也可以来自不同的数据库。在查询编辑器中运行如下命令:
USE Stud
SELECT Student.,StuName,Course.Couname,Result.result FROM Student,Course,Result
WHERE Student.StuID= Result.StuID AND Course.CouID=Result.CouID (5)在课程信息表中查找“C程序设计”课程的任课老师的编号。 在查询编辑器中运行如下命令:
USE Stud
SELECT TeaID FROM Course WHERE CouName='C程序设计' (6)查询1987年1月1日以后出生的女生基本信息。 在查询编辑器中运行如下命令:
USE Stud
SELECT * FROM Student
WHERE StuBir>'1987-01-01' AND 性别='女' (7)查询每位同学的课程门数、总成绩、平均成绩。
查询每位学生的课程成绩情况,实际上就是按照“学号”列分类统计,可使用GROUP BY 学号子句,统计课程门数、总成绩、平均成绩分别可以使用聚合函数COUNT(CouID)、SUM(result)、AVG(result)。 在查询编辑器中运行如下命令:
USE Stud
SELECT StuID,COUNT(CouID) AS 课程门数,SUM(result) AS 总成绩, AVG(result) AS 平均成绩 FROM Result GROUP BY StuID
(8)显示平均成绩大于等于80分以上的学生情况。
此例的限定条件是AVG(result)>=80,只能使用HAVING子句,如果使用WHERE子句限定条件,则系统会显示错误信息。在查询编辑器中运行如下命令:
USE Stud
SELECT StuID,AVG(result) AS 平均成绩 FROM Result GROUP BY StuID HAVING AVG(result)>=80
(9)按学号显示学生成绩,并计算每人的平均成绩和总成绩。
此例要求按人对课程及成绩进行分组显示,并计算每人的平均成绩、总成绩。则显示成绩应按学号分类,分组计算平均成绩、总成绩的语句为COMPUTE AVG(result),SUM(result) BY StuID,使用COMPUTE BY子句首先要用ORDER BY子句对要分组的学号列排序,即ORDER BY StuID。
在查询编辑器中运行如下命令:
USE Stud
SELECT * FROM Result ORDER BY StuID
COMPUTE AVG(result),SUM(result) BY StuID
(10)从系部表中检索系部名称,从班级表中检索班级名称。
从系部表中检索系部名称的SELECT语句为:SELECT DepName FROM Department,从班级表中检索班级名称的SELECT语句为:SELECT ClaName FROM Class,合并这两个查询结果,需要使用UNION运算符。 在查询编辑器中运行如下命令:
USE Stud
SELECT DepName FROM Department UNION
SELECT ClaName FROM Class (11)查询不及格学生成绩信息。
查询不及格学生成绩信息,也就是查询0—59之间的学生成绩,可用BETWEEN关键字表示为:WHERE result BETWEEN 0 AND 59。 在查询编辑器中运行如下命令:
USE Stud
SELECT * FROM Result
WHERE result BETWEEN 0 AND 59
(12)查询课程编号为11001、12001、12006、12011的课程编号、课程名称、任课教师和学时数。
课程编号为11001、12001、12006、12011可以写成:
WHERE CouID IN('11001','12001','12006','12011'),也可写成WHERE CouID=?11001? ORCouID=?12001? OR CouID=?12006? OR CouID=?12011? 。显然,使用IN关键字进行查询比使用3个OR运算符进行查询更为简单,而且易于理解和阅读。 在查询编辑器中运行如下命令:
USE Stud
SELECT CouID,CouName,TeaID,Couper FROM Course WHERE CouID IN('11001','12001','12006','12011') (13)查询所有姓“刘”的学生基本信息。
匹配所有姓刘的学生可以表示为:姓名 LIKE ?刘%?。在查询编辑器中运行如下命令:
USE Stud
SELECT * FROM Student WHERE 姓名 LIKE '刘%'
(14)查询包含“设计”两字的课程信息。
匹配“设计”两字的课程名称可以表示为:CouName LIKE ?%设计%?。 在查询编辑器中运行如下命令:
USE Stud
SELECT * FROM Course
WHERE CouName LIKE '%设计%'
(15)查询课程信息表中未确定教师的课程信息。
课程信息表中教师未定的表达式可以表示为:WHERE TeaID IS NULL。 在查询编辑器中运行如下命令:
USE Stud
SELECT * FROM Course WHERE TeaID IS NULL
(16)统计成绩表中各门课程的学生人数、总成绩、平均成绩。
统计成绩表中各门课程信息,需要将学生成绩按课程编号分组GROUP BY CouID,统计学生人数、总成绩、平均成绩分别需要使用聚合函数COUNT(StuID)、SUM(result)、AVG(result)。因为新生成的学生人数、总成绩、平均成绩三列没有列名,所以可使用AS子句实现。 在查询编辑器中运行如下命令:
USE Stud
索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。在数据库中,索引是表中数据和相应存储位臵的列表。 索引的作用:
(1)通过创建唯一性索引,可以保证每一行数据的唯一性。 (2)可以大大加快数据的检索速度。
(3)可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 (4)在使用ORDER BY和GROUP BY子句进行数据检索时,可以显著减少查询中分组和排序的时间。
(5)可以在查询的过程中使用优化隐藏器,提高系统的性能。 5.简述聚集索引和非聚集索引的特征和区别。 答:
聚集索引是一种数据表的物理顺序与索引顺序相同的索引。一个表只能有一个聚集索引,一个聚集索引可以是一个列,也可以是多个列,包含多个列的聚集索引也称为复合索引。非聚集索引具有独立于数据行的结构,它不影响表中行的实际存储顺序,非聚集索引包含非聚集索引键值,并且每个键值项都有指向包含该键值的数据行的指针,这些指针本身是有序的,通过这些指针可以快速地定位数据。 6.什么情况下适合建立聚集索引和非聚集索引? 答:以下几种情况可以考虑建立聚集索引:
? 表中包含大量重复的列值。
? 使用JOIN子句,并是PRIMARY KEY约束。
? 使用查询运算符(如BETWEEN、>、>=、<、<=)等返回若干行数据项。 ? 使用ORDER BY或GROUP BY子句的查询。 以下几种情况可以考虑建立非聚集索引: ? 表中包含大量非重复的列值。 ? 经常需要进行连接和分组操作的列。 ? 带WHERE子句的查询。
7.根据数据库Stud里的班级表(Class),完成下列操作。
(1)创建一个名为“V_计算机系班级信息”的视图,要求显示计算机科学系的班级信息。
在查询编辑器中运行如下命令: USE Stud GO
CREATE VIEW V_计算机系班级信息 AS
SELECT * FROM Class WHERE DepID='1001002'
(2)使用系统存储过程sp_helptext查看“V_计算机系班级信息”视图的定义信息。
在查询编辑器中运行如下命令: USE Stud GO
EXEC sp_helptext V_计算机系班级信息
(3)使用系统存储过程sp_depends显示视图“ColDep_View”所依赖的对象。
在查询编辑器中运行如下命令: USE Stud GO
sp_depends ColDep_View
(4)使用ALTER VIEW语句修改视图“V_计算机系班级信息”,使其只显示“班级编号”和“班级名称”。
在查询编辑器中运行如下命令: USE Stud GO
ALTER VIEW V_计算机系班级信息 AS
SELECT ClaID,ClaName FROM Class WHERE DepID='1001002'
(5)使用系统存储过程sp_rename将视图“V_计算机系班级信息”改为“V_Compu_Class”。
在查询编辑器中运行如下命令: USE Stud GO
sp_rename V_计算机系班级信息, V_Compu_Class
(6)使用DROP VIEW语句删除视图“Stu_Del_view”和“Stu_Ins_view”。
在查询编辑器中运行如下命令: USE Stud GO
DROP VIEW Stu_Del_view, Stu_Ins_view
(7)使用CREATE INDEX语句在Stud数据库的成绩表上创建名为“IX_StuID_CouID”的聚集、惟一、复合索引,该索引基于学号和课程编号列创建。
在查询分析器中运行如下命令: USE Stud GO
CREATE UNIQUE CLUSTERED
INDEX IX_ StuID_CouID ON Result(StuID,CouID)
(8)使用系统存储过程sp_helpindex查看Stud数据库中成绩表的索引信息。
在查询编辑器中运行如下命令: USE Stud GO
sp_helpindex “Result”
(9)使用系统存储过程将索引“PK_Result”更名为“IX_Result”。
在查询编辑器中运行如下命令: USE Stud
GO
EXEC sp_rename 'Result.PK_Result', 'IX_Result' (10)删除学生基本信息表中名为“Stu_ClaID”的索引。
在查询编辑器中运行如下命令: USE Stud GO
DROP INDEX Student.Stu_ClaID
8.在数据库Stud中,基于Student、Department和Class表,完成下列操作。
(1)创建一个视图“V_信管系学生”,要求视图中包括StuID、StuName、Department、Claname四列,并且还要限定视图中返回的行为“信息管理系”的学生。
语句代码为:
CREATE VIEW V_信管系学生(学号,姓名,系部,班级) AS
SELECT Student.StuID, Student.StuName, Department.Depname, Class.Claname FROM Student INNER JOIN
Class ON Student.ClaID = Class.ClaID INNER JOIN Department ON Class.DepID = Department.DepID WHERE (Department.Depname = '信息管理系')
(2)修改上面的视图,视图中显示“计算机科学系”的学生。
语句代码为:
ALTER VIEW V_信管系学生(学号,姓名,系部,班级) AS
SELECT Student.StuID, Student.StuName, Department.Depname, Class.Claname FROM Student INNER JOIN
Class ON Student.ClaID = Class.ClaID INNER JOIN Department ON Class.DepID = Department.DepID WHERE (Department.Depname = '计算机科学系') (3)使用DROP VIEW语句删除上面创建的视图。
语句代码为:
DROP VIEW V_信管系学生
★ 注意:当视图有多个基表时,使用INSERT、UPDATE、DELETE修改视图中的数据,是
要受限制的。如要插入、更新视图中的数据,则需要使用多个相应的语句分别对多个基表进行操作,不能使用DELETE语句删除基表为多个的视图。
二单元 扩展 综合习题
一、选择题(在下列各题A、B、C、D四个选项中选择一个是正确的)
1.下列几种情况中不适合创建索引的是( )。
A.列的取值范围很少 B.用作查询条件的列 C.频繁搜索的列 D.连接中频繁使用的列 2.如果希望查看索引的碎片信息,可以使用下列哪种方式( )?
A.sys.indexes系统目录 B.UPDATE STATISTICS C.sys.dm_db_index_physical_stats系统函数 D.CREATE INDEX命令 3.下面语句中,哪种语句用来创建视图( )?
A.CREATE TABLE B.ALTER VIEW C.DROP VIEW D.CREATE VIEW 4.下面语句中,哪种语句用来修改视图( )。
A.CREATE TABLE B.ALTER VIEW C.DROP VIEW D.CREATE VIEW 5.下面语句中,哪种语句用来删除视图( )。
A.CREATE TABLE B.ALTER VIEW C.DROP VIEW D.CREATE VIEW 6.下列哪种情况的列适合使用聚集索引( )?
A.包含大量非重复值的列,即该列或更多的组合在数据表的记录中重复值极少。 B.精确匹配查询的搜索条件WHERE子句中经常使用的列。 C.使用ORDER BY或GROUP BY子句的查询。 D.以上都不对。
7.下列哪种情况的列适合使用非聚集索引( )?
A.包含数量有限的惟一的列值。
B.用户经常使用BETWEEN,>,>=,<和<=运算符限制某列来查询满足条件的数据时。 C.包含大量非重复的列值。 D.以上都不对。
8.每个数据表可以创建( )个聚集索引。
A.1 B.2 C.10 D.无数个 9.每个数据表可以创建( )个非聚集索引。
A.1 B.100 C.249 D.无数个 10.如果需要加密视图的定义文本,可以使用下面哪个子句( )。
A.WITH CHECK OPTION B.WITH SCHEMABINDING C.WITH NOCHECK D.WITH ENCRYPTION 11.在试图上不能完成的操作是( )。
A.更新视图 B.查询 C.在视图定义新的基本表 D.在视图上定义新视图 12.下列关于视图的说明中,哪一条是不正确的?( )
A.视图时外模式 B.视图是虚表
C.使用视图可以加快查询语句的执行速度
D.使用视图可以简化查询语句的编写 13.SQL的视图是从( )中导出的。
A.基本表 B.视图 C.基本表或视图 D.数据库 14.建立索引的目的是( )。
A.降低SQL Server数据检索的速度 B.与SQL Server数据检索的速度无关 C.加快数据库的打开速度
D.提高SQL Server数据检索的速度
15.数据库中存放三个关系:学生(学号,姓名)和课程(课程号,课程名)和成绩(学号、
课程号、成绩),为快速查出某位学生所学的课程名,应该( )。 A.在学生表上按学号建索引 C.在课程表上按课程号建索引 A.惟一索引 非聚集索引 C.聚集索引 非惟一索引 A.多样 C.唯一
A.视图是一种虚拟表 C.视图也可由视图派生出来 A.节省磁盘空间 B.缩短查询时间
C.在执行插入、修改、删除时节省时间 D.与表无关
20.创建视图不需要定义的选项是( )。
A.数据来源数据库 B.数据来源的列的个数 C.数据来源的表 D.数据来源的视图
B.在成绩表上按课程号建索引 D.在学生表上按姓名建索引 B.非惟一索引 非聚集索引 D.惟一索引 聚集索引 B.重复 D.若干
B.视图中也保存有数据 D.视图是保存在SELECT查询中
16.在Student表中基于StuName字段建立的索引属于( )。
17.主索引可确保字段中输入值的( )性。
18.关于视图下列哪一个说法是错误的( )。
19.使用索引下列哪个说法是正确的( )。
二、填空题
1.在SQL Server 2005中,创建视图有两种方法:_____________和______________。 2.索引可以分为___________索引和_________索引。
3.视图名及创建日期等信息存放在系统表________________中。 4.视图是从一个或多个基本表(或视图)派生出的_________表。
5.可以使用系统存储过程_________显示视图基本信息,使用_________显示视图在系统表中
的定义,使用_________显示该视图所依赖的对象。
6.如果在试图中删除或修改一条记录,则其相应的_________也随着试图更新。
7.在SQL Server 2005系统中,可以把视图分成3种类型,即__________、_________和__________。
8.当使用ALTER VIEW语句修改视图时,视图原来的权限_________发生变化。 9.不能在使用了__________、_________或__________子句的视图中插入数据。
10.在创建UNIQUE约束时,默认情况下将创建_____________索引,以便强制UNIQUE约束。
11.在SQL中,CREATE VIEW、ALTER VIEW和DROP VIEW命令分别为________、________和________视图的命令。
12._________可用于实现参数化视图的功能,这种类型的函数在使用参数和扩展索引视图方面提供了比_________更多的灵活性。
13.建立和使用_____________的目的是为了保证数据的完整性。
14.对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的_________。 15.视图是由一个或多个___________或视图导出的________________或查询表。
16.如果视图时基于多个表而生成的,那么对这个视图执行_______和_________操作时,每次只能影响其中的一个表。
17.若数据源中的数据发生变化,视图中的数据___________。 18.索引可以在___________创建,也可以在以后的任何时候创建。
19.当用户在表中创建PRIMARY KEY约束或UNIQUE约束时,SQL Server将自动为建有这些约束的列创建___________。
20.创建唯一索引时,应保证创建唯一索引的列不包括________的数据,如果有这种数据,必须先将其删除,否则索引不能成功创建。
三、业务题
图书数据库Stores有三个表:
Books(Bno,category,title,press,year,price,total,remains),各属性分别表示(书号,类别,书名,出版社,年份,价格,总数,当前库存);
Book-Author(Bno,AID,Rank),各属性分别表示(书号,作者编号,作者位次); Authors(AID,name),各属性分别表示(作者编号,作者姓名); 完成下列操作,写出相应代码。
(1)创建一个视图Info_view,要求视图中包括Books表中Bno、category、title、press,并且限定视图中返回的数据只包括“信息类”的相关信息,还要求对此视图进行加密,不允许查看该视图定义的文本信息。
(2)使用INSERT语句向其中插入一条数据,信息为:( ,信息类,数据库技术与应用,石油大学出版社)。
(3)使用UPDATE语句修改上面视图中的记录,将其出版社改为“中国石油大学出版社”。 (4)使用DELETE语句将刚才插入的一条记录删除。
(5)创建视图OilPress_view,包括Bno、title、press、AID、name,限定视图中只包含“石
油大学出版社”出版的图书和作者信息。
(6)对视图OilPress_view,应用INSERT、UPDATE、DELETE语句对视图做相应的插入、更新、删除操作,看看会产生什么结果。数据可自行拟定。
(7)使用CREATE INDEX语句在Book-Author表上创建名为“IX_BnoAID”的聚集、唯一、复合索引,该索引基于“书号”和“作者编号”列创建。
(8)使用CREATE INDEX语句在Books表上创建名为“IX_Press”的非聚集索引,该索引基于“出版社”列创建,创建完成后删除该索引。
第七章 SQL Server 2005Transact-SQL编程
一单元 习题参考答案
1.什么是批处理?使用什么命令来通知SQL Server批处理命令的结束? 答:
批处理是从客户机传递到服务器上的一组完整的数据和SQL指令(可以是一条也可以包含多条SQL指令)。SQL Server将批处理的语句编译为一个可执行单元,称为执行计划。执行计划中的语句每次执行一条。GO是用于表示批处理结束的前端指令。 2.什么是事务?如果要取消一个事务,使用什么语句? 答:
事务(Transaction)可以看成是由对数据库的若干操作组成的一个单元,如果这些操作在执行过程中任何一条操作不能正常完成的话,就取消单元中的所有操作,要么单元中的所有操作都正常完成。
3.简述锁机制,解释死锁的含义。 答:
锁作为一种安全机制,用于控制多个用户的并发操作,防止其他用户修改另一个还未完成的事务中的数据;锁机制的引入能解决并发用户的数据一致性问题,但因此可能会引起进程间的死锁问题。引起死锁的主要原因是,两个进程已各自锁住一个页,但又要求访问被对方锁隹的页。更一般的情况是,一个事务独占了其他事务正在申请的资源,且若干个这样的事务形成一个等待圈。 4.简述事务回滚机制。 答:
BEGIN TRANSACTION为连接标记显式事务的起始点。 COMMIT TRANSACTION 或 COMMIT WORK
如果没有遇到错误,可使用该语句成功地结束事务。该事务中的所有数据修改在数据库中都将永久有效。事务占用的资源将被释放。
ROLLBACK TRANSACTION 或 ROLLBACK WORK
用来清除遇到错误的事务。该事务修改的所有数据都返回到事务开始时的状态。事务占用的资源将被释放。
5.使用什么语句可以打开游标?打开后游标指针指向结果集的什么位置? 答:
打开一个Transact-SQL服务器游标使用OPEN命令; 当游标被打开时,行指针将指向该游标集第1行之前,如果要读取游标集中的第1行数据,必须移动行指针使其指向第1行。
二单元 扩展 综合习题
一、选择题(在下列各题A、B、C、D四个选项中选择一个是正确的)
1.下列四项中,不正确的提法是( )。
A.SQL语言是关系数据库的国际标准语言 B.SQL语言具有数据定义、查询、操纵和控制功能 C.SQL语言可以自动实现关系数据库的规范化 D.SQL语言称为结构查询语言
2.以哪个符号开头的变量是全局变量( )。
A.@ B.@* C.@@ D.@$ 3.下列哪个标识符可以作为局部变量使用( )。
A.Myvar B.My var C.@Myvar D.@My var 4.下列不是批处理语句机制的是( )。
A.解析 B.编译 C.执行 D.反馈 5.下面不属于自定义函数的是( )。
A.聚合函数 B.标量值函数 C.内联表值型函数 D.多语句表值型函数 6.下面不是事务模式的是( )。
A.显式事务 B.隐式事务 C.自动事务 D.手动事务 7.下面不属于常用锁模式的是( )。
A.共享锁 B.更新锁 C.独占锁 D.行锁
二、填空题
1.用户自定义函数可以分为: 、 和 三种。
2.游标是从查询结果记录中__________的访问记录,可以按照自己的意愿逐行的 、 或 删除这些记录的数据处理访问机制。
3.游标的类型有 和 、 和 。
4.事务的ACID属性有 、 、 ______ 和 ______。 5.在SQL Server 2005中事务模式有 、 和 。
6.Transact-SQL语言有4部分元素组成,分别是:数据定义语言、________________、______________和一些附加的语言元素。
三、简答题
1.简述使用游标的步骤。
2.流程控制语句包括哪些语句,他们各自的作用是什么? 3.事务控制语句的使用方法是什么?
四、业务题
采用案例库“Library”,实现以下操作:
1.首先计算“Store”表中人民邮电出版社出版书籍的平均定价,并判断民邮电出版社出版书籍平均定价是否高于全部书籍的平均定价,打印输出判断结果。 2.分别打印人民邮电出版社出版书籍定价在20元以下的书籍清单和定价在50元以上的书籍清单。
3.然后使用游标实现逐行输出清华大学出版社出版的书籍资料。
4.再编制如下的事务:为中国电力出版社出版的数据定价均加5元,并且同时为“人工智能”这本书的定价加15%,如果定价超过100元回滚事务。
第八章 SQL Server 2005存储过程管理
一单元 习题参考答案
1、简述使用存储过程有哪些优缺点。 答:
存储过程的优点:
(1)存储过程存储在本地服务器中,因此能减少了执行该过程所需的网络传输带宽和执行时间。
(2)使用存储过程提高了代码的重用性和共享性。 (3)使用存储过程可以加快系统运行速度。 (4)使用存储过程保证安全性。 存储过程的缺点。 (1)调试麻烦。 (2)移植问题。 (3)重新编译问题。
因为后端代码是运行前编译的,如果带有引用关系的对象发生改变时,受影响的存储过程、包将需要重新编译。在编写存储过程的时候,可以将其设臵为运行时刻自动编译。 (4)影响系统存储结构。
如果在一个程序系统中大量的使用存储过程,到程序使用的时候随着用户需求的增加会导致数据结构的变化,会影响到系统的存储结构,因此如果用户想维护该系统将比较困难,而且代价也较大。
2、说明存储过程重编译的作用和3种重编译方法。 答:
(1)使用CREATE PROC中的RECOMPILE (2)EXECUTE中的RECOMPlLE (3)使用SP_RECOMPLE系统存储过程 3、简述存储过程的分类。 答:
在SQL Server 2005中,存储过程分为三类:系统提供的存储过程、用户定义的存储过程和扩展存储过程。
4、设计一个名为findstu的存储过程,要求以学生的学号作为输入参数,如果找到了指定的学生,则返回1,如果没有,返回0。执行该存储过程。
USE Stud GO
CREATE PROCEDURE checkstu_p @ID char(13) AS
IF EXISTS(SELECT * FROM books WHERE StuID =@ID)
第十章 SQL Server 2005的安全管理
一单元 习题参考答案
1.SQL Server 2005设置了几种身份验证模式?如何设置身份验证模式? 答:
SQL Server 2005提供了两种确认用户对数据库引擎服务的验证模式: (1)Windows身份验证; (2)SQL Server身份验证。
利用SQL Server管理平台可以进行认证模式的设臵,步骤如下:
(1)打开Server管理平台,右击要设臵认证模式的服务器,从弹出的快捷菜单中选择“属性”选项,则出现SQL Server属性对话框;
(2)在SQL Server属性对话框中选择“安全性”选项页;
(3)在“服务器身份验证”选项栏中,可以选择要设臵的认证模式,同时在“登录审核”中还可以选择跟踪记录用户登录时的信息,例如登录成功或登录失败的信息等;
(4)在“服务器代理帐户”选项栏中设臵当启动并运行SQL Server时,默认的登录用户。 2.在SQL Server 2005如何添加一个登录账号?有几种方法? 答: 有两种方法:
(1)利用SQL Server管理平台可以创建SQL Server登录帐号;即打开SQL Server管理平台,右击登录名(login)图标,从弹出的快捷菜单中选择“新建登录名”选项,则出现SQL Server“登录名—新建”对话框,输入登录名、密码,设定身份验证模式。
(2)使用Transact-SQL语句添加登录帐户,可以使用CREATE LOGIN语句添加登录帐户。 3.SQL Server 2005的许可分为哪几种类型?如何变更登录账户和用户之间的关系? 答:
SQL Server 的许可分为:对象许可、语句许可和预定义许可。要改变登录账号和用户账号之间的关系可以使用存储过程sp_granddbAccess与sp_revokedbaccess 4.什么是角色?服务器角色与数据库角色的区别是什么? 答:
角色定义了常规的SQL Server用户类别。每种角色将该类别的用户与其使用SQL Server时执行的任务集以及成功完成这些任务所需的知识相关联。利用角色,SQL Server管理者可以将某些用户设臵为某一角色,这样只要对角色进行权限设臵便可以实现对所有用户权限的设臵,大大减少了管理员的工作量。
服务器角色是指根据SQL Server的管理任务,以及这些任务相对的重要性等级来把具有SQL Server管理职能的用户划分为不同的用户组,每一组所具有的管理SQL Server的权限都是SQL Server内臵的。服务器角色存在于各个数据库之中,要想加入用户,该用户必须有登录帐号以便加入到角色中;
数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,这些权限是数据库专有的,并且还可以使一个用户具有属于同一数据库的多个
角色。
5.什么是数据控制语言?GRANT、REVOKE、DENY的定义是什么? 答:
数据控制语言(DCL)是用来设臵或更改数据库用户或角色权限的语句,包括GRANT,DENY,REVOKE等语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行数据控制语言。
GRANT语句是SQL语言用来为当前数据库用户或角色授予语句权限或对象权限的授权语句。
REVOKE语句是与GRANT语句相反的语句,它能够将以前在当前数据库内的用户或者角色上授予或拒绝的权限删除,但是该语句并不影响用户或者角色从其他角色中作为成员继承过来的权限。
DENY语句用于拒绝给当前数据库内的用户或者角色授予权限,并防止用户或角色通过其组或角色成员继承权限。
二单元 扩展 综合习题
一、选择题(在下列各题A、B、C、D四个选项中选择一个是正确的)
1.向用户授予操作权限的SQL语句是( )。
A.CTEATE B.REVOKE C.SELECT D.GRANT
2.对于数据库的管理,SQL Server的授权系统将用户分成四类,其中权限最大的用户是( )
A.一般用户 B.系统管理员 C.数据库拥有者 D.数据库对象拥有者 3.创建数据库或者创建数据库中的其他内容所需要的许可类型是( )
A.对象许可 B.语句许可 C.预定义许可 D.其他 4.下面不是用来管理角色的存储过程是( )。
A.sp_droprolemember B.sp_addrolemember C.sp_droprolemember D.sp_addlogin
5. 下面不是数据库角色的是( )。
A.db_owner B.db_accessadmin C.db_securityadmin D.setupadmin 6.拥有SQL Server所有的权限许可的服务器角色是( )。
A.sysadmin B.Serveradmin C.processadmin D.dbcreator 7.下列不是SQL Server2005默认通信协议的是( )。
A.Shared Memory B.Named Pipes C.Tcp/IP D.IPX
二、填空题
1.SQL Server 2005采用的身份验证模式有Windows身份验证模式和_____________模式。
2.数据控制语言是用于控制对数据库对象的权限的 SQL 语句,授权、拒绝和撤销访问数据库对象权限的语句是_____________、____________和_____________。
3.属于语句权限范畴的语句包括:______________、_____________、______________、______________等。
4.属于对象权限范畴的语句包括:______________、_____________、______________等。 5.安装SQL SERVER2005后,系统会自动创建一些固定的服务器角色,如______________、______________、______________等。
6.安装SQL SERVER2005后,系统会自动创建一些固定的数据库角色,如______________、______________等。
三、简答题
1.什么是数据库的安全性?
2.简述SQL Server 2005访问控制机制。 3.服务器角色与数据库角色的区别。
四、填空题
使用案例数据库Library,在“SQL Server Management Studio”管理窗口中,完成以下题目中用户的创建和权限的设置。
1.创建登录用户user1、user2和super,并创建对应的数据库用户。 2.给用户user1和user2以及super 授予创建数据库和表的权限。
3.给public角色授予DELETE权限(SELECT、DELETE、UPDATE)并将特定的权限授予用户user1、user2,使这些用户对EBooks表具有对应权限。 4.将CREATE TABLE权限授予Market角色的所有成员。
5.禁止用户user1、user2不能使用CREATE DATABASE和CREATE TABLE语句。 6.禁止用户user2对表的SELECT,INSERT,UPDATE,DELETE的权限。 7.撤销用户user1的CREATE TABLE语句权限。 8.列出用户user1的权限
第十一章 SQL Server 2005备份与恢复
一单元 习题参考答案
1.什么是备份?如何用SQL语句进行备份? 答:
SQL Server 2005数据库或事务日志进行备份,就是记录在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其还原。SQL Server提供了备份整个数据库、事务日志、一个或者多个文件和文件组的Transact-SQL语句,分别为BACKUP DATABASE,BACKUP LOG,BACKUP DATABASE database_name
SQL Server 2005提供四种备份方式:数据库完整备份,数据库差异备份,事务日志备份,文件及文件组备份。数据库完全备份是指对数据库内的所有对象做全部完整的备份,每个备份相对使用的存储空间更多。数据库差异备份只备份自从上次数据库完全备份后(注意:不是上一次差异备份后)数据库变动的部分,可以增加备份操作速度,减少备份空间。事务日志备份是自上次备份事务日志后对数据库执行的所有事务的一系列记录。文件及文件组备份(File and Filegroup)只备份数据库中的一个或多个文件或文件组。 3.SQL Server 2005中数据库的三种恢复方法有什么区别? 答:
SQL Server 2005中数据库的三种恢复方法的区别如下表所示:
恢复方式之间的比较
恢复方式 简单恢复 优点 允许高性能大容量复制操作 收回日志空间以使空间要求最小 数据文件丢失或损坏不会导致工完全恢复 作损失。 可以恢复到任意即时点(如应用程序或用户错误之前) 允许高性能大容量复制操作 大容量操作使用最小的日志空间 工作损失表现 必须重组自最新的数据库或者差异备份后的更改 正常情况下没有 如果日志损坏,则必须重做自最新的日志备份后的更改 如果日志损坏,或者自最新的大容量日志记录恢复 日志备份后发生了大容量操作,则必须重做自上次备份后的更改 否则不丢失任何工作 可以恢复到任何备份的结尾处。随后必须重做更改 可以恢复到任何即时点 能否恢复到即时点 可以恢复到任何备份的结尾处。随后必须重做更改 4.SQL Server 2005可以实现哪些形式的数据的导入导出? 答:
SQL Server 2005提供多种形式的数据的导入导出,数据源包括文本文件、ODBC数据源(如Oracle,Acess数据库)、OLE DB数据源(如其它SQL Server实例)和Excel电子表格等。
二单元 扩展、综合习题
一、选择题(在下列各题A、B、C、D四个选项中选择一个是正确的)
1.防止数据库出现意外的有效方法是( )。 A.重建 B.追加 C.备份 D.删除 2.总是具有备份和恢复数据库的权限是( )。 A.so B.dbo C.sc D.dbc
3.只记录自上次数据库备份后发生更改的数据的方式是( )。
A.文件备份 B.日志备份 C.差异备份 D.数据库备份 4.在SQL Server的配置及其他数据被改变以后,都应该备份的数据库是( )。 A.Master B.Model C.Msdb D.Tempdb
5.对于不同类型的数据库,若在SQL Server中使用,就必须进行数据源的( )。 A.添加 B.转换 C.备份 D.编辑
二、填空题
1.用户可以适时对数据库进行相应的备份,以防止意外事件发生所引起的 。 2.只记录自上次数据库备份后发生更改的数据的备份称为 备份。
3.SQL Server提供了四种数据库备份方式: 备份、事务日志备份、差异备份以及文件或文件组备份。
4.使用 DATABASE命令可以对数据库进行还原。
5. 是最常用的备份介质,可以用于备份本地文件,也可以用于备份网络文件。 6.SQL Server使用_______________和_______________两种方式来标识备份设备。 7.恢复能够及时 数据库。
8.恢复数据库可以使用企业管理器进行,也可以通过 完成。 9.SQL Server使用各数据库的 来恢复事务。
10.DTS是个灵活的数据转移与转换工具,主要用于转移和转换来自多种 的数据。 11.对于不同的数据库,若要让SQL Server能够识别和使用,就必须进行数据源的 。
三、简答题
1.什么是备份?如何用SQL语句进行备份?
2.SQL Server 2005数据库备份有几种方法?试比较各种不同数据库备份方法的异同。 3.SQL Server 2005中数据库的三种恢复方法有什么区别? 4.SQL Server 2005可以实现哪些形式的数据的导入导出?
第十二章 SQL Server 2005的XML技术
一单元 习题参考答案
1.试简述XML文本的构成。
见课本12.2
2.简述XML数据类型的作用。
见课本12.3.1
3.谈一谈类型化XML和无类型XML的区别。
见课本12.3.4
二单元 扩展、综合习题
一、业务题
1.在表bookXml中插入记录,其BookID为'002',BookInfo为:
2.对BookID为“002”记录的BookInfo字段进行如下操作: (1)使用query方法获取
(2)使用exist方法判断id=\的元素值是否存在; (3)使用value方法提取
第十三章 VB+SQL Server 2005数据库案例开发
一单元 习题参考答案
1.ODBC体系结构包含哪四层?他们各起什么作用? 答:
ODBC是依靠分层结构来实现的,如此可保证其标准性和开放性。它共分为四层:应用程序、驱动程序管理器、驱动程序和数据源。各层的功能如下: (1) 应用程序层(Application)
使用ODBC接口的应用程序可执行以下任务:
①请求与数据源的连接和会话(SQLConnect);②向数据源发送SQL请求(SQLExecDirct或SQLExecute);③对SQL请求的结果定义存储区和数据格式;④请求结果; ⑤处理错误;⑥如果需要,把结果返回给用户;⑦对事务进行控制,请求执行或回退操作(SQLTransact);⑧终止对数据源的连接(SQLDisconnect)。 (2) 驱动程序管理器(Driver Manager)
由微软提供的驱动程序管理器是带有输入库的动态连接库ODBC.DLL,其主要目的是装入驱动程序,此外还执行以下工作:
①处理几个ODBC初始化调用;
②为每一个驱动程序提供ODBC函数入口点; ③为ODBC调用提供参数和次序验证。 (3)驱动程序(Driver)
驱动程序是实现ODBC函数和数据源交互的DLL,当应用程序调用SQL Connect或者SQLDriver Connect函数时,驱动程序管理器装入相应的驱动程序,它对来自应用程序的ODBC函数调用进行应答,按照其要求执行以下任务:
①建立与数据源的连接; ②向数据源提交请求;
③在应用程序需求时,转换数据格式; ④返回结果给应用程序;
⑤将运行错误格式化为标准代码返回;
⑥在需要时说明和处理光标。
(4)数据源数据源由用户想要存取的数据和它相关的操作系统、DBMS及网络环境组成。
2.VB和SQL Server 2005连接有几种方法? 答:
使用Visual Basic作为前端开发语言,与SQL Server接口有三种常用的方法: (1)数据访问对象/Jet
Visual Basic支持Data Access Objects(DAOs)的子集。DAO的方法虽然不是性能最好的管理客户机—服务器之间的对话方式,但它确有许多优点。使用DAOs访问SQL Server的过程如下:应用程序准备好语句并送至Jet,Jet引擎(MASJT200.DLL)优化查询,载入驱动程序管
理器并与之通讯,驱动程序管理器(ODBC.DLL)通地调用驱动器(SQLSRVR.DLL)的函数,实现连接到数据源,翻译并向SQL Server提交SQL语句且返回结果。 (2)ODBC API编程
ODBC(Open Database Connectivity)的思想是访问异种数据库的一种可移植的方式。与数据资源对话的公用函数组装在一个称为驱动程序管理器(ODBC.DLL)的动态连接中。应用程序调用驱动程序管理器中的函数,而驱动 程序管理器反过来通过驱动器反过来通来驱动器(SQLSRVR.DLL)把它们送到服务器中。 (3)VBSQL对DB库API编程
DB库是SQL Server的本地API,SQL Server的Visual Basic库(VBSQL)为Visual Basic程序员提供API。从一定意义上说,VBSQL是连接Visual Basic程序到SQL Server的性能最好最直接的方式。 (4)ADO
是ActiveX Data Objects 的缩写,是一项新的数据库的存取技术。相对于VB5.0中的DAO他具有更为简化的对象模型,无论是存取本地的还是远程的数据,都提供了一致的接口.就我本人而言,ADO的确比DAO要好用得多。ADO的对象模型定义了一个可编程的对象集合完成数据库的访问
二单元 扩展 综合习题
一、选择题(在下列各题A、B、C、D四个选项中选择一个是正确的)
1.数据库应用系统的基本数据资源是( ) A.查询 B. 窗体 C. 报表 D. 表
2.数据库应用系统开发的一般过程,代码设计阶段属于( ) A. 系统实施阶段 B. 系统设计阶段 C.系统分析阶段 D. 系统维护阶段
3.数据库应用系统的程序模块不包括的设计内容是( ) A. 系统主页 B. 概念模型 C.系统登录 D. 系统菜单 4.开放数据库连接是( )
A.OCDB B.ODCB C. ODBC D.OBCD 5.在对象层次结构中,数据源直接从属于对象( ) A.数据库 B. 表 C. 索引 D. 视图 6.不是RecordSet对象主要属性的是
A.Source B. ODBC C. CousorType D. DataSource
二、填空题
1.ODBC数据源是通过数据源 来引用的。
2.系统登录窗口是用来验证 的工作窗口。
3.常用的数据库连接方法有 、 和 、 4.ADO提供的四种类型的集合是 、 、和 。 5.数据输入窗口要有 数据的功能,保证数据输入的准确、快捷。
三、业务题
1.建立ODBC数据源,将4.1的数据库连接改为ODBC连接。 2.完成实训4.1设计的图书馆系统
正在阅读:
00山东科技大学数据库课后习题答案+习题01-24
青岛大学 英语研究生真题 607 基础英语 2008年04-24
下雨天,真好作文500字07-02
Android选择题01-03
名校试题库2020高二物理第二学期(下册)期末考试试题(9)03-03
2012年证券从业资格考试《市场基础知识》第一章经典试题(4) -09-19
2022年哈尔滨工程大学材料科学与化学工程学院824物理化学考研冲04-15
观察大蒜日记400字07-01
试卷5年级英语阅读竞赛2012-1207-23
测试卷11-29
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 习题
- 山东
- 课后
- 答案
- 数据库
- 大学
- 科技
- 职教中心教务处2013-2014学年第一学期工作计划
- 2010中级基础1-2章
- 远程教育考试试卷
- 项目投资管理练习题
- 81《小企业管理》网上考试题库
- 上海金山铁路黄浦江大桥钢梁安装技术
- 2018年《中级会计实务》易错题
- 为企服务意识亟待提升,服务宗旨意识不够问题及整改措施
- 远离“垃圾人”(500字)作文
- 高二政治《生活与哲学第二单元》易错知识点汇总
- 一、初中化学课堂教学设计 - 图文
- 六年级品德与社会下册复习提纲
- 《电气工程基础》习题集(2版)
- 实验七 负反馈放大电路
- 青岛版数学六年级下册(统计与概率整理与复习)
- 检修维护考核细则 - 图文
- 考试题库之高等量子力学
- 统考初一2014年下期中考试卷
- 幼儿文学教学计划
- 国际贸易实务练习题