STAR

情景

分析了任务需求后针对抽奖策略领域进行数据库表设计

任务

通过分析抽奖的行为逻辑,设计抽奖策略领域模型和对应的库表结构。

行动

根据大营销平台抽奖的模式拆解出8个功能点。
![[Pasted image 20240704220914.png]]
根据8个功能点设计出数据库的ER图。做了4张表:strategy,strategy_award,strategy_rule,award
使用docker在本地win11电脑上安装了MySQL, 并使用DataGrid GUI界面创建了数据库并填充数据.
使用phpadmin导出了表结构和数据
在项目结构里新增了 dev-ops/docker-compose.yml. 主要是安装mysql和phpadmin
并将导出的sql运行重新建表

结果

本地安装了mysql,新建了四个表,完成了最初的库表设计。背了关于mysql数据类型的八股

笔记

mysql

int 和bigint 区别, bigint(8)和bigint (11)区别

INT 和 BIGINT是存储大小的区别。INT占用4 byte, 也就是可以表示2^(4*8)个数字 . BIGINT占用8 byte, 也就是可以表示2^(8\times 8) 个数字, 当有符号时就是减半
bigint(8)和bigint(11)的区别是显示宽度,其实他们存储的数据量还是一样的,也就是说宽度指定了MySQL中显示数字时的最小字符数,如bigint(8)存储123时,显示为00000123

varchar(128),与char不一样的是,varchar用来存储的是可变长度的字符串,128限定的是存储的字符串最长128个字符,如果存储了一个长度为10的字符,实际也只会存储10个字符而不是128个字符长度