数据库原理与应用
This presentation is the property of its rightful owner.
Sponsored Links
1 / 85

非计算机应用专业教材 PowerPoint PPT Presentation


  • 108 Views
  • Uploaded on
  • Presentation posted in: General

数据库原理与应用. 非计算机应用专业教材. 李明 科学出版社. [ 学习目标 ]. 了解视图定义、定义同义词和建立索引 ; 了解 SQL 数据控制功能包括用户授权、回收权限 ; 掌握数据库模式的建立和删除 ; 掌握基本表的定义、取消和基本表修改 ; 掌握 SQL 数据操纵功能 : 插入、更新和删除数据 ; 熟练掌握数据的查询。. 目 录. 6.1 SQL 概述 6.2 SQL 数据定义功能 6.3 SQL 数据操纵 6.4 SQL 数据查询 6.5 SQL 数据控制. 6.1 SQL 概述.

Download Presentation

非计算机应用专业教材

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


5130674

数据库原理与应用

非计算机应用专业教材

李明

科学出版社


5130674

[学习目标]

  • 了解视图定义、定义同义词和建立索引;

  • 了解SQL数据控制功能包括用户授权、回收权限;

  • 掌握数据库模式的建立和删除;

  • 掌握基本表的定义、取消和基本表修改;

  • 掌握SQL数据操纵功能:插入、更新和删除数据;

  • 熟练掌握数据的查询。


5130674

目 录

  • 6.1 SQL概述

  • 6.2 SQL数据定义功能

  • 6.3 SQL数据操纵

  • 6.4 SQL数据查询

  • 6.5 SQL数据控制


6 1 sql

6.1 SQL概述

  • SQL是结构化查询语言(Structured Query Language)1974年由Boyce和Chamberlin提出的,并在IBM公司的关系数据库系统SystemR上得到实现。

  • SQL92版本=SQL标准版本,标准分为3个级别:

  • 基本级

  • 标准级

  • 完全级


5130674

SQL结构化查询语言主要特点:

  • 1)SQL是一种一体化的语言,它包括数据定义(DDL)、数据操纵(DML)和数据控制(DCL)等方面的功能。

  • 2)SQL是一种高度非过程化的语言,它没有必要一步地告诉计算机“如何”去做,而只需描述清楚用户“要干什么”,而不需要指出“怎么去干”。SQL语言就可以交给系统,自动完成全部工作。


5130674

  • 3)SQL语言非常简洁,其语法也简单,很接近自然语言,因此容易学习与掌握

  • 4)SQL数据定义功能主要定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中外模式又叫视图(View),全局模式简称模式(Schema)或数据库(Database),内模式由系统根据数据库模式自动实现,一般无需用户过问。


5130674

  • 5)SQL数据操纵功能包括对基本表和视图的数据查询、插入、删除和修改,特别是具有很强的数据查询功能。对于SQL的任何一种数据操纵,它的操作对象都是元组的集合,其操作结果也是元组的集合。

  • 6)SQL数据控制功能主要是对用户的访问权限加以控制,以保证系统的安全性,


5130674

  • 7)Visual FoxPro SQL方面支持数据定义、数据查询、数据操纵功能,

  • 8)SQL有两种使用方法:一种是以与用户交互的方式联机使用;另一种是作为子语言嵌入到其他程序设计语言中使用。前者称为交互式SQL,适合非计算机专业人员,即用户即席查询;后者称为宿主型SQL,适合于程序设计人员用高级语言编写应用程序(如C++)并与数据库打交道时,嵌入到主语言中使用,这两种使用方法的基本语法结构一致。


6 2 sql

6.2 SQL数据定义功能

  • SQL语言使用数据定义语言(简称DDL)实现数定义功能,可包括数据库、基本表、视图、索引进行定义和撤消,如表6.1所示命令归类表。


5130674

