CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ
Java
Java là ngôn ngữ lập trình hướng đối tượng phổ biến, được ứng dụng rộng rãi trong phát triển phần mềm, trang web, game và ứng dụng di động.
Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem năm 1991
Java được phát triển với nguyên tắc "Viết một lần, thực thi khắp nơi" (WORA), cho phép phần mềm viết bằng Java chạy trên nhiều nền tảng khác nhau Điều này chỉ khả thi khi có môi trường thực thi phù hợp hỗ trợ nền tảng đó.
2.1.2.1 Hướng đối tượng hoàn toàn
Trong nỗ lực phát triển một ngôn ngữ lập trình đa nền tảng, các kỹ sư của Sun MicroSystem đã thiết kế ngôn ngữ này với mục tiêu dễ học và gần gũi với hầu hết lập trình viên Để đạt được điều này, họ đã kế thừa cú pháp từ các ngôn ngữ C và C++.
Trong Java, thao tác với con trỏ đã bị loại bỏ để đảm bảo tính an toàn và dễ sử dụng Ngoài ra, các thao tác overload, lệnh goto, cùng với các cấu trúc như struct và union cũng không được hỗ trợ trong ngôn ngữ này.
2.1.2.2 Độc lập phần cứng và hệ điều hành
Chương trình viết bằng ngôn ngữ Java có khả năng chạy mượt mà trên nhiều môi trường khác nhau, được gọi là khả năng "cross-platform" Điều này cho thấy sự độc lập của Java đối với phần cứng và hệ điều hành, thể hiện qua hai cấp độ: cấp độ mã nguồn và cấp độ nhị phân.
Java đảm bảo tính nhất quán của kiểu dữ liệu trên tất cả các hệ điều hành và phần cứng khác nhau nhờ vào bộ thư viện riêng Chương trình viết bằng Java có khả năng biên dịch trên nhiều loại máy mà không gặp lỗi Mã biên dịch của Java có thể chạy trên nhiều nền tảng khác nhau mà không cần phải dịch lại mã nguồn, tuy nhiên, cần có Java Virtual Machine để thông dịch mã này.
Ngôn ngữ lập trình Java thuộc loại ngôn ngữ thông dịch Chính xác hơn, Java là loại ngôn ngữ vừa biên dịch vừa thông dịch Cụ thể như sau
Khi lập trình, hệ thống sẽ tạo ra tệp java Sau khi biên dịch, mã nguồn của chương trình sẽ được chuyển đổi thành mã byte code Khi chương trình được yêu cầu chạy, Máy ảo Java (Java Virtual Machine) sẽ thông dịch mã byte code này thành mã máy (native code).
Hình 2.1 Quá trình thông dịch
2.1.2.4 Cơ chế thu gom rác tự động
Bộ thu dọn rác trong Java theo dõi các tài nguyên đã được cấp phát Khi không còn tham chiếu nào đến vùng nhớ, bộ thu dọn rác sẽ tự động thu hồi vùng nhớ đó.
Java hỗ trợ lập trình đa tiến trình (multithreading) cho phép thực hiện nhiều công việc đồng thời, đồng thời cung cấp các giải pháp đồng bộ giữa các tiến trình, chẳng hạn như sử dụng ưu tiên (priority).
2.1.2.6 An toàn và bảo mật
Java yêu cầu chặt chẽ về kiểu dữ liệu, dữ liệu phải được khai báo tường minh, không sử dụng con trỏ hay các phép toán với con trỏ
Java kiểm soát chặt chẽ việc truy cập đến mảng và chuỗi, ngăn chặn các kỹ thuật tràn Quá trình cấp phát và giải phóng bộ nhớ diễn ra tự động, giúp giảm thiểu lỗi Cơ chế xử lý lỗi của Java hỗ trợ việc xử lý và phục hồi lỗi một cách dễ dàng hơn Để đảm bảo tính bảo mật, Java cung cấp một môi trường quản lý chương trình với nhiều mức độ khác nhau.
Mức 1: Chỉ có thể truy xuất dữ liệu cũng như phương thức thông qua giao diện mà lớp cung cấp
Mức 2: Trình biên dịch kiểm soát các đoạn mã sao cho tuân thủ các quy tacsws của ngôn ngữ lập trình Java trước khi thông dịch
Mức 3: Trình thông dịch sẽ kiểm tra mã byte code xem các đoạn mã này có đảm bảo được các quy định, quy tác trước khi thực thi
Mức 4: Java kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạm giới hạn truy xuất trước khi nạp vào hệ thống
2.1.3 Máy ảo Java (JVM – Java Virtual Machine) Để đảm bảo tính đa nền, Java sử dụng cơ chế Máy ảo của Java
Một chương trình Java, với phần mở rộng java, cần được biên dịch để tạo ra tập tin thực thi cho máy ảo Java.
7 rộng là class) Tập tin thực thi này chứa các chỉ thị dưới dạng mã Bytecode mà máy ảo Java hiểu được phải làm gì
Máy ảo Java là một chương trình thông dịch, và mỗi hệ điều hành sẽ yêu cầu một phiên bản máy ảo khác nhau Để chạy ứng dụng Java trên một hệ điều hành cụ thể, người dùng cần cài đặt máy ảo tương ứng với hệ điều hành đó.
JVM cung cấp môi trường thực thi cho chương trình Java (còn gọi là khả năng độc lập với nền)
2.1.4 Các phiên bản của Java
Java Standard Edition (Java SE) serves as a foundational platform for developing console interfaces, network applications, and Win Form applications.
Java Enterprise Edition (Java EE) – Được xây dựng trên nền tảng Java SE, giúp phát triển các ứng dụng web, các ứng dụng ở cấp doanh nghiệp, …
Java Mobile Edition (Java ME) – Là một nền tảng cho phép phát triển các ứng dụng nhúng vào các thiết bị điện tử như mobile, …
JavaFX
JavaFX là một nền tảng mạnh mẽ cho việc phát triển và phân phối ứng dụng máy tính để bàn cũng như các ứng dụng RIAs (Rich Internet Applications) có khả năng hoạt động trên nhiều thiết bị khác nhau.
JavaFX was developed by engineer Chris Oliver, initially named F3 (Form Follows Functions) In 2005, Sun Microsystems acquired the F3 project and rebranded it as JavaFX.
JavaFX được thiết kế để thay thế hoàn toàn Swing như là thư viện GUI tiêu chuẩn cho Java SE Thư viện này hỗ trợ các ứng dụng trên máy tính để bàn và trình duyệt web, tương thích với các nền tảng Windows, Linux và macOS.
2.2.2 Các tính năng quan trọng của JavaFX Được viết bằng Java - Thư viện JavaFX được viết bằng Java và có sẵn cho các ngôn ngữ có thể được thực thi trên JVM, bao gồm - Java, Groovy và JRuby Các ứng dụng JavaFX này cũng độc lập với nền tảng
FXML là một ngôn ngữ đánh dấu khai báo trong JavaFX, tương tự như HTML, được thiết kế đặc biệt để xác định giao diện người dùng.
Scene Builder là một ứng dụng trong JavaFX, cho phép người dùng thiết kế giao diện đồ họa một cách trực quan Khi được tích hợp vào các IDE như Eclipse và NetBeans, Scene Builder giúp người dùng dễ dàng tạo và chỉnh sửa các thành phần giao diện, nâng cao hiệu quả phát triển ứng dụng.
9 cập giao diện thiết kế kéo và thả, được sử dụng để phát triển các ứng dụng FXML (giống như Ứng dụng Swing Drag & Drop và DreamWeaver)
Trong JavaFX, bạn có thể tích hợp nội dung Swing thông qua lớp Swing Node, cho phép kết hợp các tính năng của cả hai công nghệ Bên cạnh đó, bạn cũng có khả năng nâng cấp các ứng dụng Swing hiện có bằng cách thêm các tính năng JavaFX, như nội dung web nhúng và đồ họa phong phú, nhằm cải thiện trải nghiệm người dùng.
Thư viện JavaFX cung cấp các điều khiển giao diện người dùng tích hợp sẵn, cho phép phát triển ứng dụng đầy đủ tính năng một cách dễ dàng và hiệu quả.
JavaFX cung cấp khả năng tạo kiểu tương tự như CSS, cho phép bạn cải thiện thiết kế ứng dụng một cách dễ dàng chỉ với kiến thức cơ bản về CSS.
JavaFX cung cấp Canvas, một API hiển thị tức thì trong gói javafx.scene.canvas, cho phép người dùng vẽ trực tiếp trong một khu vực của cảnh Ngoài ra, JavaFX cũng bao gồm các lớp trong gói javafx.print để hỗ trợ cho mục đích in ấn.
Thư viện JavaFX cung cấp một bộ API phong phú để phát triển ứng dụng GUI, đồ họa 2D và 3D, đồng thời tích hợp các tính năng của nền tảng Java như Generics, Annotations, Multithreading và Lambda Expressions Các cải tiến trong thư viện Java Collections cho phép người dùng sử dụng các danh sách và bản đồ có thể quan sát được, giúp theo dõi những thay đổi trong các mô hình dữ liệu Bên cạnh đó, JavaFX hỗ trợ đồ họa 2D và 3D thông qua các lớp đồ họa và sử dụng đường ống đồ họa tăng tốc phần cứng gọi là Prism, mang lại hiệu suất cao khi kết hợp với Card đồ họa hoặc GPU.
Nếu hệ thống không hỗ trợ card đồ họa, prism sẽ tự động sử dụng ngăn xếp kết xuất phần mềm, đảm bảo cung cấp đồ họa mượt mà cho người dùng.
MySQL
MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở, thuộc loại Relational Database Management System (RDBMS), được sử dụng rộng rãi trên toàn cầu Hệ thống này hoạt động theo mô hình Client-Server, cho phép quản lý và truy xuất dữ liệu hiệu quả.
MySQL là một hệ quản trị cơ sở dữ liệu nổi bật nhờ vào tốc độ cao, tính ổn định và dễ sử dụng Nó có khả năng hoạt động trên nhiều hệ điều hành và cung cấp một loạt các hàm tiện ích mạnh mẽ Với tính bảo mật cao và hiệu suất vượt trội, MySQL rất phù hợp cho các ứng dụng truy cập cơ sở dữ liệu qua internet.
2.3.2 Những lợi ích khi sử dụng MySQL
- Khả năng mở rộng và tính linh hoạt:
Máy chủ cơ sở dữ liệu MySQL mang đến nhiều tính năng linh hoạt, có khả năng xử lý các ứng dụng nhúng với dung lượng 1MB và quản lý kho dữ liệu khổng lồ lên đến hàng terabytes Một trong những đặc điểm nổi bật của MySQL là tính linh hoạt về nền tảng, hỗ trợ tất cả các phiên bản của Windows, Unix và Linux.
Kiến trúc storage-engine của MySQL cho phép các chuyên gia cơ sở dữ liệu tùy chỉnh máy chủ theo nhu cầu của các ứng dụng đặc thù MySQL có khả năng đáp ứng các yêu cầu khắt khe từ những ứng dụng lớn như website phục vụ hàng triệu người mỗi ngày đến các hệ thống xử lý giao dịch tốc độ cao Với các tiện ích tải nhanh, cơ chế xử lý tiên tiến và bộ nhớ caches, MySQL cung cấp đầy đủ tính năng cần thiết cho các hệ thống doanh nghiệp hiện đại.
MySQL cung cấp sự tin cậy và khả năng sử dụng ngay lập tức với nhiều tùy chọn cấu hình tái tạo chủ/tớ tốc độ cao Điều này cho phép các nhà phân phối thứ ba dễ dàng triển khai các giải pháp tối ưu cho server cơ sở dữ liệu MySQL.
- Hỗ trợ transaction mạnh mẽ:
MySQL cung cấp một trong những engine giao dịch cơ sở dữ liệu hàng đầu trên thị trường, với các đặc điểm nổi bật như khóa mức dòng không hạn chế, hỗ trợ giao dịch ACID hoàn chỉnh, khả năng giao dịch phân loại và hỗ trợ giao dịch đa phiên (multi-version), đảm bảo rằng người đọc không bị cản trở trong quá trình viết và ngược lại.
Dữ liệu luôn được bảo đảm trong suốt thời gian hoạt động của server Các mức giao dịch độc lập được chuyên môn hóa, và khi phát hiện lỗi, hệ thống sẽ ngay lập tức khóa để ngăn chặn sự cố.
Mô hình MVC
MVC, viết tắt của Model-View-Controller, là một mẫu kiến trúc phần mềm được sử dụng để phát triển giao diện người dùng trên máy tính Mô hình này chia ứng dụng thành ba thành phần chính: Model, View và Controller, mỗi thành phần đảm nhận một nhiệm vụ riêng biệt và hoạt động độc lập với nhau, giúp tối ưu hóa quy trình phát triển và bảo trì ứng dụng.
- Model: Quản lý, xử lý dữ liệu
Là bộ phận có nhiệm vụ quản lý dữ liệu của ứng dụng
Chức năng biểu diễn, vận chuyển thông tin để trình diễn (view) và xử lý (control)
Chứa tất cả các nghiệp vụ logic, đối tượng mô tả dữ liệu,
- View: Hiển thị dữ liệu cho người dùng
Tương tác với người sử dụng
Show kết quả từ tầng Controller
Thu nhận các hoạt động, request của người sử dụng và chuyển cho tầng Controller xử lý
Hiểu một cách đơn giản, View là hệ thống các frame, cửa sổ của ứng dụng; các trang giao diện web: html, jsp; Các bảng, mẫu biểu, báo cáo
Controller đóng vai trò quan trọng trong việc điều khiển sự tương tác giữa Model và View Nó định nghĩa các hành vi, hoạt động và xử lý của hệ thống, đồng thời đối chiếu các hành động của người dùng từ View Controller cũng tương tác với Model để gọi View và hiển thị thông tin phù hợp cho người dùng.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Phân tích hệ thống
3.1.1 Xác định yêu cầu hệ thống
Phần mềm quản lý ký túc xá bao gồm những chức năng sau:
+ Thêm, xóa, sửa sinh viên
- Quản lý hóa đơn (điện nước, tiền phòng)
- Quản lý tài khoản và nhân viên
+ Thêm, xóa, sửa nhân viên
Thiết kế hệ thống
Hình 3 1 Sơ đồ use case
STT Tên Actor Ý nghĩa/ Ghi chú
Quản trị viên, người quản lý hệ thống, người dùng cấp cao hoặc nhân viên có quyền cao trong ký túc xá
2 Nhân viên Trưởng nhà và các nhân viên khác
Bảng 3 2 Danh sách use case
STT Tên use case Ý nghĩa
1 Quản lý phòng Thêm, xóa, sửa thông tin của phòng
2 Quản lý sinh viên Thêm, xóa sửa thông tin sinh viên
3 Quản lý hóa đơn Thêm, xem hóa đơn (điện nước, tiền phòng)
Tổng hợp tiền hóa đơn đã thu, chưa thu, số lượng phòng và nhân viên hiện tại
5 Quản lý tòa Thêm, xóa, sửa tòa
Xếp phòng cho sinh viên bằng cách cho nhân viên chọn phòng cho sinh viên vào ở
Tự động xếp sinh viên vào phòng còn trống phụ thuộc theo giới tính, ưu tiên xếp vào phòng gần đầy nhất
8 Xuất hóa đơn Xuất hóa đơn ra file pdf
9 Đăng nhập Đăng nhập vào hệ thống
10 Đăng xuất Đăng xuất khỏi hệ thống
11 Quản lý tài khoản và nhân viên
Thêm, xóa, sửa tài khoản và thông tin nhân viên
Bảng 3 3 Use case quản lý phòng
Tên use case Quản lý phòng
Mô tả Thêm, xóa, sửa thông tin phòng
Người thực hiện Người quản trị, nhân viên Điều kiện trước xử lý Đăng nhập
Sau xử lý Cập nhật dữ liệu phòng
Dòng sự kiện chính Ở màn hình giao diện chính của phần mềm, chọn quản lý phòng
- Nhấn chọn thêm phòng và điền thông tin để thêm phòng
- Nhấn vào icon chi tiết, sửa, xóa trên dòng tương ứng của phòng hiển thị trong bảng để thực hiện các thao tác xem, sửa, xóa phòng
Dòng sự kiện khác Không
Bảng 3 4 Use case quản lý sinh viên
Tên use case Quản lý sinh viên
Mô tả Thêm, xóa, sửa thông tin sinh viên
Người thực hiện Người quản trị, nhân viên Điều kiện trước xử lý Đăng nhập
Sau xử lý Cập nhật dữ liệu sinh viên
Dòng sự kiện chính Ở màn hình giao diện chính của phần mềm, chọn quản lý sinh viên
- Nhấn chọn thêm và điền thông tin để thêm sinh viên
- Nhấn vào icon chi tiết, sửa, xóa trên dòng tương ứng của sinh viên hiển thị trong bảng để thực hiện các thao tác xem, sửa, xóa sinh viên
Dòng sự kiện khác Không
Bảng 3 5 Use case quản lý hóa đơn
Tên use case Quản lý hóa đơn
Mô tả Thêm, xem thông tin hóa đơn
Người thực hiện Người quản trị, nhân viên Điều kiện trước xử lý Đăng nhập
Sau xử lý Cập nhật dữ liệu hóa đơn
Dòng sự kiện chính Ở màn hình giao diện chính của phần mềm, chọn Điện nước để vào phần quản lý hóa đơn điện nước
- Nhấn chọn thêm hóa đơn và điền thông tin để thêm hóa đơn
- Nhấn vào icon chi tiết trên dòng tương ứng của hóa đơn hiển thị trong bảng để thực hiện các thao tác xem chi tiết hóa đơn
- Nhấn đánh dấu là đã thu để cập nhật tình trạng hóa đơn thành đã thu
Chọn Tiền phòng để vào phần quản lý hóa đơn tiền phòng
- Nhấn chọn thêm hóa đơn và điền thông tin để thêm hóa đơn
- Nhấn vào icon chi tiết trên dòng tương ứng của hóa đơn hiển thị trong bảng để thực hiện các thao tác xem chi tiết hóa đơn
- Nhấn đánh dấu là đã thu để cập nhật tình trạng hóa đơn thành đã
Dòng sự kiện khác Không
Bảng 3 6 Use case báo cáo thống kê
Tên use case Báo cáo thống kê
Mô tả Hiển thị báo cáo thống kê doanh thu, hóa đơn đã thu, chưa thu…
Người thực hiện Người quản trị, nhân viên Điều kiện trước xử lý Đăng nhập
Dòng sự kiện chính Ở màn hình giao diện chính của phần mềm, chọn Báo cáo thông kê
- Nhấn chọn tháng để hiển thị báo cáo của tháng đó
Dòng sự kiện khác Không
Bảng 3 7 Use case quản lý tòa
Tên use case Quản lý tòa
Mô tả Thêm, xóa thông tin tòa
Người thực hiện Người quản trị
20 Điều kiện trước xử lý Đăng nhập với quyền admin
Sau xử lý Cập nhật dữ liệu tòa
Dòng sự kiện chính Ở màn hình giao diện chính của phần mềm, chọn quản lý tòa
- Điền thông tin và nhấn thêm để thêm tòa
- Nhấn vào icon xóa trên dòng tương ứng của tòa hiển thị trong bảng để thực hiện các thao tác xóa tòa
Dòng sự kiện khác Không
Bảng 3 8 Use case xếp phòng thủ công
Tên use case Xếp phòng thủ công
Mô tả Xếp phòng thủ công cho sinh viên
Người thực hiện Người quản trị, nhân viên Điều kiện trước xử lý Đăng nhập
Sau xử lý Cập nhật dữ liệu phòng, dữ liệu sinh viên
Dòng sự kiện chính Ở màn hình giao diện quản lý sinh viên của phần mềm, chọn xếp phòng thủ công
- Điền thông tin và nhấn xếp phòng
Dòng sự kiện khác Không
Bảng 3 9 Use case xếp phòng tự động
Tên use case Xếp phòng tự động
Mô tả Xếp phòng tự động cho sinh viên
Người thực hiện Người quản trị, nhân viên Điều kiện trước xử lý Đăng nhập
Sau xử lý Cập nhật dữ liệu phòng, dữ liệu sinh viên
Trên giao diện quản lý sinh viên của phần mềm, hãy chọn chức năng xếp phòng tự động để hệ thống tự động phân bổ sinh viên vào các phòng còn trống.
Dòng sự kiện khác Không
Bảng 3 10 Use case xuất hóa đơn
Tên use case Xuất hóa đơn
Mô tả Xuất hóa đơn ra file pdf
Người thực hiện Người quản trị, nhân viên
22 Điều kiện trước xử lý Đăng nhập
Sau xử lý Xuất ra được file pdf
Dòng sự kiện chính Ở màn hình giao diện chi tiết hóa đơn của phần mềm, chọn xuất hóa đơn để hệ thống xuất ra một file hóa đơn pdf
Dòng sự kiện khác Không
Bảng 3 11 Use case đăng nhập
Tên use case Đăng nhập
Mô tả Người dùng đăng nhập vào hệ thống
Người thực hiện Người quản trị, nhân viên Điều kiện trước xử lý Không
Sau xử lý Người dùng đăng nhập vào hệ thống
Dòng sự kiện chính Ở màn hình giao đăng nhập Điền username và password và nhấn Đăng nhập để đăng nhập vào hệ thống
Dòng sự kiện khác Khi username hoặc password sai thì hiển thị thông báo và không đăng nhập vào hệ thống
Bảng 3 12 Use case đăng xuất
Tên use case Đăng xuất
Mô tả Đăng xuất khỏi hệ thống
Người thực hiện Người quản trị, nhân viên Điều kiện trước xử lý Đăng nhập
Sau xử lý Thoát ra giao diện đăng nhập
Dòng sự kiện chính Ở màn hình giao diện chính của của phần mềm, chọn Đăng xuất để hệ thống thoát ra giao diện đăng nhập
Dòng sự kiện khác Không
3.2.2.11 Quản lý tài khoản và nhân viên
Bảng 3 13 Use case quản lý tài khoản và nhân viên
Tên use case Quản lý tài khoản và nhân viên
Mô tả Thêm xóa sửa tài khoản và nhân viên
Người thực hiện Người quản trị Điều kiện trước xử lý Đăng nhập với quyền admin
Sau xử lý Cập nhật dữ liệu tài khoản và thông tin nhân viên
Dòng sự kiện chính Ở màn hình giao diện chính của phần mềm, chọn Cấp tài khoản
- Điền thông tin và nhấn thêm mới để thêm thông tin nhân viên và thông tin tài khoản của nhân viên đó
- Nhấn vào icon chi tiết, sửa, xóa trên dòng thông tin nhân viên tương ứng để thực hiện thao tác xem, xóa, sửa thông tin nhân viên
Dòng sự kiện khác Không
Account Tên trường Kiểu dữ liệu Ràng buộc Mô tả
IDAccount Varchar (10) Primarykey Mã tài khoản
Username Varchar (40) Tên đăng nhập
Permission Varchar (12) Quyền hạn truy cập
Apartment Tên trường Kiểu dữ liệu Ràng buộc Mô tả
IDApartment Varchar (10) Primarykey Mã tòa
Số lượng phòng trong tòa
Giới tính của tòa (Tòa nam hoặc tòa nữ)
IDEmployee Varchar (12) Trưởng nhà của tòa
Bảng 3 16 Electricity and Water Bill
ElectricityandWaterBill Tên trường Kiểu dữ liệu Ràng buộc Mô tả
IDEWBill Varchar (10) Primarykey Mã hóa đơn
IDEmployee Varchar (10) Mã nhân viên
Createday date Ngày tạo hóa đơn
ChiSoDauDien double Chỉ số đầu điện
ChiSoCuoiDien double Chỉ số cuối điện
ChiSoDauNuoc double Chỉ số đầu nước
ChiSoCuoiNuoc double Chỉ số cuối nước
Total double Tổng cộng status Varchar (10) Trạng thái thanh toán
Employee Tên trường Kiểu dữ liệu Ràng buộc Mô tả
IDEmployee Varchar (10) Primarykey Mã nhân viên
Fullname Varchar (40) Họ và tên
Position Varchar (20) Vị trí chức vụ
PhoneNumber Varchar (12) Số điện thoại
IDAccount Varchar (10) Mã tài khoản
RentBill Tên trường Kiểu dữ liệu Ràng buộc Mô tả
IDRBill Varchar (10) Primarykey Mã hóa đơn
IDEmployee Varchar (10) Mã nhân viên
Createday date Ngày tạo hóa đơn
Total double Tổng cộng status Varchar (10) Trạng thái thanh toán
Room Tên trường Kiểu dữ liệu Ràng buộc Mô tả
IDRoom Varchar (10) Primarykey Mã phòng
NoStudent Varchar (100) Số lượng sinh viên
Status Varchar (40) Trạng thái phòng
Renting Price int Giá thuê
Student Tên trường Kiểu dữ liệu Ràng buộc Mô tả
IDStudent Varchar (10) Primarykey Mã sinh viên
Fullname Varchar (50) Họ và tên
PhoneNumber Varchar (12) Số điện thoại
University Varchar (100) Trường đại học
Grade Varchar (20) Năm học hiện tại status Varchar (10) Trạng thái xếp phòng
SYear Varchar (10) Năm bắt đầu học
Eyear Varchar (10) Năm kết thúc