第章关系型数据库和SQL语言课件_第1页
第章关系型数据库和SQL语言课件_第2页
第章关系型数据库和SQL语言课件_第3页
第章关系型数据库和SQL语言课件_第4页
第章关系型数据库和SQL语言课件_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章关系型数据库和SQL语言第7章关系型数据库和SQL语言1掌握关系模型的定义;掌握SQL数据定义语句(CREATE)掌握SQL数据插入语句(INSERT)掌握SQL数据查询语句(SELECT);了解关系运算的概念和规范化设计方法了解SQL数据操纵功能(ALTERDELETEUPDATEDROP)了解SQL数据控制功能(REVOKEGRANT)本章学习要求掌握关系模型的定义;本章学习要求27.1关系模型7.1.1关系模型的定义关系型数据库是基于关系数据模型而创建的数据库。关系模型中的实体和实体间的联系都用关系(二维表)表示。关系模型包括关系数据结构、关系操作集合和关系完整性约束三个部分。7.1关系模型7.1.1关系模型的定义3关系模型的基本数据结构是关系(relation),一个关系形式上就是一张行列结构的二维表属性的取值范围称为域(domain)元组的总数称为关系的基数实体关系模型的基本数据结构是关系(relation),一个关系形4一个具体的关系可以简单地以关系名及其属性列表来表示

下表中的教师实体的关系数据模式可以表示为:教师(工号,姓名,性别,系别,职称)

一个具体的关系可以简单地以关系名及其属性列表来表示5关系数据模型和数学中的关系概念区别:(1)元组个数为无限的关系没有现实意义,所以关系数据模型中的关系应该是有限集合。(2)数学中元组的值是有序的,而关系模型不强调这种有序性,并通过对关系的各列添加属性名来取消这种有序性。关系数据模型和数学中的关系概念区别:62.关系的性质根据关系的定义,关系应具有如下性质:(1)列应为同质。即每一列中的属性值的数据类型必须相同,来自同一个值域。(2)不同的列可以来自同一个值域,但属性有各自不同的属性名。(3)列的次序无关实际意义,可以任意交换。(4)不可以有完全相同的元组,即集合中不应有重复的元组。(5)行的次序无关实际意义,可以任意交换。(6)属性值必须为原子分量,不可再分。2.关系的性质根据关系的定义,关系应具有如下性质:7第章关系型数据库和SQL语言课件83.主键和外键

(1)候选键(candidatekey)如果关系中的某个属性或属性的组合的值可以唯一地标识一个元组,而它的任何真子集均无此特性,则称这个属性或属性的组合为该关系的候选键。极端情况下,候选键包含全部属性,则称为全键。(2)主键(primarykey)一个关系至少应具有一个候选键,也可能有多个候选键,选择候选键中的一个为主键。包含在主键中的属性称为主属性,不包含在主键中的属性称为非主属性。(3)外键(foreignkey)如果关系R1中一个属性或属性的组合Xn与关系R2中的主键的数据对应,则称Xn为关系R1关于R2(R2可以为R1自身)的外键。3.主键和外键

