数据库道理领导材料二
主 题:第三章 SQL简介及SQL各个查询语句的利用(课件)
进修时光:2021年10月4日-10月10日
内 容:
我们这周重要进修《数据库道理》这门课程第3章SQL简介及SQL各个查询语句的利用的相干内容。盼望经由过程下面的内容能使同窗们对SQL数据库言语的入门有一个开端的懂得。
知识要点
SQL数据库的不雅点
数据库表的构造
SQL言语的分类
SQL语句的功能的概述
视图的懂得
视图的分类
重点难点
数据库表的构造
SQL语句的功能
视图的分类
SQL言语简介
SQL是英文(Structured Query Language)的缩写,意思为构造化查询言语,它包含了数据定义、查询、把持跟把持四种功能。
SQL言语支撑关联数据库三级形式构造。其中外形式对应于视图跟部分基本表,形式对应于基本表,内形式对应于存储文件。在SQL中,关联形式称为”基本表”,存储形式称为”存储文件”,子形式称为”视图”,元组称”行”,属性称”列”。
以下是SQL的相干不雅点:
(1)一个SQL数据库是表的汇集。
(2)一个SQL表由行集构成,行是列的序列,每列对应一个数据项。
(3)表可能是基本表,也可能是视图。基本表是现实存储在数据库中的表,视图是从一个或多少个基本表导出的表,它本身不独破存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。视图在不雅点上于基本表同等,用户可能在视图上再定义视图。
(4) 一个基本表可能跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。其余,一个表可能带多少索引,索引也存放在存储文件中,存储文件与物理文件对应。
(5) 用户可能用SQL语句对表停止操纵,包含视图跟基本表。基本表跟视图一样,都是关联。
(6) SQL的用户可能是利用顺序,也可能是终端用户。
一、SQL言语的特点
SQL言语集数据查询、数据把持、数据定义跟数据把持功能于一体,重要特点包含:
综条约一
SQL言语集数据定义言语、数据把持言语、数据把持言语的功能于一体,言语风格同一,可能独破实现数据库生命周期中的全部活动,为数据库利用体系供给了精良的情况。用户在数据库体系投入运转后,还可能根据须要随时地逐步地修改形式,且并不影响数据库的运转,从而使体系存在精良的可扩大性。
高度非过程化
SQL言语高度非过程化,只有提出“做什么”,而无须指明“怎样做”,减轻了用户的包袱,也有利于进步数据独破性。
面向凑集的操纵方法
SQL言语除了操纵东西、查找成果是元组的凑集,一次拔出、删除、更新操纵的东西也可能是元组的凑集。
以同一语法构造供给两种利用方法
SQL言语既是自含式言语,又是嵌入式言语。作为自含式言语,它可能独破地用于联机交互的利用方法,用户可能在终端键盘上直接键入SQL命令对数据库停止操纵。作为嵌入式言语,SQL语句可能嵌入到高等言语(比方C、COBOL、FORTRAN、PL/1)顺序中,供顺序员计划顺序时利用。
言语简洁、易学易用
实现核心功能只用9个动词,如下:数据查询(Select)、数据定义(Create,Drop,Alter)、数据把持(Insert,Update,Delete)、数据把持(Grant,Revoke)。
二、SQL的分类
数据定义言语(DDL:Data Definition Language)
创建、修改或删除数据库中各种东西,包含表、视图、索引等。
查询言语(QL:Query Language)
按照指定的组合、前提表达式或排序检索已存在的数据库中的数据,但并不改变数据库中数据。
数据把持言语(DML:Data Manipulation Language )
对曾经存在的数据库停止记录的拔出、删除、修改等操纵。
数据把持言语(DCL:Data Control Language)
用来授予或收回拜访数据库的某种特权、把持数据把持事件的产生时光及后果、对数据库停止监督。
第二节 SQL言语利用
一、数据库创建
SQL Server中数据库的创建可用CREATE语句来实现, 其基本命令格局为:
CREATE DATABASE ;
比方树破图书销售管理数据库的命令是:
CREATE DATABASE tsxsk
数据库删除
当一个数据库及其所属的基本表、视图等都不须要时,可能用DROP语句删除这个数据库,其基本命令格局为:
DROP DATABASE
如要删除下面创建的数据库的命令是:DROP DATABASE tsxsk
二、定义基本表
一个基本表由两部分构成,一部分是由各列名构成的表的构造,即一个关联形式,也称为表构造;另一部分是具体存放的数据,称为数据记录,创建基本表时,只须要定义表的构造,包含表名,列名,列的数据范例跟列束缚等。SQL言语利用CREATE TABLE语句定义基本表,其基本命令格局为:
CREATE TABLE ([列级完全性束缚][,[列级完全性束缚]]…[,]);
其中是所要定义的基本表的名字,它可能由一个或多个属性(列)构成。 留神:定义表时每一个定义语句之间用逗号分开,最后一条语句不必逗号。每个SQL语句以分号结束。
下面的例子为一个树破图书销售体系中的图书库存信息表。
CREATE TABLE BookRecord (BookNo char(30) not null UNIQUE,
BookName char(200),
Publisher char(100),
Author Char(30),
SalesPrice Money,
Quantity Int,
Discount Decimal(2,2),
PRIMARY KEY(BookNo) );
其中NOT NULL指的是该列的值不克不及为空值。
SQL Server 2000中,有下列常用的数据范例:
三、数值型
Int或integer:整数,占用4个字节奥鹏大工答案请进:opzy.net或请联系微信:1095258436
Decimal或numeric:数字数据范例,格局Decimal(数据长度,小数位数) float 跟 real:浮点数,float更机动一些
money 公用在与货币有关的浮点数,正确度为4位小数,占8个字节。
日期时光型
datetime:代表日期跟一天内的时光的日期跟时光数据范例。从1753年1月1日到9999年12月31日的日期跟时光数据,如:2005-01-01 23:59:59.993
字符型
char:分为两种:
牢固长度字符数据范例:格局:char[(n)]
最大长度为n的变长字符串,格局:varchar(n), n 必须是 一个介于 1 跟 8,000 之间的数值,当利用字符型数据时须要用’或”括起来。
修改基本表
其基本命令格局为:
ALTER TABLE [ADD [完全性束缚]][DROP] [MODIFY ];
其中指定须要修改的基本表,ADD子句用于增加新列跟新的完全性束缚前提,DROP子句用于删除指定的完全性束缚前提,MODIFY子句用于修改原有的列定义。
删除基本表
其基本命令格局为:
DROP TABLE
树破索引
基本命令格局为:
CREATE [UNIQUE] INDEX 索引名 ON 基本表名(列名[次序][,列名[次序]]…);
索引可能树破在一列跟多列之上,索引次序可能是ASC(升序)或DESC(降序),缺省值是升序。UNIQUE表示每一个索引值对应独一的数据记录。
删除索引
索引树破后,体系会主动对其停止抉择跟保护,无需用户干涉,假如数据频繁地增加、修改、删除,体系会花大量的时光来保护索引。因此,根据要现实须要删除一些不须要的索引,基本命令格局为:
DROP INDEX .;
该命令不克不及删除由CREATE TABLE或许ALTER TABLE命令创建的主键跟独一性束缚索引,也不克不及删除体系表中的索引。
第三节 视图
视图是关联数据库体系供给赐与多种角度察看数据库中数据的重要机制。它就象一个窗口,透过它可能看到数据库顶用户感兴趣的数据及其变更。
视图的特点
视图是由一个或多个基本表导出来的表,是一种虚表,是逻辑表,不是物理存在;基本表中的数据产生变更,从视图中查询出的数据也随之改变。视图中的数据是从现有的一个或多个表中提取出来的,可能屏障表中的某些信息,有利于数据库的保险性,视图在数据库中是作为查询来保存的,当引用一个查询时,DBMS就履行这个查询,然后将查询成果作为视图来用;一个基本表可能树破多个视图,一个视图也可能在多个表上树破;视图拥有表的多少乎全部操纵,利用视图有利于利用顺序的独破性、数据分歧性。具体说来,视图有如下长处:
视图可能简化用户的操纵
视牟利用户能以多种角度对待同一数据
视图对重构数据库供给了必定程度的逻辑独破性
视图的树破跟打消
树破视图的语句格局:
CREATE VIEW [(,,…)]
AS [WITH CHECK OPTION];
其中查询子句可能是恣意复杂的SELECT 语句,但平日不容许含有ORDER BY跟DISTINCT短语。
WITH CHECK OPYION子句是为了避免用户经由过程视图对数据停止增加、删除、修改时,对不属于视图范畴内的基本表数据停止误操纵。加上该子句后,当对视图上的数据停止增、删、改时,DBMS会检查视图中定义 的前提,若不满意,则拒绝履行。
删除视图语句格局:
DROP VIEW ;
一个视图被删除后,由此视图导出的其他视图也将掉效,用户应当利用DROP VIEW语句将他们逐个删除。
视图数据操纵
查询视图
当视图被定义之后,用户就可能象对基本表停止查询一样对视图停止查询了。DBMS履行对视图的查询时,首进步行有效性检查,检查查询涉及的表、视图等能否在数据库中存在,假如存在,则从数据字典中取出查询涉及的视图的定义,把定义中的子查询跟用户对视图的查询结合起来,转换成对基本表的查询,然后再履行这个经过修改的查询。将对视图的查询转换为对基本表的查询的过程称为视图的消解(View Resolution)。
更新视图
视图的查询可能象对基本表停止查询一样,但对视图的更新,终极要转换为对基本表的更新。
更新视图包含拔出(INSERT)、删除(DELETE)跟修改(UPDATE)三类操纵。
为避免用户经由过程视图对数据停止增删改时,有意或成心操纵不属于视图范畴内的基本表数据,可在定义视图时加上WITH CHECK OPTION子句,如许在视图上增删改数据时,DBMS会进一步检查视图定义中的前提,若不满意前提,则拒绝履行该操纵。
SQL数据把持
SQL言语供给了数据把持功能,数据把持亦称为数据保护,包含数据的保险性把持、完全性把持、并发把持跟恢复,可能在必定程度上保证数据库中数据的保险性、完全性,并供给了必定的并发把持及恢复才能。
并发把持指的是当多个用户并发地对数据库停止操纵时,对他们加以把持、和谐,以保证并发操纵正确履行,并保持数据库的分歧性。恢复指的是当产生各品种型的毛病,使数据库处于不分歧状况时,将数据库恢复到分歧状况的功能。
数据库的保险性是指保护数据库,避免不合法的利用所形成的数据泄漏跟破坏。数据库体系中保证数据保险性的重要办法是停止存取把持,即规定差别用户对差别数据东西所容许履行的操纵,并把持各用户只能存取他有权存取的数据。
SQL语句经由过程GRANT语句向用户授予操纵权限,GRANT语句的格局为:
GRANT [,]…[ON ]
TO [,]…[WITH GRANT OPTION];
授予的权限可能由DBA或其他受权者用REVOKE语句收回,REVOKE语句的一般格局为:
REVOKE [,]…
[ON ]
FROM [,] … ;
例题
一、填空题
1、SQL包含了数据()、()、()跟()四种功能。
2、在SQL中,关联形式称为(),存储形式称为(),子形式称为(),元组称(),属性称()。
二、简答题
1、写出创建一个名为test的数据库的语句。
2、写出删除一个名为test的数据库表的语句。
例题答案
一、填空题
定义 查询 操纵 把持
基本表 存储文件 视图 行 列
简答题
CREATE DATABASE test
DROP TABLE test