第1章 数据库系统概念及SQL SERVER基本操作

第1章数据库系统概念及SQL SERVER基本操作

1.1 数据库系统介绍

1.1.1 数据(Data)

数据是信息在计算机中的数字表示。首先,一些基本信息需要在计算机中表示,如一个整数,一个浮点数,一个字符等这样的基本信息,在计算机里,只有类似于0101的这种二进制数据,要想表达形如整数、浮点数,就需要采用编码的技术来表示这些种类的数据。有很多种编码方式(如ASCII、Unicode等)可以将这些基本信息编码成计算机能够识别的类似于0101的这种二进制数据。例如,通过ASCII编码可以在计算机中用01000001(8bit,1byte)来表示字符‘A’,对这些基本信息的编码,是由计算机系统软件也就是操作系统来完成的。其次,人们需要用这些基本的信息来描述大千世界中形形色色的更加复杂的信息(如要描述一个学生的信息),此时可以用这些基本的信息单元进行组合,以达到表达更加复杂信息的要求。例如要描述一个学生的基本信息,可以采用如下几个基本单元来表示(姓名,性别,出生年月,身高,等),这几个基本单元的数据如下:(”张三”,”男”,”1975-1-1”,175)。

1.1.2 数据库(Database)

数据库,顾名思义就是数据存储的仓库,就是将数据按照某种方式组织起来并存储在计算机中,方便用户的使用。在这一点上数据库与普通的仓库是类似的,只不过存储的方式及使用的方式不一样。数据库是用来组织和管理数据的一个逻辑单位。

1.1.3 数据库管理系统(DBMS)

如何科学地组织和存储数据,高效地获取和维护数据,这些任务需要由一个专门的系统软件来完成,这个系统软件就是数据库管理系统(DBMS)。也就是说数据库管理系统是一套专门组织管理数据的软件。我们平时所说的SQL Server、Oracle、DB2就是这样的系统软件。

1.数据库管理系统分类

就目前而言,市面上的数据库管理系统很多,以下就不同的侧面对其进行分类:

(1)根据数据组织与存储的方式分

A.关系式数据库管理系统

SQL Server、Oralce、Db2、Sybase SqlServer、Informix、MySql等

B.非关系式数据库管理系统(其中也包括最近提得比较多的面向对象数据库系统)

Lotus/Domino、ExChange等(在此还需要补充一些面向对象的数据库例子)

(2)根据数据管理的能力及规模分

A.大型数据库系统

Sql Server企业版、Oralce、Db2、Sybase SQLServer

B.桌面数据库系统

Access、Sql Server桌面版、Foxpro

C.移动数据库系统(主要应用于PDA、手机及一些移动设备上的数据库系统)

Sql Server CE、Sybase SQLAnywhere等

2.数据库管理系统功能

前面讲过,数据库管理系统是一套系统软件,一般而言数据库管理系统这套系统软件应该提供如下功能:

(1)数据定义功能(Data Definition Language------------DDL)

(2)数据操纵功能(Data Manipulation Language--------------DML)

(3)数据库的运行管理

(4)数据库的建立与维护

就以上这些功能,将在后面的章节中作详细的介绍。

1.1.4 数据库系统(Application)

利用数据库管理系统(DBMS)提供的功能,建立在数据基础上的应用系统,主要解决的是与具体业务相关的一些功能实现。

1.数据库系统的组成部分

在此以一个客户关系管理系统(CRM)为例进行说明,如果一个企业要建立自己的客户关系管理系统,他必须要包含如下几个部分:

(1)数据库管理系统

数据库管理系统为整个系统提供数据的存储与管理,是整个系统的基础设施、是核

心,就目前而言,可选的数据库系统比较多,如前面介绍到的一些大型数据库系统

如SqlServer、Oracle等,如果整个企业需要管理的信息比较少,也不涉及一些更

加高级的功能,也可以采用一些桌面数据库管理系统,如Access、SqlServer 2000

桌面版等。

(2)数据

有了数据库管理系统这个基础设施,还必须将企业中的客户的详细资料,如客户的

详细的通信地址,联系人,联系人电话,银行帐号等等,及一些相关资料,如公司

产品的详细信息,如产品的描述,单价,产品的数量,产品的其它一些信息等,存

放到整个数据库系统中,这是一个公司的宝贵资源,所有的。

(3)基于数据的应用程序(例如利用C#.Net开发而成的完成客户管理具体功能的应用程

序)

2.数据库系统与数据库管理系统之间的关系:

(1)数据库系统是建立在数据库管理系统基础上的

(2)数据库管理系统主要实现对数据的组织存储与管理(这一部分是通用的)

(3)数据库系统主要侧重于业务功能的实现(这一部分是不通用的)

1.2 客户机与服务器计算模式与SQL Server的体系结构

1.2.1 基于大型主机的计算模式

这是最早的计算模式,由一台大型主机完成全部的计算任务,各个终端没有计算能力,只提供输入与输出的功能服务。这种计算模式现在仍被使用,主要使用在一些银行系统中,比较有名的是基于IBM AS400系统建立的系统。

1.2.2 基于客户机/服务器(Client/Server-----------C/S)的计算模式

客户机/服务器是另外的一种计算模式,它是将系统的功能进行明确分工,将功能性的计算独立出来,由一个专门的程序来完成,这个专门的程序就是我们所说的服务器,使用此功能的那部分程序就称为客户机。在此,服务器是一个完成特点功能的程序,有时也把专门运行此程序的计算机称为服务器(比较数据库服务器、文件服务器、邮件服务器等),此时我们说的服务器是指的一台机器,也就是说有时服务器是指一个程序,有时服务器是指一台机器,具体指什么要根据具体的语言环境来判断,不过一般不会由此引发出歧意,这一点希望大家理解。

1.2.3 Sql Server体系结构

1.Sql Server的客户机/服务器模式

以下是其示意图

客户端应用软件SQLServer服务器

2.SqlServer的实际模式

服务器

Windows后台服务

客户机Sql Server管理工

核心服务:在此Windows 后台的服务程序SqlServr.exe 程序就是整个SqlServer2000最核以的服务程序。

客户端程序:(SqlServer 企业管理器、SqlServer 查询分析器、SqlServer 服务器管理器、事件探查器)。

1.2.4 数据组织方式

1. 逻辑方式

SqlServer 是关系式数据库系统,数据是按照表来存放的。下面我们来看看SqlServer 中表的存放方式。

数据库(Database ):

用户可以将需要管理的数据按照使用途径、完成功能及其它需要等条件将数据划分成不同的单元,SqlServer 的后台服务程序可以将这些独立的单元进行单独的管理,这个独立的数据库

单元就是数据库(Database),也就是说数据库是数据的逻辑组织方式。

SqlServer 数据库管理系统(DBMS)为了完全对自身数据的管理,也定义了一些数据库(Database),这部分数据库称为系统数据库。从实现的技术细节上来看,系统数据库与用户自已定义的数据库没有本质上的差别,只是系统数据库中存放的是SqlServer数据库管理系统中的一些系统数据,而用户数据库中存放的是用户数据。

表(Table):

是一种特定类型的数据的集合,具体是什么类型需要由数据库设计人员在设计期间指定,(注明:以后可以修改),我们把这个过程叫数据库表结构设计。不同的表,其结构不一样,数据存放的格式也不一样。在关系式数据库,数据都是按照表的形成存放数据的。

列(Column):

有时也叫字段(Field),在二维表中的一列。对于一个二维表而言,列定义了其结构。同样,在关系式数据库中,列定义了数据库表的结构,但不是表结构信息的全部。还有其它结构信息:如表的约束等将在后面的章节中作具体的介绍。

行(Row):

有时也叫记录(Record),在二维表中的一行。它是二维表中的数据体现。一行代表一个数据体(或者信息体,比如一个学生信息等)。

主键(Primary Key简写为PK):

有时也称为主键列,唯一标识表中行的一列或者多列叫做主键列。在此什么叫唯一标识一行呢?就是给定一列的确定值(或者是多列的组合值)可以从众多的行中把唯一满足条件的一行找出,换句话说就是,这一列的值(或者多列的组合值)能够把各行区分开,我们就说这一列(或者多列)是该表的主键列,或者说是该表的主键。

