欢迎来到天天文库
浏览记录
ID:39962631
大小:3.34 MB
页数:132页
时间:2019-07-16
《ch3关系数据库标准语言sql》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库系统原理第三章关系数据库标准语言SQLAnIntroductiontoDatabaseSystem学习要点SQL概述数据定义数据查询数据更新数据控制嵌入式SQL学习要求熟练掌握应用SQL的数据操作熟悉SQL的数据控制熟悉SQL嵌入式编程3.1SQL(StructuredQueryLanguage)概述SQL的特点综合统一高度非过程化面向集合的操作方式以同一种语法结构提供多种使用方式语言简洁,易学易用SQL支持关系数据库三级模式结构SQL视图2视图1基本表2基本表1基本表3基本表4存储文件2存储文件1外模式
2、模式内模式SQL的基本概念基本表本身独立存在的表SQL中一个关系就对应一个基本表一个(或多个)基本表对应一个存储文件一个表可以带若干索引存储文件逻辑结构组成了关系数据库的内模式物理结构是任意的,对用户透明视图从一个或几个基本表导出的表数据库中只存放视图的定义而不存放视图对应的数据视图是一个虚表用户可以在视图上再定义视图数据库实例:学生-课程学号Sno姓名Sname性别Ssex年龄Sage系Sdept年级SGStudent表Course表课程号Cno课程名Cname先行课Cpno学分Ccredit学号Sno课程号
3、Cno成绩GradeSC表3.2数据定义SQL的数据定义功能:表定义、视图和索引的定义操作对象操作方式创建删除修改表CREATETABLEDROPTABLEALTERTABLE视图CREATEVIEWDROPVIEW索引CREATEINDEXDROPINDEX基本表的定义一、定义基本表CREATETABLE<表名>(<列名><数据类型>[<列级完整性约束条件>][,<列名><数据类型>[<列级完整性约束条件>]]…[,<表级完整性约束条件>]);如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则
4、既可以定义在列级也可以定义在表级。SQL2000数据类型SQL中域的概念用数据类型来实现定义表的属性时需要指明其数据类型及长度选用哪种数据类型取值范围要做哪些运算类型标识说明Boolean布尔型,取true、falseByte“字节”数据类型,取值(0..255)Integer“整数”数据类型,16位(2字节)Long“长整型”数据类型,32位Single“单精度浮点型”数据类型Double“双精度浮点型”数据类型Currency“货币”数据类型Decimal“十进制”数据类型,12字节Date“日期”数据类型
5、Char“字符”数据类型Oracle数据类型数据类型含义CHAR(n)长度为n的定长字符串VARCHAR(n)最大长度为n的变长字符串INT长整数(也可以写作INTEGER)SMALLINT短整数NUMERIC(p,d)定点数,由p位数字(不包括符号、小数点)组成,小数后面有d位数字REAL取决于机器精度的浮点数DoublePrecision取决于机器精度的双精度浮点数FLOAT(n)浮点数,精度至少为n位数字DATE日期,包含年、月、日,格式为YYYY-MM-DDTIME时间,包含一日的时、分、秒,格式为HH
6、:MM:SS完整性约束Null
7、NotNull空值(非空)约束PrimaryKey主键约束ForeignKey外键约束Unique惟一约束Check检查约束Default默认约束建立学生表Student学号是主码。CREATETABLEStudent(SnoCHAR(8)PRIMARYKEY,/*列级完整性约束条件*/SnameCHAR(20),SsexCHAR(2),SageSMALLINT,SdeptCHAR(20));主码建立课程表Course课程号为主码,Cpno为先行课程号,同一关系形成参照关系CRE
8、ATETABLECourse(CnoCHAR(4)PRIMARYKEY,CnameCHAR(40),CpnoCHAR(4),CcreditSMALLINT,FOREIGNKEY(Cpno)REFERENCESCourse(Cno));Cpno是外码被参照表是Course被参照列是Cno被参照建立选课表SC(学号,课程号)为主码CREATETABLESC(SnoCHAR(9),CnoCHAR(4),GradeSMALLINT,PRIMARYKEY(Sno,Cno),/*主码由两个属性构成,必须作为表级完整性进行定
9、义*/FOREIGNKEY(Sno)REFERENCESStudent(Sno),/*表级完整性约束条件,Sno是外码,被参照表是Student*/FOREIGNKEY(Cno)REFERENCESCourse(Cno)/*表级完整性约束条件,Cno是外码,被参照表是Course*/);修改基本表ALTERTABLE<表名>[ADD<新列名><数据类型>[完整性约束]][DROP<完整
此文档下载收益归作者所有