数据库候选关键字知识求解(判定候选键)

求关系模式中的候选键(软考,数据库)
求关系模式中的候选键,是软考中的考点,但视频中没有讲,所以得一提。 求闭包 给定关系模式R(U,F),U={A,B,C,D,E},F={B-A, D-A, A-E,AC-B},其属性AD的闭包为______. 解:设X(0)=AD,计算X(1):逐一扫描F集中的各个函数依赖,找左部是A、D、AD的函数
& & & 求关系模式中的候选键,是软考中的考点,但视频中没有讲,所以值得一提。
& & & 求闭包
& & & 给定关系模式R(U,F),U={A,B,C,D,E},F={B-&A, D-&A, A-&E,AC-&B},其属性AD的闭包为______. & & & & & 解:设X(0)=AD,计算X(1):逐一扫描F集中的各个函数依赖,找左部是A、D、AD的函数依赖,得到A E。于是X(1)=X(0)∪EA=ADE。由于X(0)!=X(1),所以继续扫描,于是X(2)=X(1)∪EA=ADE。由于X(2)=X(1),所以算法到此为止,属性AD的闭包为X(2),即ADE。
& & & &求候选键
& & & &关系模式R(U,F),其中U={W,X,Y,Z},F={WX→Y,W→X,X→Z,Y→W}。关系模式R的候选建是__
& & & &解法:从函数依赖集出发,把所有属性分为3类
& & & &1、L类:全部出现在函数依赖的左半部
& & & &2、R:全部出现在函数依赖的右半部
& & & &3、LR:出现在函数依赖的左右两边
& & & &可能成为候选键的有L类,LR类
& & & &对于L类,求出它的闭包,若包含所有属性,则说明其为候选键。
& & & &对于LR类,求出其闭包,若包含所有属性,则为候选键;若不包含,再和LR类中的其他属性组合。
& & & &对于N类,直接加至候选键即可。
& & & &对于这道题
& & & & & &L:无
& & & & & &R:z
& & & & & &LR:w,x,y
& & & & & &先排除z
& & & & & &在LR中,w的闭包为{w,y,z,x}
& & & & & & & & & & & & & &x的闭包为{x,z}
& & & & & & & & & & & & & &y的闭包为{w,y,z,x}
& & & & &所以,w和y为候选键。
你最喜欢的有关关系数据库理论的简答题答案我有了,请给出详细解答过程:设有关系模式R(A,B,C,D),函数依赖F={A→C,C→A,B→AC,D→AC}(1)求(AD)+ ,B+ 。(2)求出R的所有候选键。(3)求出F的最小函数依赖集Fmin。(4)根据函数依赖关系,确定关系模式R属于第几范式。(5)将R分解为3NF,并保持无损连接性和函数依赖性。(6)将R分解为BCNF,并保存无损连接性。
(1)求属性集的闭包,其实就是求各属性的闭包,然后整合去重复。
闭包就是由一个属性直接或间接推导出的所有属性的集合
A可以直接导出C A+={A,C}
D可以直接导出A C D+={A,C,D}
所以(AD)+={A,C,D}
B可以直接导出A,C B+={A,B,C}(2)关键码的求解理论和算法对于给定的关系R(A1A2…An)和函数依赖集F
,可将其属性分为4类:L类:仅出现在F函数依赖左部的属性
R类:仅出现在F函数依赖右部的属性
N类:在F函数依赖的左右两部均未出现的属性
LR类:函数依赖的左右两部均出现的属性定理:
对于给定的关系模式R及其函数依赖集F,若X是R的L类属性,则X必为R的
任一关键码的成员。
所以可以看出BD是R的唯一关键码(3)求最小函数依赖集
1.根据分解性先分解所有依赖的右边为单属性
F={A->C,C->A,B->A,B->C,D->A,D->C}
2.对所有依赖的左边为多属性的情况,消除左侧冗余属性
3.去除多余的函数依赖{A->C,C->A,B->A,D->A}不知道对不对,对的话就继续。。
为您推荐:
扫描下载二维码菜鸟从零学习数据库(四)――超键、候选键、主键、外键
菜鸟从零学习(四)&&超键、候选键、主键、外键
这些年的一些经历告诉我,很多初学者搞不清超键、候选键等,被数据库中的各种键搞的一头雾水。下面就跟大家一起聊聊数据库中的那些键。
首先看看各种键的定义:
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key):不含有多余属性的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键
外键(foreign key)如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键则该属性集是关系模式R1的外键。
结合实例的具体解释:
假设有如下两个表:
学生(学号,姓名,性别,身份证号,教师编号)
教师(教师编号,姓名,工资)
由超键的定义可知,学生表中含有学号或者身份证号的任意组合都为此表的超键。如:(学号)、(学号,姓名)、(身份证号,性别)等。
候选键属于超键,它是最小的超键,就是说如果再去掉候选键中的任何一个属性它就不再是超键了。学生表中的候选键为:(学号)、(身份证号)。
主键就是候选键里面的一个,是人为规定的,例如学生表中,我们通常会让&学号&做主键,教师表中让&教师编号&做主键。
外键比较简单,学生表中的外键就是&教师编号&。外键主要是用来描述两个表的关系。
其实这些键还是比较容易区分的,只是初学者一下子看到好几个名字相似的概念,容易自己把自己搞晕,自己给自己制造困难。多读两遍定义,然后结合实例很容易就能把它们区分开。希望这篇文章可以给一些初学者一点点的帮助。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'数据库求解题:已知关系模式………………写出求解步骤,1.已知关系模式R(A,B,C,D,E,G) F={AB→E,AC→G,AD→BG,B→C,C→D}请求出候选关键字,主属性,非主属性,判断R属于第几范式,2.己知关系模式R(A,B,C,D,E,G) F={E→D,C→B,CE→G,B→A},把R分解为3NF,要求既具有函数依赖保持性又具有无损连接性.3.在教学管理系统中,要处理的数据有学生、课程、教师、系别其属性如下:学生:学号、姓名、性别、出生年月.系别:系编号、系主任姓名、.课程:课程号、课程名、学分、学时数.教师:职工号、姓名、性别、出生年月、职称其语义假设如下:每个学生都属于某个系,每个系有若干学生;每个学生选修若干门课程,每门课程由若干个学生选修;每位教师属于某个系,每个系有若干教师;每位教师教多门课程,每门课程有若干教师任教.请画出E-R 图.
机器宝宝660号
= =做任务飘过
为您推荐:
其他类似问题
扫描下载二维码笔试面试那件小事(数据库概念知识) - 推酷
笔试面试那件小事(数据库概念知识)
1&Data:数据,是数据库中存储的基本对象,是描述事物的符号记录
2&DataBase:数据库,是长期存储在计算机内、有组织的,可共享的大量数据的集合。
3-&DBMS:数据库管理系统,是位于用户与操作系统之间的一层数据管理软件,用于科学的组织、存储和管理数据,高效的获取和维护数据
4-&DBS:数据库系统,指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统和数据库管理员组成
5-&数据模型:是用来抽象、表示和处理现实世界的数据和信息工具,是对现实世界的模拟。数据库的核心和基础,其组成元素有数据结构、数据操作和完整性约束
6-&概念模型:也称为信息模型,是按照用户的观点来对数据和信息建模,主要用于数据库设计
7-&逻辑模型:是按照计算机系统的观点对数据建模,用于DBMS实现。
8-&物理模型:是对数据最低层的抽象,描述数据在系统内部的表示方式和存取方法,在磁带或者磁盘上的存储或者存取方法,是面向计算机系统
9-&实体和属性:客观存在并且可以相互区别的事务称为实体。实体所具有的某些特征称为属性。
10-&E-R图:即实体-关系图,用于描述现实世界的事务及其相互关系,是数据库概念设计的主要工具
11-&关系模式:从用户的观点看,关系模式是由一系列关系组成,每个关系的数据结构是张规范的二维表
12-&型/值:型是对某一类数据的结构和属性的说明;值是型的一个具体赋值,是型的实例
13-&数据库模式:是对数据库中全体数据的逻辑结构(数据项的名字、类型、取值范围等)和特征(数据之间的联系,以及数据有关的安全性和完整性要求)的描述
14-&数据库的三级系统结构:外模式、模式和内模式
15-&数据库的内模式:又称为存储模式,是对数据库物理结构和存储方式的描述,是数据在数据库内部表示方式,一个数据库只有一种内模式
16-&数据库的外模式:又称为子模式或者用户模式,它是数据库用户能够看见和使用的局部数据和逻辑结构的特征描述,是数据库用户的视图
17-&数据库的二级映像:外模式/模式映像、模式/内模式映像
重点知识:
1-&数据库系统由数据库、数据库管理系统、应用程序和数据库管理员构成
2-&数据模型的组成要素是:数据结构、数据操作、完整性约束条件
3-&实体型之间的联系分为一对一,一对多和多对多三种类型
4-&常见的数据模型包括:关系、层次、网状面向对象、对象关系映射等几种
5-&关系模型的完整性约束包括:实体完整性、参照完整性和用户自定义完整性
6-&描述数据库三级模式、二级映像的含义及作用
数据库三级模式反映的是数据的三个不同层次的抽象:模式是对数据库中全体数据的逻辑结构和特征的描述。内模式又称存储模式,是对数据库物理结构和存储方式的描述。外模式又称为子模式或者用户模式,是对特定数据库用户相关的局部数据的逻辑结构和特征的描述。
数据库三级模式通过二级映像在DBMS内部实现这三个抽象层次的联系和转换。外模式面向应用程序,通过外模式/模式映像与逻辑模式建立联系,实现数据的逻辑独立性。模式/内模式映像建立模式与内模式之间的一对一映射,实现数据的物理独立性。
1-&主键:能够唯一的标识一个元组属性或属性组称为关系的键或者候选键。若一个关系有多个候选键则选择其中一个作为主键
2-&外键:如果一个关系的一个或者一组属性引用了另一个关系的主键,则称这个或者这组属性为外码。
3-&关系数据库:依照关系模型建立的数据库称为关系数据库。它是某个应用领域的所有关系的集合
4-&关系模式:简单的说,关系模式是对关系型的定义,包括关系的属性构成、各属性的数据类型、属性间的依赖、元组语义及完整性约束等
5-&实体完整性:主键不能为空,且取值不会重复
6-&参照完整性:用于维护实体之间的引用关系。它要求一个关系的外键要么为空,要么取与被参照关系对应的主键值
7-&用户定义的完整性:就是针对某一具体的应用数据必须满足语义约束。
1-&关系数据库语言分为关系代数、关系演算和结构化查询语言三大类
2-&关系的5种基本操作是选择、投影、并、差、笛卡尔积
3-&关系模式的描述,5元组形式表示:R(U,D,DOM,F)
其中R-----关系名&& U-----组成该关系的属性名集合
D-----属性组U所来自的域& DOM-------属性向域的映像集合&& F-----表示属性间的依赖关系
相关概念:
1-&SQL:结构化查询语言的简称,是关系数据库的标准语言。SQL是一种通用的、功能极其强的关系数据库语言,是对关系库存取的标准接口,也是不同数据库之间相互操作的基础。集数据集查询、数据操作、数据定义和数据控制功能于一体。
2-&数据定义:数据定义功能包括模式定义、表定义、和视图索引定义
3-&嵌套查询:指将一个查询块放到另个查询块的WHERE或者HAVING里面
重点知识:
1-&SQL数据定义语句的操作对象有:模式,表,视图和索引
2-&SQL数据定义语句的命令动词是CREATE、DROP、ALTER
3-&DBMS中索引一般采用B+树或者HASH来实现
4-&索引可以分为唯一索引、非唯一索引和聚簇索引三种类别
5-&SQL 创建表的语句的一般格式为:
CREATE TABLE&表名&(
&列名&&数据类型&[&列级完整性约束&]
其中&数据类型&可以是数据库系统支持的各种数据类型,包括长度和精度
列级完整性约束为针对单个列的完整性约束,包括PRIMARYKEY(列名列表) UNIQUE& NOT NULL等
表级完整性约束可以是基于表中多列的约束,包括PRIMARY KEY(列名列表)、FOREIGN KEY REFERENCES 表名(列名)
6-&SQL创建索引语句一般格式
CREATE [UNIQUE][CLUSTER] INDEX&索引名&
ON &表名&(&列名列表&)
其中UNIQUE:表示创建唯一索引,缺省为非唯一索引
CLUSTER:表示创建聚簇索引,缺省为非聚簇索引
7-&SQL 查询语句的一般格式为
SELECT [ALL | DISTINCT]&算术表达式列表&& FROM &表名或者视图名列表&
[WHERE &条件表达式1&]
[GROUP BY&属性表1&] [HAVIN&条件表达式2&]
[ORDER BY &属性表2&][ASC | DESC]
概念和知识
1-&触发器是用户定义在基本表上的一类由事件驱动的特殊过程。由服务器自动激活,能执行更为复杂的检查和操作,具有更精细和更强大的数据控制能力。使用CREATE TRIGGER命令来创建触发器
2-&计算机系统存在技术安全、管理安全和政策法律三类安全性问题
3-&TCSEC、TDI标准由安全策略、责任、保证和文档四个方面内容构成
4-&常用存取控制方法包括自主存取控制和强制存取控制
5-&自主存取控制包括GRANT 和REVOKE两个
下面是常见的自主控制命令:
把对Student和Crouse表的全部权限授予所有用户
GRANT ALL PRIVILIGES ON TABLE Student,Course TO PUBLIC;
把对Student表的查询权和姓名修改权授予用户U4
GRANT SELECT,UPDATE(Sname) ON TABLE Student TO U4;
把对SC表的插入权限授予U5用户,并允许他传播该权限
GRANT INSERT ON TABLE SC TO U5 WHIT GRANT OPTION;
把用户U5对SC表的INSERT权限收回,同时收回被他传播出去的权限
REVOKE INSERT ON TABLE SC FROM U5 CASCADE
创建一个角色R1,并使其对Student表具有数据查询和更新权限
CREATE ROLE R1;
GEANT SELECT,UPDATE ON TABLE Student TO R1;
对修改Student表结构的操作进行审计
AUDIT ALTER ON Student;
已发表评论数()
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
没有分页内容
图片无法显示
视频无法显示
与原文不一致

我要回帖

更多关于 数据库候选码 的文章

 

随机推荐