资源预览内容
第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
第9页 / 共35页
第10页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第三讲 关系数据库的标准语言SQL,SQL (structured Query Language)-结构化查询语言是关系数据库的标准语言。1974年由Boyce和Chamberlin提出,1979年IBM公司首次在其关系数据库系统System R上实现了SQL。1986年由ANSI批准成为美国国家标准。随即由ISO批准成为国际标准。历经两次修改(SQL-89,SQL-92) 目前,几乎所有的关系数据库管理系统都支持SQL。,SQL的特点,功能一体化 集DDL,DML,DCL于一身 高度的非过程特性 用户只需告诉DBMS干什么,而不必告诉它应该怎么干。 操作的对象和结果均为集合 两种使用方式,统一的语法结构。 交互式,嵌入式 易学易用 语法简单,接近英语口语,完成核心功能的动词只有8个。 Create,drop;select,insert,update,delete;grant,revoke,SQL所支持的三级模式结构,Subschema,Schema,Physical schema,SQL,view1,view1,Base table1,Base table2,Base table3,Base table n,Database file1,Database file m,User or application,subschema,schema,Physical schema,SQL的数据定义语句,SQL的数据定义包括三个部分:定义基本表,定义视图,定义索引。 定义基本表的相关语句:Create Table,Drop Table,Alter Table 定义视图的相关语句:Create View,Drop View 定义索引的相关语句:Create Index,Drop Index,SQL Server,尽管SQL语言是一种标准的关系数据库语言,但不同厂商的DBMS所支持的SQL仍有一些差异。这主要是因为各厂商根据自己的需要对SQL作了一些扩充。本课程在介绍操作实例时使用微软公司的SQL Server。它在SQL语法,数据库功能上与Sybase公司的Sybase SQL Server基本相同。既有可以在单机上运行的版本,也有可以在网络上运行的版本。是广泛使用的大型数据库管理系统之一。,SQL Server的数据类型,字符数据 字符数据由字母、符号和数字组成。例如,有效字符数据包括“928”、“Johnson”和“(0*&(%B99nh jkJ”。在 Microsoft SQL Server 2000 中,字符数据使用 char、varchar 和 text 数据类型存储。当列中各项的字符长度数可变时可用 varchar 类型,但任何项的长度都不能超过 8 KB。当列中各项为同一固定长度时使用 char类型(最多 8KB)。text 数据类型的列可用于存储大于 8KB 的 ASCII 字符。,SQL Server的数据类型-数字数据,整型数据 整型数据由负整数或正整数组成,如 -15、0、5 和 2509。在 Microsoft SQL Server 2000 中,整型数据使用 bigint、int、smallint 和 tinyint 数据类型存储。bigint 数据类型可存储的数字范围比 int 数据类型广。int 数据类型比 smallint 数据类型的存储范围大,而 smallint 的数值范围又比 tinyint 类型大。 使用 bigint 数据类型存储从 -263 (-9223372036854775808) 到 263-1 (9223372036854775807) 范围内的数字。存储大小为 8 个字节。 int 数据类型的存储范围是 -2,147,483,648 至 2,147,483,647(每个值需 4 个字节的存储空间)。 smallint 数据类型的存储范围只有 -32,768 至 32,767(每个值需 2 个字节的存储空间),tinyint 数据类型只能存储 0 至 255 范围内的数字(每个值需 1 个字节的存储空间)。,SQL Server的数据类型-数字数据,小数数据 Decimal 数据包含存储在最小有效数上的数据。在 SQL Server中,小数数据使用 decimal 或 numeric 数据类型存储。存储 decimal 或 numeric 数值所需的字节数取决于该数据的数字总数和小数点右边的小数位数。例如,存储数值 19283.29383 比存储 1.1 需要更多的字节。 在 SQL Server中,numeric 数据类型等价于 decimal 数据类型。 近似数字数据 近似数字(浮点)数据包括按二进制计数系统所能提供的最大精度保留的数据。在 SQL Server 中,近似数字数据以 float 和 real 数据类型存储。例如,分数 1/3 表示成小数形式为 0.333333(循环小数),该数字不能以近似小数数据精确表示。因此,从 SQL Server 获取的值可能并不准确代表存储在列中的原始数据。又如,以 .3, .6, .7 结尾的浮点数均为数字近似值。,SQL Server的数据类型-日期和时间数据,日期和时间数据由有效的日期或时间组成。例如,有效日期和时间数据既包括“4/01/98 12:15:00:00:00 PM“,也包括“1:28:29:15:01 AM 8/17/98“。在 Microsoft SQL Server 2000 中,日期和时间数据使用 datetime 和 smalldatetime 数据类型存储。使用 datetime 数据类型存储从 1753 年 1 月 1 日至 9999 年 12 月 31 日的日期(每个数值要求 8 个字节的存储空间)。使用 smalldatetime 数据类型存储从 1900 年 1 月 1 日至 2079 年 6 月 6 日的日期(每个数值要求 4 个字节的存储空间)。,SQL Server的数据类型-二进制数据,二进制数据由十六进制数表示。例如,十进制数 245 等于十六进制数 F5。在 Microsoft SQL Server 2000 中,二进制数据使用 binary、varbinary 和 image 数据类型存储。指派为 binary 数据类型的列在每行中都是固定的长度(最多为 8 KB)。指派为 varbinary 数据类型的列,各项所包含的十六进制数字的个数可以不同(最多为 8 KB)。image 数据列可以用来存储超过 8 KB 的可变长度的二进制数据,如 Microsoft Word 文档、Microsoft Excel 电子表格、包含位图的图像、图形交换格式 (GIF) 文件和联合图像专家组 (JPEG) 文件。 除非数据长度超过 8KB 时用 image 数据类型存储,一般宜用 varbinary 类型来存储二进制数据。建议列宽的定义不超过所存储的二进制数据可能的最大长度。,SQL Server的数据类型-货币数据,货币数据表示正的或负的货币值。在 Microsoft SQL Server 2000 中使用 money 和 smallmoney 数据类型存储货币数据。货币数据存储的精确度为四位小数。可以存储在 money 数据类型中的值的范围是 -922,337,203,685,477.5808 至 +922,337,203,685,477.5807(需 8 个字节的存储空间)。可以存储在 smallmoney 数据类型中的值的范围是 -214,748.3648 至 214,748.3647(需 4 个字节的存储空间)。如果数值超过了上述范围,则可使用 decimal 数据类型代替。,SQL Server之SQL Server Enterprise Manager,SQL Server 企业管理器是 Microsoft SQL Server 2000 的主要管理工具,它提供了一个遵从 Microsoft 管理控制台 (MMC) 的用户界面,使用户得以: 定义运行 SQL Server 的服务器组。 将个别服务器注册到组中。 为每个已注册的服务器配置所有 SQL Server 选项 在每个已注册的服务器中创建并管理所有 SQL Server 数据库、对象、登录、用户和权限。 在每个已注册的服务器上定义并执行所有 SQL Server 管理任务。 通过唤醒调用 SQL 查询分析器,交互地设计并测试 SQL 语句、批处理和脚本。 唤醒调用为 SQL Server 定义的各种向导。,SQL Server之查询分析器,Microsoft SQL Server 2000 SQL 查询分析器是一种图形工具,可以使用它进行以下操作: 创建查询和其它 SQL 脚本,并针对 SQL Server 数据库执行它们。(“查询”窗口) 由预定义脚本快速创建常用数据库对象。(模板) 快速复制现有数据库对象。(对象浏览器脚本功能) 在参数未知的情况下执行存储过程。(对象浏览器过程执行功能) 调试存储过程。(T-SQL 调试程序) 调试查询性能问题。(显示执行计划、显示服务器跟踪、显示客户统计、索引优化向导) 在数据库内定位对象(对象搜索功能),或查看和使用对象。(对象浏览器) 快速插入、更新或删除表中的行。(“打开表”窗口) 为常用查询创建键盘快捷方式。(自定义查询快捷方式功能) 向“工具”菜单添加常用命令。(自定义“工具”菜单功能),创建数据库,用SQL Server Enterprise Manager建立学生数据库testdb.db。,创建数据库,用查询分析器建立学生数据库testdb.db。 USE master GO CREATE DATABASE testDB ON ( NAME = testDB_dat,FILENAME = D:datatestdbdat.mdf,SIZE = 1,MAXSIZE = 5,FILEGROWTH = 1 ) LOG ON ( NAME = testDB_log,FILENAME = D:datatestdblog.ldf,SIZE = 1MB,MAXSIZE = 5MB,FILEGROWTH = 1MB ) GO,基本表的定义Create Table,命令语法: CREATE TABLE database_name. owner .| owner. table_name( | column_name AS computed_column_expression| := CONSTRAINT constraint_name | PRIMARY KEY | UNIQUE ,.n ) ON filegroup | DEFAULT TEXTIMAGE_ON filegroup | DEFAULT 参数说明 column-definition: column-name data-type NOT NULL DEFAULT default-value ,基本表的定义(续一),column-constraint:UNIQUE | PRIMARY KEY | REFERENCES table-name ( column-name ) actions | CHECK ( condition )default-value:string | global variable | number | AUTOINCREMENT | CURRENT DATE | CURRENT TIME | CURRENT TIMESTAMP | NULL | USER | ( constant-expression ),基本表的定义(续二),table-constraint:UNIQUE ( column-name, . ) | PRIMARY KEY ( column-name, . ) | CHECK ( condition ) | foreign-key-constraintforeign-key-constraint:NOT NULL FOREIGN KEY role-name (column-name, . )REFERENCES table-name (column-name, . ) actions CHECK ON COMMIT action: ON UPDATE | DELETE CASCADE | SET NULL | SET DEFAULT | RESTRICT ,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号