数据库(四)

简介: 数据库(四)

10.能够利用SQL语句实现权限的授予、回收、

用户可以“自主”地决定讲数据的存取权限授予和人,决定是否也将“授权”的权限授予别人,这样的存取控制是自主存取控制。

权限的授予:GRANT

 GRANT <权限>[,<权限>]…

 ON <对象类型> <对象名> [,<对象类型> <对象名>]…

 TO <用户> [,<用户>]…

 [WITH GRANT OPTION];

 将指定操作对象的指定操作权限授予给指定用户。

 数据库管理员、数据库对象创建者和拥有该权限的用户均可授权。

 接受权限的用户可以是一个或多个,PUBLIC为全体用户。

权限的回收:REVOKE

 REVOKE <权限> [,<权限>]…

 ON <对象类型> <对象名> [,<对象类型><对象名>]…

 FROM <用户> [,<用户>]…[CASCADE|RESTRICT];

创建数据库模式的权限:

 CREATE USER [WITH] [DBA|RESOURCE|CONNECT];

 只有系统的超级用户才有权创建一个新的数据库用户;

 DBA|RESOURCE|CONNECT对应用户的三种权限:

   CONNECT:是默认权限,只能登录数据库;

   RESOURCE:有权创建基本表和视图,成为创建对象的属主。但不能创建模式和用户;

   DBA:用户系统中的超级用户。

   针对RESOURCE|CONNECT可以通过权限授予GRANT,授予权限。

数据库角色:

 数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。

 CREATE ROLE <角色名>


11.掌握函数依赖、码、范式、2NF、3NF、BCNF,能够应用范式理论,能够把低级别的关系模式规范化到高级别的关系模式。

数据依赖是一个关系内部属性与属性之间的一种约束关系。这种约束关系通过属性间值的相等与体现出来的数据间相关联系。它是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。

关系模式存在的问题:

 数据冗余;

 更新异常;

 插入异常;

 删除异常。


函数依赖FD:

 设R(U)是属性集U上的关系模式,X,Y是U的子集。

 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组X上的属性值相等,而在Y上的属性值不等。

 则称X函数确定Y或Y函数依赖于X,记作X→Y。X称为这个函数依赖的决定属性集,也称决定因素。

 函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是值R的一切关系均要满足的约束条件。

 非平凡函数依赖:X→Y,但是Y⊈X;

 平凡函数依赖:X→Y,但是Y⊆X;

 若X→Y,Y→X,记作X←→Y;


 d33eda873d4c48d3b694092409adeebc.png

码/键/键码:


 若U函数依赖于K(K→U),则称K为超码,候选码是一种特殊的超码。

 若候选码多于一个,则选定其中一个为主码。

 包含任何一个候选码中的属性称为主属性,不包含则称为非主属性或非码属性。

 若整个属性组是码则称为全码。

 关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,X称为R的外部码或外码。


范式:

 关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式。

 一个低一级范式的关系模式通过模式分解可以转换为若干个高一级范式的关系模式集合,这个过程就叫规范化。

 1NF:

   数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值。必须是不可分的数据项。

 2NF:

   若R∈1NF,且每个非主属性完全函数依赖于任何一个候选码,则R∈2NF。

 3NF:

7012afa698404beeb82be91346c09428.png

 BCNF(3.5NF):

   修正的第三范式,扩充的第三范式。

   关系模式R<U,F>∈1NF,若X→Y且Y⊈X时X必含有码,则R<U,F>∈BCNF。

   所有非主属性对每一个码都是完全函数依赖;

   所有主属性对每一个不包含它的码也是完全函数依赖;

   没有任何属性完全函数依赖于非码的任何一组属性。

d9c271119bb6428d81e6ec0af44a5e7e.png

 这个图应该在前面的,我忘记贴了。


de73d7090b2843159ec5250575f8faf0.png

目录
相关文章
|
30天前
|
存储 数据库
为什么需要数据库
为什么需要数据库。
16 4
|
4天前
|
SQL BI 数据库
数据库视频(二)
数据库视频(二)
16 1
|
24天前
|
关系型数据库 MySQL 数据库
数据库(四)
`DELETE` 语句用于从表中移除数据。基本语法是 `DELETE FROM 表名 WHERE 条件表达式`,条件可选,若省略则删除所有数据。例如,`DELETE FROM emp WHERE dept_id = 10` 删除10号部门员工。`TRUNCATE` 表名更快,用于清空表,但不支持条件,且数据不可恢复。子查询可用于`CREATE TABLE AS SELECT`来复制表,或在`INSERT`, `UPDATE`语句中进行复杂操作,如更新特定区域员工的工资。
8 1
|
24天前
|
数据库
数据库(二)
数据查询教程包括单表查询操作,如Select语句用于选取属性,可指定列名、使用别名、计算表达式,并通过Distinct去除重复元组。条件查询(Where子句)支持比较运算,如Between、In、Like(支持模糊匹配)及空值判断。连接查询用于合并多表数据,如内连接、外连接和笛卡尔积。例如,通过连接emp和dept表,可获取员工姓名及其所在部门名称。
12 3
|
24天前
|
关系型数据库 MySQL 数据库
数据库(三)
数据完整性是数据库管理中的关键概念,确保数据的准确和一致。主要包括: 1. 实体完整性:通过主键(唯一且非空)来标识表中的每条记录,如创建`test2`表时设置`n1`为主键。 2. 创建表`test3`时,`n1`和`n2`组合成为主键,确保多字段的唯一性。 3. 唯一约束:用于保证列值的唯一性,如在`test1`中添加对`n2`的唯一约束,或创建`test4`时`n1`和`n2`的组合值唯一。 4. 引用完整性:通过外键约束实现,如`emp`表的`dept_id`引用`dept`表的`id`,确保数据间的关联合法性。外键可以有级联操作,如`on delete cascade`和`o
11 0
|
28天前
|
存储 数据挖掘 数据库
数据库是什么?为什么要使用它么?
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。它通常与数据库管理系统(DBMS)一起使用,用于创建、查询、更新和管理数据库中的数据。
29 0
|
2月前
|
存储 数据库 数据安全/隐私保护
数据库特点
数据库特点
28 9
|
3月前
|
存储 SQL 关系型数据库
初识数据库
初识数据库
|
4月前
|
SQL NoSQL 关系型数据库
数据库
数据库
36 1
|
SQL 资源调度 关系型数据库
快速学完数据库
本来想写文章来复习的,后面发现越写越多,而且感觉本末倒置了,查询语句写的最少,其他倒是写的很详细,数据库知识真的太细太碎了,整理起来难度真的挺大的,如果是数据库小白,这篇文章肯定很有用,它没有过多的实战,带你了解数据库的基本框架和能够完成的任务,如果是数据库学过的话,那这篇文章可能对你而言只有前面数据库概述和设计数据库有用,数据库sql语句这部分非常的精简,几乎只是了解个框架,第一次写长文欢迎评论区大佬们的指正。
68 0
快速学完数据库