表6.1 数据库中的对象定义和撤消等归类表

  • 对 象 创 建 扩展名 撤消/删除 修 改 打 开

  • 数据库CREATE 库:DBC DROP MODIFY OPEN ATABASE

  • DATABASE 备注:DCT DELETE

  • 索引:DCX)

  • 基本表 CREATE DBF DROP ALTER USE

  • TABLE

  • 视图 CREATE VUX DROP ALTER USE、

  • VIEW SELECT FROM

  • 索引 CREATE IDX、 DROP SET INDEX

  • INDEX CDX


6 3 sql

6.3 SQL数据操纵

  • 6.3.1 插入记录

  • 向基本表中插入数据的命令有两种格式:

  • 1)是向具体元组插入常量数据;

  • 2)是把从子查询的结果输入到另一个关系中去。

  • 前者进行单元组(一行)插入,后者一次可插入多个元组。


5130674

(1)单元组插入

  • 命令格式:

  • INSERT INTO[(数据库名)(基本表名)(〈列名〉,...)]

  • VALUES [(具体的记录值)]

  • 例6.1 :在学生表插入一个的学生数据: “502721161,张三,男,1984-0101,电子工程,1”。

  • INSERT INTO学生(学生号,姓名,性别,出生日期,专业,年级)

  • VALUES (“502721161”,“张三”,“男”,{^1984-01-01},“电子工程”,1)

  • 日期型为(^YYYY-MM-DD);而列值为字符串时,必需用引号括起来,以区别于数值数据。


5130674

例6.2向图书基本表中新增加一个元组。

  • 基本表图书所定义的关系模式结构是:

  • 图书(总编号,分类号,书名,作者,出版单位,单价),

  • INSERT INTO图书;

  • VALUES (“446943”,“TF31/138”,“计算机基础”,“须艳红”,“高等教育出版社”,12)


5130674

  • 例6.3 向图书基本表中插入一个元组的部分字段。

  • INSERT INTO图书(总编号,书名,单价);

  • VALUES(“44698088”,“据库原理及应用”,16 ∙ 50)


5130674

  • 例6.3 向图书基本表中插入一个元组的部分字段。

  • INSERT INTO图书(总编号,书名,单价);

  • VALUES(“44698088”,“据库原理及应用”,16 ∙ 50)


5130674

(2)多元组插入

  • 命令格式:

  • INSERT INTO [(数据库名)(基本表名)(列名),...]

  • 〈SELECT 子句〉


5130674

  • 例6.4 现有学生表1其结构和例6.1例中学生表相同,若把学生表1中的男生(假若有多个元组)插入到学生表2中。

  • INSERT INTO 学生2(学生号,姓名,性别,出生日期,专业,年级);

  • SELECT学生号,姓名,性别,出生日期,专业,年级;

  • FROM 学生表1;

  • WHERE性别=“男”


5130674

(3)从指定的数组或内存变量来插入记录值

  • 命令格式:

  • INSERT [ INTO ](数据库名)(基本表名)FROM ARRAY数组名| FROM MEMVAR

  • FROM ARRAY数组名:从指定的数组中插入记录值。

  • FROM MEMVAR:根据同名的内存变量中插入记录值。


6 5 from array

例6.5 FROM ARRAY的用法。

  • USE 学生表1

  • SCATTER TO arry1

  • COPY STRUTURE TO学生表2

  • INSERT INTO 学生表2 FROM ARRAY arry1

  • SELECT 学生表2

  • BROWSE

  • USEDELETE FILE学生表2.dbf


6 6 from memvar

例6.6 FROM MEMVAR的用法。

  • USE 学生表1SCATTER MEMVARCOPY STRUTURE TO学生表2

  • INSERT INTO学生表2 FROM MEMVARSELECT 学生表2BROWSEUSE


6 3 2

6.3.2 修改记录

  • 命令格式:

  • UPDATE[(数据库名)(所有者名)](目的表名)

  • SET(列名)=(表达式),... [(FROM源表名),...] [ WHERE(逻辑表达式)]


