数据库01-范式总结

数据库:文档型sqlite,服务型mysql
范式:关系模式-一张表的结构 关系-一张实例化了的数据表
    1NF的定义为:每个属性都不可再分
    2NF:消除了非主属性对于码的部分函数依赖(非主属性不能由部分码确定,必须由全部码才能          唯一确定非主属性)
    解决方法:把部分依赖的关系,形成新的表分离
    进步:数据冗余过大    修改异常
    3NF:消除了非主属性对于码的传递函数依赖(非主属性之间存在着主键的关系)
    解决方法:直接把非主传递的属性分成新的表,在原表中去掉非主的非主属性
    进步:数据冗余过大    删除异常
    BCNF:消除主属性对于码的部分与传递函数依赖
总结:2范式:主和非主的关系解除
        3范式:非主属性之间的解除
        BCDF:主属性之间的解除
问题所在:
    数据冗余过大 :表重复太多
    插入异常:只要码没有确定,非主属性就不能往表里面写入
    删除异常:一旦把主键删完了,对应的非主属性全部都消失了
    修改异常:一个属性在多个表中都有记录,删除一个表的,别的表中就会有异常
补充:
    函数依赖 :‘于’代表的是反方向
        完全函数依赖:学号 F→ 姓名
        部分函数依赖:(学号,课名) P→ 姓名
        传递函数依赖: Z 函数依赖于 Y,且 Y 函数依赖于 X (『Y 不包含于 X,且 X 不函数依        赖于     Y』这个前提),那么我们就称 Z 传递函数依赖于 X
    属性:
        “码”:唯一标示确定一条记录的属性(可以是一个字段也可以是多个字段)
        “主属性”:当码是多个对象的时候,其中的任意一个属性就是主属性
        “部分函数依赖”:非主属性由码的一部分就能唯一确定
数据库Linux下安装:
安装:sudo apt-get install mysql-server mysql-client
service mysql start        service mysql stop        service mysql restart
允许远程连接
找到mysql配置文件并修改
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address=127.0.0.1注释
登录mysql,运行命令
grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘mysql‘ with grant option;
flush privileges;
重启mysql

    

原文地址:https://www.cnblogs.com/tony-xu999/p/8508188.html

时间: 2024-10-19 03:52:51

数据库01-范式总结的相关文章

数据库的范式

这是我写博客的第一篇短文,也是关系数据库相关的第一个知识点.谈起关系型数据库,我个人喜欢先了解数据库的几范式,在关系型数据库中有6种范式,但是日常工作常见的有三种,即1NF .2NF.3NF.后面的4NF--6NF用的比较少:学习关系型数据库必须了解数据库的范式,虽然有的同事朋友在工作过程在不知不觉的有应用到,但是不一定对其很理解,但是这个问题在面试中 经常问到,以测试你对数据库基础知识了解的踏实不踏实.因为数据库的范式在IT基础课程中把她定义得文ZuZu的,狠令人费解.今天用个人的语言理解下数

关系型数据库三大范式

基础概念:关键字.主关键字.候选关键字,非关键字 如果某个字段或多个字段的值可以唯一地标识一条记录,则该字段或字段组就称为关键字.如果一个关键字是用以标识每条记录的唯一性,并作为该表与其他表实现关联之用,则称其为主关键字(主键,primary key)或主码.除主关键字以外的其他关键字称为候选关键字. 除关键字意外的字称为非关键字 例如,有一个表字段为:id  firstname lastname address phone IDcard那么id或IDcard或firstname+lastnam

数据库三大范式最简单的解释

关系数据库中的关系必须满足一定的要求,即满足不同的范式.目前关系数据库有六种范式:第一范式(1NF).第二范式(2NF).第三范式(3NF).第四范式(4NF).第五范式(5NF)和第六范式(6NF).满足最低要求的范式是第一范式(1NF).在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推.一般说来,数据库只需满足第三范式(3NF)就行了. 很多资料上的范式都讲的很难理解,这里总结一下三大范式,便于读者简易的理解. 1NF:字段是原子性的,不可分; 2NF:有主键,

