SQLServer数据库基础课程总复习.pptx

上传人:一*** 文档编号:82684018 上传时间:2023-03-26 格式:PPTX 页数:103 大小:2.49MB
返回 下载 相关 举报
SQLServer数据库基础课程总复习.pptx_第1页
第1页 / 共103页
SQLServer数据库基础课程总复习.pptx_第2页
第2页 / 共103页
点击查看更多>>
资源描述

《SQLServer数据库基础课程总复习.pptx》由会员分享,可在线阅读,更多相关《SQLServer数据库基础课程总复习.pptx(103页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、学习目标掌握数据库相关基础知识掌握数据库相关基础知识掌握简单的掌握简单的T-SQLT-SQL语句语句第1页/共103页第0章 数据库基础什么是数据库什么是数据库数据库是指长期储存在计算机内的、有组织数据库是指长期储存在计算机内的、有组织的、可共享的的、可共享的数据集合数据集合。数据库中的数据按。数据库中的数据按一定的数据模型组织、描述和储存,具有较一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。并可为各种用户共享。数据库由数据库由数据库管理系统(数据库管理系统(DBMSDBMS)统一管理,数据统一管理,数

2、据的插入、修改和检索均要通过数据库管理系统进行。的插入、修改和检索均要通过数据库管理系统进行。数据管理员(数据管理员(DBADBA)负责创建、监控和维护整个数)负责创建、监控和维护整个数据库。据库。第2页/共103页数据库模型层次层次模型模型网状网状模型模型关系关系模型模型关系模型是目前最为流行的一种数据模关系模型是目前最为流行的一种数据模型,用型,用二维表格二维表格结构表示实体集。结构表示实体集。第3页/共103页数据库对象表:表:由由行行和和列列组成组成每列又称为一个每列又称为一个字段字段,每列,每列的标题称为字段名的标题称为字段名一行数据称为一个或一条一行数据称为一个或一条记记录录一个数

3、据库表由一条或多条一个数据库表由一条或多条记录组成,没有记录的表称记录组成,没有记录的表称为为空表。空表。每个表中通常都有一个主关每个表中通常都有一个主关键字(也叫主键),用于唯键字(也叫主键),用于唯一地确定一条记录。主键不一地确定一条记录。主键不允许空值。不能存在具有相允许空值。不能存在具有相同的主键值的两个行同的主键值的两个行学学号号姓姓名名性性别别年年龄龄籍籍贯贯班班级级00001 1张张三三男男2020山山东东00003 300002 2李李四四男男2121辽辽宁宁00003 3字段名记录主键第4页/共103页概念数据模型与逻辑数据模型转换E-R图同关系模式转换1:1的联系 转换为关

4、系模式:bjb(班级编号,院系,专业,人数)bzb(学号,姓名)syb(学号,班级编号)注意:联系关系模式的属性包括 包括联系属性,以及各实体的 主码;主码选实体集任意一方 主码。11联系实体属性第5页/共103页概念数据模型与逻辑数据数据模型转换1:n联系E-R图 转换为关系模式:bjb(班级编号,专业,人数)xsb(学号,姓名,性别,专业)syb(学号,班级编号)n1第6页/共103页概念数据模型逻辑数据数据模型转换 n:n联系 E-R图 转换为关系模式:xsb(学号,姓名,性别,专业)kcb(课程编号,课名,学期,学时,学分 学分,学时)cjb(学号,课程编号,成绩)11nn成绩第7页/

5、共103页使用使用SQL语句创建数据库语句创建数据库一、创建数据库一、创建数据库1 1、利用对象资源管理器创建用户数据库:(界面方式)、利用对象资源管理器创建用户数据库:(界面方式)(1 1)选择)选择“开始开始”“”“程序程序”Microsoft SQL”Microsoft SQL Server 20Server 201212,打开,打开SQL Server Management StudioSQL Server Management Studio。(2 2)使用)使用“Windows“Windows身份验证身份验证”连接到连接到SQL Server SQL Server 20201212数

6、据库实例。数据库实例。(3 3)展开)展开SQL Server SQL Server 实例,右击实例,右击“数据库数据库”,然后在,然后在弹出的快捷菜单中选择弹出的快捷菜单中选择“新建数据库存新建数据库存”命令,打开命令,打开“新新建数据库建数据库”对话框。对话框。(4 4)在)在“新建数据库新建数据库”对话框中,可以定义数据库的名对话框中,可以定义数据库的名称、数据文件和日志文件的逻辑名称和路径、文件组、初称、数据文件和日志文件的逻辑名称和路径、文件组、初始大小和增长方式等。输入数据库名称始大小和增长方式等。输入数据库名称(pxscjpxscj)studentstudent。P(29)P(2

7、9)图图第8页/共103页使用使用SQL语句创建数据库语句创建数据库2 2、使用、使用T-SQL T-SQL 语句创建数据库。(命令方式)语句创建数据库。(命令方式)在在SQL Server Management StudioSQL Server Management Studio中,单击标中,单击标准工具栏的准工具栏的“新建查询新建查询”按钮,启动按钮,启动SQLSQL编辑器编辑器窗口,在光标处输入窗口,在光标处输入T-SQLT-SQL语句,单击语句,单击“执行执行”按钮。按钮。SQLSQL编辑器就提交用户输入的编辑器就提交用户输入的T-SQLT-SQL语句,语句,然后发送到服务器执行,并返

8、回执行结果。然后发送到服务器执行,并返回执行结果。P(35)P(35)页页例例1 1:创建一个只含一个数据文件和一个事务日:创建一个只含一个数据文件和一个事务日志文件的数据库志文件的数据库第9页/共103页参数参数参数值参数值数据库名称数据库名称Student1Student1数据文件逻辑名数据文件逻辑名Student1_datStudent1_dat数据文件物理名数据文件物理名D:student1_dat.mdfD:student1_dat.mdf数据文件初始大小数据文件初始大小10MB10MB数据文件最大值数据文件最大值50MB50MB数据文件增长值数据文件增长值原来的原来的20%20%事

9、务日志文件逻辑名事务日志文件逻辑名Student1_logStudent1_log日志文件物理名日志文件物理名D:student1_log.ldfD:student1_log.ldf日志文件初始大小日志文件初始大小4MB4MB日志文件最大值日志文件最大值25MB25MB日志文件增长值日志文件增长值5MB5MB第10页/共103页create database student1on(name=student1_dat,filename=d:student_dat.mdf,size=10,maxsize=50,filegrowth=20%)log on(name=student1_log,file

10、name=d:student_log.ldf,size=4,maxsize=25,filegrowth=5)回顾课本36页例2-7第11页/共103页创建数据库练习:1、写出创建产品销售数据库cpxs,初始大小为10MB,最大为50MB,增长方式为20%;日志文件名初始为4MB,最大为25MB,增长方式为5MB,存储路径为“D:SQLServer2012data”。第12页/共103页create database cpxson(name=cpxs_dat,filename=D:SQL Server2012cpxs_dat.mdf,size=10MB,maxsize=50MB,filegrow

11、th=20%)log on(name=cpxs_log,filename=D:SQL Server2012cpxs_log.ldf,size=4MB,maxsize=25MB,filegrowth=5MB)第13页/共103页数据库修改、删除数据库修改、删除对数据库可修改以下几项:对数据库可修改以下几项:增加或删除数据文件增加或删除数据文件 增加或删除日志文件增加或删除日志文件 增加或删除文件组增加或删除文件组 改变数据文件的大小和增长方式改变数据文件的大小和增长方式 改变日志文件的大小和增长方式改变日志文件的大小和增长方式 重命名数据库重命名数据库第14页/共103页数据库修改、删除(界面方

12、式)“对象资源管理器对象资源管理器”窗口窗口点击所要修改的数据库点击所要修改的数据库右击鼠标选择右击鼠标选择“属性属性”,打开,打开“数据库属性数据库属性”窗口窗口1 1、修改文、修改文件属性件属性第15页/共103页数据库修改、删除(界面方式)第16页/共103页数据库修改、删除(界面方式)2 2、增加辅助数据文件、增加辅助数据文件第17页/共103页数据库修改、删除(界面方式)3 3、增加文件组(输入文件组名称)、增加文件组(输入文件组名称)第18页/共103页使用使用SQLSQL语句修改、删除数据库语句修改、删除数据库命令方式ALTER DATABASE 修改数据库ADD FILE(FI

13、LEGROUP)增加文件(文件组)MODIFY FILE 更改文件属性REMOVE FILE 文件名 删除数据文件DROP DATABASE 删除数据库第19页/共103页使用使用SQL语句修改、删除数据库语句修改、删除数据库课本例子:P38-40页例2-8例2-10例2-11例2-12例2-13第20页/共103页练习:1 1、修改数据库pxscjpxscj的属性,将日志文件的初始大小改为15MB15MB,增长方式改为15%15%。2 2、为数据库pxscjpxscj添加文件组pgrouppgroup,并为此文件组添加一个数据文件,大小为25MB25MB,存储路径为“D“D:data”dat