5130674

  • 例6.7 假若学生表里若把每个学生的年级增加一年。

  • UPDATE学生SET年级=年级+1

  • 例6.8 将系名中“计算机科学与技术系”的改为“计算机科学系”。

  • UPDATE学生

  • SET系名=“计算机科学系”

  • WHERE系名=“计算机科学与技术系”


6 3 3

6.3.3 删除记录

  • 删除命令比较简单,删除单位是元组,不是元组的部分属性。一次可以删除一个或几个元组,也可以将整个表删成空表,只保留表的结构定义。

  • 命令格式:

  • DELETE [FROM] [(数据库名)(所有者名)](目的表名)[ FROM(源表名),...] [ WHERE(逻辑表达式)]


5130674

命令举例:

  • 例6.9 删除学号为“504720069”的学生。

  • DELETE FROM学生WHERE学号=“504720069”

  • 例6.10 把学生表删成空表,只保留表的结构定义。

  • DELETE 学生


6 4 sql

6.4 SQL数据查询

  • SQL基本查询模块的结构是:

  • SELECT (表达式l),(表达式2),…,(表达式 n);

  • FROM (关系1),(关系2),…,(关系m);

  • WHERE (条件表达式);


5130674

可用的逻辑运算符和谓词有:

  • AND逻辑与 OR逻辑或NOT逻辑非

  • IN包含 NOT IN不包含

  • EXISTS存在 NOT EXISTS不存在

  • UNION集合的并

  • INTERSECT集合的交

  • MINUS集合的差


6 4 1

6.4.1 简单查询

  • 只涉及一个表的关系,在例子中逐渐引入一些短语。

  • 例6.11 找出徐平所在的系名。

  • SELEC 姓名,系名 FROM 学生 WHERE 姓名=“徐平”


5130674

“*”列出全部属性名的用法。

  • 例6.12 查看所有学生的全部情况。

  • SELECT“*”;

  • FROM学生;


1 distinct all

