IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 如何判断设计数据库是否合理? -> 正文阅读

[大数据]如何判断设计数据库是否合理?

摘要

本文讲述如何判断设计的数据库是否合理(设计的数据库表符合第一范式、第二范式、第三范式等)

前置知识

超码、候选码、主码

超码

关系的超码是一个或者多个属性的集合,这些属性上的取值保证可以唯一识别出关系中的元组。
举个例子,有属性为<学号,身份证,姓名,年龄,班级>这样的一个表,其中学号、身份证或者<学号,身份证>都能唯一识别出关系中的元组。那么学号、身份证以及<学号,身份证>都被称为超码。

候选码

候选码是一个最小的超码,它是一组构成超码的属性集,但是这组属性的任意子集都不是超码
比如有属性为<学号,选课>这样的一张选课表,其中<学号,选课>两个属性构成一个超码,但是学号或者选课属性单独提取出来,不能作为超码,那么<学号、选课>就是一组候选码。

主码

关系中的一个候选码被选作为超码
在属性为<学号,身份证,姓名,年龄,班级>这样的一个表的例子中,学号,身份证都是超码,也是候选码,可以选择学号或者身份证作为主码。

第一范式

如果关系R中每个属性都是不可再分的(原子的),并且每个属性都是单值的,则称关系R满足第一范式

第二范式

如果关系R属于第一范式,并且每个非主码属性都函数依赖于整个候选码,而不是依赖于部分候选码,则称关系R满足第二范式。
第一范式转化成第二范式:
1、有限判断主码的规范性
2、将依赖部分候选码的非主码属性和所依赖部分码组成一个关系
3、将依赖整个候选候选码的非主属性和整个候选码组成另一个关系

第三范式

若关系R属于第二范式,并且它的非主属性只函数依赖于候选码,而不依赖于其他非主属性,则称R满足第三范式。
第二范式转换为第三范式:
1、将不止依赖于主码的非主属性和所依赖的非主属性组成一个关系
2、原有关系中去掉那些不止依赖于主码的非主属性,剩余部分组成一个关系

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-22 14:44:36  更:2021-09-22 14:46:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:36:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码