D3_关系数据库的创建与维护_第1页
D3_关系数据库的创建与维护_第2页
D3_关系数据库的创建与维护_第3页
D3_关系数据库的创建与维护_第4页
D3_关系数据库的创建与维护_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章 关系数据库的创建与维护 uSQl Server 2005概述uSQL Server数据库组成 u数据库的创建和维护数据库的创建和维护数据表的创建和维护数据表约数和数据完整性控制索引的创建和维护3.1Microsoft SQL Server 2005概述概述 Microsoft SQL 是Microsoft公司在Windows平台上开发一个高性能关系数据库管理系统。它支持关系数据库的创建和管理。可以应用在网络环境下客户机/服务器、浏览器/服务器结构的信息系统中,作为支持联机事务处理系统、联机分析处理系统的数据库服务器。 类似地,还有很多商用数据库管理系统,例如Oracle公司的Oracl

2、e,IBM公司的DB2等也经常用于建设大规模的信息系统。还有,桌面型数据库管理系统,例如Microsoft 公司的Foxpro, Access等,可用于构建小型信息系统。n数据库管理系统(DataBase Management System, DBMS)是数据库系统的一个重要组成部分,是位于应用程序与操作系统之间的一层数据管理软件。数据库应用程序提出数据操作要求,通过DBMS,才能访问数据库。数据库管理员也是通过DBMS对数据库实施管理。 DBMS是创建和使用数据库必不可少的软件!什么是数据库管理系统?什么是数据库管理系统?(1)数据定义(2)数据操纵(3)数据库运行管理(4)数据库维护(5)

3、支持数据库语言数据库管理系统数据库管理系统 的主要功能的主要功能建立数据库,定义数据库的模式结构、数据库的完整性约束规则和安全性控制方式实现对数据库中数据的检索以及更新(包括插入、删除和修改)包括并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部管理和维护数据库的备份和恢复、导入和导出功能,数据库的重组功能和性能监视、分析功能等支持使用数据库语言来使用和管理数据库,关系型DBMS支持SQL语言(1)图形化的操作环境 Windows风格的可视化操作环境,易于学习和使用。(2) 高性能的数据库管理和使用功能 支持高性能应用,支持分布式查询访问多数据源、充分的数据库完整性保护等。 (3)

4、 可伸缩性和高度可用性 根据访问量动态使用软、硬件资源;支持从 KB 到TB 数量级的数据库;7*24可用性。(4)与Internet应用的集成 提供了丰富的XML支持,可以轻松地存储和检索数据,并将查询结果直接用于各种网页程序。 (5) 对数据仓库的支持 提供数据仓库组建和数据分析工具,有效支持决策分析处理。 SQL Server的主要特性的主要特性 3.1.3 SQL Server主要管理工具主要管理工具 SQL Server提供了一整套数据库系统管理工具和实用程序提供了一整套数据库系统管理工具和实用程序,打开,打开“开始开始/程序程序/Microsoft SQL Server2005 ”

5、菜单即菜单即可看到如下所示的可看到如下所示的SQL Server程序组程序组 : 1SQL Server Management Studio SQL Server Management Studio 是一个管理平台,它集成了多个图形工具和丰富的脚本支持,用于建立、访问、配置、控制、管理和开发数据库。使用它可以对SQL Server服务器、数据库及数据库对象进行管理。n启动SQL Server Management Studio 选择“开始/程序/Microsoft SQL Server2005/ SQL Server Management Studio”菜单出现“连接到服务器”窗口。服务器类型

6、:指明要连接的服务。如服务器类型:指明要连接的服务。如果是管理和访问数据库服务器,选择果是管理和访问数据库服务器,选择“数据库引擎数据库引擎”。服务器名称:选择或输入该服务器的服务器名称:选择或输入该服务器的计算机名称或计算机名称或IPIP地址,也可输入地址,也可输入“. .”或或“(locallocal)”,表示本机服务器。,表示本机服务器。身份验证:指明验证方身份验证:指明验证方式。注意式。注意SQL ServerSQL Server身身份验证需用户名和密码,份验证需用户名和密码,默认用户为默认用户为“sasa” 。SQL Server Management Studio已在本SQL Se

