数据库系统概论(第四版)_王珊_萨师煊_chp3-1._第1页
数据库系统概论(第四版)_王珊_萨师煊_chp3-1._第2页
数据库系统概论(第四版)_王珊_萨师煊_chp3-1._第3页
数据库系统概论(第四版)_王珊_萨师煊_chp3-1._第4页
数据库系统概论(第四版)_王珊_萨师煊_chp3-1._第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、 An Introduction to Database System第三章 关系数据库标准语言SQLAn Introduction to Database System第三章 关系数据库标准语言SQL3.1 SQL概述3.2学生课程数据库3.3数据定义3.4数据査询3.5数据更新3.6视图3.7小结3.1 SQL概述 SQL (Structured Query Language)结构化查询语言,是关系数据库的标准语言:SQL是一个通用的、功能极强的关系数据库语言An Introduction to Database SystemSQL概述(续) 3.1.1 SQL的产生与发展 3.1.2 S

2、QL的特点 3.1.3 SQL的基本概念SQL标准的进展过程标准大致页数发布日期 SQL/861986.10 SQL/89(FIPS 127-1)120页1989年 SQL/92622页1992年 SQL991700页1999年 SQL20032003年An Introduction to Database System3.1 SQL概述 3.1.1 SQL的产生与发展 3.1.2 SQL的特点 3.1.3 SQL的基本概念3.1.2 SQL的特点1 综合统一集数据定义语言(DDL),数据操纵语言(DML), 数据控制语言(DCL)功能于一体。可以独立完成数据库生命周期中的全部活动:定义关系模

3、式,插入数据,建立数据库:对数据库屮的数据进行查询和更新;数据库重构和维护数据库安全性、完整性控制等用户数据库投入运行后,可根据需要随时逐步修改 模式,不影响数据的运行。数据操作符统一An Introduction to Database System2 高度非过程化:非关系数据模型的数据操纵语言“面向过程”,必须制定存取路径 SQL只要提出“做什么”,无须了解存取路径。存取路径的选择以及SQL的操作过程由系统自动 完成。3 面向集合的操作方式:非关系数据模型采用面向记录的操作方式,操作对象是一条记录 SQL采用集合操作方式-操作对象、查找结果可以是元组的集合-一次插入、删除、更新操作的对象可

4、以是元组的集合An Introduction to Database System4.以同一种语法结构提供多种使用方式 SQL是独立的语言能够独立地用于联机交互的使用方式 SQL又是嵌入式语言SQL能够嵌入到高级语言(例如C, C+, Java)程序中,供程序员设计程序时使用5 语言简洁,易学易用 SQL功能极强,完成核心功能只用了9个动词。表31 SQL语言的动词SQL功能动词数据査询SELECT数据定义CREATE, DROP, ALTER数据操纵INSERT, UPDATE DELETE数据控制GRANT, REVOKEAn Introduction to Database System

5、 3.1.1 SQL的产生与发展 3J.2 SQL的特点 3.1.3 SQL的基本概念SQL的基本概念(续)SQL支持关系数据库三级模式结构An Introduction to Database SystemSQL的基本概念(续)基本表本身独立存在的表 SQL屮一个关系就对应一个基木表 一个(或多个)基本农对应个存储文件一个表町以带若干索引存储文件逻辑结构组成了关系数据库的内模式物理结构是任意的,对用户透明:视图从一个或儿个基本表导出的表数据丿牟中只存放视图的定义而不心放视图对应的数据视图是一个虚表用户口 J以在视图上再定义视图第三章 关系数据库标准语言SQL3.1 SQL概述3.2学生课程数

6、据库3.3数据定义3.4数据査询3.5数据更新36视图3.7小结An Introduction to Database System3.2学生课程数据库:学生课程模式S-T:学生表:Student(Sno,Sname,Ssex,Sage,Sdept)课程表:Course(Cno,Cname;Cpno,Ccredit)学生选课表:SC(Sno,Cno,Grade)An Introduction to Database SystemStudent 表学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept20021512120cs20021512219cs20021512318MA2005

