数据库和表的操作.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据库和表的操作.ppt》由会员分享,可在线阅读,更多相关《数据库和表的操作.ppt(68页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、1结构化查询语言结构化查询语言SQLSQL 主要内容主要内容vSQLSQL概述概述 vSQLSQL的数据定义的数据定义vSQLSQL的数据查询的数据查询 v数据更新数据更新 v嵌入式嵌入式SQL SQL vTransact SQLTransact SQL语言概述语言概述 2本章概述本章概述v 结构化查询语言结构化查询语言SQLSQL(Structured Query LanguageStructured Query Language)是关系数据库)是关系数据库的标准语言,对关系模型的发展和商用的标准语言,对关系模型的发展和商用DBMSDBMS的研制起着重要的作用。的研制起着重要的作用。SQLS
2、QL语语言是介乎于关系代数和元组演算之间的一种语言。接下来介绍言是介乎于关系代数和元组演算之间的一种语言。接下来介绍SQLSQL的核心的核心部分内容:部分内容:数据定义数据定义、数据查询数据查询、数据更新数据更新和和嵌入式嵌入式SQLSQL。3SQL概述概述主要内容主要内容vSQL的产生与发展的产生与发展vSQL的组成及特点的组成及特点4 SQL SQL的产生与发展的产生与发展v19721972年,年,IBMIBM公司开始研制实验型关系数据库管理系统公司开始研制实验型关系数据库管理系统SYSTEM RSYSTEM R,其配,其配备的查询语言称为备的查询语言称为SQUARESQUARE(Spec
3、ifying Queries As Relational (Specifying Queries As Relational Expression)Expression)语言,语言中使用了较多的数学符号。语言,语言中使用了较多的数学符号。v19741974年,年,BoyceBoyce和和ChamberlinChamberlin把把SQUARESQUARE修改为修改为SEQUELSEQUEL(Structured (Structured English Query Language)English Query Language)语言。后来语言。后来SEQUELSEQUEL简称为简称为SQLSQL
4、(Structured (Structured Query Language)Query Language),即,即“结构式查询语言结构式查询语言”,SQLSQL的发音仍的发音仍“sequelsequel”。现在现在SQLSQL已经成为一个标准已经成为一个标准 。v SQLSQL有两个标准:有两个标准:ANSI SQLANSI SQL和和19921992年通过的修改版本年通过的修改版本SQL-92SQL-92(简称(简称 SQL2SQL2)。还有一个新的标准)。还有一个新的标准SQL3SQL3,它扩充了,它扩充了SQL2SQL2,引入了递归、触发,引入了递归、触发 器和对象等概念和机制。器和对
5、象等概念和机制。5SQLSQL的组成及特点的组成及特点 SQLSQL语言从功能上可以分为四部分:数据查询(语言从功能上可以分为四部分:数据查询(Data QueryData Query)、数据)、数据操纵(操纵(Data ManipulationData Manipulation)、数据定义()、数据定义(Data DefinitionData Definition)和数据控制)和数据控制(Data ControlData Control)。)。数据定义语言,即数据定义语言,即SQL DDLSQL DDL,用于定义,用于定义SQLSQL模式、基本表、视图、索引等模式、基本表、视图、索引等结构。
6、结构。数据操纵语言,即数据操纵语言,即SQL DMLSQL DML。数据操纵分成数据查询和数据更新两类。数据操纵分成数据查询和数据更新两类。其中数据更新又分成插入、删除和修改三种操作。其中数据更新又分成插入、删除和修改三种操作。数据控制语言,即数据控制语言,即SQL DCLSQL DCL,这一部分包括对基本表和视图的授权、完,这一部分包括对基本表和视图的授权、完整性规则的描述、事务控制等内容。整性规则的描述、事务控制等内容。SQLSQL的核心部分相当于关系代数,同时又具有关系代数所没有的许多的核心部分相当于关系代数,同时又具有关系代数所没有的许多特点,如聚集、数据库更新等。特点,如聚集、数据库
7、更新等。6特点:特点:特点:特点:v综合统一综合统一v高度非过程化高度非过程化nSQL是一种第四代语言(是一种第四代语言(4GL),用户只需提出),用户只需提出“干什么干什么”,无需具体指明,无需具体指明“怎么干怎么干”,像存取路径选择和具体,像存取路径选择和具体处理操作等,均有系统自动完成。处理操作等,均有系统自动完成。v统一的语法结构统一的语法结构nSQL有两种使用方式:一是联机交互使用,另一种是嵌有两种使用方式:一是联机交互使用,另一种是嵌入到某种高级语言程序设计语言中去使用。入到某种高级语言程序设计语言中去使用。v语言简洁语言简洁SQL语言的基本组成语言的基本组成 SQL语言支持关系数
8、据库的三级模式结构,如下图所示。8SQLSQL的核心动词的核心动词功功能能动动词词数据库查询数据库查询SELECTSELECT数据定义数据定义CREATECREATE,DROPDROP数据操纵数据操纵INSERTINSERT,UPDATEUPDATE,DELECTDELECT数据控制数据控制GRANTGRANT,REVOKEREVOKE9SQL的数据定义的数据定义 主要内容主要内容v 数据库的创建与撤销数据库的创建与撤销v 定义、修改与删除基本表定义、修改与删除基本表v 建立与删除索引建立与删除索引-稍后稍后v 创建与删除视图创建与删除视图-稍后稍后10操作对操作对象象操操 作作 方方 式式创
9、创 建建删删 除除修修 改改数据库数据库CREATE DATABASECREATE DATABASEDROP DATABASEDROP DATABASE表表CREATE TABLECREATE TABLEDROP TABLEDROP TABLEALTER TABLEALTER TABLE索索 引引CREATE INDEXCREATE INDEXDROP INDEXDROP INDEX视视 图图CREATE VIEWCREATE VIEWDROP VIEWDROP VIEWSQLSQL的数据定义功能包括数据库定义、表定义、视图和索引的定义。的数据定义功能包括数据库定义、表定义、视图和索引的定义。
10、11学号学号SNO姓名姓名SNAME性别性别SEX年龄年龄AGE所在系所在系SDEPT200915121200915122200915123200915125李小勇李小勇刘刘 晨晨王洪敏王洪敏张张 力力MFFM20191819CSCSMAIS学生表学生表:S(S(SNOSNO,SNAME,SEX,AGE,SDEPT),SNAME,SEX,AGE,SDEPT)课程表:课程表:C(C(CNOCNO,CNAME,CPNO,CCREDIT),CNAME,CPNO,CCREDIT)学生选课表学生选课表:SC(SC(SNO,CNOSNO,CNO,GRADE),GRADE)学生表学生表学生表学生表实例实例实
11、例实例例例1 1 定义一个定义一个教务管理数据库教务管理数据库JWGLJWGL,它包含,它包含3 3个表:个表:本章数据库示例(教务管理数据库)本章数据库示例(教务管理数据库)本章数据库示例(教务管理数据库)本章数据库示例(教务管理数据库)12课程号课程号CNO课程名课程名CNAME先修课先修课CPNO学分学分CCREDIT1234567数据库数据库数学数学信息系统信息系统操作系统操作系统数据结构数据结构数据处理数据处理C语言语言516764243424课程表实例课程表实例学生表选课表学生表选课表学生表选课表学生表选课表实例实例实例实例学号学号SNO课程号课程号CNO成绩成绩GRADE2009
12、1512120091512120091512120091512220091512212323928588908013数据库的创建与撤销数据库的创建与撤销v数据库的创建数据库的创建 在在SQL2000SQL2000中,一个数据库模式被定义为基本表的集合。中,一个数据库模式被定义为基本表的集合。对数据库的创建可用对数据库的创建可用CREATECREATE语句实现,其句法如下:语句实现,其句法如下:CREATE DATABASECREATE DATABASE AUTHORIZATIONAUTHORIZATION 其中:其中:AUTHORIZATION AUTHORIZATION 是指该用户获得授予创
13、建和使用数是指该用户获得授予创建和使用数据库的权限。据库的权限。例如,下面语句定义了教务管理数据库的模式:例如,下面语句定义了教务管理数据库的模式:CREATE DATABASE CREATE DATABASE JWGLJWGL AUTHORIZATION sa AUTHORIZATION sa 创建的数据库名为创建的数据库名为JWGLJWGL,拥有者为,拥有者为sasa。14v数据库的撤消数据库的撤消当一个数据库及其所属的基本表、视图等元素都不需要时,可以用当一个数据库及其所属的基本表、视图等元素都不需要时,可以用DROP语句撤消这个数据库。语句撤消这个数据库。DROP语句的句法如下:语句的
14、句法如下:DROPDATABASECASCADE|RESTRICT撤消的方式有以下两种撤消的方式有以下两种:CASCADE(连锁式)(连锁式)方式方式:执行:执行DROP语句时,把数据库及其下属的语句时,把数据库及其下属的基本表、视图、索引等所有元素全部撤消。基本表、视图、索引等所有元素全部撤消。RESTRICT(约束式)(约束式)方式方式:执行:执行DROP语句时,只有当数据库中没有语句时,只有当数据库中没有任何下属元素时,才能撤消数据库,否则拒绝执行任何下属元素时,才能撤消数据库,否则拒绝执行DROP语句。语句。例如,要撤消数据库例如,要撤消数据库JWGL及其下属所有的元素,可用下列语句实
15、现:及其下属所有的元素,可用下列语句实现:DROP DATABASEDROP DATABASE JWGL JWGL CASCADE CASCADE15定义、修改与删除基本表定义、修改与删除基本表v数据类型数据类型一个属性选用哪种数据类型要根据实际情况来决定,一般要从两个一个属性选用哪种数据类型要根据实际情况来决定,一般要从两个方面来考虑,方面来考虑,一是取值范围,二是要做哪些运算一是取值范围,二是要做哪些运算。数据类型数据类型含含 义义CHAR(n)CHAR(n)VARCHAR(n)VARCHAR(n)INTINTSMALLINTSMALLINTNUMERIC(p,d)NUMERIC(p,d)
16、REALREALDOUBLE PRECISIONDOUBLE PRECISIONFLOAT(n)FLOAT(n)DATEDATETIMETIME度为度为n n的定长字符串的定长字符串 最大长度为最大长度为n n的变长字符串的变长字符串长整数(也可以写作长整数(也可以写作INTEGERINTEGER)短整数短整数定点数,由定点数,由P P位数字(不包括符号、小数点)组成,小数位数字(不包括符号、小数点)组成,小数后面有后面有d d位数字位数字取决于机器精度的浮点数取决于机器精度的浮点数取决于机器精度的双精度浮点数取决于机器精度的双精度浮点数浮点数,精度至少为浮点数,精度至少为n n位数字位数字日
17、期,包含年、月、日,格式为日期,包含年、月、日,格式为YYYY-MM-DDYYYY-MM-DD 时间,包含一日的时、分、秒,格式为时间,包含一日的时、分、秒,格式为HH:MM:SSHH:MM:SS定义表定义表 -确定表的各个属性确定表的各个属性 -确定每个属性域(取值范围)确定每个属性域(取值范围)16v定义基本表定义基本表定义基本表,就是创建基本表的结构。定义基本表,就是创建基本表的结构。其一般格式为:其一般格式为:其一般格式为:其一般格式为:CREATE TABLECREATE TABLE (列级完整性约束条件列级完整性约束条件,列级完整性约束条件列级完整性约束条件,););建表的同时通常
18、还可以定义与该表有关的完整性约束条建表的同时通常还可以定义与该表有关的完整性约束条件,这些完整性约束条件被存入系统的数据字典中,当用户件,这些完整性约束条件被存入系统的数据字典中,当用户操作表中数据时由操作表中数据时由RDBMS自动检查该操作是否违背这些完自动检查该操作是否违背这些完整性约束条件。整性约束条件。17例例2 2 建立一个建立一个“学生学生”表表S SCREATETABLES(SNOCHAR(9)PRIMARYKEY,/*列级完整性约束条件,列级完整性约束条件,SNO是主码是主码*/SNAMECHAR(20)UNIQUE,/*SNAME取唯一值取唯一值*/SEXCHAR(1),AG
19、ESMALLINT,SDEPTCHAR(20);系统执行上面的系统执行上面的CREATE TABLECREATE TABLE语句后,就在数据库中建立语句后,就在数据库中建立一个新的空的一个新的空的“学生学生”表表S S,并将有关,并将有关“学生学生”表的定义及有表的定义及有关约束条件存放在数据字典中。关约束条件存放在数据字典中。18例例4 4 建立学生选课表建立学生选课表SCSCCREATETABLESC(SNOCHAR(9),CNOCHAR(4),GRADESMALLINT,PRIMARYKEY(SNO,CNO),/*主码由两个属性构成,必须作主码由两个属性构成,必须作 为表级完整性进行定义
20、为表级完整性进行定义*/FOREIGNKEY(SNO)REFERENCESS(SNO),/*表级完整性约束条件,表级完整性约束条件,SNO是外码,被参照表是是外码,被参照表是S*/FOREIGNKEY(CNO)REFERENCESC(CNO)/*表级完整性约束条件,表级完整性约束条件,CNO是外码,被参照表是是外码,被参照表是C*/);v 修改基本表修改基本表SQLSQL语言用语言用ALTER TABLEALTER TABLE语句修改基本结构表,其一般格式为:语句修改基本结构表,其一般格式为:ALTERTABLE ADD 完整性约束完整性约束 DROP ALTERCOLUMN ;其中其中 是要
21、修改的基本表。是要修改的基本表。ADD子句用于增加新列和新的完整性约束条件;子句用于增加新列和新的完整性约束条件;DROPDROP子句用于删除指定的完整性约束条件;子句用于删除指定的完整性约束条件;ALTERCOLUMN子句用于修改原有的列定义。包括修改列名和数据类型。子句用于修改原有的列定义。包括修改列名和数据类型。例例5向向S S表增加表增加“入学时间入学时间”列,其数据类型为日期型。列,其数据类型为日期型。ALTER TABLE S ADD S_ENTRANCE DATE;ALTER TABLE S ADD S_ENTRANCE DATE;不论基本表中原来是否已有数据,新增加的列一律为空
22、值。不论基本表中原来是否已有数据,新增加的列一律为空值。20例例6 alter tablealter table s s alter columnalter column age age intint;例例7 alter table alter table c c add unique(add unique(cnamecname);21n删除属性列删除属性列(1)间接删除间接删除v把表中要保留的列及其内容复制到一个新表中把表中要保留的列及其内容复制到一个新表中v删除原表删除原表v再将新表重命名为原表名再将新表重命名为原表名(2)直接删除直接删除 例:例:ALTER TABLEALTER TAB
23、LE Student Student DropDrop Scome Scome;完整性约束条件完整性约束条件*一、完整性的概念一、完整性的概念v数据完整性是指存储在数据库中的数据正确无误并且相数据完整性是指存储在数据库中的数据正确无误并且相关数据具有一致性。关数据具有一致性。v引入数据完整性是为了在数据的添加、删除、修改等操引入数据完整性是为了在数据的添加、删除、修改等操作中不出现数据的破坏或多个表数据不一致。作中不出现数据的破坏或多个表数据不一致。23在在SQLServer中,根据数据完整措施所作用的数据库中,根据数据完整措施所作用的数据库对象和范围不同,可以将数据完整性分为以下几种:对象和
24、范围不同,可以将数据完整性分为以下几种:1、实体完整性(主键、唯一性约束)、实体完整性(主键、唯一性约束)2、参照完整性(外键约束)、参照完整性(外键约束)3、域完整性(、域完整性(check、默认值约束)、默认值约束)4、用户定义的完整性、用户定义的完整性24二、完整性的类型二、完整性的类型1)实体完整性)实体完整性v实体完整性:在表中不能存在完全相同的记录,且每条记录实体完整性:在表中不能存在完全相同的记录,且每条记录都要具有一个非空且不重复的主键值。都要具有一个非空且不重复的主键值。v实现实体完整性的方法:实现实体完整性的方法:设置主键设置主键、惟一约束惟一约束、惟一索引惟一索引2)参照
25、完整性)参照完整性v参照完整性:又称为引用完整性。是指通过主键与外键相联参照完整性:又称为引用完整性。是指通过主键与外键相联系的两个表或两个以上的表,相关字段的值要保持一致。系的两个表或两个以上的表,相关字段的值要保持一致。v实现实体完整性的方法:实现实体完整性的方法:外键约束外键约束3)域完整性)域完整性v域完整性:向表中添加的数据必须与数据类型、格式及有域完整性:向表中添加的数据必须与数据类型、格式及有效的数据长度相匹配。效的数据长度相匹配。v实现域完整性的方法:实现域完整性的方法:CHECK约束约束、外键约束外键约束、默认约束默认约束、非空定义非空定义、规则以及在建表时设置的数据类型规则
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 操作
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内