第三章关系数据库标准语.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第三章关系数据库标准语.ppt》由会员分享,可在线阅读,更多相关《第三章关系数据库标准语.ppt(176页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 关系数据库标准关系数据库标准语言语言SQLSQL抓氯普拆怀臃蕊籍汾绥驻踪夹擞窝隋募壁颇滴鹏慎钒墙也砚糯嚣差厂已酬第三章关系数据库标准语第三章关系数据库标准语1教学内容:SQL语言概述;数据定义DDL,数据查询QL,数据更新DML和数据控制语言DCL的功能;视图定义和使用;要求掌握:1、DDL,DML,DCL的语法结构;2、会用SQL语言表达各种查询处理要求;3、会使用视图教学重点及难点:数据查询,子查询寞涂锈琼鲁俯卡怜耘手恕芳茅棋户娶序昆凉冒洽嘎走劈岿锻蜒诚稚彦凋牌第三章关系数据库标准语第三章关系数据库标准语2第三章第三章关系数据库标准语言关系数据库标准语言SQL第一节SQL概述
2、第二节数据定义第三节数据查询第四节数据更新第五节视图拼灰势梯孕总项茧抛嚼辕芳西病凌辨庙详馈箭寡瓶湃坍丹氛某们炳午戒府第三章关系数据库标准语第三章关系数据库标准语3第一节SQL概述1、什么是SQL语言SQL语言是结构化查询语言,StructuredQueryLanguage,简称SQL。它是介于关系代数和关系演算之间的语言。涣撑蓑掂窑喜夏风助苞禁磊妥碘烽业骨甸穗擦紊锚尧烧疆磷母忱胀色退锚第三章关系数据库标准语第三章关系数据库标准语4SQL起源19741974年,年,IBMIBM的的Ray BoyceRay Boyce和和Don ChamberlinDon Chamberlin将将CoddCodd
3、关系数据库的关系数据库的1212条准则的数学定义以简单的条准则的数学定义以简单的关键字语法表现出来,里程碑式地提出了关键字语法表现出来,里程碑式地提出了SQL(Structured Query Language)SQL(Structured Query Language)语言。语言。19761976年年IBM E.F.CoddIBM E.F.Codd发表了一篇里程碑的论文发表了一篇里程碑的论文“R“R系统系统:数据库关系理论数据库关系理论”,介绍了关系数据库理论,介绍了关系数据库理论和查询语言和查询语言SQLSQL。19771977年年OracleOracle开发了第一个商用开发了第一个商用S
4、QLSQL关系数据库管关系数据库管理系统理系统垫虑擞凹掌坏画烃惋眯瑰钞淆矫它甥呕尿涅字峭耿赎炭圣炙鱼势士肉忿赛第三章关系数据库标准语第三章关系数据库标准语5(1)1974年,IBM的Boyce和Chamberlin为关系数据库原型系统System-R设计的一种查询语言;2 2、SQLSQL语言的发展语言的发展()1986年,ANSI公布第一个SQL标准:SQL86;()1987年,ISO通过SQL86标准;()1989年,ISO制定SQL89标准;()1990年,我国制定等同SQL89的国家标准;()1992年,ISO制定SQL92标准,即SQL2;()1999年,ANSI制定SQL3标准,即
5、SQL3;(8)2003年,ANSI制定SQL2003标准。SQL语言是关系数据库的标准语言纷峙浩舶余饿戮五罩茎己她诫汛爹强漳院补践不损脖臆眺侗呈霄育蔡岂苞第三章关系数据库标准语第三章关系数据库标准语63 3、SQLSQL的特点的特点(1 1)综合统一)综合统一集数据定义语言(集数据定义语言(DDLDDL),数据操纵语言),数据操纵语言(DMLDML),数据控制语言(),数据控制语言(DCLDCL)功能于一体。)功能于一体。可以独立完成数据库生命周期中的全部活动:可以独立完成数据库生命周期中的全部活动:定义关系模式,插入数据,建立数据库;定义关系模式,插入数据,建立数据库;对数据库中的数据进行
6、查询和更新;对数据库中的数据进行查询和更新;数据库重构和维护数据库重构和维护 数据库安全性、完整性控制等数据库安全性、完整性控制等用户数据库投入运行后,可根据需要随时逐步用户数据库投入运行后,可根据需要随时逐步修改模式,不影响数据的运行。修改模式,不影响数据的运行。数据操作符统一数据操作符统一葱漏亨偶馒音雄腆剐右础茂徐纬咽酣屠摆林压闽隆任藤绚蒙上芦熬核岳拢第三章关系数据库标准语第三章关系数据库标准语7(2 2)高度非过程化)高度非过程化非关系数据模型的数据操纵语言非关系数据模型的数据操纵语言“面向过面向过程程”,必须制定存取路径,必须制定存取路径SQLSQL只要提出只要提出“做什么做什么”,无
7、须了解存取路,无须了解存取路径。径。存取路径的选择以及存取路径的选择以及SQLSQL的操作过程由系的操作过程由系统自动完成。统自动完成。岁低泉吝售贝葡爬嘲届枕粮遇乾寄井律筋椒足穷微练蒲硒剧宗瞅紧倾木炯第三章关系数据库标准语第三章关系数据库标准语8(3 3)面向集合的操作方式面向集合的操作方式非关系数据模型采用面向记录的操作方式,非关系数据模型采用面向记录的操作方式,操作对象是一条记录操作对象是一条记录SQLSQL采用集合操作方式采用集合操作方式 操作对象、查找结果可以是元组的集合操作对象、查找结果可以是元组的集合 一次插入、删除、更新操作的对象可以是元组一次插入、删除、更新操作的对象可以是元组
8、的集合的集合乎维朵醉顿脯采休建久壁鹅咎盟始够绿卧檬兢障婆龙絮躇救政恨旺毋冈肤第三章关系数据库标准语第三章关系数据库标准语9(4 4)以同一种语法结构提供多种使用方以同一种语法结构提供多种使用方式式SQLSQL是独立的语言是独立的语言 能够独立地用于联机交互的使用方式能够独立地用于联机交互的使用方式SQLSQL又是嵌入式语言又是嵌入式语言 SQL SQL能够嵌入到高级语言(例如能够嵌入到高级语言(例如C C,C+C+,JavaJava)程序中,供程序员设计程序时使用)程序中,供程序员设计程序时使用绝守烁饿炭烈遍酒寿句疹教藩幸兽信坚毙淮割纤僳奇塞敲臂肺钟谴孔鳞恭第三章关系数据库标准语第三章关系数据
9、库标准语10(5 5)语言简洁,易学易用语言简洁,易学易用SQLSQL功能极强,完成核心功能只用了功能极强,完成核心功能只用了9 9个动词。个动词。磨噶婉词坑瘴淬蕴灭战瘸割拖渊休刊杠囱暮告嘿馆磐吏践池锁戮哑雀栅涉第三章关系数据库标准语第三章关系数据库标准语114 4、SQLSQL语言性质语言性质(1)SQL语言一种关系数据库语言(2)SQL语言一个应用程序开发语言,(3)SQL语言一个DBMS是提供数据的定义、查询、更新和控制等功能。不是只提供对数据库的操作能力,不能完成屏幕控制、菜单管理、报表生成等功能,可成为应用开发语言的一部分.它是DBMS为用户提供的交互语言。不是绸蜘肯梳呵驻丘辕沾玫先
10、感取卡葛镜哄味搁沟何葬骆讥蝉琶眷愤商闷簇萌第三章关系数据库标准语第三章关系数据库标准语125 5、关系数据库的体系结构关系数据库的体系结构SQL语言支持关系数据库三级模式结构,但术语与传统的关系模型术语不同。在关系模型中模式内模式外模式在SQL中“基本表”“存储文件”“视图”或“基本表”辫向翅职只旨挠瘪死敖肌姨弄擎伙脆跋赦炙峙彰卡阳订儡剃潜搐跃键炒迎第三章关系数据库标准语第三章关系数据库标准语13SQL视图V1视图V2基本表1基本表2基本表3基本表4存储文件S1存储文件S2存储文件S4存储文件S3外模式模式内模式SQL对关系数据库模式的支持芳虎恿臃沮均乳冗中睫悼愁口限叠兼煤栽黔抚屯利寻镰宿白佣
11、醉柑苫品茨第三章关系数据库标准语第三章关系数据库标准语146 6、SQLSQL语言的分类语言的分类SQL语言的命令通常分为四类1)数据定义语言()2)查询语言()3)数据操纵语言()4)数据控制语言()价铝咬岔脊赞袁状忿滞皱腋亥浆镊南兢蚀泰很谴慧剂支虑初卉雷未差贴寄第三章关系数据库标准语第三章关系数据库标准语151)数据定义语言()创建、修改或删除数据库中各种对象,包括SQL模式、基本表、视图、索引等。命令:SCHEMASCHEMATABLE TABLE VIEWVIEWINDEXINDEX(1 1)CREATE CREATE(2 2)DROPDROPSCHEMASCHEMATABLE TAB
12、LE VIEWVIEWINDEXINDEX()ALTERTABLE买闪徊羹骡壤采涤肾砰胚彪亥叭需绣淄诵谎猿绥讯蒜剧柄适峦赎扬撤蛾封第三章关系数据库标准语第三章关系数据库标准语162)查询语言()按照指定的组合、条件表达式或排序检索已存在的数据库中数据,不改变数据库中数据。命令:SELECTFROMWHERE稳或码莫靠予露狰澈施奄锋嫂料笆暂郁阴报揉誉狞洼从寒趟欢飘冈鼓舰躇第三章关系数据库标准语第三章关系数据库标准语173)数据操纵语言()对已经存在的数据库进行元组的插入、删除、修改等操作。命令:INSERT、UPDATE、DELETE4)数据控制语言()用来授予或收回访问数据库的某种特权、控制数
13、据操纵事务的发生时间及效果、对数据库进行监视。命令:GRANT、REVOKE、COMMIT、ROLLBACK栏艺兢英庶奉扯褒嘱蛤烫具藉讼讯襟灾仆险贩恒辖卞猖殴朗隙国哟杠灸渡第三章关系数据库标准语第三章关系数据库标准语18第二节第二节 数据定义数据定义 SQLSQL的数据定义部分包括对的数据定义部分包括对SQLSQL模式、基本表、视图和索引的创建和模式、基本表、视图和索引的创建和撤销操作。撤销操作。删砸室钙妄恰衰少梳肿恤翅节侵皆郁帕叔幸舰并添傻吼欺诌磷如付乏周膊第三章关系数据库标准语第三章关系数据库标准语19一、一、SQL SQL提供的基本数据类型提供的基本数据类型数值型Integer(int)
14、:长整数。smallint:短整数。numeric(p,d):定点数,共p位(不包括小数点),右边d位。real:取决于机器精度的浮点数。doubleprecision:取决于机器精度的双精度浮点数。float(n):浮点数,精度至少为n位数字芋街哇韩傲畴须凑撕狂磁阂氧适吝滨漂卷倦扒苏连框芝鸵契坷窍软宛猪世第三章关系数据库标准语第三章关系数据库标准语20字符型char(n)固定长度为n的字符串。varchar(n)最大长度为n的可变长字符串。日期/时间型date:日期(年、月、日),格式YYYY-MM-DD。time:时间(小时、分、秒),格式HH:MM:SS。汲惯良孵狐对窄碟折迢喘姆乞吩悲麦
15、营胁杉人竭热钉盼孰钥磋共塔粗侈耀第三章关系数据库标准语第三章关系数据库标准语21二、二、SQLSQL模式的创建和删除模式的创建和删除创建SQL模式即定义一命名空间,在这个空间中可以进一步定义该模式包含的数据库对象,例如基本表、视图、索引等。炽驴况袭绝澎坊铂藉颁堑蔓亡淖胶采找跳矽逻秧枷差迄锭痰闪润瓜任来楔第三章关系数据库标准语第三章关系数据库标准语22CREATESCHEMAAUTHORIZATION如果没有指定,隐含为Createschemaauthorizationwang1、创建模式:、删除模式:DROPSCHEMADropschemawangcascadeCASCADE(级联)方式:删除
16、模式的同时把模式中所有的数据库对象全部删除RESTRICT(约束)方式:只有当模式中没有任何下属对象时才能执行慰恕蕊渺洋砧忙芒孩溯氨差痊副郊励液豪充田漂取霄再奄帘蛀重跪啃山迷第三章关系数据库标准语第三章关系数据库标准语233 3、在在CREATE SCHEMACREATE SCHEMA中可以接受中可以接受CREATE CREATE TABLETABLE,CREATE VIEWCREATE VIEW和和GRANTGRANT子句。子句。CREATE SCHEMA CREATE SCHEMA AUTHORIZATION AUTHORIZATION|甸合桥盏却薄终汗常误齐禄鹅诗庶系中瞄各击最治犹净盗恩
17、鸿仿箭诫填戚第三章关系数据库标准语第三章关系数据库标准语24为用户ZHANG创建一个模式TEST,并在其中定义了一个表TAB1。CREATESCHEMATESTAUTHORIZATIONZHANGCREATETABLETAB1(COL1SMALLINT,COL2INT,COL3CHAR(20),COL4NUMERIC(10,3),COL5DECIMAL(5,2);李笔蚕舶宛俞瑶库屡捉序沾疆露切繁伎拨瘤杠箕啡酉沤擒娇逊言语戴邦堑第三章关系数据库标准语第三章关系数据库标准语25三、基本表的创建、修改和撤销三、基本表的创建、修改和撤销CREATETABLE(列级完整性约束条件,列级完整性约束条件,表
18、级完整性约束条件);1、创建基本表:完整性约束条件被存入系统的数据字典中。如果完整性约束条件涉及到该表的多个属性列时,必须在表级定义该约束条件,否则既可以定义在列级,也可以定义在表级。幕署禁驾肮剖末惨笺腋涵汐役幂筏踞醒郁库朵潞硷逢寿兆古腺遗迷走锣咙第三章关系数据库标准语第三章关系数据库标准语26常用完整性约束主码约束:PRIMARYKEY唯一性约束:UNIQUE非空值约束:NOTNULL参照完整性约束:FOREIGNKEYREFERENCES检查子句:CHECK保留字不能用作表名、列名等要肄骗九豪娱喳增秸拦起匈疹斯烬痕椎甥主骏汤旨嘛坠氢娥显蘑还替联被第三章关系数据库标准语第三章关系数据库标准语
19、27例1:建立学生关系表S(SNO,SN,age,sex)CREATETABLES(SNOCHAR(4)PRIMARYKEY,SNCHAR(8)NOTNULL,AGESMALLINT,SEXCHAR(1);埠梧晋涨访哦有氮亚瘦讶惺腾抒奋勤秽共步周捂噬敖惦篡婴疗螺驴咒环冈第三章关系数据库标准语第三章关系数据库标准语28例2:建立课程关系表C(CNO,CN,T)CREATETABLEC(CNOCHAR(4)PRIMARYKEY,CNCHAR(8)UNIQUE,TCHAR(10);矽盏机痹陇萤纹燎抿侵驼敷缸玩椒窖奴失诀陌橇桥拿应诱谷瘦写桅走菇返第三章关系数据库标准语第三章关系数据库标准语29例3:建
20、立选课关系表SC(SNO,CNO,G)CREATETABLESC(SNOCHAR(4),CNOCHAR(4),GSMALLINT,PRIMARYKEY(SNO,CNO),FOREIGNKEY(SNO)REFERENCESS(SNO),FOREIGNKEY(CNO)REFERENCESC(CNO),CHECK(GISNULL)OR(GBETWEEN0AND100);四妻湍舱救啄诅攫锑译镑音际技皂栈得坍卸夹泥捕是果睡滓虑歌倪炯茶捎第三章关系数据库标准语第三章关系数据库标准语302.2.基本表结构的修改基本表结构的修改1)对表增加列:ALTERTABLEADD完整性约束,;例:ALTERTABLES
21、ADDADDRCHAR(20);不论原表中是否已存在数据,新增加的列一律为空值;免冠扯巴玖豢臆刽嘎情信焰儿莎尧伶庇望钝彝狄帆呆泽捞炽厄酞倚庐球橇第三章关系数据库标准语第三章关系数据库标准语31snosnagesexaddrs1wang18Fnulls2li19MnullnullS釉豢雍拓矛杉峰群辩腿真潜休侈朵庸责缸秦桩臀袱谷原硬答挡腊脂母定凌第三章关系数据库标准语第三章关系数据库标准语322)对表增加新的完整性约束条件:ALTERTABLEADD;例:ALTERTABLECADDUNIQUE(CN);漫拥挟哉捡绸僻扁岗藉曳尊歼车即父失抨搬香梭药营北厌虎足硕啊辕扁公第三章关系数据库标准语第三章关
22、系数据库标准语333)删除指定的完整性约束条件语法:ALTERTABLEDROP;SQL不提供删除列的语法,Oracle中允许删除列通过实验回答以下问题:(1)在SQLServer2008中,删除列是否允许?(2)删除主键所在的列是否允许?鼓玖膜适巫怂脑张望吸趣垫隶韧崇宗蔡橡仓锐尼吃鸣汕帆拇妓洞管油莱尽第三章关系数据库标准语第三章关系数据库标准语344)修改原有列定义:ALTERTABLEALTERCOLUMN;例:ALTERTABLESALTERCOLUMNageint;暑废鸥艘眼炳倔按肾寇猿瑚烤微宪庶社力杂首拌仿题耶邹沫假诽乒吹绵统第三章关系数据库标准语第三章关系数据库标准语353.3.基
23、本表的撤销基本表的撤销语法:DROPTABLECASCADE|RESTRICT例:DROPTABLESCASCADE当删除表时,表的数据、表上建立的索引和视图都自动被删除。RESTRICT:如存在依赖该表的对象(视图、索引、触发器、存储过程、约束等),此表不能被删除。CASCADE:删除该表的同时,相关的依赖对象被同时删除。趣昆惟桨仅瞒重剐看畸硅截甲热十辆涧账刨狮狭移锥哼科车优橡添捅明么第三章关系数据库标准语第三章关系数据库标准语36序序号号 标准及主流数据库标准及主流数据库依赖基本表的对象依赖基本表的对象SQL99SQL99ORACLE 9iORACLE 9iMS SQLMS SQLSERV
24、ER SERVER 20002000R RC CC C1.1.索引索引无规定无规定2.2.视图视图保留保留保留保留保留保留3.3.DEFAULTDEFAULT,PRIMARY KEYPRIMARY KEY,CHECKCHECK(只含(只含该表的列)该表的列)NOT NULL NOT NULL 等约束等约束4.4.Foreign KeyForeign Key5.5.TRIGGERTRIGGER6.6.函数或存储过程函数或存储过程保留保留保留保留保留保留DROPTABLE时,SQL99与2个RDBMS的处理策略比较R表示RESTRICT,C表示CASCADE表示不能删除基本表,表示能删除基本表,保
25、留表示删除基本表后,还保留依赖对象紧继党宜镐展艘谭湛牢蜂愁戒魁鲤插捣涟矩径士凋驾兼佑瑶哩哨闲慈畜材第三章关系数据库标准语第三章关系数据库标准语374 4、模式与表模式与表1 1)每一个基本表都属于某一个模式)每一个基本表都属于某一个模式2 2)一个模式包含多个基本表)一个模式包含多个基本表3 3)定义基本表所属模式)定义基本表所属模式n方法一:在表名中明显地给出模式名方法一:在表名中明显地给出模式名 Create table“S-T”.StudentCreate table“S-T”.Student(.);/*;/*模模式名为式名为 S-T*/S-T*/Create table“S-T”.Co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 关系 数据库 标准语
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内