声明:
本系列笔记的许多脚本操作命令皆是基于ubuntu系统终端的。
1.自学
字符串函数、数学函数、日期时间函数、类型转换函数.
2.数据库优点与分类
数据库系统解决的问题:持久化存储,优化读写,保证数据的有效性.
当前使用的数据库,主要分为两类:
(1)文档型,如sqlite,就是一个文件,通过对文件的复制完成数据库的复制。
(2)服务型,如mysql、postgre,数据存储在一个物理文件中,但是需要使用终端以tcp/ip协议连接,进行数据库的读写操作。
3.E-R模型
E表示entry,实体;R表示relationship,关系。一个实体转换为数据库中的一个表,关系描述两个实体之间的对应规则,包括一对一、一对多、多对多;关系(即属性)转换为数据库表中的一个列 。
在关系型数据库中一行就是一个对象。
4.三范式
经过研究和对使用中问题的总结,对于设计数据库提出了一些规范,这些规范被称为范式
说明:后一个范式,都是在前一个范式的基础上建立的
(1)第一范式(1NF):列不可拆分。
即每一列不可拆分为多列。
(2)第二范式(2NF):唯一标识。
每条数据应该拥有自己的唯一标识,从而能被准确查找到。
(3)第三范式(3NF):引用主键。
唯一标识即是主键,当外部想要引用某条数据时,必须通过主键引用。
5.数据完整性
一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中。在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束。
(1)数据字段类型
在mysql中包含的数据类型很多,这里主要列出来常用的几种
数字:int(整型),decimal(浮点型);字符串:char(定长字符型),varchar(非定长字符型),text(超长文本型);日期:datetime;布尔:bit。
decimal(5,2) //5表示最多5位数,其中小数位最多两位
1.2 //符合
1000.21 //不符合
char(8) //为定长,如果字符位不够8位,则自动以空格补齐
varchar(8) //为非定长,只要字符数不够8位即可
gb-2312/utf-8 //两种编码方式,一般推荐使用国际编码标准utf-8
bit //bit为布尔型,存储只有一位,为0或1
bit(5) //此时存储位有5位
(2)约束
主键primary key;唯一标识,不可重复。。
非空not null;
惟一unique;也是唯一标识,不过可用于普通的多列。
默认default;某条数据的某列若未填写,则自动被修改为默认数据。
外键foreign key。
6.MySQL客户端和服务端的交互
客户端输入命令,服务端接收并运行命令,产生结果后将结果显示给客户端。