來到這家公司,迭代了個遺留的快被拋棄的社交軟體,然後主要任務就是設計並從零完成乙個服務於網際網路使用者以及關聯**商家的購物軟體.因為公司需要在購物及**商拿貨中整合分銷系統,最高可以返利3級,於是我設計了如下的使用者模組;
選用的關係型資料庫是mysql,其實像這種父子關係可以使用樹形結構的資料庫比如elasticsearch等;mysql不適合記錄樹形結構比如json結構這種,但是可以冗餘記錄使用者之間的父子關係;
(1)使用者表的設計,就是最基礎的一些屬性:
idparent_id
name
主鍵父級主鍵名稱
使用者父子關係表可以這樣設計:
iduser_id
parent_id
level
主鍵使用者主鍵
使用者父級主鍵
父子等級
(2)比如新增幾個使用者:
id姓名
1小明爺爺
2小明父親3小明
則新新增的資料到資料庫關聯表中如下:
101211
102321
103312
插入的方式就是,當插入乙個子使用者時,通過父級id查詢出關聯表中所有的關聯資料,然後將該子使用者的父級,以及查詢出來的關聯資料,依次關聯該子使用者並將level+1後,依次插入到關聯關係表中;
有了關聯關係表,後續如果需要取出該使用者多級的父使用者,則不需要遞迴查詢即可得到結果;
關聯式資料庫設計正規化
簡介 設計關聯式資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫,這些不同的規範要求被稱為不同的正規化,各種正規化呈遞次規範,越高的正規化資料庫冗餘越小。目前關聯式資料庫有六種正規化 第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 巴德斯科正規化 bcnf 第四正規化 4nf 和第...
關係資料庫系統
關係資料庫系統的發展歷史 關係資料模型 資料模型 資料結構 資料操作 完整性約束 資料結構 層次,網狀,關係,物件 資料操作 ddl,dml 完整性約束 實體完整性 主鍵存在,參照完整性 外來鍵引用存在,使用者定義完整性 關係資料模型 關係資料結構 資料操作 完整性約束 關係模型的資料結構和基本術語...
關聯式資料庫的設計正規化
所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列不能有多個含義,即實體的某個屬性不能有多個含義或者不能有重複的屬性。1nf是關聯式資料庫的基本原則,不滿足1nf的要求,就不能稱其為關聯式資料庫。第一正規化表達了如下3個意思。1 乙個表中不能同時存在兩個含義重複的屬性。2 ...