《数据库技术基础学习教案.pptx》由会员分享,可在线阅读,更多相关《数据库技术基础学习教案.pptx(109页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、会计学1数据库技术数据库技术(jsh)基础基础第一页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾l l域(域(DomainDomain):l l给定给定(i dni dn)一组域一组域D1D1,D2D2,DnDn,笛卡尔积为:笛卡尔积为:(d1d1,d2d2,dndn)di diDiDi,i i1 1,2 2,n nl l元组(元组(TupleTuple):):l l分量(分量(ComponentComponent):l lD1D2DnD1D2Dn的基数的基数MM为为:Basic concepts:笛卡尔积中每一个(y)元素(d1,d2,dn)叫作一个(y)n元组(n-tuple
2、)或简称元组笛卡尔积元素(d1,d2,dn)中的每一个值di叫作一个分量第1页/共109页第二页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾l l关系关系 :l l候选候选(hu xu(hu xu n)n)码(码(Candidate keyCandidate key):):l l主码主码:l l主属性:主属性:Basic concepts:D1D2Dn的子集(z j)叫作在域D1,D2,Dn上的关系,R(D1,D2,Dn),R为关系名,n为关系的度第2页/共109页第三页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾基本关系(gun x)的性质:列是同质的(Homog
3、eneous)不同的列可出自同一个域其中的每一列称为一个属性不同的属性要给予不同的属性名 列的顺序无所谓,,列的次序可以任意交换 任意两个元组的候选码不能相同 行的顺序无所谓,行的次序可以任意交换 分量必须取原子值第3页/共109页第四页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n n关系模式(Relation Schema)是型n n关系是值,关系模式在某一时刻的状态或内容,动态的n n关系模式是对关系的描述(mio sh),静态的、稳定的元组集合的结构属性(shxng)构成属性(shxng)来自的域 属性(shxng)与域之间的映象关系元组语义以及完整性约束条件属性(shx
4、ng)间的数据依赖关系集合第4页/共109页第五页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n n关系模式可以形式化地表示为:n n R(U,D,DOM,F)n n R 关系名n nU 组成该关系的属性名集合n nD 属性组U中属性所来自的域n nDOM 属性向域的映象集合n nF 属性间的数据(shj)依赖关系集合关系模式通常可以(ky)简记为:R(U)或R(A1,A2,An)R:关系名;A1,A2,An :属性名第5页/共109页第六页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n n关系数据库n n在一个给定的应用领域中,所有关系的集合构成一个关系数据库n
5、n关系数据库的型:关系数据库模式,是对关系数据库的描述。关系数据库模式包括:n n若干(rugn)域的定义n n在这些域上定义的若干(rugn)关系模式n n关系数据库的值:这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。第6页/共109页第七页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n n 常用的关系操作n n查询:选择、投影、连接(linji)、除、并、交、差、笛卡尔积n n数据更新:插入、删除、修改n n查询的表达能力是其中最主要的部分n n选择、投影、并、差、笛卡尔积是5种基本操作 关系操作的特点 集合操作方式(fngsh):操作的对象和结果都是集合,一
6、次一集合的方式(fngsh)第7页/共109页第八页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾关系关系(gun x)(gun x)操作语言的分类:操作语言的分类:n n关系代数语言:关系代数语言:n n用对关系的运算用对关系的运算(yn sun)(yn sun)来表达查询要求来表达查询要求n n代表:代表:ISBLISBLv 关系演算语言:用谓词来表达查询要求元组关系演算语言谓词变元的基本对象是元组变量代表:APLHA,QUEL域关系演算语言 谓词变元的基本对象是域变量代表:QBEv 具有关系代数和关系演算双重特点的语言代表:SQL(StructuredQueryLanguag
7、e)第8页/共109页第九页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n n规则2.1 实体(sht)完整性规则(Entity Integrity)n n 若属性A是基本关系R的主属性,则属性A不能取空值设F是基本关系R的一个或一组属性,但不是(b shi)关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码基本关系R称为参照关系(Referencing Relation)基本关系S称为被参照关系(Referenced Relation)或目标关系(Target Relation)第9页/共109页第十页,共109页。第第1-3讲内容讲内容(nirng)回顾
8、回顾n n规则2.2 参照完整性规则n n若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:n n或者取空值(F的每个属性值均为空值)n n或者等于(dngy)S中某个元组的主码值第10页/共109页第十一页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾例2 学生、课程、学生与课程之间的多对多联系 学生(学号,姓名,性别(xngbi),专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩)第11页/共109页第十二页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾例3
9、 学生(xu sheng)实体及其内部的一对多联系 学生(xu sheng)(学号,姓名,性别,专业号,年龄,班长)第12页/共109页第十三页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n n把现实世界转换成为计算机能够处理的数据世界,需经过两个阶段:把现实世界转换成为计算机能够处理的数据世界,需经过两个阶段:n n第一个阶段需使用概念模型把现实世界抽象成信息第一个阶段需使用概念模型把现实世界抽象成信息(xnx)(xnx)世界世界n n第二阶段是使用实施模型把信息第二阶段是使用实施模型把信息(xnx)(xnx)世界转换为数据世界。世界转换为数据世界。n n最常用的概念模型为最常
10、用的概念模型为E-RE-R模型模型n nE-RE-R模型的三个基本要素是实体、属性和联系。模型的三个基本要素是实体、属性和联系。n n设计设计E-RE-R图一般经过两个步骤:第一步是抽象出各部门的局部图一般经过两个步骤:第一步是抽象出各部门的局部E-RE-R图。图。第二步是把局部第二步是把局部E-RE-R图组合成全局图组合成全局E-RE-R图。图。n nE-RE-R图只是信息图只是信息(xnx)(xnx)的一种抽象表示,还需把它转化成相应的实施的一种抽象表示,还需把它转化成相应的实施数据模型才能转化为数据库中的数据。把数据模型才能转化为数据库中的数据。把E-RE-R图转化为关系模型,不但图转化
11、为关系模型,不但要把实体转化成关系,而且在关系中还应反映出要把实体转化成关系,而且在关系中还应反映出E-RE-R图中各实体集之间图中各实体集之间的联系。的联系。第13页/共109页第十四页,共109页。集合运算符-并差交笛卡尔积比较运算符 大于大于等于小于小于等于等于不等于运算符含义运算符含义关系关系(gun x)代数运算符代数运算符 第第第第1-31-3讲内容讲内容讲内容讲内容(nirng)(nirng)回顾回顾回顾回顾关系运算符 选择投影连接除逻辑运算符 非与或第14页/共109页第十五页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n nR和Sn n具有相同的目n(即两个关系
12、都有n个属性(shxng))n n相应的属性(shxng)取自同一个域n n并:RS n n仍为n目关系,由属于R或属于S的元组组成n n RS=t|t Rt S n n去除重复的元组第15页/共109页第十六页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n nR和Sn n具有相同的目nn n相应的属性取自同一个域n n差:R-S n n仍为n目关系,由属于(shy)R而不属于(shy)S的所有元组组成n n R-S=t|tRtS 第16页/共109页第十七页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n nR和Sn n具有相同(xin tn)的目nn n相应的属性
13、取自同一个域n n交:RSn n仍为n目关系,由既属于R又属于S的元组组成n n RS=t|t Rt S n n RS=R(R-S)第17页/共109页第十八页,共109页。第第第第1-31-3讲内容讲内容讲内容讲内容(nirng)(nirng)回顾回顾回顾回顾n n严格地讲应该是广义的笛卡尔 积(Extended Cartesian Product)n nR:n目关系,k1个元组n nS:m目关系,k2个元组n nRS n n列:(n+m)列元组的集合(有相同(xin tn)的属性时,需重新命名)n n元组的前n列是关系R的一个元组n n后m列是关系S的一个元组n n行:k1k2个元组n n
14、RS=tr ts|tr R tsS 第18页/共109页第十九页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾第19页/共109页第二十页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n n1)选 择 又 称 为 限 制(Restriction)n n2)选择运算符的含义n n在关系R中选择满足给定条件(tiojin)的诸元组n n F(R)=t|tRF(t)=真n nF:选择条件(tiojin),是一个逻辑表达式,基本形式为:n n X1Y1 从行的角度进行的运算第20页/共109页第二十一页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n n投影运算符的
15、含义n n从R中选择出若干属性列组成新的关系(gun x)n n A(R)=tA|t R n nA:R中的属性列n n从列的角度进行运算n n但投影之后不仅取消了原关系(gun x)中的某些列,而且还可能取消某些元组(避免重复行)n n第21页/共109页第二十二页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n n1 1)连接也称为)连接也称为 连接连接n n2 2)连接运算的含义)连接运算的含义n n从两个关系的笛卡尔积中选取属性间满足一定条件的元组从两个关系的笛卡尔积中选取属性间满足一定条件的元组n n R S=|tr R S=|tr R Rts ts S StrAtsB t
16、rAtsB n nA A和和B B:分别:分别(fnbi)(fnbi)为为R R和和S S上度数相等且可比的属性组上度数相等且可比的属性组n n:比较运算符:比较运算符 n n连连接接运运算算从从R R和和S S的的广广义义笛笛卡卡尔尔积积RSRS中中选选取取(R R关关系系)在在A A属属性性组组上上的的值值与与(S S关关系系)在在B B属属性性组组上上值值满满足足比比较较关关系系 的元组的元组 ABtr ts第22页/共109页第二十三页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n n3)两类常用(chn yn)连接运算n n等值连接n n什么是等值连接n n为“”的连接
17、运算称为等值连接 n n等值连接的含义n n从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:n n R S=|tr Rts StrA=tsB A=Btr tsA=B第23页/共109页第二十四页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n n自然自然(zrn)(zrn)连接(连接(Natural joinNatural join)n n自然自然(zrn)(zrn)连接是一种特殊的等值连接连接是一种特殊的等值连接n n两两个个关关系系中中进进行行比比较较的的分分量量必必须须是是相相同同的的属属性性组组n n在结果中把重复的属性列去掉在结果中把重复的属性列
18、去掉n n自然自然(zrn)(zrn)连接的含义连接的含义n nR R和和S S具有相同的属性组具有相同的属性组B Bn n R R S S=|tr tr R Rts ts S StrB trB=tsB tsB tr ts第24页/共109页第二十五页,共109页。第第1-3讲内容讲内容(nirng)回顾回顾n n4)一般的连接操作(cozu)是从行的角度进行运算。n n n n 自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。ABRS第25页/共109页第二十六页,共109页。第四讲第四讲第四讲第四讲 关系数据库标准关系数据库标准关系数据库标准关系数据库标准(biozh(bioz
19、h n)n)语言语言语言语言SQLSQL4.1 SQL概述概述4.2 学生学生-课程数据库课程数据库4.3 数据定义数据定义4.4 数据查询数据查询4.5 数据更新数据更新(gngxn)4.6 视图视图4.7 小结小结第26页/共109页第二十七页,共109页。4.1 SQL4.1 SQL概述概述概述概述(i sh)i sh)n nSQL(Structured Query Language)n n 结构化查询语言,是关系数据库的标准语言n nSQL是一个通用(tngyng)的、功能极强的关系数据库语言第27页/共109页第二十八页,共109页。SQLSQL标准标准标准标准(biozh(bioz
20、h n)n)的进展过程的进展过程的进展过程的进展过程 标准 大致页数 发布(fb)日期SQL/86 1986.10SQL/89(FIPS 127-1)120页 1989年SQL/92 622页 1992年SQL99 1700页 1999年SQL2003 2003年第28页/共109页第二十九页,共109页。SQLSQL的特点的特点的特点的特点(tdi(tdi n)n)1.1.综合统一综合统一集数据定义语言(集数据定义语言(DDLDDL),数据操纵语言(),数据操纵语言(DMLDML),数据控制语),数据控制语言(言(DCLDCL)功能于一体。)功能于一体。可以独立完成数据库生命周期中的全部活动
21、:可以独立完成数据库生命周期中的全部活动:定义关系模式定义关系模式(msh)(msh),插入数据,建立数据库;,插入数据,建立数据库;对数据库中的数据进行查询和更新;对数据库中的数据进行查询和更新;数据库重构和维护数据库重构和维护 数据库安全性、完整性控制等数据库安全性、完整性控制等用户数据库投入运行后,可根据需要随时逐步修改模式用户数据库投入运行后,可根据需要随时逐步修改模式(msh)(msh),不影响数据的运行。不影响数据的运行。数据操作符统一数据操作符统一第29页/共109页第三十页,共109页。SQL的特点的特点(tdin)n n2.2.高度非过程化高度非过程化高度非过程化高度非过程化
22、n n非关系数据模型的数据操纵语言非关系数据模型的数据操纵语言非关系数据模型的数据操纵语言非关系数据模型的数据操纵语言“面向过程面向过程面向过程面向过程”,必须制定存取路径,必须制定存取路径,必须制定存取路径,必须制定存取路径n nSQLSQL只要只要只要只要(zh(zh yo)yo)提出提出提出提出“做什么做什么做什么做什么”,无须了解存取路径。,无须了解存取路径。,无须了解存取路径。,无须了解存取路径。n n 存取路径的选择以及存取路径的选择以及存取路径的选择以及存取路径的选择以及SQLSQL的操作过程由系统自动完成。的操作过程由系统自动完成。的操作过程由系统自动完成。的操作过程由系统自动
23、完成。第30页/共109页第三十一页,共109页。SQLSQL的特点的特点的特点的特点(tdi(tdi n)n)n n3.3.面向集合的操作方式面向集合的操作方式面向集合的操作方式面向集合的操作方式n n非关系数据模型采用面向记录非关系数据模型采用面向记录非关系数据模型采用面向记录非关系数据模型采用面向记录(jl)(jl)的操作方式,操的操作方式,操的操作方式,操的操作方式,操作对象是一条记录作对象是一条记录作对象是一条记录作对象是一条记录(jl)(jl)n nSQLSQL采用集合操作方式采用集合操作方式采用集合操作方式采用集合操作方式n n 操作对象、查找结果可以是元组的集合操作对象、查找结
24、果可以是元组的集合操作对象、查找结果可以是元组的集合操作对象、查找结果可以是元组的集合n n 一次插入、删除、更新操作的对象可以是元组的集一次插入、删除、更新操作的对象可以是元组的集一次插入、删除、更新操作的对象可以是元组的集一次插入、删除、更新操作的对象可以是元组的集合合合合第31页/共109页第三十二页,共109页。SQLSQL的特点的特点的特点的特点(tdi(tdi n)n)n n4.4.以同一种语法结构提供多种使用方式以同一种语法结构提供多种使用方式以同一种语法结构提供多种使用方式以同一种语法结构提供多种使用方式n nSQLSQL是独立的语言是独立的语言是独立的语言是独立的语言n n
25、能够能够能够能够(nnggu)(nnggu)独立地用于联机交互的使用方式独立地用于联机交互的使用方式独立地用于联机交互的使用方式独立地用于联机交互的使用方式n nSQLSQL又是嵌入式语言又是嵌入式语言又是嵌入式语言又是嵌入式语言n n SQL SQL能够能够能够能够(nnggu)(nnggu)嵌入到高级语言(例如嵌入到高级语言(例如嵌入到高级语言(例如嵌入到高级语言(例如C C,C+C+,JavaJava)程序中,供程)程序中,供程)程序中,供程)程序中,供程序员设计程序时使用序员设计程序时使用序员设计程序时使用序员设计程序时使用第32页/共109页第三十三页,共109页。SQLSQL的特点
26、的特点的特点的特点(tdi(tdi n)n)n n5.5.语言简洁,容易学容易用语言简洁,容易学容易用语言简洁,容易学容易用语言简洁,容易学容易用n nSQLSQL功能极强,完成核心功能极强,完成核心功能极强,完成核心功能极强,完成核心(hxn)(hxn)功能只用了功能只用了功能只用了功能只用了9 9个动个动个动个动词。词。词。词。第33页/共109页第三十四页,共109页。SQLSQL的基本概念的基本概念的基本概念的基本概念SQL视图视图2视图视图1基本表基本表2基本表基本表1基本表基本表3基本表基本表4存储文件存储文件2存储文件存储文件1外模式外模式模模 式式内模式内模式SQL支持关系数据
27、库三级模式(msh)结构第34页/共109页第三十五页,共109页。SQLSQL的基本概念(续)的基本概念(续)的基本概念(续)的基本概念(续)n n基本表基本表n n本身独立存在的表本身独立存在的表n nSQLSQL中一个关系就对应一个基本表中一个关系就对应一个基本表n n一个一个(或多个或多个)基本表对应一个存储文件基本表对应一个存储文件n n一个表可以带若干索引一个表可以带若干索引n n存储文件存储文件n n逻辑结构组成了关系数据库的内模式逻辑结构组成了关系数据库的内模式n n物理结构是任意的,对用户透明物理结构是任意的,对用户透明n n视图视图(sht)(sht)n n从一个或几个基本
28、表导出的表从一个或几个基本表导出的表n n数据库中只存放视图数据库中只存放视图(sht)(sht)的定义而不存放视图的定义而不存放视图(sht)(sht)对应的数据对应的数据n n视图视图(sht)(sht)是一个虚表是一个虚表n n用户可以在视图用户可以在视图(sht)(sht)上再定义视图上再定义视图(sht)(sht)第35页/共109页第三十六页,共109页。第四讲第四讲第四讲第四讲 关系数据库标准关系数据库标准关系数据库标准关系数据库标准(biozh(biozh n)n)语言语言语言语言SQLSQL4.1 SQL概述概述4.2 学生学生-课程数据库课程数据库4.3 数据定义数据定义(
29、dngy)4.4 数据查询数据查询4.5 数据更新数据更新4.6 视图视图4.7 小结小结第36页/共109页第三十七页,共109页。4.2 4.2 学生学生学生学生(xu sheng)-(xu sheng)-课程课程课程课程 数据库数据库数据库数据库n n学生-课程(kchng)模式 S-T:n n 学生表:Student(Sno,Sname,Ssex,Sage,Sdept)n n 课程(kchng)表:Course(Cno,Cname,Cpno,Ccredit)n n 学生选课表:SC(Sno,Cno,Grade)n n 第37页/共109页第三十八页,共109页。StudentStude
30、nt表表表表学学 号号Sno姓姓 名名Sname性性 别别 Ssex年年 龄龄 Sage所所 在在 系系 Sdept200215121200215122200215123200515125李勇李勇刘晨刘晨王敏王敏张立张立男男女女女女男男20191819CSCSMAIS第38页/共109页第三十九页,共109页。CourseCourse表表表表课程号课程号Cno课程名课程名Cname先行课先行课Cpno学分学分Ccredit1234567数据库数据库数学数学信息系统信息系统操作系统操作系统数据结构数据结构数据处理数据处理PASCAL语言语言516764243424第39页/共109页第四十页,共
31、109页。SCSC表表表表学学 号号Sno 课程号课程号 Cno 成绩成绩 Grade 200215121 200215121 200215121 200215122 200215122 1 2 3 2 3 92 85 88 90 80第40页/共109页第四十一页,共109页。第四讲第四讲第四讲第四讲 关系数据库标准关系数据库标准关系数据库标准关系数据库标准(biozh(biozh n)n)语言语言语言语言SQLSQL4.1 SQL概述概述4.2 学生学生-课程数据库课程数据库4.3 数据定义数据定义4.4 数据查询数据查询4.5 数据更新数据更新4.6 视图视图(sht)4.7 小结小结第
32、41页/共109页第四十二页,共109页。4.3 数据数据(shj)定义定义 SQL的数据定义功能(gngnng):模式定义、表定义、视图和索引的定义 第42页/共109页第四十三页,共109页。4.3 4.3 数据数据数据数据(shj)(shj)定义定义定义定义n n模式的定义与删除模式的定义与删除n n基本表的定义、删除与修改基本表的定义、删除与修改(xigi)n n索引的建立与删除索引的建立与删除第43页/共109页第四十四页,共109页。定义定义定义定义(dngy)(dngy)模式(续)模式(续)模式(续)模式(续)例例1 1定义一个学生定义一个学生-课程模式课程模式S-TS-T CR
33、EATE SCHEMA“S-T”AUTHORIZATION WANG;CREATE SCHEMA“S-T”AUTHORIZATION WANG;为用户为用户WANGWANG定义了一个模式定义了一个模式S-TS-T 例例2CREATE SCHEMA AUTHORIZATION WANG2CREATE SCHEMA AUTHORIZATION WANG;隐含为用户名隐含为用户名WANGWANG如果没有指定如果没有指定(zh(zh dng)dng),那么,那么 隐含为隐含为 第44页/共109页第四十五页,共109页。定义定义(dngy)模式(续)模式(续)n n定义模式实际上定义了一个命名空间定义
34、模式实际上定义了一个命名空间(kngjin)(kngjin)n n在这个空间在这个空间(kngjin)(kngjin)中可以定义该模式包含的数据库对象,例如基本表、视图、索引等。中可以定义该模式包含的数据库对象,例如基本表、视图、索引等。n n在在CREATE SCHEMACREATE SCHEMA中可以接受中可以接受CREATE TABLECREATE TABLE,CREATE VIEWCREATE VIEW和和GRANTGRANT子句。子句。n n CREATE SCHEMA CREATE SCHEMA AUTHORIZATION AUTHORIZATION|第45页/共109页第四十六页
35、,共109页。定义定义定义定义(dngy)(dngy)模式(续)模式(续)模式(续)模式(续)例3CREATE SCHEMA TEST AUTHORIZATION ZHANG CREATE TABLE TAB1(COL1 SMALLINT,COL2 INT,COL3 CHAR(20),COL4 NUMERIC(10,3),COL5 DECIMAL(5,2);为用户ZHANG创建了一个模式(msh)TEST,并在其中定义了一个表TAB1。第46页/共109页第四十七页,共109页。删除删除删除删除(shnch)(shnch)模式模式模式模式n nDROP SCHEMA DROP SCHEMA n
36、 nCASCADE(CASCADE(级联级联)n n 删除模式的同时把该模式中所有的数据库对象全部删除删除模式的同时把该模式中所有的数据库对象全部删除n nRESTRICT(RESTRICT(限制限制)n n 如果该模式中定义了下属的数据库对象(如表、视图等),则如果该模式中定义了下属的数据库对象(如表、视图等),则拒绝拒绝(jju)(jju)该删除语句的执行。该删除语句的执行。n n 当该模式中没有任何下属的对象时当该模式中没有任何下属的对象时 才能执行。才能执行。例4 DROP SCHEMA ZHANG CASCADE;删除模式(msh)ZHANG 同时该模式(msh)中定义的表TAB1也
37、被删除第47页/共109页第四十八页,共109页。4.3 4.3 数据数据数据数据(shj)(shj)定义定义定义定义n n模式的定义与删除模式的定义与删除n n基本表的定义、删除与修改基本表的定义、删除与修改n n索引索引(suyn)的建立与删除的建立与删除第48页/共109页第四十九页,共109页。基本基本基本基本(jbn)(jbn)表的定义、删除与修改表的定义、删除与修改表的定义、删除与修改表的定义、删除与修改一、定义基本一、定义基本(jbn)表表CREATE TABLE (,););如如果果完完整整性性约约束束条条件件涉涉及及到到该该表表的的多多个个属属性性列列,则则必必须须定定义义在
38、在表表级级上上,否否则则既既可可以以定定义义在在列级也可以定义在表级。列级也可以定义在表级。第49页/共109页第五十页,共109页。学生学生学生学生(xu sheng)(xu sheng)表表表表StudentStudent例5 建立(jinl)“学生”表Student,学号是主码,姓名取值唯一。CREATE TABLE Student (Sno CHAR(9)PRIMARY KEY,/*列级完整性约束条件*/Sname CHAR(20)UNIQUE,/*Sname取唯一值*/Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20);主码主码第50页/共109页第五
39、十一页,共109页。课程表课程表课程表课程表CourseCourse 例6 建立一个(y)“课程”表Course CREATE TABLE Course (Cno CHAR(4)PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY(Cpno)REFERENCES Course(Cno);先修课先修课 Cpno是外码是外码 被参照被参照(cnzho)表是表是Course被参照被参照(cnzho)列是列是Cno第51页/共109页第五十二页,共109页。学生学生学生学生(xu sheng)(xu sheng)选课表
40、选课表选课表选课表SCSC 例例例例7 7 7 7 建立一个建立一个建立一个建立一个“学生选课学生选课学生选课学生选课”表表表表SCSCSCSCCREATE TABLE SCCREATE TABLE SCCREATE TABLE SCCREATE TABLE SC (Sno CHAR(9)(Sno CHAR(9)(Sno CHAR(9)(Sno CHAR(9),Cno CHAR(4)Cno CHAR(4)Cno CHAR(4)Cno CHAR(4),Grade SMALLINTGrade SMALLINTGrade SMALLINTGrade SMALLINT,PRIMARY KEY(SnoP
41、RIMARY KEY(SnoPRIMARY KEY(SnoPRIMARY KEY(Sno,Cno)Cno)Cno)Cno),/*/*/*/*主码由两个属性构成,必须主码由两个属性构成,必须主码由两个属性构成,必须主码由两个属性构成,必须(bx)(bx)(bx)(bx)作为表级完整性进行定义作为表级完整性进行定义作为表级完整性进行定义作为表级完整性进行定义*/*/*/*/FOREIGN KEY(Sno)REFERENCES Student(Sno)FOREIGN KEY(Sno)REFERENCES Student(Sno)FOREIGN KEY(Sno)REFERENCES Student(S
42、no)FOREIGN KEY(Sno)REFERENCES Student(Sno),/*/*/*/*表级完整性约束条件,表级完整性约束条件,表级完整性约束条件,表级完整性约束条件,SnoSnoSnoSno是外码,被参照表是是外码,被参照表是是外码,被参照表是是外码,被参照表是Student*/Student*/Student*/Student*/FOREIGN KEY(Cno)REFERENCES Course(Cno)FOREIGN KEY(Cno)REFERENCES Course(Cno)FOREIGN KEY(Cno)REFERENCES Course(Cno)FOREIGN KEY
43、(Cno)REFERENCES Course(Cno)/*/*/*/*表级完整性约束条件,表级完整性约束条件,表级完整性约束条件,表级完整性约束条件,Cno Cno Cno Cno是外码,被参照表是是外码,被参照表是是外码,被参照表是是外码,被参照表是Course*/Course*/Course*/Course*/););););第52页/共109页第五十三页,共109页。基本表的定义基本表的定义基本表的定义基本表的定义(dngy)(dngy)、删除与修改、删除与修改、删除与修改、删除与修改n n二、数据类型二、数据类型二、数据类型二、数据类型n nSQLSQL中域的概念用数据类型来实现中域的
44、概念用数据类型来实现中域的概念用数据类型来实现中域的概念用数据类型来实现n n定义表的属性时定义表的属性时定义表的属性时定义表的属性时 需要指明其数据类型及长度需要指明其数据类型及长度需要指明其数据类型及长度需要指明其数据类型及长度(chngd)(chngd)n n选用哪种数据类型选用哪种数据类型选用哪种数据类型选用哪种数据类型 n n取值范围取值范围取值范围取值范围 n n要做哪些运算要做哪些运算要做哪些运算要做哪些运算 第53页/共109页第五十四页,共109页。二、数据类型二、数据类型二、数据类型二、数据类型数据类型数据类型含义含义CHAR(n)长度为长度为n的定长字符串的定长字符串VA
45、RCHAR(n)最大长度为最大长度为n的变长字符串的变长字符串INT长整数(也可以写作长整数(也可以写作INTEGER)SMALLINT短整数短整数NUMERIC(p,d)定点数,由定点数,由p位数字(不包括符号、小数点)组成,小数位数字(不包括符号、小数点)组成,小数后面有后面有d位数字位数字REAL取决于机器精度的浮点数取决于机器精度的浮点数Double Precision取决于机器精度的双精度浮点数取决于机器精度的双精度浮点数FLOAT(n)浮点数,精度至少为浮点数,精度至少为n位数字位数字DATE日期,包含年、月、日,格式为日期,包含年、月、日,格式为YYYY-MM-DDTIME时间,
46、包含一日的时、分、秒,格式为时间,包含一日的时、分、秒,格式为HH:MM:SS第54页/共109页第五十五页,共109页。三、模式三、模式三、模式三、模式(msh)(msh)与表与表与表与表n n每一个基本表都属于某一个模式每一个基本表都属于某一个模式n n一个模式包含一个模式包含(bohn)(bohn)多个基本表多个基本表n n定义基本表所属模式定义基本表所属模式n n方法一:在表名中明显地给出模式名方法一:在表名中明显地给出模式名 n nCreate table“S-T”.StudentCreate table“S-T”.Student(.);/*;/*模式名为模式名为 S-T*/S-T*
47、/n nCreate table“S-T”.CourceCreate table“S-T”.Cource(.);n nCreate table“S-T”.SCCreate table“S-T”.SC(.);n n方法二:在创建模式语句中同时创建表方法二:在创建模式语句中同时创建表 n n方法三:设置所属的模式方法三:设置所属的模式 第55页/共109页第五十六页,共109页。模式模式模式模式(msh)(msh)与表(续)与表(续)与表(续)与表(续)n n创建基本表(其他数据库对象也一样)时,若没有指定模式,系统根据搜索(su su)路径来确定该对象所属的模式 n nRDBMS会使用模式列表中
48、第一个存在的模式作为数据库对象的模式名 n n若搜索(su su)路径中的模式名都不存在,系统将给出错误 n n显示当前的搜索(su su)路径:SHOW search_path;n n搜索(su su)路径的当前默认值是:$user,PUBLIC 第56页/共109页第五十七页,共109页。模式模式模式模式(msh)(msh)与表(续)与表(续)与表(续)与表(续)n nDBA用户可以设置搜索路径,然后定义(dngy)基本表 n n SET search_path TO“S-T”,PUBLIC;n n Create table Student(.);n n结果建立了S-T.Student基本
49、表。n nRDBMS发现搜索路径中第一个模式名S-T存在,就把该n n模式作为基本表Student所属的模式。第57页/共109页第五十八页,共109页。四、修改四、修改(xigi)基本表基本表ALTER TABLE ADD 完整性约束(yush)DROP ALTER COLUMN ;第58页/共109页第五十九页,共109页。修改修改(xigi)基本表(续)基本表(续)例例8 8向向StudentStudent表增加表增加“入学时间入学时间(shjin)”(shjin)”列,其数据类型为日期型。列,其数据类型为日期型。ALTER TABLE Student ADD S_entrance DA
50、TE ALTER TABLE Student ADD S_entrance DATE;不论基本表中原来是否已有数据,新增加的列一律为空值。不论基本表中原来是否已有数据,新增加的列一律为空值。例例9 9将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数。将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数。ALTER TABLE Student ALTER COLUMN Sage INTALTER TABLE Student ALTER COLUMN Sage INT;例例1010增加课程名称必须取唯一值的约束条件。增加课程名称必须取唯一值的约束条件。ALTER TABLE