4.4SQLServer数据库管理系统简介SQLServer是微软公司出品的高性能的关系数据库管理系统(RDBMS),它基于客户端/服务器结构(C/S)关系数据库管理系统SQLServer服务器客户端结果客户端应用程序OLAPOLTP查询请求C/S结构:将一个应用的处理分为前端和后端两个部分,前端为用户接口,将数据呈现给用户。后端(SQLSERVER)管理数据库,且负责在多个请求之间分配可用的服务器资源。4.4.1SQLServer2000数据库的组成SQLServer2000前端工具查询分析器为数据库应用程序开发人员提供了一个简单易用的SQL交互窗口,用户通过它可以交互地设计、测试、运行TransactSQL语句。SQLServer企业管理器是SQLServer的一个最重要的工具,它通过图形化的用户界面(GUI)来设置和管理服务器和数据,易于使用。服务管理器用来启动、暂停、继续和停止数据库服务器的实时服务的程序。界面如下:在访问数据库之前,必须启动SQLServer数据库服务。有两种方法:①启动Windows时自动启动,可以通过服务管理器进行设置。②通过“开始-MicrosoftSQLServer-服务管理器”进行启动。创建数据库就是为数据库确定名称、大小、存放位置的过程.。SQLServer2000中创建数据库的方法有:使用企业管理器创建数据库使用Transact-SQL语句创建数据库使用向导创建数据库使用企业管理器创建数据库例:以默认形式创建mydb数据库,步骤如下:(1)启动企业管理器,连接服务器,展开其树形目录,用鼠标右键单击【数据库】文件夹,在弹出的快捷菜单中,单击【新建数据库…】打开图1所的对话框。4.4.2创建数据库(2)在【数据库属性】对话框的【名称】文本框内输入数据库名(逻辑名)。例如MyDB,系统默认用该数据库名与“_data”串的连接命名数据文件(见图2),该数据库名与“_log”串的连接命名日志文件(见图3)。主数据文件(.mdf):存储数据信息和数据库的启动信息。一个数据库有且仅有一个主数据文件。日志文件(.ldf):存储数据库的所有事务日志信息,包含用于恢复数据库的日志信息,一个数据库的日志文件至少有一个,也可以有多个。(3)单击【确定】按钮,数据库就创建好了,在默认位置、采用默认设置创建了一个名为MyDB的数据库。图1数据库属性对话框图2数据文件选项卡界面图3事务日志文件选项卡界面4.4.3创建表SQLServer的一个数据库中可以存储200万个基本表,一个表最多允许定义1024个列。表的行数和总大小仅受可使用空间的限制。表的每一列必须具有相同的数据类型。一、设计表创建表的过程,就是用一种具体的RDBMS(例如SQLServer2000)作为工具,实现关系模型(逻辑模型)到物理模型的转换,即关系模型的物理实现。以下称关系为表,称元组为行(或记录),称属性为列(或字段)。设计表时需要确定如下内容:1)表中需要的列以及每一列的类型(必要时还要有长度)。2)列是否可以为空。3)是否需要在列上使用约束、默认值和规则。4)需要使用什么样的索引。5)哪些列作为主键。表的设计要体现完整性约束的实现。实体完整性约束的体现是主键约束,即主键的各列不能为空,且主键作为行的惟一标识;外键约束是参照完整性约束的体现;默认值和规则等是用户定义的完整性约束的体现。数据类型描述imageImage用来存储超过8k的可变长度的二进制数据,如bmp、gif、jpeg等图象。char存储固定长度的字符类型的数据,(=8k),实际定义varcharvarchar存储可变长度的字符数据,(=8k)textText用来存储大于8k的ASCII字符。Datetime日期类型,存储从1753年1月1日-9999年12月31日的日期二、字段的数据类型int4字节整型,表达范围是-2147483648-2147483647float浮点数,但在计算机里面的表达是一个近似值decimal浮点数,固定精度和小数位money货币类型,8字节bit占用一个二进制的位,经常作为布尔类型使用三、字段的属性字段长度对于字符类型,如char和varchar,定义字段的同时可以指定字段存放的字符的个数,如定义字段为sNamevarchar(20)对于数值型的字段,如int,float等,系统自动定义其占用的字节数。decimal由用户自己定义长度和小数位数。小数位数用于decimal和货币类型的字段自动增量用于数据库表的记录号的自动增加,常用于做表中记录的主键默认值当表中新增加一个记录时,又不想具体指定某个字段的值。可以给它一个默认的值非空限制用于限制字段的值不能为空。例如学生的姓名字段,每一个记录都必须有值。关键字关系模式中的主键,用于唯一标识数据库表中的记录。1、设计表结构(1)进入企业管理器(2)展开要操作的数据库(3)单击右键,选择创建表(4)输入字段名,确定每个字段的类型(5)保存,为表起名注:用鼠标选择某列后,再用鼠标点击工具栏上的钥匙可将该列设定为主键。2、输入记录(1)右击表,选择“打开表返回所有行”(2)直接输入数据四、创建表的过程将编号设为主键包括删除字段、插入字段、移动字段、修改字段名、设置主关键字、设置表间关联等操作。4.4.4编辑表在表设计器中创建关联的步骤:把作为关系外键方的表(引用表)打开表设计器。在表设计器中右击选择“关系”命令并单击新建按钮。从“主键表”和“外键表”的下拉列表中,分别选择“被引用表”和“引用表”的名字。在各自下面的网格中输入分配给各表主键的列和外键的列。表设计器会建议一个关系名。若要更改这个名称,请编辑关系名文本框的内容。选择关闭按钮以创建关系。4.4.5数据库备份与恢复一、数据库备份(复制数据库文件方式)数据库存放在两个文件中,后缀为.mdf的数据文件和后缀为.ldf的日志文件,通过定期复制这两个文件来备份数据库。步骤:a)在要备份的数据库上单击鼠标右键,在弹出的快捷菜单中选择“属性”。在打开的“属性”对话框中查看数据文件和日志文件的存储路径。b)到两个文件存储的目录中找到这两个文件,定期做备份即可。要点:联机无法复制数据库文件,必须要先停止SQLSERVER服务才能将该二文件复制到目的地。打开要备份的数据库studentinf的属性窗口找到数据文件的存放路径到两个文件的存储目录中找到两个文件停止SQLSERVER服务复制数据库的两个文件到C盘根目录重新启动SQLSERVER服务二、数据库还原通过附加数据库的方式还原数据库。步骤如下:在“数据库”上单击右键,选择弹出菜单“所有任务”下的“附加数据库”输入要还原的数据库的名字还原成功备份方法之二还原方式之二小结数据库和数据表的管理:数据库级:建库删除库备份和还原数据库导入导出数据基本表级:建表表结构的设计与更改(包括修改字段属性、删除字段、插入字段、移动字段等)表数据的录入与修改(包括修改记录、删除记录、新增记录等)对表结构的操作对表数据的操作建表的步骤:1、设计表结构,指出每个字段的类型、长度、是否可以为空。2、指定该表的主键以便实现实体完整性约束。3、根据需要对某些字段指定约束条件,以实现用户自定义的完整性约束。4、建立表间的参照关系,以实现参照完整性约束。5、以上约束建立好之后,再开始录入数据,以防止不符合实际情况的非法数据的进入。以下示例用户自定义约束的建立过程:在关系模式student(sno,sname,sex,age)中,对age字段建立约束,取值为16~35。在关系模式对应的表中选择“设计表”,在右击鼠标后弹出的快捷菜单中选择CHECK约束选择“新建”命令按钮,并在“约束表达式”下面输入约束条件作业:1、建立一个名字为stumanage的数据库,该库中包含三个表,tblStudent,tblSelectCourse,tblCourse,内容如下:cNocNameF001德语F002日语F003英语J001软件开发J002计算机文化J003操作系统X003心理学G005管理学课程表tblCoursesNosNamebirthdaysex01005001朴寻1990-01-20男01005003顾争1991-11-12男02002001王月1991-03-10女02002002李靖1990-05-05男03001001张成功1992-02-01男03001002蒋云1991-11-22女03017031郭洁1991-12-09女02008013张简1992-03-13女学生表tblStudentsNocNoscore01005001F0019901005001J0018902008013G0057603001001J0017802008013J0029102002001F0019802002001X00310001005001G0057802008013X0038702002001J00191学生选课表tblSelectCourse要求如下:需建立选课表tblSelectCourse与学生表tblStudent和课程表tblCourse之间的参照关系。为学生表tblStudent的sex属性只能为‘男’或‘女’,且默认值为’男’,选课表tblSelectCourse的score属性的取值范围为0到100之间2、备份数据库stumanage,并将该备份文件以及stumanage_Data.MDF和stumanage_Log.LDF文件复制到优盘保存,以备下次使用。