最新sql教材全.docx
- 文档编号:8431218
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:84
- 大小:597.78KB
最新sql教材全.docx
《最新sql教材全.docx》由会员分享,可在线阅读,更多相关《最新sql教材全.docx(84页珍藏版)》请在冰豆网上搜索。
最新sql教材全
SQLServer
SQL概述
SQLServer2000
SQL基础
测试问题及解答
总结
综合实践
目录
1.SQL概述3
1.1关系型数据库3
1.2什么是SQL3
1.3SQL语言的优点5
2.SQLServer2000概述及安装7
2.1SQLServer20007
2.2安装过程7
2.2.1硬件和操作系统要求8
2.2.2详细的安装过程8
2.3测试问题及解答16
3SQL基础17
3.1创建数据库17
3.2删除数据库17
3.3数据类型18
3.3.1系统常用数据类型18
3.4表21
3.4.1创建表21
3.4.2修改表22
3.4.3删除表24
3.5数据完整性25
3.5.1使用IDENTITY属性强制执行数据完整性25
3.5.2使用约束强制执行数据完整性26
3.6处理数据30
3.6.1数据检索30
3.6.2聚合函数(集合函数)34
3.7维护数据39
3.7.1INSERT语句39
3.7.2UPDATE语句40
3.7.3DELETE语句40
3.8标量函数41
3.8.1日期函数41
3.8.2数学函数:
执行代数计算,并返回一个数字值。
44
3.8.3字符串函数46
3.8.4系统函数48
4索引49
4.1选择要索引的列49
4.2索引类型50
4.3管理索引51
go52
5视图53
5.1创建视图54
5.2更改视图55
5.3删除视图56
6事务56
6.1什么是事务:
56
6.2事务的特性:
56
6.3事务控制语句:
57
7存储过程58
7.1创建存储过程58
7.2执行存储过程60
7.3简单了解系统存储过程60
7.5删除存储过程61
7.6修改存储过程62
8触发器65
8.1触发器的优点:
65
8.2创建触发器65
9游 标67
9.1什么是Transact_SQL语言67
9.2 游标的定义67
9.3游标的优点67
9.4游标的使用67
10关系数据库模式的规范化理论70
10.1关系模式规范化设计70
10.2第一范式(1NF)71
10.3第二范式(2NF)71
10.4第三范式(3NF)72
11补充实验75
关系型数据库
什么是SQL
SQL语言及其优点
1.SQL概述
1.1关系型数据库
什么是关系型数据库(RDBMS)呢?
在关系型数据库中数据以行和列的形式存储,以便于用户理解,这一系列的行和列被称为表,一组表便组成了数据库。
在关系数据库中:
各数据项之间用关系来组织,关系(relationship)是表之间的一种连接,通过关系,我们可以更灵活地表示和操纵数据;另外,用户可以非常方便的用查询(Query)来检索数据库中的数据,一个Query是一个用于指定数据库中行和列的SELECT语句。
关系型数据库通常包含下列组件:
●客户端应用程序(Client)
●数据库服务器(Server)
●数据库(Database)
SQL是Client端通往Server端的桥梁,Client用SQL来向Server端发送请求,Server返回Client端要求的结果。
现在比较流行的大中型关系型数据库有IBMDB2、Oracle、SQLServer、SyBase、Informix等,常用的小型数据库有Access、Pradox、Foxpro等,现在个人用户比较常用的主要是基于中小型数据库MSSQLServer和Access。
1.2什么是SQL
SQL(StructuredQueryLanguage,结构查询语言)是一个功能强大的数据库语言。
SQL通常使用于数据库的通讯。
ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。
SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。
使用SQL的常见关系数据库管理系统有:
Oracle、Sybase、MicrosoftSQLServer、Access、Ingres等等。
虽然绝大多数的数据库系统使用SQL,但是它们同样有它们各自另外的专有扩展功能用于它们的系统。
但是,标准的SQL命令,比如"Select"、"Insert"、"Update"、"Delete"、"Create"和"Drop"常常被用于完成绝大多数数据库的操作。
SQL功能强大,但是概括起来,它可以分成以下几组:
DML(DataManipulationLanguage,数据操作语言):
用于检索或者修改数据;DDL(DataDefinitionLanguage,数据定义语言):
用于定义数据的结构,比如创建、修改或者删除数据库对象;DCL(DataControlLanguage,数据控制语言):
用于定义数据库用户的权限。
DML组可以细分为以下的几个语句:
SELECT:
用于检索数据;
INSERT:
用于增加数据到数据库;
UPDATE:
用于从数据库中修改现存的数据;
DELETE:
用于从数据库中删除数据。
DDL语句可以用于创建用户和重建数据库对象。
下面是DDL命令:
CREATE TABLE:
创建表
CREATE INDEX:
创建索引
DROP TABLE:
删除表
DROP INDEX:
删除索引
DCL命令用于创建关系用户访问以及授权的对象。
下面是几个DCL命令:
ALTERPASSWORD 更改密码
GRANT 确认
REVOKE 取消
为了让你对SQL有一个直观的认识,下面先给出一个简单SQL语句的例子,使用SQL语句来从Employees中检索DepartmentID为CS的姓名:
SELECTNameFROMEmployees
WHEREDeptID=‘CS’
可能你现在一开始不太理解这些语句,也许你会一头雾水,不要紧的,通过本教程的学习后,你会发现这段语句是多么的普通。
为了不让你困惑,下面我进行一番解释:
先对FROM子句解释,语句中的FROMEmployees意思是从Employees表中检索数据。
而语句WHEREDeptID=‘CS’意思是检索Employees的列DeptID为‘CS’的行,这样SQL语句检索的结果将是DeptID为CS的列的所有数据,比如:
EmpID
Name
DeptID
123
Purple
CS
124
Zsc
CS
最后,我们来解释一个SELECT子句,它指定了从Name列检索来的所有数据:
Name
Purple
Zsc
1.3SQL语言的优点
SQL语言的优点:
● 非过程化语言
● 统一的语言
● 是所有关系数据库的公共语言
1. 非过程化语言
SQL是一个非过程化的语言。
SQL允许操作记录集,所有SQL 语句接受集合作为输入,返回集合作为输出。
SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。
SQL不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。
2. 统一的语言
SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。
基本的SQL 命令只需很少时间就能学会,最高级的命令在几天内便可掌握。
SQL为许多任务提供了命令,其中包括:
● 查询数据
● 在表中插入、修改和删除记录
● 建立、修改和删除数据对象
● 控制对数据和数据对象的存取
● 保证数据库一致性和完整性
以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。
3. 是所有关系数据库的公共语言
由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。
程序员之路
2.SQLServer2000概述及安装
SQLServer2000概述
2.1SQLServer2000
SQLServer2000是微软公司最新版的大型数据库服务器,其性能指标在各方面都有赶超Oracle数据库的趋势。
在经历了SQLServer6.5和7.0两个版本的尝试后,微软公司终于开始向大规模的业务领域进发了。
记得在以前,各种关于SQLServer的文章,都会将其定位成中小型应用方面,这种感觉被大家自然的延续到了2000版之中。
其实这是一种误解。
在过去的很长一段时间中,微软公司聘请了世界上最优秀的数据库专家以及专门搭建了信息量可谓空前的地理信息系统,励精图治,就是为了摘掉扣在自己头上的这顶帽子。
有了强大的性能和功能支持,再配合其一向为人称道的易用性,SQLServer可以说成为了开发者手中的一柄利器!
另外,目前国内的一些关于微软平台的数据库编程教程,喜欢使用Access作为数据库平台的案例,并展开相关的内容。
这其实对于开发真正的数据库应用并没有直接的帮助作用,只能使大家停留在应用的初级阶段。
SQLServer2000提供的非常傻瓜的缺省安装和使用模式,其上手难度并不比Access大。
另外,SQLServer2000可以兼顾小、中、大规模的应用,有着远远比Access强大的伸缩性。
因此,建议大家不如一步到位,直接从高起点开始,这对于持续发展个人技能也是很有好处的。
硬件和操作系统要求
详细的安装过程
2.2安装过程
2.2.1硬件和操作系统要求
下表说明安装MicrosoftSQLServer2000或SQLServer客户端管理工具和库的硬件要求。
硬件
最低要求
计算机
Pentium166MHz或更高。
内存(RAM)
至少64MB,建议128MB或更多。
根据经验,内存容量可以和数据容量保持1:
1的比例,这样可以更好的发挥其效能。
硬盘空间
需要约500MB的程序空间,以及预留500M的数据空间
显示器
需要设置成800x600模式,才能使用其图形分析工具
下表说明为使用MicrosoftSQLServer2000各种版本或组件而必须安装的操作系统。
SQLServer版本
或组件
操作系统要求
企业版
MicrosoftWindowsNTServer4.0、MicrosoftWindowsNTServer4.0企业版、Windows2000Server、Windows2000AdvancedServer和Windows2000DataCenterServer。
(所有版本均需要安装IE5.0以上版本浏览器)
标准版
MicrosoftWindowsNTServer4.0、Windows2000Server、MicrosoftWindowsNTServer企业版、Windows2000AdvancedServer和Windows2000DataCenterServer。
个人版
MicrosoftWindowsMe、Windows98、WindowsNTWorkstation4.0、Windows2000Professional、MicrosoftWindowsNTServer4.0、Windows2000Server和所有更高级的Windows操作系统。
注:
SQLServer2000的某些功能要求在MicrosoftWindows2000Server以上的版本才能运行。
因此大家安装WindowsServer2000(建议为Advanced版本),可以学习和使用到SQLServer2000的更多功能,以及享受更好的性能。
2.2.2详细的安装过程
本模块将以Windows2000AdvancedServer操作系统作为示例,详细介绍安装SQLServer2000企业版的过程。
如果手头上没有SQLServer2000企业版,可以到微软公司的这个网址下载试用版:
将企业版安装光盘插入光驱后,出现以下提示框。
请选择"安装SQLServer2000组件",出现下一个页面后,选择"安装数据库服务器"。
图1
图2
选择"下一步",然后选择"本地计算机"进行安装。
图3
图4
在"安装选择"窗口,选择"创建新的SQLServer实例..."。
对于初次安装的用户,应选用这一安装模式,不需要使用"高级选项"进行安装。
"高级选项"中的内容均可在安装完成后进行调整。
图5
在"用户信息"窗口,输入用户信息,并接受软件许可证协议。
图6
图7
在"安装定义"窗口,选择"服务器和客户端工具"选项进行安装。
我们需要将服务器和客户端同时安装,这样在同一台机器上,我们可以完成相关的所有操作,对于我们学习SQLServer很有用处。
如果你已经在其它机器上安装了SQLServer,则可以只安装客户端工具,用于对其它机器上SQLServer的存取。
图8
在"实例名"窗口,选择"默认"的实例名称。
这时本SQLServer的名称将和Windows2000服务器的名称相同。
例如Windows服务器名称是"Darkroad",则SQLServer的名字也是"Darkroad"。
SQLServer2000可以在同一台服务器上安装多个实例,也就是你可以重复安装几次。
这时您就需要选择不同的实例名称了。
建议将实例名限制在10个字符之内。
实例名会出现在各种SQLServer和系统工具的用户界面中,因此,名称越短越容易读取。
另外,实例名称不能是"Default"或"MSSQLServer"以及SQLServer的保留关键字等。
图9
在"安装类型"窗口,选择"典型"安装选项,并指定"目的文件夹"。
程序和数据文件的默认安装位置都是"C:
\ProgramFiles\MicrosoftSQLServer\"。
因为C盘是系统区、D盘是应用区,因此选择了D盘。
注意,如果您的数据库数据有10万条以上的话,请预留至少1G的存储空间,以应付需求庞大的日志空间和索引空间。
图10
在"服务账号"窗口,请选择"对每个服务使用统一账户..."的选项。
在"服务设置"处,选择"使用本地系统账户"。
如果需要"使用域用户账户"的话,请将该用户添加至WindowsServer的本机管理员组中。
图11
在"身份验证模式"窗口,请选择"混合模式..."选项,并设置管理员"sa"账号的密码。
如果您的目的只是为了学习的话,可以将该密码设置为空,以方便登录。
如果是真正的应用系统,则千万需要设置和保管好该密码!
:
)如果需要更高的安全性,则可以选择"Windows身份验证模式",这时就只有WindowsServer的本地用户和域用户才能使用SQLServer了。
图12
在"选择许可模式"窗口,根据您购买的类型和数量输入(0表示没有数量限制)。
"每客户"表示同一时间最多允许的连接数,"处理器许可证"表示该服务器最多能安装多少个CPU。
这里选择了"每客户"并输入了100作为示例。
图13
然后就是约10分钟左右的安装时间,安装完毕后,出现该界面,并新增了以下的菜单。
如果您是个初学者,就可以先打开"联机丛书",做一个简单的学习!
图14
图15
2.3测试问题及解答
1.安装SQLServer2000之前,需要做哪些准备?
答:
◇保证计算机的软硬件环境能满足SQLServer2000的需要。
◇根据所期望的用途和计算机的软硬件环境选择合适的版本和部件。
◇创建SQLServer2000使用的帐号。
3SQL基础
3.1创建数据库
SQL用于创建数据库的基本语句:
语法
CREATEDATABASEdatabase_name
参数
database_name
新数据库的名称。
数据库创建示例
下面的示例创建名为Sales的数据库。
CREATEDATABASEsales
usesales
SQLServer有几个针对数据库对象的命名约定:
◇可以包含1~128个字符,包括字母、符号及数字。
◇第一个字符必须是字母,下划线(_)、@符号或(#)。
@用于局部变量,#用于临时对象名称。
◇首字符之后的字符可以包括字母、数字或#、$符号及_,除非在引号内定义对象名称,否则中间不允许有空格。
◇不能使用sql中的关键字,保留字。
3.2删除数据库
当不再需要数据库时可以将它删除。
对于这项任务,可以用DROPDATABASE语句。
删除了数据库,也就删除了它的所有对象,从而释放数据库空间。
语法
DROPDATABASEdatabase_name
参数
database_name
指定要删除的数据库名称。
从master数据库中执行sp_helpdb以查看数据库列表。
删除数据库示例
删除Sales数据库
DROPDATABASEsales
3.3数据类型
数据类型是数据的一种属性,表示数据所表示信息的类型。
任何一种计算机语言都定义了自己的数据类型。
当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同。
3.3.1系统常用数据类型
系统数据类型是SQLServer支持的内置数据类型,SQLServer提供了25种数据类型,其中常用的有:
·Char(size)定长字符数据类型
·Varchar(size)变长字符数据类型
·Datetime日期和时间数据类型
·Int整数数据
·Float[(n)]近似小数数据
·Numeric(p,s)精确小数数据
·Money货币数据类型
·Bit特殊数据类型
·Text文本数据类型
·Image图像数据类型
3.3.1.1.字符数据类型
字符数据的类型包括Varchar,Char和Text。
字符数据是由任何字母、符号和数字任意组合而成的数据。
Varchar是变长字符数据,其长度不超过8KB。
Char是定长字符数据,其长度最多为8KB。
超过8KB的ASCII数据可以使用Text数据类型存储。
例如,因为Html文档全部都是ASCII字符,并且在一般情况下长度超过8KB,所以这些文档可以Text数据类型存储在SQLServer中。
3.3.1.2日期和时间数据类型
日期和时间数据类型主要包括Datetime。
日期和时间数据类型由有效的日期和时间组成。
例如,有效的日期和时间数据包括’4/01/9812:
15:
00:
00:
00PM’和’1:
28:
29:
15:
01AM8/17/98’。
前一个数据类型是日期在前,时间在后。
后一个数据类型是时间在前,日期在后。
在MicrosoftSQLServer中,日期和时间数据类型包括Datetime和Smalldatetime两种类型时,所存储的日期范围是从1753年1月1日开始,到9999年12月31日结束(每一个值要求8个存储字节)。
使用Smalldatetime数据类型时,所存储的日期范围是1900年1月1日开始,到2079年12月31日结束(每一个值要求4个存储字节)。
在默认情况下,日期格式为月日年。
例如,当执行SetDateFormatYMD之后,日期的格式为年月日形式;当执行SetDateFormatDMY之后,日期的格式为日月年形式。
3.3.1.3数字数据类型
数字数据只包含数字。
数字数据类型包括正数和负数、小数(浮点数)和整数。
整数由正整数和负整数组成,例如39、25、0-2和33967。
在MicrsoftSQLServer中,整数存储的数据类型是bigint,int,smallint和tinyint。
bigint从-9223372036854775808到9223372036854775807的整型数据(所有数字)。
存储大小为8个字节。
Int数据类型存储数据的范围大于Smallint数据类型存储数据的范围,而Smallint数据类型存储数据的范围大于Tinyint数据类型存储数据的范围。
使用Int数据类型存储数据的范围是从-2147483648到2147483647(每一个值要求4个字节存储空间)。
使用Smallint数据类型时,存储数据的范围从-32768到32767(每一个值要求2个字节存储空间)。
使用Tinyint数据类型时,存储数据的范围是从0到255(每一个值要求1个字节存储空间)。
精确小数数据在SQLServer中的数据类型是Decimal和Numeric。
这种数据所占的存储空间根据该数据的位数后的位数来确定。
在SQLServer中,近似小数数据的数据类型是Float和Real。
例如,三分之一这个分数记作。
3333333,当使用近似数据类型时能准确表示。
因此,从系统中检索到的数据可能与存储在该列中数据不完全一样。
3.3.1.4货币数据类型
货币数据表示正的或者负的货币数量。
在MicrosoftSQLServer中,货币数据的数据类型是Money和Smallmoney。
Money数据类型要求8个存储字节,Smallmoney数据类型要求4个存储字节。
3.3.1.5特殊数据类型
Bit由1或者0组成。
当表示真或者假、ON或者OFF时,使用Bit数据类型。
例如,询问是否是每一次访问的客户机请求可以存储在这种数据类型的列中。
创建表
修改表
删除表
3.4表
表是数据库中重要的数据库的对象,所谓表就是行和列的集合,每一行对应的是记录,每一列对应的是字段。
关系数据库通常包含多个表。
数据库实际上是表的集合,数据库的数据或者信息都是存储在表中的。
表是对数据进行存储和操作的一种逻辑结构,每一个表都代表一个对用户意义的对象。
例如,一个公司
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 sql 教材