14、a”第21页/共103页表的创建和操作表结构:列名说明数据类型约束Sno学号字符串,长度为7主码Sname姓名字符串,长度为10非空Ssex性别字符串,长度为2取男或女Sage年龄整数取值1545Sdept所在院系字符串,长度为20默认为计算机系第22页/共103页表创建和操作界面方式:第23页/共103页表创建和操作界面方式:第24页/共103页表创建和操作命令方式:用SQL语句创建如下两个基本表:学生表(Student)、课程表(Course),结构如下所示StudentStudent表表列名列名说明说明数据类型数据类型约束约束SnoSno学号学号字符串,长度为字符串,长度为7 7主码主码

15、SnameSname姓名姓名字符串,长度为字符串,长度为1010非空非空SsexSsex性别性别字符串,长度为字符串,长度为2 2取取男男或或女女SageSage年龄年龄整数整数取值取值15154545SdeptSdept所在院系所在院系字符串,长度为字符串,长度为2020默认为默认为计算机系计算机系第25页/共103页表创建和操作Create table Student(Sno char(7)primary key,Sname char(10)not null,Ssex char(2)check(Ssex=男or Ssex=女),Sage int check(Sage between 15

16、and 45),Sdept varchar(20)default(计算机系)第26页/共103页表创建和操作 Course表结构列名列名说明说明数据类型数据类型约束约束CnoCno课程号课程号字符串,长度字符串,长度为为1010主码主码CnameCname课程名课程名字符串,长度字符串,长度为为2020非空非空CcreditCcredit学分学分整数整数取值取值0 05050SemesterSemester学期学期整数整数取值大于取值大于0 0PeriodPeriod学时学时整数整数取值大于取值大于0 0第27页/共103页表创建和操作Create table course(Cno char(

17、10)primary key,Cname varchar(20)not null,Ccredit int check(Scteditbetween 0 and 50),Semester int check(Semester0),Period int check(Period0),)第28页/共103页表创建和操作修改表结构:P57页 例3-3 例3-4P59页图 操作表数据(界面方式)第29页/共103页表创建和操作命令方式操作表数据:向表xsb中插入记录INSERT INTO xsb VALUERS(201502,王海,1,19990501,电子商务,50,NULL)(201504,李华,1

18、,19990604,电子商务,NULL,NULL)INSERT INTO xsb(学号,姓名,性别,专业)VALUERS(201502,王海,1,电子商务)第30页/共103页表创建和操作在在xsb1xsb1中生成计算机专业学生的中生成计算机专业学生的xsb2xsb2。1 1)INSERT INTO xsb2INSERT INTO xsb2 SELECT*SELECT*FROM xsb1 FROM xsb1 WHERE WHERE 专业专业=计算机计算机2 2)SELECT*SELECT*INTO xsb2 INTO xsb2 FROM xsb1 FROM xsb1 WHERE WHERE 专

