您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > SQL Server 2005 数据库应用与开发教程
SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第1页第2章数据库对象的建立和维护SQLServer2005数据库应用与开发教程清华大学出版社教学目标教学重点教学过程SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第2页教学目标理解和掌握数据库及数据库对象的概念和特点掌握如何在对象资源管理器中创建数据库掌握如何在对象资源管理器中创建数据库对象SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第3页教学重点数据库的概念及创建系统提供的数据类型使用对象资源管理器创建表如何修改表结构使用对象资源管理器创建索引使用对象资源管理器创建视图SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第4页教学过程数据库表索引视图SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第5页2.1数据库SQLServer2005的数据库是所涉及的对象以及数据的集合。它不仅反映数据本身的内容,而且反映对象以及数据之间的联系。本节主要介绍SQLServer2005的数据库的基本概念及创建、删除、修改数据库的基本操作。SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第6页2.1.1数据库的基本概念1.逻辑存储结构数据库的逻辑存储结构是指数据库是由哪些性质的信息组成的。SQLServer的数据库是由表、视图、索引等各种不同的对象所组成。SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第7页数据库对象说明表由行和列构成的集合,用来存储数据键表中的列数据类型定义列或变量的数据类型约束用于保证表中列的数据的完整性规则默认值为列提供默认数值索引用于快速查找所需信息视图用于实现用户对数据的查询并能控制用户对数据的访问。SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第8页2.逻辑存储结构数据库的物理存储结构是讨论数据库文件是如何在磁盘上存储的。一个数据库文件至少应包含一个数据库文件和一个事物日志文件。SQLServer2005中每个数据库包括主数据库文件、辅助数据库文件和事物日志文件SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第9页数据库文件说明主数据库文件是数据库的起点,指向数据库中文件的其它部分。该文件是数据库的关键文件,包含了数据库的启动信息,并且存储部分或者是全部数据。主文件是必选的,即一个数据库有且只有一个主数据库文件。其扩展名为mdf。简称主数据文件。辅助数据库文件用于存储主文件中未包含的剩余数据和数据库对象,辅助数据文件不是必选的,即一个数据库有一个或多个辅助数据文件,也可以没有辅助数据文件。其扩展名为ndf。事物日志文件用于存储恢复数据库所需的事物日志信息,是用来记录数据库更新情况的文件。事物日志文件也是必选的,即一个数据库可以有一个或多个事物日志文件。其扩展名为ldf。SQLServer2005数据库应用与开发教程清华大学出版社一个数据库可以有一个或多个数据库文件,一个数据库文件只属于一个数据库。只能有一个主数据库文件。采用多个数据库文件来存储数据的优点:–数据库文件可以不断扩充,而不受操作系统文件大小的限制;–可以将数据库文件存储在不同的硬盘中,这样可以同时对几个硬盘做数据存取,提高了数据处理的效率。对于服务器型的计算机尤为有用。2020年5月13日第10页SQLServer2005数据库应用与开发教程清华大学出版社事务日志文件–事务日志文件是用来记录数据库更新情况的文件,扩展名为.ldf。–例如使用INSERT、UPDATE、DELETE、等对数据库进行更的操作都会记录在此文件中–而如SELECT等对数据库内容不会有影响的操作则不会记录在案。–一个数据库可以有一个或多个事务日志文件2020年5月13日第11页SQLServer2005数据库应用与开发教程清华大学出版社SQLServer中采用“Write-Ahead(提前写)”方式的事务,即对数据库的修改先写入事务日志中,再写入数据库。其具体操作是,系统先将更改操作写入事务日志中,再更改存储在计算机缓存中的数据,为了提高执行效率,此更改不会立即写到硬盘中的数据库,而是由系统以固定的时间间隔执行CHECKPOINT命令,将更改过的数据批量写入硬盘。2020年5月13日第12页SQLServer2005数据库应用与开发教程清华大学出版社SQLServer有个特点,它在执行数据更改时会设置一个开始点和一个结束点,如果尚未到达结束点就因某种原因使操作中断,则在SQLServer重新启动时会自动恢复已修改的数据,使其返回未被修改的状态。当数据库破坏时,可以用事务日志恢复数据库内容。2020年5月13日第13页SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第14页2.1.2数据库的创建在对象资源管理器中,可以使用图形工具创建数据库,具体步骤略。注意:一个数据库最多可以创建32,767个文件组,文件组不能独立于数据库文件而建立,文件组是管理数据库中一组数据文件的管理机制。文件组中只能包含数据文件,不能包含日志文件。SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第15页2.1.3数据库的修改使用对象资源管理器进入到数据库的属性对话框对数据库进行修改SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第16页2.2表表是数据库中最重要的对象,包含着数据库中的所有数据。在SQLServer2005中一个数据库最多可以存储20亿个表。表由行和列组成,行表示唯一的一个记录,每行最多可以存储8192个字节。列表示数据库的一个属性,每个表最多可以存储1024列。SQLServer2005数据库应用与开发教程清华大学出版社在考虑数据库的空间分配时,需要了解如下规则:–所有数据库都包含一个主数据库文件与一个或多个事务日志文件,此外,还可以包含零个或多个辅助数据库文件。–实际的文件都有两个名称:操作系统管理的物理文件名和数据库管理系统管理的逻辑文件名。数据库文件和事务日志文件的默认存放位置为:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data文件夹。–在SQLServer2005中,数据的存储单位是页(Page)。一页是一块8KB(8~1024字节)的连续磁盘空间,页是存储数据的最小单位。页的大小决定了数据库表的一行数据的最大大小。–在SQLServer中,不允许表中的一行数据存储在不同页上,即行不能跨页存储。–在SQLServer2005中,一行数据的大小(即各列所占空间的和)不能超过8060字节。2020年5月13日第17页SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第18页2.2.1表的数据类型(1)字符型:char、nchar、varchar、nvarchar、text、ntext;(2)数型int、bigint、smallint、tinyint、decimal/numeric、float、real;(3)货币类型:money、smallmoney;(4)时间类型:datetime、smalldatetime;(5)二进制类型:binary、varbinary、image;(6)其他类型:bit、XML、Timestamp、Uniqueidentifier,crusor、sql_variant;SQLServer2005数据库应用与开发教程清华大学出版社整数类型数据类型范围存储bigint-2^63(-9,223,372,036,854,775,808)到2^63-1(9,223,372,036,854,775,807)8字节int-2^31(-2,147,483,648)到2^31-1(2,147,483,647)4字节smallint-2^15(-32,768)到2^15-1(32,767)2字节tinyint0到2551字节SQLServer2005数据库应用与开发教程清华大学出版社字符数据类型CHAR(n)与VARCHAR(n):–n的取值为1到8000;–CHAR(n),若输入数据的字符数小于n,则系统自动在其后添加空格来填满设定好的空间。若输入的数据过长,将会截掉其超出部分。–VARCHAR(n),VARCHAR数据类型具有变动长度的特性,因为VARCHAR数据类型的存储长度为实际数值长度,若输入数据的字符数小于n,则系统不会在其后添加空格来填满设定好的空间。–CHAR数据类型长度固定,它比VARCHAR类型的处理速度快。SQLServer2005数据库应用与开发教程清华大学出版社3.2.11新数据类型SQL_VARIANT–可以存储除文本、图形数据(TEXT、NTEXT、IMAGE)和TIMESTAMP类型数据外的其它任何合法的SQLServer数据–sql_variant的最大长度可以是8016个字节。这包括基类型信息和基类型值。实际基类型值的最大长度是8,000个字节。TABLE–TABLE数据类型用于存储对表或视图处理后的结果集。这一新类型使得变量可以存储一个表,从而使函数或过程返回查询结果更加方便、快捷。SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第22页2.2.2创建表创建一个数据库表主要是对表中的列属性进行定义,注意,同一个表中不允许出现重名列,每一个列名可以长达128个字符,可以包含中文、英文字母、“#”号、“¥”货币符号、下划线和@符号。在对象资源管理器中,可以使用图形工具创建数据库,具体步骤略。SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第23页2.2.3创建约束约束是SQLserver提供的自动保持数据库完整性的一种方法在SQLserver2005中提供了六种约束:主键约束、唯一性约束、检查约束、默认约束、外键约束和NULL约束。SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第24页1.主键约束主键是最重要的约束类型表中定义主键的列只能包含唯一的值一个表中只能有一个主键且不允许用NULL来定义主键的值可以指定多个列的组合作为主键,这多个列中每一个列都不能出现NULL值,此时一个列中可以出现重复值。但所有列的组合值必须是唯一的。Text和Image数据类型不能被指定为主键。SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第25页2.唯一性约束唯一性约束确保输入到在约束中定义的一个或几个列中只能是唯一值表中定义主键的列只能包含唯一的值一个表中可以定义多个唯一性约束,,唯一性约束可以为NULL值当向表中的列添加唯一性约束后,SQLServer2005将自动检查此列中的数值,以保证数据的唯一性SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第26页3.检查约束检查约束即是对表中的数据设置检查条件,来保证数据的完整性一个表中可以定义多个检查约束。SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第27页默认约束指用户在进行插入操作时,没有显示为列提供的数据,那么系统将默认值赋给该列,默认值约束所提供的默认值可以为常量、函数、系统函数、空值等,对于表中,每一列只能定义一个默认约束,对于具有IDENTITY属性和timestamp数据类型的字段,不能使用默认约束。同时定义的默认值不允许高过对应字段的允许长度。4.默认约束SQLServer2005数据库应用与开发教程清华大学出版社2020年5月13日第28页5.外键约束外键约
本文标题:SQL Server 2005 数据库应用与开发教程
链接地址:https://www.777doc.com/doc-5320212 .html