在此举个例子来说明:在上图所示的表中,编号是主键列,因为我们每给定一个编号的值(如1)就可以找到唯一的一行数据,或者说,编号可把表的各行区分开,而姓名就不能作为主键列,大家想想,在中国姓名重复的情况比较多,也就是说给定一个姓名(例如张三),在此表中能找到二行数据与之相对应,也就是说我并不能确定是第一个张三还是第二个张三,因此说姓名这一列不能唯一确定一行,因此姓名这一行不能作为主键列,(也就是不能作为主键)

看了前面的关于主键的一些说明,现在我们来将主键的一些特点做进一步的说明:

(1)主键(列)不允许空值。

(2)不能存在具有相同的主键值的两个行,因此主键值总是唯一标识单个行的。

(3)表中可以有不止一个列唯一标识行,每个列都称作候选键。只有一个候选键可以选

作表的主键,所有其它候选键称作备用键。

(4)尽管表不要求具有主键,但定义主键是很好的做法。

2.物理方式:

(

文件与文件组(File and FileGroup):

SqlServer 2000将数据库映射到一组操作系统文件上,在SqlServer 2000中有三种类型的文件:主要数据文件(扩展名为.mdf),次要数据文件(扩展名为.ndf),日志文件(扩展名为.ldf),SqlServer 2000不强制使用以上扩展名,但建议使用这些扩展名以帮助标识文件的用途。

出于分配和管理目的,可以将一个数据库分成不同的文件组,如上图中的数据库分成了默认文件组和yuan文件组两个文件组。一个文件组内可以定义一到多个文件。每个数据库都有一个默认文件组(Primary),该数据库中的数据字典(也就是系统表)全部存储于默认文件组中。

使用文件组可以将不同的表存储在不同的磁盘文件中,当这些表比较大,查询比较频繁时可以提高数据的存取速度(因为操作系统对文件的访问是需要排队的,如果只有一个文件,就好比是排成一队,多个文件就好比是排成多个队,在一些IO处理比较繁忙的数据库系统中,多个队的优势是比较大的)。

插入示意图.

日志与日志文件(Log and Log File):

从上图中可以看到,组成数据库的文件中有一类特殊的文件,叫日志文件。日志不属于系统定义的任何一个文件组,它是单独管理的一类特殊文件。该文件在整个数据库中起什么作用呢?

为此我们先看看在日常生活中您上银行取钱的情况,当您拿着银行卡上银行取钱时,银行的营业会计往往会填写一个纸质的的凭证,记载有取钱的帐户及相应的金额、取钱日期、经手人等取钱相关的详细信息,我们的帐户信息是保存于数据库系统中的,也就是说是保存在计算机的磁盘上的,纸质的凭证还有什么用呢?带着这个问题,作者咨询过银行工作人员,银行的工作人员介绍说这是留档用的,他们是担心有一天,记帐的数据库系统出现故障(如数据丢失)后,还可以根据纸质的凭证内容将用户的取钱的数据重新还原(在此是重新录入)到系统中。如果大家理解了银行的这种做法,那数据库系统中的日志也就很好理解了。它也是对在数据库系统中进行的操作(主要是将对数据的操作过程)完整记录下来,以备需要的时候恢复,如果哪一天数据库系统出现故障,可以从日志文件中将原来的数据还原。从还原的角度来说,日志文件与银行里采用的纸质的凭证的作用是一样的,但具体的做法上有比较大的差异,以下图示就是SqlServer的日志工作原理图。

5 检查点程序向数据库

写入已经提交的事务 一

次或者多次数据的修改

修改2中的缓冲区为”内存缓冲区”

首先客户端用户程序将数据修改请求发送给服务器,一般来说是一个SQL语句,数据库服务器收到该请求后会检索这一请求会涉及到数据库文件中的哪些数据页的修改(关于数据页的说明请看下一节:页和扩展盘区),数据库服务器会将这些页加载到服务器内的一个内存缓冲区,接着数据库服务器将准备对数据修改的原始信息写入日志文件,如果写日志文件成功,则数据库服务器将内存缓冲区中的数据进行修改,经过修改过的数据称为“脏数据”,经过一段时间后,有一个周期性运行的检查点程序(有时也称为检查点进程)将全部的“脏数据”写入磁盘上的数据文件中。在此过程中如果写入日志文件发生错误,内存缓冲区及磁盘文件上的数据将不会被修改;如果在修改内存缓冲区中的数据时出错,系统将会回滚日志(就是将前一步中写入的日志删除),内存缓冲区中的数据依然没有被修改;如果在将“脏数据”写入磁盘的过程中出错,数据库系统将回滚日志,还要将内存缓冲区中的数据还原,以保证下一次检查点程序不会再次将该“脏数据”写入磁盘。

从以上的分析我们可以知道日志文件主要是记载了对数据的修改过程,在此强调的是过程,理论上说,如果有日志文件存在,就可以将数据库的更新过程全部再执行一遍,通过这

种方式达到恢复数据的目的。既然日志文件有着如此重要的作用,根据“不要将全部鸡蛋放在同一个篮子里”的原则,应该将日志文件与数据文件分开存放,所以常常将日志文件与数据文件放在不同的磁盘上,如果一个磁盘上的数据文件丢失或者损坏,仍然可以利用另一个磁盘上的日志文件将数据文件的内容完全还原出来,反之如果日志文件丢失,也可以将数据文件另外备份,防止因日志文件丢失而不能恢复数据。至于具体的操作方法请看后面的章节中关于备份与还原的详细介绍。

页和扩展盘区:

在SqlServer 2000中,数据存储的基本单位是页(Page),每页大小为8KB,这意味着每M字节有128页。在SqlServer 2000中,有很多不同种类的页,如数据页、索引页、文本与图象数据页、索引分配映射表(IAM)页等。

数据页包含数据行中除text、ntext 和image 类型数据外的所有数据,text、ntext 和image 类型数据存储在单独的页中。在数据页上,数据行紧接着页首按顺序放置。在页尾有一个行偏移表。在行偏移表中,页上的每一行都有一个条目,该条目记录此行的第一个字节与页首的距离。行偏移表中的条目序列与页中行的序列相反。

数据页示意图

在SqlServer 2000 中,行不能跨页,扣除页首和页尾的行偏移量,一行内最多包含的数据量是8060 字节,而且不包含text、ntext 和image 类型数据。也就是说在设计数据库时,表结构中的所有列(字段)的宽度和不能超过8060字节,否则一页就放不下了,这就与行不能跨页的原则相矛盾。注意:text,ntext,image类型数据不是与该行的其它列数据放一页中,而是将这些大数据量的数据单独存放在其它页中,在该数据页中只保留存放那些数据的首地址,为16字节。

为了提高磁盘操作的速度,SqlServer 2000系统将连续的8页定义为一个盘区(Extent),SqlServer2000在分配新的空间时,往往会按照盘区来进行分配。

注意:日志文件不是以页为单位进行组织的,而是以一系列日志记录进行组织。Table表与索引

每个表的数据行存储在8 KB 数据页集合中。每个数据页都有一个96 字节的页头,其中包含该页隶属的表的标识符(ID) 等系统信息。一个表中如果有多页,则页与页之间首尾相连,形成双向链表。在每页页头包含指向上一页及下一页的指针,如下图所示的一个双向链表,在页尾有行偏移表。数据行填充页的剩余部分。

图SQL Server的数据页链表

在图中每页首部加上表ID

IAM(索引分配映射表,Index Allocation Map)介绍,

在SqlServer 2000中系统为每个表分配一个IAM链表,并将其首地址存放在系统表Sysindexes中,Sysindexes表将每个表的ID号和其IAM链表的首地址关联,在其FirstIAM 列中存放有该链表的首地址。

有了IAM,数据在读取数据时会先根据IAM中的记载,去装载相应的数据页。如果要读取表中的数据,系统将属于该表的全部数据页读入内存进行分析,提取相应的记录行。无论在该页中是否有需提取的数据,都是先加载到内存,再作进一步的分析。这样对该系统的开销将是很大的,因为一次性读取全部数据的机会往往不多,而大多时候都是根据一些条件,把满足条件的记录提取出来,如果我们能够事先知道我们要提取的数据行位于哪些页上,那就只需要将存储待提取行的页加载到内存中,这样将会大大加快数据提取速度,降低系统的开销。

为此,系统设计者们引入了索引这个概念,可以先对数据按照某些列进行索引来提高检索速度,具体做法如下图所示:

图索引示意图

在此假设每行的偏移量为28字节,图中每页上部的省略号去掉。图中注明数据页和索引页上图中根据姓名编制索引可以提高检索速度,例如要检索姓名=“张三”的记录,系统会先根据索引中的记载查出姓名=“张三”的记录位于第1页和第3页,然后仅加载第1页和第3页的内容,而不会加载第2页及其它页到内存中,再对加载到内存中的两页数据进行数据分析,将该页中满足姓名=“张三”的记录查找出来。这就是索引提高数据检索的速度的原理。

虽然索引能够加快数据的检索速度,但并不是说有了索引就一定能加快系统的性能。如果是往表中插入记录或者修改表内数据,情况就不一样了。当往数据表中插入一行记录时不仅要往数据页中存放该行数据,而还要对此行数据进行索引,就上图中,如果插入一个新的学生的信息(10,‘李四’,‘男’,‘1980-1-5’,176),系统首先会将其增加到数据页的第3页上,然后还要在索引页上增加相应的索引记录,按照姓名进行索引,李四应该排在索引编号为3的位置上,这样就会将原先索引编号是3及大于3的所有索引记录依次往后移动。如果此时这一索引页本身就是满的状态(8KB空间全部索引完成),将会发生最后一行记录会移到下一页的第一行,如果这一页也是满的状态的话,那后一页的最后一行将会再次移到其下一页中,依次类推,全部索引页上的数据都会被移动一次,这个计算量将是非常可观了。修改某一行记录的情况也是类似的,在此不特别说明。

如果在进行索引时有意让每个索引页都不填满(如只填充80%),这样每个索引页中在新插入记录少于20%的情况下记算量还是比较小的。在此这个填充的比率有一个专门的俗语叫“填充因子”,是不是这个填充因子越小越好呢,其实也不一定,如果填充因子过小,将会导致索引页的增加,这样索引的效果就越不明显,如果填充因子越大,每个索引页将用不了多久就会变满,所以在此选择一个合适的填充因子还是一个比较重要的问题。还有一个问题就是即使索引页不是满(填充因子<100%),但随着系统的运行,新的数据行不断地插入到系统,索引页总有一天会满的,如果索引页满后系统插入及更新数据的速度将会变得很慢(因为要调整全部索引页中的索引项的位置),这时就需要重建索引。所以作为一个运营系统索引重建工作还是一个很重要的维护工作。

创建索引有两种情况:表中没有数据时创建索引,与表中有大量数据时建立索引。

根据索引的方式不同,SqlServer 2000中对表的数据页的管理方式也不一样,有两种类型:

堆集表

聚集表

非聚集表

对于堆积表而言,系统是没有为它创建索引的,对聚集表,系统为此表创建一个聚集索引,对于非聚集表,系统为其创建一个非聚集索引。其实聚集索引与非聚集索引的区别也就在于索引的顺序与表中实际的数据行的顺序是否一样。

1.2.5 客户端与服务器的访问途径

在前面的介绍中,我们明确了SQL Server是一个典型的客户端与服务器的应用模式,作为客户端来说以什么方式来访问服务器提供的功能呢,就目前看,可以被使用的技术如下图所示:

在以上图中,DB Library是SqlServer的通信库,是一套C语言的数据库访问接口函数库(API),由于此函数库是基于C语言的,性能比较好,同时对于开发者的要求比较高,不能在其它数据库之间通用。与SqlServer的DB Library类似,其它的数据库厂家也有类似的这样的开发库,但彼此之间不兼容,为此微软制订了一套数据库访问的工业标准————ODBC,在Windows平台上得到了比较广泛的应用,目前的一些主流的数据库厂家支持。ODBC只是微软的早期数据库访问技术标准,当时没有考虑到基于internet的数据访问要求及面向对象的软件开发方法,随着软件技术的发展,ODBC已经不能满足新环境的数据库访问要求,对此微软又开发了一套更新的数据库访问技术————OLEDB,OLEDB也是一套比较底层的面向COM组件的一套开发接口,速度上比较快,同样对于开发人员的要求也比较高,对此微软又基于此技术做了一个易用性的包装,即ADO,也就是说ADO是基于OLEDB的更加易于使用的一套COM对象库,就目前有比较广泛的使用人群(如在ASP、早期的VC、VB以及Delphi的开发中数据库的访问也大多采用ADO的方式)。不管是DB Library还是ODBC及OLEDB它们都是直接运行在本机代码上的,随着新的软件技术的发展,运行在虚拟机上的应用程序越来越多,如基于Java及.NET的应用程序,为了方便在这些平台下的数据库访问,各厂家也大多为自己的平台编写相应的数据库访问标准,如在Java平台下就是Jdbc标准,在.NET平台下就是https://www.360docs.net/doc/5218824797.html,,以及为这些标准编写的相应的驱动程序,如JDBC For SqlServer以及https://www.360docs.net/doc/5218824797.html, For SqlServer。为了获得对数据库服务器控制的更大灵活性,微软专门针对SqlServer开发了一套组件技术SQL-DMO(SQL Distributed Management Objects),利用此组件可以对服务器进行更加灵活的控制。一些SqlServer的管理工具(如SqlServer企业管理器及SqlServer查询分析器)就是基于此技术的。同时利用此技术也可以利用编程的方式直接对SQLServer服务器进行管理,使得对SqlServer的管理更加方便。

补充SqlServer所使用的通信协议及客户端网络设置工具的使用。

1.2.6 客户端服务器通信标准与SQL语句介绍

随着商业化数据库产品增多,不同的数据库厂商都会有相应的客户端服务器通信的方式,这样用户写的客户端应用程序对于不同的服务器将不会兼容,因此国际标准化组织就针对数据库客户端与服务器的通信制定了一个标准,这就是ANSI/ISO SQL标准,该标准目前主要

有两个版本即:SQL-92和Sql-99分别是1992年和1999年制定的标准。

由于标准化组织制定的SQL-92及SQL-99是一个通用的通信标准,不能完全体现各厂家的数据库产品的全部功能,所以大多厂家都对这个标准进行了扩充。如微软的SQL Serve 2000中采用的T-SQL就是对SQL-92的扩充,Oralce的PL-SQL也是对SQL标准的扩充。除了对SQL标准的扩充外,现在一些厂家的SQL通信方式与标准的SQL-92或者SQL-99并不完成兼容,标准化组织对数据库厂家的通信方式与SQL标准的兼容性划分出三个等级:(基本兼容)entry level,(良好兼容)intermediate, (全面兼容)full。其中SqlServer 2000与Sql-92标准是基本兼容这一级别,也就是说也就是说,SqlServer2000提供了大部分Sql -92中定义,但也有很大一部分不是,不过作者认为随着微软数据库产品的新版本推出,将会逐步提高与标准SQL的兼容性级别,对此我们拭目以待。

1.3 SQL Server的安装

在介绍SqlServer的安装之前,我们来先说说SqlServer的版本,以及各个不同版本之间的差异与适用情况:

1.3.1 SqlServer2000的版本

标准版:

(作为小工作组或部门的数据库服务器使用,只能安装在服务器操作系统中,如Windows2000Server、Windows2003Server)

注意:在Windows2000专业版、Windows XP家庭版中不能安装。

企业版:

(作为生产数据库服务器使用。支持SQL Server 2000 中的所有可用功能,并可根据支持最大的Web 站点和企业联机事务处理(OLTP) 及数据仓库系统所需

的性能水平进行伸缩。能安装到Server体系的服务器(Windows 2000 Server、

Windows 2000 Advance Server、Windows2003 Server,早期的WindowsNT4也可,但

WindowsXP家庭版本不行)

桌面版:

供移动的用户使用,这些用户有时从网络上断开,但所运行的应用程序需要SQL Server 数据存储。在客户端计算机上运行需要本地SQL Server 数据存储的

独立应用程序时也使用个人版。

开发人员版:

供程序员用来开发将SQL Server 2000 用作数据存储的应用程序。虽然开发版支持企业版的所有功能,使开发人员能够编写和测试可使用这些功能的应用程序,

但是只能将开发版作为开发和测试系统使用,不能作为生产服务器使用。

1.3.2 安装过程及需要注意的问题

(在此需要将安装过程中的一些主要界面显示并对涉及到的问题作出相应的解释,主要是如下几个问题的介绍)

1.在Windows2003企业版本上安装Sql Server 2000时出现的问题

注意:

以上提示并不是说在Windows2003上不能安装运行SqlServer 2000,而是说需要运行SqlServer2000及2号补丁包,不过就目前而言,已经有最新的3号补丁包了,建议大家安装第3号补丁包。

在Windows2000Server及Windows 2000 Advance Server上安装时不会出现什么问题,但当用记打了Windows2000 SP4后会出现不能登录SqlServer 2000的错误,此问题也是由于没有安装SqlServer 2000的最新的Sp3补丁包引起的,望读者朋友注意。

SqlServer2000的第3号补丁包(Sp3)的下载地址如下:

2.关于实例及实例名的解释

在以下的安装过程中多次会提到实例与实例名的问题,在此先对其作出一个说明:操作系统下的一个任务就是一个进程,也就是一个实例。

在此我们以启动两个记事本来作为例子进行解释,实例的问题,

一个应用程序启动两分,操作系统将把它们当作是两个任务,每个任务之间在操作下统一调度执行,任务与任务之间没有必然的联系。

如果我们想在一台服务器上运行两份SqlServer后台服务器的话,为了保证客户端程序能够区分是该机器上第一个SqlServer还是第二个SqlServer就需要我们对其进行命名,然后在访问该机器上的SqlServer时就需要指定相应的实例名称,否则机器并不知道你要访问的是哪一个SqlServer。

3.后台服务的帐号问题

在Windows操作系统上有一类特殊的应用程序―――服务,服务运行在后台,没有前台的界面,在Windows2000的任务管理器的应用程序列表中也不能看到,但是在进程列表中可以看到,如下图所示:

操作系统为了安全,对运行于操作系统下的每一个程序都指定了一个运行用户,该应用程序是否可以操作本机或者网络的指定资源(如某个文件或者目录)的访问权限。都是根据该用户的权限,如果该用户对此资源有权限,则在该服务程序内就可以访问此资源,

在该设置中有两个选择,第一个是选择“使用本地系统帐户”,本地系统帐户是计算机系统中的一个特殊的帐户,对系统的资源有最大的访问权限,也就是说使用此帐户可以访问本地的所有资源,但是在访问别的机器上的资源时可能会出现没有权限的问题。

第二个选择“使用域用户帐户”,当选择此项后要求用户输入域名称及用户名与密码,注意,此时该服务程序将运行于此帐户下,能够访问哪些资源将由Windows系统的系统管理员来设定。同时,因为在此处输入的是域用户,所以在一个Windows2000的域内都是可以访问的,只要该用户对特定资源有相应的权限。

4.安全设置

5.安装完成后查看后台的服务及相应的应用程序的路径

安装完成SqlServer后,就可以通过如下途径看到SqlServer的后台服务程序了,从桌面的“我的电脑”中单击鼠标右键,选择“管理”,看到一个“计算机管理”的对话框,从左边的目录树中展开“服务与应用程序”,进而选择其中的“服务”,在右边将会看到本机的所有的服务列表,从服务列表中找到名称为“MSSQLSERVER”的一项,点击鼠标右键,从弹出菜单中选择“属性”,将会看到如下图所示的界面,在此界面中将可以清楚地看到可执行文件的路径,这个路径与安装SQLServer的路径有关,对于此后台服务程序的更进一步的控制也是都是在此界面中来完成的。

如果在安装SQLServer的过程中,在出现服务帐号页面时输入的是指定用户,如Administrator,(见前面的安装过程中的图6所示)同时也指定的相应的密码。此时看到的界面如下图所示

SQLServer数据库试题九及答案

SQL Server数据库试题九及答案 一、选择题(每题2分,共30分) 1、下面不属于数据定义功能的SQL语句是:() A.CREAT TABLE B.CREAT CURSOR C.UPDA TE D.ALTER TABLE 2、SQL数据库中的视图与下列哪项是对应的()。 A.关系模式 B.存储模式 C.子模式 D.以上都不是 3、下列选项中不是数据库复制类型的是()。 A.快照复制 B.差异复制 C.事务复制 D.合并复制 4、下列说法错误的是: ()。 A.一个基本表可以跨一个或多个存储文件 B. 一个存储文件可以跨一个或多个基本表 C.每个存储文件与外部存储器上一个物理文件对应 D.每个基本表与外部存储器上一个物理文件对应 5.显示包含警告信息或其他信息的消息框,应该使用的操作是()。 A.Echo B.Message C.Warn D.MsgBox 6、在SQL Server 2000中,索引的顺序和数据表的物理顺序相同的索引是()。 A.聚集索引 B.非聚集索引 C.主键索引 D.唯一索引 7. SQL Server的字符型系统数据类型主要包括()。 A. Int、money、char B. char、varchar、text C. datetime、binary、int D. char、varchar、int 8、以下选项中哪一项不是访问数据库系统的接口()。 A.ODBC B.OLE DB C.API D.ADO 9、在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是() A.* B.% C.- D.? 10、SELECT语句中与HA VING子句同时使用的是()子句。 A.ORDER BY B.WHERE C.GROUP BY D.无需配合 11~15题使用如下数据: 当前盘当前目录下有数据库db_stock,其中有表stock的内容是: 股票代码股票名称单价交易所 600600 青岛啤酒7.48 上海 600601 方正科技15.20 上海 600602 广电电子10.40 上海 600603 兴业房产12.76 上海 600604 二纺机9.96 上海 600605 轻工机械14.59 上海 000001 深发展7.48 深圳 000002 深万科12.50 深圳 11、有如下SQL语句 create view stock_view as select * from stock where 交易所=”深圳” 执行该语句后产生的视图包含的记录个数是() A.1 B.2 C.3 D.4 12、有如下SQL语句

sql数据库基础面试题复习试题考试题_全

不定项选择题(针对以下题目,请选择最符合题目要求的答案,每道题有一项或二项正确答案。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。题量为50道,每题2分,总分为100分。) 第一章 1、是SQLServer数据库的主数据文件的扩展名。(选择一项) A、.sql B、.mdb C、.ldf D、.mdf 2、在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。 (选择一项) A、master B、pubs C、model D、msdb 3、当安装完SQL Server2005数据库时,系统默认当前的超级管理员是( ) (选择一项) A、sa B、master C、administrator D、super 4、在使用SQL Server2005数据库时,有时需要将本机的数据库移动到其他机器上,恢复成对应的数据库使用。移动数据库分两步进行,应包括()和附加数据库(选择一项)A、分离数据库 B、删除数据库 C、新建数据库 D、合并数据库 5、在SQL Server2005中,附加数据库操作是指()(选择一项) A、把SQL Server 数据库文件保存为其他数据文件 B、根据数据库物理文件中的信息,把数据库在SQL Server 2005中恢复 C、把所有该数据库表的数据清空 D、把数据库删除掉 6、某单位由不同的部门组成,不同的部门每天都会生产一些报告、报表等数据,以为都采用纸张的形式来进行数据的保存和分类,随着业务的发展,这些数据越来越多,管理这些报告越来越费力,此时应考虑()(选择一项) A、由多个人来完成这些工作 B、在不同的部门中,由专门的人员去管理这些数据 C、采用数据库系统来管理这些数据 D、把这些数据统一成一样的格式 7、在SQL Server 2005中,对于数据库的定义正确的是()(选择一项) A、数据库是用来描述事物的符号记录 B、数据库是位于用户与操作系统之间的一层数据管理软件

(SQLServer)考试试题及答案

2013年(下)全国信息技术水平考试数据库应用系统设计技术水平证书 (SQL Server)考试试卷 第一大题:单选题(30 分) 1. (1分) 数据模型的三要素不包括()。 (A) 数据结构(B) 数据操作(C) 数据完整性约 束(D) 数据恢复 2. (1分) 数据的存储结构与数据逻辑结构之间的独立性称为数据的 ()。 (A) 结构独立性(B) 物理独立性(C) 逻辑独立 性(D) 分布独立性 3. (1分) 如果对于实体集A中的每一个实体,实体集B中可有多个实体与之联 系;反之,对于实体集B中的每一个实体,实体集A中也可有多个实体与之联系。则称实体集A与B具有()。 (A) 1:1联系(B) 1:n联系(C) n:m联 系(D) 多种联系 4. (1分) 当对关系R和S使用自然联接时,一般要求R和S至少含有一个共同的()。 (A) 元组(B) 关键字(C) 记 录(D) 属性 5. (1分) 若关系模式R(A,B,C,D,E)上的函数依赖集F={AB->C,A->D,A->E},为了满足BCNF,可以将R分解为()。 (A) R1(A,B,C,D) R2(A,E) (B) R1(A,B,C) R2(A,D,E) (C) R1(A,B,C) R2(D,E) (D) R1(A,B) R2(A,C,D,E) 6. (1分) SQL语言查询一次的结果是一个()。 (A) 元组(B) 表(C) 属性(D) 数据

库 7. (1分) 在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,则称函数依赖X→Y为()。 (A) 平凡函数依赖 (B) 部分函数依赖 (C) 完全 函数依赖 (D) 传递函数依赖 8 . (1分) 在Transact-SQL中,下列命令能让程序完全跳出循环的是( )。 (A) CASE (B) WAIT (C) BREAK (D) CONTINU E 9 . (1 分) 在Transact-SQL中,下列选项不属于数值型数据类型的是( )。 (A) NUMERIC (B) DECIMAL (C) INTEGER (D) DATE 10. (1分) 下列选项中,可以正确表达姓“张”的通配符是( )。 (A) 张 _ (B) 张 % (C) 张 ^ (D) 张& 1 1. (1 分) 下列聚合函数中正确的是( )。 (A) SUM (*) (B) MAX (*) (C) COUNT (*) (D) AVG (*) 12. (1 分) 如果某一列的数据类型是FLOAT,则不允许对该列使用的函数是( )。 (A) SUM (B) ABS (C) LEFT (D) ROUND 13 . (1 分 ) 在SQL的SELECT语句中,与投影运算对应的子句是( )。 (A) SELECT (B) FROM (C) WHERE (D) GROU P BY 14. (1 分) 在SQL语言中,给表起别名应使用( )。 (A) AS (B) RENAME (C) SET (D) FOR 15. (1分) 在SELECT语句中使用GROUP BY SNO时,SNO必须() 。 (A) 在WHERE中出现 (B) 在FROM中出现

连接SQLServer2008数据库的方法

连接SQLServer2008数据库的方法 一、设置SQLServer2008: SQL server 2008 1433端口开启解决方案 查看电脑开放端口命令为:netstat -an SQL Server 2008一般默认的端口为 1433 ,但有时会遇到无法连接端口1433的问题,检查端口1433是否启用的方法为: 开始–>输入cmd –>回车–>telnet localhost 1433->回车出现黑屏,表示本机连接端口1433成功。 否则按照以下顺序进行配置: (1)关闭数据库引擎 打开配置管理器,找到 SQL Server(SQEXPRESS),右键单击,选择停止,即可停止数据库引擎

(2) .配置服务器端和客户端的TCP/IP协议: 在SQL Server网络配置中选择SQLEXPRESS的协议,选择TCP/IP ,右键单击,选择属性 选择IP 地址选项卡 把"IP1"和"IP2"中"TCP端口"为1433,"已启用"改为"是" 把“IP地址”下“IPALL”的端口改为“1433”。

(3)SQL Native Client 10.0 配置->客户端协议->TCP/IP (4).开启数据库引擎

这样就开启了1433的端口了 先停止SQLServer2008服务。 1.启用1433端口 S1:执行“配置工具”下的“SQL Server配置管理器”。打开如下窗口: S2:右击“SQL Server网络配置”右边的“TCP/IP”,从快捷菜单中选择“属性”,打开下图所示窗口

2.设置登录方式(使用SQL Server登录方式,而不是Windows方式) 打开“SQL Server Management Studio”,打开如下图所示快捷菜单,选择“属性”

SQLServer数据库期末复习试题试卷及答案

现有关系数据库如下: 数据库名:教学数据库(Teacher) 教师信息表(教师编号,姓名,性别,民族,职称,身份证号) 课程信息表(课程号,课程名,标准课时数) 任课信息表(教师编号,课程号,实际课时数) 一、用SQL语言实现下列功能 1. 创建数据库。 要求:数据库名为 Teacher,主数据文件名为 Teacher_data.MDF,存放在目录下,初始值大小为2MB增长方式为按照10%的比例增长;日志文件名为Teacher_log.LDF,存放在目录下,初始值大小为 1MB增长方式为按照1MB的增量增长。 2. 创建教师信息表Teacherinfo,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Teacher_Id char 6 主键教师编号 Teacher_Name n varchar 8 不允许空姓名 Sex n char 2 检查(男/女)性别 Birth_Place n varchar 20 默认值(汉族)民族 Zhiche ng n varchar 20 不允许空职称 H Id char 16 唯一身份证号 3.创建课程信息表Course info,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Course_ld char 5 主键】田千口i=r. 课程 号 Course_Name n varchar 20 不允许空课程名 B Hours Int 检查(0~200) 标准课时数 4.创建任课信息表TCinfo,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Id int 自动编号 Teacher_Id char 6 外键教师编号 Course_Id char 5 外键】田千口 i=r. 课程号S Hours Int 实际课时数 5. 将下列课程信息添加到课程表中: 课号课程名称课时数 30001 SQL Server 数据库 90 30002 数据结构60 30003 VB 程序设计72 修改课号为30003的课程名称:Visual Basic 程序设计。

Sqlserver2005数据库练习题(1)

Sqlserver2005数据库练习题 第1章数据库技术基础 1.简述数据库、数据库管理系统、数据库系统的含义? 2.简述数据库、数据库管理系统、数据库系统之间的联系? 3.简单描述层次模型、网状模型、关系模型的含义? 4.简述一个学生都包含哪些属性? 5.对于一个学生表来说学生姓名是否可以作为主键,为什么? 6.描述你所在的班级都有哪些实体? 第2章安装Sql Server 2005与服务器管理 1.安装sqlserver 2005需要计算机的最低配置是什么? 2.x86操作系统是什么概念? 3.x64操作系统是什么概念? 4.安装数据库时应该选择什么样的操作系统? 5.开始安装时需要有哪些准备工作? 6.开始安装界面中的其他信息是什么意思? 7.用户许可协议必须为接受么? 8.用户许可协议是否可以打印? 9.系统配置界面中需要检查哪些项? 10.详细信息中哪些项要求必须安装成功才能进行下一步的操作? https://www.360docs.net/doc/5218824797.html,+目录指的是什么? 12.iis功能要求指的是什么? 13.mdac版本的最低要求是什么? 14.实例名中的默认实例是什么含义? 15.实例名中的命名实例是什么含义? 16.服务器名指的是什么? 17.服务帐户中使用内置系统帐户是什么含义? 18.服务帐户中使用域帐户是什么含义? 19.安装结束时启动服务包括什么? 20.sqlserver2005提供的服务有哪些? 21.安装结束后,哪些服务要求必须启动? 22.ms sqlserver是什么服务? 23.sql server agent是什么服务? 24.sql server analysis services是什么服务? 25.sql server browser是什么服务? 26.如何对服务进行启动、暂停和停止操作? 27.启动数据库时需要做什么工作? 28.如何注册数据库? 29.如何删除注册的服务? 30.如何更改数据库的登陆模式?

《SQLServer数据库》模拟试卷三考卷及答案

《SQL Server数据库》模拟试卷三 班级姓名学号成绩 一、选择题:本大题共20小题,每小题2分,共40分。 1、公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从部门到职员的联系类型是。 A.多对多 B.一对一 C.多对一 D.一对多 2、在Transact-SQL语法中,用来插入数据的命令是__ _,用于更新的命令是___ 。 A.INSERT,UPDATE B.UPDATE,INSERT C.DELETE,UPDATE D.CREATE,INSERT INTO 3、SQL server数据库文件有三类,其中主数据文件的后缀为: A..ndf B..ldf C..mdf D..idf 4、部分匹配查询中有关匹配符"_"的正确的叙述是。 A. "_"代表任意单个字符 B. "_"可以代表零个或多个字符 C. "_"不能与"%"一同使用 D. "_"代表一个字符 5、SQL Server安装程序创建4个系统数据库,下列哪个不是。 A.master B.model C.pub D. msdb 6、不允许在关系中出现重复记录的约束是通过。 A.外部关键字实现 B.索引实现 C.主关键字实现 D.惟一索引实现7、创建视图的语句格式为。 A. CREATE TABLE <视图名〉 B. CREATE INDEX <视图名〉 C. CREATE VIEW <视图名〉 D. DROP VIEW <视图名〉 8、模式查找like '_a%',下面结果是可能的。 A.aili B. bai C.bba https://www.360docs.net/doc/5218824797.html,a 9、在MS SQL Server中,用来显示数据库信息的系统存储过程是 A. sp_dbhelp B. sp_db C. sp_help D. sp_helpdb 10、在“连接”组中有两种连接认证方式,其中在方式下,需要客 户端应用程序连接时提供登录时需要的用户标识和密码。 A.Windows身份验证B.SQL Server 身份 验证 C.以超级用户身份登录时 D.其他方式登录时 11、为数据表创建索引的目的是。 A.提高查询的检索性能B.创建唯一索引 C.创建主键 D.归类 12、SQL的视图是从中导出的。 A.基本表 B. 视图 C. 基本表或视图 D. 数据库 13、连接有内连接、外连接和交叉连接,其中外连接只能对表进行。 A.两个 B.三个 C.四个 D.任意个 14、将多个查询结果返回一个结果集合的运算符是。 A.JOIN B.UNION C.INTO D.LIKE 15、声明了变量:declare @i int,@c char(4),现在为@i赋值10,为@c赋 值'abcd',正确的语句是。 A.set @i=10,@c='abcd' B.set i=10 , set @c='abcd' C.select @i=10,@c='abcd' D.select @i=10, select

SQLServer数据库入门学习总结

SQL Server数据库入门学习总结 经过一段时间的学习,也对数据库有了一些认识。 数据库基本是由表,关系,操作组成;对于初学者首先要学的: 1.数据库是如何存储数据的 表,约束,触发器 2.数据库是如何操作数据的 insert,update,delete T-sql 函数存储过程触发器 3.数据库是如何显示数据的 select SQLServer数据库学习总结 1.SQL基础 SQL Server2000安装、配置,服务器启动、停止,企业管理器、查询分析器 第一代数据库--网状数据库和层次数据库;第二代数据库--关系数据库 数据库(DB);数据库管理系统(DBMS);数据库系统(DBS) SQL Server 2000 提供了不同版本:企业版、标准版、个人版、开发版 SQL Server中的数据类型:整数:int,smallint,tinyint,bigint;浮点数:real,float,decimal;二进制:binary,varbinary;逻辑:bit;字符:char,nchar,varchar,nvarchar;文本和图形:text,ntext,image;日期和时间:datetime,smalldatetime;货币:money,smallmoney 数据库的创建和删除;数据库表的创建、修改和删除 数据完整性:实体完整性:Primary Key,Unique Key,Unique Index,Identity Column;域完整性:Default,Check,Foreign Key,Data type,Rule;参照完整性:Foreign Key,Check,Triggers,Procedure;用户定义完整性:Rule,Triggers,Procedure;Create Table中得全部列级和表级约束 SQL Server中有5种约束:主键约束(Primary Key Constraint)、默认约束(Default Constraint)、检查约束(Check Constraint)、唯一性约束(Unique Constraint)、外键约束(Foreign Key Constraint). 关系图 数据库设计的步骤:需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、数据库运行和维护 两个实体之间的联系:一对一(1:1)、一对多(1:n)、多对多(m:n) 实体关系模型-- E-R图

SQLServer数据库基本介绍

SQLServer数据库基本介绍 数据库用于存储结构化数据。数据的组织有多种数据模型,目前主要的数据模型是关系数据模型,以关系模型为基础的数据库就是关系数据库。一,数据库的概述1)关系数据库术语 表:用于存储数据,它以行列式方式组织,可以使用SQL从中获取、修改和删除数据库。表是关系数据库的基本元素记录:记录是指表中的一行,在一般情况下,记录和行的意思是相同的。字段:字段是表中的一列,在一般情况下,字段和列所致的内容是相同的。关系:关系是一个从数学中来的概念,在关系代数中,关系是指二维表,表既可以用来表示数据,也可以用来表示数据之间的联系索引:索引是建立在表上的单独的物理结构,基于索引的查询使数据获取更为快捷。索引是表中的一个或多个字段,索引可以是唯一的,也可以是不唯一的,主要是看这些字段是否允许重复。主索引是表中的一列和多列的组合,作为表中记录的唯一标识。外部索引是相关联的表的一列或多列的组合,通过这种方式来建立多个表之间的联系。视图:视图是一个真实表的窗口,视图不能脱离表。视图和表的区别是,表是实际存在的(需要存储在计算机中,占用存储空间),而视图是虚拟表(仅存储真实表的视图表现形式),它用于限制用户可以看到和修改的数据量,以简化数据的表达。存储过程:存储过程是一个编译过的SQL程序。在该过程中,可以嵌入条件逻辑、传递参数、定义变量和执行其他编程任务。 2)数据库管理系统提供的功能数据库管理系统简称为DBMS,是一种操作和管理数据库的大型软件,用于建立、使用维护数据库。基本功能如下

