项目一 创建和维护数据库 课件(共68张PPT)-《SQL Server 2008数据库管理与开发》同步教学(华南理工大学出版社)

资源下载
  1. 二一教育资源

项目一 创建和维护数据库 课件(共68张PPT)-《SQL Server 2008数据库管理与开发》同步教学(华南理工大学出版社)

资源简介

(共68张PPT)
项目一 创建和维护数据库
数据库表是存储数据的基本单元,在创建数据库表之前,必须做出有关表结构的决策,包括表要包含的内容,反应到表结构上是指表将要包含哪些字段以及这些字段的数据类型。
目录
任务一
创建数据库表
任务二
修改和删除数据库表
任务三
认识主键和外键






任务一:创建数据库表
准备知识
1. 数据库相关概念
2. 数据类型
3. 空值
4.添加Identity列
1.







1. 数据库相关概念
(1)数据
数据(Data)实际上就是描述事物的符号记录。
计算机中的数据一般分为两部分,其中一部分与程序仅有短时问的交互关系,随着程序的结束而消亡,它们称为临时性(Transient)数据,这类数据一般存放于计算机内存中;而另一部分数据则对系统起着长期持久的作用,它们称为持久性(Persistent)数据。数据库系统中处理的就是这种持久性数据。
近10多年来,数据在软件系统中的地位产生了变化,在数据库系统及数据库应用系统中数据已占有主体地位,而程序已退居附属地位。在数据库系统中需要对数据进行集中、统一的管理,以达到数据被多个应用程序共享的目标。
小提示:
1.







1. 数据库相关概念
(2)数据库
数据库(Database,简称DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。
数据库存放数据是按数据所提供的数据模式存放的,它能构造复杂的数据结构以建立数据问内在联系与复杂的关系,从而构成数据的全局结构模式。
数据库中的数据具有“集成”、“共享”之特点,亦即是数据库集中了各种应用的数据,进行统一的构造与存储,而使它们可被不同应用程序所使用。
1.







1. 数据库相关概念
(3)数据库管理系统
数据库管理系统(Database Management System,简称DBMS)是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。数据库中的数据是具有海量级的数据,并且其结构复杂,因此需要提供管理工具。数据库管理系统是数据库系统的核心。
注意啦!
数据库中的数据具有共享性,而数据共享可能会引发数据的非法使用,因此必须要对数据正确使用作出必要的规定,并在使用时做检查,这就是数据的安全性。
1.







1. 数据库相关概念
(4)数据库管理员
由于数据库的共享性,因此对数据库的规划、设计、维护、监视等需要有专人管理,称他们为数据库管理员(Database Administrator简称DBA)。其主要工作如下:
1)数据库设计(Database Design)。
2)数据库维护。
3)改善系统性能,提高系统效率。
知识链接
当效率下降时,DBA需采取适当的措施,如进行数据库的重组、重构等。
1.







1. 数据库相关概念
(5)数据库系统
数据库系统(Database System简称DBS)由如下几部分组成:数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、系统平台之一——硬件平台(硬件)、系统平台之二——软件平台(软件)。这五个部分构成了一个以数据库为核心的完整的运行实体,称为数据库系统。
1.







1. 数据库相关概念
在数据库系统中,硬件平台包括:
计算机:它是系统中硬件的基础平台,目前常用的有微型机、小型机、中型机、大型机及巨型机。
网络:过去数据库系统一般建立在单机上,但是近年来它较多的建立在网络上,从目前形势看,数据库系统今后将以建立在网络上为主,而其结构形式又以客户/服务器(C/S)方式与浏览器/服务器(B/S)方式为主。
1.







1. 数据库相关概念
在数据库系统中,软件平台包括:
操作系统:它是系统的基础软件平台,目前常用的有各种UNIX(包括LINUX)与WINDOWS两种。
数据库系统开发工具:为开发数据库应用程序所提供的工具。
接口软件:在网络环境下数据库系统中数据库与应用程序,数据库与网络间存在着多种接口,它们需要用接口软件进行联接,否则数据库系统整体就无法运作。
1.







1. 数据库相关概念
(6)数据库应用系统(Database Application System简称DBAS)
利用数据库系统进行应用开发可构成一个数据库应用系统,数据库应用系统是数据库系统再加上应用软件及应用界面这三者所组成,具体包括:数据库、数据库管理系统、数据库管理员,硬件平台、软件平台、应用软件、应用界面。其中应用软件是由数据库系统所提供的数据库管理系统(软件)及数据库系统开发工具所书写而成,而应用界面大多由相关的可视化工具开发而成。
1.







