0% found this document useful (0 votes)
6 views11 pages

Dbs Chema

The document outlines the schema for a database with multiple tables related to user accounts, roles, and various entities in a hospitality context. Key tables include NGUOI_DUNG for user information, TAI_KHOAN for account details, and KHU_NGHI_DUONG for resort properties, among others. Relationships between tables are defined through foreign keys, ensuring data integrity and organization.

Uploaded by

23521537
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views11 pages

Dbs Chema

The document outlines the schema for a database with multiple tables related to user accounts, roles, and various entities in a hospitality context. Key tables include NGUOI_DUNG for user information, TAI_KHOAN for account details, and KHU_NGHI_DUONG for resort properties, among others. Relationships between tables are defined through foreign keys, ensuring data integrity and organization.

Uploaded by

23521537
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Table NGUOI_DUNG {

USER_ID NUMBER(10) [PRIMARY KEY, INCREMENT]


HO_TEN VARCHAR(100) [NOT NULL]
EMAIL VARCHAR(150) [UNIQUE, NOT NULL]
SDT NVARCHAR(10) [not null, unique]
CCCD NVARCHAR(15) [not null, unique]
CREATED_AT date
IS_DELETED NUMBER(1)
}

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
}

Ref: "TAI_KHOAN"."IS_DELETED" < "TAI_KHOAN"."TRANG_THAI"


Ref: "ROLE"."CREATED_AT" < "ROLE"."DOWNLOAD_PERM"

Ref: "DANH_GIA"."ID_KHU_NGHI_DUONG" <


"HOA_DON"."HINH_THUC_THANH_TOAN"

You might also like