5s 6s管理_关系数据库语言sql_第1页
5s 6s管理_关系数据库语言sql_第2页
5s 6s管理_关系数据库语言sql_第3页
5s 6s管理_关系数据库语言sql_第4页
5s 6s管理_关系数据库语言sql_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

第5章关系数据库语言SQL,数据库原理及应用,教学内容,SQL的功能与特点表的基本操作SQL的数据查询SQL的视图操作,第1讲SQL的功能与特点,第5章关系数据库语言SQL,主要内容,SQL的产生和发展SQL的功能SQL的特点,一、SQL的产生和发展,SQL语言的发展,Chamberlin,SEQUEL,SQL,大型数据库SybaseINFORMIXSQLServerOracleDB2INGRES-小型数据库FoxProAccess,结构化查询语言StructuredQueryLanguage,一、SQL的产生和发展(续),1986年10月,美国国家标准化协会(ANSI)发布了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、数据控制功能:包括用户授权、基本表和视图的授权、事务控制、数据完整性和安全性控制等。,三、SQL的特点,1、工作方式交互式命令方式:在联机终端上,通过直接输入SQL命令对数据库进行操作;嵌入式工作方式:通过嵌入到高级语言程序中实现对数据库的操作。,2、SQL支持数据库的三级模式结构,第2节表的基本操作,第5章关系数据库语言SQL,主要内容,基本表的定义基本表的修改表的撤消数据插入、修改与删除,CREATETABLE(,,,);,不能与SQL语言中的保留字同名不能与其它表名或视图名同名是以字母开头,由字母、数字和下划线“_”组成的字符串,长度不超过30个字符。,一、基本表的定义,一个表可以有若干列,但至少要有一列。每一列必须有一个列名和相应的数据类型。同一表中的列名不能重名。,指定基本表中属性的取值特性和范围,所谓“完整性约束”是为保护数据库中的数据所作的各种检查或数据应满足的约束条件。,当不选择该项时,默认值为NULL,表示该列可以为空值。当选择该项时,由用户根据各属性列的数据特点和要求给出该列数据的完整性约束条件:NULL|NOTNULL|PRIMARYKEY|DEFAULT|CHECK|UNIQUE|NOTNULLUNIQUE,由用户根据表中各属性列数据的特点和要求给出所在表的数据的约束条件。包括:表的主键约束子句、表的外键约束子句和表的检验约束CHECK子句。,一、基本表的定义(续),数据类型,整数数据,精确数值,近似浮点数值,日期时间数据,bigint,int,smallint,tinyint,numeric和decimal,float和real,datetime与smalldatetime,字符串数据,Unicode字符串数据,二进制数据,货币数据,char、varchar、text,nchar、nvarchar与ntext,binary、varbinary、image,money与smallmoney,标记数据,timestamp和uniqueidentifier,示例:教学管理数据库系统中的学习关系SC,CREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT);列名数据类型,示例:学习关系SC的创建语句,定义数据表的约束,正确性,有效性,相容性,数据的完整性,约束(Constraint)默认(Default)规则(Rule)触发器(Trigger)存储过程(StoredProcedure),SQLServer的数据完整性机制,CONSTRAINT,完整性约束的基本语法格式,NULL/NOTNULL,UNIQUE,PRIMARYKEY,FOREIGNKEY,CHECK,定义数据表的约束,定义方式如果表中只有一个列是主键时,可在基本表定义的处,标识相应的约束关键字,说明某个属性是主键或候选键。例:教学管理数据库系统中的专业关系SSCREATETABLESS(SCODE#CHAR(5)PRIMARYKEY,SSNAMEVARCHAR(30)NOTNULL);,1、主键约束,1、主键约束(续),如果表的主键由一列或多列组成,在基本表定义的处,通过键约束子句说明某个特定的属性或属性集构成主键或候选键。PRIMARYKEY(,),1、主键约束(例),例:教学管理数据库系统中的学习关系SC。CREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT,PRIMARYKEY(S#,C#);,CONSTRAINTFOREIGNKEYREFERENCES(,),外部键,从表,主键,主表,引用,2、FOREIGNKEY约束(外键约束),CREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT,PRIMARYKEY(S#,C#),FOREIGNKEY(S#)REFERENCESS(S#),FOREIGNKEY(C#)REFERENCESC(C#);,示例:教学管理数据库系统中的学习关系SC,2、外键约束(例),3、CHECK约束,CHECK约束是用来指定某一个属性或多个属性可以满足的条件,可以在基本表定义的或进行说明CHECK(),CREATETABLES(S#CHAR(9)PRIMARYKEY,SNAMECHAR(10)NOTNULL,SSEXCHAR(2)CHECK(SSEXIN(男,女),SBIRTHINDATENOTNULL,PLACEOFBCHAR(16),SCODECHAR(5)NOTNULL,CLASSCHAR(5)NOTNULL);,示例:教学管理数据库系统中的学生关系S,3、CHECK约束(例),示例:教学管理数据库系统中的学习关系SC,CREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT,PRIMARYKEY(S#,C#),FOREIGNKEY(S#)REFERENCESS(S#),FOREIGNKEY(C#)REFERENCESC(C#),CHECK(GRADEBETWEEN0AND100);,3、CHECK约束(例),4、缺省值约束,用关键字DEFAULT说明,用于给所在的列设置一个缺省值,即在插入一个新记录时,如果带有DEFAULT选项的列没有数据,就将缺省值作为该列的数据。DEFAULT(),示例:教学管理数据库系统中的学习关系SC,CREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINTDEFAULT(0),PRIMARYKEY(S#,C#),FOREIGNKEY(S#)REFERENCESS(S#),FOREIGNKEY(C#)REFERENCESC(C#),CHECK(GRADEBETWEEN0AND100));,4、缺省值约束(例),5、非空约束,使用关键字NOTNULL说明,用于指出某属性列不能为空值。每一个表中至少应有一个列的可选项为NOTNULL主键列已隐含可选项为NOTNULL,示例:教学管理数据库系统中的学生关系S,CREATETABLES(S#CHAR(9)PRIMARYKEY,SNAMECHAR(10)NOTNULL,SSEXCHAR(2)CHECK(SSEXIN(男,女),SBIRTHINDATENOTNULL,PLACEOFBCHAR(16),SCODECHAR(5)NOTNULL,CLASSCHAR(5)NOTNULL);,5、非空约束(例),建立包含完整性定义的学生表。CREATETABLES(SNoCHAR(6)CONSTRAINTS_PrimPRIMARYKEY,SNCHAR(8)CONSTRAINTSN_ConsNOTNULL,SexCHAR(2)DEFAULT男,AgeINTCONSTRAINTAge_ConsNOTNULLCONSTRAINTAge_ChkCHECK(AgeBETWEEN15AND50),DeptCHAR(10)CONSTRAINTDept_ConsNOTNULL),表创建实例,二、基本表的修改,1、改变表名修改表名的语句格式为:RENAMETO;例:将SS表改名为SS1。RENAMESSTOSS1;,2、增加列,在表的最后一列后面增加新的一列:ALTERTABLEADD;例:给学生表新增一个属性“民族”,数据类型为CHAR(10)。ALTERTABLESADDnationalityCHAR(10);,3、删除列,删除表中不再需要的列,格式为:ALTERTABLEDROPCASCADE|RESTRICT;CASCADE表示所有引用到该列的视图或有关约束一并删除;RESTRICT表示在没有视图或有关约束引用时,该列才能被删除,否则拒绝操作。例:删除教师表T中的出生年月。ALTERTABLETDROPTBIRTHINRESTRICT;,4、修改列的定义,修改列的定义,包括列的类型、长度,格式为:ALTERTABLEMODIFY;例:将专业表SS中的专业名称列长度由30改为40。ALTERTABLESSMODIFYSSNAMEVARCHAR(40);,三、表的撤消,将不需要的表或定义错误的表删除掉,格式为:DROPTABLECASCADE|RESTRICT;当一个表被撤消时,该表中的数据也一同被删除。,指出哪些列需要插入数据,指出要插入的列的具体值,四、数据插入、修改与删除,1、数据插入向表中插入一行(单元组)数据。INSERTINTO()VALUES();,可省,1、数据插入示例,给学习关系SC中插入王丽丽同学(学号为200401003)学习计算机网络课(课程号为C403001)的成绩(89分)。INSERTINTOSC(S#,C#,GRADE)VALUES(200401003,C403001,89);,2、数据修改,UPDATESET,,WHERE;,2、数据修改示例,将所有女同学的专业改为S0404UPDATESSETSCODES

温馨提示

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

评论

0/150

提交评论