(1)DISTINCT/ALL去掉重复的用法

  • 例6.13 列出所有学生出生年月(去掉同岁)

  • SELECT DISTINCT 出生日期 FROM 学生;

  • 查询结果是:(和上图中比较,出生日期=04/23/83只取一个


2 order by

(2)ORDER BY排序子句的用法

  • 例6.14 查找学生表中电子工程系的学生的姓名、系名和出生年月,结果按出生年月降序排列,年龄即从小到大排序。

  • SELECT 姓名,系名,出生日期 FROM学生;

  • WHERE 系名=“电子工程系” ORDER BY 出生日期 DESC

  • ASC表示升序(缺省为升序)。DESC


3 like

(3)特殊运算符LIKE通配符的用法

  • 例6.15 查找姓名以“徐”打头的所有学生名。

  • SELECT姓名,性别,系名,出生日期;

  • FROM学生WHERE姓名LIKE“徐%”;


5130674

  • 例6.16 WHERE课程名LIKE“%数据库%”;包含“数据库”的书名。

  • WHERE课程名LIKE“%数据库”;以“数据库”结尾的书名。

  • WHERE姓名LIKE“%强 _ _”;姓名至少4个字符(两个汉字)且倒数第3个汉字是“强”字。


5130674

(4)特殊运算符

  • BETWEEN...AND...和NOT BETWEEN...AND...之间的用法。

  • 例6.17 找学分在3和5之间的课程。

  • SELECT课程号;课程名,学分 FROM 课程;

  • WHERE学分BETWEEN 3 AND 5;

  • SELECT课程号 ,课程名,学分 FROM 课程;

  • WHERE学分>=3 AND学分<=5;


5130674

例6.18 查找计算机科学与技术系和电子工程系的学生。

  • SELECT 姓名,系名 FROM学生;

  • WHERE 系名 IN(“计算机科学与技术系”,“电子工程系”);

WHERE系名=“计算机科学与技术系”OR系名=“电子工程系”;


5130674

(6)为关系指定临时别名的用法

  • 例6.19 检索课程号为A0074和A0184两门课程的学分。

  • SELECT X.课程号,X.学分,Y.课程号,Y.学分;

  • FROM 课程X,课程Y;

  • WHERE X.课程号=“A0074”AND Y.课程号=“A0184”;


6 4 2

6.4.2 联接查询

  • 1.SQL一般连接查询

  • 以上介绍的只是简单的查询,只涉及到一个关系,如果查询要涉及到两个或几个关系,往往要进行联接运算。


5130674

图书管理关系数据模型包括以下3个关系模式


5130674

例6.20 查所有借阅了图书的读者姓名及所在单位

  • SELECT DISTINCT读者,姓名,系名;

  • FROM读者,借阅;

  • WHERE读者.借书证号=借阅.借书证号;


5130674

例6.21 找出李兰波所借的所有图书的书名及借阅日期。

  • SELECT姓名,“所借阅的图书:”,书名,借阅日期;

  • FROM图书,借阅,读者;

  • WHERE读者.借书证号=借阅.借书证号;

  • AND借阅.总编号=图书.总编号AND姓名=“李兰波”;


6 22 20

例6.22 查找已借出的价格在20元以上的图书,结果按单价降序排列。

  • SELECT图书,总编号,书名,单价 FROM图书,借阅;

  • WHERE图书.总编号=借阅.总编号and单价>=22.00;

  • ORDERBY单价DESC;


5130674

2.超联接查询

  • 上述介绍的是一般连接在SQL新版中称为中间连接,当然在新版中除中间连接外,还有左连接、右连接的和全连接功能,它们对应的语法格式如下:

  • SELECT ...

  • FROM(表名1)INNER | LEFT|RIGHT | FULL JOIN(表名2)ON联接条件 WHERE ...


5130674

  • 1)中间连接格式:

  • FROM(表名1)INNER JION(表名2);

  • ON(表名1)(连接列名1)(比较符)(表名2)(连接列名2)

  • 2)左连接格式:

  • FROM(表名1)LEFT JOIN(表名2);

  • ON(表名1)(连接列名1)(比较符)(表名2)(连接列名2)


5130674

  • 3)右连接格式:

  • FROM(表名1)RIGHT JOIN(表名2);

  • ON(表名1)(连接列名1)(比较符)(表名2)(连接列名2)

  • 4)全联接格式:

  • FROM(表名1)FULL JOIN(表名2);

  • ON(表名1)(连接列名1)(比较符)(表名2)(连接列名2)

  • 注:ON联接条件:指定联接条件(而不在WHERE中)。


5130674

例6.23 从教学库中查询出所有学生和选课情况,

  • 要求没选择任何课程的学生信息也反映出来。此查询需要使用左连接,其中学生表为左,即连接中的第一个表,选课表为右表,即连接中的第二个表。


5130674


5130674

例6.24 若要查询出所有课程被学生选修的情况

  • SELECT * FROM课程 LEFT JOIN;

  • (选课 INNER JOIN 学生 ON 学生.学号=选课.学号);

  • ON课程.课程号=选课.课程号;

  • 该语句首先实现选课和学生关系的中间连接,产生出中间连接表,然后作为右表同课程关系连接,得到结果表如下:


5130674

例6.25 若要从教学库中查询出所有电子专业的学生选课的全部情况

  • SELECT * FROM 课程 ;

  • INNER JOIN(选课INNER JOIN学生ON学生.学生号=选课.学生号)ON课程.课程号=选课.课程号;

  • WHERE系名=“电子工程系”;


6 4 3

6.4.3 嵌套查询

  • 嵌套查询是指在SELECT—FROM—WHERE查询块内部再嵌入另一个查询块,称为子查询,并允许多层嵌套。

  • 由于ORDER子句是对最终查询结果的表示顺序提出要求,因此它不能出现在子查询当中。


5130674

