7.2 使用SQL Server 2005 管理数据库

  SQL Server 2005是微软继SQL Server 2000后5年发布的一款新的数据库产品。SQL Server 2005不仅增加了许多功能,同时也在UI、管理工具、性能上做了很多的优化。使用SQL Server 2005管理网站数据库,不仅提高了开发中数据的存储和读写的效率,也更加方便了数据的管理。

7.2.1 初步认识SQL Server 2005
  相比于SQL Server 2000,SQL Server 2005在安装上更加的简单,基本上无需手动配置任何事情即可安装。在安装之前,SQL Server 2005会检查宿主机器的配置是否适合安装SQL Server 2005,如果机器的配置适合安装SQL Server 2005,则会进入安装主界面。SQL Server 2005的安装向导是基于Windows的安装程序,用户使用起来更加友好,并且在安装过程中为用户提供了可选方案,让用户选择自己需要的组件安装。

  当安装完毕后,用户可以打开SQL Server 2005软件体系中的SQL Server Management来配置和管理SQL Server 2005。并进行数据操作。在进入SQL Server Management时,对每个连接SQL Server 2005都要求一个连接实例,进行身份验证,如图7-2所示。
SQL Server 2005身份验证
图7-2 SQL Server 2005身份验证
  用户可以以Windows身份验证的方式登录到SQL Server 2005管理工具中,也可以使用SQL Server身份验证的方式登录到SQL Server 2005管理工具,相比之下,SQL Server身份验证的方式更加安全。登入后SQL Server Management管理工具界面如图7-3所示。
SQL Server Management管理工具界面
图7-3 SQL Server Management管理工具界面
  在SQL Server Management管理工具中,表的操作与SQL Server 2000中并没有太大的差别,但是SQL Server 2005中没有了查询分析器,取而代之的是在SQL Server 2005中,可以直接在同一个窗口进行查询和数据操作,只需要单击导航栏上的【新建查询】按钮即可,如图7-3所示。
SQL Server Management进行查询
图7-4 SQL Server Management进行查询
  对于普通的应用而言,SQL Server 2005与SQL Server 2000并没有太大的区别。而对于高级的应,SQL Server 2005做了相应的优化,SQL Server 2005的操作更加友好,在数据的存储等性能上也有较大的提升。


7.2.2 创建数据库
  使用SQL Server Management管理工具可以快速的创建数据库,在SQL Server Management管理工具中左侧的【对象资源管理器】选项中单击【数据库】选项,右击相应数据库,在下拉菜单中选择【新建数据库】。选择后,系统会显式一个创建数据库的向导,如图7-5所示。
创建数据库
图7-5 创建数据库
  通常来说,对于一般的应用,只需要填写数据库的名称,而数据和日志逻辑名称系统会自己填写。当有其他需求时,用户也可以更改逻辑名称,以及数据库存放的物理地址。在数据库的创建过程中,可以选择数据库的初始大小,最大值为多少,并且设置增量。当单击【确定】按钮后系统就创建完成数据库“mytable”,如图7-6所示。
完成数据库的创建
图7-6 完成数据库的创建

  对于任何可以使用SQL Server Management管理工具执行的操作,都可以通过SQL结构化查询语句来实现,同样,创建表的过程能够通过SQL语句来实现,示例代码如下所示。
+展开
-SQL
    CREATE DATABASE mytable
    GO

  在SQL Server Management管理工具中,新建查询,并将上述代码复制到代码块中,单击【执行】按钮,则会创建一个表mytable。上述代码只是创建了一个简单的没有任何约束或功能的表,在SQL语句创建表语句中,使用ON子句可以设置数据库文件的属性,ON子句的参数如下所示。
1)PRIMARY:设置主文件,ON子句中只能出现一个PRIMARY。
2)NAME:指定文件的逻辑名称。
3)FILENAME:指定文件的物理路径和名称。
4)SIZE:指定文件的初始大小。
5)MAXSIZE:指定文件大小的最大值。
6)UNLIMITED:指定文件将增长到磁盘变满位置。如果不指定此参数,当文件大小达到了MAXSIZE时,将存储为另外一个数据文件。
7)FILEGROWTH:定义文件的增长量。
  当不指定以上参数时,系统会以默认方式创建数据库。若需要通过使用语句来自定义创建数据库,则可以使用ON子句并附上参数。示例代码如下所示。
+展开
-SQL
    CREATE DATABASE mytable
    ON
    PRIMARY (NAME=table1,
    FILENAME='C:\PROGRAM FILES\MICROSOFT SQL SERVER\MSSQL\DATA\MYTABLEDAT1.MDF',
    SIZE=100MB,MAXSIZE=200,FILEGROWTH=20)
    GO

  上述代码创建了一个mytable表,并指定了主文件为table1,文件路径为C:\PROGRAM FILES\MICROSOFT SQL SERVER\MSSQL\DATA\MYTABLEDAT1.MDF,并指定了初始大小为100m,最大大小为200m。


