SQL-Server--实用教程课件(完整版)_第1页
SQL-Server--实用教程课件(完整版)_第2页
SQL-Server--实用教程课件(完整版)_第3页
SQL-Server--实用教程课件(完整版)_第4页
SQL-Server--实用教程课件(完整版)_第5页
已阅读5页,还剩428页未读 继续免费阅读

下载本文档

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

文档简介

1、SQL Server 2012 实用教程10-7月-221第1章 系统认识数据库10-7月-222学习目标掌握数据库、数据库系统、数据库管理系统的概念了解数据库管理技术发展的几个阶段掌握数据库的体系结构熟练掌握数据模型熟悉关系型数据库10-7月-223学习内容1.1 数据库系统介绍1.2 数据模型1.3 关系数据库7/10/202241.1 数据库系统简介1.1.1 数据库的基本概念1.1.2 数据库的体系结构1.1.3 数据库的产生与发展7/10/202251.1.1数据库的基本概念1.数据2.信息3.数据处理4.数据库5.数据库管理系统6.数据库系统7/10/20226数据和信息数据(Da

2、ta)是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。信息(Information)是对客观世界中各种事物的运动状态和变化的反映,是客观事物之间相互联系和相互作用的表征,表现的是客观事物运动状态和变化的实质内容。7/10/2022 7数据处理数据处理(Data Processing)是对数据的采集、存储、检索、加工、变换和传输。数据处理的基本目的是从大量的、可能是杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说是有价值、有意义的信息,即数据转换成信息的过程。7/10/2022 8数据库、数据库管理系统、数据库系

3、统数据库(Database,DB)是长期储存在计算机内、有组织的、可共享的数据集合。数据库管理系统(Database Management System,DBMS) 位于用户与操作系统之间的一层数据管理软件数据库系统(Data Base System, DBS)是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统。7/10/2022 91.1.2 数据库的体系结构1.数据库的三级模式结构2.数据库的二级存储映射7/10/2022 101.数据库的三级模式结构数据库的三级模式是数据库在三个级别 (层次)上的抽象,使用户能够逻辑地、抽象地处理数据而不必关心数据在计算机中的物理表示和存储。数

4、据库的三级模式结构是指内模式、模式和外模式。内模式:内模式也称存储模式,它是数据库中全体数据的内部表示或底层描述,对应着实际存储在外存储介质上的数据库。一个数据库只有唯一的一个内模式。模式:模式也称概念模式或逻辑模式。它是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图。一个数据库只有一个模式,模式处于三级结构的中间层。外模式:外模式也称子模式或用户模式。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式。7/10/2022 112.数据库的二级存储映射为了能够在内部实现数据库的三个抽象模式的联系和转换,数据库管理系

5、统在三级模式之间提供了两层映射模式/内模式映射模式/内模式映射之唯一的,它定义了数据库的全局逻辑结构与存储结构之间的对应关系,实现数据的物理独立性。外模式/模式映射对于每一个外模式,都有一个外模式/模式的映射。当模式改变时,通过调整外模式/模式映射做相应的改变,从而使外模式保持不变,从而实现了数据的逻辑独立性。7/10/2022 121.1.3 数据库的产生与发展人工管理阶段文件系统阶段数据库系统阶段高级数据库阶段7/10/2022 131.2 数据模型1.2.1 数据模型的概念1.2.2常见的数据模型7/10/2022 141.2.1 数据模型的概念数据模型(Data Model)是数据库系

6、统的核心与基础,是现实世界数据特征的抽象,是站在计算机的角度,用模型的方法来描述数据、组织数据、处理数据的方法。数据模型由数据结构、数据操作、数据约束3部分组成。7/10/2022 151.2.2常见的数据模型常见的数据库模型主要有层次模型、网状模型和关系模型层次模型是指用一颗“有向树”的数据结构来表示表示各类实体以及实体间的联系,树中每一个节点代表一个记录类型,树状结构表示实体型之间的联系。网状模型是用有向图结构表示实体类型及实体间联系的数据结构模型。关系模型是指用二维表的形式表示实体和实体间联系的数据模型。7/10/2022 161.3 关系数据库1.3.1关系数据库的概念1.3.2 关系

7、数据库标准语言SQL1.3.3 常见的关系数据库7/10/2022 171.3.1关系数据库的概念关系数据库是指建立在关系数据库模型基础上的数据库。关系模型是在1970年由IBM公司有“关系数据库之父”之称的埃德加弗兰克科德博士首先提出,一经推出就受到了学术界和产业界的高度重视和广泛响应,并在随后的发展中得到了充分的发展并成为数据库架构的主流模型。7/10/2022 181.3.2 关系数据库标准语言SQL结构化查询语言(Structured Query Language,SQL)语言是关系式数据库管理系统的标准语言。SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数

