数据库复习Word格式文档下载.docx
《数据库复习Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库复习Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
判断关系满足第几范式:
关系名称,主键,外键:
结构约束:
二元联系的基数比:
指定了一个实体能够参与的联系实例的最大个数。
可能基数比1:
1,1:
N,N:
1,M:
N
参与约束:
指定了每个实体所能参与的联系实例的最小个数。
完全参与约束(双线)部分参与约束(单线)
联系属性的转移:
1:
1两端实体都可以
1:
N转移到N端的实体类型
ER图的替代表示法:
(min,max)
0<
=min<
=maxmax>
=1
对于E中每个实体e,任意时刻参与到R中至少min个,之多max个
min=0部分参与单线
min>
0完全参与双线
ER示例:
关于EER模型:
超类/子类(一个实体不能仅作为一个子类的成员存在于数据库中,它必须也是超类中的成员,这样的实体可以作为任意多个子类的成员,超类中的每个实体不必是某个子类的成员)
类型继承:
具有自身特定的属性值,同时也具有作为一个超类成员的属性值。
画图:
1.用直线段将定义特化的子类与表示特化的圆圈相连,圆圈与超类相连
2.箭头符号
3.专有属性
4.专有联系类型
EER示例:
图上标记及含义
3、关系数据理论
函数依赖:
数据库中两个属性集之间的约束。
R的属性子集X和Y之间的函数依赖计作X→Y,如果对于r中的任意两个元组t1,t2有t1[x]=t2[x],则必有t1[Y]=t2[Y]。
即一个元组X的分量值唯一决定Y的分量值。
如:
Ssn→Ename
Pnumber→{Pname,Plocation}
{Ssn,Pnumber}→Hours
部分依赖:
函数依赖X→Y是一个部分函数依赖的条件是——存在某个属性A属于X,可以从X中移去,而依赖仍然成立。
完全依赖:
函数依赖X→Y是一个完全函数依赖的条件是——从X中移去任意属性A就会导致依赖不再成立。
传递函数:
函数依赖X→Y是一个传递函数依赖的条件是——属性集Z既不是R的候选键,也不是R中任何键的子集,并且X→Z,Z→Y都成立。
属性闭包XF+:
主属性:
该属性是R的某个候选码的成员
范式的判断:
INF:
不允许多值属性、复合属性或两者的组合。
1NF所允许的属性值只能是单个原子或不可分的值(不允许属性值是一个值集、一个元组集或两者的组合)。
2NF:
基于“完全函数依赖概念”
R中每一个非主属性A完全函数依赖于R的主键(检验函数依赖的左部属性是否是主键的一部分。
如果主键只有单个属性,则不需要检验)
3NF:
基于“传递依赖概念”
满足2NF,且R中不存在非主属性传递依赖于主键。
题型:
给出函数依赖求候选键
判断满足第几范式并给出理由
4、数据库安全
Mysql–hlocalhost–uroot-p管理员权限登录
创建用户
代码:
createuser‘username’@’localhost’identifiedby‘PSW’;
对象权力的管理:
Grant,Revoke运用(授权和取消)
grantselectonmyfirstdb.studentto'
zhangshan'
@'
localhost'
;
revokeupdateonmysql.student
->
from'
(1)CMD
代码:
Mysql–hlocalhost–uroot-p
Group3:
CreateUser‘username’@’localhost’identifiedby‘PSW’;
Group4:
Grant,Revoke运用
(1)Grantpriv_typeondatabase.tabletouser[withgrantoption];
(2)Revokepriv_typeondatabase.tablefromuser
Group5:
角色的管理
(1)Createrolemyrole;
createrolemyrole;
(2)Grantselectonemptomyrole;
grantselectonstudenttomyrole;
(3)Grantmyroletoxiaozhang;
grantmyroleto'
(4)Setrolemyrole;
setrolemyrole;
Group6:
系统权利和综合问题。
假设有一艺术品管理系统,涉及有几个表格:
emp,dept:
创建表格代码:
createtableemp(empidintprimarykey,empnamevarchar(20));
createtabledept(depidintprimarykey,depnamevarchar(20));
(1)设计1个管理员角色(Mrole)和1个雇佣者用户角色,并分别给出合理的对以上2个表格的访问权限
创建角色代码:
createroleMrole,Erole;
设置管理员访问权限代码:
grantselect,insert,delete,update,createonemptoMrole;
grantselect,insert,delete,update,createondepttoMrole;
设置雇佣者访问权限代码:
grantselectonemptoErole;
grantselectondepttoErole;
(2)让这两个角色分别包含至少一个用户(创建用户)
createuser'
zhang'
identifiedby'
1234'
zhao'
grantMroletozhang@localhost;
grantEroletozhao@localhost;
(3)验证你的权限设置。
showgrantsforMrole;
showgrantsforErole;
五、重要概念
数据库:
是一个相关联的数据集合。
在正式的关系模型术语中,行:
元组,列标题:
属性,表:
关系
超键SuperKey:
在关系中能惟一标识元素属性的集称为关系模式的超键。
候选键CandidateKey:
不含有多余属性的超键称为候选键。
也就是说在候选键中再删除属性,就不是键了。
主键PrimaryKey:
用户选作元组标识的候选键为主键。
一般不加说明,键就是主键
外键ForeignKey:
如果模式R中的属性k是其他模式的主键,那么k在模式R中称为外键。
补充:
一般情况下,一个关系模式可以有多个键,在这种情况下,每一个键称为候选键。
将候选键中的一个定义为主键(可以任意选择),候选键的值可以用来标识关系中的元组。
关系数据库完整性
实体完整性约束:
规定主键值不能为NULL
参照完整性约束:
一个关系中的元组参照另一个关系时,它参照的必须是那个关系中存在的元组。
(在两个关系之间定义,该约束用于保持两个关系的元组之间的一致性)
用户定义完整性:
某一具体关系所涉及的数据必须满足的语义要求。