7、rver Management Studio下注册的服务器,可启动或停止服务器,更改连接选项所有数据库对象的树型视图。可以浏览、管理、维护所有数据库对象。当选择某一数据库对象后,中间的“摘要”窗口自动显示该对象所包含的下一级对象或该对象的详细内容。创建数据库对象所需要使用的基本SQL语句段的文件,对复杂脚本定义提供一种快捷支持,可方便地利用模板创建各种数据库对象 方便对脚本的集中编辑、保存和管理。可建立一个项目对多个脚本进行管理,多个项目又可作为一个解决方案。SQL Server Management Studio“新建查询”可打开查询编辑器窗口,用于编辑SQL语句,执行和查看结果。例如,查询

8、学生表的信息:2SQL Server Configuration Manager 管理与SQL Server相关联的服务。启动: “开始/程序/Microsoft SQL Server2005/配置工具/SQL Server Configuration Manager” 。点击左边的“SQL Server 2005服务”,右边窗格显示所有SQL Server服务,包括已注册的不同数据库服务器实例的服务。这些服务是SQL Server提供各项管理和服务功能的基础,如果服务停止,相关功能就无法使用。服务有3种状态:停止(红色)、启动(绿色)、暂停(蓝色)。SQL Server的核心服务组件,是实际

9、的数据库服务器,该服务启动后,客户端才可以连接到服务器。一般的数据库功能都由它提供。作业调度和管理,支持数据库定时、自动备份、维护,监视数据库、异常告警等功能,必需和SQL Server服务一起使用。対数据仓库、商务智能和line-of-business解决方案提供分析支持侦听对SQL Server 资源的传入请求,提供计算机上安装的 SQL Server 实例的有关信息支持基于全文索引的数据库表的全文搜索服务可用于数据质量管理和数据清洗。通过数据分析和数据挖掘,实现数据提取、转换和加载。 SQL Server2005网络配置,支持完成本计算机上的 SQL Server服务器的网络协议管理,如

10、Shared Memory、TCP/IP、Named Pipes等,主要任务包括:启动或停止某个网络协议,配置网络协议,例如修改协议所用端口、加密方法等。SQL Native Client 配置,支持配置本服务器上运行的客户机程序的网络协议。其他客户机上需要安装并配置SQL Native Client来支持客户机程序与SQL Server连接。主要功能:指定连接到 SQL Server 时的协议顺序,配置客户端连接协议,创建 SQL Server 的别名,使客户端能用自定义连接字符串进行连接。 数据库在信息系统中用于实现数据的存储和管理,它是SQL Server的主要管理对象。3.2 SQL

11、Server数据库基础数据库基础 数据库不仅存储数据,所有与数据结构、数据处理操作有关的信息也都存储其中。 因此,数据库并不是简单的数据集合!SQL Server数据库管理的数据库对象有两类:系统数据库和用户自定义数据库。 SQL Server数据库分类数据库分类 (1)系统数据库:存放SQL Server工作时所需要的系统级信息,系统自动维护和管理。数据库数据库主要作用主要作用master从整体上控制SQL Server系统和用户数据库的运行。保存登录标识、系统配置、用户数据库基本信息等。该库非常重要,应设置权限禁止一般用户访问,另外要及时备份model是新建数据库的模板,包含了每个用户数据

12、库都需要的一些系统表,SQL Server以它为基础创建新的数据库msdb支持SQL Server Agent服务,它记录有关作业、警报、操作员等信息tempdb是一个临时数据库,它为SQL Server的查询、存储过程等的执行提供临时存储SQL Server数据库分类数据库分类 (2)用户自定义数据库:用户根据数据管理的需要建立的数据库,由用户创建和维护。 例如,为了管理教务信息,可建立教务系统数据库,为了实现网上书店,建立图书销售数据库等。 SQL Server自带了3个样本数据库,供用户学习使用:AdventureWorks是个OLTP数据库示例AdventureWorksDW是个OLA

13、P数据库仓库示例AdventureWorksAS是个分析服务数据库示例表:存储数据的二维关系表表:存储数据的二维关系表视图:通过查询从一个或多个数据视图:通过查询从一个或多个数据表获得的虚拟表,可简化用户数据表获得的虚拟表,可简化用户数据显示、增强数据库安全性显示、增强数据库安全性可编程性:包括存储过程、触发器、规可编程性:包括存储过程、触发器、规则、函数、默认值等则、函数、默认值等安全性:包括用户、角色、密钥、证书等安全性:包括用户、角色、密钥、证书等 数据库由一组存储、管理和使用数据的对象构成。这些对象及相互关系构成了数据库逻辑存储结构。观察master数据库,可看到数据库所包含的主要对象

14、:SQL Server数据库组成数据库组成数据库文件在磁盘上存储的数据库文件有三种:数据库的物理存储结构数据库的物理存储结构 主数据文件主数据文件:用来存储数据库的系统表和所有对象启动信息,并且存储数据库的数据。每个数据库都有且只有1个主数据文件。主数据文件使用.MDF为扩展名。次数据文件次数据文件:用来存储不能置于主数据文件中的其他数据。每个数据库可以包含0个或多个次数据文件。扩展名为.NDF。事务日志文件事务日志文件:记录SQL Server执行的所有事务以及由这些事务操作引起的数据库的变化,可用于恢复数据库。 每个数据库至少包含1个事务日志文件,扩展名为.LDF。每个数据库至少包含2个文

15、件:主数据文件主数据文件和事务日志文件事务日志文件。(2) 数据文件组l用户自定义文件组(User_defined):指在创建或更改数据库时,用户明确创建的任何文件组。 l主文件组(Primary):包含主数据文件和其它文件。所有系统表都包含在主文件组中 例如:将两个不同物理磁盘上的数据库文件组成一个文件组,在该组上建立的数据表中的数据会存储在不同的物理设备上,查询操作可能并行。 文件组是用户对数据库文件(不包括事务日志文件)进行分组而形成的。合理使用文件组对数据进行分布存储,可以提高表中数据的操作性能。 若不指定用户定义文件组,则所有数据文件都包含在主文件组中。一个文件只能是一个文件组的成员

16、,一个文件或文件组只能被一个数据库使用!3.3数据库的创建与维护数据库的创建与维护 1. 数据库创建数据库创建 数据库创建就是在磁盘上建立数据库文件的过程。下面通过一个实例介绍使用Management Studio创建数据库的步骤和方法 。【例3.2】 创 建 数 据库School,它包含主数据文件SchoolDB.MDF,初始大小为5MB,事务日志文件SchoolDB_log.LDF,并将这 两 个 文 件 建 立 在C:DBExample文件夹下,其他按照默认设置不变。【例3.2】操作步骤:操作步骤: 在桌面上选择“我的电脑”,在C:下新建文件夹,命名为“DBExample”。 在对象资源

17、管理器窗口右击“数据库”,从快捷菜单中选择“新建数据库”命令,将弹出 “新建数据库”对话框。 提示:提示:SQL Server以model数据库为模板创建一个新的数据库,其数据文件的默认值为:初始大小3MB,以1MB自动增长,不限制增长;事务日志文件的默认值为:初始大小1MB,按10%的比例自动增长,不限制增长。 将数据文件的逻辑名称修改为“SchoolDB”,在路径下的文本框输入或点击其后“”按钮选择修改数据库文件的位置为“C:DBExample”。在初始大小后的文本框中把3改为5。 将日志文件的逻辑名称修改为“SchoolDB_log”,“路径”设置为“C:DBExample”。 单击“确

