数据库和表的操作.ppt
《数据库和表的操作.ppt》由会员分享,可在线阅读,更多相关《数据库和表的操作.ppt(68页珍藏版)》请在三一办公上搜索。
1、1,结构化查询语言SQL,主要内容SQL概述 SQL的数据定义SQL的数据查询 数据更新 嵌入式SQL Transact SQL语言概述,2,本章概述,结构化查询语言SQL(Structured Query Language)是关系数据库的标准语言,对关系模型的发展和商用DBMS的研制起着重要的作用。SQL语言是介乎于关系代数和元组演算之间的一种语言。接下来介绍SQL的核心部分内容:数据定义、数据查询、数据更新和嵌入式SQL。,3,SQL概述,主要内容SQL的产生与发展SQL的组成及特点,4,SQL的产生与发展,1972年,IBM公司开始研制实验型关系数据库管理系统SYSTEM R,其配备的查
2、询语言称为SQUARE(Specifying Queries As Relational Expression)语言,语言中使用了较多的数学符号。1974年,Boyce和Chamberlin把SQUARE修改为SEQUEL(Structured English Query Language)语言。后来SEQUEL简称为SQL(Structured Query Language),即“结构式查询语言”,SQL的发音仍“sequel”。现在SQL已经成为一个标准。SQL有两个标准:ANSI SQL和1992年通过的修改版本SQL-92(简称 SQL2)。还有一个新的标准SQL3,它扩充了SQL2,
3、引入了递归、触发 器和对象等概念和机制。,5,SQL的组成及特点,SQL语言从功能上可以分为四部分:数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)。数据定义语言,即SQL DDL,用于定义SQL模式、基本表、视图、索引等结构。数据操纵语言,即SQL DML。数据操纵分成数据查询和数据更新两类。其中数据更新又分成插入、删除和修改三种操作。数据控制语言,即SQL DCL,这一部分包括对基本表和视图的授权、完整性规则的描述、事务控制等内容。SQL的核心部分相当于关系代数,同时又具有关系
4、代数所没有的许多特点,如聚集、数据库更新等。,6,特点:综合统一高度非过程化SQL是一种第四代语言(4GL),用户只需提出“干什么”,无需具体指明“怎么干”,像存取路径选择和具体处理操作等,均有系统自动完成。统一的语法结构SQL有两种使用方式:一是联机交互使用,另一种是嵌入到某种高级语言程序设计语言中去使用。语言简洁,SQL语言的基本组成,SQL语言支持关系数据库的三级模式结构,如下图所示。,8,SQL的核心动词,9,SQL的数据定义,主要内容 数据库的创建与撤销 定义、修改与删除基本表 建立与删除索引-稍后 创建与删除视图-稍后,10,SQL的数据定义功能包括数据库定义、表定义、视图和索引的
5、定义。,11,学生表:S(SNO,SNAME,SEX,AGE,SDEPT)课程表:C(CNO,CNAME,CPNO,CCREDIT)学生选课表:SC(SNO,CNO,GRADE),学生表实例,例1 定义一个教务管理数据库JWGL,它包含3个表:,本章数据库示例(教务管理数据库),12,课程表实例,学生表选课表实例,13,数据库的创建与撤销,数据库的创建 在SQL2000中,一个数据库模式被定义为基本表的集合。对数据库的创建可用CREATE语句实现,其句法如下:CREATE DATABASE AUTHORIZATION 其中:AUTHORIZATION 是指该用户获得授予创建和使用数据库的权限。
6、例如,下面语句定义了教务管理数据库的模式:CREATE DATABASE JWGL AUTHORIZATION sa 创建的数据库名为JWGL,拥有者为sa。,14,数据库的撤消 当一个数据库及其所属的基本表、视图等元素都不需要时,可以用DROP语句撤消这个数据库。DROP语句的句法如下:DROP DATABASE CASCADE|RESTRICT撤消的方式有以下两种:CASCADE(连锁式)方式:执行DROP语句时,把数据库及其下属的基本表、视图、索引等所有元素全部撤消。RESTRICT(约束式)方式:执行DROP语句时,只有当数据库中没有任何下属元素时,才能撤消数据库,否则拒绝执行DROP
7、语句。例如,要撤消数据库JWGL及其下属所有的元素,可用下列语句实现:DROP DATABASE JWGL CASCADE,15,定义、修改与删除基本表,数据类型 一个属性选用哪种数据类型要根据实际情况来决定,一般要从两个方面来考虑,一是取值范围,二是要做哪些运算。,定义表-确定表的各个属性-确定每个属性域(取值范围),16,定义基本表 定义基本表,就是创建基本表的结构。其一般格式为:CREATE TABLE(列级完整性约束条件,列级完整性约束条件,);建表的同时通常还可以定义与该表有关的完整性约束条件,这些完整性约束条件被存入系统的数据字典中,当用户操作表中数据时由RDBMS自动检查该操作是
8、否违背这些完整性约束条件。,17,例2 建立一个“学生”表S CREATE TABLE S(SNO CHAR(9)PRIMARY KEY,/*列级完整性约束条件,SNO 是主码*/SNAME CHAR(20)UNIQUE,/*SNAME取唯一值*/SEX CHAR(1),AGE SMALLINT,SDEPT CHAR(20);系统执行上面的CREATE TABLE语句后,就在数据库中建立一个新的空的“学生”表S,并将有关“学生”表的定义及有关约束条件存放在数据字典中。,18,例4 建立学生选课表SC CREATE TABLE SC(SNO CHAR(9),CNO CHAR(4),GRADE S
9、MALLINT,PRIMARY KEY(SNO,CNO),/*主码由两个属性构成,必须作 为表级完整性进行定义*/FOREIGN KEY(SNO)REFERENCES S(SNO),/*表级完整性约束条件,SNO是外码,被参照表是S*/FOREIGN KEY(CNO)REFERENCES C(CNO)/*表级完整性约束条件,CNO是外码,被参照表是C*/);,修改基本表 SQL语言用ALTER TABLE语句修改基本结构表,其一般格式为:ALTER TABLE ADD 完整性约束 DROP ALTER COLUMN;其中是要修改的基本表。ADD子句用于增加新列和新的完整性约束条件;DROP子句
10、用于删除指定的完整性约束条件;ALTER COLUMN 子句用于修改原有的列定义。包括修改列名和数据类型。例5 向S表增加“入学时间”列,其数据类型为日期型。ALTER TABLE S ADD S_ENTRANCE DATE;不论基本表中原来是否已有数据,新增加的列一律为空值。,20,例6 alter table s alter column age int;例7 alter table c add unique(cname);,21,删除属性列(1)间接删除 把表中要保留的列及其内容复制到一个新表中 删除原表 再将新表重命名为原表名(2)直接删除 例:ALTER TABLE Student
11、Drop Scome;,完整性约束条件*,一、完整性的概念数据完整性是指存储在数据库中的数据正确无误并且相关数据具有一致性。引入数据完整性是为了在数据的添加、删除、修改等操作中不出现数据的破坏或多个表数据不一致。,23,在SQL Server 中,根据数据完整措施所作用的数据库对象和范围不同,可以将数据完整性分为以下几种:1、实体完整性(主键、唯一性约束)2、参照完整性(外键约束)3、域完整性(check、默认值约束)4、用户定义的完整性,24,二、完整性的类型,1)实体完整性实体完整性:在表中不能存在完全相同的记录,且每条记录都要具有一个非空且不重复的主键值。实现实体完整性的方法:设置主键、
12、惟一约束、惟一索引2)参照完整性参照完整性:又称为引用完整性。是指通过主键与外键相联系的两个表或两个以上的表,相关字段的值要保持一致。实现实体完整性的方法:外键约束,3)域完整性域完整性:向表中添加的数据必须与数据类型、格式及有效的数据长度相匹配。实现域完整性的方法:CHECK约束、外键约束、默认约束、非空定义、规则以及在建表时设置的数据类型4)用户定义的完整性用户定义的完整性:是根据具体的应用领域所要遵循的约束条件由用户自己定义的特定的规则。,26,三、约束的类型,约束:SQL Server提供的自动强制数据完整性的一种方法。它通过定义列的取值规则来维护数据的完整性。当完整性约束创建之后,它
13、作为基本表定义的一部分,存入DD中。列级完整性约束:是行定义的一部分,只能应用在一列上;表级完整性约束:它的定义独立于列的定义,可应用在一个基本表中的多列上。当需要在一个基本表中的多列上建立约束条件时,只能建立表级约束。常用约束:NOT NULL、CHECK、UNIQUE、PRIMARY KEY、FOREIGN KEY、DEFAULT,27,1、主键(PRIMARY KEY)约束,主键约束:在表中定义一个主键来惟一标识表中的每行记录每个表中只能有一个主键,主键可是一列,也可是多列;主键不能为空;主键值不能重复不能定义TEXT或IMAGE数据类型的字段列为主键。,28,PRIMARY KEY约束
14、可在列级或表级上进行定义,但不允许同时在两个级别上进行定义。创建方法:PRIMARY KEY约束直接写在列名及其类型之后;按照语法在相应列名及类型后单独列出:CONSTRAINT PRIMARY KEY 在CREATE TABLE语句列出基本表的所有列之后,PRIMARY KEY(,),29,SSMS创建主键的步骤,30,创建表时定义主键,例1:列级约束CREATE TABLE Tb_Class(ClassId char(8)PRIMARY KEY,ClassName varchar(30)NOT NULL,DeptId char(2)NOT NULL,ClassStuNumber int);
15、,31,例2:CREATE TABLE C(cno char(6)constraint PK_cno primary key,cname char(20),ccredit smallint,cpno char(6);,32,例3:CREATE TABLE Tb_Class(ClassId char(8)NOT NULL,ClassName varchar(30)NOT NULL,DeptId char(2)NOT NULL,ClassStuNumber int,CONSTRAINT PK_ClassId PRIMARY KEY(ClassId);,33,向已有表中添加主键,先创建一个无主键的表
16、CREATE TABLE Tb_Class(ClassId char(8)NOT NULL,ClassName varchar(30)NOT NULL,DeptId char(2)NOT NULL,ClassStuNumber int)-再给相应的列(ClassId)添加主键约束ALTER TABLE Tb_ClassADD CONSTRAINT PK_ClassId PRIMARY KEY(ClassId),34,删除主键约束ALTER TABLE Tb_ClassDROP CONSTRAINT PK_ClassId PRIMARY KEY(ClassId),35,2、外键(Foreign
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 操作
链接地址:https://www.31ppt.com/p-4980074.html