数据定义功能:定义数据库结构数据存取功能:提供数据操纵语言,实现对数据库数据的 基本存储操作数据库运行管理功能:提供数据控制功能,即数据的安全性,完整性和并发控制等对数据库运行进行有效的控制和管理数据库的建立和维护功能:包括数据库初始数据的嵌入,数据库的转储、恢复、重组织、系统性能监视、分析等功能数据库的传输:实现用户程序与DBMS之间的通信 3)数据库的存储结构 数据库文件主数据文件(Primary):是数据库的关键文件,用来存放数据,包含数据库启 动信息,每个数据库都必须包含也只能包含一个主数据文件,默认扩展名是.mdf次数据文件(Secondary):又称辅助文件,包含除主数据文件外的所有数据文件。次数据文件是可选的,有些数据库没有次数据文件,有些数据库则包含多个次数据文件.默认扩展名是.ndf事务日志 文件(Transaction Log):用来存放事务日志信息。事务日志记录了SQL Sever所有的事务 和由这些事务引起的数据库的变化。SQL Sever遵循先写日志再进行数据库修改的规则,所以 数据库中数据的任何变化在写到磁盘之前,这些改变先在事务日志中做了记录,每个数据库至 少有一个事务日志文件Lof File,也可以不止一个。默认扩展名是.ldf数据库文件组主文件组:包含主数据文件和所有没有被包含在其他文件组里的文件用户定义文件组:默认文件组:

SCCE 2010综合测试试题(SQLServer)

装订线 **学院课程考试试卷 课程名称:《SQLServer:数据库设计和高级查询》(A)卷 年级:班级: 姓名:_______________ 学号:_________________ 考试(考查) 闭卷 1. 授予用户teacher对Score表的插入和修改的权限,正确的授权语句是( c )。 A. GRANT INSERT,UPDATE TO TABLE Score ON teacher B. GRANT INSERT AND UPDATE TO TABLE Score ON teacher C. GRANT INSERT,UPDATE ON Score TO teacher D. GRANT INSERT AND UPDATE ON Score TO teacher 2. 建立如下数据库表: CREATE TABLE department ( DeptID int NOT NULL primary key, DeptName varchar (20) NOT NULL ) CREATE TABLE Employee ( EmployeeID int NOT NULL, DeptID int NOT NULL, Name varchar (20) NOT NULL ) 要想保证Employee表中每一个雇员(Employee)是唯一的,且只能属于在Department表中已 经存在的部门,最佳的做法是( b )。 A. EmployeeID 和DeptID 设为组合主键 B. EmployeeID设为主键,同时在DeptID列上创建一个外键约束 C. EmployeeID设为主键,同时在DeptID列上创建一个检查约束 D. 在DepartmentID列上创建一个唯一约束,同时在DeptID列上创建一个外键约束 3. 建立一张员工表(employee),当向表中插入数据时,若不提供入职时间(beginTime),就把系 统当前时间自动作为员工入职时间插入数据库中,以下说法正确的是( d )。 A. 约束中不能使用各种函数,所以只能使用触发器来实现 B. 可以使用CHECK约束实现,默认值采用日期函数getDate() C. 入职时间必须设为日期类型 D. 可以使用DEFAULT 约束实现,默认值采用日期函数getDate() 4. 为了加快对某表的访问速度,应对此表建立( d )。 A. 约束 B. 存储过程 C. 规则 D. 索引 5. 假设有表student的设计如下: ID(学号) Name(姓名) Address(家庭住址) Department(所在系) DepartmentHead(系主任) 该表最高满足第( a )范式。 A. 1NF B. 2NF C. 3NF D. 不满足任何范式 6. 为数据库中一个或多个表的数据提供另一种查看方式的逻辑表被称为( c )。 A. 存储过程 B. 触发器 C. 视图 D. 表 7. 要建立一张教师表,包含姓名、职称、级别等字段。插入数据时,如果不输入级别字段,缺省 值为“讲师”,最合适的实现方法是( a )。 A. 为“级别”字段建立default约束 B. 为“级别”字段建立check 约束 C. 在教师表上建立一个触发器(trigger) D. 为教师表插入数据编写一个存储过程进行控制 8. 现有订单表orders,包含数据如下表。若查询既订购了产品P01,又订购了产品P02的顾客 编号,可以执行以下( c )sql语句。 cid (顾客编号) Pid (产品编号) C01 P01 C01 P02 C02 P01 C03 P02 A. select distinct(cid) from orders o1 where o1.pid in ('p01','p02') B. select distinct(cid) from orders o1 where o1.pid='p01' and o1.pid='p02' C. select distinct(cid) from orders o1 where pid='p01' and exists (select * fr om orders --------------------------------------装--------------------------------------订------------------------------线----------------------------------------

sqlserver数据库笔试题和答案

S Q L S e r v e r数据库笔 试题和答案 -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

一单词解释(2分/个) 34分 Data 数据 Database 数据库 RDBMS 关系数据库管理系统 GRANT 授权REVOKE 取消权限 DENY 拒绝权限 DECLARE 定义变量 PROCEDURE存储过程 事务 Transaction 触发器 TRIGGER 继续 continue 唯一 unqiue 主键 primary key 标识列 identity 外键 foreign key 检查 check 约束 constraint 二编写SQL语句(5分/题) 50分(包含笔试题问题和解答答案) 1) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话 Create table stu (学号 int , 姓名 varchar(8), 年龄 int, 性别 varchar(4), 家庭地址 varchar(50), 联系电话 int ); 2) 修改学生表的结构,添加一列信息,学历 Alter table stu add 学历 varchar(6); 3) 修改学生表的结构,删除一列信息,家庭住址 Alter table stu drop column 家庭地址 4) 向学生表添加如下信息: 学号姓名年龄性别联系电话学历 1A22男123456小学 2B21男119中学 3C23男110高中 4D18女114大学 Insert into stu values(1,’A’,22,’男’,123456,’小学’) Insert into stu values(2,’B’,21,’男’,119,’中学’) Insert into stu values(3,’C’,23,’男’,110,’高中’) Insert into stu values(4,’D’,18,’女’,114,’大学’) 5) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”Update stu set 学历=’大专’ where 联系电话like ‘11%’ 6) 删除学生表的数据,姓名以C开头,性别为‘男’的记录删除 Delect from stu where 性别=’男’ and 姓名like ‘c%’ 7) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来 Select 姓名,学号 from stu where 年龄<22 and 学历=’大专’

