- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL概述
特点
一体化
集DDL,DML,DCL于一体 单一的结构----关系,带来了数据操作符的统一
面向集合的操作方式
一次一集合
高度非过程化
用户只需提出“做什么”,无须告诉“怎么做”,不必了解存取路 径
两种使用方式,统一的语法结构
SQL既是自含式语言(用户使用),又是嵌入式语言(程序员使用)
域定义
域定义
格式
create domain 域名 数据类型
示例
create domain person-name char(20)
类似C语言中:
typedef ADDRESS_LIST{
char name[10]; char telephone[20]; char location[20] char email[20]}; ADDRESS_LIST tom;
基本表的定义
修改基本表定义(ALTER)
格式:
alter table 表名
[add 子句]
增加新列
[drop 子句]
删除列
[modify 子句]
修改列定义
示例
alter table PROF
add LOCATION char[30]
基本表的定义
撤消基本表定义(drop)
格式
drop table 表名
基本表的定义
示例
create domain person_name char(20) create table PROF
( PNO char[10], person_name PNAME not null, SAL int, AGE int, DNO char[10], primary key (PNO), foreign key (DNO) references DEPT(DNO), check (SAL > 0))
Jose研究室研制,称为Sequel
SQL概述
SQL用户
用户1
用户2
用户3
用户4
VIEW Base Table
基本表B1
视图V1
视图V1
基本表B2 基本表B3 基本表B4
存储文件S1 存储文件S2 存储文件S3 存储文件S4
Stored file
SQL数据库体系结构
SQL概述
标准化
有关组织
ANSI(American Natural Standard Institute) ISO(International Organization for Standardization)
语言简洁,易学易用
SQL概述
SQL功能 数据查询 数据定义 数据操纵 数据控制
操作符 SELECT CREATE,ALTER,DROP INSERT,UPDATE,DELETE GRANT,REVOKE
示例关系
DEPT(D# , DNAME , DEAN) S(S# , SNAME , SEX , AGE , D#) COURSE(C# , CN , PC# , CREDIT) SC(S# , C# , SCORE) PROF(P# , PNAME, AGE, D# , SAL) PC(P# , C#)
基本表的定义基本表的定Fra bibliotek(CREATE)
格式
create table 表名( 列名 数据类型 [default 缺省值] [not null] [,列名 数据类型 [default 缺省值] [not null]]
……
[,primary key(列名 [,列名] …)] [,foreign key (列名 [,列名] …)
基本表的定义
CREATE TABLE C ( C# CHAR(4), CNAME CHAR(10) NOT NULL, TEACHER CHAR(8), PRIMARY KEY (C#), )
基本表的定义
CREATE TABLE SC (S# CHAR(4), C# CHAR(4), GRADE SAMLLINT, PRIMARY KEY (S#,C#), FOREIGN KEY (S#) REFERENCES S(S#), FOREIGN KEY (C#) REFERENCES C(S#), CHECK((GRADE IS NULL) OR GRADE BETWEEN 0 AND 100))
提纲
SQL概述 SQL数据定义功能 SQL数据查询功能 SQL数据修改功能 SQL数据控制功能 嵌入式SQL
SQL概述
历史
SQL: Struceured Query Languang 1974年,由Boyce和Chamber提出 1975-1979年,在System R上实现,由IBM的San
有关标准
SQL-86
“数据库语言SQL”
SQL-89
“具有完整性增强的数据库语言SQL”,增加了对完整性约束的支持
SQL-92
“数据库语言SQL”,是SQL-89的超集,增加了许多新特性,如新的数据 类型,更丰富的数据操作,更强的完整性、安全性支持等。
SQL-3
正在讨论中的新的标准,将增加对面向对象模型的支持
SQL数据定义功能
域定义 基本表的定义 索引的定义 数据库的建立与撤消 SQL数据定义特点
域定义
域类型(SQL-92)
char(n):固定长度的字符串 varchar(n):可变长字符串 int:整数 smallint:小整数类型 numeric(p,d):定点数,小数点左边p位,右边q位 real:浮点数 double precision:双精度浮点数 date:日期(年、月、日) time:时间(小时、分、秒) interval:两个date或time类型数据之间的差
references 表名 (列名 [,列名] …)] [,check(条件)])
基本表的定义
示例
CREATE TABLE S ( S# CHAR(4), SNAME CHAR(8) NOT NULL, AGE SMALLINT, SEX CHAR(1), PRIMARY KEY (S#), CHECK (SEX=0 OR SEX=1) )
示例
drop table DEPT
DANGER
撤消基本表后,基本表的定义、表中数据、索引、 以及由此表导出的视图的定义都被删除
索引的定义