资源描述:
《天大《数据库原理》学习笔记三》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库原理—学习笔记三主题:《数据库原理》学习笔记内容:《数据库原理》学习笔记三——关系数据库标准语言SQL3.1SQL概述SQL(StructurdQueryLanguage)是关系数据库的标准语言SQL-86,AmericanNationalStandardsInstitute(ANSI),InternationalStandardOrganization(ISO)SQL2(SQL-92)SQL3(1999):支持“对象(object)”SQL标准的广泛流行和巨大影响3.1.1SQL的特点SQL的特点:l综合统一l综合DDL、DML、DCL功能于一体高度
2、非过程化l面向集合的操作方式l以同一种语法结构提供两种使用方式交互式vs.嵌入式l语言简洁,易学易用3.1.2SQL语言的基本概念支持关系数据库三级模式结构SQL语言的各个部分l数据定义语言(Data-definitionlanguage,DDL)l交互式数据操纵语言(Interactivedata-manipulationlanguage,DML)l视图定义l事务控制(Transactioncontrol)l嵌入式SQL和动态SQLl完整性(Integrity)l授权(Authorization)数据库原理—学习笔记三3.2数据定义不但允许对一个关系集合进
3、行规格说明,对其中的每个关系也要说明以下有关信息:l关系的模式;l和各属性关联的域;l完整性约束;l为每个关系维护一个索引集合;l关系的安全性和授权信息;l关系在磁盘上的物理存储结构SQL的主要数据类型lchar(n).固定长度字符串,n为用户指定的长度.lvarchar(n).变长字符串,n为用户指定的最大长度lint.全字长二进制整数lsmallint.半字长二进制整数lnumeric(p,d).定点数,p为用户指定精度,d为小数点后位数lreal,doubleprecision.浮点数和双精度数lfloat(n).Floatingpointnumber
4、,withuser-specifiedprecisionofatleastndigits.SQL的日期/时间类型ldate.日期型ltime.时间型.lTimestamp(时间戳):日期加时间l可从date/time/timestamp中抽取出单个域的值l可把串类型强制转换(cast)到date/time/timestamp类型3.2.1定义、删除与修改基本表基本表的定义使用CREATETABLE命令建立一个基本表:CREATETABLEr(A1D1,A2D2,...,AnDn,(完整性约束1),...,(完整性约束k))r为关系名Ai为关系r的模式中的属性
5、名Di为属性Ai的数据类型建表的完整性约束notnullprimarykey(A1,...,An)check(P),P是一个谓词Unique(A1,...,An)说明:primarykey自动保证notnull和unique(SQL-92之后的标准)若违反了完整性约束条件,更新操作将被拒绝Unique要求属性值不重复,但允许有多个空值(null)完整性约束的一个例子删除和修改基本表DROPTABLE:从数据库中删除指定关系的所有信息DROPTABLEr数据库原理—学习笔记三ALTERTABLE:向已存在的关系中增加属性列ALTERTABLErADDADA是要
6、向关系r中加入的属性,D是A的取值域.关系中所有元组的新属性列的取值都为空值(null)ALTERTABLE命令也可用来删除关系中的属性列ALTERTABLErDROPAA是关系r中一属性但许多数据库不支持这种功能一般格式:ALTERTABLE<表名>:[ADD<新列名><数据类型>[完整性约束][DROP<完整性约束名>][MODIFY<列名><数据类型>]3.2.2建立与删除索引建立索引是加快查询速度的有效手段,可在基本表上建立一个或多个索引。建立索引CREATE[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名>[<次序>][,
7、<列名>[<次序>]]⋯);说明:次序:ASC和DESCUNIQUE:索引的每一个索引值只对应唯一的数据记录CLUSTER:建立聚簇索引(索引项的顺序与表中记录的物理顺序一致)。删除索引DROPINDEX<索引名>3.3查询一般格式为:SELECT[ALL
8、DISTINCT]<目标列表达式>[,<目标列表达式>]...FROM<表名或视图名>[,<表名或视图名>]...[WHERE<条件表达式>][GROUPBY<列名1>[HAVING<条件表达式>]][ORDERBY<列名2>[ASC
9、DESC]];整个SELECT语句的含义是,根据WHERE子句的条件表
10、达式,从FROM子句指定的基本表或视图中找出满足条件