DAtabase
DAtabase
USE KhachSan;
GO
-- Bảng KhachHang
CREATE TABLE KhachHang (
MaKH VARCHAR(50) PRIMARY KEY,
HoTen VARCHAR(100),
CCCD VARCHAR(20),
SDT VARCHAR(15),
Email VARCHAR(100),
DiaChi TEXT
);
-- Bảng ChiNhanh
CREATE TABLE ChiNhanh (
MaChiNhanh VARCHAR(50) PRIMARY KEY,
TenChiNhanh VARCHAR(100),
DiaChi TEXT
);
-- Bảng Phong
CREATE TABLE Phong (
MaPhong VARCHAR(50) PRIMARY KEY,
TenPhong VARCHAR(100),
LoaiPhong VARCHAR(50),
GiaTheoNgay DECIMAL(10, 2),
TrangThai VARCHAR(20),
MaChiNhanh VARCHAR(50),
FOREIGN KEY (MaChiNhanh) REFERENCES ChiNhanh(MaChiNhanh)
);
-- Bảng DatPhong
CREATE TABLE DatPhong (
MaDatPhong VARCHAR(50) PRIMARY KEY,
MaKH VARCHAR(50),
MaPhong VARCHAR(50),
NgayDat DATE,
NgayNhan DATE,
NgayTra DATE,
TrangThai VARCHAR(20),
FOREIGN KEY (MaKH) REFERENCES KhachHang(MaKH),
FOREIGN KEY (MaPhong) REFERENCES Phong(MaPhong)
);
-- Bảng DichVu
CREATE TABLE DichVu (
MaDV VARCHAR(50) PRIMARY KEY,
TenDV VARCHAR(100),
DonGia DECIMAL(10, 2),
MoTa TEXT
);
-- Bảng SuDungDichVu
CREATE TABLE SuDungDichVu (
MaSDDV VARCHAR(50) PRIMARY KEY,
MaDatPhong VARCHAR(50),
MaDV VARCHAR(50),
SoLuong INT,
FOREIGN KEY (MaDatPhong) REFERENCES DatPhong(MaDatPhong),
FOREIGN KEY (MaDV) REFERENCES DichVu(MaDV)
);
-- Bảng HoaDon
CREATE TABLE HoaDon (
MaHD VARCHAR(50) PRIMARY KEY,
MaDatPhong VARCHAR(50),
NgayLap DATE,
TongTien DECIMAL(10, 2),
HinhThucTT VARCHAR(50),
FOREIGN KEY (MaDatPhong) REFERENCES DatPhong(MaDatPhong)
);
-- Bảng NhanVien
CREATE TABLE NhanVien (
MaNV VARCHAR(50) PRIMARY KEY,
HoTen VARCHAR(100),
GioiTinh VARCHAR(10),
NgaySinh DATE,
SDT VARCHAR(15),
Email VARCHAR(100),
ChucVu VARCHAR(50),
MaChiNhanh VARCHAR(50),
FOREIGN KEY (MaChiNhanh) REFERENCES ChiNhanh(MaChiNhanh)
);
-- Bảng LichSuTruyCap
CREATE TABLE LichSuTruyCap (
MaLog VARCHAR(50) PRIMARY KEY,
MaNV VARCHAR(50),
ThoiGian DATETIME,
HanhDong TEXT,
FOREIGN KEY (MaNV) REFERENCES NhanVien(MaNV)
);
-- Bảng BaoTriPhong
CREATE TABLE BaoTriPhong (
MaBaoTri VARCHAR(50) PRIMARY KEY,
MaPhong VARCHAR(50),
NgayBatDau DATE,
NgayKetThuc DATE,
LyDo TEXT,
TrangThai VARCHAR(20),
FOREIGN KEY (MaPhong) REFERENCES Phong(MaPhong)
);
-- Bảng TaiKhoan
CREATE TABLE TaiKhoan (
TenDangNhap VARCHAR(50) PRIMARY KEY,
MatKhau VARCHAR(100),
MaNV VARCHAR(50),
QuyenHan VARCHAR(20),
FOREIGN KEY (MaNV) REFERENCES NhanVien(MaNV)
);