8、据库系统。SQL语言包括以下3种:数据定义语言(Data Definition Language,DDL):DROP、CREATE、ALTER等语句。数据操纵语言(Data Manipulation Language,DML):SELECT、INSERT、UPDATE、DELETE等语句。数据控制语言(Data Control Language,DCL):GRANT、REVOKE、COMMIT、ROLLBACK等语句。7/10/2022 191.3.3 常见的关系数据库ACCESS数据库MySQL数据库SQL Server数据库Oracle数据库7/10/2022 20学习总结本章主要介绍了数

9、据库系统的组成及其体系结构,包括数据库的基本概念、数据与 信息的联系、数据库的三模式两映射的体系结构;常见的数据模型,包括层次模型、网状模型和关系模型;关系型数据库,关系模型的概念以及常见的关系数据 7/10/2022 21The end7/10/2022 22第2章 初识SQL Server 201210-7月-2223学习目标了解SQL Server 2012的性能和优点掌握SQL Server 2012的各个版本的特点以及安装环境要求熟练掌握SQL Server 2012的安装方法能够使用SQL Server 2012连接数据库服务器掌握SSMS的基本工作环境10-7月-2224学习内容

10、2.1 SQL Server 2012数据库简介2.2 SQL Server 2012的安装2.3 SSMS的基本操作7/10/2022252.1 SQL Server 2012数据库简介2.1.1 SQL Server 2012简介2.1.2 SQL Server 2012的新功能2.1.3 SQL Server 2012的版本7/10/2022262.1.1 SQL Server 2012简介SQL Server 2012是微软发布的重要数据平台产品。SQL Server 2012不仅延续现有数据平台的强大能力,还支持云技术平台,提供了一个全面的、灵活的、可扩展的数据库管理平台,可以满足成

11、千上万用户的海量数据管理需求,能够快速构建相应的解决方法,以实现私有云和共有云之间的数据扩展和应用的迁移。7/10/2022272.1.2 SQL Server 2012的新功能AlwaysOnColumnstore 索引大数据支持DBA自定义服务器权限增强的审计功能BI 语义模型Sequence Objects 增强的 PowerShell 支持分布式回放(Distributed Replay)Windows Server Core 支持PowerViewSQL Azure 增强 7/10/2022 282.1.3 SQL Server 2012的版本根据数据库应用环境的不同,SQL Ser

12、ver 2012发行了不同的版本以满足不同的需求。SQL Server 2012的版本有:企业版(SQL Server 2012 Enterprise Edition)、标准版(SQL Server 2012 Standard Edition)、商业智能版(SQL Server 2012 Business Intelligence Edition)、学习版(SQL Server 2012 Express Edition)、开发版(SQL Server 2012 Develop Edition)和web版(SQL Server 2012 Web Edition)。7/10/2022 292.2

13、SQL Server 2012的安装2.2.1 SQL Server 2012 安装环境要求2.2.2 SQL Server 2012安装过程2.2.3 SQL Server 2012常用实用工具 7/10/2022 302.2.1 SQL Server 2012 安装环境要求7/10/2022 312.2.2 SQL Server 2012安装过程安装SQL Server 2012时,可以根据自己的实际需求和计算机的软硬件环境,选择一个合适的版本进行安装。7/10/2022 322.2.3 SQL Server 2012常用实用工具 SQL Server 2012 提供了大量的管理工具,包括

14、SQL Server 管理平台(SQL Server Management Studio)、商业智能开发平台(Business Intelligence Development Studio)、SQL Server 管理平台(SQL Server Management Studio)、性能工具(SQL Server Profiler)、配置管理工具(SQL Server Configuration Manager)和数据库引擎优化顾问工具(Database Engine Tuning Advisor)等等。7/10/2022 332.3 SSMS的基本操作2.3.1 SSMS的启动与连接2.3

15、.2 在SSMS中配置服务器属性2.3.3 查询设计器7/10/2022 342.3.1 SSMS的启动与连接7/10/2022 352.3.2 在SSMS中配置服务器属性7/10/2022 362.3.3 查询设计器7/10/2022 37学习总结本章主要介绍了SQL Server2012的特点,新功能和常见版本;详细讲解了SQL Server 2012企业版的安装过程;讲解SSMS(SQL Server Management Studio)的基本操作,包括SSMS的启动和连接、服务器属性的配置和查询设计器的使用。 7/10/2022 38The end7/10/2022 39第3章 数据库

16、的创建和管理10-7月-2240学习目标初步认识SQL Server数据库对象了解SQL Server系统数据库能够使用SSMS创建、修改、重命名、删除、收缩、分离与附加数据库熟练掌握使用Transact-SQL创建、修改、重命名和删除数据库10-7月-2241学习内容3.1数据库概述3.2 使用SSMS创建和管理数据库3.3 使用Transact-SQL创建和管理数据库7/10/2022423.1数据库概述3.1.1 系统数据库3.1.2 数据库对象3.1.3 数据库文件和文件组7/10/2022433.1.1 系统数据库SQL Server 数据库分成系统数据库、示例数据库和用户数据库三类

17、。其中系统数据库和示例数据库都是SQL Server 安装成功后默认建立的,系统数据库是记录数据库必须的信息,用户不能直接更新其中系统对象(如系统表、系统存储过程和目录视图)中的信息。示例数据库是为了让用户学习SQL Server 而设计的,例如ReportServer数据库,用户可以在该数据库上进行任意操作。用户数据库是用户根据实际需求创建的数据库。SQL Server 2012主要有4个系统数据库,master数据库、model数据库、msdb数据库和tempdb数据库。7/10/2022443.1.2 数据库对象数据库对象是存储、管理和使用数据库的不同结构形式,在SQL Server 0

18、12的数据库中,主要的数据库对象包括表、视图、索引、存储过程、触发器、用户自定义函数、用户和角色等等7/10/2022 453.1.3 数据库文件和文件组1.数据库文件7/10/2022 463.1.3 数据库文件和文件组2.数据库文件组7/10/2022 473.2 使用SSMS创建和管理数据库3.2.1 使用SSMS创建数据库3.2.2 使用SSMS修改数据库3.2.3 使用SSMS重命名数据库3.2.4 使用SSMS收缩数据库3.2.5 使用SSMS分离和附加数据库3.2.6 使用SSMS删除数据库7/10/2022 483.2.1 使用SSMS创建数据库【例3.1】创建MX公司数据库M

19、XDB_New。其中主数据文件为MXDB_New.mdf.初始大小是5MB,最大文件大小为100MB,增长大小是15MB,存放在D: data文件夹。日志文件为MXDB_New_log.ldf,初始大小为2MB,最大文件大小为80MB,增长大小为10%,存放在E:log文件夹。7/10/2022 493.2.2 使用SSMS修改数据库【例3.2】修改MX公司的MXDB_New数据库。首先将日志文件“MXDB_New_log”的最大文件大小修改为无限大,然后给数据库增加次要数据文件MXDB_New1.ndf,初始大小是10MB,最大文件大小为100MB,增长大小是5%,存放在D: data文件夹

20、。7/10/2022 503.2.3 使用SSMS重命名数据库【例3.3】将MX公司的MXDB_New数据库重命名为“MXDB”。7/10/2022 513.2.4 使用SSMS收缩数据库【例3.4】为了避免存储空间的浪费 ,现在对MX公司的MXDB数据库进行收缩操作,先进行手动收缩“MXDB”为60%,为了避免以后使用过程中的自动增长带来的进一步浪费 ,再设置“MXDB”数据库为自动收缩。7/10/2022 523.2.5 使用SSMS分离和附加数据库【例3.5】现在需要将该数据库转移到其他服务器中,必须进行数据库MXDB的分离与附加。7/10/2022 533.2.6 使用SSMS删除数据

21、库【例3.6】MX公司的数据库服务器升级结束后,备份数据库服务器上的MXDB数据库已经没有用了,为了统一将其进行删除。1.在“对象资源管理器”中,连接到 SQL Server 数据库引擎的实例,然后展开该实例。2.展开“数据库”,右键单击MXDB的数据库,在弹出的快捷菜单中选择“删除”,在打开的“删除对象”对话框中,单击“确定”按钮,完成MXDB数据库的删除。7/10/2022 543.3 使用Transact-SQL创建和管理数据库3.3.1 使用Transact-SQL创建数据库3.3.2 使用Transact-SQL修改数据库3.3.3 使用Transact-SQL重命名数据库3.3.4

22、 使用Transact-SQL删除数据库7/10/2022 553.3.1 使用Transact-SQL创建数据库创建数据库的Transact-SQL语句是CREATE DATABASE语句,其基本语法如下:CREATE DATABASE database_name CONTAINMENT = NONE | PARTIAL ON PRIMARY ,.n , ,.n LOG ON ,.n COLLATE collation_name WITH ,.n ; := ( NAME = logical_file_name , FILENAME = os_file_name | filestream_pa

23、th , SIZE = size KB | MB | GB | TB , MAXSIZE = max_size KB | MB | GB | TB | UNLIMITED , FILEGROWTH = growth_increment KB | MB | GB | TB | % ) 7/10/2022 563.3.1 使用Transact-SQL创建数据库【例3.7】AIX学校要建立一个学籍管理数据库“AIXstatus”。其中主数据文件为AIXstatus.mdf,初始大小是10MB,最大文件大小为10 GB,增长大小是10%,次要数据文件AIXstatus1.ndf和AIXstatus2.

