第一章 数据库基础知识
1.实体:现实世界中客观存在并可以被区别的事务。可以真实存在,也可以是虚拟的。
属性:在关系型数据库中,可看作“表中的一列”
元组:表中的一行即为一个元组
码、全码、主属性、非主属性、外码等
2.数据库三大范式:
属性唯一(数据表中的每一列必须是不可拆分的最小单元,也就是确保每一列的原子性,就说无重复的列)、
记录唯一(满足1NF后,要求表中的所有列,都必须依赖于主键,非主属性完全依赖于主关键字)、
表唯一(属性不依赖于其他非主属性)
3.数据库五大约束:
主键约束、唯一性约束、
非空约束、外键约束
4..数据库(DB)&数据库管理系统(DBMS)
数据库:按照一定的数据结构来组织、存储数据的仓库。
关系型数据库:所谓关系,指的是表、或表与表之间。关系模型,是表中的行与列。
常用的关系型数据库:Oracle、 sqlserver、DB2、Mysql、Access
数据库管理系统:是为了建立、操作和维护数据库而设计的一个程序,介于用户和数据库之间。
PS:使用SQL,通过数据库管理系统来管理数据库。
5.结构化查询语言(SQL)
是数据库的标准查询语言,可以通过DBMS对数据库进行定义数据、操纵数据、查询数据、数据控制等。
其中:
1)数据定义语言(DDL):
创建表create、删除表drop、修改表alter、清空表truncate(彻底清空,无法恢复)
2)数据操纵语言(DML):
插入数据insert、删除数据delete、
修改数据update
3)数据控制语言(DCL)
4)数据查询语言(DCL):select
6.Mysql数据类型:数值、日期/时间和字符串类型。
7.数据库的四大索引
index-普通索引:数据可以重复,没有任何限制
unique-唯一索引,要求索引列的值必须唯一,但允许有空值;如果是组合索引,那么列值的组合必须唯一
primary key-主键索引,是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值,一般是在创建表的同时创建主键索引
组合索引
fulltext-全文索引(MyISAM)
注:索引可以提高查询速度,但是创建和维护索引需要耗费时间,同时也会影响插入的速度。如果需要插入大量的数据时,最好是先删除索引,插入数据后再建立索引。
8.事务:
用于处理操作量大,复杂度高的数据。
必须满足以下四个条件:
原子性(不可分割的操作单元,事务中所有操作,要么全部成功,要么撤回到执行事务之前的状态)、
一致性(如果在执行事务之前数据库是一致的,那么在执行事务之后数据库也还是一致的)、
持久性(事务一旦提交,其结果就是永久的。即使发生系统故障,也能恢复)、
隔离性(事务一旦提交,其结果就是永久的。即使发生系统故障,也能恢复)