Mục Lục
Mục Lục
Bài Tập Bài Tập - Đăng Ký & Đăng Nhập - Lập trình JSP/Servlet - WCD Bài tập - Tra cứu thông tin cá nhân - lập trình Java Web - JSP/Servlet Bài tập ôn luyên EL & JSTL trong JSP/Servlet - Lập trình JSP/Servlet Bài tập quản lý sản phẩm sử dụng Session, JSTL, JavaBean trong lập trình JSP/Servlet Dự án quản lý sinh viên + CSDL - Database SQL Server - MySQL - Lập trình JSP/Servlet Thiết kế web tin tức - lập trình JSP/Servlet Bài tập - Thiết kế website bán đồ điện tử - Lập trình JSP/Servlet Bài tập - viết flow đăng nhập - Lập trình JSP/Servlet Bài tập - Thiết kế website bán hàng lưu niệm - giỏ hàng, thanh toán - Lập trình JSP Servlet Bài tập - Quản lý sách & tác giả - Lập trình JSP/Servlet Bài tập - Hiển thị thông tin sinh viên - fake dữ liệu - truyền dữ liệu từ Servlet tới JSP - Lập trình JSP/Servlet Bài Tập - Đăng Ký & Đăng Nhập - Ứng dụng session servlet - Lập trình JSP/Servlet Bài tập - Quản lý sản phẩm sử dụng Session - Lập trình JSP/Servlet Bài Tập Thiết Kế Calculator Online - Lập trình JSP/Servlet Bài tập - quản lý sinh viên sửa dụng session - Lập trình JSP/Servlet Bài Tập - Giải phương trình bậc 2 & lưu log xử lý - Lập trình JSP/Servlet Bài tập - Phân layout trong JSP - Tìm hiểu đối tượng mặc định trong JSP - Lập trình JSP Servlet Quản lý sách - Khoá học lập trình JSP/Servlet Quản lý nhà hàng - Khoá Học JSP/Servlet HỆ THỐNG QUẢN LÝ BÃI ĐỖ XE - KHOÁ HỌC JSP/SERVLET QUẢN LÝ RẠP CHIẾU PHIM - KHOÁ HỌC JSP/SERLET Xây dựng hệ thống Quản Lý Ghi Chú - Khoá Học JSP/Servlet BÀI TẬP JSP/SERVLET: QUẢN LÝ NGƯỜI DÙNG - KHOÁ JSP/SERVLET Quiz Trắc Nghiệm Ôn Tập JSP / Servlet
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');





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

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

×