zoukankan      html  css  js  c++  java
  • 数据库范式

    第一范式:表的每个字段必须是独立的、不可再分割的单元

    例如有一张student表,里面有一个name字段

    错误:name字段里保存了现有名称,曾用名1,曾用名2.。。。

    正确:name里只保存现有名称或只保存曾用名称。

    第一范式保证数据查询的方便。

    第二范式:在满足第一范式的基础上,每张表只表达一个意思,表中的每个字段都和表的主键有依赖关系

    例如一张员工表employee,员工编号,员工姓名,部门名称

    错误:在此表中添加了一个订单编号字段,而订单编号字段和员工表没有任何关系

    正确:表里的每个字段都应该和员工有关系。订单编号应该单独放在订单表里

    第三范式:在满足第二范式的基础上,要求每张表的除主键以外的其他字段都只能和主键有直接的依赖关系

    例如一张员工表:employee,员工编号(主键),员工姓名,部门名称

    错误:如果在这张表里再添加一个部门编号字段,则部门名称也依赖于部门编号。第三范式要求部门名称只能和主键有依赖关系。

    如果违背的第三范式就有可能出现高数据冗余。

    正确:将部门表抽取成独立的表,部门编号为员工表的外键。

    第三范式可有效降低数据冗余。

    数据库范式是数据库设计时的建议,不要求强制遵守

  • 相关阅读:
    luogu题解 P2184 【贪婪大陆】
    luogu题解 P3763 【[TJOI2017]DNA】
    实战技巧--对拍
    题解 P3620 【[APIO/CTSC 2007]数据备份】
    题解 UVA1316 【Supermarket】
    学习笔记-Rabin-Karp哈希
    题解 POJ1964/UVA1330/SP277 【City Game】
    题解 POJ 2559-SP1805 【HISTOGRA
    题解 P2859 【[USACO06FEB]摊位预订Stall Reservations】
    Linux操作系统(一)
  • 原文地址:https://www.cnblogs.com/StanLong/p/6859001.html
Copyright © 2011-2022 走看看