JSP Servlet

Quản lý nhà hàng - Khoá Học JSP/Servlet

📌 Yêu cầu chức năng

1. Người dùng (Users)

  • Đăng ký tài khoản (register)
  • Đăng nhập (login)
  • Sau khi đăng nhập thành công → vào hệ thống

2. Quản lý bàn (Tables)

  • Thêm bàn
  • Hiển thị danh sách bàn
  • Cập nhật thông tin bàn (sức chứa, trạng thái)
  • Xóa bàn

👉 Trạng thái bàn:

  • available (trống)
  • reserved (đã đặt)
  • occupied (đang sử dụng)

3. Quản lý đặt bàn (Reservations)

  • Đặt bàn
  • Xem danh sách đặt bàn (kèm thông tin người dùng + bàn)
  • Cập nhật trạng thái:
    • pending
    • confirmed
    • cancelled
  • Hủy đặt bàn

4. Luồng hệ thống

  1. Người dùng đăng ký tài khoản
  2. Đăng nhập
  3. Sau khi đăng nhập thành công:
    • Vào trang quản lý bàn
    • Thực hiện đặt bàn
  4. Hệ thống lưu dữ liệu


CREATE DATABASE restaurant_db;
USE restaurant_db;

-- ========================
-- Bảng Users
-- ========================
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(100) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    full_name VARCHAR(255),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- ========================
-- Bảng Tables
-- ========================
CREATE TABLE tables (
    id INT AUTO_INCREMENT PRIMARY KEY,
    table_number INT NOT NULL,
    capacity INT NOT NULL,
    status VARCHAR(50) DEFAULT 'available',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- ========================
-- Bảng Reservations
-- ========================
CREATE TABLE reservations (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    table_id INT,
    reservation_time DATETIME,
    number_of_people INT,
    status VARCHAR(50) DEFAULT 'pending',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

    FOREIGN KEY (user_id) REFERENCES users(id)
        ON DELETE CASCADE
        ON UPDATE CASCADE,

    FOREIGN KEY (table_id) REFERENCES tables(id)
        ON DELETE SET NULL
        ON UPDATE CASCADE
);

-- ========================
-- Dữ liệu mẫu
-- ========================

-- Users
INSERT INTO users(username, password, full_name) VALUES
('user1', '123456', 'Nguyễn Văn A'),
('user2', '123456', 'Trần Thị B');

-- Tables
INSERT INTO tables(table_number, capacity, status) VALUES
(1, 4, 'available'),
(2, 6, 'available'),
(3, 2, 'available');

-- Reservations
INSERT INTO reservations(user_id, table_id, reservation_time, number_of_people, status) VALUES
(1, 1, '2026-05-01 18:00:00', 4, 'confirmed'),
(2, 2, '2026-05-02 19:00:00', 5, 'pending');





Phản hồi từ học viên

5

Tổng 0 đánh giá

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó