关系数据库语言SQL_第1页
关系数据库语言SQL_第2页
关系数据库语言SQL_第3页
关系数据库语言SQL_第4页
关系数据库语言SQL_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、第5章 关系数据库语言SQL数据库原理及应用教学内容容SQL的功能与与特点表的基本本操作SQL的的数据查查询SQL的的视图操操作第1讲SQL的功能与与特点第5章关关系数据据库语言言SQL主要内容容SQL的产生和和发展SQL的功能SQL的特点一、SQL的产生和和发展SQL语言的发发展ChamberlinSEQUELSQL大型数据据库SybaseINFORMIXSQLServerOracleDB2INGRES-小型数据据库FoxProAccess结构化查查询语言言Structured Query Language一、SQL的产生和和发展(续)1986年10月,美国国国家标标准化协协会(ANSI)发

2、布了ANSI文件X3.135-1986数据库语语言SQL,1987年6月国际标标准化组组织(ISO)采纳其为为国际标标准。“SQL86”。1989年10月“SQL89”;1992年8月“SQL2(SQL92)”标准。1999年“SQL3(SQL99)”。SQL成为国际际标准后后,由于于各种类类型的计计算机和和DBS都采用SQL作为其存存取语言言和标准准接口,从而使数据库库世界有有可能链链接为一一个统一一的整体体,这个前前景意义义十分重重大。二、SQL的功能1、数据定定义功能能:定义义数据库库的逻辑辑结构,包括基基本表、视图、索引等等。2、数据操操作功能能:数据据查询和和数据更更新。3、数据控控

3、制功能能:包括用户户授权、基本表表和视图图的授权权、事务务控制、数据完完整性和和安全性性控制等等。三、SQL的特点1、工作方方式交互式命命令方式式:在联联机终端端上,通通过直接接输入SQL命令对数数据库进进行操作作;嵌入式工工作方式式:通过过嵌入到到高级语语言程序序中实现现对数据据库的操操作。SQL用户用户SQL用户SQL用户3用户4ViewBase tableStore file视图V1视图V2基本表B1基本表B2基本表B3基本表B4存储文件S1存储文件S2存储文件S3存储文件S42、SQL支持数据据库的三三级模式式结构第2节表表的基本本操作第5章关关系数据据库语言言SQL主要内容容基本表的

4、的定义基本表的的修改表的撤消消数据插入入、修改与删除CREATETABLE( , ,, ,);不能与SQL语言中的的保留字字同名不能与其其它表名名或视图图名同名名是以字母母开头,由字母母、数字字和下划划线“_”组成的字字符串,长度不不超过30个字符。一、基本本表的定定义一个表可可以有若若干列,但至少少要有一一列。每一列必必须有一一个列名名和相应应的数据据类型。同一表中中的列名名不能重重名。指定基本本表中属属性的取取值特性性和范围围所谓“完整性约约束”是为保护护数据库库中的数数据所作作的各种种检查或或数据应应满足的的约束条条件。当不选择择该项时时,默认认值为NULL,表示该该列可以以为空值值。当

5、选择该该项时,由用户户根据各各属性列列的数据据特点和和要求给给出该列列数据的的完整性性约束条条件:NULL|NOTNULL|PRIMARY KEY|DEFAULT|CHECK|UNIQUE|NOTNULL UNIQUE由用户根根据表中中各属性性列数据据的特点点和要求求给出所所在表的的数据的的约束条条件。包括:表表的主键键约束子子句、表表的外键键约束子子句和表表的检验验约束CHECK子句。一、基本本表的定定义(续续)数据类型型整数数据据精确数值值近似浮点点数值日期时间间数据bigint,int,smallint,tinyintnumeric和decimalfloat和realdatetime与s

6、malldatetime字符串数数据Unicode字符串数数据二进制数数据货币数据据char、varchar、textnchar、nvarchar与ntextbinary、varbinary、imagemoney与smallmoney标记数据据timestamp和uniqueidentifier列名数据类型完整性约束字段名类型宽度小数位数主键外键NULL其它S#char9YYNC#char7YYNGRADEint0-100示例:教学管管理数据据库系统统中的学学习关系系SCCREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT );列名数数据据类型示例:学习关关系S

7、C的创建语语句定义数据据表的约约束正确性有效性相容性数据的完完整性约束(Constraint)默认(Default)规则(Rule)触发器(Trigger)存储过程程(StoredProcedure)SQLServer的数据完完整性机机制CONSTRAINT 完整性约约束的基基本语法法格式 NULL/NOTNULLUNIQUEPRIMARY KEYFOREIGN KEYCHECK定义数据据表的约约束定义方式式 如果果表中只只有一个个列是主主键时,可在基基本表定定义的处,标识识相应的的约束关关键字,说明某某个属性性是主键键或候选选键。例:教学学管理数数据库系系统中的的专业关关系SSCREATET