18、定”按钮,数据库创建完成。 “选择页”默认为“常规”,在“数据库名称”文本框中输入“School”。 使用“我的电脑”查看“C:DBExample”文件夹,可以看到文件SchoolDB和SchoolDB_log。建好的School数据库在对象资源管理器展开的“数据库”下可以看到,并且系统在School下自动创建了其包含的相关对象。 2. 数据库维护数据库维护 数据库创建后,磁盘上的数据文件和日志文件名就不能改变了。对已存在的数据库可以进行如下的修改:增加或删除数据文件改变数据文件的大小和增长方式改变日志文件的大小和增长方式增加或删除日志文件增加或删除文件组重命名数据文件,书库文件和日志文件逻辑

19、名。(1)修改数据库)修改数据库右单击需要修改的数据库,在快捷菜单中选择“属性”命令,弹出“数据库属性”窗口。其中包含8个选项,每个选项下可对数据库的相关属性进行修改。(2)删除数据库)删除数据库操作步骤如下:操作步骤如下: 右击要删除的数据库,在弹出的快捷菜单中选择“删除”命令。 在弹出的“删除对象”对话框中单击“确定”按钮,即可删除要删除的数据库。 提示:提示:注意数据库一旦被删除,数据库文件及其数据都被从服务器上的磁盘中删除,该数据库中所有的对象均被删除,即永久性删除,不能恢复,所以删除操作要慎重!新建一个数据库操作完成后,只是建立了数据库框架和相关的系统对象, 接下来的任务是建立具体的

20、数据表 。例如:建立如下教务系统的数据库,要建立6个数据表,并建立表之间的关系。具体定义见教材P37页。3.4 数据表的创建和维护数据表的创建和维护 1)设计表结构)设计表结构,包括: 定义字段(1)创建列名、数据类型 (2)设置列属性也称列约束。包括:PRIMARY KEY:主关键字约束UNIQUE:唯一性约束CHECK:检查约束DEFAULT:默认值约束NOT NULL:非空约束IDENTITY:标识规范 保存表3)表创建后,可输入一些记录数据来检验表结构。创建数据表的一般过程:2)建立表之间的关系:)建立表之间的关系:依次建立各个表,再建立关系。1SQL Server数据类型数据表中每一

21、列都需要定义明确的数据类型,数据类型决定了该字段的数据取值类型、范围和存储格式。数据类型数据类型主要类型符号标识主要类型符号标识整型bigint、int、smallint 、tinyint浮点型float、real、decimal、numeric字符型char、varchar、nchar、nvarchar日期时间型datetime、smalldatetime文本型text、ntext图像型image货币型money、smallmoney位型bit二进制型binary、varbinary其他uniqueidentifierSQL Server的系统数据类型(1)整型 整型用于存储整数,有4种整型

22、分别用于存储不同范围的整数。数据类型数据类型数据范围数据范围占用存储空间占用存储空间bigint-263 263-18 个字节int-231 231-14 个字节smallint-215 215-12 个字节tinyint0 2551 个字节float和real是近似数值型,以科学计数法表示数据;decimal 和numeric是精确数值类型,以明确、完整的精度(固定精度和小数位数)存储数据。 (2)浮点型 浮点型用于存储含小数的十进制数。 数据类型数据类型数据范围数据范围精确度精确度占用存储空间占用存储空间float-1.79E+3081.79E+308 可精确到第15位小数8 个字节rea

23、l-3.40E+383.40E+38 可精确到第7位小数4 个字节decimal-1038+11038-1完整精度217 个字节numeric-1038+11038-1完整精度217 个字节 例如:指定某字段为精确数值型,精度为5,小数位数为5,即decimal(5,2)或numeric(5,2) , 可表示数据范围为:-999.99-999.99。decimal decimal 和和numericnumeric格式如下:格式如下:decimal |numeric(p,s)其中:p为精度,s为小数位数,s的默认值为0。 decimal 和numeric的区别在于decimal不能应用于带有Id

24、entity的列。(3)字符型和文本型 用于存储由字母、符号和数字组成的字符串。字符串常量要用单引号作为起止界限 。例如:No1。SQL Server SQL Server 字符数据类型和文本数据类型字符数据类型和文本数据类型数据类型数据类型定义格式定义格式占用存储空间占用存储空间charchar(n),存储,存储ANSI字符,字符,n表示字符串的长表示字符串的长度,度,1=n =8000定长,最大定长,最大8KBvarcharvarchar (n) ,存储,存储ANSI字符,字符,n表示字符串表示字符串可达到的最大长度可达到的最大长度1=n =8000变长,最大变长,最大8KBncharnc