1. 数据库相关概念
数据库应用系统的7个部分以一定的逻辑层次结构方式组成一个有机的整体。如果不计数据库管理员(人员)并将应用软件与应用界面记成应用系统,则数据库应用系统的结构如图所示。
数据库系统的软硬件层次结构图
1.







1. 数据库相关概念
下面以一个用户读取某数据记录为例,展示在数据库系统中访问数据的具体执行过程。
数据库访问数据的步骤
如果用户是更新一个记录内容,则执行过程类似。首先读出目标记录,并在用户工作区中进行修改,然后向DBMS发出“写回修改数据”的数据库指令即可。
拓展提高:
2.




2. 数据类型
在创建数据库表时,你必须为每一表列指定数据库类型。SQL Server提供了许多内建系统数据库类型,这些类型大致可以分成以下几类:
数值类型。如Int,Numeric等。
字符类型。如Char,Varchar等。
文本和图像。如Text和Image等。
时间日期类型。如Datetime,Smalldatetime等。
其他特殊数据类型。如Table,Sysname和Uniqueidentifier等。
2.




2. 数据类型
首先看看数值类型。下表列出了所有的数值类型的数据类型以及它们的存储容量:
数据类型 描述 存储大小
Bit 值为1、0或Null的整型数据类型,Bit列不抱括索引。 1字节
tinyInt 介于0~255之间的整数数据 1字节
smallInt 介于-2^15(-32768)与2^15-1(32767)之间的整数数据 2字节
Int 介于-2^31(-2147483648)与2^31-1(-2147483647)之间的整数数据 4字节
BigInt 一个8字节的整数数据 8字节
Binary[n] n字节的固定长度的二进制数据,n是介于1~8000之间的一个值。当一列的数据输入差别很小时,请使用Binary。 N+2字节
Varbinary[n] n字节可变长度的二进制数据,n是介于1~8000之间的一个值。当一列的数据输入差别很大时,请使用Varbinary。 输入数据的实际长度+2字节。实际长度可以是0字节
Varbinary(max) 这是SQL Server 2005新增的类型,max最大可以到达2^31-1 字节,即。当长度超过8000字节时,请使用Varbianry(max) 输入数据的实际长度+2字节。实际长度可以是0字节
2.




2. 数据类型
Decimal[p,[s]] 固定精度和刻度的数字。精度(p)指被保存数字的总位数,刻度(s)指定数字的小数点后面的位数。 根据精度不同情况,其大小可以在5~17字节之间
Numeric[p,[s]] Numeric是Decimal的同义词。在功能上等价于Decimal数据类型 根据精度不同情况,其大小可以在5~17字节之间
Real 范围在-3.40E+38到3.40E+38之间的浮点精度数字数据。 4字节
Float[(n)] -1.79E + 308 至 -3.23E - 308、0 以及 3.23E - 308 至 1.79E + 308 取决于 n 的值
Money 货币数据。介于 -2^63(-922,337,203,685,477.5808) ~ 2^63-1(922,337,203,685,477.5807)之间,精确到货币单位的万分之一 8 字节
Smallmoney 货币数据。介于-214,748.3648 到 214,748.3647 4字节
数值类型
注意啦!
所有标有[n]、[(n)]或[p,[s]]表示要指定的字段数据长度,如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30。
2.




2. 数据类型
字符类型
下表列出了SQL Server字符类型及其存储容量。
数据类型 描述 存储大小
Char[(n)] 固定长度,非 Unicode 字符数据,长度为 n 个字节。n 的取值范围为 1 至 8,000 n 个字节
Varchar[(n)] 可变长度,非 Unicode 字符数据。n 的取值范围为 1 至 8,000。 输入数据的实际长度加 2 个字节
Varchar[(max)] 可变长度,非 Unicode 字符数据,max 指示最大存储大小是 2^31-1 个字节。 输入数据的实际长度加 2 个字节
Nchar[(n)] n 个字符的固定长度的 Unicode 字符数据。n 值必须在 1 到 4,000 之间 2×n字节 + 2字节
Nvarchar[(n)] 可变长度 Unicode 字符数据。n 值在 1 到 4,000 之间 2×n字节 + 2字节
Nvarchar[(max)] 可变长度 Unicode 字符数据,max 指示最大存储大小为 2^31-1 字节。 2×n字节 + 2字节
2.




