数据库系统概论-第3章 关系数据库标准语言SQL(1)--3.13.2.pptx
;;3.1SQL概述;;3.1.1SQL的产生与发展;SQL的产生与发展(续);3.1SQL概述;3.1.2SQL的特点;SQL的特点(续);SQL的特点(续);SQL的特点(续);SQL的特点(续);3.1SQL概述;3.1.3SQL的基本概念;SQL的基本概念(续);SQL的基本概念(续);SQL的基本概念(续);;3.2数据定义;模式;3.2数据定义;1.定义模式;定义模式(续);定义模式(续);2.删除模式;删除模式(续);3.2数据定义;定义基本表;定义基本表(续);
学生选课模式
3个表的示例数据
;[例3.5]建立“学生”表Student
CREATETABLEStudent
(SnoCHAR(8)PRIMARYKEY,
/*列级完整性约束条件,Sno是主码*/
SnameVARCHAR(20)UNIQUE,/*Sname取唯一值*/
SsexCHAR(6),
SbirthdateDate,
SmajorVARCHAR(40)
);;[例3.6]建立一个“课程”表Course
CREATETABLECourse
(CnoCHAR(5)PRIMARYKEY,
CnameVARCHAR(40)NOTNULL,
CcreditSMALLINT,
CpnoCHAR(5),
FOREIGNKEY(Cpno)REFERENCESCourse(Cno)
);;[例3.7]建立“学生选课”表SC
CREATETABLESC
(SnoCHAR(8),
CnoCHAR(5),
GradeSMALLINT,/*成绩*/
SemesterCHAR(5),/*开课学期*/
TeachingclassCHAR(8),/*学生选修某一门课所在的教学班*/
PRIMARYKEY(Sno,Cno),
/*主码由两个属性构成,必须作为表级完整性进行定义*/
FOREIGNKEY(Sno)REFERENCESStudent(Sno),
/*表级完整性约束,Sno是外码,被参照表是Student*/
FOREIGNKEY(Cno)REFERENCESCourse(Cno)
/*表级完整性约束,Cno是外码,被参照表是Course*/
);;2.数据类型
SQL中域的概念用数据类型来实现
定义表的属性时需要指明其数据类型及长度
选用哪种数据类型
取值范围
要做哪些运算;数据类型;数据类型;3.模式与表
每一个基本表都属于某一个模式,一个模式包含多个基本表
定义基本表所属模式
方法一:在表名中明显地给出模式名
Createtable“S-C-SC”.Student(…);/*Student所属的模式是S-C-SC*/
CreatetableS-C-SC.Course(…);/*Course所属的模式是S-C-SC*/
CreatetableS-C-SC.SC(…);/*SC所属的模式是S-C-SC*/
方法二:??创建模式语句中同时创建表
方法三:设置所属的模式
;创建基本表(其他数据库对象)时,若没有指定模式,系统根据搜索路径来确定该对象所属的模式
关系数据库管理系统会使用模式列表中第一个存在的模式作为数据库对象的模式名
若搜索路径中的模式名都不存在,系统将给出错误
显示当前的搜索路径:SHOWSEARCH_PATH;
搜索路径的当前默认值是:$user,PUBLIC;数据库管理员用户可以设置搜索路径,然后定义基本表
SETSEARCH_PATHTOS-C-SC,PUBLIC;
定义基本表:
CreatetableStudent(......);
建立S-C-SC.Student基本表
关系数据库管理系统发现搜索路径中第一个模式名S-C-SC,就把该模式作为基本表Student所属的模