mysql知识树整理

关系型数据库都使用的是同一个模型:  E-R关系模型(设计的过程)

数据可解决的问题:持久化存储,优化读写,保证数据的有效性

当前使用的数据库,主要分为两类:

           1.文档型 ,如sqlite,就是一个文件。通过对文件的复制完成数据库的复制

            2.服务型,如mysql,postgre   数据存储在一个物理文件中,但是需要使用终端以tcp/ip协议链接,进行数据库的读写

E-R模型

当前物理的数据库都是按照E-R模型进行设计的

E表示 entry  实体(实体包含属性)

R表示relationship  关系

一个实体转换为数据中的一个表

关系描述两个实体之间的对应规则,包括

  • 一对一
  • 一对多
  • 多对多

关系转换为数据中表中的一个列,在关系型数据库中的一行就是一个对象

数据库用来存放表,表的设计有实体得来(E),表中存放的每一行就是一个实体的对象

三范式

  • 经过研究和对使用中问题的总结,对于设计数据库提出了一些规范,这些规范被称为范式
  • 第一范式(1NF):列不可拆分(有实际问题使用)
  • 第二范式(2NF):唯一标识(通过一个标识可以找到表中的一个对象)
  • 第三范式(3NF):引用主键(引用关系)
  • 说明:后一个范式,都是在前一个范式的基础上建立的

--------------------------------------------------------------------------------------------------------------------------------------

安装

sudo apt-get install mysql-server mysql-client

启动

启动
service mysql start
停止
service mysql stop
重启
service mysql restart



允许远程链接

'''待写'''

数据完整性

  • 一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中
  • 在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束

字段类型

  • 在mysql中包含的数据类型很多,这里主要列出来常用的几种
  • 数字:int,decimal              ex:decimal(5,2)   一共有5位,小数有2位
  • 字符串:char,varchar,text           char/varchar  有限字符     char存的字符是固定的/char(8)  将来添加字符的时候如果不够8个,会在右侧添加空格【电话】                  varchar(8)有多少就是多少【姓名】               text 无限(如添加一个商品的描述信息)        一旦涉及字符就要 注意编码 【创建数据库的时候指定编码格式】
  • 日期:datetime
  • 布尔:bit                 bit(8) 8位              基于两种状态的都可以使用

约束

  • 主键primary key            不能重复,唯一标识    【一个表中主键只能有一个唯一标识】物理上存储的结构是按照主键来维护的
  • 非空not null                   
  • 惟一unique                   不能重复【可以有多个,某一个字段的值唯一】
  • 默认default
  • 外键foreign key

相关文章: