欢迎来到天天文库
浏览记录
ID:57012994
大小:268.50 KB
页数:98页
时间:2020-07-26
《关系数据库标准语言SQL分析课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章关系数据库标准语言——SQL5.1SQL概述及特点5.2SQL的数据定义功能5.3SQL的数据查询功能5.4SQL的数据更新功能5.5嵌入式SQL5.6SQL的数据控制功能结构化查询语言SQL(StructuredQueryLanguage)是关系数据库的标准语言,对关系模型的发展和商用DBMS的研制起着重要的作用。SQL语言是介乎于关系代数和元组演算之间的一种语言。本章详细介绍SQL的核心部分内容:数据定义、数据查询、数据更新和嵌入式SQL及数据控制功能。5.1SQL概述及特点1.SQL的主要功能(1)数据定义功能定义关系数据库的模式、外模式和内模式,以实现对基本表、视图以及索引文
2、件的定义、修改和删除等操作。(2)数据操纵功能包括数据查询和数据更新两种数据操作语句:数据查询指对数据库中的数据查询、统计、分组、排序操作;数据更新指数据的插入、删除、修改等数据维护操作。(3)数据控制功能通过对数据库用户的授权和收权命令来实现有关数据的存取控制,以保证数据库的安全性。2.SQL的特点1)SQL具有自含式和嵌入式两种形式。2)SQL具有语言简洁、易学易用的特点。3)SQL支持三级模式结构。①全体基本表构成了数据库的模式。②视图和部分基本表构成了数据库的外模式。③数据库的存储文件和它们的索引文件构成了关系数据库的内模式。SQL的核心动词5.2SQL的数据定义功能定义一
3、个教务管理数据库JWGL,它包含3个表:学生表:S(SNO,SNAME,SEX,AGE,SDEPT)课程表:C(CNO,CNAME,CPNO,CCREDIT)学生选课表:SC(SNO,CNO,GRADE)学生表实例学生表选课表实例课程表实例:其中CPNO表示先行课CCREDIT表示学分5.2.1基本表的定义和维护功能1.定义基本表定义基本表语句的一般格式为:CREATETABLE[〈库名〉]〈表名〉(〈列名〉〈数据类型〉[〈列级完整性约束条件〉][,〈列名〉〈数据类型〉[〈列级完整性约束条件〉]][,…n][,〈表级完整性约束条件〉][,…n]);不同的RDBMS中支持的数据类型不完全相
4、同建表的同时通常定义与该表有关的完整性约束条件,这些完整性约束条件被存入系统的数据字典中,当用户操作表中数据时由RDBMS自动检查该操作是否违背这些完整性约束条件。(2)列级完整性的约束条件针对属性值设置的限制条件。1)NOTNULL或NULL约束。NOTNULL约束不允许字段值为空,而NULL约束允许字段值为空。2)UNIQUE约束。UNIQUE约束是惟一性约束,即不允许列中出现重复的属性值。3)DEFAULT约束。DEFAULT为默认值约束。DEFAULT〈约束名〉〈默认值〉FOR〈列名〉4)CHECK约束。CHECK为检查约束。CONSTRAINT〈约束名〉CHECK(〈约束条件表达
5、式〉)(3)表级完整性约束条件涉及到关系中多个列的限制条件。1)UNIQUE约束。惟一性约束。2)PRIMARYKEY约束。定义主码,保证惟一性和非空性。CONTRAINT〈约束名〉PRIMARYKEY[CLUSTERED](〈列组〉)3)FOREIGNKEY约束。用于定义参照完整性CONTRAINT〈约束名〉FOREIGNKEY(〈外码〉)REFERENCES〈被参照表名〉(〈与外码对应的主码名〉)【例5-1】建立基本表:学生(学号,姓名,年龄,性别,所在系);课程(课程号,课程名,先行课);选课(学号,课程号,成绩).CREATETABLE学生(学号CHAR(5)NOTNULL
6、UNIQUE,姓名CHAR(8)NOTNULL,年龄SMALLINTCONSTRAINTC1DEFAULT20,性别CHAR(2),所在系CHAR(20),CONSTRAINTC2CHECK(性别IN(‘男’,‘女’)));CREATETABLE课程(课程号CHAR(5)PRIMARYKEY,课程名CHAR(20),先行课CHAR(5));CREATETABLE选课(学号CHAR(5),课程号CHAR(5),成绩SMALLINTCONSTRAINTC3CHECK(成绩BETWEEN0AND100),CONSTRAINTC4PRIMARYKEY(学号,课程号),CONSTRAIN
7、TC5FOREIGNKEY(学号)REFERENCES学生(学号),CONSTRAINTC6FOREIGNKEY(课程号)REFERENCES课程(课程号));对学生表的“学号”列的字符数据具有模式限制的命名约束CREATETABLEstudents(学号CHAR(8)NOTNULLUNIQUECONSTRAINTCK_XhCHECK(学号LIKE'[0-9][0-9][0-9][0-9][0-9][0-9][0-9]
此文档下载收益归作者所有