数据库原理与应用chpSQL语言学习教案.pptx
《数据库原理与应用chpSQL语言学习教案.pptx》由会员分享,可在线阅读,更多相关《数据库原理与应用chpSQL语言学习教案.pptx(145页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1数据库原理与应用数据库原理与应用(yngyng)chpSQL语言语言第一页,共145页。第第3章章 SQL语言语言(yyn)关系数据库标关系数据库标准语言准语言(yyn)n nSQL概述概述n nSQL的基本的基本(jbn)数据类型数据类型n nSQL的数据定义(的数据定义(create,alter,drop)n nSQL的数据操纵(的数据操纵(insert,update,delete)n nSQL的数据查询(的数据查询(select)n nSQL的数据控制(的数据控制(grant,revoke)第1页/共145页第二页,共145页。2.1 SQL概述概述(i sh)1、SQL语言标准
2、的发展语言标准的发展(fzhn)历程历程 SQL-86SQL-89SQL-92 (SQL1)SQL-99 (SQL2)SQL-2003(SQL3)第2页/共145页第三页,共145页。2、SQL的特点的特点 一体化(功能强大)一体化(功能强大)数据查询、数据操纵、数据定义、数据控数据查询、数据操纵、数据定义、数据控制于一体制于一体,风格统一风格统一 高度非过程化高度非过程化 只需提出只需提出(t ch)做什么做什么,无需指明怎么做无需指明怎么做 面向集合的操作方式面向集合的操作方式 能以多种方式使用能以多种方式使用 既可以独立使用既可以独立使用,也可以嵌入到其他高级语也可以嵌入到其他高级语言言
3、简洁(语法简单):简洁(语法简单):9个动词个动词,类似英语语句类似英语语句2.1 SQL概述概述(i sh)(续)(续)第3页/共145页第四页,共145页。2.1 SQL概述概述(i sh)(续)(续)3、SQL语言基本概念语言基本概念 基本表基本表 独立存在的表独立存在的表,一个关系一个关系(gun x)对应一个对应一个基本表。基本表。视图视图 虚表。是从一个或几个基本表导出的表。虚表。是从一个或几个基本表导出的表。视图中存放的仅仅是定义视图中存放的仅仅是定义,而不是数据而不是数据,数据数据仍在基本表中。仍在基本表中。索引索引 加速查询的速度而提供的数据结构加速查询的速度而提供的数据结构
4、第4页/共145页第五页,共145页。第5页/共145页第六页,共145页。2.2 SQL Server的数据类型的数据类型1、数值、数值(shz)型型int4个字节个字节smallint2个字节个字节tinyint 1个字节个字节numeric 小数小数decimal 小数小数float浮点数浮点数第6页/共145页第七页,共145页。2.2 SQL Server的数据类型(续)的数据类型(续)2、字符串型、字符串型char固定固定(gdng)长度(长度(1-8000)varchar 可变长度(可变长度(1-8000)text可存储可存储231-1个字符的文本个字符的文本image可存储多种
5、格式的文件可存储多种格式的文件第7页/共145页第八页,共145页。2.2 SQL Server的数据类型(续)的数据类型(续)3、日期时间型、日期时间型datetime8个字节个字节(z ji)(毫秒)(毫秒)smalldatetime4个字节个字节(z ji)(分(分钟)钟)4、货币型、货币型money8个字节个字节(z ji)smallmoney 4个字节个字节(z ji)第8页/共145页第九页,共145页。学生学生学生学生(xu sheng)(xu sheng)课程数据库课程数据库课程数据库课程数据库学生学生(xu sheng)表:表:Student(Sno,Sname,Ssex,S
6、age,Sdept)第9页/共145页第十页,共145页。学生(xu sheng)课程数据库课程表:课程表:Course(Cno,Cname,Cpno,Credit)第10页/共145页第十一页,共145页。学生(xu sheng)课程数据库选课表:选课表:SC(Sno,Cno,Grade)第11页/共145页第十二页,共145页。2.3 数据数据(shj)定义定义操作对象创建删除修改模式模式CREATE SCHEMADROPSCHEMA表表CREATETABLEDROPTABLEALTERTABLE视图视图CREATEVIEWDROPVIEW索引索引CREATEINDEXDROPINDEX数
7、据库数据库CREATEDATABASEDROPDATABASEALTERDATABASE第12页/共145页第十三页,共145页。2.3 数据数据(shj)定义(续)定义(续)1、数据库的定义与删除、数据库的定义与删除 数据库定义数据库定义 CREATE DATABASE database_name 创建创建(chungjin)一个数据库及存储该数一个数据库及存储该数据库的文件。据库的文件。每个数据库至少包括两个文件:主数据文件和每个数据库至少包括两个文件:主数据文件和事务日志文件。事务日志文件。第13页/共145页第十四页,共145页。2.3 数据数据(shj)定义(续)定义(续)1、数据库
8、的定义与修改、数据库的定义与修改(xigi)与删除与删除 数据库修改数据库修改(xigi)ALTER DATABASE database_name。修改修改(xigi)数据库。数据库。数据库删除数据库删除 DROP DATABASE database_name 删除数据库所有文件及磁盘文件。删除数据库所有文件及磁盘文件。第14页/共145页第十五页,共145页。2、模式的定义与删除、模式的定义与删除 模式定义模式定义 CREATE SCHEMA schema_name AUTHORIZATION owner 创建一个模式创建一个模式,并指明并指明(zhmng)模式的所有模式的所有者。者。可以在
9、模式中建立其他数据对象可以在模式中建立其他数据对象,如基本表如基本表,视图视图,索引等。索引等。2.3 数据数据(shj)定义(续)定义(续)第15页/共145页第十六页,共145页。2、模式的定义与删除、模式的定义与删除 模式删除模式删除 DROP SCHEMA schema_name 删除模式。删除模式。CASCADE表示级联删除表示级联删除,删除模式的同时删除模式下删除模式的同时删除模式下的数据库对象的数据库对象(duxing)。RESTRICT拒绝删除已定义了数据库对象拒绝删除已定义了数据库对象(duxing)的模式。的模式。2.3 数据数据(shj)定义(续)定义(续)第16页/共1
10、45页第十七页,共145页。2.3 数据数据(shj)定义(续)定义(续)3 3、基本表的定义、删除及修改、基本表的定义、删除及修改、基本表的定义、删除及修改、基本表的定义、删除及修改(xigi)(xigi)基本表定义基本表定义基本表定义基本表定义 CREATE TABLE CREATE TABLE (列级约束列级约束列级约束列级约束 ,列级约束列级约束列级约束列级约束,表级完整性约束定义表级完整性约束定义表级完整性约束定义表级完整性约束定义)第17页/共145页第十八页,共145页。CREATE TABLE Student(Sno char(7)PRIMARY KEY,Sname char(
11、10)UNIQUE,Ssexchar(2)CHECK(Ssex=男男 or Ssex=女女),Sagetinyint CHECK(Sage=15 and Sage=45),Sdept char(20)DEFAULT 计算机系计算机系)2.3 数据数据(shj)定义(续)定义(续)第18页/共145页第十九页,共145页。CREATE TABLE Course(Cno char(4)PRIMARY KEY,Cname varchar(40)NOT NULL,Cpnochar(4),Ccredit tinyint,FOREIGN KEY(Cpno)REFERENCES Course(Cno)2.3
12、 数据数据(shj)定义(续)定义(续)表级完整性约束条件表级完整性约束条件,列列Cpno中数据必须中数据必须(bx)参照列参照列Cno中的数据。中的数据。第19页/共145页第二十页,共145页。CREATE TABLE SC(Sno char(7),Cno char(4),Grade numeric(5,2),PRIMARY KEY(Sno,Cno),FOREIGN KEY(Cno)REFERENCES Course(Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno),)2.3 数据数据(shj)定义(续)定义(续)表级完整性约束条件表级完整性约束条件
13、,参照参照(cnzho)完整性规完整性规则则第20页/共145页第二十一页,共145页。第21页/共145页第二十二页,共145页。2.3 数据数据(shj)定义(续)定义(续)表结构的修改表结构的修改修改列的定义修改列的定义(dngy)(dngy)ALTER TABLE ALTER TABLE 表名表名 ALTER COLUMN ALTER COLUMN 如:修改如:修改StudentStudent的的SdeptSdept为为4040个字个字符宽度符宽度ALTER TABLE Student ALTER ALTER TABLE Student ALTER COLUMN Sdept char(
14、40)COLUMN Sdept char(40)第22页/共145页第二十三页,共145页。增加新列增加新列ALTER TABLE 表名表名 ADD 约束约束(yush)如:在如:在Student中增加中增加Address(家庭住址)列(家庭住址)列ALTER TABLE Student Add Address varchar(30)2.3 数据数据(shj)定义(续)定义(续)第23页/共145页第二十四页,共145页。2.3 数据数据(shj)定义(续)定义(续)删除删除删除删除(shnch)(shnch)(shnch)(shnch)列列列列 ALTER TABLE ALTER TABLE
15、 ALTER TABLE ALTER TABLE 表名表名表名表名 DROP COLUMN DROP COLUMN DROP COLUMN DROP COLUMN 如:删除如:删除如:删除如:删除(shnch)Student(shnch)Student(shnch)Student(shnch)Student的的的的SageSageSageSage列列列列 ALTER TABLE Student DROP COLUMN SageALTER TABLE Student DROP COLUMN SageALTER TABLE Student DROP COLUMN SageALTER TABLE S
16、tudent DROP COLUMN Sage第24页/共145页第二十五页,共145页。添加添加(tin ji)约束约束ALTER TABLE 表名表名 ADD CONSTRAINT constraint_name 约束类型约束类型()如:在如:在Student中增加中增加Sno为主关键字为主关键字ALTER TABLE Student Add PRIMARY KEY(Sno)如:添加如:添加(tin ji)SC的的Sno列的外码约束为列的外码约束为Student的的SnoALTER TABLE SC ADD FOREIGN KEY(Sno)REFRENCES Student(Sno)2.3
17、 数据数据(shj)定义(续)定义(续)约束名也可以(ky)省略第25页/共145页第二十六页,共145页。2.3 数据数据(shj)定义(续)定义(续)例如:增加课程名必须惟一例如:增加课程名必须惟一(wiy)的约束条的约束条件件ALTER TABLE CourseADD CONSTRAINT UnqCnameUNIQUE(Cname)例如:增加成绩约束例如:增加成绩约束,成绩在成绩在0100之间之间ALTER TABLE SCADD CONSTRAINT ChkGRADECHECK(Grade=0 AND Grade=100)第26页/共145页第二十七页,共145页。2.3 数据数据(s
18、hj)定义(续)定义(续)删除删除(shnch)约束约束ALTER TABLE 表名表名 DROP 约束名约束名如:如:ALTER TABLE COURSE DROP UnqCname如:如:ALTER TABLE SC DROP ChkGRADE第27页/共145页第二十八页,共145页。2.3 数据数据(shj)定义(续)定义(续)表的删除表的删除表的删除表的删除 DROP TABLE DROP TABLE RESTRICT|CASCADE RESTRICT|CASCADE RESTRICT RESTRICT表示删除表时有限制表示删除表时有限制表示删除表时有限制表示删除表时有限制,若表建立
19、了与其他表的若表建立了与其他表的若表建立了与其他表的若表建立了与其他表的约束、触发器、视图等关系或对象约束、触发器、视图等关系或对象约束、触发器、视图等关系或对象约束、触发器、视图等关系或对象,则不允许删除。则不允许删除。则不允许删除。则不允许删除。CASCADE CASCADE表示删除时将与该表相关表示删除时将与该表相关表示删除时将与该表相关表示删除时将与该表相关(xinggun)(xinggun)的约束、的约束、的约束、的约束、视图等一起删除视图等一起删除视图等一起删除视图等一起删除 如:删除表如:删除表如:删除表如:删除表StudentStudent DROP TABLE Student
20、 DROP TABLE Student第28页/共145页第二十九页,共145页。2.3 数据数据(shj)定义(续)定义(续)4、索引的建立与删除、索引的建立与删除 索引是加快查询效率的一种手段索引是加快查询效率的一种手段(shudun)。索引是按照基本表中某个(某些)属性列上的值进索引是按照基本表中某个(某些)属性列上的值进行排序行排序,以提供多种查找途径。以提供多种查找途径。一个基本表可以建立一个或多个索引。一个基本表可以建立一个或多个索引。第29页/共145页第三十页,共145页。2.3 数据数据(shj)定义(续)定义(续)4、索引、索引(suyn)的建立与删除的建立与删除 建立索引
21、建立索引(suyn)CREATE UNIQUE CLUSTERED|NONCLUSTERED INDEX index_nameON table|view (column ASC|DESC ,.n )第30页/共145页第三十一页,共145页。2.3 数据数据(shj)定义(续)定义(续)例如:例如:(1)在在Student表上建立按学号升序排列的索引表上建立按学号升序排列的索引 CREATE INDEX Sno_A ON Student(Sno)(2)在在Course表的课程表的课程(kchng)名建立惟一索引名建立惟一索引 CREATE UNIQUE Cname_U ON Course(Cn
22、ame)第31页/共145页第三十二页,共145页。2.3 数据数据(shj)定义(续)定义(续)例如:例如:(3)在在SC表上建立按学号升序表上建立按学号升序,课程课程(kchng)号降序排列号降序排列的索引的索引 CREATE INDEX SC_A ON SC(Sno,Cno DESC)第32页/共145页第三十三页,共145页。2.3 数据数据(shj)定义(续)定义(续)删除删除(shnch)索引索引 DROP INDEX 表名表名.索引名索引名例如:例如:删除删除(shnch)SC表上的表上的SC_A索引索引 DROP INDEX SC.SC_A注意:索引由系统进行维护注意:索引由系
23、统进行维护,当基本表中数据发生变化时当基本表中数据发生变化时,系统需要对根据数据重新维护索引系统需要对根据数据重新维护索引,因此过多建立索引也因此过多建立索引也会降低数据库的使用效率。会降低数据库的使用效率。第33页/共145页第三十四页,共145页。练习:用SQL语句(yj)定义下列基本表第34页/共145页第三十五页,共145页。CREATE TABLE class(CLASSNAME CHAR(20)PRIMARY KEY,MAXCREDIT SMALLINT,MINCREDIT SMALLINT)CREATE TABLE student(STUDENTID CHAR(6)PRIMARY
24、 KEY,NAME CHAR(8),SEX CHAR(2),BIRTHDAY DATETIME,CLASSNAME,FOREIGN KEY(CLASSNAME)REFERENCES CLASS(CLASSNAME)第35页/共145页第三十六页,共145页。练习:用SQL语句修改基本(jbn)表的结构1、在班级信息表、在班级信息表(class)增加约束增加约束(yush):最大学分限制:最大学分限制大于最小学分限制大于最小学分限制ALTER TABLE classADD CONSTRAINT check_cCHECK(MAXCREDITMINCREDIT)第36页/共145页第三十七页,共14
25、5页。2、在学生信息、在学生信息(xnx)表表(student)增加一个属性列:增加一个属性列:列名:列名:SAGE 数据类型:整型数据类型:整型 ALTER TABLE student ADD SAGE INT3、在学生信息表、在学生信息表(student)增加增加(zngji)一个约束:一个约束:SAGE必须介于必须介于1545之间之间ALTER TABLE student ADD CONSTRAINT CHECK_SCHECK(SAGE=15 AND SAGE=45)第37页/共145页第三十八页,共145页。2.4 数据查询数据查询(chxn)功能功能1、SELECT的基本结构的基本结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 应用 chpSQL 语言 学习 教案
限制150内