Java连接SQLServer数据库全解

第一步:安装SQL SERVER 2000数据库软件,安装包解压之后的文件夹名为“SQL server 2000 个人版XP能用”。 安装方法:直接双击“SQL server 2000 个人版XP能用\SQL2000_PER”文件夹下的setup.bat (批处理文件)就可以进入安装程序。 在安装过程中一定要选择混合模式,设sa的密码为hw 或root 。以后登录“SQL 查询分析器”的时候就输入该密码(hw 或root)。 安装完“SQL server 2000 个人版”之后,还不能用Java连接SQL server 2000数据库。还必须安装“SQL2000-KB884525-SP4-x86-CHS”,简称“SP4”,即SQL server 2000的补丁。 安装界面如下: SP4解压缩完成之后,就会在C盘根目录下自动新建一个文件夹:C:\SQL2KSP4。 里面的内容如下:

然后双击C:\SQL2KSP4文件夹中的setup.bat批处理文件进行安装,前面的实质上是SP4的解压,解压后的文件就是C:\SQL2KSP4,所以双击并不是安装过程,而实质上是一个加压缩的过程。 □不安装SP4,Java程序无法连接SQL server 2000数据库。 双击C:\SQL2KSP4文件夹中的setup.bat后的安装才是SP4真正的安装。 SP4安装完成之后,把SQL server 2000的Java驱动(三个jar包)全部加入到应用程序中,或同时加入到classpath环境变量中。 这三个jar包的名字依次是:msbase.jar ,mssqlserver.jar ,msutil.jar 。 注:这三个jar包必须同时使用,缺一不可。 连接代码: 连接SQL server 2000数据库的Java类:

SQLServer数据库试题九及答案.doc

SQL Server 数据库试题九及答案 一、选择题 (每题 2 分,共 30 分 ) 1、下面不属于数据定义功能的SQL 语句是:() A.CREAT TABLE B.CREAT CURSOR C.UPDA TE D.ALTER TABLE 2、 SQL 数据库中的视图与下列哪项是对应的()。 A. 关系模式 B.存储模式 C.子模式 D.以上都不是 3、下列选项中不是数据库复制类型的是()。 A. 快照复制 B.差异复制 C.事务复制 D. 合并复制 4、下列说法错误的是 : ()。 A. 一个基本表可以跨一个或多个存储文件 B. 一个存储文件可以跨一个或多个基本表 C.每个存储文件与外部存储器上一个物理文件对应 D.每个基本表与外部存储器上一个物理文件对应 5.显示包含警告信息或其他信息的消息框,应该使用的操作是()。 A . Echo B .Message C. Warn D . MsgBox 6、在 SQL Server 2000 中,索引的顺序和数据表的物理顺序相同的索引是()。 A. 聚集索引 B.非聚集索引 C.主键索引 D. 唯一索引 7. SQL Server 的字符型系统数据类型主要包括()。 A.Int 、 money、 char B. char、 varchar、 text C. datetime、 binary 、 int D. char 、 varchar、 int 8、以下选项中哪一项不是访问数据库系统的接口()。 A.ODBC B.OLE DB C.API D.ADO 9、在 SELECT 语句的 WHERE 子句的条件表达式中,可以匹配0 个到多个字符的通配符是() A.* B.% C.- D.? 10、 SELECT 语句中与HAVING 子句同时使用的是()子句。 A.ORDER BY B.WHERE C.GROUP BY D.无需配合 11~15 题使用如下数据: 当前盘当前目录下有数据库db_stock, 其中有表stock 的内容是 : 股票代码股票名称单价交易所 600600 青岛啤酒7.48 上海 600601 方正科技15.20 上海 600602 广电电子10.40 上海 600603 兴业房产12.76 上海 600604 二纺机 9.96 上海 600605 轻工机械14.59 上海 000001 深发展 7.48 深圳 000002 深万科 12.50 深圳 11、有如下SQL 语句 create view stock_view as select * from stock where 交易所 =”深圳” 执行该语句后产生的视图包含的记录个数是() A.1 B.2 C.3 D.4 12、有如下SQL 语句

SQLSERVER试题

**学院课程考试试卷 课程名称:《SQLServer:数据库设计和高级查询》(A)卷 年级:班级: 1. 授予用户teacher对Score表的插入和修改的权限,正确的授权语句是()。 A. GRANT INSERT,UPDATE TO TABLE Score ON teacher B. GRANT INSERT AND UPDATE TO TABLE Score ON teacher C. GRANT INSERT,UPDATE ON Score TO teacher D. GRANT INSERT AND UPDATE ON Score TO teacher 2. 建立如下数据库表: CREATE TABLE department ( DeptID int NOT NULL primary key, DeptName varchar (20) NOT NULL ) CREATE TABLE Employee ( EmployeeID int NOT NULL, DeptID int NOT NULL, Name varchar (20) NOT NULL ) 要想保证Employee表中每一个雇员(Employee)是唯一的,且只能属于在Department表中已经存在的部门,最佳的做法是()。 A. EmployeeID 和DeptID 设为组合主键 B. EmployeeID设为主键,同时在DeptID列上创建一个外键约束 C. EmployeeID设为主键,同时在DeptID列上创建一个检查约束 D. 在DepartmentID列上创建一个唯一约束,同时在DeptID列上创建一个外键约束 3. 建立一张员工表(employee),当向表中插入数据时,若不提供入职时间(beginTime),就把系统当前时间自动作为员工入职时间插入数据库中,以下说法正确的是()。 A. 约束中不能使用各种函数,所以只能使用触发器来实现 B. 可以使用CHECK约束实现,默认值采用日期函数getDate() C. 入职时间必须设为日期类型 D. 可以使用DEFAULT 约束实现,默认值采用日期函数getDate() 4. 为了加快对某表的访问速度,应对此表建立()。 A. 约束 B. 存储过程 C. 规则 D. 索引 5. 假设有表student的设计如下: ID(学号) Name(姓名) Address(家庭住址) Department(所在系) DepartmentHead(系主任) 该表最高满足第()范式。 A. 1NF B. 2NF C. 3NF D. 不满足任何范式 6. 为数据库中一个或多个表的数据提供另一种查看方式的逻辑表被称为()。

