关系数据库SQL语言课件

上传人:我*** 文档编号:141428888 上传时间:2020-08-07 格式:PPT 页数:41 大小:121.50KB
返回 下载 相关 举报
关系数据库SQL语言课件_第1页
第1页 / 共41页
关系数据库SQL语言课件_第2页
第2页 / 共41页
关系数据库SQL语言课件_第3页
第3页 / 共41页
关系数据库SQL语言课件_第4页
第4页 / 共41页
关系数据库SQL语言课件_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《关系数据库SQL语言课件》由会员分享,可在线阅读,更多相关《关系数据库SQL语言课件(41页珍藏版)》请在金锄头文库上搜索。

1、第三章,关系数据库SQL语言,关系数据库语言 SQL,SQL(Structured Query Language)结构化查询语言,1974年Boyce和Chamberlin提出,首先在IBM 公司的关系数据库系统System R上实现。 特点:功能丰富、使用方便、灵活、语言简洁易学,应用系统范围广,统一标准。 1986年,ANSI数据库委员会X3H2批准了SQL作为数据库语言的美国标准,ISO随后也提出了同样的决定。,SQL概述,标准化 有关组织 ANSI(American Natural Standard Institute) ISO(International Organization f

2、or Standardization) 有关标准 SQL-86:“数据库语言SQL” SQL-89:“具有完整性增强的数据库语言SQL”,增加了对完整性约束的支持。 SQL-92:“数据库语言SQL”,是SQL-89的超集,增加了许多新特性,如新的数据类型,更丰富的数据操作,更强的完整性、安全性支持等。 SQL-3:正在讨论中的新的标准,将增加对面向对象模型的支持。 现状 大部分DBMS产品都支持SQL,成为操作数据库的标准语言 有方言,支持程度不同,3.1 SQL概貌及其特点,主要特点: 1. 语言简洁、易学易用:核心功能只有8个动词,语法简单,接近英语。,3.1 SQL概貌及其特点,主要特

3、点: 2. 高度非过程化的语言:用户只需提出“干什么”,至于“怎么干”由DBMS解决;用户只需要早查询语句中提出需要什么,DBMS即可按路径存取,并把结果返回给用户。 3. 面向集合的语言:每一个SQL的操作对象是一个或多个关系,操作的结果也是一个关系。 4. 即可独立使用,又可嵌入到宿主语言中使用,具有自主型和宿主型两种特点。 5. 具有查询、操作、定义和控制四种语言一体化的特点。它只向用户提供一种语言,但该语言具有上述多种功能,且每中操作只需一种操作符。,3.1.2 SQL数据库的体系结构,SQL,用户,Base Table B1,View V1,View V2,Base Table B2

4、,Base Table B3,Base Table B4,Stored File S1,Stored File S1,Stored File S1,Stored File S1,外模式,模式,内模式,SQL语言支持的关系数据库的三级模式结构,3.1.3 SQL的功能,数据定义(DDL) 定义、删除、修改关系模式(基本表) 定义、删除视图(View) 定义、删除索引(Index) 数据操纵(DML) 数据查询 数据增、删、改 数据控制(DCL) 用户访问权限的授予、收回,3.1.3 SQL的功能,嵌入式SQL的使用规定 能将SQL语句嵌入到高级语言(宿主语言) 使应用程序充分利用SQL访问数据库

5、的能力、宿主语言的过程处理能力 一般需要预编译,将嵌入的SQL语句转化为宿主语言编译器能处理的语句,3.1.3 SQL的功能,main ( ) . exec sql begin declare section; char co10; int id; exec sql end declare section; exec sql select company_name from customer where id = :id into co; ,SQL的形式交互式,交互式SQL 一般DBMS都提供联机交互工具 用户可直接键入SQL命令对数据库进行操作 由DBMS来进行解释,SQL的形式交互式,SQ

6、L的形式交互式,SQL的形式SQL/API,SQL/API 从宿主语言主程序中调用一个SQL DBMS库,而SQL语句是这个调用的参数 目前更多的数据库编程在使用这种方法 ODBC JDBC SQL/CLI OCI,SQL的形式SQL/API,#include “sqlcli.h” SQLHSTMThstmt; SQLPrepare(hstmt,“Insert Into customer values()”); SQLExcute(hstmt); ,3.2 SQL的数据定义(DDL),数据定义语言(Data Definition Language) Create、Drop、Alter 定义一组

7、关系(基本表)、说明各关系的信息 各关系的模式 各属性的值域 完整性约束 索引 安全性和权限 各关系在磁盘上的物理存储结构,3.2.1 SQL模式的创建和撤销,在SQL中,一个SQL模式被定义为基本表的集合。一个SQL模式由模式名和模式拥有者的用户名或账号来确定,并包含模式中每一个元素的定义。创建一个SQL模式,就是定义了一个存储空间。,SQL模式的创建可以用CREATE语句实现,句法如下: CREATE SCHEMAAUTHORIZATION ,例如: CREATE SCHEMA ST_CO AUTHORIZATION LISMITH,1、SQL模式的创建和撤销,2、SQL模式的撤消,3.2

8、.1 SQL模式的创建和撤销,当一个SQL模式及其所属的基本表、视图等元素都不需要时,可以用DROP语句撤消这个SQL模式: DROP SCHEMA CASCADE|RESTRICT,CASCADE方式:执行DROP语句时,把SQL模式及其下属的基本表、视图、索引等所有元素全部撤消。 RESTRICT方式:执行DROP语句时,只有当SQL模式中没有任何下属元素时,才能撤消SQL模式。,DROP SCHEMA ST_CO CASCADE,3.2.2 SQL提供的基本数据类型,数值型 int:整数。 smallint:小整数类型。 numeric(p,d):定点数,小数点左边p位,右边q位。 re

9、al:浮点数。 double precision:双精度浮点数。 float(n),3.2.2 SQL提供的基本数据类型,字符型 char(n)固定长度的字符串。 varchar(n)可变长字符串。 位串型 BIT(n) BIT VARYING(n) 日期/时间型 date:日期(年、月、日)。 time:时间(小时、分、秒)。 interval:两个date或time类型数据之间的差。,3.2.3 基本表的创建、修改和撤销,1. 定义基本表 (1) 定义基本表的语句格式: CREATE TABLE (,) 表名: 列定义:列名、列数据类型、长度、是否允许空值等。 定义完整性约束:列约束和表约

10、束 CONSTRAINT ,3.2.3 基本表的创建、修改和撤销,完整性约束类型: NULL/NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK,例如:建立一个学生基本表 CREATE TABLE S ( S# CHAR(4), SN CHAR(8), AGE SMALLINT, SEX CHAR(2) DEFAULT男, DEPT CHAR(2);,3.2.3 基本表的创建、修改和撤销,3.2.3 基本表的定义和修改,例:建立包含完整性定义的学生基本表 CREATE TABLE S ( S# CHAR(4) CONSTRAINT S_PRIM PRIM

11、ARY KEY, SN CHAR(8) CONSTRAINT SN_CONS NOT FULL, AGE SMALLINT CONSTRAINT AGE_CHE CHECK(AGE BETWEEN 15 AND 45), SEX CHAR(2) DEFAULT男, DEPT CHAR(2);,3.2.3 基本表的定义和修改,例:建立包含完整性定义的选课基本表 CREATE TABLE SC ( S# CHAR(4) CONSTRAINT S_CONS NOT NULL, C# CHAR(5) CONSTRAINT C_CONS NOT FULL, GRADE SMALLINT CONSTRAI

12、NT GRADE_CHE CHECK(GRADE=0 AND GRADE=100), CONSTRAINT SC_PRIM PRIMARY KEY(S#,C#), CONSTRAINT SC_S FOREIGN KEY (S#) REFERENCES S(S#), CONSTRAINT SC_S FOREIGN KEY (C#) REFERENCES C(C#);,3.2.3 基本表的定义和修改,(2) 用其它表的数据创建一个新表 CREATE TABLE (,) AS 例:建立计算机系学生情况基本表 CREATE TABLE S6 AS SELECT S#,SN,SEX,AGE FROM S

13、 WHERE DEPT=6,3.2.3 基本表的定义和修改,2. 修改基本表 (1) ADD方式 使用 ADD方式可以向表中增加列定义和表约束 语法格式: ALTER TABLE ADD (|, (|) 例:在S表中增加一个班号列 ALTER TABLE S ADD(CLASSNO CHAR(6);,3.2.3 基本表的定义和修改,例:在S表中增加一个完整性约束定义,使DEPT的取值只能在“1”到“15”之间 ALTER TABLE S ADD (CHECK(DEPT BWTEEN “1”AND”15”); 将学号属性改为10个字符,并改为非空 ALTER TABLE w4 alter col

14、umn s# char(10) not null,3.2.3 基本表的定义和修改,(2) MODIFY方式 该方式能对基本表中已有的列定义进行修改 语法格式: ALTER TABLE MODIFY ( 数据类型NULL|NOT NULL) 例:把S表中S#列加宽到10为字符宽度 ALTER TABLE S MODIFY(S# CHAR(10);,3.2.3 基本表的定义和修改,(3) DROP方式 该方式能删除基本表中已有的完整性约束定义 语法格式: ALTER TABLE DROP CONSTRAINT |PRMARY KEY|UNIQUE(,) 例:删除S表中的主码 ALTER TABLE

15、 S DROP PRIMARY KEY alter table s drop constraint age_check,3.2.3 基本表的定义和修改,3.删除基本表 DROP TABLE 示例 drop table sc DANGER 撤消基本表后,基本表的定义、表中数据、索引、以及由此表导出的视图的定义都被删除。,3.2.3 视图的定义和撤销,是从基本表(或其他视图)中导出的虚表(结果集) 数据库中存放它的定义(在数据字典中) 是RDBMS提供给用户以多种角度观察数据库中数据的重要机制 外模式:用户定义的基本表和若干视图组成 视图:由基本表或其它视图导出的表,其本身不存在与数据库中,称为虚

16、表 视图一经定义,就可被检索或删除,但更新操作有一定的限制,也可定义其它视图,表与视图,基本表 本身是实际且独立存在的。 是数据库存储数据的基本单元,视图 视图是虚表 数据库只存储视图的定义,不存储对应的数据。 视图用一组查询来定义,是被存储的查询,3.2.3 视图的定义和撤销,1. 定义视图 视图是用一个查询块的查询结果来定义的 语法格式:创建视图、删除 Create View v as ; Drop View v 例:计算机系的花名册 Create View CS_Stu as Select sno,sname,ssex From Student Where sdept = CS,(一般情况下)视图可以象基本表那样使用 视图名可以出现在关系名可以出现的地方 DBMS将视图转换成对基本表的操作 例:列出计算机系的男生 Select sno,sname From CS_Stu Where ssex = M,3.2.3 视图的定义和撤销,3.2.3 视图的定义和撤

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号