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;
码/键/键码:
若U函数依赖于K(K→U),则称K为超码,候选码是一种特殊的超码。
若候选码多于一个,则选定其中一个为主码。
包含任何一个候选码中的属性称为主属性,不包含则称为非主属性或非码属性。
若整个属性组是码则称为全码。
关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,X称为R的外部码或外码。
范式:
关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式。
一个低一级范式的关系模式通过模式分解可以转换为若干个高一级范式的关系模式集合,这个过程就叫规范化。
1NF:
数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值。必须是不可分的数据项。
2NF:
若R∈1NF,且每个非主属性完全函数依赖于任何一个候选码,则R∈2NF。
3NF:
BCNF(3.5NF):
修正的第三范式,扩充的第三范式。
关系模式R<U,F>∈1NF,若X→Y且Y⊈X时X必含有码,则R<U,F>∈BCNF。
所有非主属性对每一个码都是完全函数依赖;
所有主属性对每一个不包含它的码也是完全函数依赖;
没有任何属性完全函数依赖于非码的任何一组属性。
这个图应该在前面的,我忘记贴了。