发表于: 2017-08-05 23:42:56

2 1020



一、学习总结

1.通过网上资源学习了数据库的设计步骤

数据库的设计步骤如下:

1)需求分析

数据是什么

数据有哪些属性

数据和属性各自的特点有哪些

2)逻辑设计

ER图对数据库进行逻辑建模

3)物理设置

主要的关系数据库:MySqlSQLServerOracle

主要的非关系数据库:mongodbredis

每种数据库都有各自的特点,根据数据库自身的特点把逻辑设计转化为物理设计

4)维护

新的需求进行建表

索引优化

大表拆分

2.学习了mysql主要数据类型

1)重点关注了tinyintintbigint三种数值类型,估测了各种数据类型表达的范围。

Inyint——三位数,百级

Int——十位数,十亿级

Bigint——十八位数

感悟:技能树上的学员数和师兄数应该是不太可能超过十亿的,所以学员ID和师兄ID可以考虑使用int类型;修正类型、分院编码、角色编码应该是可以用tinyint来表示的,但是为了更好扩充,还是使用int类型。

2)重点关注了datetimetimestamp两种日期和时间类型

Datetime——1000-01-01 00:00:00/9999-12-31 23:59:59

Timestamp——1970-01-01 00:00:00/2037 年某时

unix时间戳是从197011日(UTC/GMT的午夜)开始所经过的秒数。其与时区有关,更能反映当前的时间。插入时,会先转换为本地的时间再插入;查询时,会转换为本地的时间再显示。

感悟1对时间范围要求宽的可以选择datetime;对时区有要求的可以选择timestamp;对两者都有要求的就可以考虑选择bigint类型。

感悟2目前来讲,技能树上的绝大多数用户都是中国,跨时区的可能性极小;对时间的范围也不宽,所以使用上述三种类型都可以。采用大众的选择,我将表中的时间统一改为datetime

3.安装mysql

1)在网上下载了mysql-5.7.17.msi,一键安装完成。

2)下载绿色版Navicat,连接mysql

Mysql环境算是配置完成。

4.调整上次的表中的数据类型,并在Navicat新建表

学员表:jnshu_student

字段

类型

说明

id

int

主键(自增)

realName

varchar (50)

姓名

QQ

long

QQ

learnTypeCode

int

修真类型

preBeginEnterTime

datetime

预计最早入学时间

preEndEnterTime

datetime

预计最迟入学时间

university

varchar (50)

毕业院校

onLineNumber

int

线上学号

logUrl

varchar (200)

日报链接

motto

varchar (200)

立愿

seniorTutorID

int

辅导师兄ID

knowSource

varchar (50)

从何处了解到的修真院

updateTime

datetime

更新时间

createTime

datetime

创建时间

师兄表:jnshu_teacher_brother

字段

类型

说明

id

int

主键(自增)

realName

varchar (50)

姓名

branchSchoolCode

int

分院编码

learnTypeCode

int

修真类型

roleCode

int

角色编码

updateTime

datetime

更新时间

createTime

datetime

创建时间

修真类型:jnshu_ learn_type

字段

类型

说明

id

int

主键(自增)

learnTypeCode

int

修真编码

learnTypeName

varchar (50)

修真名称

updateTime

datetime

更新时间

createTime

datetime

创建时间

分院类型:jnshu_ branch_school

字段

类型

说明

id

int

主键(自增)

branchSchooCode

int

分院编码

branchSchooName

varchar (50)

分院名称

updateTime

datetime

更新时间

createTime

datetime

创建时间

角色类型:jnshu_ role

字段

类型

说明

id

int

主键(自增)

roleCode

int

角色编码

roleName

varchar (50)

角色名称

updateTime

datetime

更新时间

createTime

datetime

创建时间

新建完成的表,如下:

5.初始化数据,查询,修改数据

二、下次任务

1.熟悉mysql操作,测试索引性能

2.配置java开发环境

 



返回列表 返回列表
评论

    分享到