Mo hinh hoa du lieu la gi va tai sao quan trong?
Sau khi hieu quy trinh (ai lam gi), BA con phai hieu du lieu (he thong luu tru cai gi, luu the nao). Mo hinh hoa du lieu giup:
- Khong sot truong du lieu trong requirement
- Phat hien mau thuan giua cac he thong (Customer ID ben A khac Customer ID ben B)
- Giao tiep ro voi developer khi thiet ke CSDL
- Lam nen tang cho API spec, data migration, bao cao
Entity, Attribute, Relationship
Entity (Thuc the)
Mot "vat the" co y nghia nghiep vu ma he thong can luu tru. Thuong la danh tu so nhieu:- Don_hang (Order), Khach_hang (Customer), San_pham (Product), Nhan_vien (Employee)
Attribute (Thuoc tinh)
Cac thong tin mo ta mot Entity:- Don_hang: ma_don_hang, ngay_dat, tong_tien, trang_thai
- Khach_hang: ma_khach, ho_ten, email, so_dien_thoai, dia_chi
Relationship (Moi quan he)
Mo ta cach cac entity lien ket voi nhau:- Don_hang dat boi Khach_hang
- Don_hang chua nhieu San_pham
- Nhan_vien xu ly nhieu Don_hang
Cardinality (Luc luong quan he)
| Loai | Ky hieu | Vi du thuc te |
|---|
- Don_hang x San_pham → bang
Don_hang_San_pham(chua ma_don, ma_sp, so_luong, don_gia)
ERD cho he thong dat hang online (vi du Shopee)
erDiagram
KHACH_HANG {
int ma_khach PK
string ho_ten
string email
string so_dien_thoai
string dia_chi
}
DON_HANG {
int ma_don PK
int ma_khach FK
date ngay_dat
decimal tong_tien
string trang_thai
}
SAN_PHAM {
int ma_sp PK
string ten_sp
decimal gia
int so_luong_ton
int ma_danh_muc FK
}
DON_HANG_CHI_TIET {
int ma_don FK
int ma_sp FK
int so_luong
decimal don_gia
}
DANH_MUC {
int ma_danh_muc PK
string ten_danh_muc
}
KHACH_HANG ||--o{ DON_HANG : "dat"
DON_HANG ||--|{ DON_HANG_CHI_TIET : "gom"
SAN_PHAM ||--|{ DON_HANG_CHI_TIET : "co mat trong"
DANH_MUC ||--o{ SAN_PHAM : "phan loai"---
Data Dictionary (Tu dien du lieu)
ERD cho ta ban do, nhung Data Dictionary cho ta chieu sau. No ghi lai chinh xac moi truong du lieu:
| Ten truong | Kieu du lieu | Do dai | Bat buoc | Gia tri hop le | Mo ta |
|---|---|---|---|---|---|
| ma_don | INT | 10 | Co | Auto-increment | Ma don hang duy nhat |
| ngay_dat | DATETIME | — | Co | Khong trong tuong lai | Thoi diem khach bam 'Dat hang' |
| trang_thai | VARCHAR | 20 | Co | pending/confirmed/shipped/delivered/cancelled | Trang thai hien tai cua don |
| tong_tien | DECIMAL | (10,2) | Co | >= 0 | Tong gia tri don hang (da giam gia, chua VAT) |
- Chinh dinh nghia cho developer khi code validation
- Nen tang viet test case cho QA
- Giai quyet tranh chap nghi nghia (field
ngay_datla ngay tao hay ngay giao?)
CRUD Matrix
CRUD Matrix cho biet ai (vai tro nao) duoc lam gi (Create/Read/Update/Delete) voi du lieu nao (entity nao):
| Vai tro | Don_hang | San_pham | Khach_hang | Danh_muc |
|---|---|---|---|---|
| Khach hang | C, R | R | R, U (ban than) | R |
| Nhan vien ban hang | R, U | R | R | R |
| Quan ly kho | R, U | C, R, U | — | — |
| Admin he thong | C, R, U, D | C, R, U, D | C, R, U, D | C, R, U, D |
- Phat hien thieu permission: 'Ai cap nhat trang thai don hang?'
- Input cho Access Control / Authorization requirement
- Nen tang viet User Story: 'As a [vai tro], I can [hanh dong CRUD] [entity]'
Tu luyen
- Cho tinh huong: He thong quan ly nhan su (HR) tai cong ty 200 nguoi. Xac dinh it nhat 4 entity chinh va ve ERD voi cardinality dung.
- Viet Data Dictionary cho entity
Nhan_vienvoi 6 truong — neu ro kieu du lieu, rang buoc, mo ta. - Xay dung CRUD Matrix cho cac vai tro: Nhan_vien, Truong_phong, HR_Staff, Admin.
- Tim mot truong hop N-N trong he thong HR, de xuat bang trung gian phu hop.
Học xong bài này rồi?
Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu,
và học hết khóa thì có chứng chỉ.
Lưu tiến độ của tôi