1 / 74

第 3 章 关系数据库的创建与维护

第 3 章 关系数据库的创建与维护. 数据库管理系统概述. 1. SQL Server 数据库基础. 2. 数据库的创建和维护. 3. 数据表的创建和维护. 4. 数据表约束和数据完整性. 5. 索引的创建与维护. 6. 3.1 SQL Server 数据库管理系统概述. 数据库管理系统( DataBase Management System, DBMS )是位于应用程序与操作系统之间的一层数据管理软件。. 3.1SQL Server 2005 概述. 1. 数据库管理系统. 数据库应用程序提出数据操作要求,通过 DBMS ,才能访问数据库。

badu
Download Presentation

第 3 章 关系数据库的创建与维护

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第3章 关系数据库的创建与维护 数据库管理系统概述 1 SQL Server数据库基础 2 数据库的创建和维护 3 数据表的创建和维护 4 数据表约束和数据完整性 5 索引的创建与维护 6

  2. 3.1 SQL Server数据库管理系统概述

  3. 数据库管理系统(DataBase Management System, DBMS)是位于应用程序与操作系统之间的一层数据管理软件。 3.1SQL Server 2005概述 1. 数据库管理系统 • 数据库应用程序提出数据操作要求,通过DBMS,才能访问数据库。 • 数据库管理员也是通过DBMS对数据库实施管理。 DBMS是创建和使用数据库必不可少的软件!

  4. 3.1SQL Server 2005概述 2. 数据库管理系统 的主要功能 建立数据库,定义数据库的模式结构、数据库的完整性约束规则和安全性控制方式 • 数据操纵 实现对数据库中数据的检索以及更新(包括插入、删除和修改) • 数据库运行管理 包括并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部管理和维护 • 数据库维护 数据库的备份和恢复、导入和导出功能,数据库的重组功能和性能监视、分析功能等 • 支持数据库语言 支持使用数据库语言来使用和管理数据库,关系型DBMS支持SQL语言 • 数据定义

  5. SQL Server是Microsoft公司在Windows平台上开发的一个高性能关系数据库管理系统。它支持构建基于网络的信息系统。 3.1SQL Server 2005概述 3. Microsoft SQL Server 2005 • 图形化的操作环境,易学易用 • 支持高性能应用 • 可伸缩性和高度可用性 • 与Internet应用的集成 • 支持数据仓库分析

  6. 3.1SQL Server 2005概述 4. SQL Server主要管理工具 SQL Server提供了一整套数据库系统管理工具和实用程序,打开“开始/程序/Microsoft SQL Server2005 ”菜单即可看到如下程序组 :

  7. 3.1SQL Server 2005概述 • SQL Server Management Studio SQL Server Management Studio 是一个管理平台,集成了多个图形工具和丰富的脚本支持。用于建立、访问、配置、控制、管理和开发数据库。

  8. 3.1SQL Server 2005概述 选择“开始/程序/Microsoft SQL Server2005/ SQL Server Management Studio”菜单出现“连接到服务器”窗口。 服务器类型:指明要连接的服务。如果是管理和访问数据库服务器,选择“数据库引擎”。 身份验证:指明验证方式。注意SQL Server身份验证需用户名和密码,默认用户为“sa”。 服务器名称:选择或输入该服务器的计算机名称或IP地址,也可输入“.”或“(local)”,表示本机服务器。 • 启动SQL Server Management Studio

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

  10. SQL Server Management Studio窗口 “新建查询”可打开查询编辑器窗口,用于编辑SQL语句,执行和查看结果。例如,查询学生表的信息:

  11. 管理与SQL Server相关联的服务。启动: “开始/程序/Microsoft SQL Server2005/配置工具/SQL Server Configuration Manager” 。 点击左边的“SQL Server 2005服务”,右边窗格显示所有SQL Server服务,包括已注册的不同数据库服务器实例的服务。这些服务是SQL Server提供各项管理和服务功能的基础,如果服务停止,相关功能就无法使用。服务有3种状态:停止(红色)、启动(绿色)、暂停(蓝色)。 SQL Server的核心服务组件,是实际的数据库服务器,该服务启动后,客户端才可以连接到服务器。一般的数据库功能都由它提供。 作业调度和管理,支持数据库定时、自动备份、维护,监视数据库、异常告警等功能,必需和SQL Server服务一起使用。 対数据仓库、商务智能和line-of-business解决方案提供分析支持 侦听对SQL Server 资源的传入请求,提供计算机上安装的 SQL Server 实例的有关信息 支持基于全文索引的数据库表的全文搜索服务 可用于数据质量管理和数据清洗。通过数据分析和数据挖掘,实现数据提取、转换和加载。 • SQL Server Configuration Manager

  12. 3.1SQL Server 2005概述 SQL Server2005网络配置,支持完成本计算机上的 SQL Server服务器的网络协议管理,如Shared Memory、TCP/IP、Named Pipes等,主要任务包括:启动或停止某个网络协议,配置网络协议,例如修改协议所用端口、加密方法等。 SQL Native Client 配置,支持配置本服务器上运行的客户机程序的网络协议。其他客户机上需要安装并配置SQL Native Client来支持客户机程序与SQL Server连接。主要功能:指定连接到 SQL Server 时的协议顺序,配置客户端连接协议,创建 SQL Server 的别名,使客户端能用自定义连接字符串进行连接。

  13. 3.2 SQL Server数据库基础

  14. 3.2SQL Server 数据库基础 SQL Server管理的主要对象是数据库。 数据库不仅存储数据,所有与数据结构、数据完整性约束、数据处理操作有关的信息也都存储其中。 因此,数据库并不是简单的数据集合!

  15. 3.2SQL Server 数据库基础 1. SQL Server中数据库的分类 • 系统数据库:存放SQL Server工作时所需要的系统级信息,系统自动维护和管理。 SQL Server中数据库对象有两类:系统数据库和用户自定义数据库。

  16. 3.2SQL Server 数据库基础 • 用户自定义数据库:用户根据数据管理的需要建立的数据库,由用户创建和维护。 • 例如,为了管理教务信息,可建立教务系统数据库,为了实现网上书店,建立图书销售数据库等。 • SQL Server自带了3个样本数据库,供用户学习使用: • AdventureWorks是个OLTP数据库示例 • AdventureWorksDW是个OLAP数据库仓库示例 • AdventureWorksAS是个分析服务数据库示例

  17. 2. SQL Server数据库的存储结构 • 数据库的逻辑存储结构 SQL Server中,一组存储、管理和使用数据的对象构成了数据库的逻辑存储结构。观察master数据库包含的主要对象: 表:存储数据的二维关系表 视图:通过查询从一个或多个数据表获得的虚拟表,可简化用户数据显示、增强数据库安全性 可编程性:包括存储过程、触发器、规则、函数、默认值等 安全性:包括用户、角色、密钥、证书等

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

  19. 3.2SQL Server 数据库基础 为了更好地对数据文件进行管理和实现分布存储,SQL Server可对数据库文件(不包括事务日志文件)进行分组管理。 合理使用文件组对数据进行分布存储,可以提高表中数据的操作性能。 • 主文件组(Primary):包含主数据文件和若干次数据文件。所有系统表都包含在主文件组中 • 用户自定义文件组(User_defined):指用户创建的任何文件组,存储其他次数据文件,可以多个。

  20. 3.2SQL Server 数据库基础 合理使用文件组对数据进行分布存储,可以提高表中数据的操作性能。 例如:将两个不同物理磁盘上的数据库文件组成一个文件组,在该组上建立的数据表中的数据会存储在不同的物理设备上,查询操作可并行。 注意: 若不指定用户定义文件组,则所有数据文件都包含在主文件组中。 一个文件只能是一个文件组的成员 一个文件或文件组只能被一个数据库使用!

  21. 3.3 数据库的创建与维护

  22. 3.3数据库的创建与维护 1. 数据库创建 数据库创建有多种方式。下面通过实例介绍使用Management Studio创建数据库的步骤和方法 。 【例3.2】在C:\DBExample文件夹下创建数据库School,它包含主数据文件SchoolDB.MDF,初始大小为5MB,事务日志文件SchoolDB_log.LDF,其他按照默认设置不变。 ① 在桌面上选择“我的电脑”,在C:\下新建文件夹,命名为“DBExample”。 ② 在对象资源管理器窗口右击“数据库”,从快捷菜单中选择“新建数据库”命令,将弹出 “新建数据库”对话框。

  23. 3.3数据库的创建与维护 提示:SQL Server以model数据库为模板创建一个新的数据库,其数据文件的默认值为:初始大小3MB,以1MB自动增长,不限制增长;事务日志文件的默认值为:初始大小1MB,按10%的比例自动增长,不限制增长。

  24. 3.3数据库的创建与维护 ③ “选择页”默认为“常规”,在“数据库名称”文本框中输入“School”。 ⑤ 将日志文件的逻辑名称修改为“SchoolDB_log”,“路径”设置为“C:\DBExample”。 ⑥ 单击“确定”按钮,数据库创建完成。 ④ 将数据文件的逻辑名称修改为“SchoolDB”,在路径下的文本框输入或点击其后“…”按钮选择修改数据库文件的位置为“C:\DBExample”。在初始大小后的文本框中把3改为5。

  25. 建好的School数据库在对象资源管理器展开的“数据库”下可以看到,并且系统在School下自动创建了其包含的相关对象。建好的School数据库在对象资源管理器展开的“数据库”下可以看到,并且系统在School下自动创建了其包含的相关对象。 使用“我的电脑”查看“C:\DBExample”文件夹,可以看到文件SchoolDB和SchoolDB_log。

  26. 3.3数据库的创建与维护 2. 数据库维护 对已存在的数据库可以进行如下的修改: • 增加或删除数据文件 • 改变数据文件的大小和增长方式 • 改变日志文件的大小和增长方式 • 增加或删除日志文件 • 增加或删除文件组 • 重命名数据库名、数据文件和日志文件逻辑名。 注意:数据库创建后,磁盘上的数据文件和日志文件名就不能改变了。

  27. 3.3数据库的创建与维护 • 修改数据库 右单击需修改的数据库,在快捷菜单中选择“属性”命令,弹出“数据库属性”窗口。其中包含8个选项,每个选项下可对数据库的相关属性进行修改。

  28. 3.3数据库的创建与维护 • 删除数据库 ① 右击要删除的数据库,在弹出的快捷菜单中选择“删除”命令。 ② 在弹出的“删除对象”对话框中单击“确定”按钮,即可删除要删除的数据库。 提示:注意数据库一旦被删除,数据库文件及其数据都被从服务器上的磁盘中删除,该数据库中所有的对象均被删除,即永久性删除,不能恢复,所以删除操作要慎重!

  29. 3.4 数据表的创建与维护

  30. 新建一个数据库只是建立了数据库框架和相关的系统对象, 接下来的任务是在库中创建各个对象,最基本的是数据表 。 例如:建立如下教务系统的数据库,要建立6个数据表,并建立表之间的关系。具体定义见教材P37页。 3.4数据表的创建与维护

  31. 3.4数据表的创建与维护 创建数据表的一般过程: • 1)设计表结构,包括: • 定义字段 • (1)创建列名、数据类型 • (2)设置列属性也称列约束。包括: • PRIMARY KEY:主关键字约束 • UNIQUE:唯一性约束 • CHECK:检查约束 • DEFAULT:默认值约束 • NOT NULL:非空约束 • IDENTITY:标识规范 • 保存表 2)建立表之间的关系:依次建立各个表,再建立关系。 3)表创建后,可输入一些记录数据来检验表结构。

  32. 3.4数据表的创建与维护 数据表中每一列都需要定义明确的数据类型,数据类型决定了该字段的数据取值类型、范围和存储格式。 SQL Server的系统数据类型 1.SQL Server数据类型

  33. 3.4数据表的创建与维护 (1)整型 整型用于存储整数,有4种整型分别用于存储不同范围的整数。

  34. 3.4数据表的创建与维护 (2)浮点型 浮点型用于存储含小数的十进制数。 • float和real是近似数值型,以科学计数法表示数据; • decimal和numeric是精确数值类型,以明确、完整的精度(固定精度和小数位数)存储数据。

  35. 3.4数据表的创建与维护 decimal和numeric格式如下: decimal |numeric(p[,s]) 其中:p为精度,s为小数位数,s的默认值为0。 例如:指定某字段为精确数值型,精度为5,小数位数为2,即decimal(5,2)或numeric(5,2) , 可表示数据范围为:-999.99~999.99。 decimal 和numeric的区别在于decimal不能应用于带有Identity的列。

  36. 3.4数据表的创建与维护 (3)字符型和文本型 用于存储由字母、符号和数字组成的字符串。字符串常量要用单引号作为起止界限 。例如:’No1’。 SQL Server 字符数据类型和文本数据类型

  37. 3.4数据表的创建与维护 • 定长和变长的区别 • char(n)、nchar(n)是定长字符类型,字符串长度超出n的部分被截去;如不足n时,则在串的尾部添加空格以达到长度n。如char(5),当输入'Tom'字符串时,其存储长度为5个字节,实际字符串值为'Tom' • varchar(n)、nvarchar(n)是变长字符类型,长度为字符串的实际字符个数。如varchar(5),当输入‘Tom’字符串时,其存储长度为3个字节,实际字符串值为'Tom' 。 • Text是文本数据类型,用来存储可变长度的大量字符数据,其存储长度最多可达20亿个ASCII字符。 通常,当某一字段的字符串长度固定时使用char类型;当字符串长度明显不一致时使用varchar类型。

  38. 3.4数据表的创建与维护 • ANSI和Unicode的区别 ANSI(American National Standard Institite:美国国家标准协会)和Unicode(Universal Multiple-Octet Coded Character Set:通用字符集)是两种不同的编码标准。 char(n)和varchar(n)存储ANSI字符,用1个字节(8bits)表示一个字符,每个汉字占2个字节。 nchar(n)和nvarchar(n)存储Unicode字符集,用2个字节(16 bits)表示一个字符。 例如:char(5)可存储5个英文字符,但只能存储2个汉字,而nchar(5)可存储5个英文或汉字构成的字符串。 通常,char(n)和varchar(n)适合存储英文字符串。nchar(n)和nvarchar(n)适合存储中文或中英文混合字符串。

  39. 3.4数据表的创建与维护 (4)日期时间型 用来存储日期和时间数据,默认数据格式为:“YYYY-MM-DD HH:MM:SS”。 例如:“2012-12-08 12:35:29” 使用时也可只存储日期或时间。

  40. 3.4数据表的创建与维护 (5)图像数据类型 用于存储照片、图片等,实际存储的是可变长度的二进制数据,其长度最大可达231-1个字节。 注意:SQL Server不能显示image类型的数据,必须由应用程序来存取和显示。 在实际应用中,通常将图像以文件的形式存储在磁盘上,而只将图像文件的路径和文件名以字符串类型记录在数据库中。 应用程序读取数据库获得存取路径,然后访问磁盘文件。 其他多媒体类型数据处理方法类似。

  41. 3.4数据表的创建与维护 (6)货币型 用十进制数表示货币值。 货币型实际上是一种小数,但小数点后只有4位,且自动四舍五入。

  42. 3.4数据表的创建与维护 (7)位类型 bit用来作为逻辑变量使用,其数值有两种取值: 1和0,可分别代表TRUE和FALSE或YES和No等。 例如:在Student表中,字段LiveInDorm存储“是否住校”信息使用bit。 (8) uniqueidentifier 唯一标识符类型 。数据库管理系统会随着记录的加入自动为字段产生唯一标识符。它是一个16字节长的二进制数。

  43. 3.4数据表的创建与维护 教务系统数据库中有关字段类型的选取举例 学生表Student

  44. 3.4数据表的创建与维护 课程表Course

  45. 3.4数据表的创建与维护 成绩表Grade

  46. 3.4数据表的创建与维护 2.数据表创建 【例3.3】在数据库School中建立学生表Student,完成各字段的定义。 ① 在对象资源管理器中,选择“数据库/School/表”,右击后从快捷菜单中选择“新建表”命令,弹出“表设计”窗口。 ② 在表设计窗口,根据表的设计结构依次完成每个字段的名称和数据类型设置。 ③ 在完成所有字段设计后,可在 “属性”窗格的“(名称)”处输入表名“Student”,单击工具栏上的“ ”按钮或“文件/保存”菜单或关闭表设计窗口,数据表创建完成。 ④ 在对象资源管理器展开“数据库/School/表”可以看到创建好的数据表dbo.Student。

  47. 设计表中字段 保存按钮 数据表名称设置 属性设置区:字段描述、默认值、小数精度及位数等

  48. 3.4数据表的创建与维护 3. 数据表维护 • 修改表结构 • 增加字段、删除字段、修改字段属性等。 ① 在对象资源管理器中右击要修改的“表”,在弹出菜单中选择“修改”命令,出现“表设计”窗口。 ② 在“表设计”窗口,选中需要修改的一行,右击后弹出快捷菜单可以对表设置主键、插入列、删除列等。也可通过拖动行来调整字段的顺序。 ③ 对表的结构修改完毕后,保存对表结构修改。

  49. 3.4数据表的创建与维护 • 更改表名 ① 在对象资源管理器中选择要改名的表右击,在快捷菜单上选择“重命名”命令。 ② 在表名位置输入新的表名即可。 • 删除数据表 ① 在对象资源管理器中,右击要删除的表,在快捷菜单中选择“删除”命令。 ② 在弹出的“删除对象”对话框中,选择“确定”按钮,即可删除该表。

  50. 3.4数据表的创建与维护 4. 数据表记录插入 在实际运行的信息系统中,数据表必须在完全创建好后(字段建好、各项数据完整性约束设置完成),才添加记录。而且最好是通过应用程序添加。 在系统开发过程中,可以通过手工添加一些记录来检查数据表定义是否合理,调试程序功能是否可用等。

More Related