例6.26 找出借阅了“数据库基础与应用”

  • 用联接查询来完成:

  • SELECT姓名,系名 FROM图书,借阅,读者;

  • WHERE图书.总编号=借阅.总编号AND读者.借书证号=

  • 借阅.借书证号 AND 书名=“数据库基础与应用”


5130674

  • SELECT姓名,单位;

  • FROM读者;

  • WHERE借书证号IN;

  • (SELECT借书证号;

  • FROM借阅;

  • WHERE总编号IN(SELECT总编号);

  • FROM图书;

  • WHERE书名=(“数据库基础与应用”);


5130674

例6.27 找出与历毅在同一天借了书的读者的姓名、所在单位和借阅日期。

  • SELECT 姓名,系名,借阅日期,借阅.借书证号FROM 读者,借阅;

  • WHERE 借阅.借书证号 = 读者.借书证号 AND 借阅日期 IN;

  • ( SELECT 借阅日期 FROM 读者,借阅;

  • WHERE 借阅.借书证号 = 读者.借书证号 AND 姓名 = "历毅");


5130674

(1)库函数的运用

  • 在SQL中还提供了统计函数,称为库函数,这些库函数使检索功能进一步增强。它们的自变量是表达式的值,是按列计算的,最简单的表面化就是字段名,故也称为列函数,SQL库函数如下:

  • COUNT(〈字段名〉);统计字段名所在的行数,

  • 用COUNT(*)表示计算查询结果的行,即元组的个数。

  • SUM(〈字段名〉):对某一列的值求和(必须是数值型字段)。

  • AVG(〈字段名〉):对某一列的值求平均值和(必须是数值型字段)。

  • MAX(〈字段名〉):找出一列值中的最大的值。

  • MIN(〈字段名〉):找出一列值中的最小的值。


5130674

例6.28 求藏书总册数

  • SELECT“藏书总册数:”,COUNT(*)FROM图书


5130674

例6.29 求科学出版社图书的最高价格、最低价格、平均价格。

  • SELECT“最高:”,MAX(单价),“最低:”,MIN(单价),“平均价格:”,AVG(单价);

  • FROM 图书 WHERE 出版单位=“科学出版社”;


5130674

例6.30 求计算机科学系当前借阅了图书的读者人数

  • SELECT“借书人数:”,COUNT(DISTINCT借书证号)FROM借阅 WHERE借书证号 IN

  • (SELECT借书证号);

  • FROM读者;

  • WHERE系名=(“计算机科学系”);


2 all any some

(2)量词ALL和ANY或SOME的用法

  • 用ALL表示与子查询结果中所有记录的相应值相比均符合要求才满足条件。ANY和SOME,它表示子查询结果相比较,任何一个记录满足条件即可。当子查询的结果不是单值,前面又有比较运算符时,一定要用ALL、ANY或SOME指明比较条件。使用时应当特别注意询问的要求是什么。


5130674

例6.31 用库函数查询出藏书中比高等教育出版社的所有图书单价更高的书籍。

  • SELECT * FROM图书WHERE单价>ALL

  • (SELECT单价)

  • FROM图书

  • WHERE出版单位=(“高等教育出版社”)


5130674

例6.32 找藏书中所有与“数据库导论”或“数据库基础”在同一个出版单位出版的书

  • SELECT DISTINCT书名,单价,作者,出版单位;

  • FROM 图书 WHERE 出版单位>ANY;

  • (SELECT 出版单位 FROM 图书;

  • WHERE书名 IN(“数据导论”,“数据库基础”));


3 group by

(3)GROUP BY分组合计的用法

  • 例6.33 求出各个出版让图书的最高价格、最低价格、平均价格。

  • SELECT出版单位,MAX(单价),MIN(单价),AVG(单 价);

  • FROM图书;

  • GROUP BY出版单位;


5130674

例6.34 分别找出各个单位当前借阅图书的读者入次。

  • SELECT单位,“借书人数:”,COUNT(借书证号);

  • FROM借阅,读者 WHKRE读者.借书证号=借阅.借书证号;

  • GROUP BY单位;


5130674

例6.35 找出藏书中各个出版单位的册数、价值总额,并按总价降序,册数相同者按总价降序排列

  • SELECT 出版单位,COUNT(*)AS 册数,SUM(单价)AS总价;

  • FROM 图书 GROUP BY 出版单位 ORDER BY 总价


4 having

(4)HAVING分组限定的用法

  • 例6.36 找出当前至少借阅了2本图书的读者及所在单位。

  • SELECT借书证号,姓名,系名;

  • FROM读者 WHERE借书证号 IN;

  • (SELECT借书证号 FROM借阅;

  • GROUP BY借书证号 HAVING COUNT(*)>=2)


6 37 1

例6.37 分别找出借书人数超过1个人的单位及人次数

  • SELECT系名,COUNT(*)AS超过1人次;

  • FROM 借阅,读者 WHERE读者.借书证号=借阅.借书证号;

  • GROUP BY系名 HAVING COUNT(*)>=1;


5 not exists

(5)谓词[NOT] EXISTS存在的用法

  • 例6.38 找出没有借阅任何图书的读者及所在单位。

  • SELECT姓名,系名 FROM读者 ;

  • WHERE NOT EXISTS;

  • (SELECT * FROM 借阅 ;

  • WHERE借阅.借书证号=读者.借书证号)


5130674

例6.39 查询还清借书的姓名和系名

  • SELECT姓名,系名 FROM读者;

  • WHERE 借书证号 NOT IN;

  • (SELECT借书证号FROM借阅);


6 4 4

6.4.4 集合运算

  • 关系是元组的集合,标准的SQL支持传统的集合运算。集合运算包括并(UNION)、差(MLNUS)、交(INTERSECTION)。目前,Visual FoxPro只支持并UNION运算,即可以将两个SELECT语句的查询的结果通过并运算合并成一个查询结果。


6 4 5 visual foxpro sql select

6.4.5 Visual FoxPro中SQL SELECT 的几个特殊选项

  • 1.显示部分结果

  • TOP数字表达式[PERCENT]

  • 当不使用PERCENT时,数字表达式是1~2767间的整数,说明显示前几个记录;当使用PERCENT时,数字表达式是0.01~99.99间的实数,说明显示前百分之几的几个记录。需要注意的是TOP短语要与ORDER BY短语同时使用才有效。


6 40 3

例6.40 显示价格最高的3本书的信息。

  • SELECT * TOP 3 FROM 图书ORDER BY单价DESC


6 41 3

例6.41 显示价格最低的3本书的信息

  • SELECT * TOP 3 FROM PERCENT 图书 ORDER BY单价;


5130674

2.将查询结果存放到数组中

  • INTO ARRAY二维数组名

  • 例6.42 将查询到的职工信息存放数组tmp1

  • SELECT * FROM 职工 INTO ARRAY tmp1

  • 说明:tmp1(1,1)仓库号字段的值,tmp1(1,2)职工号字段的值,tmp1(1,3)工资字段的值。


5130674

3.将查询到的结果存放到临时文件中

  • INTO ARRAY 临时数据库文件名dbf

  • 命令说明:

  • 临时数据库文件名dbf,仅只读,当关闭文件时该临时数据库文件自动删除。

  • 例6.43 将查询到的职工信息存放临时库文件名tmp2

  • SELECT * FROM 职工 INTO CURSOR tmp2


5130674

4.将查询结果存放到永久表中

  • INTO DBF | TABLE永久表名dbf

  • 例6.44 将工资最高的3位职工的信息查询结果存放到永久表中tmp3。

  • SELECT * TOP 3 FROM 职工 INTO TABLE tmp3 ORDER BY 工资 DESC


5130674

5.将查询结果存放到文本文件中

  • TO FILE 文件名.txt [ADDITIVE]

  • 命令说明:

  • ADDITIVE是把结果追加在原文件的尾部,否则将覆盖原有文件。如果TO和INTO同时使用,则TO短语将会被忽略。


6 45 tmp4

例6.45 将查询结果存放到文本文件tmp4中

  • SELECT * TOP 3 FROM 职工TO FILE tmp3 ORDER BY 工资 DESC

  • 6.将查询结果直接输出到打印机中

  • TO PRINTER [PROPMT]


6 5 sql

6.5 SQL数据控制

  • 数据控制是指通过对数据库各种权限的授予或回收来管理数据库系统。每个用户在系统登录时都要输入用户名称和口令,通过了系统的合法性检验之后才能使用系统。用户有定义基本表的权限,有使用自己所定义的基本表的所有权限。数据库管理员(DBA)对数据库的所有资源拥有所有权限,包括数据定义、数据查询、数据操纵和数据控制。


5130674

这些权限包括

  • 对基本表的修改(ALTER)、插入INSERT)、

  • 删除(DELETE)、更新(UPDATE)、

  • 建立索引(INDEX)、查询(SELECT)和

  • ALL(所有权限)。

  • SQL数据控制在VFP中不能用,这里只介绍标准的SQL使用的语句格式。


