欢迎来到天天文库
浏览记录
ID:62137501
大小:618.00 KB
页数:118页
时间:2021-04-18
《最新数据定义【精品-】教学讲义ppt.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据定义【精品-】3.1 SQL概述SQL(StructurdQueryLanguage)是关系数据库的标准语言SQL-86,AmericanNationalStandardsInstitute(ANSI),InternationalStandardOrganization(ISO)SQL2(SQL-92)SQL3(1999):支持“对象(object)”SQL标准的广泛流行和巨大影响2SQL的特点:综合统一综合DDL、DML、DCL功能于一体高度非过程化面向集合的操作方式以同一种语法结构提供两种使用方式交互式vs.嵌入式语言简洁,易学易用3数据
2、定义语言(DDL)关系的模式;和各属性关联的域;完整性约束;为每个关系维护一个索引集合;关系的安全性和授权信息;关系在磁盘上的物理存储结构不但允许对一个关系集合进行规格说明,对其中的每个关系也要说明以下有关信息:7SQL的主要数据类型char(n).固定长度字符串,n为用户指定的长度.varchar(n).变长字符串,n为用户指定的最大长度int.全字长二进制整数smallint.半字长二进制整数numeric(p,d).定点数,p为用户指定精度,d为小数点后位数real,doubleprecision.浮点数和双精度数float(n).Float
3、ingpointnumber,withuser-specifiedprecisionofatleastndigits.8SQL的日期/时间类型date.日期型如.date‘2001-7-27’time.时间型.如.time’09:00:30’time’09:00:30.75’Timestamp(时间戳):日期加时间如timestamp‘2001-7-2709:00:30.75’可从date/time/timestamp中抽取出单个域的值可把串类型强制转换(cast)到date/time/timestamp类型如cast4、expression>asdate9基本表的定义使用CREATETABLE命令建立一个基本表:CREATETABLEr(A1D1,A2D2,...,AnDn,(完整性约束1),...,(完整性约束k))r为关系名Ai为关系r的模式中的属性名Di为属性Ai的数据类型10例子:学生表的建立CREATETABLEStudent(SnoCHAR(5)NOTNULLUNIQUE,SnameCHAR(20)UNIQUE,SsexCHAR(1),SageINT,SdeptCHAR(5));11建表的完整性约束notnullprimarykey(A1,...,5、An)check(P),P是一个谓词Unique(A1,...,An)说明:primarykey自动保证notnull和unique(SQL-92之后的标准)若违反了完整性约束条件,更新操作将被拒绝Unique要求属性值不重复,但允许有多个空值(null)12完整性约束的一个例子例:要求branch-name为branch的主码,资产(assets)值非负。createtablebranch(branch-namechar(15),branch-citychar(30)assetsinteger,primarykey(branch-name),c6、heck(assets>=0))13一个银行数据库的SQL数据定义示例14删除和修改基本表DROPTABLE:从数据库中删除指定关系的所有信息DROPTABLErALTERTABLE:向已存在的关系中增加属性列ALTERTABLErADDADA是要向关系r中加入的属性,D是A的取值域.关系中所有元组的新属性列的取值都为空值(null)ALTERTABLE命令也可用来删除关系中的属性列ALTERTABLErDROPAA是关系r中一属性但许多数据库不支持这种功能15一般格式:ALTERTABLE<表名>:[ADD<新列名><数据类型>[完整性约束][D7、ROP<完整性约束名>][MODIFY<列名><数据类型>]例子:将年龄的数据类型改为半字长整数。ALTERTABLEStudentMODIFYSageSMALLINT;删除学生姓名必须取唯一值的约束。ALTERTABLEStudentDROPUNIQUE(Sname);16建立与删除索引建立索引是加快查询速度的有效手段,可在基本表上建立一个或多个索引。建立索引CREATE[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名>[<次序>][,<列名>[<次序>]]…);说明:次序:ASC和DESCUNIQUE:索引的每一个索引8、值只对应唯一的数据记录CLUSTER:建立聚簇索引(索引项的顺序与表中记录的物理顺序一致)。17删除索引DROPINDEX
4、expression>asdate9基本表的定义使用CREATETABLE命令建立一个基本表:CREATETABLEr(A1D1,A2D2,...,AnDn,(完整性约束1),...,(完整性约束k))r为关系名Ai为关系r的模式中的属性名Di为属性Ai的数据类型10例子:学生表的建立CREATETABLEStudent(SnoCHAR(5)NOTNULLUNIQUE,SnameCHAR(20)UNIQUE,SsexCHAR(1),SageINT,SdeptCHAR(5));11建表的完整性约束notnullprimarykey(A1,...,
5、An)check(P),P是一个谓词Unique(A1,...,An)说明:primarykey自动保证notnull和unique(SQL-92之后的标准)若违反了完整性约束条件,更新操作将被拒绝Unique要求属性值不重复,但允许有多个空值(null)12完整性约束的一个例子例:要求branch-name为branch的主码,资产(assets)值非负。createtablebranch(branch-namechar(15),branch-citychar(30)assetsinteger,primarykey(branch-name),c
6、heck(assets>=0))13一个银行数据库的SQL数据定义示例14删除和修改基本表DROPTABLE:从数据库中删除指定关系的所有信息DROPTABLErALTERTABLE:向已存在的关系中增加属性列ALTERTABLErADDADA是要向关系r中加入的属性,D是A的取值域.关系中所有元组的新属性列的取值都为空值(null)ALTERTABLE命令也可用来删除关系中的属性列ALTERTABLErDROPAA是关系r中一属性但许多数据库不支持这种功能15一般格式:ALTERTABLE<表名>:[ADD<新列名><数据类型>[完整性约束][D
7、ROP<完整性约束名>][MODIFY<列名><数据类型>]例子:将年龄的数据类型改为半字长整数。ALTERTABLEStudentMODIFYSageSMALLINT;删除学生姓名必须取唯一值的约束。ALTERTABLEStudentDROPUNIQUE(Sname);16建立与删除索引建立索引是加快查询速度的有效手段,可在基本表上建立一个或多个索引。建立索引CREATE[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名>[<次序>][,<列名>[<次序>]]…);说明:次序:ASC和DESCUNIQUE:索引的每一个索引
8、值只对应唯一的数据记录CLUSTER:建立聚簇索引(索引项的顺序与表中记录的物理顺序一致)。17删除索引DROPINDEX
此文档下载收益归作者所有