2. 数据类型
文本和图像类型
下表列出了文本和图像(image)类型及其存储容量。
数据类型 描述 存储大小
Text 服务器代码页中长度可变的非 Unicode 数据,最大长度为 2^31-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储仍是 2,147,483,647 字节。根据字符串,存储大小可能小于 2,147,483,647 字节。 2^31-1字节
Ntext 长度可变的 Unicode 数据,最大长度为 2^30 - 1 (1,073,741,823) 个字符。输入字符个数的两倍(以字节为单位) 2^30 – 1字节
Image 长度可变的二进制数据,从 0 到 2^31-1 (2,147,483,647) 个字节。 2^31-1字节
在开发新程序时,尽量避免使用表3-3中列出的数据类型,这些类型在微软SQL Server未来的版本中将被删除。改用Varbinary(max),Varchar(max),Nvarchar(max)数据类型。
小提示:
2.




2. 数据类型
日期时间类型
下表列出了日期时间类型。
数据类型 描述 存储大小
Smalldatetime 月 1 日到 月 6 日,精度为1分钟。 两个 2 字节的整数
Dateteime 日期和时间数据,从 月 1 日到 31 日,准确度为三百分之一秒或 3.33 毫秒。值被圆整到 .000、.003 或 .007 毫秒增量。 两个4字节
Timestamp 公开数据库中自动生成的唯一一个二进制数字的数据类型。Timestamp 通常用作给表行加版本戳的机制。一个表只能有一个Timestamp类型字段。 8字节
2.




2. 数据类型
其他特殊数据类型
下表列出了其他特殊数据类型。
数据类型 描述 存储大小
Sysname 由特殊系统提供的、SQL Server用户定义的数据类型。SQL Server将Sysname类型定义为Nvarchar(128),可以存储128个Unicode字符(或256字节) 256字节
Xml 这是SQL Server 2005新增的数据类型,用来存储 Xml 文档和片段 Xml 数据类型实例的存储表示形式不能超过2 GB
Uniqueidentifier 全局唯一标识符 (GUID)。可以通过NEWID()函数产生。 16字节
Sql_Variable 用于存储 SQL Server 2005 支持的各种数据类型(不包括 Text、Ntext、Image、Timestamp 和 Sql_Variant)的值。 最大长度可以是 8016 个字节
Table 类似于使用临时表,此类型包括列表和数据类型,可以用来定义本地变量或用于用户定义的函数的返回值。 随着表定义的变化而变化
3.


3. 空值
Null值是一个未知值,将该值引用为Null。列值的为空性是指该列接受或拒绝Null值的能力。一列中的Null值通常表明对于一个特殊的数据行,该列中没有输入项,因为该值既不为空也不为0;其真实的值是未知的——因此,没有相等的两个值。
一般来说,都该避免使用Null值。因为对这些值的更新或查询,以及对有这些值的列的一些选项的设置都会更加复杂,例如主键和Identity属性都不能在为空性列中使用。
知识链接
如果用户需要的信息仍然不可用,则可能需要为空列,例如,客户信息的初始化,有些信息在初始化时可能未知,需要以后补充,这些需要以后补充的信息字段可以设为Null值。
4.

加Identity

4. 添加Identity列
在创建表时,可以通过向列定义中添加Identity属性来将某一列指定为标识列。创建带有Identity属性的列时,SQL Server将根据种子值和增量值自动为该列生成一个行值,默认情况下不允许手工为Identity列插入行值,除非将标识列的IDENTITY_INSERT属性设置为ON。种子(seed)值是插入到表中的第一行的标识值。增量值(Increment)是SQL Server为了连续插入而递增标识值的数量。当每次插入行时,SQL Server都将为该行的标识列指派一个当前的标识值。被插入的下一行收到这个标识值,它是一个比当前最大标识值更大的增量。这样,每个被插入的行都将收到一个唯一的标识符。为了地唯一标识某一行,通常都将标识列用作表中的主键约束。