6 5 1

6.5.1 授权权限

  • GRANT权限表ON TABLE表名TO用户名表 [WITH GRANT OPITION]

  • 例6.46 将查询和更新各单位借阅图书情况统计基本表LS-XKB的权授予所有用户。

  • GRANT SELECT,UPIDATE ON TABLE LS-XKB TO PUBLIC


6 5 2

6.5.2 回收权限

  • REVOKE UPDATE ON TABLE 表名 FROM 用户

  • 例6.47 回收用户LIMING和WAIMING对基本表LS-XKB的更新权限。

  • REVOKE UPDATE ON TABLE LS-XKB FROM LIMING WAIMING


5130674

小 结

  • 1.SQL是一种一体化的语言,SQL是一种高度非过程化的语言,它包括数据定(DDL)、数据操纵(DML)和数据控制(DCL)等方面的功能。

  • 2.SQL数据定义功能定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中外模式又叫视图,全局模式简称模式或数据库。


5130674

  • 3.一个大的应用项目不仅可以创建多个数据库表和自由表,而且可以创建多个数据库,每个数据库可以定义一组数据库表,然后用一定的关系将它们相互连接。

  • 4.在建立Visual FoxPro数据库文件名时,与之相关的还会自动建立数据库备注(memo)的文件和一个数据库索引文件。也即建立数据库后,用户可以在磁盘上看到的文件名相同,但扩展名分别为dbc、dct和dcx的3个文件。


