发表于: 2017-12-11 21:00:44
1 766
今天完成的事情:
1. 尝试进行方案设计
2. 深度思考一部分
明天计划的事情
1. 开始看回家学习的相关的内容。
遇到的问题:
无
收获:
1. 复盘评审
对一些综合性的东西思路不清楚:
例如:
对jsp怎么让前端的调用?
对整个任务体系框架的系统描述?
知识点没有系统串接起来。
SCA、SOA和rmi的关系没有理清楚。
分布式的演变和所解决的问题不清楚
2 . 深度思考一部分
唯一索引和普通索引的区别是什么,什么时候需要建唯一索引。
索引的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件中的数据列创建索引。只要有可能,就应该选择一个数据最整齐、最紧凑的数据列(如一个整数类型的数据列)来创建索引。
如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该用关键字UNIQUE把它定义为一个唯一索引。这么做的好处:一是简化了MySQL对这个索引的管理工作,这个索引也因此而变得更有效率;二是MySQL会在有新记录插入数据表时,自动检查新记录的这个字段的值是否已经在某个记录的这个字段里出现过了;如果是,MySQL将拒绝插入那条新记录。也就是说,唯一索引可以保证数据记录的唯一性。
如果对学员QQ号做了一个唯一索引,在插入数据的时候,是否需要先判断这个QQ号已经存在了?
在JAVA里执行插入操作的时候需要先查询,否则如果出现重复的数据就会插入失败,当在数据库执行插入的时候,建立唯一索引的字段就会先进行查询看是否唯一,如果重复就返回错误
在JAVA里不能用异常的抓取来控制流程。所以不能根据异常来判断。需要在JAVA里先进行查询然后进行插入。
CreateAt和UpdateAt的意义分别是创建时间和修改时间,这两个时间应该在什么情况下赋值?是否应该开放给外部调用的接口?
认为不应用数据库触发器来添加操作。例如:
当一个注册的请求发出后,向数据库进行插入请求,用JAVA来插入创建/修改时间取得是代码当前的时间戳
当用触发器进行会有网路延迟所以统一在代码里进行操作
2. 字段设计
用户:
手机号(11位),密码,头像,昵称,年级,邮箱,学习星(积分?)
(qq, 微信, 微博),购买资料数,击败用户百分比
最近学习课程(完成的课时,学习天数),同步预习绑定的教材,收藏/购买/分享的课程,试卷,消息(系统通知),
管理者:
用户AND 课程:课程进度
课程下课时:
课程,课时题目,状态(正在学习?),购买费用,任务数量,需要学习星,是否解锁
课程(教材下):
年级,科目,难度等级,课时,教材版本,价格,资料数
相关任务,是否解锁,需要学习星,多少人正学习,购买费用
试卷:
时间,所属任务,名称,价格
教材:
出版社,年级,科目
进度:
禅道:http://task.ptteng.com/zentao/project-task-264.htm
评论