目录
什么是数据库
数据库是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享,简单来说就是有组织有结构的存储数据,以方便进行对数据的查询、统计。
数据库分类
按照表与表之间是否有联系,分为关系型数据库和非关系型数据库两种类型。
关系型数据库
关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。简单说,关系型数据库是由多张存在确定的关系并且能够互相连接的表组成的数据库。
常见的关系型数据库:Oracle、MySQL、PostgreSQL、Microsoft SQL Server等。
优点
1.使用的都是表结构、格式相对统一、易于维护;
2.都是使用标准的SQL语句(ANSI与ISO、SQL 92和99标准)进行操作,使用方便,可以满足复杂的查询、统计;
3.安全,数据存储在磁盘中。
缺点
1.读写性能相对比较差,不能满足大批量的数据高效的进行读写;
2.表的结构固定,灵活度较低。
非关系型数据库
非关系型数据库(NoSQL,意为不仅仅是 SQL)。通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。
常见的非关系型数据库:redis、MongoDB等。
优点
1.存储数据的格式可以是很多种形式,应用的场景广泛且灵活;
2.可以使用硬盘或者随机存储器作为载体,速度和效率较高;
3.大批量的数据维护和处理比较轻松;
4.扩展简单、成本低廉
缺点
1.暂时不提供SQL支持,学习和使用的成本较高;
2.虽然较好的处理大批量的数据,但保证不了数据的完整性和安全性。
(此片主要围绕关系型数据库展开)
关系型数据库设计规范
第一范式(1NF)
要求数据库表的每一列都是不可分割的原子数据项。
第二范式(2NF)
在1NF的基础上,数据库表中的每一个实例或者行必须可以被唯一地区分,非码属性必须完全依赖于候选码。
也就是说,表中必须含有可以唯一标识这张表中所有信息的主键。该主键称为候选码。
第三范式(3NF)
在2NF地基础上,要求一个数据库表中不包含已在其他表中已包含地非主关键字信息。
也就是说连接表与表之之间的关系时必须用该表的主键关联,并且关联后表中不能出现与其关联的表中的除主键以外的信息,避免数据存储冗余。
SQL常用的数据类型
整数类型(精确值):TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)、BIGINT(常用的是后两个)
定点类型(精确值):DECIMAL、NUMERIC(numeric(n,m)表示数据总长度为n,其中有m位是小数)</