Thiết Kế Hệ Thống đặt Vé Xem Phim
Có thể bạn quan tâm
Chiều mưa man mát lòng người, tinh thần sảng khoái nhìn qua khe cửa thấy nồi cá kho đang sôi sùng sục mà rạo rực cả con người. Nay vừa đi chuyển chỗ làm về thì đi đường chả biết làm gì nên đầu óc tự nhiên nó lại muốn hoạt động 1 chút. Đột nhiên lại nghĩ về bộ phim Thỏ sắp ra nối tiếp bộ phim Anh hùng bàn là 1 thời chấn động; từ đó mình bắt đầu suy nghĩ về mấy cái app cùi mía mà mình hay dùng của thằng Lottle lẫn thằng Cinema. Ức chế bỏ mẹ cái đoạn chọn ghế ngồi xem phim, lúc chọn cứ phải kéo ra kéo khó xem tổng quát vãi lúa. Vậy là từ đó trong đầu mình lại nghĩ ngay về việc thiết kế CSDL làm sao có thể lưu trữ được cái cấu trúc của rạp chiếu phim :v. Thế là cái quãng đường tắc dài thật dài của con đường thơ mộng đầy các cánh bướm đêm Phạm Hùng như gần lại hơn rất nhiều. Vừa về đến nhà mình nhẹ nhàng bỏ điện thoại, bỏ ví, bỏ thẻ nhân viên, bỏ quần…à quên bỏ hết rồi :v Nào anh em bắt đầu suy nghĩ về việc thiết kế CSDL cho hệ thống rạp chiếu phim thôi.

Lục lọi 1 lúc ấy ở trên Internet thì mình thấy ở treang Vertabelo có 1 bài viết khá hay về cách thiết kế DB cho hệ thống đặt vé online. Giải thích thì chi tiết vãi lúa công chúa luôn. Anh em nào thích thì đọc qua xem có gì không hiểu thì có thể hỏi mình. Vậy là có 2 người không hiểu cho dễ =)) Đùa tí đón gió mùa ấy mà. Link bài viết thì mình xin phép để đây và không nói gì nữa
http://www.vertabelo.com/blog/technical-articles/a-database-model-for-a-movie-theater-reservation-system

Thực ra thì bài viết như này cũng sẽ khá là nhiều. Anh em search có mà ra cả rổ luôn, ví dụ thêm 2 bài viết nữa anh em thao khảo luôn nhé :3
http://techbrij.com/online-ticket-booking-system-asp-net-sql-server
https://pinumallaprashantprofessionalexperience.wordpress.com/2010/06/25/database-design-for-cinema-ticket-bookings/
Tuy vậy thì vấn đề khó nhất là cách thiết kế hệ thống ghế ngồi cho rạp chiếu. Làm sao có thể biết rạp có bao nhiêu phòng chiếu, mỗi phòng chiếu có bao nhiêu hàng, mỗi hàng có bao nhiêu ghế, trạng thái của từng ghế có ra sao… Đau đầu phết đấy éo đùa đâu các bạn trẻ của tôi ạ. Vậy thì cách làm nào tối ưu nhất. Cái này thì mình cũng chịu chết thôi :3 Mình mạn phép đưa ra 1 ý tưởng xem ý kiến của các đồng dâm thế nào nhé 😕
Ban đầu thì chắc chắn là có 1 bảng phòng chiếu để quy định là phòng nào với phòng nào rồi này. Cái này ta gọi tạm là bảng ROOM đi. Bảng sẽ có 2 cột ROOM_ID và ROOM_NAME thôi nhé.

Tiếp theo thì cần 1 bảng quy định kiểu như phòng chiếu A có ghế hàng A rồi trạng thái hàng ghế bla bla gì đó. Vậy thì coi như là bảng SEAT đi xem sao.
Nếu vậy là phải có ROOM_ID rồi, vậy thì SEAT_ID là khóa chính nữa chứ. À quên có số hàng nữa vậy là ROW_NO (cái này là để lưu hàng A, B, C,D.. các kiểu con đà điểu đó :3)
Chi tiết mỗi hàng có số lượng ghế khác nhau vậy thì đẻ ra bảng nữa là SEAT_NO. Bảng này đơn giản là SEAT_ID để link với bảng SEAT với SEAT_NO nữa là xong. Quên quên còn cái trạng thái của ghế là đang làm gì nữa như là đang được đặt, đặt chửa, đang không có gì, đang không hoạt động bla bla gì đó nữa.
Vãi chưa thấy đơn giản quá phải không anh em =))
Nếu như này thì anh em ta sẽ đơn giản sẽ có dữ liệu các bảng đại loại như
Bảng ROOM có