19、业专业=计算机计算机第31页/共103页表创建和操作练习:练习:1 1、由、由cjbcjb生成成绩表大于生成成绩表大于9090分的分的cjb1cjb11 1)INSERT INTO cjb1INSERT INTO cjb1 SELECT*SELECT*FROM cjb FROM cjb WHERE WHERE 成绩成绩=90=90分分2 2)SELECT*SELECT*INTO cjb1 INTO cjb1 FROM cjb FROM cjb WHERE WHERE 成绩成绩=90=90分分第32页/共103页表创建和操作删除符合条件记录:删除符合条件记录:DELETEDELETE FROM

20、xsb FROM xsb WHERE WHERE 总学分总学分=0=0 GO GO第33页/共103页数据库的查询第34页/共103页常用术语数据库技术术语关系模型术语SQL术语记录类型关系模型基本表文件关系,实例基本表,表格记录元组行属性,字段,数据项属性列第35页/共103页关键码超键在关系模式中,能唯一标识元组的属性集称为超键(Super Key)候选键如果一个属性集能唯一标识元组,且又不含有多于属性,那么这个属性集被称为候选键(Candidate Key)主键关系模式中用户正在使用的候选键称之为主键(Primary Key)外键如果关系模式R中某属性集是其他模式的候选键,那么该属性对模

21、型R而言是外键第36页/共103页第37页/共103页数据库对象外键:存在于B表中的A表的主键课程号课程名G001软件测试基础G002软件质量学号课程号成绩001G00180001G00290002G00260.学号姓名性别年龄籍贯班级001张三男20山东003002李四男21辽宁003第38页/共103页数据库对象索引(Index)索引是根据指定的数据库表列建立起来的顺序。它提供了快速访问数据的途径,并且可监督表的数据,使其索引所指向的列中的数据不重复。视图(View)是一个虚拟的表,在数据库中并不实际存。视图是由查询数据库表产生的,视图可以用来控制用户对数据的访问,并能简化数据的显示,即通

22、过视图只显示那些需要的数据信息。触发器(Trigger)触发器是一个用户定义的SQL事务命令的集合。当对一个表进行插入、更改、删除时,这组命令就会自动执行。存储过程(StoredProcedure)存储过程是为完成特定的功能而汇集在一起的一组SQL 程序语句,经编译后存储在数据库中的SQL 程序。第39页/共103页SQL Server 关系数据库简介 SQLServer是由Microsoft开发和推广的关系数据库管理系统,最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。SQLServer近年来不断更新版本:1996年

23、,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;2000年,SQL Server 2000推出;2005年,微软发布了SQL Server 20052008年,微软发布了最新的SQL Server 2008第40页/共103页SQL Server 常见版本企业版(EnterpriseEdition)标准版(StandardEdition)个人版(PersonalEdition)开发者版(DeveloperEdition)第41页/共103页安装、运行 SQL Server 2000 的软件需求SQLServer2000企业版

24、必须运行于安装WindowsNTServerEnterpriseEdition4.0或者Windows2000AdvancedServer以及更高版本的操作系统下。SQLServer2000标准版必须运行于安装WindowsNTServerEnterpriseEdition4.0、WindowsNTServer4.0、Windows2000Server以及更高版本的操作系统下。SQLServer2000个人版可在多种操作系统下运行,如可运行于Windows9x,WindowsNT4.0或Windows2000的服务器版或工作站版的操作系统下。SQLServer2000开发者版可运行于上述Win

