字段、数据库表-三大范式及存储方式-by小雨
这几周个人几篇文章介绍了改字段、数据库表-的文章. 关联文章的地址
数据库三大范式
第一范式(1NF):
是指数据库表的每一列都是不可分割的基本数据项,统一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。个人总结:不能有表中表。
如数据表不能这样计划,因为数据表的一个维二表:
姓名 | 思想道德素质测评(20%) | 专业素质测评(60%) | |||||||||
础基分 | 励奖分 | 罚惩分 | 最后得分 | 名排 | 必修课成就 | 励奖分 | 罚惩分 | 最后得分 | 名排 | ||
得分 | 名排 | ||||||||||
张三 | 78 | 0 | 0 | 78 | 2 | 71.7 | 1 | 0 | 0.0 | 71.7 | 1 |
王五 | 78 | 0 | 0 | 78 | 2 | 71.3 | 24 | 0.0 | 0.0 | 71.3 | 2 |
李四 | 78 | 0 | 0 | 78 | 2 | 70.8 | 25 | 0.0 | 2.0 | 68.8 | 3 |
而这样计划是可以的:
姓名 | C言语 | java | MySQL | Oracle |
张三 | 78 | 88 | 68 | 78 |
王五 | 78 | 55 | 87 | 78 |
李四 | 78 | 86 | 91 | 56 |
第二范式(2NF):
要求数据库表中的个每实例或行必须可以被唯一地辨别,数据库表中不存在非症结字段对任一候选症结字段的分部函数依赖(分部函数依赖指的是存在合组症结字中的某些字段定决非症结字段的况情),也即全部非症结字段都完整依赖于意任一组候选症结字。个人总结:非主属性依赖于主属性
如以下成就表
student_id | course_id | grade | birthday |
20101661 | 1 | 56 | 1991,07,14 |
20101662 | 3 | 58 | 1993,7,25 |
这样计划不可,因为grade完整依赖于主码student_id、course_id,而birthday只依赖于分部主码student_id。所以要将其拆成分两个表
student(student_id, birdthday);
grade(student_id, course_id, birthday);
course_id为联系student表的外键
第三范式(3NF):
要求一个数据库表中不包括已在其它表中已包括的非主症结字信息,在第二范式的础基上,数据表中如果不存在非症结字段对任一候选症结字段的传递函数依赖则符合第三范式。个人总结:不能有传递性
如以下表
student_id | course_id | birthday | SD(在所系的名称) | SL(在所宿舍楼) |
20101661 | 1 | 1991,07,14 | 软件学院 | 1栋 |
20101662 | 3 | 1993,7,25 | 经管学院 | 2栋 |
student_id为主码,SL依赖于student_id,但可以从非主码属性SD导出,即知道了SD,也就知道了SL。可以奖这个表拆成分两个表,如下:
grade(student_id, course_id,SD);
department(SD, SL);
SD为联系grade表的主键
数据库的存储式方
次序放存,均匀询查次数为系关的录记个数的1/2;
杂凑存入,均匀询查次数由杂凑算法定决;
索引放存,要肯定立建何种索引,及立建索引的表和属性;
聚簇放存,录记聚簇是指将不同型类的录记分配到同相的物理区域中,以充分利用次序性的长处,进步问访速度。
文章结束给大家分享下程序员的一些笑话语录: PC软件体积大,是因为一个PC软件功能往往较多,能够满足你一个方面的需求,而一个iphone软件往往没几行代码,干一件很小的事情,自然需要的软件就多。就像吃西瓜和吃瓜子的来比数目,单位不同啊。
字段、数据库表-三大范式及存储方式-by小雨相关推荐
- 数据库的三大范式以及五大约束
实体:表: 属性:表中的数据(字段): 关系:表与表之间的关系: 数据库设计三大范式(重点): 第一范式(1NF):数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性: 例 ...
- mysql数据库五大对象_数据库的三大范式以及五大约束
实体:表: 属性:表中的数据(字段): 关系:表与表之间的关系: 数据库设计三大范式(重点): 第一范式(1NF):数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性: 例 ...
- (转载)简洁、明晰!数据库设计三大范式应用实例剖析
(转载http://bbs.database.ccidnet.com/read.php?tid=325895) 简洁.明晰!数据库设计三大范式应用实例剖析 引言OL~eR{q ;iC,$vZ 0} ...
- Mysql 数据库设置三大范式 数据库五大约束 数据库基础配置
数据库设置三大范式 1.第一范式(确保每列保持原子性) 第一范式是最基本的范式.如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库满足第一范式. 第一范式的合理遵循需要根据系统给的实际需求 ...
- 2017年10月21日 数据库基础三大范式
1. 数据库里面常用 int 整型 nvarchar 字符串 float 小数型 decimal(,) 小数型 money 小数型 datetime 时间类 ...
- 什么是数据库的三大范式?
数据库的三大范式(重点) 第一范式: 原子性:保证每一列不可再分. 第二范式: 前提:满足第一范式 每张表只描述一件事情. 第三范式: 前提:满足第一范式和第二范式 第三范式需要确保数据表中的每一列数 ...
- 数据库的三大范式详解
数据库的三大范式 第一范式(1NF) 原子性:保证每一列不可再分 举例: 在上面的表中,family_inf列中不满足原子性的要求,故不满足第一范式.需调整如下: 第二范式(2NF) 在第一范式的基础 ...
- Python3,网站搭建之数据库表设计及数据存储!文末的彩蛋,我酸了~
搭建自己的网站,是作为一个码农成功标志之一, 那其他成功标志有啥呢, 嘿- 左手搂着白富美,右手撸着小烧烤,脚底踩着桑塔纳- 嗯~ 这么潇洒的人生,就从数据库表设计及数据存储开始吧! 数据库表设计及存 ...
- 学习数据库的三大范式
学习数据库的三大范式 第一范式:确保每列的原子性 如果每列(或者每个属性)都是不可再分的最小的数据单元(也称最小的原子单元),则满足第一范式. 第二范式:在第一范式的基础上,确保每列都和主键相关 如果 ...
- 【数据结构 C描述】有两个整数集合 A 和 B 分别用两个线性表 LA 和 LB 表示,求:一个新的集合A=A∪B,A仍然为纯集合,线性表采用链式存储方式。【单链表】
这是我的作业题,作业写完后再附到博客中,可能代码写得很烂.虽然是C语言写的,但是我在其中加入了C++的写法,例如cout.我懒得写printf的格式控制符,所以用cout来输出内容,这样我感觉简便多了 ...
最新文章
- jffs2 告警 和 一般性错误
- 北斗导航 | 北斗RDSS短报文通信及定位原理(RD双星定位、通信与授时、附代码)
- 如何解决Win11系统蓝牙鼠标经常掉线
- 面试官系统精讲Java源码及大厂真题 - 28 Future、ExecutorService 源码解析
- 看完上汽制动的数字化,才发现以前的数据可视化大屏都白做了
- 中级工程师考试2019——地图制图与地理信息系统
- android 内存分析工具_Android Camera内存问题剖析
- python中迭代器_【Python】解析Python中的迭代器
- 51nod1130---斯特林公式
- linux 进程学习
- 数学分析:Taylor多项式
- 19种音频格式介绍及音质压缩比的比较
- 聊聊旷厂黑科技 | 更真切感受影像世界的美好,旷视实时双超AI算法还原你的“夏日回忆”...
- 2012年那些大败局
- 微信小程序 修改radio样式
- 淘宝下单时出现关单提醒
- 身份证照片获取个人信息与银行卡4要素验证
- 读书笔记:人性的弱点读后感
- 反跟单讲解1:重新认识期货反向跟单
- IDEA tomcat中deployment点击+号没有出现artifcat