Bảng SEAT sẽ quy đinh

Còn lại cháu SEAT_NO sẽ đơn giản duy định

…..
Từ đây chúng ta sẽ phải lấy ra được dữ liệu sao cho hiển thị ra cấu trúc cái rạp chiếu phim như thế nào thì anh em chịu khó đợi 1 2 hôm nhé. Giờ phải quay ra kho cá tiếp đã chứ không mất bố nó 2h rồi mà chửa suy nghĩ xong cái cấu trúc :v

Anh em nào muốn ngâm cứu tiếp thì cứ chủ động nhé. Gợi ý là dùng Pivot trong SQL kết hợp với việc dùng XML PATH mà mình đã từng hướng dẫn các bạn :v
Thôi đi nấu cơm đây. Tính sau nhé :v Chúc anh em 1 bữa ăn ngon miệng
===============================================================
Sáng tranh thủ dậy sớm được từ lúc 9h nên nhảy ngay vào viết nốt cho anh em đoạn cuối làm cách nào để có thể thể hiện ra phòng chiếu như thế nào? Mình sẽ sử dụng kĩ thuật Pivot để hiển thị cho anh em thấy nhé :3. Các anh em nào chửa biết pivot là gì thì có thể tìm đọc thông qua link sau
http://www.sqlviet.com/blog/crosstab-report-vs-pivot
Còn lời giải mình sẽ cho vào ảnh để anh em gõ cho khỏe tay nhé :v

Đại ý là sẽ lấy ra được số hàng ghế của 1 phòng này (như ở đây là phòng số 1), số lượng ghế trên từng hàng. Vì mỗi hàng sẽ có số lượng ghế khác nhau nên mình sẽ sử dụng cái đoạn LeftJoin để xác định hàng đó có cái ghế đó không. Nếu không có ghế thì giá trị nó sẽ là NULL, ghế đã được booked thì đánh dấu là số ghế, còn không để là 0.
Còn đoạn cuối sẽ dùng Pivot để trải cái ghế ra thành hàng thôi :3. Kết quả sẽ hiển thị như hình

Đây chỉ là ý tưởng của mình thôi chứ cũng chả rõ lắm mấy cái app của bọn CGV hay Beta nó làm thế nào đâu. Anh em cùng nhau tham khảo để suy nghĩ tiếp cái nhé :v À tí quên thông báo anh em 1 cái nữa đó là nồi cá kho rất ngon nhé =))

Share this:
- Tweet
- More
Related
Từ khóa » Database Rạp Chiếu Phim
-
Thiết Kế Hệ Thống Quản Lý Rạp Chiếu Phim
-
Cosodulieu Quản Lý Rạp Chiếu Phim - StuDocu
-
Taivtse/fpoly-semester4-project1 - GitHub
-
[PDF] ĐỀ TÀI : WEB QUẢN LÝ CỦA RẠP CHIẾU PHIM - PDFCOFFEE.COM
-
Hệ Thống Quản Lý Rạp Chiếu Phim - SlideShare
-
Xây Dựng Chương Trình Quản Lý Rạp Chiếu Phim - Tài Liệu Text - 123doc
-
Quản Lý Vé Xem Phim (sql) - Tài Liệu Text - 123doc
-
Code "Quản Lí Rạp Chiếu Phim Full Chức Năng" + Báo Cáo
-
Luận Văn Quản Lý Vé Xem Phim (SQL)
-
Quản Lý Rạp Chiếu Phim Bằng Oracle | Xemtailieu
-
Tài Liệu Xây Dựng Website Hệ Thống Rạp Chiếu Phim - Xemtailieu
-
Luận Văn Quản Lý Vé Xem Phim (SQL) - TaiLieu.VN