7、1512519ISAn Introduction to Database System课程号Cno课程名Cname先行课Cpno学分Ccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64SC表_ 学号课程号成绩SnoCnoGrade200215121192200215121285200215121388200215122290200215122380An Introduction to Database System第三章 关系数据库标准语言SQL3.1 SQL概述3.2学生课程数据库3.3数据定义3.4数据査询3.5数据更新3.6视图3

8、.7小结3.3数据定义SQL的数据定义功能:模式定义、表定义.视图和索引的定义表3.2 SQL的数据定义语句操作对象操作方式创建删除修改模式CREATE SCHEMADROPSCHEMA表CREATE TABLEDROPTABLEALTER TABLE视图CREATE VIEWDROP VIEW索引CREATE INDEXDROP INDEXAn Introduction to Database System3.3数据定义 3.3.1模式的定义与删除:332基本表的定义、删除与修改 CASCADE(级联)删除模式的同时把该模式中所冇的数据库对象全部删除RESTRICT(限制)如果该模式中主义了

9、下属的数据库对象(如表、视图等),则拒绝 该删除语句的执行。当该模式中没有任何卜属的对象时力能执行。删除模式(续)例4 DROP SCHEMA ZHANG CASCADE;册ij除模式ZHANG 同时该模式中定义的表TAB1也被删除An Introduction to Database System3.3数据定义3.3.1模式的定义与删除 3.3.2基本表的定义、删除与修改 3.3.3索引的建立与删除332基本表的定义、删除与修改一、定义基本表CREATE TABLE v表名(V列名A V数据类型A V列级尢整性约朿条件A ,V列名V数据类型V列级完整性约束条件. ,V表级完整性约束条件);如

10、果完整性约束条件涉及到该表的多个属性列, 则必须定义在表级上,否则既可以定义在列级 也可以定义在表级。An Introduction to Database System学生表Student例5建立“学生”农Student,学号是主码,姓名取值唯。CREATE TABLE Student(Sno CHAR(9) PRIMARY KEV 主码完整性约束条件*/Sname CHAR(20) UNIQUE,/* Sname取唯一-值*/Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20)课程表Course例6建立一个“课程”表CourseCREATE TABLE Cou

11、rse(CnoCHAR(4) PRIMARY KEY,Cn ameCpnoCHAR(40),CHAR(4),-先修课Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno)Cpno是外码 磁参照表是Course 被参照列是CnoAn Introduction to Database System学生选课表SC例7建立一个“学生选课”表SCCREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMAL LJNT,PRIMARY KEY (Sno, Cno),/*主码由两个属性构成,必须作为农级完整性

12、进行定义*/FOREIGN KEY (Sno) REFERENCES Student(Sno), 厂表级完整性约束条件,Sno是外码,被参照表是Student */FOREIGN KEY (Cno) REFERENCES Course(Cno)广农级完整性约束条件,Cno是外码,被参照衣是Course*/);二、数据类型 SQL中域的概念用 +类丿来实现:定义表的属性时需要指明其数据类型及长度:选用哪种数据类型取值范围要做哪些运算An Introduction to Database System二、数据类型数据类型含义CHAR(n)长度为n的定长字符串VARCHAR(n)最大长度为n的变长字

13、符串INT长整数(也可以写作INTEGER)SMALLINT短整数NUMERIC(p, d)定点数,由p位数字(不包括符号、小数点)组成,小数后面有d位数字REAL取决于机器精度的浮点数Double Precision取决于机器精度的双精度浮点数FLOAT(n)浮点数,精度至少为n位数字DATE日期,包含年.月.日.格式为YYYYMM DDTIME时间,包含一日的时.分、秒,格式为HH:MM:SS三、模式与表每一个基本表都属于某一个模式 一个模式包含多个基本表定义基本表所属模式方法一:在表名中明显地给出模式名Create table “S-T” .Student ();广模式名为 ST/Cre

14、ate table ST” .Cource ();Create table “ST” .SC ();方法二:在创建模式语旬中同时创建衣方法三:设這所属的模式An Introduction to Database System模式与表(续):创建基本表(其他数据库对象也i样)时,若没有指定模 式,系统根据搜索路径来确定该对象所属的模式 RDBMS会使用模式列表中第一个存在的模式作为数据库 对象的模式名若搜索路径屮的模式名都不存在,系统将给出错误显示当前的搜索路径:SHOW search_path;:搜索路径的当前默认值是:$user, PUBLIC模式与表(续)DBA用户可以设置搜索路径,然后定

15、义基本表SET search_path TO “ST”,PUBLIC;Create table Student ();结果建立了 S-T.Student基本表。RDBMS发现搜索路径中第一个模式名ST存在,就把该模式作为基本表Student所属的模式。An Introduction to Database System四、修改基本表ALTER TABLE v表名ADD v新列名 v数据类型完整性约束DROP v完整性约束名ALTER COLUMNv歹U名v数据类型;修改基本表(续)例8向Student农增加“入学时间”列,其数為类型为口期型。ALTER TABLE Student ADD S_

16、entrance DATE:不论基本表中原來是否口有数据,新增加的列一律为空值。例9将年龄的数据类型由了符粮(假设原來的数据类型足了符型)改为 整数。ALTER TABLE Student ALTER COLUMN Sage INT;例10增加课程名称必须取唯一值的约束条件。ALTER TABLE Course ADD UNIQUE(Cname);An Introduction to Database System五、删除基本表DROP TABLE v表名RESTRICT| CASCADE; RESTRICT:删除表是有限制的。-欲删除的基本表不能被其他表的约束所引用”如果存在依赖该表的对象,

17、则此表不能被删除 CASCADE:删除该表没有限制。厂在删除基木表的同时,相关的依赖对象一起删除删除基本表(续)例门删除Student表DROP TABLE Student CASCADE ;基本表定义被删除,数据被删除表上建立的索引、视图、触发器等一般也将被删除An Introduction to Database System删除基本表(续)例12若表上建冇视图,选择RESTRICT时表不能删除CREATE VIEW IS_StudentASSELECT Sno, Sname, SageFROM StudentWHERE SdeptHS;DROP TABLE Student RESTRIC

18、T;-ERROR: cannot drop table Student because other objects depend on it删除基本表(续)例12如果选择CASCADE时叮以删除农,视图也自动被删除DROP TABLE Student CASCADE;-NOTICE: drop cascades to view IS_StudentSELECT * FROM IS_Student;-ERROR: relation M IS_Student11 does not existAn Introduction to Database System删除基本表(续)DROPTABLEIH,

19、SQL99与3个RDBMS的处理策略比较序的处理方式SQL99Kingbasc ESORACLE 9iMS SQL SERVER2000号依tft堆本於的对線RCRCC1.索引无规定VVJ2视图XXVV 保留d 保留J 保留3DEFAULT PRIMARY KEY, CHECK (只含 该农的列NOTNULL爭约束VVVJ4Foreign KeyXVXXVX5TRIGGERXVXV4J6.議数或存储过程XV7保附保MVd 保留J 保昭R衣/RESTRICT, C衣乐CASCADEx表示不能删除卑本表吋表示能删除基本表,保表不删除基本表后,还保留依赖对彖3.3数据定义3,3.1模式的定义与删除 3.3.2基本表的定义、删除与修改 3.3.3索引的建立与删除An Introduction to Database System3.3.3索引的建立与删:建立索引的目的:加快查询速度:谁可以建立索引DBA或表的屈主(即建立表的人)DBMS般会自动建立以下列上的索引PRIMARY KEYUNIQUE:谁维护索引DBMS自动完成:使用索引DBMSH动选择是否使用索引以及使用哪些索引 RDBMSP索引一般采用B+树、

温馨提示

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

评论

0/150

提交评论