首页 > 数据库 >1.数据库三大范式

1.数据库三大范式

时间:2023-11-13 15:02:25浏览次数:43  
标签:依赖 范式 数据库 ID 满足 员工 主键 三大

第一范式(1NF):列的原子性

  • 数据库表中的每个字段都是原子性的,即不可再分的。

    应拆分为

第二范式(2NF):消除部分依赖

  • 满足一范式的前提下,表中不存在部分依赖。
  • 在联合主键的情况下,非主键列不能只依赖主键的一部分。

    联合主键:学生ID课程ID,且满足1NF
    依赖情况:学生ID课程ID决定得分;而课程名称只依赖于课程ID,与学生ID没有依赖关系,即只依赖于主键的一部分,不满足2NF。
    修改表后满足2NF

第三范式(3NF):消除传递依赖

  • 满足二范式的前提下,表中不存在传递依赖。
  • 非主键字段只依赖于主键,而不依赖于其他非主键字段。

    主键:员工ID
    依赖情况:员工姓名依赖员工ID所属部门依赖员工ID部门负责人依赖员工ID所属部门,存在员工ID->所属部门->部门负责人(非主键字段的传递依赖情况),不满足3NF。
    修改表后满足3NF

文章参考:https://baijiahao.baidu.com/s?id=1780708461518887980&wfr=spider&for=pc

标签:依赖,范式,数据库,ID,满足,员工,主键,三大
From: https://www.cnblogs.com/jsqup/p/17829031.html

相关文章

  • 不同以“网”!时序数据库 TDengine 官网全新升级、改版上线啦
    改版升级,不同以“网”为了更好地服务客户让大家能够更便捷、清晰地了解我们的产品和功能我们决定给TDengine官网换个新“皮肤”精心筹备下新官网终于成功与大家见面啦......
  • 在Android Studio中如何从MySQL数据库中展示项目中的数据?
    要在AndroidStudio中从MySQL数据库展示项目中的数据,你需要遵循以下步骤:1.添加MySQLConnector/J依赖项到你的项目的build.gradle文件中:```groovydependencies{implementation'mysql:mysql-connector-java:8.0.23'}```2.在AndroidManifest.xml文件中添加INTERNET......
  • 人大金仓数据库的快速安装部署
    人大金仓数据库的快速安装部署说明人大金仓数据库是1999年以王珊教授为代表,中国人民大学一批最早在国内开展数据库教学、科研、开发的专家,创立了我国第一家数据库公司——人大金仓。王珊教授师从萨师煊教授.是中国人民大学的博士生导师人大金仓的创立时间实际上是比武汉......
  • 大型数据库实验六
    实验六--熟悉Hive的基本操作1、创建一个内部表,字段分隔符为英文逗号2、创建一个外部分区表dividends(分区字段为exchange和symbol),字段分隔符为英文逗号3、从stocks.csv向stocks导入数据4、创建一个未分区的外部表dividends_unpartitioned,并从dividends.csv向其中导入数据......
  • 给层级目录添加分类父类(父类为临时组合节点,非数据库数据)
    @DatapublicclassTreeimplementsSerializable{privatestaticfinallongserialVersionUID=1L;/**节点主键*/privateLongpkId;/**节点ID*/privateStringid;/**节点父ID*/privateStringpId;/**节点名称*/privateStringname;/**节点标题*/......
  • 首发!文心一言插件精品课,共创大模型应用新范式
    “AI原生应用要能解决过去解决不了、解决不好的问题,应用才是大模型存在的意义。”越来越多人用AI打造自己的生产力工具、专业领域行业助手、游戏娱乐影音大师……你是否跃跃欲试却无从下手?机会来了!《文心一言插件开发课》震撼来袭,一站式解决你的技术难题,课程火热报名中!激发创新活......
  • SQL数据库设置ID自增
    CREATETABLEPdata(idINTAUTO_INCREMENTPRIMARYKEY,AVARCHAR(255),BVARCHAR(255),CVARCHAR(255));在这个示例中,id字段被定义为自增的主键。当你执行插入操作时,无需提供id的值,数据库会自动生成一个唯一的id值。另外,如果你的表已经创建好,并且想要修改某个字段......
  • mysql数据库4大语言
    1.DDL(数据定义语言):DDL主要用于定义数据库对象,如创建、修改和删除表、索引、视图、序列等对象。常用的DDL命令包括:CREATE、ALTER、DROP、TRUNCATE等。2.DML(数据操作语言):DML主要用于对数据库中的数据进行操作,如插入、更新和删除数据等。常用的DML命令包括:INSERT、UPDATE、DELETE......
  • 移动办公系统--数据库设计心得
    前言小组名称:赛博朋克数据库设计:苏晨阳、潘胜蓝PowerDesign绘制:熊偲彤、党郑骅霖一、设计背景移动办公系统是为员工和领导提供线上服务的移动端APP和WebAPP,提供任务完成和任务管理,审批等功能服务的移动系统。通过本应用,期望能够方便并且优化员工和领导办公的体验和流程.二......
  • python3使用pymsql操作mysql数据库
    操作系统:Windows10_x64python版本:3.9.2pymysql版本:1.0.2MySQL版本:5.7.38 之前写过一篇关于python操作mysql数据库的文章:https://www.cnblogs.com/MikeZhang/p/pythonOptMysql20170703.html当时是基于python2.7和mysql5.5来整理的,但目前python2.7已经不再维护,主......