25、har(n),存储,存储Unicode字符,字符,n表示字符串表示字符串的长度,的长度,1=n =4000定长,最大定长,最大8KBnvarcharnvarchar (n) ,存储,存储Unicode字符,字符,n表示字符表示字符串可达到的最大长度串可达到的最大长度1=n ”或“” 键可以移向下一个字段。 当一条记录最后一个字段输入完毕按“回车”键后,光标将自动转到下一行的第一个字段处,便可插入下一条记录。 输入完数据,单击“ ”按钮或“文件/保存”菜单。或者单击“表-dbo.Student”窗口的“关闭”按钮,添加的记录就保存到数据表中。插入记录:插入记录:5. 数据表记录维护数据表记录维护

26、 定位将要删除的记录,右击后在弹出的快捷菜单中选择“删除”命令。2)删除记录1)修改记录定位将要修改的记录字段,对该字段值进行编辑修改。 弹出删除确认对话框,单击“是”按钮即删除选择的记录。3.5 数据表约束和数据完整性控制数据表约束和数据完整性控制 数据的完整性控制:指保护数据库中的数据的正确性、有效性和相容性,防止数据库中存在不符合语义的数据,防止错误信息进入数据库,并且使数据符合所描述的业务规则。SQL Server使用表约束实现数据库完整性控制的方法:通过限制表的字段、记录以及表之间的数据来保证数据完整性。 表4-10 SQL Server数据常用完整性约束机制完整性约束作用实体完整性

27、主关键字约束(Primary Key) 保证表中记录行的唯一性唯一性约束(Unique)保证在非关键字字段不出现重复值域完整性 默认值约束(Default)对没有插入值的列自动添加表定义时对该列设置的默认值非空值约束(Not Null)限定某一列必须有值,即不允许空值检查约束(Check)限定某一列中可接受的值或数据格式参照完整性外关键字(Foreign Key) 通过表间关系约束字段值的有效性SQLServer常用数据完整性约束机制:实体完整性 主关键字约束(Primary Key)唯一性约束(Unique) 表中记录的唯一性主关键字(简称主键)是表中能保证表中记录唯一性的一个或多个字段的组

28、合。主键的值不能重复,且不能为空。一个表只能有一个主键。 唯一性约束可保证非主键列不输入重复值。对非主键字段或字段的组合强制唯一性。 对允许空值的字段强制唯一性。 【例【例3.43.4】在数据库School中定义学生表Student的主键为“StudentCode”。【例【例3.53.5】在数据库School中的学生表Student不允许出现姓名且生日相同的记录,并按姓名升序和生日降序排列,即对StudentName和Birthday字段组合定义唯一性约束。 域完整性 默认值约束(Default) 非空值约束(Not Null) 检查约束(Check) 表中字段(或称列或域)的值的有效性。 默

29、认值约束使用户能够定义一个值,每当用户没有在某一列中输入值时,则系统将所定义的值提供给这一列。 记录中的每一列均必须有值。CHECK 约束限制某一列中可接受的值或格式。 【例【例3.63.6】在数据库School的学生表Student中,设置性别Sex字段的默认值为“男”。 【例【例3.73.7】在数据库School的学生表Student中,设置StudentCode、StudentName、ClassCode、Sex字段为非空值,其他字段允许为空。 【例【例3.83.8】在数据库School的学生表Student中,设置Sex列的值只允许是“男”或“女”。 参照完整性 :外关键字(Foreign Key) 通过表间关系约束字段(或称列或域)的值的有效性。 两个建立关联关系的表中,在主表中相关字段定义了主键或唯一性约束,在外表中将相关字段定义为外关键字(简称外键),这样,外键的取值必须是主键中存在的值或NULL。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论