5130674

  • 5.关系模式称为“基本表”,存储模式称为“存储文件”,子模式称为“视图”,元组称为“行”(有时“行”指的是记录),属性称为“列”(字段)。基本表可以有若干个索引。一个基本表可以跨一个或多个存储文件,而一个存储文件可以存放一个或多个基本表。视图(view):从一个或几个基本表或其他视图导出来的表。视图本身并不独立存储数据,系统只保存视图的定义。访问视图时系统将按照视图的定义从基本表中存取数据,视图是个虚表。


5130674

  • 6.SQL数据定义功能是指定义数据库的结构,包括定义基本表、定义视图、定义索引3个部分。一个表可以有若干个列(字段)构成,每个<列定义>包括列名(即属性名或字段名)、数据类型和该列的完整性约束等内容。在所有定义之后可以给出表级完整性约束。

  • 7.SQL数据操纵功能包括对基本表和视图的数据查询、插入、删除和修改,特别是具有很强的数据查询功能。


5130674

  • 8.以SELECT FROM WHERE组成的查询功能包括:简单查询、联接查询和钳套查询。在查询中有统计、分组、排序的组合包含着一些谓词的使用。

  • 9.SQL数据控制功能主要是对用户的访问权限加以控制,以保证系统的安全性。


5130674


  • Login