首页 > 其他 > 详细

复试_Ex2013_

时间:2020-03-14 15:39:53      阅读:53      评论:0      收藏:0      [点我收藏+]

复试_Ex2013

三、如下关系模式 Discuss(user1,user2,topic)
插入时 user1 的字典序号总是小于 user2
1) 写 SQL 语句:所有被 Alice 和 Bob 讨论但不被 Alice 和 Crowe 讨论的话题
2) 写 SQL 语句:被超过 10 对用户讨论的话题的个数
3) 为什么不给所有单属性建立索引,说出至少 2 条原因。
4) 数据库管理员如何为数据库建立一组好的索引。

  1. select d1.topic
    from Discuss d1 
    where d1.user1 = 'Alice' 
         and d1.user2 = 'Bob'
         and d1.topic not in (select
                                from Discuss d2 
                                where d2.user1 = 'Alice'
                                 and d2.user2 = 'Crowe')
  2. select count(*)
    from (select d.topic
    from Discuss d
    group by d.topic
    having count(*) > 10) as tmp
  3. 三个方面:时间、空间、后期维护

  4. 应该建立索引的条件

    1) 在经常需要搜索的列上,可以加快搜索的速度;

    2) 在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构;

    3) 在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;

    4) 在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;外键建索引由于连接加快还会减少死锁几率。

    5) 在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间;

    6) 在在经常使用在 WHERE 子句中的列上面创建索引,加快条件的判断速度。

技术分享图片

(1)将以上关系模式分解到3NF,在主码下面划线,请用箭头标识外码和它指向的主码之间的联系。请注意,分解到3NF后,以上性质有些可能不再成立(10分

(2)A到H哪些性质继续成立(10分)

(3)对于新的关系模式不满足的性质,数据库管理员如何使得性质继续成立?(10分)

  1. Professor(professor_id ,professor_name,professor_office_id)
    Student(student_id,student_name,studeng_office_id,student_designated_refrigerator_id) references Refrigerator

    Refrigerator(refrigerator_id,refrigerator_owner_id,refrigerator_size)

    Secretary(Secretary_id,Secretary_name,Secretary_office)

  2. A,C,D,E

  3. 创建关系:

    1. Wroks(professor_id,student_id) References Professor,Student
    2. Pro_Sec(professor_id ,Secretary_id) References Professor,Secretary

五、关系模式(A,B,C,D,E,F,{AB->C,BC->AD,D->F,CF->B}),请问{A,B}的属性闭包是什么?

闭包算法:P191

1) X^0^ = AB, 求B

2) B = C,/这里的B是指从AB推出来的/

3) \(X^{1} = X^{0} \cup B\) = ABC

这时候再用X^1^ 代替X^0^继续算法

得到答案:ABCDF

复试_Ex2013_

原文:https://www.cnblogs.com/lvgj/p/12492071.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!