• 数据库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


        

  • 相关阅读:
    Plugs介绍(翻译) .net/C#开源操作系统学习系列六
    Cosmos的里程碑2(Mile Stone 2)之浅尝PCI总线、设备编程.net/C#开源操作系统学习系列九
    [翻译] WindowsPhoneGameBoy模拟器开发二Rom文件分析
    Cosmos开篇、本系列目录.net/C#开源操作系统学习系列一
    Cosmos的汇编级调试器(翻译) .net/C#开源操作系统学习系列七
    数据库牛人榜(随时更新)
    redis大key删除
    Linux LVM硬盘管理及LVM扩容
    Linux学习之CentOS(十一)CentOS6.4下Samba服务器的安装与配置
    Linux学习之CentOS(三十)SELinux安全系统基础
  • 原文地址:https://www.cnblogs.com/tony-xu999/p/8508188.html
Copyright © 2020-2023  润新知