发表于: 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 



返回列表 返回列表
评论

    分享到