24、ndf,初始大小都是5MB,增长大小是10MB,最大文件大小为无限大,所有数据文件存放在D: data文件夹。日志文件为AIXstatus_log.ldf,初始大小为2MB,增长大小为5MB,存放在E:log文件夹。7/10/2022 573.3.1 使用Transact-SQL创建数据库具体操作步骤如下:1.在操作系统下分别创建“D: data”和“E:log”两个文件夹。2.在SSMS中,单击工具栏上的“新建查询”按钮,打开“查询设计器”。输入如下代码:7/10/2022 583.3.1 使用Transact-SQL创建数据库7/10/2022 593.3.1 使用Transact-SQL

25、创建数据库7/10/2022 603.3.2 使用Transact-SQL修改数据库7/10/2022 61创建数据库的Transact-SQL语句是ALTER DATABASE语句,其基本语法如下: ALTER DATABASE database_name MODIFY NAME = new_database_name | ADD FILE ,.n TO FILEGROUP filegroup_name | ADD LOG FILE ,.n | REMOVE FILE logical_file_name | MODIFY FILE ;3.3.2 使用Transact-SQL修改数据库【例3.

26、8】修改学籍管理数据库“AIXstatus”。首先将日志文件AIXstatus_log.ldf的初始大小改为20MB;然后添加新的日志文件AIXstatus_log2.ldf,初始大小是10MB,增长大小是15MB,存放在E:log文件夹;最后将次要数据库文件AIXstatus1.ndf删除。 具体操作步骤如下:7/10/2022 623.3.2 使用Transact-SQL修改数据库7/10/2022 633.3.3 使用Transact-SQL重命名数据库7/10/2022 64数据库重命名除了可以用ALTER DATABASE语句外,还可以采用系统存储过程sp_renamedb,其基本语

27、法如下:sp_renamedb dbname = old_name , newname = new_name3.2.3 使用SSMS重命名数据库【例3.9】AIX学校又创建了新的学籍管理数据库,为了不产生混淆,现在数据库“AIXstatus”更名为“AIXstatus_old”。 7/10/2022 653.3.4 使用Transact-SQL删除数据库7/10/2022 66删除数据库的Transact-SQL语句是DROP DATABASE语句,其基本语法如下: DROP DATABASE database_name 3.3.4 使用Transact-SQL删除数据库【例3.10】使用DR

28、OP DATABASE语句删除“AIXstatus_old”数据库。7/10/2022 67学习总结本章主要介绍了数据库的创建和管理,包括主要的四个系统数据库: master数据库、model数据库、msdb数据库和tempdb数据库;常见的数据库对象,数据库文件和文件组;重点讲解了如何利用SSMS和Transact-SQL语句创建、修改、重命名、删除数据库;数据库的分离与附加等。7/10/2022 68The end7/10/2022 69第4章 表的创建和管理10-7月-2270学习目标了解SQL Server中表的基本结构熟悉SQL Server中的各种数据类型的特点和用途理解主键约束、

29、外键约束、检查约束等等的作用熟练掌握表的创建和管理的方法熟练掌握表中字段的增加、修改和删除的方法熟练掌握表中各种约束的设置和管理的方法熟练掌握创建和管理数据库关系图的方法10-7月-2271学习内容4.1 表的概述4.2使用SSMS创建和修改表4.3 使用Transact-SQL创建和管理表4.4数据库关系图的创建和管理4.5使用SSMS进行表中数据更新4.6使用Transact-SQL进行表中数据更新7/10/2022724.1 表的概述4.1.1 表的基本结构4.1.2 表的类型4.1.3 数据类型4.1.4 表的完整性规则4.1.5 表的约束7/10/2022734.1.1 表的基本结构

30、表是组成数据库的基本元素,是SQL Server中一个很重要的数据库对象,用于存储数据库中所有数据。 数据在表中的逻辑组织方式与在电子表格中相似,都是按行和列的格式组织的。行被称为记录,是组织数据的单位,列被称为字段。每一列代表记录的一个属性。7/10/2022744.1.2 表的类型1.系统表SQL Server将定义服务器配置及其所有表的数据存储在一组特殊的表中,这组表称为系统表。2.临时表临时表有两种类型:本地表和全局表。3.已分区表已分区表是将数据水平划分为多个单元的表,这些单元可以分布到数据库中的多个文件组中。在维护整个集合的完整性时,使用分区可以快速而有效地访问或管理数据子集,从而

31、使大型表或索引更易于管理。4.宽表7/10/2022 754.1.3 数据类型SQL Server 中的数据类型分为两种,基本数据类型(系统数据类型)和用户定义数据类型。7/10/2022 76基本数据类型7/10/2022 77基本数据类型7/10/2022 78用户定义数据类型SQL Server除了基本数据类型外,还允许用户定义数据类型,用户定义数据类型是数据库开发人员建立在基本数据类型基础上的,根据自己的实际需求定义符合自己开发需要的数据类型。在SQL Server中,用户定义数据类型可以使用SSMS创建和 Transact-SQL语句创建。7/10/2022 791.使用SSMS创建

32、用户定义数据类型【例4.1】在ReportServer数据库中,创建用来存储收集号码信息的mobile-number用户定义数据类型,数据类型为varchar,长度为11,允许为空。7/10/2022 802.使用Transact-SQL创建用户定义数据类型【例4.2】在ReportServer数据库中,创建用来存储邮政编码信息的postcode用户定义数据类型,数据类型为varchar,长度为6,允许为空。7/10/2022 814.1.4 表的完整性规则SQL Server 数据库提供了三种数据完整性规则:实体完整性规则、参照完整性规则和用户自定义的完整性规则。实体完整性要求每一个表中的主

33、键字段都不能为空或者重复的值。参照完整性要求参照的关系表中的属性值必须能够在被参照关系表找到或者取空值。可以在被参照表进行更新、插入或删除记录时,自动在参照表中执行对应的操作。用户定义完整性是是对数据表中字段属性的约束,包括字段的值域、字段的类型和字段的有效规则(如小数位数)等约束,是由确定关系结构时所定义的字段的属性决定的。7/10/2022 824.1.5 表的约束约束定义了必须遵循的用户维护数据一致性和正确性的规则,是实现数据完整性的重要手段,在SQL Server 2012中的约束主要有:主键约束(PRIMARY KEY constraint)唯一性约束(UNIQUE constrai

34、nt)检查约束(CHECK constraint)默认约束(DEFAULT constraint)外键约束(FOREIGN KEY constraint)。7/10/2022 834.2使用SSMS创建和修改表4.2.1使用SSMS创建表4.2.2使用SSMS修改表字段4.2.3使用SSMS设置表约束4.2.4 使用SSMS重命名表 4.2.5 使用SSMS删除表7/10/2022844.2.1使用SSMS创建表【例4.3】ABI学校为了管理学生成绩,建立了一个成绩管理数据库AMDB,现在在该数据库重要添加适当的表,并进行优化。首先,我们创建学生(student)表和班级(class)表。7/

35、10/2022 854.2.1使用SSMS创建表具体操作步骤如下:1.在“对象资源管理器”中,连接到 SQL Server 数据库引擎的实例,然后展开该实例。2.依次展开“数据库”“AMDB”,右键单击数据库的“表”节点,在弹出的快捷菜单中选择“新建表”。7/10/2022 864.2.2使用SSMS修改表字段【例4.4】现在要对成绩管理数据库AMDB中的学生(student)表进行字段修改,修改的内容包括:将学生姓名stu_name字段的数据类型修改为varchar(10),然后删除手机号码phonenumber字段 ,最后为了建立参照完整性,增加班级编号Class_no字段。7/10/20

36、22 874.2.3使用SSMS设置表约束【例4.5】现在要对成绩管理数据库AMDB中的学生(student)表和班级(class)表进行各种约束的设置,设置的内容包括:设置学生(student)表的学号stu_no字段和班级(class)表的班级编号class_no字段为2个表的主键;给学生(student)表的学生性别Stu_sex字段设置检查约束,设置只能输入“男”或者“女”;给学生(student)表的年龄age字段设置默认约束,默认值为“18”;给班级(class)表的班级名称Class_name字段设置不允许重复的唯一性约束;在两个表之间建立外键约束,主键为班级(class)表的班

37、级编号class_no字段,外键为学生(student)表的班级编号class_no字段。7/10/2022 884.2.4 使用SSMS重命名表 【例4.6】将ReportServer数据库中的“Batch”表重命名为“Batch_new”。7/10/2022 894.2.5 使用SSMS删除表【例4.7】删除ReportServer数据库中的 “Batch_new”表。具体操作步骤如下:1.在“对象资源管理器”中,依次展开“服务器实例”“数据库”“ReportServer” “表”“Batch_new”2.右键单击“Batch_new”表,在弹出的快捷菜单中选择“删除”,在打开的“删除对象

38、”对话框中,单击“确定”按钮,完成Batch_new表的删除。 7/10/2022 904.3 使用Transact-SQL创建和管理表4.3.1使用Transact-SQL创建表4.3.2使用Transact-SQL修改表字段4.3.3使用Transact-SQL设置表约束4.3.4使用Transact-SQL重命名表4.3.5使用Transact-SQL删除表7/10/2022914.3.1使用Transact-SQL创建表7/10/2022 92创建表的Transact-SQL语句是CREATE TABLE语句,其基本语法如下:CREATE TABLE database_name . s

39、chema_name . | schema_name . table_name column_name NULL | NOT NULL | DEFAULT constraint_expression | PRIMARY KEY | UNIQUE CLUSTERED | NONCLUSTERED ASC | DESC , .n 4.3.1使用Transact-SQL创建表【例4.8】成绩管理数AMDB中要继续增加新表,现在要增加的表是教师(teacher)表课程(course)表。7/10/2022 934.3.1使用Transact-SQL创建表7/10/2022 944.3.2使用Trans

40、act-SQL修改表字段7/10/2022 95修改表字段的Transact-SQL语句是ALTER TABLE语句,其基本语法如下:ALTER TABLE database_name . schema_name . | schema_name . table_name ALTER COLUMN column_name | ADD new_column_name | DROP COLUMN column_name4.3.2使用Transact-SQL修改表字段【例4.9】现在要对成绩管理数据库AMDB中的教师(teacher)表进行字段修改,修改的内容包括:将职称proTitle字段的数据类型

41、修改为varchar(5);增加政治面貌polity字段,数据类型char(2),不允许为空。此外前面创建的学生(student)表中的年龄age字段可以由出生日期birthday字段计算获得,因此将学生(student)表中的年龄age字段删除。7/10/2022 964.3.3使用Transact-SQL设置表约束7/10/2022 97创建约束的Transact-SQL语句有两种,一种是CREATE TABLE语句,在创建表的时候就指定约束 ,另一种是ALTER TABLE语句在已建立表上进行约束的设置,其基本语法如下:ALTER TABLE database_name . schema

42、_name . | schema_name . table_name ADD CONSTRAINT constraint_name | DROP CONSTRAINT constraint_name4.3.3使用Transact-SQL设置表约束【例4.10】成绩管理数据库AMDB中要继续增加新表,现在要增加的表是成绩(grade)表,具体结构如表4.9所示,然后继续给greade表中的score字段追加检查约束,设置条件为成绩取值为0到100分之间。7/10/2022 984.3.4使用Transact-SQL重命名表7/10/2022 99重命名表的Transact-SQL是采用系统存储过

43、程sp_rename,它的功能是在当前数据库中更改用户创建对象的名称。 此对象可以是表、索引、列、别名数据类型或 Microsoft .NET Framework 公共语言运行时 (CLR) 用户定义类型。其基本语法如下:sp_rename objname = object_name , newname = new_name , objtype = object_type 4.3.4使用Transact-SQL重命名表【例4.11】将成绩管理数据库AMDB中grade表更名为score。 7/10/2022 1004.3.5使用Transact-SQL删除表7/10/2022 101删除表的T

44、ransact-SQL语句是DROP DATABASE语句,其基本语法如下:DROP TABLE database_name . schema_name . | schema_name . table_name ,.n ; 4.3.4使用Transact-SQL重命名表【例4.12】使用DROP TABLE语句删除ReportServer数据库上的DataSets和ConfigurationInfo表。7/10/2022 1024.4数据库关系图的创建和管理4.4.1使用SSMS创建数据库关系图4.4.2使用SSMS修改数据库关系图4.4.3使用SSMS删除数据库关系图7/10/2022103

45、4.4.1使用SSMS创建数据库关系图【例4.13】创建成绩管理数据库AMDB中student和class两个参照表之间的数据库关系图。7/10/2022 1044.4.2使用SSMS修改数据库关系图【例4.14】修改成绩管理数据库AMDB中数据库关系图gx-1,将其他三个表也加入进来,并添加合适的关联。7/10/2022 1054.4.3使用SSMS删除数据库关系图1. 在“对象资源管理器”中,依次展开“服务器实例”“数据库”进行关系图删除的数据库 “数据库关系图”。2.右键单击要删除的数据库关系图,在弹出的快捷菜单中选择“删除”。3此时会显示一条信息,提示用户确认删除,选择“是”,则删除此

46、数据库关系图。在删除数据库关系图时,关系图中的数据表以及表之间的关联并不会被删除。7/10/2022 1064.5使用SSMS进行表中数据更新4.5.1 使用SSMS插入数据4.5.2 使用SSMS更新数据4.5.3 使用SSMS删除数据7/10/20221074.5.1 使用SSMS插入数据【例4.15】为成绩管理数据库AMDB中student表、class表和course表添加数据。7/10/2022 1084.5.1 使用SSMS插入数据具体操作步骤如下:1.在“对象资源管理器”中,依次展开“服务器实例” “数据库”“AMDB” “表”。2.这三个表中student和class两个表之间

