SqlServer教程

初入Sql Server 之三范式

本文主要是介绍初入Sql Server 之三范式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、简介

所谓的范式指的是设计数据库时的一种规范

  • 第一范式:确保每个字段的原子性,即不可再进行差分
  • 第二范式:在第一范式的基础上,确保每个字段必须直接依赖于主键,不能只依赖主键的一部分
  • 第三范式:在第二范式的基础上,确保每个字段都与主键有直接关联,其他字段之间不能相互依赖

二、举例

第一范式:

假设一个员工信息表中包含 "家庭住址" 这一字段,存入信息为 ”中国江苏省南京市江北新区“, 但是每次数据请求都只希望看到员工所属的省份或者城市,那么这个字段查询到的数据就会不太满足需求

修正:可以将其拆分为国家、省份、市、区/县 三个部分,这样便符合第一范式

第二范式:

假设一个表中有 p_id、 c_id、  p_sorce、p_name、c_name  ,分别是学生id、课程id、分数、学生姓名和课程名,主键为(p_id、 c_id)只有分数却完全依赖于主键,而姓名和课程名都仅仅依赖于主键的一部分

修正:可以将拆分为三个表  分别(p_id p_name) (c_id c_name)  (p_id    c_id  p_sorce)

第三范式:

假设一个员工表中,包含员工编号、员工姓名、部门名称、部门经理    员工编号为主键,部门、经理和员工之间存在相互依赖的关系

修正:员工表:员工编号  员工姓名  员工部门                 部门表 : 部门编号 部门名称  部门经理

这篇关于初入Sql Server 之三范式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!