发表于: 2017-06-26 21:41:24
2 1216
【说明】今天上午对上一周的情况做了一个总结,开了个晨会,然后又分析了一下数据库的字段;下午听了前端做的方案评审还有武汉的一个方案评审,老大提出了很多问题;晚上稍微讨论了一下excel 表的自动生成,对格式要求的更多一点。
一:今日完成
⒈ task1—1: 数据库字段的考虑
⑴ 技能点 1 :bigint
bigint 带符号的范围是 - 9223372036854775808 到 9223372036854775807。
无符号的范围是 0 到 18446744073709551615。
int 普通大小的整数。
带符号的范围是 - 2147483648 到 2147483647。
无符号的范围是 0 到 4294967295。
就是值得范围的问题,如果需要大于 int 的范围,就用 bigint.
------------------
⑵ 技能点 2:varchar
实际应用中 varchar 长度限制的是一个行定义的长度。 MySQL 要求一个行的定义长度不能超过 65535。若定义的表长度超过这个值,则提示ERROR 1118 (42000)
------------------
⑶ 技能点 3:默认值
CREATE TABLE test(
id int NOT NULL DEFAULT 1,
date timestamp NOT NULL DEFAULT NOW(),
sex char(2) NOT NULL DEFAULT '1'
);
三种格式是不一样的
------------------
⒉ task1—2:表的分离和拆分
⑴ 技能点 1:什么情况下需要拆分
单表全是数据字型的保持在
800 万条记录以下, 有字符型的单表保持在 500 万以下.
------------------
⑵ 技能点 2:什么情况下需要分离
超过上面的限制就需要拆表
------------------
⑶ 技能点 3:数据库的三个范式又是什么
第一范式
1) 有主关键字
2) 主键不能为空,
3) 主键不能重复,
4) 字段不可以再分
第二范式
定义:如果关系模式 R 是第一范式的,而且关系中每一个非主属性不部分依赖于主键,称 R 是第二范式的。
所以第二范式的主要任务就是
满足第一范式的前提下,消除部分函数依赖。
第三范式
有待商催
------------------
⒊ task1—3:约定字段
⑴ 技能点 1:什么是约定
1. 如无备注,则表中的第一个 id 字段一定是主键且为自动增长;
2. 如无备注,则数值类型的字段请使用 UNSIGNED 属性;
3. 如无备注,排序字段 order_id 在程序中默认使用降序排列;
4. 如无备注,所有字段都设置 NOT NULL,并设置默认值;
5. 如无备注,所有的布尔值字段,如 is_hot、is_deleted,都必须设置一个默认值,并设为 0;
6. 所有的数字类型字段,都必须设置一个默认值,并设为 0;
7. 针对 varchar 类型字段的程序处理,请验证用户输入,不要超出其预设的长度;
8. 建表时将数据字典中的字段中文名和属性备注写入数据表的备注中 (“PK、自动增长” 不用写);
9. 如无说明,建表时一律采用 innodb 引擎;
------------------
⑵ 技能点 2:什么是非必填字段
数据库的字段 ID 设为 NOT NULL, 仅仅说明该字段不能为 NULL, 也就是说只有在
INSERT INTO table(ID) VALUES(NULL);
这种情况下数据库会报错,而
INSERT INTO table(ID) VALUES(”);
这不能说明是 NULL, 数据库系统会根据 ID 设的缺省值填充,或者如果是自增字段就自动加一
等缺省操作。
------------------
二:明日计划
明天因为时间充足(or 有限),打算完成
①做完db设计
------------------
②开始接口设计
------------------
③完善细节
------------------
三:疑难问题
四:思考总结
Ⅰ 对自己今天的进度满意吗
------------------一般般
Ⅱ 那些困扰自己的问题所在
------------------看到和别人不一样的地方总是会想别人设计的原因
Ⅲ 暗示自己为明天加油打劲
------------------怎么做 123
评论