25、dows9x以外的所有操作系统下。第42页/共103页SQL Server安装第43页/共103页SQL Server 系统数据库简介Master数据库是SQLServer系统最重要的数据库,它记录了SQLServer系统的所有系统信息。这些系统信息包括所有的登录信息、系统设置信息、SQLServer的初始化信息和其它系统数据库及用户数据库的相关信息。Model数据库是所有用户数据库和Tempdb数据库的模板数据库,它含有Master数据库所有系统表的子集,这些系统数据库是每个用户定义数据库需要的。Msdb数据库是代理服务数据库,为其警报、任务调度和记录操作员的操作提供存储空间。Tempdb是

26、一个临时数据库,默认大小是8M;它为所有的临时表、临时存储过程及其它临时操作提供存储空间。Pubs和Northwind数据库是两个示例数据库第44页/共103页SQL Server 系统表简介1.sysobjects表SQLServer的主系统表sysobjects出现在每个数据库中,它对每个数据库对象含有一行记录。2.syscolumns表系统表syscolumns出现在master数据库和每个用户自定义的数据库中,它对基表或者视图的每个列和存储过程中的每个参数含有一行记录。3.sysindexes表系统表sysindexes出现在master数据库和每个用户自定义的数据库中,它对每个索引和

27、没有聚簇索引的每个表含有一行记录,它还对包括文本/图像数据的每个表含有一行记录。第45页/共103页SQL Server 系统表简介4.sysusers表系统表sysusers出现在master数据库和每个用户自定义的数据库中,它对整个数据库中的每个WindowsNT用户、WindowsNT用户组、SQLServer用户或者SQLServer角色含有一行记录。5.sysdatabases表系统表sysdatabases对SQLServer系统上的每个系统数据库和用户自定义的数据库含有一行记录,它只出现在master数据库中。6.sysdepends表系统表Sysdepends对表、视图和存储过

28、程之间的每个依赖关系含有一行记录,它出现在master数据库和每个用户自定义的数据库中。7.sysconstraints表系统表sysconstraints对使用CREATETABLE 或者ALTERTABLE 语句为数据库对象定义的每个完整性约束含有一行记录,它出现在master数据库和每个用户自定义的数据库中。第46页/共103页SQL Server 工具和实用程序企业管理器服务管理器查询分析器事件探查器导入和导出数据联机帮助文档第47页/共103页企业管理器(Enterprise Manager)第48页/共103页服务管理器(Service Manager Manager)第49页/共

29、103页查询分析器(Query Analyzer)第50页/共103页事件探查器第51页/共103页导入和导出数据第52页/共103页联机帮助文档第53页/共103页注册一个新的数据库第54页/共103页链接服务器第55页/共103页备份数据库第56页/共103页还原数据库第57页/共103页分离数据库第58页/共103页附加数据库第59页/共103页数据库维护计划第60页/共103页生成数据库结构脚本第61页/共103页标准SQL语言SQL(StructuredQueryLanguage)语言最早是由Boyce和Chamberlin在1974年提出,起初称之为SEQUEL(Structure

30、dEnglishQueryLanguage)。设计目的是为了便于对SystemR数据库系统存储数据进行操作。1986年ANSI批准SQL语言作为关系型数据库语言的标准,1987年ISO也通过了这一标准。目前,几乎所有的关系型数据库管理系统都支持SQL语言。第62页/共103页Transact-SQL语言数据定义语言(DDL,Data Definition Language)包括创建数据库表结构、创建视图和创建表的索引,以及删除已经存在的表、视图和索引等。数据定义语句的SQL动词是CREATE,DROP和ALTER。数据操纵语言(DML,Data manipulation Language)主要

31、用于创建数据库表后,查询、输入、删除和修改表中的数据。SQL动词是SELECT,INSERT,DELETE和UPDATE。数据控制语言(DCL,Data Control Language)包括数据库事务管理功能和数据保护功能,对数据库提供完整性约束控制,控制数据库的安全性;提供了多用户并发控制和恢复的功能,支持事务提交和回滚等。SQL动词是GRANT和REVOKE。系统存储过程(System Stored Procedure)存储过程是SQL语句和流程控制语句的预编译集合,是封装重复任务操作的方法。第63页/共103页SQLServer的对象命名约定三段式名字标识对象:.前两者可以省略,数据库

