zoukankan      html  css  js  c++  java
  • MySQL数据库的设计和表创建

    首先,我们使用Navicat Premium编辑器创建一个用户,同时设置用户权限,MySQL默认有一个root用户,拥有最高权限

    下面,我们先创建一个用户

    CREATE USER  'aaa'@'localhost'  IDENTIFIED  BY  'aaa';

    这里我们通过CREAT USER 创建了一个叫  'aaa'@'localhost' 的用户。

    GRANT ALL ON *.* TO 'jredu'@'localhost';

    再通过GRANT给我们创建的用户分配权限,这里*.*表示用户可以处理数据库中的所有表。

    创建完用户我们开始创建一个自己的数据库

    CREATE DATABASE IF NOT EXISTS myDB;

    同样的我们使用CREAT方法来创建数据库,这里为了不重复创建,我们使用IF NOT EXISTS写法。

    最后是使用我们建好的数据库

    USE  myDB

    到这里我们通过Navicat Premium创建了一个简单的数据库

    下面我们来看下MySQL中常见的几种数据类型

    MySQL中主要有字符型、整形、浮点型和日期型四种数据类型

    一、字符型:
    ① CHAR(N):固定N个长度的字符串,如果长度不够会自动空格补齐。N的范围,0~255
    ② VARCHAR():存储可变长度的字符串。 最常用的。
    ③ TEXT:存储可变长度的字符串。常用于发布文章等大段内容
    ④ TINYTEXT:小文本 0~2^8-1 * 10;
    ⑤ MEDIUMTEXT:0~2^24-1 * 10^3;
    ⑥ LONGTEXT:0~2^32-1 * 10^4;
    ⑦ enum('男','女');

    二、整形:
    ① TINYINT: 无符号0~2^8-1 有符号 -2^7~2^7-1;
    ② SMALLINT: 无符号0~2^16-1 有符号 -2^15~2^15-1;
    ③ MEDIUMINT: 无符号0~2^24-1 有符号 -2^23~2^23-1;
    ④ INT:无符号0~2^32-1 有符号 -2^31~2^31-1; 最常用。
    ⑤ BIGINT :无符号0~2^64-1 有符号 -2^63~2^63-1;
    三、浮点型:
    ① FLOAT:可以精确到小数点后七位有效数字:
    ② DOUBLE: 可以精确到小数点后十五到十六位数字

    四、日期型:
    几乎不用(由于时间存储使用字符串或时间戳,所有数据库中几乎不用日期类型)
    ① DATE:存储日期和时间数据
    ② `TIMESTAMP: 比date更精确

    数据库设计的三大范式

         第一范式(1NF)数据表中的每一列必须是不可拆分的最小单元,也就是确保每一列的原子性。
    列如 userinfo: 山东省烟台市 11111111
    可拆分为: userAds: 山东省烟台市 userTel 1111111

         第二范式(2nd NF):满足1NF后,要求表中的所有列都必须依赖于主键,而不能有任何一列与主键没有关系,也就是说,一个表只描述一件事情
    例如:订单表只能描述订单相关的信息,所以所有字段都必须与订单ID相关
    产品表只描述与产品相关的信息,所以所有的字段都必须与产品ID相关
    因此:一张表中的产品信息与订单信息不能同时存在

              第三范式(3NF)满足2NF后要求:表中的所有字段只与主键相关,而不与其他的列相关,表中的每一列只能依赖于主键

    总结:

    【第二范式与第三范式的本质区别】

    在于有没有分出两张表,第二范式是说一张表中包含了多种不同实体的属性,那么必须要分出多张表,第三范式要求已经分出了多张表,那么一张
    表中只能有另一张表的ID,不能有其他的任何信息,其他的信息一律用主键在另一表查询。

  • 相关阅读:
    UVA 408 (13.07.28)
    linux概念之用户,组及权限
    Java实现 蓝桥杯 历届试题 网络寻路
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 九宫重排
    Java实现 蓝桥杯 历届试题 九宫重排
  • 原文地址:https://www.cnblogs.com/adaia/p/7044424.html
Copyright © 2011-2022 走看看