数据类型以及数据库设计
1)概念:专门标识数据表格里面的字段(列)存储格式。起到优化数据库的作用
2)分类:数字类型;字符类型;日期类型
数字类型
类型 | 大小 | 用途 |
---|---|---|
tinyint | 1字节(-128~127) | 小型数值 |
smallint | 2字节(-32768~32767) | 大型数值 |
int/integer | 4字节(-2147483648~2147483647) | 大型数值 |
bigint | 8字节(-2^ 63 ~ 2 ^63-1) | 超大型数值 |
float | 4字节 | 单进度,浮点数值 |
double | 8字节 | 双进度,浮点数值 |
decimal | decimal(m,d);m长度,d精度小数位 | 整数/带有小数数值 |
日期类型
类型 | 大小 | 格式 | 用途 |
---|---|---|---|
Date | 3字节 | YYYY-MM-DD | 日期值 |
Time | 3字节 | HH:MM:SS | 时间值 |
Year | 1字节 | YYYY | 年份值 |
datatime | 8字节 | YYYY-MM-DD HH:MM:SS | 日期+时间值 |
timestamp | 4字节 | YYYYMMDD HHMMSS | 日志+时间值, 时间戳 |
Date范围:1000-01-01 / 9999-12-31
Year范围:1901/2155
Datetime范围:1000-01-01 00:00:00/ 9999-12-31 23:59:59
timestamp范围:1970-01-01 00:00:00/2038
字符串类型
类型 | 大小 | 用途 |
---|---|---|
char | 0~255字节 | 定长字符串 |
varchar | 0~65535字节 | 变长字符串 |
text | 0~65535字节 | 长文本数据 |
blob | 0~65535字节 | 二进制形式的长文本数据 |
Longtext | 0-4 294 967 295字节 | 超大文本数据 |
Longblob | 0-4 294 967 295字节 | 超大二进制形式文本数据 |
数据库设计 -思维
1)目的:如何建立数据之间的关系???必须学习数据库的设计
2)知道数据库的建模
a.概念模型:E-R图,分析数据之间的关系
b.物理模型:通过E-R图,转化数据库真实表与表之间的关系,产物是数据库脚本
3)数据之间的关系(存储对象之间的关系)
a.一对一
b.一对多,多对一。
c.多对多。
例1:学生和班级,多对一
例2:运动员和比赛项目,多对多
例3:身份证和中国公民,一对一
4)E-R图
矩形:对象
菱形:关系
椭圆形:对象中属性
E-R示例: