P(零件表) Pn(零件名) Pname〔零件名称)uty(ty) 101 Cam 150 102 Bolt 300 105 Cear 50 203 Belt 30 207 Wheel 120 215 Washer 1300 S(供应商表 sno Sname Addr 51 Liming Beijing 52 Xinghua Tianjin 58 Kehai Beijing 67 Vesam Shanghai 69 Smith Shanghai 75 lane Beijing U∩
1 Pno(零件名) Pname(零件名称) Quty(Quty) 101 Cam 150 102 Bolt 300 105 Cear 50 203 Belt 30 207 Wheel 120 215 Washer 1300 P(零件表) SNO Sname Addr 51 Liming Beijing 52 Xinghua Tianjin 58 Kehai Beijing 67 Vesam Shanghai 69 Smith Shanghai 75 Huahe Beijing S(供应商表)
Q(报价表) SNO PNO Price|D_time(供货时间) Deliquty(供货量) 51 101 25 10 50 51 105 42 15 100 52 101 20 15 75 52 203 13 50 58 102 200 67 207 34 12 67 215 4 3 500 69 105 36 20 40 69 203 15 10 30 表41零件供应数据库 UA+
2 Q (报价表) SNO PNO Price D_time(供货时间) Deliquty(供货量) 51 101 25 10 50 51 105 42 15 100 52 101 20 15 75 52 203 13 7 50 58 102 9 5 200 67 207 34 12 0 67 215 4 3 500 69 105 36 20 40 69 203 15 10 30 表4.1 零件供应数据库
第4章使用高级查询—SQ语言 本章要求 >了解SQL语言的特点。 >掌握SQL语言的四大功能及使用方法。 重点掌握其数据查询功能及其使用。 UA+
3 第4章 使用高级查询---SQL语言 本章要求 ➢了解 SQL语言的特点。 ➢掌握SQL语言的四大功能及使用方法。 ➢重点掌握其数据查询功能及其使用
4.1背景 4.1.1SQL语言的起源 1.1975年由 CHAMBERLIN和 BOYEE提出,当时称为 SEQUEL (STUCTURED ENGLISH QUERY LANGUAGE) 2.1981年IBM推出其商用关系关系数据库SQL/DS; 3.今天广泛应用于各种大型数据库,如 SYBASE、 INFORMIX、 ORACLE、DB2、 INGRES等,也用于各 种小型数据库,如 FOXPR0、 ACCESS。 UA+i+
4 4.1 背景 4.1.1 SQL语言的起源 1. 1975 年 由 CHAMBERLIN 和 BOYEE 提 出 , 当 时 称 为 SEQUEL(STUCTURED ENGLISH QUERY LANGUAGE); 2. 1981年 IBM推出其商用关系关系数据库SQL/DS; 3. 今天广泛应用于各种大型数据库,如SYBASE、 INFORMIX、 ORACLE、DB2、INGRES等,也用于各 种小型数据库,如FOXPRO、ACCESS
4.1.2SQL语言标准化 1.1986年,美国国家标准化协会公布了SQL语言的第 个标准SQL86; 2.1987年,IS0通过了SQL86标准; 3.1989年,IS0推出了SQL89标准; 4.1992年,IS0推出了SQL92标准; 5.目前SQL99(也称为SQL3)在起草中,增加了面向 对象的功能
5 4.1.2 SQL语言标准化 1. 1986年,美国国家标准化协会公布了SQL语言的第 一个标准SQL86; 2. 1987年,ISO通过了SQL86标准; 3. 1989年,ISO推出了SQL89标准; 4. 1992年,ISO推出了SQL92标准; 5. 目前SQL99(也称为SQL3)在起草中,增加了面向 对象的功能
4.1.3SQL语言的主要特点 SQL语言类似于自然语言,简洁易用 2.SQL语言是一种非过程语言; 3.SQL语言是一种面向集合的语言; SQL语言既是自含式语言,又是嵌入式语言 5.SQL语言具有: 数据查询 数据定义 数据操纵 数据控制四种语言一体化的功能。 60n
6 4.1.3 SQL语言的主要特点 1. SQL语言类似于自然语言,简洁易用; 2. SQL语言是一种非过程语言; 3. SQL语言是一种面向集合的语言; 4. SQL语言既是自含式语言,又是嵌入式语言; 5. SQL语言具有: 数据查询 数据定义 数据操纵 数据控制 四种语言一体化的功能
4.1.4SQL语言的基本概念 >基本表( BASE TABLE):是独立存在的表,不是由其 它的表导出的表。一个关系对应一个基本表,一个或 多个基本表对应一个存储文件。 >视图(VIEW):是一个虚拟的表,是从一个或几个基 本表导出的表。它本身不独立存在于数据库中,数据 库中只存放视图的定义而不存放视图对应的数据,这 些数据仍存放在导出视图的基本表中。当基本表中的 数据发生变化时,从视图中查询出来的数据也随之改 变。 70n
7 4.1.4 SQL语言的基本概念 ➢ 基本表(BASE TABLE):是独立存在的表,不是由其 它的表导出的表。一个关系对应一个基本表,一个或 多个基本表对应一个存储文件。 ➢ 视图(VIEW):是一个虚拟的表,是从一个或几个基 本表导出的表。它本身不独立存在于数据库中,数据 库中只存放视图的定义而不存放视图对应的数据,这 些数据仍存放在导出视图的基本表中。当基本表中的 数据发生变化时,从视图中查询出来的数据也随之改 变
4.2SQL数据定义 4.2.1字段数据类型 SQL语言使用数据定义语言(简称DDL)实现其数据定 功能,可对数据库用户、基本表、视图、索引进行定 义和撤消。 字段类型的定义和具体的DBMS有关,因此具体定义只 能从有关的DBMS手册中得到。教材P92列出了SQL-92 支持的数据类型。 UA+
8 4.2 SQL数据定义 4.2.1 字段数据类型 ➢ SQL语言使用数据定义语言(简称DDL)实现其数据定 功能,可对数据库用户、基本表、视图、索引进行定 义和撤消。 ➢ 字段类型的定义和具体的DBMS有关,因此具体定义只 能从有关的DBMS手册中得到。教材P92列出了SQL-92 支持的数据类型
4.2.2创建、修改和删除数据表 4221创建数据表 1.创建一个数据表时主要包括以下几个组成部分: (1)字段名 (2)字段数据类型 (3)字段的长度、精度和小数位数; 2、创建数据表的SQL语法格式为: CREATE TABLE表名(列名1数据类型1[ NOT NULI] [,列名2数据类型2[ NOT NULI]]…)
9 4.2.2 创建、修改和删除数据表 4.2.2.1 创建数据表 1. 创建一个数据表时主要包括以下几个组成部分: (1)字段名 (2)字段数据类型 (3)字段的长度、精度和小数位数; 2、创建数据表的SQL语法格式为: CREATE TABLE 表名 (列名1 数据类型1 [NOT NULL] [,列名2 数据类型2 [NOT NULL] ]…)
例4.1建立一学生表S CREATE TABLE S (SNO CHAR(8), SN VARCHAR (20) AGE INT, SEX CHAR(2) DEFAULT’男,DEPT VARCHAR (20)) >执行该语句后,便产生了学生基本表的表框架,此表 为一个空表。 其中,SEX列的缺省值为“男”。 1000
10 例4.1 建立一学生表S CREATE TABLE S(SNO CHAR(8) ,SN VARCHAR(20), AGE INT,SEX CHAR(2) DEFAULT '男' ,DEPT VARCHAR(20)) ➢ 执行该语句后,便产生了学生基本表的表框架,此表 为一个空表。 ➢ 其中,SEX列的缺省值为“男”