7.2.3 删除数据库
  在SQL Server Management管理工具中,可以直接对数据库进行删除操作。在对象资源管理器中,选中需要删除的数据库,右击选中的数据库,在下拉菜单中选择【删除】选项,SQL Server Management管理工具出现一个删除向导,如图7-7所示。
删除数据库
图7-7 删除数据库

  通常情况下,删除功能能够快速并安全的执行删除,但是有的时候,如数据库的连接正在被打开或数据库中的信息正被使用,那么就无法执行删除,必须勾选【关闭现有连接】复选框关闭现有连接。与创建数据库相同的是,删除数据库也可以使用SQL语句执行,删除数据库的SQL语法如下所示。
+展开
-SQL
    DROP DATABASE <数据库名>

  当需要删除mytable数据库时,可以编写相应的SQL删除语句执行删除操作,示例代码如下所示。
+展开
-SQL
    DROP DATABASE mytable
    GO



7.2.4 备份数据库
  在数据库的使用中,通常会造成一些不可抗力或灾难性的损坏,如人工的操作失误,不小心删除了数据库,或出现了断电等情况,造成数据库异常或丢失。为了避免数据库中重要数据的丢失,就需要使用SQL Server Management管理工具来备份数据库。

  SQL Server Management管理工具备份数据库也非常的简单,在对象资源管理器中选择需要备份的数据库,右击需要备份的数据库,选择【任务】菜单,在【任务】菜单中单击【备份】按钮。单击【备份】按钮后,系统会出现一个备份向导,如图7-8所示。
备份数据库
图7-8 备份数据库
在备份数据库向导中,可以选择相应的备份选项,通常的备份选项有:
1)数据库:需要备份的数据库。
2)恢复模式:数据库的恢复模式。
3)备份类型:数据库的备份类型,通常有完全备份、差异备份、事物日志。
4)备份组件:通常可选数据库类型和文件类型。
5)名称:备份的名称。
6)说明:备份数据库所说的说明。
7)备份集过期时间:备份集过期的事件,可以设置过期时间。
8)备份到:选择备份的物理路径,可以选择备份到磁盘或磁带中。
  如果有其他的数据库备份需求,则可以选择是备份数据库还是文件和文件组,并且可以配置数据库的备份模式。当配置好备份选项后,单击【确定】按钮,系统会提示备份成功。


7.2.5 还原数据库
  当系统数据库出现故障时,就需要还原数据库,还原数据库的文件来自之前备份的数据库。在数据库还原之前,可以先将mytable数据库删除,通过还原来恢复数据库。在对象资源管理器中,右击相应的数据库,在下拉菜单中选择【恢复数据库】选项。系统会出现一个还原向导,如图7-9所示。
还原数据库
图7-9 还原数据库
注意:这里的“数据库”是所有数据库的统称的,并不是某个数据库,是数据库的集合。

  当还原数据库时,向导会要求用户填写目标数据库。目标数据库可以是一个现有的数据库,也可以是一个新的数据库。在【还原的源】选项中,可以选择【源数据库】选项进行恢复,也可以选择【源设备】选项进行恢复。这里可以选择【源设备】进行恢复,如图7-10所示。
指定备份
图7-10 指定备份

  单击【添加】按钮选择备份文件,如图7-11所示。
选择备份文件
图7-11 选择备份文件
备份文件选择完毕后,可以直接单击确定,向导自动完成一些项目的填写,无需用户手动填写,如图7-12所示。备份向导完成
图7-12 备份向导完成

  单击【确定】按钮即可完成数据库的恢复,可以看见在对象资源管理器中,mytable数据库又恢复了。备份数据库是一个非常良好的习惯,因为数据库保存着应用程序的所有信息,一旦数据丢失就会造成无法挽回的影响或亏损,经常备份数据库能够在数据丢失时进行数据的恢复,将应用程序的影响降低到最小。


7.2.6 创建表
  在创建了数据库之后,就需要创建表来保存数据,SQL Server Management管理工具可以可视化的为用户创建表操作。在定义表的结构中,需要说明表由哪些列组成,并且需要指定这些列的名称和数据类型。通过SQL Server Management管理工具可以可视化的创建表结构。在对象资源管理器中,选择相应数据库,右击相应的数据库,在下拉菜单中选择【新建表】选项,单击【新建表】按钮,系统会弹出一个新的TAB窗口,该窗口可以视化的让用户创建表,如图7-13所示。
