资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
SQL 语言基础及数据定义功能SQLSQL语言概述语言概述SQLSQL的数据类型的数据类型 数据定义数据定义提纲提纲要求:了解SQL语言的特点;掌握SQL语言的功能;了解SQL 的数据类型;掌握数据定义功能;掌握数据完整性的概念及定 义方法11.SQL语言的发展一、一、SQLSQL语言概述语言概述SQLSQL(Structured Query LanguageStructured Query Language)结构化查询语言,是关系数据库的标准语言。结构化查询语言,是关系数据库的标准语言。 SQLSQL是一个通用的、功能极强的关系数据库语言。是一个通用的、功能极强的关系数据库语言。标准 大致页数 发布日期 SQL/86 1986.10 SQL/89(FIPS 127-1) 120页 1989年 SQL/92 622页 1992年 SQL99 1700页 1999年 SQL2003 2003年现状现状: :大部分大部分DBMSDBMS产品都支持产品都支持SQLSQL,成为操作数据库的,成为操作数据库的标准语言。标准语言。 有方言,支持程度不同有方言,支持程度不同2n n综合统一综合统一2.SQL语言的特点及功能概述集数据定义语言(集数据定义语言(DDLDDL),数据操纵语言(),数据操纵语言(DMLDML),数据控制语言(),数据控制语言( DCLDCL)功能于一体。)功能于一体。 可以独立完成数据库生命周期中的全部活动:可以独立完成数据库生命周期中的全部活动: 定义关系模式,插入数定义关系模式,插入数 据,建立数据库;据,建立数据库; 对数据库中的数据进行查询和更新;对数据库中的数据进行查询和更新; 数据库重构和维数据库重构和维 护;护; 数据库安全性、完整性控制等数据库安全性、完整性控制等 用户数据库投入运行后,可根据需要随时逐步修改模式,不影响数据的用户数据库投入运行后,可根据需要随时逐步修改模式,不影响数据的 运行。运行。 数据操作符统一数据操作符统一n n高度非过程化高度非过程化非关系数据模型的数据操纵语言非关系数据模型的数据操纵语言“ “面向过程面向过程” ”,必须制定存取路径。,必须制定存取路径。 SQLSQL只要提出只要提出“ “做什么做什么” ”,无须了解存取路径。,无须了解存取路径。 存取路径的选择以及存取路径的选择以及SQLSQL的操作过程由系统自动完成。的操作过程由系统自动完成。一、一、SQLSQL语言概述语言概述3n n面向集合的操作方式面向集合的操作方式2.SQL语言的特点及功能概述非关系数据模型采用面向记录的操作方式,操作对象是一条记录非关系数据模型采用面向记录的操作方式,操作对象是一条记录 SQLSQL采用集合操作方式:操作对象、查找结果可以是元组的集合;一采用集合操作方式:操作对象、查找结果可以是元组的集合;一 次插入、删除、更新操作的对象可以是元组的集合次插入、删除、更新操作的对象可以是元组的集合n n以同一种语法结构提供多种使用方式以同一种语法结构提供多种使用方式SQLSQL是独立的语言:能够独立地用于联机交互的使用方式是独立的语言:能够独立地用于联机交互的使用方式 SQLSQL又是嵌入式语言:又是嵌入式语言:SQLSQL能够嵌入到高级语言(例如能够嵌入到高级语言(例如C C,C+C+, JavaJava)程序中,供设计程序时使用)程序中,供设计程序时使用n n以同一种语法语言以同一种语法语言 简洁,易学易用简洁,易学易用一、一、SQLSQL语言概述语言概述SQLSQL功能极强,完功能极强,完 成核心功能只用了成核心功能只用了9 9 个动词:个动词: 4n nSQLSQL支持关系数据库三级模式结构支持关系数据库三级模式结构3.SQL的基本概念SQL视图2视图1基本表2基本表1基本表3基本表4存储文件2存储文件1外模式模 式内模式一、一、SQLSQL语言概述语言概述53.SQL的基本概念基本表:本身独立存在的表。基本表:本身独立存在的表。SQLSQL中一个关系就对应一个基本表;一中一个关系就对应一个基本表;一 个个( (或多个或多个) )基本表对应一个存储文件;一个表可以带若干索引。基本表对应一个存储文件;一个表可以带若干索引。 存储文件:逻辑结构组成了关系数据库的内模式;物理结构是任意的,对存储文件:逻辑结构组成了关系数据库的内模式;物理结构是任意的,对 用户透明。用户透明。 视图:从一个或几个基本表导出的表。数据库中只存放视图的定义而不存视图:从一个或几个基本表导出的表。数据库中只存放视图的定义而不存 放视图对应的数据;视图是一个虚表;用户可以在视图上再定义视图。放视图对应的数据;视图是一个虚表;用户可以在视图上再定义视图。一、一、SQLSQL语言概述语言概述6二、二、SQLSQL的数据类型的数据类型 SQL的数据类型SQLSQL中中域域的概念用的概念用数据类型数据类型来实现来实现 定义表的属性时定义表的属性时 需要指明其数据类型及长度:选用哪种数据类型、取值范围需要指明其数据类型及长度:选用哪种数据类型、取值范围 、要做哪些运算等、要做哪些运算等日期,包含年、月、日,格式为YYYY-MM-DD HH:MM:SSDATETIME浮点数,精度至少为n位数字FLOAT(n)取决于机器精度的浮点数REAL由p位数字(不包括符号、小数点)组成,小数后面有q.0qp15decimal(p,q)短整数SMALLINT长整数(也可以写作INTEGER)INT最大长度为n的变长字符串VARCHAR(n)长度为n的定长字符串CHAR(n)含义数据类型SQL Server 支持的数据类型7三、数据定义三、数据定义SQLSQL的数据定义功能的数据定义功能: : 模式定义、表定义、视图和索引的定义模式定义、表定义、视图和索引的定义 SQL的数据定义语句n n定义基本表定义基本表基本表:本身独立存在的表。基本表:本身独立存在的表。SQLSQL中一个关系就对应一个基本表;一中一个关系就对应一个基本表;一 个个( (或多个或多个) )基本表对应一个存储文件;一个表可以带若干索引。基本表对应一个存储文件;一个表可以带若干索引。1.基本表的定义、删除DDL8n n定义基本表定义基本表CREATE TABLE ( , , );如果如果完整性约束条件完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否涉及到该表的多个属性列,则必须定义在表级上,否 则既可以定义在列级也可以定义在表级。则既可以定义在列级也可以定义在表级。1.基本表的定义、删除例 1 建立“学生”表Student,学号是主码,姓名取值唯一。CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件*/ Sname CHAR(20) UNIQUE, /* Sname取唯一值*/Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20); 主码三、数据定义三、数据定义9附:使用企业管理器创建惟一约束。操作步骤如下:附:使用企业管理器创建惟一约束。操作步骤如下: 打开企业管理器,选择要设置惟一约束的表,这里选择打开企业管理器,选择要设置惟一约束的表,这里选择mytablemytable表,并单表,并单 击鼠标右键选择击鼠标右键选择“ “设计表设计表” ”命令。命令。 在设计表窗口中单击快捷工具栏中的在设计表窗口中单击快捷工具栏中的 按钮,打开按钮,打开“ “属性属性” ”对话框。对话框。 在在“ “属性属性” ”对话框中选择对话框中选择“ “索引索引/ /键键” ”选项卡,然后单击选项卡,然后单击“ “新建新建” ”按钮,在按钮,在“ “列名列名” ” 下拉列表中选择要创建为惟一约束的列名称,并选中下拉列表中选择要创建为惟一约束的列名称,并选中“ “创建创建 UNIQUE”UNIQUE”复选复选 框和框和“ “约束约束” ”单选按钮。最后在单选按钮。最后在“ “索引名索引名” ”文本框中输入惟一约束名称即可。文本框中输入惟一约束名称即可。 关闭关闭“ “属性属性” ”对话框,并单击工具栏中的对话框,并单击工具栏中的 按钮保存设置按钮保存设置n n定义基本表定义基本表1.基本表的定义、删除三、数据定义三、数据定义10n n定义基本表定义基本表1.基本表的定义、删除例2 建立一个“课程”表CourseCREATE TABLE Course( Cno CHAR(4) PRIMARY KEY,Cname CHAR(40), Cpno CHAR(4) , Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) ); 先修课 Cpno是外码被参照表是Course 被参照列是Cno三、数据定义三、数据定义11n n定义基本表定义基本表1.基本表的定义、删除例3 建立一个“学生选课”表SC CREATE TABLE SC(Sno CHAR(9), Cno CHAR(4), Grade SMALLINT,PRIMARY KEY (Sno,Cno), /* 主码由两个属性构成,必须作为表级完整性进行定义*/FOREIGN KEY (Sno) REFERENCES Student(Sno),/* 表级完整性约束条件,Sno是外码,被参照表是Student */FOREIGN KEY (Cno) REFERENCES Course(Cno)/* 表级完整性约束条件, Cno是外码,被参照表是Course*/ ); 三、数据定义三、数据定义12n n删除基本表删除基本表 1.基本表的定义、删除DROP TABLE ; 删除表是有限制的。删除表是有限制的。欲删除的基本表不能被其他表的约束所引用,如果存在欲删除的基本表不能被其他表的约束所引用,如果存在 依赖该表的对象,则此表不能被删除依赖该表的对象,则此表不能被删除例例4 4 删除删除StudentStudent表表DROP TABLE Student ;DROP TABLE Student ;例例5 5 若表上建有视图不能删除若表上建有视图不能删除DROP TABLE Student; DROP TABLE Student; -ERROR: cannot drop table -ERROR: cannot drop table Student because other Student because other objects depend on itobjects depend on itCREATE VIEW CREATE
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号