出现数据库的原因:
为了数据的存储所以就出现了数据库
数据库:
就是为了存储大量的数据,还有就是可以在大量的数据中快速查找。
mysql数据库:
是当前应用非常广泛的一款关系型数据库
数据库的一个排名:
数据库的目的:
就是存储数据,
优点:
优化了读写,在大量的数据中可以快速的找到想要的数据
我们现在学的数据库都是关系型数据库,关系型数据库有个基本的设计模型,这个设计模型我们称为E-R模型,MySql等之类的,之所以叫叫做关系型模型是因为都用了E-R模型。
区别:
核心代码不一样,核心代码不一样就意味着它的存储方式读取方式不一样,但是它的数据结构都是基于E-R。
数据库简介:主要分为两类
文档型:如sqlite(应用在移动端手机电视平板电脑),就是一个文件,通过对文件的复制完成数据库的复制。
服务型:如mysql,postgre,数据存储在一个物理文件中,但是需要使用终端以tcp/ip协议链接,进行数据库的读写操作。
数据库解决的问题:持久化存储数据,优化读写,保证数据的有效性。
E-R模型:
1.当前物理的数据库都是按照E-R模型进行设计的
E表示entry,实体
R表示relationship,关系
一个实体转换为数据中的一个表
关系描述两个实体之间的对应规则,包括:
一对一
一对多
多对多
关系转换为数据表中的一个列*在关系型数据库中一行就是一个对象。
设计数据库的三范式(只要是关系型数据库都有这些规范):
经过研究和对使用中的问题的总结,对于设计数据库提出了一些规范,这些规范北城为范式
1.第一范式(1NF):列不可拆分
2.第二范式(2NF):唯一标示(有个属性唯一的表示数据能够确定找到数据如:1.2.3..........)
3.第三范式(3NF):引用主键(表与表的引用也是需要有一个唯一能够确定标的名字)
说明:后一个范式都在前一个范式的基础上建立的
数据完整性:
1.一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中
2.在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型,约束。
字段类型:
在MySQL总包含的数据类型很多,这里主要列出常用的几种
数字:int(整数),decimal(小数)
decimal(3,1)表示一共有三位小数有一位,正确写法:33.1、1.2.......错误写法:333.2、2.22..........
字符串:char,varchar,text
区别:
char与varchar都是有限字符串,text大文本(就是有很多的字符)
char 与varchar的区别:
char:存的字符是固定的
varchar:存的字符是不固定的
char(5)"as">>>"as "(电话号)
varchar(5)"as">>>"as"(如:名字)
日期:datetime
布尔:bit
注意:我们用到字符就需要考虑编码问题
gb-2312:简体中文字符编码
utf-8:国际通用编码
在创建数据库的时候会指定编码
约束:
主键primary key(不能重复,这样检查会很快)
非空:not null(强制检查,不能空,空了会报错)
唯一:unique(值不能重复)
默认:default(不写直接读取之前写好的数据)
外键:foreign key