47、通过外键约束有参照完整性约束,主键字段是class表的class_no字段参,外键是student表的class_no字段,因此字输入的时候,必须先输入主键表class,然后再输入外键表student,而且外键字段的取值范围不能超过主键字段的取值范围。因此我们决定先输入class表的数据,然后再输入student表和course表的数据。3.右键单击 “class”表,在弹出的快捷菜单中选择“编辑前200行”,在打开的“表编辑器”中录入数据即可。4.参照步骤3,向student表和course表添加对应的数据。5.录入完数据后,单击工具栏上的“运行”按钮,然后关闭对应窗口即可完成数据的添加。6

48、.需要查看表中数据的时候,找到要查看的表,在右键快捷菜单中选择“编辑前200行”即可在“表编辑器”中查看。7/10/2022 1094.5.2 使用SSMS更新数据 表中数据录入后如果需要修改,可以在SSMS中进行数据修改,具体方法如下:1. 在“对象资源管理器”中,依次展开“服务器实例” “数据库”修改表所在的数据库 “表”。2.右键单击需要进行数据更新的表,在弹出的快捷菜单中选择“编辑前200行”,在打开的“表编辑器”中选中要进行更新的数据行,进行修改即可。7/10/2022 1104.5.3 使用SSMS删除数据表中数据在使用一段时间后如果失效了就要及时删除,可以在SSMS中进行数据删除

49、,具体方法如下:1. 在“对象资源管理器”中,依次展开“服务器实例” “数据库”修改表所在的数据库 “表”。2.右键单击需要进行数据更新的表,在弹出的快捷菜单中选择“编辑前200行”。3.在打开的“表编辑器”中,右键单击要进行删除的数据行,在弹出的快捷菜单中选择“删除”即可。7/10/2022 1114.6使用Transact-SQL进行表中数据更新4.6.1 使用Transact-SQL插入数据4.6.2 使用Transact-SQL更新数据 4.6.3 使用Transact-SQL删除数据7/10/20221124.6.1 使用Transact-SQL插入数据7/10/2022 113向表

50、中插入数据记录Transact-SQL语句是INSERT 语句,其基本语法如下:INSERT INTO table_name |view_name (column_list) VALUES ( expression |DEFAULT | NULL ,.n ) 4.6.1 使用Transact-SQL插入数据【例4.16】为成绩管理数据库AMDB中teacher表添加数据。7/10/2022 1144.6.1 使用Transact-SQL插入数据7/10/2022 1154.6.2 使用Transact-SQL更新数据7/10/2022 116向表中更新数据记录Transact-SQL语句是UP

51、DATE语句,其基本语法如下:UPDATE table_name |view_name SET column_name = expression | DEFAULT | NULL ,.n WHERE 4.6.2 使用Transact-SQL更新数据【例4.17】将教师teacher表中“赵琉球”教师的职称更新为“教授”。7/10/2022 1174.6.3 使用Transact-SQL删除数据7/10/2022 118表中删除数据记录Transact-SQL语句是DELETE语句,其基本语法如下:DELETE FROM table_name |view_name WHERE 4.6.3 使用T

52、ransact-SQL删除数据【例4.18】将教师teacher表中教师编号为6的记录删除。7/10/2022 119学习总结本章主要介绍了表的创建和管理,包括表的基本结构、表的类型。数据类型、表的完整性和表的约束;使用SSMS和Transact-SQL语句创建表、修改表、重命名表和删除表;创建和管理数据库关系图;在表中进行数据更新等操作。 7/10/2022 120The end7/10/2022 121第5章 索引的创建和管理10-7月-22122学习目标了解索引的作用掌握索引的优缺点能够熟练利用SSMS创建和管理索引掌握利用Transact-SQL创建和管理索引10-7月-22123学习

53、内容5.1 索引的概念5.2 索引的分类5.3 索引的设计原则5.4 使用SSMS创建和管理索引7/10/20221245.1 索引的概念索引是一种单独的、存储在磁盘上的数据库结构,它包含从表或视图中一个或多个列生成的键,以及映射到指定数据的存储位置的指针。通过创建设计良好的索引以支持查询,可以显著提高数据库查询和应用程序的性能。索引可以减少为返回查询结果集而必须读取的数据量。索引可以强制表中的行具有唯一性,从而确保表数据的数据完整性。7/10/2022 1255.2 索引的分类SQL Server 2012提供的索引有10种,包括聚集索引、非聚集索引、唯一索引、列存储索引、带有包含列的索引、

54、计算列上的索引、筛选索引、空间索引、XML索引和全文索引。聚集索引非聚集索引唯一索引筛选索引全文索引7/10/2022 1265.3 索引的设计原则在创建索引之前应仔细计划,这样才不会设计不佳索引影响数据库性能,在索引设计前要完成以下任务:1.了解数据库本身的特征。2.了解最常用的查询的特征。3.了解查询中使用的列的特征。4.确定哪些索引选项可在创建或维护索引时提高性能。5.确定索引的最佳存储位置。7/10/2022 1275.3 索引的设计原则在设计索引时,应考虑以下原则:1.索引并非越多越好。2.避免对经常更新的表进行过多的索引,并且索引中的列尽可能少。3.数据量小的表最好不要使用索引。4

55、.在条件表达式中经常用到的不同值较多的列上建立索引。5.当唯一性是某种数据本身的特性时,指定唯一索引。6.在频繁进行排序或分组的列上建立索引。7/10/2022 1285.4 使用SSMS创建和管理索引5.4.1 使用SSMS创建索引5.4.2 使用SSMS查看和修改索引5.4.3 使用SSMS重命名索引5.4.4 使用SSMS删除索引7/10/2022 1295.4.1 使用SSMS创建索引【例5.1】现在要对成绩管理数据库AMDB中的学生(student)表进行继续完善,考虑到查询学生信息的时候,要经常通过姓名来查询,所以在姓名stu_name字段上建立索引。7/10/2022 1305.

56、4.2 使用SSMS查看和修改索引索引创建之后可以根据需要对进行查看和修改,具体过程如下:1. 在“对象资源管理器”中,依次展开“服务器实例”“数据库”索引所在数据库 表索引所在的表“索引”,在“索引”节点下可以看到要查看或者修改的索引。2.右键单击要查看或修改的索引,在弹出的快捷菜单中选择“属性”,也可以直接双击该索引,打开“索引属性”对话框,在该对话框可以查看到表中的所有索引,也可以增加、删除或者修改索引字段。7/10/2022 1315.4.3 使用SSMS重命名索引1.在“对象资源管理器”中,依次展开“服务器实例”“数据库”索引所在数据库 表索引所在的表“索引”,在“索引”节点下可以看

57、到要查看或者修改的索引。2.右键单击要查看或修改的索引,在弹出的快捷菜单中选择“重命名”,输入新的索引名字即可。 7/10/2022 1325.4.4 使用SSMS删除索引1.在“对象资源管理器”中,依次展开“服务器实例”“数据库”索引所在数据库 表索引所在的表“索引”,在“索引”节点下可以看到要查看或者修改的索引。2.右键单击要查看或修改的索引,在弹出的快捷菜单中选择“删除”,在打开的“删除对象”对话框中,单击“确定”,即可完成索引的删除。 7/10/2022 1335.5 使用Transact-SQL创建和管理索引5.5.1 使用Transact-SQL创建索引5.5.2 使用Transa

58、ct-SQL查看索引5.5.3 使用Transact-SQL修改索引5.5.4 使用Transact-SQL重命名索引5.5.5 使用Transact-SQL删除索引7/10/20221345.5.1 使用Transact-SQL创建索引7/10/2022 135创建索引的Transact-SQL语句是CREATE INDEX语句,其基本语法如下:CREATE UNIQUE CLUSTERED | NONCLUSTERED INDEX index_name ON ( column ASC | DESC ,.n ) INCLUDE ( column_name ,.n ) WHERE WITH (

59、 ,.n ) ON partition_scheme_name ( column_name ) | filegroup_name | default ; 5.5.1 使用Transact-SQL创建索引【例5.2】为成绩管理数据库AMDB的course表中的course_name设置唯一性非聚集索引。7/10/2022 1365.5.2 使用Transact-SQL查看索引7/10/2022 137查看索引的Transact-SQL是采用的是系统存储过程sp_helptext,其基本语法如下:sp_helptext objname = name , columnname = computed_

60、column_name 5.5.2 使用Transact-SQL查看索引【例5.3】用系统存储过程sp_helpindex,查看成绩管理数据库AMDB中的course表的索引信息。7/10/2022 1385.5.3 使用Transact-SQL修改索引7/10/2022 139修改索引的Transact-SQL语句是ALTER INDEX语句,其基本语法如下:ALTER INDEX index_name | ALL ON REBUILD PARTITION = ALL WITH ( ,.n ) | PARTITION = partition_number WITH ( ) ,.n | DIS

温馨提示

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

评论

0/150

提交评论