32、名默认是当前数据库,所有者默认式数据库的所有者dbo,如:Pubs.dbo.authorsNorthwind.dbo.scNorthwind.dbo.sc.grade第64页/共103页创建练习数据库和表使用企业管理器添加数据库第65页/共103页创建练习数据库和表使用企业管理器分别添加表(c,s,sc)第66页/共103页创建练习数据库和表使用企业管理器添加各个表的记录(c,s,sc)第67页/共103页Select 语句查询课程表,查询学生表查询课程表,只显示课程名和教师名第68页/共103页别名AS使用别名是增加select语句的可读性,语法是:数据表名as数据表别名如:Selecte.

33、员工编号,e.员工姓名from员工表aseSame,p.teacherfromcasp第69页/共103页Union将两个或两个以上的查询结果合并为一个结果集,语法:Select语句UnionallSelect语句默认情况下,union将从最终结果集中删除重复的记录;如果希望保留所有记录,使用all关键字第70页/共103页条件查询Select*from表名where查询条件例如:Select*fromswheresname=wang=等于大于=大于等于=小于等于不等于LIKE字符串比较测验In在某个数组中Between and在某个范围中exists是否存在第71页/共103页模糊查询Lik

34、e关键字的提供使我们的模糊查询有了基础,Like关键字后提供了_下划线和%百分号这两种通配符。第72页/共103页多表查询-联接查询 Select*froms,sc得到一个非常大的结果集:s表和sc表的笛卡尔积Select*froms,scwheres.s#=sc.s#Select*froms,sc,cwheres.s#=sc.s#andc.c#=sc.c#Selectsname,cname,gradefroms,sc,cwheres.s#=sc.s#andc.c#=sc.c#查询参加了缺陷管理课程考试的同学:Selectsnamefroms,sc,cwheres.s#=sc.s#andc.c

35、#=sc.c#andcname=缺陷管理第73页/共103页多表查询-嵌套查询查询wang同学的考试成绩:Select*fromscwheres#=(selects#fromswheresname=wang)查询参加了缺陷管理课程考试的同学:Select*fromscwherec#=(selectc#fromcwherecname=缺陷管理)Selectsnamefromswheres#in(Selects#fromscwherec#=(selectc#fromcwherecname=缺陷管理)第74页/共103页联接查询 vs.嵌套查询第75页/共103页Group bySelectsexf

36、romsgroupbysexSelectcount(*),sexfromsgroupbysexSelectsname,sum(grade),count(*)froms,scwheres.s#=sc.s#groupbysnameMIN返回一个给定列中最小的数值MAX返回一个给定列中最大的数值SUM返回一个给定列中所有数值的总和AVG返回一个给定列中所有数值的平均值COUNT返回一个给定列中所有数值的个数COUNT(*)返回一个表中的行数第76页/共103页Having帮助我们对需要分组的数据做一个过滤,例如:Selectsname,sum(grade),count(*)froms,scwhere

37、s.s#=sc.s#groupbysnamehavingsnamechen这样我们就可以把chen的记录过滤掉第77页/共103页Order byORDERBY是一个可选的子句,它允许你根据指定要orderby的列来以上升或者下降的顺序来显示查询的结果。例如:ASC=AscendingOrder这个是缺省的DESC=DescendingOrderSelect*fromscorderbygradedescSelecttop3*fromscorderbygradedesc第78页/共103页Join内联接(INNER JOIN)左联接(LEFT JOIN)右联接(RIGHT JOIN)全联接(FU

