数据库技术讲义 第3章 关系数据库标准语言SQL-1.ppt_第1页
数据库技术讲义 第3章 关系数据库标准语言SQL-1.ppt_第2页
数据库技术讲义 第3章 关系数据库标准语言SQL-1.ppt_第3页
数据库技术讲义 第3章 关系数据库标准语言SQL-1.ppt_第4页
数据库技术讲义 第3章 关系数据库标准语言SQL-1.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章 关系数据库标准语言SQL,前言,SQL(Structured Query Language)结构化查询语言,1974年Boyce和Chamberlin提出,首先在IBM 公司的关系数据库系统System R上实现。 特点:功能丰富、使用方便、灵活、语言简洁易学。 1986年,ANSI数据库委员会X3H2批准了SQL作为数据库语言的美国标准,ISO随后也提出了同样的决定。 应用系统范围广,统一标准。,3.1 SQL概述,SQL是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询。SQL是一个通用的、功能极强的关系数据库语言。,3.1.1 SQL的特点,SQL语言之所以能

2、够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时又简捷易学的语言。SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,主要特点包括:,3.1.1 SQL的特点,一、综合统一 SQL语言集数据定义语言、数据操纵语言、数据控制语言的功能于一体,语言风格同一,可以独立完成数据库生命周期中的全部活动,为数据库应用系统提供了良好的环境。用户在数据库系统投入运行后,还可以根据需要随时地逐步地修改模式,且并不影响数据库的运行,从而使系统具有良好的可扩展性。 另外,在关系模式中实体和实体的联系均用关系表示,这种数据结构的单一性带来了数据操作符的同一,从而克服了非关系系统由于信

3、息表示方式的多样性带来的操作复杂性。,3.1.1 SQL的特点,二、高度非过程化 SQL语言高度非过程化,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。大大减轻了用户的负担,也有利于提高数据独立性。,3.1.1 SQL的特点,三、面向集合的操作方式 每一个SQL的操作对象是一个或多个关系,操作的结果也是一个关系。 四、以同一种语法结构提供两种使用方式 SQL语言既是自含式语言,又是嵌入式语言。 五、语言简捷、易学易用 SQL语言功能 极强,但语言十分简捷,完成核心功能只用了9个动词。,3.1.1 SQL的特点,INSERT

4、, UPDATE, DELETE,数据操纵,CREATE, DROP, ALTER,数据定义,SELECT,数据查询,GRANT, REVOKE,数据控制,动 词,SQL功能,3.1.2 SQL语言的基本概念,SQL语言支持关系数据库三级模式结构。其中外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。,3.1.2 SQL语言的基本概念,基本表2,视图1,SQL,存储文件1,基本表1,基本表4,基本表3,视图2,存储文件2,外模式,模式,内模式,3.1.2 SQL语言的基本概念,用户可以用SQL语言对基本表和视图进行查询或其他操作,基本表和视图一样,都是关系。 基本表是本身独

5、立存在的表,在SQL中一个关系就是一个基本表。一个基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。,3.1.2 SQL语言的基本概念,存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理结构是任意的,对用户是透明的。 视图是从一个或几个基本表导出的表。它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。视图在概念上于基本表等同,用户可以在视图上再定义视图,3.2 数据定义,关系数据库系统支持三级模式结构,其模式、外模式和内模式的基本对象有表、视图和索引。因此SQL的数据定义功能包括定义

6、表、定义视图和定义索引。,3.2 数据定义,ALTER TABLE,修改,DROP INDEX,DROP VIEW,DROP TABLE,删除,创建,CREATE INDEX,索引,CREATE VIEW,视图,CREATE TABLE,表,操作方式,操作对象,3.2.1 定义、删除与修改基本表,一、定义基本表 SQL语言使用CREATE TABLE语句定义基本表,其一般格式如下: CREATE TABLE (列级完整性约束 ,列级完整性约束 ,);,3.2.1 定义、删除与修改基本表,CREATE TABLE S ( S# CHAR(4) PRIMARY KEY, SNAME CHAR(8)

7、 NOT NULL, AGE SMALLINT, SEX CHAR(1), ),3.2.1 定义、删除与修改基本表,CREATE TABLE C ( C# CHAR(4), CNAME CHAR(10) NOT NULL, TEACHER CHAR(8), PRIMARY KEY (C#) );,3.2.1 定义、删除与修改基本表,CREATE TABLE SC (S# CHAR(4), C# CHAR(4), GRADE SAMLLINT, PRIMARY KEY (S#,C#), FOREIGN KEY (S#) REFERENCES S(S#), FOREIGN KEY (C#) REF

8、ERENCES C(S#), ),3.2.1 定义、删除与修改基本表,二、修改基本表 SQL语言用ALTER TABLE语句修改基本表,其一般格式为: ALTER TABLE ADD 完整性约束 DROP MODIFY ; ADD子句用于增加新列和新的完整性约束条件DROP子句用于删除制定的完整性约束条件MODIFY子句用于修改原有的列定义,包括修改列名和数据类型。,3.2.1 定义、删除与修改基本表,(1) ADD方式 使用 ADD方式可以向表中增加列定义和表约束 语法格式: ALTER TABLE ADD (|, (|) 例:在S表中增加一个班号列 ALTER TABLE S ADD CL

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

10、P PRIMARY KEY,3.2.1 定义、删除与修改基本表,三、删除基本表 当某个基本表不再需要时,可以用DROP TABLE删除,其格式为: DROP TABLE 基本表一旦删除,表中的数据、此表上建立的索引和视图都将自动被删除掉。因此执行删除基本表的操作一定要格外小心。,3.2.2 建立与删除索引,建立索引是加快查询速度的有效手段。用户可以根据应用环境的需要,在基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。一般说来,建立与删除索引由数据库管理员DBA或表的属主(即建立表的人)负责完成。系统在存取数据时会自动选取合适的索引作为存取路径,用户不必也不能选择索引。,3.2.2 建立与删除索引,一、建立索引 create unique/distinct cluster index 索引名 on 表名 (列名 asc/desc , 列名asc/desc) unique(distinct):唯一性索引,不允许表中不同的行在索引列上取相同值。若已有相同值存在,则系统给出相关信息,不建此索引。系统并拒绝违背唯一性的插入、更新 cluster:聚集索引,表中元组按索引项的值排序并物理地聚集在一起。一个基本表上只能建一个聚集索引 asc/desc:索引表中索引值的排序次序,缺省为asc,3.2.2 建立与删除

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论