[课业] 103资讯高考数据库第二题满分解答

楼主: ARCHERDEVIL (开弓)   2014-09-22 22:27:19
AS TITLE
因为今天有人寄信问我说我数据库第二题的超键数量怎么回答
我想说我写很多
干脆复制过来这边,抛砖引玉,说不定会有更好的发想。
我的写法大致上如下
==========
题目节录
表格中有关编号(字段名称字尾有‘_ID’)之字段均为唯一值(unique)、单位电话(
D_TEL)为唯一值且不能为空值(null)、联络电话(E_TEL)可能为空值或重复
所以如果以第一个表格
OBJECT [物资品项]
O_ID O_NAME TYPE O_NUM
物资编号 物资名称 规格 目前数量
以此为例
==========
只有ID是候选键
所以包含id 的所有属性组合,都可以是超键
因此id 本身,c3取0
id + 任一非键属性 c3取1
id + 任二非键属性 c3取2
id + 任三非键属性 c3取3
所以是1+3+3+1=8 共八组。
==========
然后写题目太累所以我用 A B C D 举例就好
==========
假设有A B C D 四个属性,假设A B 分别都可以是候选键
那就会有重复问题
所以我会这样写
候选键A本身是C3取0
A+任一属性 C3取1
A+任二属性 C3取2
A+任三属性 C3取3
B+任一属性 C3取1
B+任二属性 C3取2
B+任三属性 C3取3
然后,因为候选键加上属性的时候会产生重复
当候选键是加上任意一属性的时候,会产生一个重复
候选键加入两个任意属性的时候会产生两个重复
所以可以推论出,重复状况会是非候选键以外的属性产生的排列
当总共有四个属性,其中两个分别可以成为候选键的时候
非键值属性有两个
所以要减掉C2取0 跟C2取1 跟C2取2
C2取0是因为
如果你A加上任一属性会产生一个超键叫做AB
然后当你取B加上任一,会产生一个超键叫做BA
这时候AB两个会产生一个重复,而这个重复没有非键属性存在
所以非键属性有两个,但都不取,就变成C2取0
C2取1以此类推
当超键组合是三个属性时不论以A为主或者以B为主
重复的时候一定是同时有AB存在的时候产生重复
此时AB占去超键组合的两个属性空间,剩下一个是非键属性
而总共从两个非键属性挑一个放进去 因此C2取1
最后,C2取2也一样
当单一属性候选键与其他任三属性形成超键组合的时候
只要有AB同时存在就会产生重复
然后非键值属性有两个,全部都要填入,所以是C2取2
因此答案就会变成
(1+3+3+1)*2-C2取0-C2取1-C2取2=16-4=12
当然我写答案不会写这么多
我只会大略描述一下为什么这样取直,然后直接C几取几的公式给他
然后直接列答案,就这样结束。
他那个小题每个超键数量答对才给你一分,太小气
所以我也写得很小气就是了。
以上是超键的详解范例
我觉得比较灵活跟机车的只有这个
因为他分数很少,而且不用数学公式我猜应该没办法全拿
但我不是很确定
如果有人用不同写法然后也全拿得,也许可以分享一下...
不过这样写我觉得比罗列所有可能性更快,需求空间更小,同时更直接简单明了
所以我就这样写上去了。
以上。
==========
后面补个附注
因为我们的考科很常用排列
比如说找超键组合
二元树有n个元素时有几种组合可能
有n个括号的算式有几种组合
有n个元素的堆叠有几种可能等等
都会用到排列公式
所以可以背一下巴斯卡三角
1
1 2 1 =4
1 3 3 1 =8
1 4 6 4 1 =16
1 5 10 10 5 1 =32
1 6 15 20 15 6 1 =64
以此类推
各位可以找一下规则
然后每一个的总和都是2的幂次方...
背起来就不用去算什么c几取几
我自己是有背
所以我写很快,完全没有计算过程...三角形列出来答案就出来..
作者: kaocoming (蓝蓝的天~白白的云~)   2014-09-22 22:45:00
你后面可以推广到生成函数 基本上是离散数学的范围了
楼主: ARCHERDEVIL (开弓)   2014-09-22 23:20:00
是说我们的考科几乎都离不开离散数学就是了...
作者: kaocoming (蓝蓝的天~白白的云~)   2014-09-22 23:44:00
其实就一点点而已啦 XDD 不懂大概也不影响大局的程度
楼主: ARCHERDEVIL (开弓)   2014-09-22 23:50:00
大概是不会到松柏分布或者二项式分布的程度不过图论什么的还是要有点基础会比较好我觉得XDD
作者: panda555 (我是胖达不是胖呆哟^ ^)   2014-09-23 14:38:00
呵呵 图论一定要会的 还好黄子嘉教的好xd

Links booklink

Contact Us: admin [ a t ] ucptt.com