38、LL JOIN)Employee_IDName01Adams,John02Bush,George03Carter,Thomas04Gates,BillProd_IDProductEmployee_ID234Printer01657Table03865Chair03第79页/共103页内联接(INNER JOIN)内联接会返回两个表中所匹配的所有的行。假如Employees中的某些行与Orders中的行不匹配,那些行就不会被列出来。NameProductAdams,JohnPrinterCarter,ThomasTableCarter,ThomasChair第80页/共103页左联接(LEFT

39、JOIN)左联接会从第一个表(Employees)那里返回所有的行,即使在第二个表(Orders)中没有匹配的行。假如Employees中的某些行没有在Orders中可匹配的行,这些行也会被列出来。NameProductAdams,JohnPrinterBush,GeorgeNULLCarter,ThomasTableCarter,ThomasChairGates,BillNULL第81页/共103页右联接(RIGHT JOIN)右联接会从第二个表格(Orders)那里返回所有的行,即使在第一个表格中没有可匹配的行。假如Orders中的某些行没有在Employees可匹配的行,那些行也会被列出

40、。NameProductAdams,JohnPrinterCarter,ThomasTableCarter,ThomasChair第82页/共103页全联接(FULL JOIN)全联接会从两个表格(Orders)那里返回所有的行,即使在第一个表格或第二个中没有可匹配的行。NameProductAdams,JohnPrinterCarter,ThomasTableCarter,ThomasChairBush,GeorgeNULLGates,BillNULL第83页/共103页Insert语句INSERTINTOs(s#,sname,age,sex)VALUES(S101,jiang,39,M)I

41、nsertintostudent(s#,sname,age,sex)selects#,sname,age,sexfroms第84页/共103页Delete语句DELETEFROMstudentdeletefromstudentwheresname=jiang第85页/共103页Update 语句UPDATEstudentSETsname=chennengjiWHEREsname=chenandage=22UPDATEstudentSETage=age+1WHEREsname=chennengji第86页/共103页事务事务是单个的工作单元。如果某一事务成功,则在该事务中进行的所有数据更改均会提

42、交,成为数据库中的永久组成部分。如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除。事务操作的语法:BEGINTRANSACTIONCOMMITTRANSACTIONROLLBACKTRANSACTIONSAVETRANSACTION第87页/共103页表设计第88页/共103页主键表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。第89页/共103页Unique约束可使用UNIQUE约束确保在非主键列中不输入重复值。第90页/共103页Check约束第91页/共103页默认值、用户定义的数据类型第92页/共103页外键第

43、93页/共103页关系图第94页/共103页视图(View)设计第95页/共103页存储过程设计第96页/共103页在查询分析器中编写存储过程创建存储过程:if EXISTS(select*from sysobjects where name=mypro and type=p)DROP proc mypro GOCREATE proc myprox varchar(20),y varchar(20)outputASSET y=x+worldGO执行存储过程:Declare z varchar(40)Exec mypro hello,z outputPrint z第97页/共103页触发器触发器

44、是一种特殊类型的存储过程,它不同于前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名称而被直接调用。触发器是一个功能强大的工具,它使每个站点可以在有数据修改时自动强制执行其业务规则。触发器可以用于SQLServer约束、默认值和规则的完整性检查。第98页/共103页触发器CREATETRIGGERTRIGGERNAMEON表名FORINSERT,UPDATE,DELETEAS第99页/共103页索引(Index)数据库中的索引与书籍中的索引类似,在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就

45、可以在其中找到所需数据。书中的索引是一个词语列表,其中注明了包含各个词的页码。而数据库中的索引是某个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。第100页/共103页聚集索引与非聚集索引聚集索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即聚集索引与数据是混为一体的,它的叶节点中存储的是实际的数据。一个表只能建立一个聚集索引。非聚集索引具有完全独立于数据行的结构,使用非聚集索引不用将物理数据页中的数据按列排序。非聚集索引的叶节点存储了组成非聚集索引的关键字值和行定位器;一个表可以创建多个非聚集索引。第101页/共103页创建索引第102页/共103页感谢您的观看。第103页/共103页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理工具

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