任务实施
小王是某学校的计算机老师,目前接到校方通知,为了加强对学生的管理,小王需要统计本校在校学生人数及学生的相关信息。
任务:创建数据库表
任务分析:
理解牢记!
因为SQL Server中,读者可以通过创建数据库表来进行数据的统计与整理,并有不同的数据库类型可供选择。因此,小王决定通过建立数据库表来进行统计。
任务:创建数据库表
创建数据库表
任务
实施
1)打开SQL Server Management Studio并连接到数据库服务器,在“对象资源管理器”中展开“数据库”,接着展开“数据库”/“DataCollationSys”节点,右键单击表文件夹。
创建表
2)在弹出式菜单中执行”新建表(N)…”命令,将出现下图所示的界面。
添加表列
3)添加完表所需的所有字段后,单击”保存”按钮,将弹出下图所示的保存表界面,在“输入表名称”编辑框中输入表的名称后单击”确定”按钮即可。
保存表
4)在创建表的时候,可以为表指定主键。
设置主键
5)在步骤二的界面中,在“列名”列中输入AreaID,“数据类型”列中选择int数据类型,去掉“允许空”列中“√”,在“列属性”中,展开“标识规范”,设置“(是标识)”属性值为“是”,“标识增量”属性为“1”(缺省值为1),标识种子属性为“1” (缺省值为1)。同样地,增加列Area,分别指定列名“Area”,数据类型varchar(20),允许空。将字段AreaID设置为主键,完成后保存表名为Area_Tbl。表Area_Tbl的结构如图所示。
保存表
6)可以采用编码的方式,使用T-SQL来创建表。创建表的语法为:
CREATE TABLE
[ database_name.[ owner ] .| owner.] table_name
( { < column_definition >
| column_name AS computed_column_expression
| < table_constraint > ::= [ CONSTRAINT constraint_name ] }
| [ { PRIMARY KEY | UNIQUE } [ ,...n ]
)
[ ON { filegroup | DEFAULT } ]
< column_definition > ::= { column_name data_type }
[ COLLATE < collation_name > ]
[ [ DEFAULT constant_expression ]
| [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ]
]
[ ROWGUIDCOL]
[ < column_constraint > ] [ ...n ]









任务二:修改和删除数据库表
准备知识
修改、删除数据库表









修改、删除数据库表
修改数据库表涉及的内容包括修改表名、字段名、增加或删除字段以及修改表字段的属性等。









任务实施
小李是某酒店的大堂经理,为了能够统一规划酒店所承办的各种宴会以及宴会的类型、时间、准备工作等事项,小李需要确认酒店的数据库表。
任务:修改、删除数据库表
任务分析:
理解牢记!
因为在创建了数据库表以后,有可能根据业务系统和存储数据内容的变化,对表做相应的修改。因此,小李决定根据实际情况对数据库表作相应的修改或删除。
任务:修改、删除数据库表
修改、删除数据库表
任务
实施
1)修改表名
首先来看看通过SQL Server Management Studio 修改表名。打开SQL Server Management Studio并连接到数据库服务器,在“对象资源管理器”中展开“数据库”节点,接着展开数据库“DataCollationSys”节点,展开“表”文件夹,右键单击要更改名字的表,单击弹出菜单中的”重命名”菜单,如图1-8所示。然后输入新的表名,这样就完成了表名的修改。
修改表名
知识链接
修改表名将引起使用该表的视图、存储过程或函数产生“找不到对象”的错误,因此在更改表名前,必须确定是否有视图、存储过程或函数引用了该表。如果有,而且一定要更改该表名,要记得更改引用该表的视图、存储过程或函数中该表表名为对应的新表的表名。
2)设置字段属性
打开SQL Server Management Studio并连接到数据库服务器,在“对象资源管理器”中展开“数据库”文件夹,接着展开“数据库”/“DataCollationSys”节点,展开“表”文件夹,右键单击要更改名字的表Area_Tbl,执行”修改”命令。
修改表字段
知识链接
同修改表名一样,修改表字段类型也会影响使用该字段的视图、存储过程或函数。因此在修改了字段名后,别忘了将引用该字段的视图、存储过程或函数中相应的字段名改成新的字段名。
3)添加表列
可以在SQL Server Management Studio中连接数据库服务后,依次展开“数据库”文件夹、你要添加列的表所属的数据库(这里是DataCollationSys数据库)、“表”文件夹、你要修改的表(这里是Area_Tbl表)、“列”文件夹,右键单击“列”文件夹,在弹出菜单中执行”新建列”命令,在该界面中进行添加表列。
新建列
4)删除表列
打开SQL Server Management Studio,连接数据库服务,依次展开“数据库”文件夹、所要删除列的表所属的数据库(这里是DataCollationSys数据库)、“表”文件夹、所要修改的表(这里是Area_Tbl表)、“列”文件夹,右键单击要删除的字段,在弹出菜单中执行”删除”命令,在接着出现的界面中单击”确认”按钮删除表列。
删除表列
也可以在下图所示的界面中,选中要删除的列,右键单击该列,在弹出的菜单中执行”删除列”命令删除表列。
在表设计界面中删除列
需要注意的是删除列后,列中的数据内容也随之一起被删除。另外,象修改表字段一样,不是所有的字段都可以删除。
拓展提高:










任务三:创建或删除主键和外键
准备知识
认识主键和外键







认识主键和外键
主键是表中唯一标识一行的约束,主键通常定义在一列中,有时也定义在几列中,通过几列组合在一起唯一标识一行,通过主键可强制表的实体完整性,即确保数据库中所代表的任何事物都不存在重复的数据,每一个表只能有一个主键约束,而且主键不接受空值。
知识链接
由于主键约束确保唯一数据,所以经常用来定义标识列。所谓标识列,指表中已指派了标识属性的列。标识属性生成唯一数字。







认识主键和外键
外键是用于建立和加强两个表数据之间的链接的一列或多列。外键一般建立在一列上,有时也通过几列组合起来建立外键,通过将一个表中的主键值的一列或多列添加到另一个表,可以创建两个表之间的链接,这个列就成为第二个表的外键。
外键约束并不仅仅只可以与另一个表的主键约束相链接,它还可以定义为引用另一个表的唯一约束。外键约束不允许空值,但是,如果任何组合外键的列包含空值,则跳过外键约束的校验。







认识主键和外键
下图所示的表Area_Tbl和Province_Tbl。表Province_Tbl中AreaID是表Area_Tbl的主键,把AreaID字段加入表Province_Tbl中,那么在表Province_Tbl中AreaId字段就是外键,表Area_Tbl和Province_Tbl通过AreaId字段关联。
主键和外键关联示例
尽管外键的主要目的是控制存储在外键表中的数据,但它还可以控制对主表数据的修改。
拓展提高:










任务实施
小张是某学校高二年级的年级主任,期中考试过后,小张创建了数据库表来统计学生的考试成绩。小张想要根据学生成绩的数据库表来对全校学生进行排名。
任务:创建或删除主键和外键
任务分析:
理解牢记!
由于在SQL Server的关系数据库中,表与表间通过关系进行关联,最重要的关系就是主键和外键。因此,小张决定通过创建或删除主键和外键来完成这一任务。
任务:创建或删除主键和外键
创建或删除主键和外键
任务
实施
(1)创建表主键和外键
1)打开SQL Server Management Studio,建立数据库链接。依次展开“数据库”文件夹、你要添加主键和外键的表所属的数据库、“表”文件夹,如果在新建表的同时创建主键和外键,右键执行”新建表”命令 ,在出现的界面中,右键单击选择作为主键或外键的列,在弹出菜单中执行”设置主键”命令。
创建表主键
2)创建外键的过程稍微要复杂一些,在上图所示的界面中,执行”关系”命令,在出现的界面中单击”添加”按钮添加关系。
外键关系
3)在上图中,选择新添加的关系,在右边的关系属性中,单击“表和列规范”编辑框旁的 按钮,出现下图所示界面。
表和列规范
在“主键表”下拉框中选择主键所在的表,例如Area_Tbl,当鼠标光标移到下面的编辑框中时,将出现一个下拉列表框,列出所选主键表中的所有字段,选择主键,例如AreaID,然后将鼠标光标移动到右边“外键表”下面的编辑框中,在出现的下拉列表框中选择相应的字段,例如AreaID,单击”确定”按钮,这样,外键表中的选择字段就成为外键,外键就这样被创建。
4)通过修改表来设置表的主键,操作方式和创建表时创建主键是一样。打开SQL Server Management Studio,建立数据库链接。依次展开“数据库”文件夹、你要创建主键和外键的表所属的数据库(这里是DataCollationSys数据库)、“表”文件夹。
(2)删除主键和外键
1)在SQL Server Management Studio中连到数据库服务器,在“对象资源管理器”中展开“数据库”文件夹,展开”数据库”/”DataCollationSys”/”表”文件夹,右键单击要删除主键或外键的表Area_Tbl,执行”修改”命令。
修改表
2)在出现的界面中用右键单击主键所在的字段,在弹出式菜单中执行”移除主键”命令,然后保存对表的修改,这样主键就从表中删除了。
删除主键
3)在SQL Server Management Studio中删除外键约束
再下图所示界面中选中要删除的外键约束后,单击”删除”按钮删除外键约束。
删除外键约束




项目一 创建和维护数据库
重点难点
创建数据库
创建、删除主键和外键
重点
难点

展开更多......

收起↑

资源预览