创建表
图7-13 创建表

  创建表中的列时,必须指定名称和数据类型。在上述创建表的过程中,创建了int数据类型的字段id和nvarchar数据类型的字段title。

  在表的结构中,有的列可以被设置为惟一的标识,如学生表中的学号,当设置了惟一的标识后,此列的数据在表中必须是惟一的、不能重复的。通常情况下,将表中的ID标识设置为主键。主键可以有效的约束添加到表中的值,被称为主键约束。为了保证约束主键和数据的完整性,定义的主键的字段将不允许插入空值。

技巧:在设计器中,在相应的字段上单击右键,选择“设置主键“即可将该字段设置为主键。

  在应用程序开发中,通常需要将数据库中的编号设置为主键,通过编号来筛选内容。例如,当开发一个新闻系统中,新闻系统的编号是不应该重复的,所以可以设置为主键。同时,对int类型的主键可以设置为自动增长,当插入数据时,系统会根据相应的id号自动增长而不需要通过编程实现。在设计器中,可以为int类型的字段设置为自动增长,如图7-14所示。
设置自动增长
图7-14 设置自动增长

  将相应的字段设置了自动增长时,当插入一条数据,如果该表中没有任何数据,则表中的该字段为1,当再次插入数据时,该字段则会自动增长到2。在应用程序开发中,自动增长的字段经常被使用。

注意:当设置了主键,并配置了标识规范,就是配置自动增长,则在编写SQL的INSERT语句时无需向自动增长的列插入数据。

  通过SQL Server Management管理工具可以创建表,也可以通过SQL语句创建表,创建表的语法结构如下所示。
+展开
-SQL
    CREATE TABLE 表名
     (
        列名 数据类型,
        列名1 数据类型
    ….
    )

  在创建表中的字段时,也可以使用关键字来约定字段。例如可以使用IDENTITY关键字来定义一个字段为自动增长列。也可以使用PRIMARY KEY关键字定义当前列为为主键。同样,当规定用户插入一个列时,必须填写字段,则可以使用NOT NULL关键字。示例代码如下所示。
+展开
-SQL
    CREATE TABLE mynews
     (
        ID INT IDENTITY PRIMARY KEY,
        TITLE NVARCHAR(50)
    )

注意:当使用语句创建数据库时,必须在导航栏中选择相应的数据库,默认的数据库为master,在执行SQL语句前需选择相应操作的目标数据库。


7.2.7 删除表
  使用SQL Server Management管理工具能够快速的删除表。在对象资源管理器中,右击相应表,在下拉菜单中选择【删除】选项即可,如图7-15所示。
删除表
图7-15 删除表
删除表与前面的删除数据库的操作非常的像,只需单击【确定】按钮即可删除该表。同样,在删除表时,也可以使用SQL语句删除表,语法结构如下所示。
+展开
-SQL
    DROP TABLE 表名称

当需要删除mynews表时,可以使用DROP语句来删除,示例代码如下所示。
+展开
-SQL
    DROP TABLE mynews



7.2.8 创建数据库关系图
  在大型关系型数据库中,数据表很多,关系非常复杂。通过关系图,可以很清楚的分析数据库中表的关系。同时,通过这个关系图,你也可以对这些关系进行操作,可以说是一个图形化的关系操作入口。

  在SQL Server Management管理工具中,单击相应的数据库,选择数据库关系图,单击右键,在下拉菜单中选择【新建数据库关系图】选项,系统会提示选择表来创建数据库关系图,如图7-16所示。选择需要的数据库中的表,单击【添加】按钮,则会出现关系图,如图7-17所示。
创建数据库关系图
图7-16 创建数据库关系图
数据库关系图
图7-17 数据库关系图

  在数据库关系图中,可以设置表与表之间的约束,可以拖动关系图中的字段,并建立关系,系统会自动建立表和列的关系,如图7-18所示。
创建约束
图7-18 创建约束
选择了相应的列值之后,系统会提示填写表和列的规范,来规范外键的约束,建立约束,规范表与表之间的关系,如图7-19所示。
建立规范
图7-19 建立规范

  单击【确定】按钮即可保存关系图。数据库关系图通过使用外键加强两个表数据之间的连接。外键(FOREIGN KEY)是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接,这个列就成为第二个表的外键。FOREIGN KEY约束的主要目的是控制存储在外键表中的数据,但它还可以控制对主键表中数据的修改。

  例如,当有一个学生管理系统,这个系统中有一个学生的学号为20051183049,那么这个学生就会有一系列的数据,包括成绩、选修等。当这个学生毕业,注销该学生,或者这个学生经常不上课,要删除该学生的信息时,如果只删除这个学生的信息,而不删除这个学生的成绩、选修等信息就会会造成其他的表中的数据的完整性被破坏,在这时就需要使用外键约束即在删除学生信息时一同删除学生的其他信息以保证数据库的完整性。另外,通过数据库关系图,也可以良好的表达和操作表与表之间的关系。

加支付宝好友偷能量挖...


评论(0)网络
阅读(119)喜欢(0)Asp.Net/C#/WCF