Dbs Chema
Dbs Chema
Table TAI_KHOAN {
ACCOUNT_ID NUMBER(10) [primary key, increment]
USER_ID NUMBER(10) [ref: - NGUOI_DUNG.USER_ID ]
TEN_TAI_KHOAN NVARCHAR(255) [not null]
MAT_KHAU NVARCHAR(255) [not null]
TRANG_THAI VARCHAR(20) // ACTIVE AND IN ACTIVE
CREATED_AT date
IS_DELETED NUMBER(1)
}
TABLE ROLE_GROUP {
GROUP_ID NUMBER(10) [PRIMARY KEY, INCREMENT]
GROUP_NAME VARCHAR2(100) [UNIQUE, NOT NULL]
DESCRIPTION VARCHAR2(255)
CREATED_AT DATE
IS_DELETED NUMBER(1)
}
TABLE FUNCTION {
FUNCTION_ID NUMBER(10) [PRIMARY KEY, INCREMENT]
FUNCTION_NAME VARCHAR(50) [UNIQUE, NOT NULL]
}
TABLE ROLE {
ROLE_ID NUMBER(10) [primary key, INCREMENT]
FUNCTION_ID NUMBER(10) [ref: - FUNCTION.FUNCTION_ID]
ADD_PERM NUMBER(1) [NOT NULL]
EDIT_PERM NUMBER(1) [NOT NULL]
DELETE_PERM NUMBER(1) [NOT NULL]
DOWNLOAD_PERM NUMBER(1) [NOT NULL]
VIEW_PERM NUMBER(1) [NOT NULL]
CREATED_AT DATE
IS_DELETED NUMBER(1)
}
TABLE ACCOUNT_TOKEN {
TOKEN_ID NUMBER(20) [primary key, INCREMENT]
ACCOUNT_ID NUMBER(10) [REF: - TAI_KHOAN.ACCOUNT_ID]
TOKEN_VALUE VARCHAR2(500) [UNIQUE, NOT NULL]
EXPIRES_AT DATE [NOT NULL]
ISSUED_AT DATE
IS_REVOKED CHAR(1)
}
TABLE ACCOUNT_ROLE_GROUP {
ACCOUNT_ID NUMBER(10) [ref: - TAI_KHOAN.ACCOUNT_ID]
ROLE_GROUP_ID NUMBER(10) [ref: - ROLE_GROUP.GROUP_ID]
}
TABLE ASSIGN_ROLE_GROUP {
ROLE_GROUP_ID NUMBER(10) [ref: - ROLE_GROUP.GROUP_ID]
ROLE_ID NUMBER(10) [ref: - ROLE.ROLE_ID]
}
TABLE ACCOUNT_ASSIGN_ROLE {
ACCOUNT_ID NUMBER(10) [REF: - TAI_KHOAN.ACCOUNT_ID]
ROLE_ID NUMBER(10) [REF: -ROLE.ROLE_ID]
}
Table KHACH_HANG {
ID INT [primary key, increment]
ID_TAI_KHOAN INT [not null,ref: - TAI_KHOAN.ACCOUNT_ID, unique]
DIA_CHI NVARCHAR(255) [null]
DIEM_TICH_LUY INT [not null]
}
Table DOI_TAC
{
ID INT [primary key, increment]
ID_TAI_KHOAN INT [not null,ref: - TAI_KHOAN.ACCOUNT_ID, unique]
DIA_CHI NVARCHAR(255) [not null]
TAIKHOAN_NGANHANG NVARCHAR(15) [not null]
TEN_TKNH NVARCHAR(255) [not null]
TEN_NGANHANG NVARCHAR(255) [not null]
SO_DU DEMICAL // Default 0
}
Table LICH_SU_RUT_TIEN {
ID INT [primary key, increment]
ID_DOI_TAC INT [not null, ref: > DOI_TAC.ID]
SOTIEN DECIMAL(12,2) [not null]
THOIGIAN_TAO TIMESTAMP [not null]
THOIGIAN_RUT_TIEN TIMESTAMP [not null]
TRANGTHAI_RUTTIEN NVARCHAR(255) [not null]
}
Table KHU_NGHI_DUONG {
ID INT [primary key, increment]
ID_DOI_TAC INTERGER [not null,ref: > DOI_TAC.ID]
TEN NVCHAR2(255) [NOT NULL]
DIA_CHI NVARCHAR(255) [not null]
PHUONG_ID INTERGER [not null,ref: > PHUONG.ID]
IMG_360_URL NVARCHAR(255) [not null]
DANH_GIA INT [not null]
}
TABLE HINH_KHU_NGHI_DUONG {
ID INT [primary key]
ID_KHU_NGHI_DUONG INT [not null,REF: > KHU_NGHI_DUONG.ID]
URL NVARCHAR(255) [not null]
}
TABLE THANH_PHO
{
ID INT [PRIMARY KEY, INCREMENT]
TEN_THANH_PHO NVARCHAR(255) [not null]
}
TABLE QUAN {
ID INTEGER [PRIMARY KEY, INCREMENT]
ID_THANH_PHO INT [not null,ref: > THANH_PHO.ID]
TEN_QUAN NVARCHAR(255) [not null]
}
Table PHUONG
{
ID INTEGER [PRIMARY KEY, INCREMENT]
ID_QUAN INT [not null,ref: > QUAN.ID]
TEN_PHUONG NVARCHAR(255) [not null]
}
Table DANH_GIA {
ID INT [primary key, INCREMENT]
ID_KHU_NGHI_DUONG INT [not null,ref: > KHU_NGHI_DUONG.ID]
ID_KHACH_HANG int [not null, ref: > KHACH_HANG.ID]
DIEM INT [not null] // 1 -> 5
NOI_DUNG NVARCHAR(MAX) [null]
THOIGIAN_TAO TIMESTAMP [not null]
}
TABLE LOAI_PHONG {
ID INT [primary key, increment]
ID_KHU_NGHI_DUONG INT [not null,ref: > KHU_NGHI_DUONG.ID]
TEN_LOAI_PHONG NVARCHAR(255) [not null]
DIEN_TICH FLOAT [not null]
LOAI_PHONG_THEO_SO_LUONG NVARCHAR(255) [not null]
LOAI_PHONG_THEO_TIEU_CHUAN NVARCHAR(255) [not null]
SO_GIUONG INT [not null]
SO_NGUOI INT [not null] //Tre em duoi 6 tuoi thi free => Tren 6 thi tinh them dau
nguoi
GIA DECIMAL(12,2) [not null]
}
TABLE HINH_PHONG {
ID INT [primary key, increment]
ID_LOAI_PHONG INT [not null,REF: > LOAI_PHONG.ID]
URL NVARCHAR(255) [not null]
IS_DELETED NUMBER(1)
}
Table TIEN_ICH {
ID INT [PRIMARY KEY, INCREMENT]
LOAI_TIEN_ICH NVARCHAR(255) [not null]
ICON_URL NVARCHAR(255) [not null]
}
TABLE TIEN_ICH_PHONG
{
ID_PHONG INT [REF: > LOAI_PHONG.ID]
ID_TIEN_ICH INT [REF: > TIEN_ICH.ID]
PRIMARY KEY (ID_PHONG, ID_TIEN_ICH)
}
TABLE PHONG // Nen co trigger kiem tra ma so trong mot loai phong unique
{
ID INT [PRIMARY KEY, INCREMENT]
ID_KHU_NGHI_DUONG INT [not null,REF: > KHU_NGHI_DUONG.ID]
ID_LOAI_PHONG INT [not null,REF: > LOAI_PHONG.ID]
MA_SO INT
TINH_TRANG NVARCHAR(255) [not null]
}
TABLE THOIGIAN_PHONG_BAN {
ID_PHONG INT [not null, REF: > PHONG.ID]
NGAY_BAT_DAU TIMESTAMP [not null]
NGAY_KET_THUC TIMESTAMP [not null]
ID_KHACH_HANG INT [not null, ref: > KHACH_HANG.ID]
}
Table DICH_VU
{
ID INT [PRIMARY KEY, INCREMENT]
TEN_DICH_VU NVARCHAR(255) [not null]
}
Table DICH_VU_KHU_NGHI_DUONG
{
ID INT [PRIMARY KEY, INCREMENT]
ID_DICH_VU INT [not null, REF: > DICH_VU.ID]
ID_RESORT INT [REF: > KHU_NGHI_DUONG.ID]
GIA DECIMAL(12,2) [not null]
IS_DELETED NUMBER(1)
}
Table DICH_VU_MAC_DINH
{
ID_DICH_VU_KHU_NGHI_DUONG INT [REF: >
DICH_VU_KHU_NGHI_DUONG.ID]
ID_GOI_DAT_PHONG INT [not null,REF: > GOI_DAT_PHONG.ID]
PRIMARY KEY (ID_DICH_VU_KHU_NGHI_DUONG,
ID_CHI_TIET_DAT_PHONG)
GIAMGIA DECIMAL(12,2) [not null]
}
Table DICH_VU_YEU_CAU
{
ID_DICH_VU_KHU_NGHI_DUONG INT [REF: >
DICH_VU_KHU_NGHI_DUONG.ID]
ID_CHI_TIET_DAT_PHONG INT [not null, REF: > CHI_TIET_DAT_PHONG.ID]
PRIMARY KEY (ID_DICH_VU_KHU_NGHI_DUONG,
ID_CHI_TIET_DAT_PHONG)
}
TABLE DAT_PHONG
{
ID INT [PRIMARY KEY, INCREMENT]
ID_KHACH_HANG INT [not null, REF: > KHACH_HANG.ID]
THOI_GIAN_TAO TIMESTAMP [not null]
TINH_TRANG NVARCHAR(255) [not null]
TONG_GIATIEN DECIMAL(12,2) [not null]
TAIKHOAN_NGANHANG NVARCHAR(15) [not null]
TEN_TKNH NVARCHAR(255) [not null]
TEN_NGANHANG NVARCHAR(255) [not null]
}
TABLE GIAMGIA
{
ID INT [PRIMARY KEY, INCREMENT]
ID_LOAI_PHONG INT [not null,REF: - LOAI_PHONG.ID]
LOAI_GIAMGIA NVARCHAR(255) [not null]
GIA_TRI DECIMAL(12,2) [not null]
MUC_TOI_DA DECIMAL(12,2) // cho loai %
NGAY_BAT_DAU TIMESTAMP [not null]
NGAY_KET_THUC TIMESTAMP [not null]
TINH_TRANG NVARCHAR(255) [not null]
}
TABLE GOI_DAT_PHONG
{
ID INT [PRIMARY KEY, INCREMENT]
ID_LOAI_PHONG INT [not null,REF: - LOAI_PHONG.ID]
TONG_GIATIEN DECIMAL(12,2) [not null]
}
TABLE CHI_TIET_DAT_PHONG
{
ID INT [primary key]
ID_DAT_PHONG INT [not null, REF: > DAT_PHONG.ID]
ID_GOI_DAT_PHONG INT [not null,REF: > GOI_DAT_PHONG.ID]
ID_GIAMGIA INT [not null,REF: > GIAMGIA.ID] // DEFAULT MA GIAM GIA 0%
SO_LUONG_PHONG INT [not null]
SO_LUONG_DICH_VU_YEU_CAU INT [not null]
TONG_GIATIEN DECIMAL(12,2) [not null]
NGAY_BAT_DAU TIMESTAMP [not null]
NGAY_KET_THUC TIMESTAMP [not null]
TINH_TRANG NVARCHAR(255) [not null]
}
TABLE KHO_MA_GIAM_GIA {
ID_KHACH_HANG INT [REF: > KHACH_HANG.ID]
ID_GIAMGIA INT [REF: > GIAMGIA.ID]
PRIMARY KEY (ID_KHACH_HANG, ID_GIAMGIA)
}
TABLE HOA_DON
{
ID INT [primary key,increment]
ID_KHACH_HANG INT [ref: > KHACH_HANG.ID]
ID_DOI_TAC INT [ref: > DOI_TAC.ID]
ID_CHI_TIET_DAT_PHONG INT [REF: -
CHI_TIET_DAT_PHONG.ID_DAT_PHONG]
TONG_GIATIEN DECIMAL(12,2) [not null]
THOIGIAN_THANHTOAN TIMESTAMP [not null]
HINH_THUC_THANH_TOAN NVARCHAR(255) [not null]
}
TABLE DOI_DIEM
{
ID INT [PRIMARY KEY, INCREMENT]
ID_MAGIAM INT [REF: - GIAMGIA.ID]
GIA_TRI INT
}