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