欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    数据库基础知识个人整理版 强烈推荐.docx

    • 资源ID:5306267       资源大小:173.12KB        全文页数:25页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库基础知识个人整理版 强烈推荐.docx

    第一章关系数据模型1数据模型(静态)的三要素1一 关系数据结构1二 关系操作2三关系完整性约束2四关系代数2第二章关系数据库的标准语言SQL4一SQL动词表4二数据定义4三数据更新8四数据查询9五授权15六完整性约束命名子句17七触发器17第三章关系数据库理论18一关系模式(回顾)18二数据依赖18三规范化18第一章关系数据模型数据模型(静态)的三要素一 关系数据结构(一)基本概念包括:1属性(Attribute):实体所具有的某一特征。(如学生的特征是学号、姓名、-)域(Domain):属性对应的一组具有相同数据类型的值的集合。每个属性有一个域。(关系模型限定域必须原子性1NF)2 键(key)(1)候选键(candidate key)关系的某一属性或属性组的值唯一标识一个元组,而其任何真子集无此性质。候选键的诸属性称为主属性,不包含在任何候选键中的属性称为非主属性。(2)主键(primary key)一个关系至少有一个侯选键,可以有几个侯选键。一般从侯选键中选择一个作为主键(primary key),其他的称为侯补键(alternate key)每个主键的值是不能相同的,(3)外键(foreign key)如关系中的属性或属性组不是本关系的主键,而引用其他关系或本关系的主键,则称 为本关系的外键。3 关系(Relation):(1)关系:定义在事物的所有属性域上的多元关系,一个关系就是一张二维表。(2)关系模式:关系的描述称为关系模式,它可以形式化的表示为R(U,D,DOM,F)R 为关系名U为组成该关系的属性名集合D为属性组U中属性所来自的域DOM为属性向域的映像集合F为属性间数据的依赖关系集合关系模式通常简记为:R (U)或R (Al, A2, A3, ,An)关系的三种基本类型基本表:是实际存在的表,它是实际存储数据的逻辑表示。查询表:是查询结果对应的表。视图表:是由基本表或其他视图导出的表,是虚表,不对应实际存储内容。二关系操作(一) 两种关系操作1 查询(Query)查询可以分为选择(SELECT),投影(Project),连接(Join),交(Intersection),并(Union), 差(Except),除(Divide),笛卡尔乘积。其中选择,投影,并,差,笛卡尔乘积是5种基本操作,其他的操作可用这些基本操作定 义和导出2 插入(Insert),删除(Delete),修改(Update)(二) 关系操作的特点集合式的操作方式,即操作的对象和结果都是集合。(三) 关系数据语言可以分为三类1关系代数语言2关系演算语言(元组关系演算和域关系演算)3具有关系代数和关系演算双重特点的语言(SQL语言)三关系完整性约束关系数据库的数据必须遵循的约束实体完整性(Entity Integrity )参照完整性(Referential Integrity )用户自定义完整性(User-Defined Integrity)实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为关系的两个不变 性。(一) 实体完整性实体完整性规则:关系模式R的主属性值不可为空指所有主属性均不可取空值,不仅仅是主键不可为空(二) 参照完整性1 外键(Foreign Key)定义:设F是基本关系R的一个或一组属性,但不是关系R的码,KS是基本关系S的主码。如果F与KS相对应,则称F是R的外码(Foreign Key)R 称为参照关系(Referential Relation), S 称为被参照关系(Referenced Relation )2参照完整性规则若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应(基本关系到R和S不一定是不同关系),则对于R中每个元组在F上的值必须为:(1) 等于被参照关系S中所参照的候选键的某个值(2) 空值(三) 用户自定义完整性针对某一具体数据的约束条件,反映某一具体应用所涉及的数据必须满足的特殊语义由应用环境决定 四关系代数关系代数按运算符的不同可分为传统关系运算和专门关系运算(一)传统关系运算(交,并,差,笛卡尔乘积)关系R1关系"关系S1U(并)R1UR2=b 2d2nb 3 c 2 d 3 a 3 e 5 g 6 (交 AND) RinR2=bdbcf6b 2 d3_(差)R1R2=c 2 d b 3 b4Xd 3 b(笛卡尔乘积)R1X S - b 2 d 2 db 2 d 3 b b 3 b 2 d b 3 b 3 b c 2 d 2 d c 2 d 3 b d 3 b 2 d d 3 b 3 b(二)专门关系运算1选择(SELECT)(选择符合条件的元组)。选择条件(关系名)如:&性别=男(STUDENT)表的水平划分2投影(Project)(选择符合条件的属性)口属性表( 关系名)如:n学号,姓名(STUDENT)表的垂直划分3连接操作(Join)笛卡尔乘积 R X S = t,g|tER AND gES(1)连接分为等值连接和自然连接连接操作:R|X|S其中A和B分别为R和S上度数相等且具有可比性的属性组 AB1)等值连接(由为二)R1.A1 R1.A2R1.A3S.A2S.A3如上例R1 1X1 S =b 2d2dR1.A2=S.A2b3b3bc2d2dd3b3b2)自然连接(只有1X1)一般连接是从行的角度出发的,但自然连接还要取消重复的列,是从行和列的角度进行运算S.A2S.A3R1.A1 R1.A2 R1.A3如 R1 IXIS =b2d4除运算(!)如 R1!S =R1.A1 bB3b在R1上b印象集合是(2, d) ,(3, d)S 在(A1, A2)上的投影为(2, d) ,(3, d) 第二章关系数据库的标准语言SQLSQL动词表SQL功能动词数据查询SELECT数据定义CREATE, DROP, ALTER数据操纵INSERT, UPDATE, DELETE数据控制GRANT, REVOKE数据定义操作对象操作方式创建删除修改模式CREATE SCHEMADROP SCHEMA表CREATE TABLEDROP TABLEALTER TABLE视图CREATE VIEWDROP VIEW索引CREATE INDEXDROP INDEX注意SQL通常不提供修改模式定义,修改视图定义,修改索引定义的操作(一)模式的定义和删除1模式的定义CREATE SCHEMA 模式名AUTORIZATION 户例如:CREATE SCHEMA "s-t” AUTORIZATION wang;(1)要创建模式,调用该命令的用户必须具有DBA权限,或者获得了DBA授予的CREATESCHEMA权限(2)如果没指定模式名那么模式名隐含为用户名(3)定义模式,实际上是定义了一个命名空间,在这个空间中可以进一步定义该模式包含 的数据库对象,例如基本表,视图,索引。2模式的删除DROP SCHEMA模 式名 CASCADE | RESTRICT(两者必选其一)例如:DROP SCHEMA "s-t” CASCADE;(1)CASCADE (级联)表示在删除模式的同时把该模式中所有的数据库对象全部一起删 除。(2)RESTRICT(限制)表示在删除该模式中已经定义了下属数据库对象(表,视图索引), 则拒绝该删除语句。(二)表的定义,删除和修改1表的定义CREATE TEBLA表名 ( 列名 数据类型列级完整性约束,列名数据类型列级完整性约束,表级完整性约束)列定义的完整格式: 列名 列类型DEFAULT 默认值NOT NULL 列约束CREATE TEBLA表名AS SELECT 查询若要定义模式式下的表:CREATE TABLE 模式名.表名(1)数据类型实体完整性参照完整性用户自定义完整性主键约束(Primary Key)外键约束(Foreign Key)检查约束(Check)唯一键约束(Unique)非空约束(Null I Not Null)默认值(Defautl)(3) 例子CREATE TABLE student( Sno CHAR(8) PRIMARY KEYSname CHAR(20) UNIQUE,Ssex CHAR(2) DEFALULT 男,Sage SMALLINT CHECK(Sage>0)Sdept CHAR(20)CREATE TABLE Course( Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4) REFERENCES Course(Cno),Ccredit SMALLINT,CHECK (Ccredit >0)CREATE TABLE sc(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY (Sno,Cno,/注意一定要有括号FOREIGN KEY(Sno) REFERENCES Course(Cno),/sno 一定要有括号)(4) 说明1) 列约束:2) 表约束:表约束,2表的删除在每个列后定义,可以有多个约束子句,不能定义多个列上的约束在全部列定义完成后定义,可以有多个约束子句,多个列上的约束必须使用 单列上的约束可以用列约束,也可用表约束DROP TABLE <表名 >CASCADE | RESTRICT(1) CASCADE (级联)删除该表没有任何限制,删除表的同时,相关的依赖对象(如视 图)也一起删除。(2) RESTRICT (限制)删除该表是有限制条件的。欲删除的表不能被其他表的约束所引 用(如CHECK,FOREIGN KEY等约束),不能有视图,不能有触发器(trigger),不 能存储过程或函数。(3) 缺省情况下是RESTRICT3表的修改ALTER TABLE 表名ADD 列名 数据类型完整性约束IMODIFY 列名 数据类型完整性约束IDROP COLUMN 列名 IADD表约束|DROP CONSTRAINT 约束名例如(1) ALTER TABLE StudentADD Dept Varchar2 (10) UNIQUE(2) Alter Table StudentDROP COLUMN age(3) AlLTER TABLE StudentMODIFYage number(3) NOT NULL(4) ALTER TABLE StudentADD CONSTRAINT PK_Student PRIMARY KEY(S#)(5) ALTER TABLE SCDROP CONSTRAINT FK_SC(三) 视图的定义和删除1视图的定义CREATE VIEW剥图名(列名1,列名2,)/列名一定要放在括号里AS 查询WITH CHECK OPTION |WITH READ ONLY例如:CREATE VIEW cs_view (sno, name, age)AS SELECT s#, sname, ageFROM studentWHERE Dept = 计算机系WITH READ ONLY;(1) WITH CHECK OPTION表示对视图进行UPTATE,INSERT,DELETE操作时要保证 更新,插入,删除的行满足视图定义中的谓词条件(即子查询中的条件表达式) WITH READ ONLY表示视图是只读的(2) 视图的属性列名只能是全部缺省或全部指定,没有别的选择。但在下列两种情况下必 须明确指定组成视图的列名。1) 某个目标列不是单纯的属性名,而是聚集函数或列表达式。2) 多表连接时选出几个同名列作为视图的字段。(3) 子查询可以是任意的SELECT子句,但通常不允许含有OREER BY子句各DISDINCT 短语。(4) 不是所有视图都是可更新的1) 基于联接查询的视图不可更新2) 使用了函数的视图不可更新3) 使用了分组操作的视图不可更新4) 只有建立在单个表上而且没有使用函数的视图才是可更新的2 视图的删除DROP VIEW 视图名CASCADE(四)索引的定义和删除1索引的定义CREATE UNIQUE I CLUSTER INDEX <索引名ON <表名> (<列名 <次序>, <列名> <次序.)例如:CREATE UNIQUE INDEX SCno on SC(Sno ASC Cno DESC);(1)UNIQUE表明此索引的每一个索引值只对应唯一的数据记录(2)CLUSTER表示要建立的索引是聚簇索引。聚簇索引是指索引项的顺序与表中的物理顺序一致的索引组织,在一个表上只能建立 一个聚簇索引。(3)次序可选ASC (升序)或DESC (降序)缺省值为ASC2索引的删除DROP INDEX <索引名DROP INDEX SCno;三数据更新(一)插入数据INSERT插入数据通常有两种形式,一种是插入一个元组,另一种是插入子查询结果。 后者可以一次插入多个元组。1插入一个元组INSERTINTO <表名( < 属性列1 >,<属性列2 >)VALUES(< 常量 1 > ,< 常量 2 >)例如 INSERTINTO Student (Sno, Sname, Ssex, Sdept, Sage)VALUES ('20081512','陈冬,男,IS' , 18);INTO语句中没有出现的属性列,新元组在这些列上将取空值或默认值。在INTO子句中只指出了表名,没有指出属性名,新元组要在所有属性列上都指定值,属性列 的次序与CREATE TABLE中的次序相同。2 插入子查询结果INSERTINTO <表名( < 属性列1 >,<属性列2 >)子查询;例如 INSERTINTO Dept_age( Sdept ,Avg_age)SELECT Sdept ,AVG(Sage)FROM StudentGROUP BY Sdept;(二)修改数据UPDATE <表名SET <列名 >=< 表达式 >,< 列名 >=< 表达式>.WHERE < 条件 >例如:UPDATE StudentSET Sage=22WHERE Sno='200215021'(三)删除数据DELETEFROM <表名WHERE < 条件 >例如:DELETEFROM StudentWHERE Sno=20021528;DELETE语句删除的是表中的数据,而不是关于表的定义。四数据查询基本数据查询的格式:SELECT ALL | DISTINCT 目标列表达式AS别名,标列表达式AS别名.FROM 名或视图名 , 表名或视图名.WHERE 查询表达式GROUP BY 列名 1HAVING 条件表达式 ORDER BY 列名 2ASC|DESC;(一)单表查询在一个表中查询数据S#Age01Sa2002Sb2103sc21Studen住S#c#Score01C18001C28502C189SC表(s#是外键,c#是外键)Coursec#creditC1Ca3C2Sft4C3Cc3.51*查询查询全部记录:查询全部的学生信息SELECT * FROM Student;*表示所有列等同于SELECT s#, sname, age, sex FROM Student2使用别名(AS或空格)使用别名:查询所有学生的学号和姓名SELECT s# AS 学号,sname AS 姓名 FROM Student如果别名包含空格,须使用双引号SELECT s# AS “ Student Number” FROM Student3表达式查询(三种表达式,字符串表达式,算术表达式,函数表达式)(1)字符串表达式查询所有学生的学号、姓名和出生年份,返回两列信息,其中一列是“学号:姓名”,另一列是 出生年份SELECT s# | “:”| sname AS 学生,2003age AS 出生年份 FROM Student说明连接字符串|表示则多个查询列连接为一个列输出。(2)算术表达式查询学生的出生年份SELECT 2003-age AS 出生年份 FROM Student;(3) 函数表达式SELECT sno, to_char(birth, 'mm-dd-yyyy' ) AS birthday FROM StudentSELECT Count(sno) As 学生人数 FROM Student4条件查询(1) WHERE 条件注:1) 在where子句中使用列名和表达式,但不能使用别名。2) 在where子句中使用数值时,既可以用单引号也可以不用单引号,使用日期值 字符值时,都必须使用单引号,并且日期值的格式必须要符合数据库中支持的日 期格式,否则必须事先使用to_date函数将其转换成为数据库中支持的日期格式。oracle中日期的默认格式为:01-1月-82在输入查询条件时,可以用 to_date(1998-01-01,yyyy-mm-dd)3) 在SQL语句中,命令不区分大小写,但字符串区分大小写WHERE子句中的关系运算符:比较操作符:>,<,>=,<=,=,<>逻辑操作符:AND OR NO其他操作符:INBETWEEN ANDIS NULL 和 IS NOT NULLLIKEEXISTS例如:1) IN:查询s001,s003,s006和s008四学生的信息SELECT * FROM StudentWHERE s# IN (s001,s003,s006,s008)2) IS NOT NULL:查询缺少年龄数据的学生SELECT * FROM Student WHERE age IS NULLLIKE :查询姓名的第一个字母为R的学生SELECT * FROM Student WHERE sname LIKE R%:任意长度的字符串_:单个字符(一个汉字占两个字节)注意:LIKE只能用于字符串的匹配,不能用于其他类型。查询姓名的第一个字母为R 并且倒数第二个字母为S 的学生SELECT * FROM Student WHERE sname LIKE R%S_多个比较式可用NOT、AND和OR连接SELECT * FROM StudentWHERE age IS NULL and sname LIKE R%3) 若要查询通配符可以用转义字符escape character通常character用(2) 去除重复记录(DISTINCT)查询学生的姓名SELECT Distinct sname FROM StudentDISTINCTt只对记录有效,不针对某个特定列SELECT Distinct sname, age FROM Student(3)排序查询(ORDER BY)注:1)order by只能对最终查询结果进行排序,也就是说其只能放在查询语句的最后一条。2)可以使用列的别名,列的位置进行排序。3)在大多数情况下,指定的排序列(order by列名)都是选择列(select列名),但排序列也可以不是选择列。但如果在select语句中使用了 distinct关键字,则排序列必须 是选择列了。查询所有学生信息并将结果按年龄升序排列SELECT * FROM Student ORDER By age将结果按年龄升序排列,按姓名降序排列SELECT * FROM StudentORDER By age ASC,sname DESCASC表示升序,DESC表示降序(4)聚集函数注:1)聚集函数和group by子句联合使用,表示对每个组进行统计,否则将所有数据行当 成一个组进行统计。2)聚集函数只能出现在选择列表、order by子句、having子句中,而不能出现在where 和group by子句中。3)除了 count(*)夕卜,其他聚集函数都会忽略null行。4)聚集函数中可以指定all和distinct选项。其中all是默认选项,表示统计所有的行(包 括重复行),而distinct只统计不同的行。count (distinct sal)FuctionName(DISTINCT I ALL列 名)COUNT(列名):对一列中的值计数COUNT(*):计算记录个数SUM(列名):求一列值的总和(数值)AVG (列名):求一列值的平均值MIN (列名):求一列值的最小值MAX (列名):求一列值的最大值例子:求学生的总人数SELECT count(*) FROM student求选修了课程的学生人数SELECT COUNT(DISTINCT s#) FROM SC求学生的平均年龄SELECT avg(age) as average_age FROM student(5)分组查询(GROUP BY)1)基本格式group by列名1,列名2 having条件ORDER by列名查询男生和女生的平均年龄SELECT sex, AVG(age) as Average_age FROM StudentGroup By sex注意:除聚集函数外的属性必须全部出现在Group By子句中2)返回特定的分组结果(HAVEING)查询不同年龄的学生人数,并返回人数在5人以上的结果SELECT age, COUNT(*) as students FROM StudentGroup By ageHaving COUNT(*) > 5Having子句中必须聚集函数的比较式,而且聚集函数的比较式也只能通过Having子句给出Having中的聚集函数可与SELECT中的不同查询人数在60以上的各个班级的学生平均年龄SELECT class, AVG(age) FROM StudentGroup By classHaving COUNT(*) > 60(6)使用rollup和cube限定词Rollup用于生成横向统计结果SQL> select deptno,job,avg(sal),max(sal) from emp2 group by rollup(deptno,job);DEPTNO JOBAVG(SAL)MAX(SAL)10 CLERK130010 MANAGER245010 PRESIDENT5000102916.6666720 CLERK95020 ANALYST300020 MANAGER297520217530 CLERK95030 MANAGER285030 SALESMAN140013002450 5000 5000 11003000 2975 3000950 2850 1600301566.666672073.21429Cube用于生成纵向统计结果28505000SQL> select deptno,job,avg(sal),max(sal) from emp 2 group by cube (deptno,job);DEPTNO JOBAVG(SAL)MAX(SAL)2073.21429CLERK1037.5ANALYST3000MANAGER 2758.33333SALESMAN1400PRESIDENT5000102916.6666710 CLERK130010 MANAGER245010 PRESIDENT50002021755000130030002975160050005000130024505000300020 CLERK950110020 ANALYST3000300020 MANAGER29752975301566.66667285030 CLERK95095030 MANAGER2850285030 SALESMAN14001600Students SC表雨#是外键,E#是外健)S#Age01Sa2002Sb2103sc21s#c#Score01C1SO01C28502C189(二)连接查询一个查询同时涉及两个以上的表,则称之为连接查询。c#creditC1Ca3C24C3Cc3.5SELECT <表名.列名>,<表名.列名>.FROM < 表名 >,< 表名 >.WHERE <查询表达式1等值连接和非等值连接注:在连接查询中应在列前加上表作为前缀,但如果列名在不同的表中不同,则可以不加表名限制, 否则必须加。当指定表的别名时,别名应跟在表名后面。例如:SQL> select d.deptno , d.dname, e.ename, e.sal2 from dept d,emp e3 where d.deptno=e.deptno4 and d.deptno=20;1)等值连接查询学生的学号,姓名和所选课程号SELECT student.s#, student.sname,sc.c#FROM student,scWHERE student.s# = sc.s# 联接条件2)非等值连接SELECT SC.S# , Course.creditFROM SC,CourseWHERE SC.C# I IN Course.C#2自然连接若在等值连接中把目标列中重复的属性列去掉则为自然连接3自身连接给一个表定义两个或多个不同的别名,就可以像使用这两个别名进行连接查询。SELECT FIRST.Cno, SECOND.CpnoFROM Course FIRST , Course SECONDWHERE FIRST.Cpno=SECOND.Cno4外连接查询外连接分为左外连接和右外连接左外连接列出左边关系中所有的元组右外连接列出右边关系中所有的元组SELECT 表名.列名,表名.列名FROM 表名LEFT|RIGHT OUT JOIN USING* 名ON (连接条件)USING去掉重复行5复合条件查询WHERE子句中可以有多个连接条件,称为复合条件连接。(三)嵌套查询在SQL语言中,一个SELECT-FROM-WHERE语句称为一个查询块。将一个查询块嵌套在另 个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询。s#Age01Sa2002Sb2103sc21Studen住S#c#Score01C18001C28502C189Coursec#creditC1Ca3C2Sft4C3Cc3.5SC表(s#是外键c#是外键):1无关子查询父查询与子查询相互独立,子查询语句不依赖父查询中返回的任何记录,可以独立执行查询没有选修课程的所有学生的学号和姓名SELECT s#,snameFROM studentWHERE s# NOT IN ( SELECT distinct s# FROM sc)子查询返回选修了课程的学生学号集合,它与外层的查询无依赖关系,可以单独执行 无关子查询一般与IN 一起使用,用于返回一个值列表2相关子查询相关子查询的结果依赖于父查询的返回值查询选修了课程的学生学号和姓名SELECT s#, snameFROM studentWHERE EXISTS (SELECT * FROM sc WHERE sc.s# = student.s#)相关子查询不可单独执行,依赖于外层查询EXISTS (子查询):当子查询返回结果非空时为真,否则为假执行分析:对于student的每一行,根据该行的s#去sc中查找有无匹配记录3连接视图子查询出现在FROM子句中作为表使用查询只选修了1门或2门课程的学生学号、姓名和课程数SELECT s#, count_c#FROM (SELECT s.s# as s#, count(sc.s#) as count_c#FROM student s, scWHERE s.s#=sc.s#Group by s.s#) SC2, studentWHERE sc2.s# = student.s# and (count_c#=1 OR count_c#=2)联机视图可以和其它表一样使用(四)查询结果的连接Union 和 Union AllMinusIntersect1 Union 和 Union All查询课程平均成绩在90分以上或者年龄小于20的学生学号(SELECT s# FROM student WHERE age<20)UNION(SELECT s#FROM (SELECT s#, AVG(score)FROM SCgroup by s#having avg(score)>90) SC2)UNION操作自动去除重复记录UNION All操作不去除重复记录2 Minus查询未选修课程的学生学号(SELECT s# FROM Student)Minus(SELECT distinct s# FROM SC)3 Intersect返回两个查询结果的交集查询课程平均成绩在90分以上并且年龄小于20的学生学号(SELECT s# FROM student WHERE age<20)Intersect(SELECT s#FROM (SELECT s#, AVG(score)FROM SCgroup by s#having avg(score)>90) SC2)五授权(一) 创建数据库模式的权限CREATE USER <用户名WITH DBA I RESOURCE I CONNECT1对数据库模式的授权由DBA在创建用户时实现2新创建的用户有三种权限拥有的权限可否执行的操作CREATE USERCREATE SCHEMACREATE TABLE登录数据库执行查询和操作DBA可以可以可以可以RESOURCE不可以不可以可以可以CONNECT不可以不可以不可以可以但必须拥有相应权限(二)授权和回收关系数据库系统中的存取权限对象类 型对象操作类型(权限)数据库模式CREATE SCHEMA基本表CREATE TABEL,ALTER TEBLE模式视图CREATE VIEW索引CREATE INDEX数据基本表和视图SELECT,INSERT,UPDATE,DELETE,REFERENCES,ALL PRIVILEGES数据属性列SELECT,INSERT,UPDATE,DELETE,REFERENCES,ALL PRIVILEGES1 授权GRANT <权限,< 权限 >.ON <对象类型 > <对象名,< 对象名 >< 对象名>.TO <用户,< 用户WITH GRANT OPTION ;例如:GRANT SELECTON TABLE StudentTO U1WITH GRANT OPTION(1)WITH GRANT OPTION表示获得某种权限后的用户,还可以把这种权限授予其他用户。如果没有此句,则不能传播该权限(2)用户可以是PUBLIC即全体用户2 回收REVOKE <权限, <权限 >.ON <对象类型> < 对象名 >,< 对象名 >< 对象名>.FROM < 用户, < 用户 >.CASCADE | RESTRICT;例如:REVOKE SELECTON TABLE StudentFROM U1CASCADE;(三)数据库角色1创建角色CREATE ROLE <角色名>例如:CREATE ROLE R1;数据库角色是被命名的一组与数据库操作相关的权限,角色是权限集合2给角色授权

    注意事项

    本文(数据库基础知识个人整理版 强烈推荐.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开