数据库原理-3关系数据库标准语言SQL

数据库原理-3关系数据库标准语言SQL

ID:41759591

大小:572.06 KB

页数:163页

时间:2019-09-01

数据库原理-3关系数据库标准语言SQL_第1页
数据库原理-3关系数据库标准语言SQL_第2页
数据库原理-3关系数据库标准语言SQL_第3页
数据库原理-3关系数据库标准语言SQL_第4页
数据库原理-3关系数据库标准语言SQL_第5页
资源描述:

《数据库原理-3关系数据库标准语言SQL》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库系统原理(第3章)四川大学计算机学院张天庆2005.9第三章关系数据库标准语言SQLSQL是StructuredQueryLanguage的缩写最新的标准是SQL99,或称SQL3包含了很多核心SQL以外的包增加对递归查询、临时视图的支持增加对触发器的支持现在商品化DBMS一般都支持SQL92规范的超集/子集。3.1SQL概述SQL介于关系代数与关系演算之间3.1.1SQL的特点SQL集数据查询、数据操纵、数据定义和数据控制功能于一体。其综合、强大、简洁使其称为国际标准。综合统一SQL集DDL、DML、DCL功能于一体。SQL数据

2、操作符的统一。(查询、插入、删除、修改都只有一种操作符。)二.高度非过程化SQL进行数据操作,只要提出“Whattodo”,无需告诉系统“Howtodo”充分体现关系系统的特点和优势有利于提高数据的独立性三.面向集合的操作方式关系运算“一次一集合”方式的体现。四.一种语法结构、两种使用方式既是自含式语言,又是嵌入式语言。五.语言简捷,易学易用SQL设计巧妙,核心功能只需9个动词。在语言上接近英语。3.1.2SQL语言的基本概念SQL对象与三级模式结构的对应关系外模式--视图、部分基本表模式--基本表内模式--存储文件基本表是本身独立存在

3、的表,在SQL中一个关系就对应一个表。一些DBMS中一个基本表对应一个存储文件,有的DBMS一个数据库中的多个基本表对应一个存储文件一个表可以带若干索引,索引也存放在存储文件中存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理文件结构是任意的。视图是从基本表或其他视图中导出的表它本身不独立存储在数据库中,也就是说数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。用户可以用SQL语言对视图和基本表进行查询。在用户眼中,视图和基本表都是关系,而存储文件对用户是透明的。3.2数据定

4、义对基本表、视图、索引的定义、删除和修改(7种组合,不能修改视图和索引)3.2.1定义、删除和修改基本表定义基本表 一般格式CREATETABLE<表名>(<列名1><数据类型>[列级完整性约束条件][,<列名2><数据类型>[列级完整性约束条件]]...[,表级完整性约束条件]);例1:书p69给出了IBMDB2定义学生表的方法。下面的例子一般为标准SQL。CREATETABLEstudent(snochar(5)PRIMARYKEY,snamevarchar(20)UNIQUE,sgenderchar(1),sageint,sdep

5、tvarchar(15));略去course表,下面定义SC表CREATETABLESC(snochar(5),cnochar(5),gradeint,PRIMARYKEY(sno,cno),FOREIGNKEY(sno)REFERENCESstudent,FOREIGNKEY(cno)REFERENCEScourse);约束更完整的形式:CREATETABLESC(snochar(5),cnochar(5),gradeint,CONSTRAINTPK_sno_cnoPRIMARYKEY(sno,cno),CONSTRAINTFK_sn

6、oFOREIGNKEY(sno)REFERENCESstudent,CONSTRAINTFK_cnoFOREIGNKEY(cno)REFERENCEScourse,CONSTRAINTCK_gradeCHECK(grade>=0andgrade<=100));上述例子可以看出SQL基本表定义的概貌。应注意完整性约束的定义主码:PRIMARYKEY关键字。外码:FOREIGNKEY关键字。用户定义:CHECK关键字。二.修改基本表可增加新列,删除列上的完整性约束,修改列名及数据类型但不能删除属性列!ALTERTABLE[ADD<新列名><

7、数据类型>[完整性约束]][DROP<完整性约束名>][MODIFY<列名><数据类型>];三.删除基本表DROPTABLE<表名>;删除基本表后,引用建立在此表上的视图可能出现问题。3.2.2建立和删除索引作用:提高查询速度。如从O(n)到O(log2n)常需要建立索引的属性常作为连接属性常出现在查询条件中一.建立索引CREATE[UNIQUE][CLUSTERED

8、NONCLUSTERED]INDEX<索引名>ON<表名>(<列名>[<次序>,[…]]);UNIQUE(单一索引):唯一索引,不允许存在索引值相同的两行CLUSTERE

9、D(聚集索引):索引项的顺序与表中记录的物理顺序一致。表中如果有多个记录在索引字段上相同,这些记录构成一簇,只有一个索引值。优点:查询速度快。缺点:维护成本高,且一个表只能建一个聚簇索引。NONCLUSTE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。