柚子快報(bào)邀請(qǐng)碼778899分享:低代碼-數(shù)據(jù)庫(kù)設(shè)計(jì)
柚子快報(bào)邀請(qǐng)碼778899分享:低代碼-數(shù)據(jù)庫(kù)設(shè)計(jì)
低代碼-數(shù)據(jù)庫(kù)設(shè)計(jì)
低代碼-數(shù)據(jù)庫(kù)設(shè)計(jì)常用數(shù)據(jù)庫(kù)設(shè)計(jì)思路傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)橫向設(shè)計(jì)法縱向設(shè)計(jì)法
非關(guān)系型數(shù)據(jù)庫(kù)
采用的實(shí)際辦法產(chǎn)品定位類型問(wèn)題建表的解決辦法
低代碼-數(shù)據(jù)庫(kù)設(shè)計(jì)
常用數(shù)據(jù)庫(kù)設(shè)計(jì)思路
常見(jiàn)的設(shè)計(jì)的思路
傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)no-sql實(shí)現(xiàn)
傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)
首選 毫無(wú)疑問(wèn) mysql。別問(wèn),問(wèn)就是用了很多年了 mysql有2種方案
橫向設(shè)計(jì)法 (目前采用這一種)列式設(shè)計(jì)法
橫向設(shè)計(jì)法
用戶在界面上拖拉拽出一個(gè)表單,則后臺(tái)對(duì)應(yīng)建一張表。 好處:
方便查詢方便后續(xù)統(tǒng)計(jì)導(dǎo)出join 壞處:表字段增減會(huì)有性能問(wèn)題
縱向設(shè)計(jì)法
縱向設(shè)計(jì)法分為2種
a、同樣在頁(yè)面上一個(gè)表單對(duì)應(yīng)一張表,但是真實(shí)建表 建200列,當(dāng)做擴(kuò)展字段b、整個(gè)系統(tǒng)只有X張不同數(shù)據(jù)表(日期,數(shù)值,文本類型表) 好處:列式的存儲(chǔ)概念容易應(yīng)付數(shù)據(jù)量不大的場(chǎng)景 壞處:客戶的表不是隔離的,如果備份是個(gè)大問(wèn)題join操作很難解決,很難解決查詢的問(wèn)題
非關(guān)系型數(shù)據(jù)庫(kù)
mongdb 個(gè)人感覺(jué)也是一個(gè)門檻,但是也是一個(gè)解決方案 或者使用其他 大數(shù)據(jù)類數(shù)據(jù)庫(kù)
采用的實(shí)際辦法
傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù), 橫向設(shè)計(jì)法 好處是顯而易見(jiàn),壞處也是一目了然。但是這種設(shè)計(jì)是符合一個(gè)程序員的正向思路,并且是類似于正常做需求的一個(gè)習(xí)慣性建表。但是怎么解決 壞處呢? 苦思冥想 有了一個(gè)不成熟的答案 解決辦法: 1、產(chǎn)品定位上 不允許 跨類型修改字段。數(shù)值就是數(shù)值,文本就是文本,日期就是日期。抓住幾個(gè)大類數(shù)據(jù)類型。 2、在建表生成的時(shí)候,根據(jù)類型 建立一個(gè)比較大的類型。 3、除了增加新的列,真實(shí)增加。其他的操作都是邏輯操作
產(chǎn)品定位類型問(wèn)題
1、不能隨意更換字段類型, 可以增加 前綴后綴 和 長(zhǎng)度,但是不能變更為其他類型 2、增加不同類型的基礎(chǔ)類型
建表的解決辦法
1、建表語(yǔ)句
`${list.columnName}` ${list.type}(${list.length})
COMMENT '${list.columnDesc}'
2、建表的字段 定義的不同類型,對(duì)應(yīng)長(zhǎng)一點(diǎn)
VARCHAR("500"),
TEXT(""),
// LONGTEXT(""),
// TINYINT("4"),
INT("11"),
BIGINT("20"),
DECIMAL("50,4"),
DATE(""),
DATETIME(""),
;
3、增加表的元數(shù)據(jù)表
元素表元素表列名
application_table
`db_name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '庫(kù)名',
`table_name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '表名稱',
`table_desc` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '表描述'
application_table_column
`table_id` bigint NOT NULL DEFAULT '0' COMMENT '表id',
`column_name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '列名',
`column_desc` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '列描述',
`length` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '0' COMMENT '長(zhǎng)度',
`is_null` tinyint NOT NULL DEFAULT '0' COMMENT '是否為空(0:否 1:是)',
`category_type` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '頁(yè)面類型',
`type` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '類型',
`default_value` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '默認(rèn)值'
柚子快報(bào)邀請(qǐng)碼778899分享:低代碼-數(shù)據(jù)庫(kù)設(shè)計(jì)
參考閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。