(1)候选键(candidatekey)9例7-1:对于如下的“教学记录”数据库(有下划线的属性为主属性),假定同一个教师可以讲授多门课程,不同班级的同一课程由不同的教师讲授:教师(工号,姓名,出生年月,单位,性别,职称)班级(班级编号,人数)课程(课程编号,课程名称,学分,先修课程编号)课表(课程编号,工号,班级编号)例7-1:对于如下的“教学记录”数据库(有下划线的属性为主属104.关系的完整性约束

(1)实体完整性(entityintegrity):在一个关系中,主键的所有主属性都不得为空值(2)参照完整性(referentialintegrity):关系中元组的外键取值只能等于所参照的关系的某一元组的主键值,或者为空值。(3)用户自定义完整性:根据实际情况对关系设定约束条件4.关系的完整性约束

(1)实体完整性(entityin117.1.2关系运算1.传统的集合运算如果关系R1和关系R2同为n度(即都有n个属性)相应的属性取自同一个值域(1)并将两个关系中的所有元组合并,删去重复元组,组成一个新的关系在关系数据库中,通过并运算可以实现元组的插入(insert)。(2)差从R1中删去与R2相同的元组,组成一个新的关系在关系数据库中,通过差运算可以实现元组的删除(delete)。(3)交R1和R2中取相同的元组,组成一个新的关系(4)广义笛卡尔积通过先差运算再并运算可以实现元组的更新(update),通过广义笛卡尔积可以实现两个实体集的连接。7.1.2关系运算1.传统的集合运算122.专门的关系运算

(1)选择

从一个关系中找出满足指定条件的元组的操作(2)投影

从一个关系中选出指定若干属性的操作称为投影(3)连接

把两个关系中的元组按照一定条件横向联合,形成一个新的关系“纽带”是两个关系的公共字段或语义相同的字段。2.专门的关系运算

(1)选择137.1.3规范化设计方法

所谓数据库的规范化设计,就是在进行关系模式设计时,通过投影或分解操作剔除属性间的不良依赖,将低一级的范式(NormalForm)向若干高一级范式转化的过程。常见的方法通过E-R图进行概要设计基于关系规范化理论进行设计于1971年由关系数据模型的创始人E.F.Codd首先提出E.F.Codd提出了第一范式(1NF)、第二范式(2NF)和第三范式(3NF)1974年Codd和Boyce共同提出了BCNF规范化程度更高的还有4NF、5NF7.1.3规范化设计方法

所谓数据库的规范化设计,就是在进141.第一范式(1NF)(1)“不可以有完全相同的元组,即集合中不应有重复的元组”。这一点可以通过主键的主属性非空及主键的唯一性保证;(2)“属性值必须为原子分量,不可再分”。1.第一范式(1NF)(1)“不可以有完全相同的元组,即集152.第二范式(2NF)如果一个关系属于1NF,且所有非主属性完全依赖于主关键字,则称该关系属于2NF。

不符合2NF要求的关系2.第二范式(2NF)如果一个关系属于1NF,且所有16符合2NF的关系符合2NF的关系173.第三范式(3NF)如果一个关系属于2NF,且每个非主属性不传递依赖于主键,即非主属性之间无依赖关系,则称该关系属于3NF。不符合3NF的关系

3.第三范式(3NF)如果一个关系属于2NF,且每个非主18第章关系型数据库和SQL语言课件19规范化的优点避免数据的插入、删除和更新异常,确保数据的一致性避免数据的冗余,使数据库的结构简洁、明晰当关系模式完全属于3NF,用户对记录值进行更新时就无须在超过两个以上的地方更改同一数值规范化的缺点关系模式中表的数目一般会有所增多DBMS进行连接查询时系统的复杂度和运行时间都有所增加规范化的优点207.2结构化查询语言SQL

7.2.1SQL语言概述1.SQL语言的产生及发展由Boyce等人在1974年提出结构化查询语言(structuredquerylanguage,SQL)经国际标准化组织(InternationalOrganizationforStandardization,ISO)指定为国际标准7.2结构化查询语言SQL

7.2.1SQL语言概述212.SQL语言的组成及特点

(1)SQL语言的组成数据定义语言(datadefinitionlanguage,DDL),用于定义数据库的逻辑结构,包括基本表、索引和视图数据操纵语言(datamanipulationlanguage,DML),用于数据查询和数据更新(插入、删除和修改)数据控制语言(datacontrollanguage,DCL),用于对基本表和视图的授权、事务控制语句等2.SQL语言的组成及特点

(1)SQL语言的组成22(2)SQL语言的特点集数据的定义、操纵和控制功能于一体;面向集合的操作方式;高度非过程化,路径选择及处理过程由系统自动完成;既可独立使用,又可嵌入到高级语言中使用;只含九条核心语句,结构化很强;类似自然语言,易学易用。(2)SQL语言的特点集数据的定义、操纵和控制功能于一体;233.SQL对关系模型的支持

SQL视图1视图2基表1基表2基表3基表4存储文件1存储文件2外模式内模式模式注意:不同的RDBMS对于SQL的支持在具体方式上有所不同3.SQL对关系模型的支持

SQL视图1视图2基表124数据库系统模式的概念模式(Schema)数据库逻辑结构和特征的描述反映的是数据的结构及其联系模式是相对稳定的一个数据库只有一个模式与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关数据库系统模式的概念模式(Schema)25外模式(ExternalSchema)外模式(也称子模式或用户模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述数据库用户的数据视图,是与某一应用有关的数据的逻辑表示外模式(ExternalSchema)外模式(也称子模式或26内模式(InternalSchema)内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据是否压缩存储数据是否加密数据存储记录结构的规定一个数据库只有一个内模式内模式(InternalSchema)内模式(也称存储模式27三级模式与二级映象三级模式是对数据的三个抽象级别二级映象在DBMS内部实现这三个抽象层次的联系和转换三级模式与二级映象三级模式是对数据的三个抽象级别28外模式/模式映象定义外模式与模式之间的对应关系每一个外模式都对应一个外模式/模式映象映象定义通常包含在各自外模式的描述中外模式/模式映象29外模式/模式映象的用途保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。外模式/模式映象的用途保证数据的逻辑独立性30模式/内模式映象模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的数据库中模式/内模式映象是唯一的该映象定义通常包含在模式描述中模式/内模式映象31模式/内模式映象的用途保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。模式/内模式映象的用途保证数据的物理独立性327.2.2SQL数据定义功能SQL的数据定义功能主要包括定义基表和定义索引。1.定义基表定义基表就是定义一个表(关系)的数据结构和完整性约束,包括指定表的名称、表的属性名称、属性的数据类型以及完整性约束条件。定义基表使用SQL中的CREATETABLE语句,其一般形式如下:CREATETABLE<表名>(

<列名1><数据类型>[<列级完整性约束条件>][,<列名2><数据类型>[<列级完整性约束条件>]]……[,<列名n><数据类型>[<列级完整性约束条件>]][,<表级完整性约束条件>]表例7.2.2SQL数据定义功能SQL的数据定义功能主要包括定33常用SQL数据类型常用SQL数据类型34第章关系型数据库和SQL语言课件35例7-5:创建“学生管理”数据库,包含STU、CLASS和SGRADE表,其中:STU表由学号、姓名、性别、系别、生日5个属性组成,主键为学号,姓名不能为空;CLASS表由课程编号、课程名称、先修课程编号、学时、学分5个属性组成,主键为课程编号,课程名称唯一;SGRADE表由学号、课程编号和成绩3个属性组成,主键为(学号,课程编号)。①创建STU表的SQL语句CREATETABLESTU(学号TEXT(7)PRIMARYKEY,姓名TEXT(16)NOTNULL,性别TEXT(2),系别TEXT(10),生日DATE);例7-5:创建“学生管理”数据库,包含STU、CLASS和36②创建CLASS表的SQL语句CREATETABLECLASS(课程编号TEXT(3)PRIMARYKEY,课程名称TEXT(20)UNIQUE,先修课程编号TEXT(3),学时SMALLINT,学分SMALLINT);③创建SGRADE表的SQL语句CREATETABLESGRADE(学号TEXT(7)REFERENCESSTU(学号),课程编号TEXT(3)REFERENCESCLASS(课程编号),成绩SMALLINT,PRIMARYKEY(学号,课程编号));添加自定义完整性约束条件的方法②创建CLASS表的SQL语句372.修改基表修改基表使用SQL中的ALTERTABLE语句。例7-6:对例7-5所创建的数据库做如下修改:(1)向STU表中添加联系电话字段;ALTERTABLESTUADD联系电话INT;(2)将联系电话字段的数据类型修改为字符串类型;ALTERTABLESTUALTER联系电话CHAR(11);(3)删除刚才添加的联系电话字段;ALTERTABLESTUDROP联系电话;注意:在对基表结构进行修改时需要先将基表关闭

2.修改基表修改基表使用SQL中的ALTERTABLE语383.删除基表

使用SQL中的DROPTABLE语句可以删除不需要的基表如果所要删除的基表中含有被其他基表引用的字段,需要先将其他基表中的REFERENCES约束删除,才能进行基表的删除DROPTABLE语句的一般形式为:DROPTABLE<表名>;例7-7:删除SGRADE表。DROPTABLESGRADE;3.删除基表

使用SQL中的DROPTABLE语句可394.定义索引为了加快查询速度和有序输出,可以在一个基表上建立一个或多个索引(index)索引属于物理存储路径的概念,RDBMS在存取数据时会自动选择合适的索引作为存取路径。定义索引使用SQL中的CREATEINDEX语句,其一般形式如下:CREATE[UNIQUE]INDEX<索引名>ON<基表名>(<列名1>[<次序>][,<列名2>[<次序>]]…);说明:(1)UNIQUE表示每一个索引值只对应唯一的数据记录;(2)<次序>用于指定索引的排列次序为升序还是降序,其中ASC为升序,DESC为降序,缺省值为ASC;(3)索引可以建立在表的一列或多列之上,各个列之间用逗号分隔开;(4)不必对主键建立索引。4.定义索引为了加快查询速度和有序输出,可以在一个基表上建40例7-8:在例7-5所创建的表上创建索引,使STU表中的记录按生日从小到大排序,使SGRADE表中的成绩按从大到小排序。CREATEINDEXS_生日ONSTU(生日);CREATEUNIQUEINDEXS_成绩ONSGRADE(成绩DESC);

例7-8:在例7-5所创建的表上创建索引,使STU表中的记录415.删除索引删除索引使用SQL中的DROPINDEX语句,其一般形式如下:DROPINDEX<索引名>;例7-9:删除STU表上的索引S_生日。DROPINDEXS_生日;5.删除索引42实践和作业实验16.1基表的创建和数据的插入实践和作业实验16.1基表的创建和数据的插入43第7章关系型数据库和SQL语言第7章关系型数据库和SQL语言44掌握关系模型的定义;掌握SQL数据定义语句(CREATE)掌握SQL数据插入语句(INSERT)掌握SQL数据查询语句(SELECT);了解关系运算的概念和规范化设计方法了解SQL数据操纵功能(ALTERDELETEUPDATEDROP)了解SQL数据控制功能(REVOKEGRANT)本章学习要求掌握关系模型的定义;本章学习要求457.1关系模型7.1.1关系模型的定义关系型数据库是基于关系数据模型而创建的数据库。关系模型中的实体和实体间的联系都用关系(二维表)表示。关系模型包括关系数据结构、关系操作集合和关系完整性约束三个部分。7.1关系模型7.1.1关系模型的定义46关系模型的基本数据结构是关系(relation),一个关系形式上就是一张行列结构的二维表属性的取值范围称为域(domain)元组的总数称为关系的基数实体关系模型的基本数据结构是关系(relation),一个关系形47一个具体的关系可以简单地以关系名及其属性列表来表示

下表中的教师实体的关系数据模式可以表示为:教师(工号,姓名,性别,系别,职称)

一个具体的关系可以简单地以关系名及其属性列表来表示48关系数据模型和数学中的关系概念区别:(1)元组个数为无限的关系没有现实意义,所以关系数据模型中的关系应该是有限集合。(2)数学中元组的值是有序的,而关系模型不强调这种有序性,并通过对关系的各列添加属性名来取消这种有序性。关系数据模型和数学中的关系概念区别:492.关系的性质根据关系的定义,关系应具有如下性质:(1)列应为同质。即每一列中的属性值的数据类型必须相同,来自同一个值域。(2)不同的列可以来自同一个值域,但属性有各自不同的属性名。(3)列的次序无关实际意义,可以任意交换。(4)不可以有完全相同的元组,即集合中不应有重复的元组。(5)行的次序无关实际意义,可以任意交换。(6)属性值必须为原子分量,不可再分。2.关系的性质根据关系的定义,关系应具有如下性质:50第章关系型数据库和SQL语言课件513.主键和外键

(1)候选键(candidatekey)如果关系中的某个属性或属性的组合的值可以唯一地标识一个元组,而它的任何真子集均无此特性,则称这个属性或属性的组合为该关系的候选键。极端情况下,候选键包含全部属性,则称为全键。(2)主键(primarykey)一个关系至少应具有一个候选键,也可能有多个候选键,选择候选键中的一个为主键。包含在主键中的属性称为主属性,不包含在主键中的属性称为非主属性。(3)外键(foreignkey)如果关系R1中一个属性或属性的组合Xn与关系R2中的主键的数据对应,则称Xn为关系R1关于R2(R2可以为R1自身)的外键。3.主键和外键

(1)候选键(candidatekey)52例7-1:对于如下的“教学记录”数据库(有下划线的属性为主属性),假定同一个教师可以讲授多门课程,不同班级的同一课程由不同的教师讲授:教师(工号,姓名,出生年月,单位,性别,职称)班级(班级编号,人数)课程(课程编号,课程名称,学分,先修课程编号)课表(课程编号,工号,班级编号)例7-1:对于如下的“教学记录”数据库(有下划线的属性为主属534.关系的完整性约束

(1)实体完整性(entityintegrity):在一个关系中,主键的所有主属性都不得为空值(2)参照完整性(referentialintegrity):关系中元组的外键取值只能等于所参照的关系的某一元组的主键值,或者为空值。(3)用户自定义完整性:根据实际情况对关系设定约束条件4.关系的完整性约束

(1)实体完整性(entityin547.1.2关系运算1.传统的集合运算如果关系R1和关系R2同为n度(即都有n个属性)相应的属性取自同一个值域(1)并将两个关系中的所有元组合并,删去重复元组,组成一个新的关系在关系数据库中,通过并运算可以实现元组的插入(insert)。(2)差从R1中删去与R2相同的元组,组成一个新的关系在关系数据库中,通过差运算可以实现元组的删除(delete)。(3)交R1和R2中取相同的元组,组成一个新的关系(4)广义笛卡尔积通过先差运算再并运算可以实现元组的更新(update),通过广义笛卡尔积可以实现两个实体集的连接。7.1.2关系运算1.传统的集合运算552.专门的关系运算

(1)选择

从一个关系中找出满足指定条件的元组的操作(2)投影

从一个关系中选出指定若干属性的操作称为投影(3)连接

把两个关系中的元组按照一定条件横向联合,形成一个新的关系“纽带”是两个关系的公共字段或语义相同的字段。2.专门的关系运算

(1)选择567.1.3规范化设计方法

所谓数据库的规范化设计,就是在进行关系模式设计时,通过投影或分解操作剔除属性间的不良依赖,将低一级的范式(NormalForm)向若干高一级范式转化的过程。常见的方法通过E-R图进行概要设计基于关系规范化理论进行设计于1971年由关系数据模型的创始人E.F.Codd首先提出E.F.Codd提出了第一范式(1NF)、第二范式(2NF)和第三范式(3NF)1974年Codd和Boyce共同提出了BCNF规范化程度更高的还有4NF、5NF7.1.3规范化设计方法

所谓数据库的规范化设计,就是在进571.第一范式(1NF)(1)“不可以有完全相同的元组,即集合中不应有重复的元组”。这一点可以通过主键的主属性非空及主键的唯一性保证;(2)“属性值必须为原子分量,不可再分”。1.第一范式(1NF)(1)“不可以有完全相同的元组,即集582.第二范式(2NF)如果一个关系属于1NF,且所有非主属性完全依赖于主关键字,则称该关系属于2NF。

不符合2NF要求的关系2.第二范式(2NF)如果一个关系属于1NF,且所有59符合2NF的关系符合2NF的关系603.第三范式(3NF)如果一个关系属于2NF,且每个非主属性不传递依赖于主键,即非主属性之间无依赖关系,则称该关系属于3NF。不符合3NF的关系

3.第三范式(3NF)如果一个关系属于2NF,且每个非主61第章关系型数据库和SQL语言课件62规范化的优点避免数据的插入、删除和更新异常,确保数据的一致性避免数据的冗余,使数据库的结构简洁、明晰当关系模式完全属于3NF,用户对记录值进行更新时就无须在超过两个以上的地方更改同一数值规范化的缺点关系模式中表的数目一般会有所增多DBMS进行连接查询时系统的复杂度和运行时间都有所增加规范化的优点637.2结构化查询语言SQL

7.2.1SQL语言概述1.SQL语言的产生及发展由Boyce等人在1974年提出结构化查询语言(structuredquerylanguage,SQL)经国际标准化组织(InternationalOrganizationforStandardization,ISO)指定为国际标准7.2结构化查询语言SQL

7.2.1SQL语言概述642.SQL语言的组成及特点

(1)SQL语言的组成数据定义语言(datadefinitionlanguage,DDL),用于定义数据库的逻辑结构,包括基本表、索引和视图数据操纵语言(datamanipulationlanguage,DML),用于数据查询和数据更新(插入、删除和修改)数据控制语言(datacontrollanguage,DCL),用于对基本表和视图的授权、事务控制语句等2.SQL语言的组成及特点

(1)SQL语言的组成65(2)SQL语言的特点集数据的定义、操纵和控制功能于一体;面向集合的操作方式;高度非过程化,路径选择及处理过程由系统自动完成;既可独立使用,又可嵌入到高级语言中使用;只含九条核心语句,结构化很强;类似自然语言,易学易用。(2)SQL语言的特点集数据的定义、操纵和控制功能于一体;663.SQL对关系模型的支持

SQL视图1视图2基表1基表2基表3基表4存储文件1存储文件2外模式内模式模式注意:不同的RDBMS对于SQL的支持在具体方式上有所不同3.SQL对关系模型的支持

SQL视图1视图2基表167数据库系统模式的概念模式(Schema)数据库逻辑结构和特征的描述反映的是数据的结构及其联系模式是相对稳定的一个数据库只有一个模式与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关数据库系统模式的概念模式(Schema)68外模式(ExternalSchema)外模式(也称子模式或用户模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述数据库用户的数据视图,是与某一应用有关的数据的逻辑表示外模式(ExternalSchema)外模式(也称子模式或69内模式(InternalSchema)内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据是否压缩存储数据是否加密数据存储记录结构的规定一个数据库只有一个内模式内模式(InternalSchema)内模式(也称存储模式70三级模式与二级映象三级模式是对数据的三个抽象级别二级映象在DBMS内部实现这三个抽象层次的联系和转换三级模式与二级映象三级模式是对数据的三个抽象级别71外模式/模式映象定义外模式与模式之间的对应关系每一个外模式都对应一个外模式/模式映象映象定义通常包含在各自外模式的描述中外模式/模式映象72外模式/模式映象的用途保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。外模式/模式映象的用途保证数据的逻辑独立性73模式/内模式映象模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的数据库中模式/内模式映象是唯一的该映象定义通常包含在模式描述中模式/内模式映象74模式/内模式映象的用途保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。模式/内模式映象的用途保证数据的物理独立性757.2.2SQL数据定义功能SQL的数据定义功能主要包括定义基表和定义索引。1.定义基表定义基表就是定义一个表(关系)的数据结构和完整性约束,包括指定表的名称、表的属性名称、属性的数据类型以及完整性约束条件。定义基表使用SQL中的CREATETABLE语句,其一般形式如下:CREATETABLE<表名>(

<列名1><数据类型>[<列级完整性约束条件>][,<列名2><数据类型>[<列级完整性约束条件>]]……[,<列名n><数据类型>[<列级完整性约束条件>]][,<表级完整性约束条件>]表例7.2.2SQL数据定义功能SQL的数据定义功能主要包括定76常用SQL数据类型常用SQL数据类型77第章关系型数据库和SQL语言课件78例7-5:创建“学生管理”数据库,包含STU、CLASS和SGRADE表,其中:STU表由学号、姓名、性别、系别、生日5个属性组成,主键为学号,姓名不能为空;CLASS表由课程编号、课程名称、先修课程编号、学时、学分5个属性组成,主键为课程编号,课程名称唯一;SGRADE表由学号、课程编号和成绩3个属性组成,主键为(学号,课程编号)。①创建STU表的SQL语句CREATETABLESTU(学号TEXT(7)PRIMARYKEY,姓名TEXT(16)NOTNULL,性别TEXT(2),系别TEXT(10),生日DATE);例7-5:创建“学生管理”数据库,包含STU、CLASS和79②创建CLASS表的SQL语句CREATETABLECLASS(课程编号TEXT(3)PRIMARYKEY,课程名称TEXT(20)UNIQUE,先修课程编号TEXT(3),学时SMALLINT,学分SMALL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论