资源描述:
《数据库系统原理与应用——Oracle版教学课件刘淳第3章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、关系数据库标准语言SQL提纲SQL概述数据定义数据查询数据更新视图数据控制3关系数据库标准语言SQL3.1SQL概述SQL语言也叫结构化查询语言(StructuredQueryLanguage),是一种介于关系代数与关系演算之间的语言。其功能包括:数据定义、数据查询、数据操作和数据控制四个方面,是一个通用的、功能很强的关系数据库语言。3关系数据库标准语言SQL3.1SQL概述(续)SQL语言扩展SQL语言3关系数据库标准语言SQL3.2数据定义SQL数据定义功能包括定义基本表、定义视图和定义索引等3操作对象操作方式创建删除修改基本表CREATETABLEDROPTABLEALTERTA
2、BLE视图CREATEVIEWDROPVIEW索引CREATEINDEXDROPINDEX关系数据库标准语言SQL3.2数据定义(续)基本表定义CREATETABLE〈表名〉(列名1数据类型[列级完整性约束条件],列名2数据类型[列级完整性约束条件],……列名N数据类型[列级完整性约束条件][表级完整性约束条件])说明:(1)其中表名是要定义的基本表的名称。一个表可以由一个或多个属性列组成。(2)创建表时通常还可以定义与该表有关的完整性约束条件。完整性约束条件被存入系统的数据字典中。当用户对表中的数据进行更新操作(插入和修改)时,DBMS会自动检查该操作是否违背这些约束条件。如果完整性
3、约束条件涉及表的多个属性列,则必须定义在表级上,否则既可以定义在列级,也可以定义在表级。3关系数据库标准语言SQL3.2数据定义(续)基本表定义(续)Oracle支持标准SQL语言,但在很多方面进行了扩展,如对CREATETABLE语句,Oracle增加了对存储参数的控制。Oracle创建表的常用语法为:CREATETABLE[方案.]〈表名〉(列名1数据类型[列级完整性约束条件],列名2数据类型[列级完整性约束条件],……列名N数据类型[列级完整性约束条件][表级完整性约束条件])[PCTFREEinteger][PCTUSEDinteger][TABLESPACE表空间][STOR
4、AGE([INITIALinteger][NEXTinteger][MINEXTENTSinteger][MAXEXTENTSinteger][PCTINCREASEinteger])]3关系数据库标准语言SQL3.2数据定义(续)基本表定义(续)例3-1在Oracle中用SQL命令创建图书信息表、读者信息表和借阅表。(1)创建图书信息表。CREATETABLEbook(bookidVARCHAR2(20)PRIMARYKEY,booknameVARCHAR2(60)NOTNULL,editorVARCHAR2(8),priceNUMBER(5,2),publishVARCHAR2(3
5、0),pubdateDATE,qtyNUMBER(5))3关系数据库标准语言SQL3.2数据定义(续)基本表定义(续)(2)创建读者信息。CREATETABLEreader(cardidVARCHAR2(10)PRIMARYKEY,nameVARCHAR2(8),sexVARCHAR2(2)CHECK(sexIN(‘男’,’女’)),deptVARCHAR2(20),classNUMBER(1))3关系数据库标准语言SQL3.2数据定义(续)基本表定义(续)(3)创建借阅表。CREATETABLEborrow(bookidVARCHAR2(20),cardidVARCHAR2(10),
6、bdateDATENOTNULL,sdateDATE,PRIMARYKEY(bookid,cardid,bdate),CONSTRAINTFK_bookidFOREIGNKEY(bookid)REFERENCESbook(bookid),CONSTRAINTFK_cardidFOREIGNKEY(cardid)REFERENCESreader(cardid))3关系数据库标准语言SQL3.2数据定义(续)修改基本表SQL语言用ALTERTABLE语句修改基本表,其一般格式为:ALTERTABLE<表名>MODIFY<列名><新的类型>[NULL
7、NOTNULL]ADD<新列名><数据类
8、型>[完整性约束]ADD<表级完整定义>DROPCONSTRAINT<完整性约束名>DROPCOLUMN<列名>3关系数据库标准语言SQL3.2数据定义(续)修改基本表(续)例3-2将BOOKID列宽改为15。ALTERTABLEbookMODIFYbookidVARCHAR2(15)例3-3删除借阅表中的参照完整性。ALTERTABLEborrowDROPCONSTRAINTFK_bookidDROPCONSTRAINTFK_cardid例3