实验1SQLServer数据库基本操作

实验1 SQL Server数据库基本操作 一、实验目的 本实验主要了解Microsoft SQL Server 2012中各组件的主要功能和基本使用方法;了解SQL Server数据库的逻辑结构和物理结构;了解数据表的结构特点以及索引的基本概念。通过本实验,读者将学会在“企业管理器”中创建和修改数据库和数据表结构、对数据表进行数据的添加、删除和更新操作以及在数据表上创建字段索引的操作。 二、实验环境 Microsoft SQL Server 2012 SSMS 三、实验内容 1. 创建一个名称为Book的数据库,支持教材订购信息管理,要求: (1)将主数据库文件Book_放置在的D:\DBF文件夹中,文件大小为5MB,最大值为50MB,文件增量为2MB。 (2)将事务日志文件Book_放置在的D:\DBF文件夹中,文件大小为5MB,最大值为100MB,文件增量为1MB。 【实验步骤】 1)在D:\下创建DBF文件夹。 2)在SSMS中的对象资源管理器窗口右单击“数据库”,从快捷菜单中选择“新建数据库”命令,出现“数据库属性”对话框。 3)在“数据库属性”对话框中选择“常规”选项卡,在名称文本框中输入:Book; 4)在“数据库属性”对话框中选择“数据文件”选项卡,设置数据文件的位置、大小、

最大值和文件增量等属性; 5)在“数据库属性”对话框中选择“事务日志”选项卡,设置事务日志文件的位置、大小、最大值和文件增量等属性。 6)点击“确定”按钮,建立“Book”数据库,如下图所示: 2. 在上题所建数据库Book中建立5张数据表结构。 字段名称字段说明类型定义属性限定索引外键AcadCode 学院代码Char(2) Primary Key √ AcadName 学院名称Varchar (50) Not Null

Sqlserver数据库转成mysql数据库

Sqlserver数据库转成mysql数据库 一、先安装sqlserver2005或者其他的版本,以sqlserver2005为例,xp的系统只支持sqlserver2005的开发版和个人版2008好像也是。 二、然后把sqlserver的倒出来的库文件导入到sqlserver2005中去。实例打开SQL Server Management Studio 点击连接——》右键数据库——》选择还原数据库

在点击选项

路径一定要正确好了再去看shiyan这个数据库就有表文件了 三、安装odbc从https://www.360docs.net/doc/5218824797.html,/detail/daotianmi/3670315下载安装。 四、配置odbc 。 程序→控制面板→管理工具→数据源(ODBC) 图(1)数据源ODBC管理器 单击添加→图(2)创建新数据源

图(2)创建新数据源 选择MIicrosoft Paradax-treiber(*.db)→点完成→添加数据源名: SHJYT (如图(3)) 点选择目录选择D:\Program Files\KN\上海数据DB_DBF系统\data (即安装路径) →确定,配置ODBC完成 图(3)

图(4) 五、打开navicat工具新建库 例如在这里要注意mysql的数据库编码要跟sqlserver数据库的编码一致如果是utf-8的就都是utf-8右击表会出来导入向导,选择 odbc点击下一 步里选择

选取Microsoft OLE DB Provider for SQL Server 点击下一步 这是第二步建立的

SQLServer数据库试题七及答案

SQL Server数据库试题七及答案 一.单项选择题(每题2分,计30分) 1._______是数据库系统的核心,它负责数据库的配置、存取、管理和维护等工作。(c ) A、操作系统 B、关系模型 C、数据库管理系统 D、数据库 2.SQL Server2000是一款基于_________体系的关系型数据库管理系统。 ( A) A、客户机/服务器 B、主机 C、N层 D、单机 3.下面哪一个不是SQL Server2000的基本数据类型 ( A) A、VARIANT B、VARCHAR C、VARBINARY D、NVARCHAR 4.下面的类型中宽度最大的是 ( C) A、CHAR(5) B、VARCHAR(5) C、NCHAR(5) D、BIGINT 5.表达式LEN('电子学院') + DATALENGTH(GETDATE())的值为 ( C) A、8 B、10 C、12 D、16 6.在SQL Server2000中,数据存储的基本单位是页,页的大小是 ( D) A、1K B、2K C、4K D、8K 7.在使用CREATE DATABASE命令创建数据库时,FILENAME选项定义的是(D ) A、文件增长量 B、文件大小 C、逻辑文件名 D、物理文件名 8.关于表结构的定义,下面说法中错误的是 (C ) A、表名在同一个数据库内应是唯一的 B、创建表使用CREATE TABLE命令 C、删除表使用DELETE TABLE命令 D、修改表使用ALTER TABLE命令 9.下面哪一个约束用来禁止输入重复值? (A ) A、UNIQUE B、NULL C、DEFAULT D、FOREIGN KEY 10.下面关于登录账户、用户和角色的说法错误的是 ( C) A、登录账户是服务器级的 B、用户是登录账户在某个数据库中的映射

SQLserver数据库课程设计范例

1 概述 课题简介 书店书目书种繁多,来源多样,购买者众多,图书信息、供应商信息、客户信息、销售信息庞大,不易管理。因此,很有必要创建一个小型书店管理系统,以便于书店对图书的管理。 设计目的 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。 数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。 设计内容 运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发小型书店管理系统,完成小型书店管理系统的全部功能。 首先做好需求分析,并完成数据流图和数据字典。 其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到

E-R 图。 然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型 2 需求分析 功能分析 首先,建立一些基本表(尽可能满足3N),对大部分基本信息组合、存储;其次通过建立视图实现对冗余数据的有必要保留(查询并计算基本表属性得到新的作为视图属性)并实现对以下基本信息的显示。 图书信息:图书名称、订购数量、订购时间、订购单价、金额、出版社名称、作者名称;供应商名称等; 供应商信息:供应商名称、地址、电话,联系人; 客户信息:客户编号、名称、年龄、性别、累计购书金额等; 销售信息:时间、销售名称、数量、销售单价、客户编号、客户名称、金额等。 在此基础上进行以下目标查询,由于有些查询常用且较复杂,为了简化其应用,所以将它们定义为存储过程。 查询当月书店销售金额、营业金额;(存储过程) 查询某种图书库存数量;(存储过程) 查询当月销量最好的图书信息;(存储过程) 按供应商名称查询订购信息;(普通查询)

相关文档
最新文档