ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

初入Sql Server 之三范式

2022-06-14 22:32:00  阅读:169  来源: 互联网

标签:范式 name 表中 id 初入 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)

第三范式:

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

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

标签:范式,name,表中,id,初入,Sql,Server,主键,员工
来源: https://www.cnblogs.com/just-like/p/16353190.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有