书签 分享 收藏 举报 版权申诉 / 27
上传文档赚钱

类型数据库原理及应用第二版第3章课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4105215
  • 上传时间:2022-11-11
  • 格式:PPT
  • 页数:27
  • 大小:113.03KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《数据库原理及应用第二版第3章课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    数据库 原理 应用 第二 课件
    资源描述:

    1、1第第 3 3 章章 SQLSQL语言基础及数据定义功能语言基础及数据定义功能 3.1 3.1 基本概念基本概念3.2 SQL3.2 SQL的数据类型的数据类型3.3 3.3 数据定义功能数据定义功能 23.1 3.1 基本概念基本概念一、一、SQL语言特点语言特点 SQL SQL语言集数据查询、数据操纵、数据语言集数据查询、数据操纵、数据定义和数据控制功能于一身,其主要特点定义和数据控制功能于一身,其主要特点包括:包括:一体化一体化 高度非过程化高度非过程化简洁简洁以多种方式使用以多种方式使用3二、二、SQL语言功能概述语言功能概述 SQLSQL按其功能可分为四大部分:数据定义按其功能可分为

    2、四大部分:数据定义功能、数据控制功能、数据查询功能和数据功能、数据控制功能、数据查询功能和数据操纵功能。操纵功能。Sql功能功能命令动词命令动词数据定义数据定义CREATE、DROP 、ALTER数据查询数据查询SELECT数据操纵数据操纵INSERT、UPDATE、DELETE数据控制数据控制GRANT、REVOKE43.2 SQL3.2 SQL的数据类型的数据类型l 数值型数值型 准确型:指在计算机中能够精确存储的数准确型:指在计算机中能够精确存储的数 据。据。近似型:用于表示浮点型数据的近似数据近似型:用于表示浮点型数据的近似数据 类型。类型。l 字符串型字符串型 字符串数据由字符串数据

    3、由汉字汉字、英文字母英文字母、数字数字和和各种符号各种符号组成。组成。l 货币型货币型5l 日期时间类型日期时间类型 输入日期时:输入日期时:Oct 25 2001 /Oct 25 2001 /*英文数字格式英文数字格式*/2001-10-152001-10-15或或2001/10/15/2001/10/15/*数字加分隔符格式数字加分隔符格式*/20011020 /20011020 /*纯数字格式纯数字格式*/输入时间时:输入时间时:2001-10-15 3:22:45 PM /2001-10-15 3:22:45 PM /*1212小时格式小时格式*/2001-10-15 15:22:45

    4、 /2001-10-15 15:22:45 /*2424小时格式小时格式*/63.3 3.3 数据定义功能数据定义功能 一、基本表的定义与删除一、基本表的定义与删除 1 1、定义基本表、定义基本表 一般格式为一般格式为 :CREATE TABLE CREATE TABLE (列级完整性约束定义列级完整性约束定义 ,列级完整性约束定义列级完整性约束定义 ,表级完整性约束定义表级完整性约束定义 )7其中:其中:所要定义的基本表的名字。:所要定义的基本表的名字。:表中所包含的属性列的名字。:表中所包含的属性列的名字。指明列的数据类型。指明列的数据类型。在定义表的同时可以定义与表有关的完整在定义表的同

    5、时可以定义与表有关的完整性约束条件。性约束条件。如果完整性约束只涉及到表如果完整性约束只涉及到表中的一个列,则可以在列级完整性约束定中的一个列,则可以在列级完整性约束定义处定义,也可以在表级完整性约束定义义处定义,也可以在表级完整性约束定义处定义;如果完整性约束条件涉及表中多处定义;如果完整性约束条件涉及表中多个属性列,则必须在表级完整性约束定义个属性列,则必须在表级完整性约束定义处定义。处定义。8在列级完整性约束定义处可以定义如下约束:在列级完整性约束定义处可以定义如下约束:NOT NULLNOT NULL:限制列取值非空:限制列取值非空 DEFAULTDEFAULT:给定列的默认值,使用形

    6、式为:给定列的默认值,使用形式为:DEFAULT DEFAULT 常量常量 UNIQUEUNIQUE:限制列取值不重:限制列取值不重 CHECKCHECK:限制列的取值范围,使用形式为:限制列的取值范围,使用形式为:CHECKCHECK(约束表达式)(约束表达式)PRIMARY KEYPRIMARY KEY:指定本列为主码:指定本列为主码 FOREIGN KEYFOREIGN KEY:定义本列为引用其他表的外码。:定义本列为引用其他表的外码。使用形式为使用形式为:FOREIGN KEY(FOREIGN KEY()REFERENCES)REFERENCES ()9但有些约束必须在表级约束处定义:

    7、但有些约束必须在表级约束处定义:l 第一第一,如果,如果CHECKCHECK约束是定义多列之间的取约束是定义多列之间的取 值约束;值约束;l 第二第二,如果表的主码由多个列组成;,如果表的主码由多个列组成;l 第三第三,如果在表级完整性约束处定义外码,如果在表级完整性约束处定义外码,则则FOREIGN KEYFOREIGN KEY和和 均不能省,均不能省,且且 必须用括号括起来。即:必须用括号括起来。即:PRIMARY KEY(PRIMARY KEY(列列1 1,列,列22)10用用SQLSQL语句创建语句创建StudentStudent表表列名列名 说明说明 数据类型数据类型 约束约束 Sn

    8、o Sno 学号学号 字符串,长度为字符串,长度为7 7 主码主码 Sname Sname 姓名姓名 字符串,长度为字符串,长度为10 10 非空非空 Ssex Ssex 性别性别 字符串,长度为字符串,长度为2 2 取取男男或或女女 Sage Sage 年龄年龄 微整数微整数 取值取值151545 45 Sdept Sdept 所在系所在系 字符串,长度为字符串,长度为20 20 默认为默认为计算机系计算机系Student表结构表结构CREATE TABLE Student(Sno char(7)PRIMARY KEY,Sname char(10)NOT NULL,Ssex char(2)C

    9、HECK(Ssex=男男 OR Ssex=女女),Sage tinyint CHECK(Sage=15 AND Sage=45),Sdept char(20)DEFAULT 计算机系计算机系)11用用SQLSQL语句创建语句创建CourseCourse表表列名列名 说明说明数据类型数据类型约束约束Cno Cno 课程号课程号 字符串,长度为字符串,长度为10 10 主码主码 Cname Cname 课程名课程名 字符串,长度为字符串,长度为20 20 非空非空 Ccredit Ccredit 学分学分 微整数微整数 Semster Semster 学期学期 微整数微整数 course表结构 C

    10、REATE TABLE Course(Cno char(10)NOT NULL,Cname char(20)NOT NULL,Ccredit tinyint,Semester tinyint,PRIMARY KEY(Cno)12用用SQLSQL语句创建语句创建SCSC表表列名列名 说明说明 数据类型数据类型 约束约束 Sno Sno 学号学号 字符串,长度为字符串,长度为7 7 主码,引用主码,引用StudentStudent的外码的外码 Cno Cno 课程名课程名 字符串,长度为字符串,长度为10 10 主码,引用主码,引用CourseCourse的外码的外码 GradeGrade成绩成绩

    11、小整数小整数XKLB XKLB 修课类别修课类别字符串,长度为字符串,长度为4 4sc表结构 CREATE TABLE SC(Sno char(7)NOT NULL,Cno char(10)NOT NULL,Grade smallint,XKLB char(4),PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno),FOREIGN KEY(Cno)REFERENCES Course(Cno)132 2、删除表、删除表删除表的语句格式为删除表的语句格式为:DROP TABLE DROP TABLE ,例:删除例:删除testte

    12、st表的语句为表的语句为:DROP TABLE testDROP TABLE test14二、修改表结构二、修改表结构 ServerServer的的ALTER TABLEALTER TABLE语句的部分格式:语句的部分格式:ALTER TABLE ALTER TABLE ALTER COLUMN ALTER COLUMN|ADD|ADD 属性属性|DROP COLUMN|DROP COLUMN|ADD constraint|ADD constraint 约束名约束名 约束定义约束定义|DROP constraint|DROP constraint 约束名约束名 15例例1 1为为SCSC表添加

    13、表添加“修课类别修课类别”列,此列的定义为:列,此列的定义为:XKLB char(4)XKLB char(4)ALTER TABLE SCALTER TABLE SC ADD XKLB char(4)NULL ADD XKLB char(4)NULL例例2 2将新添加的将新添加的XKLBXKLB的类型改为的类型改为char(6)char(6)。ALTER TABLE SCALTER TABLE SC ALTER COLUMN XKLB char(6)ALTER COLUMN XKLB char(6)例例3 3删除删除CourseCourse表的表的PeriodPeriod列列 ALTER TA

    14、BLE Course ALTER TABLE Course DROP COLUMN Period DROP COLUMN Period16三、数据完整性三、数据完整性 数据完整性数据完整性是是指数据的正确性和相容性指数据的正确性和相容性。为了防止数据库中存在不符合语义的数据,为为了防止数据库中存在不符合语义的数据,为了维护数据的完整性,数据库管理系统必须提了维护数据的完整性,数据库管理系统必须提供一种机制来检查数据库中的数据,看其是否供一种机制来检查数据库中的数据,看其是否满足语义规定的条件。这些加在数据库数据之满足语义规定的条件。这些加在数据库数据之上的语义约束条件就是数据完整性约束条件。上

    15、的语义约束条件就是数据完整性约束条件。而而DBMSDBMS检查数据是否满足完整性条件的机制就检查数据是否满足完整性条件的机制就称为称为完整性检查完整性检查。171、完整性约束条件的作用对象、完整性约束条件的作用对象 完整性约束条件的作用对象可以是表、元完整性约束条件的作用对象可以是表、元组和列。组和列。(1)(1)列级约束列级约束对数据类型的约束对数据类型的约束:包括数据类型、长度、:包括数据类型、长度、精度等。精度等。对数据格式的约束对数据格式的约束:如规定学号的前两位:如规定学号的前两位表示学生的入学年份,第三位表示系的编号,表示学生的入学年份,第三位表示系的编号,第四位表示专业编号,第五

    16、位代表班的编号第四位表示专业编号,第五位代表班的编号等等。等等。对取值范围或取值集合的约束对取值范围或取值集合的约束:如学生的:如学生的成绩取值范围为成绩取值范围为0 0100100。对空值的约束对空值的约束:列是否允许为空:列是否允许为空。18(2)(2)元组约束元组约束 元组的约束是元组中各个字段之间的联系元组的约束是元组中各个字段之间的联系的约束,的约束,如:借阅日期如:借阅日期 应还日期应还日期。(3)(3)关系约束关系约束 关系约束是指若干元组之间、关系之间的关系约束是指若干元组之间、关系之间的联系的约束。联系的约束。比如学号的取值不能重复也不能比如学号的取值不能重复也不能取空值,学

    17、生修课表中的学号的取值受学生表取空值,学生修课表中的学号的取值受学生表中的学号取值的约束等。中的学号取值的约束等。192、实现数据完整性、实现数据完整性 实现完整性一般是在服务器端完成的。实现完整性一般是在服务器端完成的。方法有两种:一种是在定义表时声明数据完整方法有两种:一种是在定义表时声明数据完整性;另一种是在服务器编写触发器来实现。性;另一种是在服务器编写触发器来实现。实体完整性(实体完整性(PRIMARY KEYPRIMARY KEY)引用完整性(引用完整性(FOREIGN KEYFOREIGN KEY)用户定义的完整性,包括:用户定义的完整性,包括:默认值(默认值(DEFAULTDE

    18、FAULT)约束)约束 列值取值范围(列值取值范围(CHECKCHECK)约束)约束 惟一值约束(惟一值约束(UNIQUEUNIQUE)20 以雇员表和工作表为例,在这两张表上以雇员表和工作表为例,在这两张表上添加约束。这两张表的结构如下:添加约束。这两张表的结构如下:雇员表雇员表 (雇员编号雇员编号 字符型字符型 长度为长度为7 7 非空,非空,雇员名雇员名 字符型,长度为字符型,长度为1010,工作编号工作编号 字符型,长度为字符型,长度为8 8,工资工资 整型,整型,电话电话 字符型,长度为字符型,长度为8 8 非空)非空)工作表工作表 (工作编号工作编号 字符型,长度为字符型,长度为8

    19、 8,非空,非空,最低工资最低工资 整型,整型,最高工资最高工资 整型整型 )21 (1)(1)主码约束主码约束 a a、每个表只能有一个;每个表只能有一个;b b、用、用PRIMARY KEYPRIMARY KEY约束的列取值不能有重复,约束的列取值不能有重复,而且不允许有空值;而且不允许有空值;添加主码约束的语法格式为:添加主码约束的语法格式为:ALTER TABLE ALTER TABLE 表名表名 ADD CONSTRAINT ADD CONSTRAINT 约束名约束名 PRIMARY KEY PRIMARY KEY(,n n)例例1 1:对雇员表和工作表分别添加主码约束。:对雇员表和

    20、工作表分别添加主码约束。ALTER TABLE ALTER TABLE 雇员表雇员表 ADD CONSTRAINT PK_EMPADD CONSTRAINT PK_EMP PRIMARY KEYPRIMARY KEY (雇员编号)(雇员编号)ALTER TABLE ALTER TABLE 工作表工作表 ADD CONSTRAINT PK_JOBADD CONSTRAINT PK_JOB PRIMARY KEYPRIMARY KEY (工作编号)(工作编号)22(2)UNIQUE(2)UNIQUE约束约束 用于限制在一个列中不能有重复的值。用于限制在一个列中不能有重复的值。定义定义UNIQUEU

    21、NIQUE约束时注意如下事项:约束时注意如下事项:允许有一个空值;允许有一个空值;在一个表中可以定义多个在一个表中可以定义多个UNIQUEUNIQUE约束;约束;可以在一个列或多个列上定义可以在一个列或多个列上定义UNIQUEUNIQUE约束;约束;添加添加UNIQUEUNIQUE约束的语法格式为:约束的语法格式为:ALTER TABLE ALTER TABLE 表名表名 ADD CONSTRAINT ADD CONSTRAINT 约束名约束名 UNIQUE UNIQUE(,n n)例例2 2为雇员表的为雇员表的“电话电话”列添加列添加UNIQUEUNIQUE约束。约束。ALTER TABLE

    22、 ALTER TABLE 雇员表雇员表 ADD CONSTRAINT UK_SIDADD CONSTRAINT UK_SID UNIQUE UNIQUE(电话)(电话)23(3)(3)外码约束外码约束 外码约束实现了引用完整性。外码约束实现了引用完整性。添加添加FOREIGN KEYFOREIGN KEY约束的语法格式为:约束的语法格式为:ALTER TABLE ALTER TABLE 表名表名 ADD CONSTRAINT ADD CONSTRAINT 约束名约束名 FOREIGN KEY FOREIGN KEY()REFERENCES REFERENCES 引用表名(引用表名()例例3 3

    23、为雇员表的工作编号添加外码引用约束,为雇员表的工作编号添加外码引用约束,此列引用工作表的工作编号列。此列引用工作表的工作编号列。ALTER TABLE ALTER TABLE 雇员雇员 ADD CONSTRAINT FK_job_idADD CONSTRAINT FK_job_id FOREIGN KEYFOREIGN KEY (工作编号)(工作编号)REFERENCES REFERENCES 工作表工作表 (工作编号(工作编号)24 (4)DEFAULT(4)DEFAULT约束约束 DEFAULTDEFAULT约束用于提供列的默认值。约束用于提供列的默认值。添加添加DEFAULTDEFAUL

    24、T约束的语法格式为:约束的语法格式为:ALTER TABLE ALTER TABLE 表名表名 ADD CONSTRAINT ADD CONSTRAINT 约束名约束名 DEFAULT DEFAULT 默认值默认值 FOR FOR 列名列名 例例4 4定义雇员表的工资的默认值为定义雇员表的工资的默认值为10001000。ALTER TABLE ALTER TABLE 雇员雇员 ADD CONSTRAINT DF_SALARYADD CONSTRAINT DF_SALARY DEFAULT 1000 FOR DEFAULT 1000 FOR 工资工资25 (5)CHECK(5)CHECK约束约束

    25、 用于限制列的取值在指定的范围内。可约束同一用于限制列的取值在指定的范围内。可约束同一个表中多个列之间的取值关系。个表中多个列之间的取值关系。添加添加CHECKCHECK约束的语法格式为:约束的语法格式为:ALTER TABLE ALTER TABLE 表名表名 ADD CONSTRAINT ADD CONSTRAINT 约束名约束名 CHECK CHECK(逻辑表达式)(逻辑表达式)例例6 6添加限制工资表的最低工资小于等于最高工资添加限制工资表的最低工资小于等于最高工资的约束。的约束。ALTER TABLE ALTER TABLE 工作工作 ADD CONSTRAINT CHK_Job_SalaryADD CONSTRAINT CHK_Job_Salary CHECK(CHECK(最低工资最低工资 =最高工资最高工资 )26小结小结 本章主要介绍了本章主要介绍了SQLSQL语言所支持的语言所支持的数据类型。数据类型。基本表的创建、删除和修改语句基本表的创建、删除和修改语句及实现数据完整性的方法。及实现数据完整性的方法。27作业作业(教材教材p-37)习题习题12、13、14、15

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:数据库原理及应用第二版第3章课件.ppt
    链接地址:https://www.163wenku.com/p-4105215.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库