数据库三大范式,我的理解

数据库三大范式,我之前是知道的,但是内容比较文绉绉,初学的时候不容易把握其根本. 首先是第一范式: 有主键,且数据库表的每一列都是不可分割的原子数据项.也可以理解为:无重复的列. 其实这句话的本质是控制字段的颗粒度(也许不该用这个词).这个地方的无重复和不可分割是什么意思呢?其实是这样的.首先如果有两个字段,一个叫籍贯,一个叫家乡,是不是就有点蠢?(这个地方不考虑其区别的话). 对重复的第一层理解是有两个字段其实是描述同样的东西,如果表格这么设计了,势必会导致数据的冗余. 第二层理解是,字段也许

戏谈数据库三范式

数据库三范式想必大家并不陌生,官方的解释很抽象,初学者比较难理解.对于这块知识,我是看了会,会了忘,忘了再看.每当别人问我的时候,必须先看看教材,回顾一段时间才能理清. 为什么当别人提问时不能立马把三范式的经典思想说出来呢?通过听米老师的"如何高效学习"这堂课,我发现原因是我自己没有融入到三范式中,三范式没有和自己发生关系.下面,我用三个有趣的小故事帮助大家快速.深刻的理解三范式的含义. 第一范式,官方解释:关系模式R的每个关系r的属性值都是不可分的原子值.这个官方解释还不算太难,比如

数据库三范式是什么?

第一范式(1NF):字段具有原子性,不可再分.所有关系型数据库系统都满足第一范式) 数据库表中的字段都是单一属性的,不可再分.例如,姓名字段,其中的姓和名必须作为一个整体,无法区分哪部分是姓,哪部分是名,如果要区分出姓和名,必须设计成两个独立的字段. 第二范式(2NF): 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF). 要求数据库表中的每个实例或行必须可以被惟一地区分.通常需要为表加上一个列,以存储各个实例的惟一标识.这个惟一属

数据库三大范式及事务

数据库三大范式 为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结.要想设计一个结构合理的关系型数据库,必须满足一定的范式. 在实际开发中最为常见的设计范式有三个: 1.第一范式(确保每列保持原子性) 第一范式是最基本的范式.如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式. 第一范式的合理遵循需要根据系统的实际需求来定.比如某些数据库系统中需要用到"地址"这个属性,本来直

数据库的范式详解

数据库范式1NF 2NF 3NF BCNF(实例)     设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合.构造数据库必须遵循一定的规则.在关系数据库中,这种规则就是范式.关系数据库中的关系必须满足一定的要求,即满足不同的范式.目前关系数据库有六种范式:第一范式(1NF).第二范式(2NF).第三范式(3NF).第四范式(4NF).第五范式(5NF)和第六范式(6NF).满足最低要求的范式是第一范式(1NF).在第一范式的基础上进一步满足更多要求的称为第二范式

秒懂数据库三范式

懂得数据库范式,对于设计出一个合理的数据库有很大的帮助.本文根据自己对数据库范式的理解,结合具体的例子,尝试着用通俗易懂的语言讲明白数据库三范式. 第一范式(列不可拆分) 如果数据库中所有的字段值都是不可拆分的原子值,那么就满足第一范式了.简单点说就是不能有表中表,所以关系数据库都满足第一范式.例子略. 第二范式(完全依赖) 第二范式是在第一范式的基础上,保证所有非主键都依赖于主键,对于联合主键,非主键得完全依赖(也就是说不能依赖于联合主键的一部分). 比如要设计一个订单信息表,因为订单中可能会

数据库设计范式实例解析

设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合.构造数据库必须遵循一定的规则.在关系数据库中,这种规则就是范式.关系数据库中的关系必须满足一定的要求,即满足不同的范式.目前关系数据库有六种范式:第一范式(1NF).第二范式(2NF).第三范式(3NF).第四范式(4NF).第五范式(5NF)和第六范式(6NF).满足最低要求的范式是第一范式(1NF).在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推.一般说来,数据库只需满足第三范