zoukankan      html  css  js  c++  java
  • 数据库系统原理:范式理论

    • 准备知识
      • 候选码:可以唯一确定一个元组的属性,可以是联合属性,候选码可以有多个。
        • 如:在学生表中,学号可以唯一确定一个学生,那么学号就是候选码
        • 如:再学生选课表中,学号不能唯一确定一个选课关系,而是学号和课号共同确定一个选课关系,所以学号和课号的组合是候选码。
        • 如:在学生表中加入身份证属性,那么学号和身份证号都是候选码,这时是分别做候选码,有两个候选码。
      • 主码:主码是人为规定的,从候选码中选一个
        • 如:在学生表中加入身份证属性,那么学号和身份证号都是候选码,这时人为的规定学号为主码(主键)
      • 主属性:主属性是单个属性,不存在多个,就是一个单独的属性。包含在候选键中的属性就是主属性。
        • 如:在选课关系表中,学号和课号联合起来做主键,当然主键也是候选键,所以学号和课号都是主属性。
      • 非主属性:不是主属性的属性
      • 主关系键:候选键
      • 函数依赖
        • 函数依赖是关系模式中属性之间的一种逻辑依赖关系。
        • eg:在学生关系中,学号决定一个学生的姓名,就说姓名函数依赖于学号。
      • 部分函数依赖
        • eg:学生表(学号,课程号,成绩,姓名)
          • 学号和课程号组合做主键,所以学号和课程号的组合决定所以其他属性
          • 但是姓名只需要学号就可以决定了
          • 所以姓名部分函数依赖于(学号,课程号)
      • 传递函数依赖
        • eg:学生表(学号,姓名,院系,院长)
          • 学号是主键,可以决定其他所以属性
          • 院系不能决定学生学号却可以决定院长是谁
          • 所以院长传递依赖于学号
    • 第一范式
      • 每一列要保持原子特征。列是基本数据项,不能再进行拆分,否则设计成一对多的关系。
      • 不满足第一范式就不能称为关系型数据库。
    • 第二范式
      • 每个非主属性都完全函数依赖于R的主关系键
    • 第三范式
      • 每个非主属性都不传递函数依赖R的主关系键
        image
  • 相关阅读:
    大型网站数据库架构分析
    Mysql 存储引擎中InnoDB与Myisam的主要区别
    设计模式培训之一:为什么要用单例模式?
    架构师成长之路
    hdoj1257 最少拦截系统
    hdoj2571 命运
    hdoj1010 Temperor of the bone
    hdoj1175 连连看
    ny220 推桌子
    ny168 房间安排
  • 原文地址:https://www.cnblogs.com/xiaobaizzz/p/12305819.html
Copyright © 2011-2022 走看看