数据库原理及应用课件:第4章 关系数据库标准语言SQL

举报
资源描述
数据库原理及应用数据库原理及应用第第4 4章章 关系数据关系数据库标准语言库标准语言SQLSQLlSQLSQL语言简介语言简介lSQLSQL的数据定义的数据定义lSQLSQL数据查询数据查询l数据更新数据更新l视图视图lSQLSQL数据控制数据控制本章内容本章内容9/6/202224.1 SQL4.1 SQL语言概述语言概述 lSQLSQL的发展及其特点的发展及其特点lSQLSQL的基本概念的基本概念lSQLSQL的功能的功能9/6/20223 SQLSQL是结构化查询语言是结构化查询语言Structured QueryStructured QueryLanguageLanguage 的缩写,它是数据库的核心语言。的缩写,它是数据库的核心语言。4.1.1 SQL4.1.1 SQL的发展及其特点的发展及其特点9/6/20224lIBMIBM的的BoyceBoyce在在19741974年首先提出了年首先提出了SQLSQL;l19791979年年ORACLEORACLE公司发表第一个基于公司发表第一个基于SQLSQL的商业化的商业化RDBMSRDBMS产品产品;l随后,随后,SQLSQL在在IBMIBMSystem RSystem R上的关系上的关系数据库数据库SQL/DSSQL/DS得到了实现;得到了实现;发展史:发展史:9/6/20225l19861986年美国国家标准协会(年美国国家标准协会(ANSIANSI)公)公布了第一个布了第一个SQLSQL标准,即标准,即SQLSQL8686;l国际标准化组织(国际标准化组织(ISOISO)于)于19871987年正式年正式采纳它为国际标准。采纳它为国际标准。l19891989年年ISOISO提出了完整特性的提出了完整特性的SQLSQL,并,并称之为称之为SQL89SQL89,后来又发展的,后来又发展的SQL92SQL92(也称为(也称为SQL2SQL2)。)。发展史(续):发展史(续):9/6/20226特点:特点:1.1.功能一体化功能一体化 SQLSQL包括数据定义、数据查询、包括数据定义、数据查询、数据操纵和数据控制的功能。数据操纵和数据控制的功能。9/6/202272.2.语言简洁,易学易用语言简洁,易学易用 只用只用7 7个动词(个动词(select,drop,select,drop,alter,create,insert,update,alter,create,insert,update,delete)delete)就实现了就实现了SQLSQL的核心功能。的核心功能。9/6/20228SQLSQL使用的动词使用的动词SQLSQL功能功能操作符(所用动词)操作符(所用动词)数据定义数据定义CREATE,ALTER,DROP数据查询数据查询SELECT数据操纵数据操纵INSERT,UPDATE,DELETE数据控制数据控制GRANT,REVOKE9/6/202299/6/2022103.3.高度非过程化高度非过程化 它没有必要告诉计算机它没有必要告诉计算机“如何如何”去做,而只需要描述清楚用户去做,而只需要描述清楚用户“要做什么要做什么”,系统会自动完成。,系统会自动完成。9/6/2022114.4.语法结构统一语法结构统一lSQLSQL语言有两种使用方式:自含式和嵌入式。语言有两种使用方式:自含式和嵌入式。自含式:自含式:一般一般DBMS都提供联机交互工具,用户可直接都提供联机交互工具,用户可直接键入键入SQL命令对数据库进行操作由命令对数据库进行操作由DBMS来进行解释。来进行解释。嵌入式:嵌入式:能将能将SQL语句嵌入到高级语言(宿主语言),语句嵌入到高级语言(宿主语言),使应用程序充分利用使应用程序充分利用SQL访问数据库的能力、宿主语言的访问数据库的能力、宿主语言的过程处理能力过程处理能力,一般需要预编译,将嵌入的一般需要预编译,将嵌入的SQL语句转化语句转化为宿主语言编译器能处理的语句为宿主语言编译器能处理的语句。9/6/2022125.5.面向集合的操作方式面向集合的操作方式 SQLSQL所作用的对象、作用后所得所作用的对象、作用后所得的结果都可以是元组的集合。的结果都可以是元组的集合。9/6/2022134.1.2 SQL4.1.2 SQL的基本概念的基本概念1SQL语言的组成语言的组成(1)数据定义语言()数据定义语言(DDL):用于实现):用于实现SQL的数据定义功能。的数据定义功能。(2)数据操纵语言()数据操纵语言(DML):用于实现):用于实现SQL的数据操纵功能。的数据操纵功能。(3)数据控制语言()数据控制语言(DCL):用于实现):用于实现SQL的数据控制功能。的数据控制功能。9/6/2022144.1.2 SQL4.1.2 SQL的基本概念的基本概念2.SQL支持三级模式结构支持三级模式结构l一个一个SQL数据库的总体逻辑结构是基本表数据库的总体逻辑结构是基本表(Table)的集合,对应于概念模式)的集合,对应于概念模式lSQL数据库的底层存储结构采用文件,一个或数据库的底层存储结构采用文件,一个或几个表对应一个存储文件几个表对应一个存储文件,以及索引文件。对应以及索引文件。对应内模式内模式l用户所见的数据结构是视图(用户所见的数据结构是视图(View),用户可),用户可直接操作的表,可为视图或部分基本表。对应外直接操作的表,可为视图或部分基本表。对应外模式模式9/6/2022159/6/202216两个基本概念:基本表和两个基本概念:基本表和视图。l基基本本表表(BASETABLE):是是独独立立存存在在的的表表,不不是是由由其其它它的的表表导出出的的表表。一一个个关关系系对应一一个个基基本本表表,一个或多个基本表一个或多个基本表对应一个存一个存储文件。文件。l视图(VIEW):是是一一个个虚虚拟的的表表,是是从从一一个个或或几几个个基基本本表表导出出的的表表。它它本本身身不不独独立立存存在在于于数数据据库中中,数数据据库中中只只存存放放视图的的定定义而而不不存存放放视图对应的的数数据据,这些些数数据据仍仍存存放放在在导出出视图的的基基本本表表中中。当当基基本本表表中中的的数数据据发生生变化化时,从从视图中中查询出出来来的的数数据也随之改据也随之改变。9/6/202217例如:学生数据例如:学生数据库中有学生基本情况表中有学生基本情况表lSTUDENT(SNO,SNAME,SSEX,SAGE,SDEPT),此表此表为基本表,基本表,对应一个存一个存储文件。可以在其基文件。可以在其基础上定上定义一一个男生基本情况表个男生基本情况表STUDENT_MALE(SNO,SNAME,SAGE,SDEPT),它是从它是从STUDENT中中选择SSEX=男男的各个行,然后在的各个行,然后在SNO,SNAME,SAGE,SDEPT上投影得到的。上投影得到的。在在 数数 据据 库 中中 只只 存存 有有 STUDENT_MALE的的 定定 义,而而STUDENT_MALE的的记录不重复存不重复存储。在在用用户看看来来,视图是是通通过不不同同路路径径去去看看一一个个实际表表,就就象象一一个窗口一个窗口一样,透,透过视图可以看到数据可以看到数据库中自己感中自己感兴趣的内容。趣的内容。9/6/2022184.2 SQL4.2 SQL的数据定义的数据定义SQLSQL语言使用言使用数据定数据定义语言言(DATA DEFINITION DATA DEFINITION LANGUAGELANGUAGE,简称称DDLDDL)实现其数据定其数据定义功能。功能。SQLSQL的数据定义功能包括对数据库、基本表、的数据定义功能包括对数据库、基本表、视图和索引的定义,即对数据库和表的创建、视图和索引的定义,即对数据库和表的创建、删除和修改,以及对视图和索引的创建和删删除和修改,以及对视图和索引的创建和删除除 。9/6/202220SQL的数据定义的数据定义操作操作对象对象操作方式操作方式创建创建删除删除修改修改表表Create tableDrop tableAlter table视图视图Create viewDrop view索引索引Create indexDrop index数据数据库库Create databaseDrop databaseAlter database9/6/2022214.2.1创建与删除数据库创建与删除数据库l要对数据库模式进行操作,首先要建要对数据库模式进行操作,首先要建立相应的数据库,并把它作为一个文立相应的数据库,并把它作为一个文件存放在磁盘上。件存放在磁盘上。l现代的数据库管理系统都提供图形用现代的数据库管理系统都提供图形用户界面,可以通过点击菜单完成。户界面,可以通过点击菜单完成。9/6/202222l使用使用SQLSQL语句建立数据库的一般格式语句建立数据库的一般格式为:为:CREATE DATABASE CREATE DATABASE 数据库名数据库名 参数参数l我们仅要求掌握参数省略的情况,我们仅要求掌握参数省略的情况,即即CREATE DATABASE CREATE DATABASE 数据库名数据库名创建数据库创建数据库9/6/202223删除数据库删除数据库 如果所建立的数据库不再需要时,如果所建立的数据库不再需要时,可以对此数据库进行删除,删除数据可以对此数据库进行删除,删除数据库的一般格式为:库的一般格式为:DROP DATABASE DROP DATABASE 数据库名数据库名9/6/202224例例4-1 4-1 创建一个名称为创建一个名称为“学生管理学生管理”的学生信息管理数据库的学生信息管理数据库 SQLSQL语句为:语句为:CREATE DATABASE CREATE DATABASE 学生管理学生管理9/6/202225提示:提示:本章中所举例子均为基于学生管理数本章中所举例子均为基于学生管理数据库,据库,假设假设“学生管理学生管理”为管理学生日为管理学生日常活动有关信息的数据库常活动有关信息的数据库。9/6/2022264.2.2 4.2.2 创建、删除和修改基本表创建、删除和修改基本表 基本表是数据库中存储数据的基本表是数据库中存储数据的最基本的对象,是构成数据库的一最基本的对象,是构成数据库的一个重要组成部分。建立数据库后可个重要组成部分。建立数据库后可以在其中创建基本表。以在其中创建基本表。9/6/2022271.1.创建基本表创建基本表其一般格式为:其一般格式为:CREATE TABLE CREATE TABLE (列级完整性约束条件列级完整性约束条件 ,列级完整性约束列级完整性约束条件条件 ,);9/6/202228常用数据类型常用数据类型数据数据类类型型说说明明CHAR(nCHAR(n)长长度度为为n n的定的定长长字符串字符串VARCHAR(nVARCHAR(n)最大最大长长度度为为n n的的变长变长字符串字符串INTEGERINTEGER全字全字长长整数整数SMALLINTSMALLINT半字半字长长整数整数NUMERIC(pNUMERIC(p,d),d)由由p p位数字位数字(不包括符号和小数点不包括符号和小数点)组组成的定点数,成的定点数,小数点后面有小数点后面有d d位数字位数字REALREAL浮点数浮点数DOUBLE RECISIONDOUBLE RECISION双精度浮点数双精度浮点数FLOAT(nFLOAT(n)精度至少精度至少为为n n位数字的浮点数位数字的浮点数DATEDATE日期,形如日期,形如YYYY-MM-DD(YYYY-MM-DD(年年-月月-日日)TIMETIME时间时间,形如,形如HHHH:MMMM:SS(SS(时时:分:秒:分:秒)9/6/202229 字符串使用一对单引号字符串使用一对单引号 来表示,来表示,例如例如数据库数据库、表表等。等。不同的关系数据库系统所支持的数不同的关系数据库系统所支持的数据类型不完全相同。据类型不完全相同。提示:提示:9/6/2
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 中学教育 > 初中教育


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