常见数据类型
int | 整型,存放整数,范围大致为-21亿~21亿 |
---|---|
bigint | 长整型,-922亿亿~922亿亿 |
double | 浮点型,-10302~10302 |
char(n) | 定长字符串,只能存放长度为n的字符串 |
varchar(n) | 不定长字符串,存放0~n长度的字符串 |
boolean | 存放true和false |
date | 存放日期 |
time | 存放时间 |
datetime | 存放时间和日期 |
通常bigint能够满足整型存放,varchar(n)能满足字符串存放。
主流数据库
- 商用数据库,例如:Oracle,SQL Server,DB2等;
- 开源数据库,例如:MySQL,PostgreSQL等;
- 桌面数据库,以微软Access为代表,适合桌面应用程序使用;
- 嵌入式数据库,以Sqlite为代表,适合手机应用和桌面程序。
SQL关键字总是大写,以示突出,表名和列名均使用小写。
主键
一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性。主键主要是用与其他表的外键关联,以及文本记录的修改与删除。不能为空,且唯一,起到标识作用。选取主键的一个基本原则是:不使用任何业务相关的字段作为主键。因此,身份证号、手机号、邮箱地址这些看上去可以唯一的字段,均不可用作主键。
外键
外键与主键相对,作用就是通过主外键的之间关系使对张表中的数据更好的关联。可以把数据与另一张表关联起来,外键需要关联其他表的主键
表之间的关系
1.一对一
一个表的任意一条记录只会关连到另外一个表的一条记录,如:一个学生的期末成绩,一个学生只会有一个期末成绩
2.一对多
一个表的一条记录能对于另一个表的多条记录。如:一个班级有多名学生。
3.多对多
多对多通常是通过两个一对多联系起来,通过一个中间表,运用两个一对多实现。如:一个班有多名学生和多名老师,班级表就是中间表,将多名学生和多名老师联系在一起。
索引
索引是关系数据库中对某一列或多个列的值进行预排序的数据结构。
索引的效率取决于索引列的值是否散列,即该列的值如果越互不相同,那么索引效率越高。如,性别只有男和女。
索引对查询有很大的帮助,但对插入、修改、删除却会变慢,类比对数组排序。
关系数据库对主键自动索引。