db设计中的字段“修真类型”该存储什么类型?
pptengJAVA深度思考DB设计中修真类型数据类型_腾讯视频
github.com/WuZhiyong1759/xiaoketangPPT/tree/master/XKT2017%E5%B9%B45%E6%9C%8813%E6%97%A5PPT
标题:db设计中的字段“修真类型”该存储什么类型?
分享人:吴志勇
背景介绍:
在修真院的Java任务1中,学员需要根据线下报名贴设计报名表,在设计表时,我们发现表中有一个“修真类型”的字段,这个字段的内容有:前端工程师、Java工程师、运维工程师、iOS工程师、Android工程师、UI工程师、UI设计师、产品经理。对于这个字段我们在数据库这种该把它存储什么类型。
知识剖析:
1、我们是怎么表述“修真类型”的,在Java语法中是用什么表示的?
A:我们是用一段文字去表述它,在Java语法中用String来表示。
2、在MySQL中我们是用什么来代替的?
A:在MySQL中我们可以用数字来代指是那种修真类型,也可以用字符串或文本的类似Java中的String来表述。
常见问题:
MySQL数据库中对字符串或文本的存储方式有哪些?
他们之间有什么区别?
解决方案:
百度搜索(百度搜索一直是我们修真院提倡的一种自学方式,在修真院的师兄弟们都是这么过来的)
在百度搜索“Java与MySQL数据类型对照表”可找到如下内容
在MySQL中和Java的String对应的有:VARCHAR | CAHR |TEXT |LONG TEXT |TINYTEXT | MEDIUMTEXT | ,和int对应的有TINYINT | SMALLINT | MEDIUMINT
他们之间主要的区别在于存储长度的不同,和定长变长的区别。
我们一般存储字符串的时候该采用什么策略呢,我自己的理解是,尽可能的用小且装的下的类型,然后尽量用变长的。这样做我们可以更有效的利用存储空间。如果你的字符串内容类似于上边只有固定的几个,也可以和前端约定好存储int的类型,1、2、3...分别代表Java工程师,前端工程师,运维工程师等等
问题:
1、在创建表时,int(M) 其中的m代表什么含义?
A:m代表默认显示宽度。当存储的值超出了该宽度时,会显示整个 字段。
2、在程序代码中List 这种写法对吗,int和Integer有什么区别?
A:List在程序中这个写法不对。int是基本类型,而integer是对象类型,在泛型用法中<>内是指定某种类型对象,是一个对象类型,所以正确的写法是List.
3、Java中的String类型,在MySQL中可以存储什么类型?
A:String在MySQL中可以存char,varchar、text、longtext等,可以把他们理解成都是Java当中的字符串,只是他们存储的大小有所不同罢了,实际开发中
需要根据具体的String的长度和是否经常变更来综合考虑存贮哪种类型。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第一次讲准备不够充分,若说的不对的地方请指出