8、ABLESS(SCODE#CHAR(5)PRIMARY KEY,SSNAMEVARCHAR(30)NOT NULL);1、主键约约束1、主键约约束(续续) 如果果表的主主键由一一列或多多列组成成,在基基本表定定义的处,通过过键约束束子句说说明某个个特定的的属性或或属性集集构成主主键或候候选键。PRIMARY KEY(,)1、主键约约束(例例)例:教学学管理数数据库系系统中的的学习关关系SC。CREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT,PRIMARY KEY(S#,C#);CONSTRAINTFOREIGN KEYREFERENCES (,)外部键从表

9、主键 主表 引用 2、FOREIGN KEY约束(外键约束束)CREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT,PRIMARY KEY(S#,C#),FOREIGN KEY(S#)REFERENCESS(S#),FOREIGN KEY(C#)REFERENCESC(C#);示例:教学管管理数据据库系统统中的学学习关系系SC2、外键约约束(例例)3、CHECK约束CHECK约束是用用来指定定某一个个属性或或多个属属性可以以满足的的条件,可以在在基本表表定义的的或进行说明明CHECK()CREATETABLES(S#CHAR(9)PRIMARYKEY,SNAME

10、CHAR(10)NOTNULL,SSEXCHAR(2)CHECK(SSEXIN(男,女),SBIRTHINDATENOT NULL,PLACEOFBCHAR(16),SCODECHAR(5)NOTNULL,CLASSCHAR(5)NOT NULL);示例:教学管管理数据据库系统统中的学学生关系系S3、CHECK约束(例例)示例:教学管管理数据据库系统统中的学学习关系系SCCREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT,PRIMARY KEY(S#,C#),FOREIGN KEY(S#)REFERENCES S(S#),FOREIGN KEY(C#)REFE

11、RENCES C(C#),CHECK(GRADEBETWEEN0AND100);3、CHECK约束(例例)4、缺省值值约束用关键字字DEFAULT说明,用用于给所所在的列列设置一一个缺省省值,即即在插入入一个新新记录时时,如果果带有DEFAULT选项的列列没有数数据,就就将缺省省值作为为该列的的数据。DEFAULT()示例:教学管管理数据据库系统统中的学学习关系系SCCREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINTDEFAULT(0),PRIMARY KEY(S#,C#),FOREIGN KEY(S#)REFERENCES S(S#),FOREIGN KEY

12、(C#)REFERENCES C(C#),CHECK(GRADEBETWEEN0AND100));4、缺省值值约束(例)5、非空约约束使用关键键字NOTNULL说明,用用于指出出某属性性列不能能为空值值。每一个表表中至少少应有一一个列的的可选项项为NOTNULL主键列已已隐含可可选项为为NOTNULL示例:教学管管理数据据库系统统中的学学生关系系SCREATETABLES(S#CHAR(9)PRIMARYKEY,SNAMECHAR(10)NOTNULL,SSEXCHAR(2)CHECK(SSEX IN (男,女),SBIRTHINDATENOTNULL,PLACEOFBCHAR(16),SCO

13、DECHAR(5)NOTNULL,CLASSCHAR(5)NOTNULL);5、非空约约束(例例)建立包含含完整性性定义的的学生表表。CREATETABLES(SNoCHAR(6) CONSTRAINTS_Prim PRIMARYKEY,SNCHAR(8) CONSTRAINTSN_ConsNOTNULL,SexCHAR(2)DEFAULT 男,AgeINT CONSTRAINTAge_ConsNOT NULLCONSTRAINT Age_ChkCHECK(AgeBETWEEN 15 AND50),Dept CHAR(10) CONSTRAINTDept_Cons NOTNULL)表创建实实例

14、二、基本本表的修修改1、改变表表名修改表名名的语句句格式为为:RENAME TO ;例:将SS表改名为为SS1。RENAMESSTOSS1;2、增加列列在表的最最后一列列后面增增加新的的一列:ALTERTABLE ADD ;例:给学学生表新新增一个个属性“民族”,数据类类型为CHAR(10)。ALTERTABLES ADDnationalityCHAR(10);3、删除列列删除表中中不再需需要的列列,格式式为:ALTERTABLE DROP CASCADE|RESTRICT;CASCADE表示所有有引用到到该列的的视图或或有关约约束一并并删除;RESTRICT表示在没没有视图图或有关关约束引引

15、用时,该列才才能被删删除,否否则拒绝绝操作。例:删除除教师表表T中的出生生年月。ALTERTABLET DROPTBIRTHINRESTRICT;4、修改列列的定义义修改列的的定义,包括列列的类型型、长度度,格式式为:ALTERTABLE MODIFY ;例:将专专业表SS中的专业业名称列列长度由由30改为40。ALTERTABLESSMODIFYSSNAMEVARCHAR(40);三、表的的撤消将不需要要的表或或定义错错误的表表删除掉掉,格式式为:DROP TABLE CASCADE|RESTRICT;当一个表表被撤消消时,该该表中的的数据也也一同被被删除。指出哪些些列需要要插入数数据指出要插插入的列列的具体体值一一对应四、数据据插入、修改与与删除1、数据插插入向表中插插入一行行(单元元组)数数据。INSERTINTO ()VALUES();可省1、数据插插入示例给学习关关系SC中插入王王丽丽同同学(学学号为200401003)学习计计算机网网络课(课程号号为C403001)的成绩绩(89分)。INSERTINTOSC(S#,C#,GRADE)VALUES(200401003,C403001,89);2、数据修修改UPDATESET,, WHERE;2、数据修修改示例将所有女女同学的的专业改改为S04

温馨提示

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

评论

0/150

提交评论