Báo cáo đồ án này tập trung vào việc ứng dụng những kiến thức đã học, cùng với các kỹ thuật và công nghệ hiện đại, để xây dựng một hệ thống quản lý hiệu quả, đáp ứng nhu cầu thực tế của
Trang 1i
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT - HÀN
Khoa Khoa Học Máy Tính
Đà Nẵng, tháng 11 năm 2024
Trang 2ii
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT - HÀN
Khoa Khoa Học Máy Tính
Đà Nẵng, tháng 11 năm 2024
Trang 3iii
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Chữ ký của giảng viên
THS.LÊ VIẾT TRƯƠNG
Trang 4iv
LỜI CẢM ƠN
Chúng em xin gửi lời cảm ơn chân thành đến Khoa Khoa học máy tính, Trường Công nghệ thông tin và truyền thông Việt Hàn đã tạo điều kiện thuận lợi cho chúng emhọc tập và hoàn thành đề tài đồ án cơ sở 2 này Đặc biệt, chúng em xin bày tỏ lòng biết
ơn sâu sắc đến Thạc sĩ Lê Viết Trương đã hướng dẫn chúng em trong quá trình làm bài
Chúng em đã cố gắng vận dụng những kiến thức đã học được trong học kỳ qua
để hoàn thành đồ án cơ sở 2 Tuy nhiên, do kiến thức hạn chế và không có nhiều kinh nghiệm thực tiễn nên khó tránh khỏi những thiếu sót trong quá trình nghiên cứu, thực hiện và trình bày Rất kính mong sự góp ý của quý thầy cô để bài tiểu luận của chúng
em được hoàn thiện hơn Một lần nữa, chúng em xin trân trọng cảm ơn sự quan tâm giúp đỡ của thầy đã giúp đỡ chúng em trong quá trình thực hiện bài tiểu luận nàyChúng em xin trân trọng cảm ơn
Trang 5v
MỤC LỤC
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN iii
LỜI CẢM ƠN iv
MỤC LỤC v
DANH MỤC HÌNH VẼ viii
DANH MỤC BẢNG x
MỞ ĐẦU 1
1.Giới thiệu 1
2.Mục tiêu của đề tài 1
3.Nội dung và kế hoạch thực hiện 2
4.Bố cục báo cáo 3
Chương 1 TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU 4
1.Giới thiệu về công cụ 4
1.1 Giới thiệu về Laravel Framwork 4
1.2 Ưu điểm của Laravel FrameWork 4
2.Giới thiệu ngôn ngữ 5
2.1 Giới thiệu PHP 5
2.2 PHP hoạt động như thế nào ? 6
2.3 Giới thiệu về HTML 7
2.4 Giới thiệu về Tailwind CSS 7
3.Kết thúc chương 1 8
Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 9
1.Biểu đồ ca sử dụng 9
2.Biểu đồ lớp 10
3.Thiết kế cơ sở dữ liệu 11
Trang 6vi
3.1 Sơ đồ Mô hình Quan hệ Thực thể 11
3.2 Bảng users 11
3.3 Bảng actors 12
3.4 Bảng Films 12
3.5 Bảng episodes 13
3.6 Bảng seasons 14
3.7 Bảng watchlists 14
3.8 Bảng comments 14
3.9 Bảng ratings 15
3.10 Bảng subscriptions 15
3.11 Bảng user_subscriptions 16
3.12 Bảng genres 16
3.13 Bảng film_actors 16
3.14 Bảng film_genres 17
3.15 Bảng film_images 17
4.Biểu đồ hoạt động 18
4.1 Biểu đồ hoạt động đăng nhập 18
4.2 Biểu đồ hoạt động đăng ký 19
5.Biểu đồ tuần tự 20
5.1 Biểu đồ tuần tự đăng nhập 20
5.2 Biểu đồ tuần tự đăng ký 21
5.3 Biểu đồ tuần tự xem phim 22
5.4 Biểu đồ tuần tự thanh toán 23
5.5 Biểu đồ tuần tự thêm phim 23
5.6 Biểu đồ tuần tự xóa, sửa phim 24
Chương 3 XÂY DỰNG GIAO DIỆN 25
1.Giao diện đăng nhập đăng ký 25
Trang 7vii
1.1 Giao diện trang đăng nhập 25
1.2 Giao diện trang đăng ký 26
2.Giao diện admin 26
2.1 Trang dashboard 26
2.2 Trang thêm phim 27
2.3 Trang thêm người dùng 28
2.4 Trang thêm gói đăng ký 29
2.5 Thêm diễn viên 29
2.6 Thêm thể loại 30
3.Giao diện người dùng 31
3.1 Trang chủ 31
3.2 Trang Play Page 35
3.3 Trang Subsciption 36
3.4 Trang thanh toán 37
KẾT LUẬN 39
1.Kết quả đạt được 39
2.Hướng nghiên cứu và phát triển trong tương lai 39
TÀI LIỆU THAM KHẢO i
PHỤ LỤC 1
Trang 8
viii
DANH MỤC HÌNH VẼ
Hình 1 Biểu đồ ca sử dụng tổng quát 9
Hình 2 Biểu đồ lớp 10
Hình 3 Sơ đồ Mô hình Quan hệ Thực thể 11
Hình 4 Biểu đồ hoạt động đăng nhập 18
Hình 5 Biểu đồ hoạt động đăng ký 19
Hình 6 Biểu đồ tuần tự đăng nhập 20
Hình 7 Biểu đồ tuần tự đăng ký 21
Hình 8 Biểu đồ tuần tự xem phim 22
Hình 9 Biểu đồ tuần tự thanh toán 23
Hình 10 Biểu đồ tuần tự thêm phim 23
Hình 11 Biểu đồ tuần tự xóa, sửa phim 24
Hình 12 Giao diện trang đăng nhập 25
Hình 13 Giao diện trang đăng ký 26
Hình 14 Giao diện trang dashboard 26
Hình 15 Giao diện trang thêm phim 27
Hình 16 Giao diện trang thêm người dùng 28
Hình 17 Giao diện trang thêm gói dăng ký 29
Hình 18 Giao diện trang thêm diễn viên 29
Hình 19 Giao diện trang thêm thể loại 30
Hình 20 Giao diện trang chủ #1 31
Hình 21 Giao diện trang chủ #2 32
Hình 22 Giao diện trang chủ #3 33
Hình 23 Giao diện trang chủ #4 34
Hình 24 Giao diện trang play page #1 35
Hình 25 Giao diện trang play page # 2 35
Hình 26 Giao diện trang Subsciption 36
Trang 9ix
Hình 27 Giao diện trang thanh toán nội địa #1 37Hình 28 Giao diện trang thanh toán nội địa #2 38Hình 29 Giao diện trang thanh toán quốc tế 38
Trang 10x
DANH MỤC BẢNG
Bảng 1 Bảng users 11
Bảng 2 Bảng actors 12
Bảng 3 Bảng Films 12
Bảng 4 Bảng episodes 13
Bảng 5 Bảng seasons 14
Bảng 6 Bảng watchlists 14
Bảng 7 Bảng comments 14
Bảng 8 Bảng ratings 15
Bảng 9 Bảng subscriptions 15
Bảng 10 Bảng user_subscriptions 16
Bảng 11 Bảng film_actors 16
Bảng 12 Bảng film_genres 17
Bảng 13 Bảng film_images 17
Trang 11Công nghệ thông tin, đặc biệt là trong lĩnh vực phát triển phần mềm, đã trở
thành nền tảng không thể thiếu trong việc quản lý và vận hành các hệ thống phức tạp
Từ việc tự động hóa các quy trình sản xuất đến quản lý dữ liệu hiệu quả, công nghệ đã giúp tăng cường khả năng cạnh tranh và đáp ứng nhu cầu ngày càng cao của thị trường
Trong bối cảnh đó, việc thiết kế và triển khai các hệ thống quản lý không chỉ đòi hỏi kiến thức về chuyên môn, mà còn phải kết hợp linh hoạt với những công nghệ mới để đảm bảo hệ thống vận hành một cách tối ưu, an toàn và bền vững Báo cáo đồ
án này tập trung vào việc ứng dụng những kiến thức đã học, cùng với các kỹ thuật và công nghệ hiện đại, để xây dựng một hệ thống quản lý hiệu quả, đáp ứng nhu cầu thực
tế của người sử dụng
2 Mục tiêu của đề tài
Mục tiêu của đề tài này là nghiên cứu và phát triển một website xem phim trực tuyến, đáp ứng nhu cầu ngày càng cao của người dùng về việc tiếp cận và trải nghiệm nội dung phim chất lượng cao qua môi trường mạng Website sẽ không chỉ cung cấp các bộ phim với nhiều thể loại, mà còn được thiết kế để mang lại trải nghiệm người dùng tối ưu, dễ dàng và thuận tiện trong việc tìm kiếm, xem phim, và quản lý tài khoản cá nhân Mục tiêu của đề tài này là nghiên cứu và phát triển một website xem phim trực tuyến, đáp ứng nhu cầu ngày càng cao của người dùng về việc tiếp cận và trải nghiệm nội dung phim chất lượng cao qua môi trường mạng Website sẽ không chỉ cung cấp các bộ phim với nhiều thể loại, mà còn được thiết kế để mang lại trải nghiệm người dùng tối ưu, dễ dàng và thuận tiện trong việc tìm kiếm, xem phim, và quản lý tài khoản cá nhân
Trang 122
3 Nội dung và kế hoạch thực hiện
Nghiên cứu và phân tích yêu cầu (1 tuần): Phân tích nhu cầu thị trường, người dùng và các tính năng cần có của website xem phim
•Nghiên cứu các website xem phim phổ biến hiện nay để tìm hiểu các tính năng và yêu cầu người dùng
•Phỏng vấn người dùng tiềm năng (nếu có thể) để thu thập thông tin về sở thích và nhu cầu của họ
•Xác định các yêu cầu chức năng cơ bản như: tìm kiếm phim, đăng nhập, quản lý tài khoản người dùng, xem phim trực tuyến, đánh giá phim, Phân tích và thiết kế hệ thống (2 tuần): Phân tích các yêu cầu kỹ thuật, thiết kế kiến trúc phần mềm và cơ sở dữ liệu, và xây dựng giao diện người dùng phù hợp
•Phân tích yêu cầu hệ thống
•Thiết kế kiến trúc hệ thống
•Thiết kế cơ sở dữ liệu
•Thiết kế giao diện người dùng (UI)
•Kế hoạch phát triển
Triển khai và phát triển (4 tuần): Xây dựng website, bao gồm các tính năng chính như tìm kiếm phim, đăng nhập, quản lý tài khoản, xem phim, và hệ thống đánh giá …
•Phát triển frontend: Sử dụng HTML, CSS, JavaScript (với các framework như Tailwind CSS) để xây dựng giao diện người dùng
•Phát triển backend: Sử dụng PHP (Laravel) để xử lý logic phía server, quản
lý người dùng, phim và các tính năng liên quan
•Xây dựng cơ sở dữ liệu: Tạo và kết nối cơ sở dữ liệu MySQL để lưu trữ thông tin phim, người dùng, lịch sử xem, và các đánh giá
•Tích hợp các tính năng: Thực hiện các chức năng như đăng nhập, đăng ký, theo dõi lịch sử xem phim, yêu thích phim, và đánh giá phim
•Kiểm thử chức năng: Kiểm thử từng tính năng của website, đảm bảo hoạt động ổn định và không có lỗi
Kiểm thử và tối ưu hóa (2 tuần): Đảm bảo website hoạt động ổn định, không có lỗi và tối ưu hóa hiệu suất
•Kiểm thử chức năng: Thực hiện kiểm thử toàn bộ các tính năng của website để đảm bảo mọi thứ hoạt động như mong đợi
•Kiểm thử hiệu suất: Kiểm tra tốc độ tải trang, khả năng chịu tải của website khi có nhiều người dùng truy cập đồng thời
•Tối ưu hóa giao diện: Đảm bảo giao diện website hoạt động tốt trên tất cả các thiết bị và trình duyệt (responsive design)
Trang 133
•Sửa lỗi và cải tiến: Sửa các lỗi phát sinh trong quá trình kiểm thử và tối ưu
mã nguồn để website chạy mượt mà hơn
Triển khai và bảo trì (Liên tục)
•Triển khai website: Đưa website lên server để phục vụ người dùng Đảm bảo website có thể hoạt động ổn định trên môi trường thực tế
•Cập nhật và bảo trì: Cập nhật các bộ phim mới, bảo trì hệ thống để đảm bảo an toàn và bảo mật
•Giải quyết vấn đề người dùng: Theo dõi phản hồi từ người dùng để xử lý các vấn đề và cải thiện website
4 Bố cục báo cáo
Sau phần Mở đầu, báo cáo được trình bày trong ba chương, cụ thể như sau:
Chương 1 Tổng quan về đề tài
Chương 2 Phân tích thiết kế hệ thống
Chương 3 Xây dựng giao diện
Cuối cùng là Kết luận Tài liệu tham khảo, và Phụ lục liên quan đến đề tài
Trang 144
Chương 1 TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU
1 Giới thiệu về công cụ
1.1 Giới thiệu về Laravel Framwork
Trong phần giới thiệu về Laravel, có thể thấy rằng nhiều người quan tâm và muốn biết tường tận chi tiết về Laravel là gì Trên thực tế, Laravel là một PHP Framework có mã nguồn mở miễn phí Chúng được phát triển và sáng lập bởi Taylor Otwell và có phiên bản đầu tiên được ra mắt vào giữa năm 2011 Mục đích của mã nguồn này là có thể hỗ trợ một cách tối đa cho các web dựa trên mô hình sáng tạo MVC
Người sử dụng Laravel sẽ thấy rằng phần mềm này được cấp phép phát hành theo MIT, và chúng có nguồn dữ liệu được lưu trữ kỹ càng tại Github Tuy là một phần mềm sinh sau đẻ muộn, có mặt trên thị trường chỉ hơn 10 năm, thế nhưng nó đã tạo được một tiếng vang lớn và khiến cho nhiều người sử dụng cảm thấy thích thú và muốn dùng thêm nữa
1.2 Ưu điểm của Laravel FrameWork
1.2.1.Phát triển d a trên nự ền tảng Symfony
Điểm khiến Laravel rất dễ sử dụng cho dù là người mới hay những nhà phát triển chuyên nghiệp là nó được xây dựng dựa trên một nền tảng PHP framework nổi tiếng có tên là Symfony Symfony là một framework PHP chuyên để phát triển web được ra mắt vào năm 2005
PHP framework Symfony đã được sử dụng chủ yếu như một người bạn đồng hành với nhà phát triển web quy mô lớn , nhưng Laravel đã kế thừa vững chắc thiết kế của khung công tác này
Do đó, mặc dù là một PHP framework hoàn toàn mới nhưng đây là một dịch vụ
sử dụng rất thoải mái, dễ dàng sử dụng không chỉ cho các nhà phát triển web chuyên nghiệp mà còn cho cả những người mới bắt đầu
1.2.2.Tính linh ho t và t do cao ạ ự
Một trong những ưu điểm của Laravel là nó có rất nhiều hàm cài sẵn so với các framework PHP từ trước đến nay Trong các framework thông thường, nhiều trường
Trang 15Tuy nhiên, ngay từ đầu Laravel đã có nhiều tính năng tuyệt vời để giảm thiểu công sức của các kỹ sư nhiều nhất có thể Bạn sẽ không phải tốn thời gian và công sức
để chuẩn bị môi trường bổ sung sau khi cài đặt Laravel, việc phát triển website có thể được rút ngắn đáng kể Có thể nói Laravel là một PHP framework tốt và rất hiệu quả trong việc cải thiện hiệu suất chi phí
1.2.3.Cộng đồng Laravel đang phát triển rất sôi động và nhanh chóng
Một ưu thế về việc dễ sử dụng của Laravel là cộng đồng Laravel đang gia tăng rất nhanh chóng và các thắc mắc, giải pháp thường xuyên được trao đổi trực tuyến Các bài tutorial để giới thiệu và sử dụng Laravel gia tăng nhanh chóng, hầu hết mọi thắc mắc của bạn đều dễ dàng tìm thấy lời giải đáp hữu ích trên Google hoặc Youtube
Số lượng các dự án làm bằng Laravel tăng lên nhanh chóng Trong tương lai và rất có thể Laravel sẽ trở thành tiêu chuẩn cho các framework PHP trong tương lai gần 1.2.4.Framework dành cho người m i h ớ ọc lập trình web
Vấn đề là Laravel có thể dễ dàng sử dụng ngay cả với những người mới bắt đầu làm quen với PHP Hơn thế nữa, Laravel có thể được sử dụng trên cả Mac và Windows Các framework do Microsoft hoặc Apple hoặc Google phát triển luôn có những tối ưu riêng dành cho HĐH mà họ sở hữu Do vậy các framework này phụ thuộc vào hệ điều hành có thể có các mức độ hạn chế khác nhau tùy thuộc vào việc chúng chạy trên Mac hay Windows, nhưng với Laravel, bạn không phải lo lắng về điều đó So với các framework PHP khác, Laravel có tuổi đời khá non trẻ, việc đánh bại các lão làng khác cho thấy được ưu điểm về việc dễ sử dụng vốn là điểm nhấn của PHP nói chung được khai thác rất tốt
2 Giới thiệu ngôn ngữ
2.1 Giới thiệu PHP
2.1.5.PHP là gì ?
PHP viết tắt của từ Hypertext Preprocessor Là một ngôn ngữ lập trình kịch bản (script) mã nguồn mở, cộng đồng phát triển mạnh mẽ, có thể hỗ trợ nhanh chóng chỉ vài thao tác search đơn giản
Trang 166
Chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, dùng cho mục đích tổng quát Đặc biệt thích hợp cho phát triển web và có thể được nhúng vào HTML
Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới
2.2 PHP hoạt động như thế nào ?
Khi có người dùng gọi trang PHP, web máy chủ sẽ triệu gọi PHP Engine thông dịch trang PHP và trả lại kết quả cho người dùng Thông thường, khi chạy code, chúng được làm theo một quy trình thông dịch và trả kết quả mà chúng ta không nhìn thấy Dưới đây là mô tả ngôn ngữ PHP khi thực thi một đoạn code thường được trải qua 4 giai đoạn sau:
Giai đoạn 1: Lexing
Lexing (hay còn gọi là tokenizing), là quá trình chuyển một đoạn mã nguồn PHP thành một chuỗi các token có gắn giá trị PHP sử dụng re2c để tạo các lexer của
nó từ file khai báo
Giai đoạn 2: Parsing
Bộ phận tích chú Phsp (parser) được tạo qua file grammar BNF với Bison Ngôn ngữ lập trình PHP sử dụng cấu trúc LALR Ở giai đoạn này, sẽ nhận các luồng token từ lexer như các biến đầu vào Chúng thực hiện 2 công việc sau:
•Xác định tính hợp lệ của token bằng việc khớp chúng với từng quy tắc ngữ pháp định nghĩa trong tập tin ngữ pháp BNF Bước này đòi hỏi cấu trúc ngôn ngữ phải hợp lệ, theo dạng trong luồng stream
•Bộ parser tạo cây cú pháp trừu tượng AST, mã nguồn hiển thị dưới dạng cây và dùng trong giai đoạn tiếp theo
Giai đoạn 3: Compiling
Giai đoạn Compiling hay còn gọi là biên dịch, sử dụng AST phát ra các mã tác dụng bằng cách duyệt cây phương pháp đệ quy Ở giai đoạn này thực hiện một vài tối
ưu hóa, giải quyết lời gọi hàm Người dùng có thể kiểm tra đầu ra các đoạn mã được tối ưu bằng nhiều cách, thông qua VLD, PHPDBG hay OP cache Trong đó, VLD thường được sử dụng bởi nó tạo ra các mã output dễ đọc hơn cả
Giai đoạn 4: Interpreter
Trang 177
Đây là giai đoạn thông dịch mã tác vụ Tại đây, mã tác vụ chạy trên Zen EngineVM, với giai đoạn đầu hầu như rất ngắn, đầu ra tương tự như kết quả khi sử dụng PHPecho, var_dump,…
nó không thể thực hiện các chức năng “động”
Hiểu một cách đơn giản hơn, cũng tương tự như phần mềm Microsoft Word, HTML chỉ có tác dụng bố cục và định dạng trang web HTML khi kết hợp với CSS và JavaScript sẽ trở thành một nền tảng vững chắc cho thế giới mạng
Thông thường, một Website sẽ có nhiều HTML document (ví dụ: trang chủ, trang blog, trang liên hệ,…) và mỗi trang con như vậy sẽ có một tệp HTML riêng Mỗi tài liệu HTML bao gồm 1 bộ tag (hay còn gọi là element) Nó tạo ra một cấu trúc
2.4 Giới thiệu về Tailwind CSS
2.4.1.Tailwind CSS là gì?
Tailwind CSS là một framework CSS utility first, tương tự như Bootstrap, cung cấp một tập hợp các lớp CSS được tích hợp sẵn mà chúng ta có thể sử dụng trong ứng dụng của mình Tuy nhiên, điểm đặc biệt của Tailwind CSS là nó cung cấp một số lượng lớn các lớp CSS với các thuộc tính và quy tắc CSS khác nhau Thay vì sử dụng các lớp CSS được định nghĩa sẵn cho các thành phần cụ thể, Tailwind CSS tập trung vào việc cung cấp các lớp CSS cơ bản mà chúng ta có thể kết hợp để xây dựng giao diện
-2.4.2.Ưu nhược điểm c a Tailwind ủ
Ưu điểm:
Trang 188
Tăng tốc độ code với Extension thông minh trên VS Code.Xây dựng giao diện chỉ bằng việc khai báo class trên file HTML: Với Tailwind CSS, chúng ta có thể xây dựng giao diện bằng cách sử dụng các lớp CSS được khai báo trực tiếp trên các phần
tử HTML Điều này giúp giảm đáng kể việc viết CSS tùy chỉnh và tăng tốc độ phát triển
•Xuất ra chỉ những file CSS chứa các class đã sử dụng
•Thiết lập Responsive ngay trên file HTML
•Hỗ trợ tương tác hover, focus ngay trên class HTML
•Tối ưu cấu trúc HTML và CSS có tính lặp lại
•Định nghĩa thêm class mới phối hợp với các class có sẵn trong Tailwind
•Hỗ trợ chế độ tối Dark Mode
•Dễ dàng mở rộng, chỉnh sửa và biến đổi
Nhược điểm:
•Nhược điểm lớn nhất là khi sử dụng Tailwind thì các thẻ của chúng ta cần rất nhiều class, mỗi thuộc tính là một class khi đó code cũng sẽ rất dài và rắc rối
3 Kết thúc chương 1
Như vậy chương này ta đã tìm hiểu được tổng quan hướng phát triển và các giải pháp áp dụng cần có để xây dựng ứng dụng Đây là tiền đề cho việc khảo sát và phương pháp nghiên cứu, tiếp cận bài toán trong phần sau
Trang 199
Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
1 Biểu đồ ca sử dụng
Hình 1 Biểu đồ ca sử dụng tổng quát
Trang 2010
2 Biểu đồ lớp
Hình 2 Biểu đồ lớp
Trang 2111
3 Thiết kế cơ sở dữ liệu
3.1 Sơ đồ Mô hình Quan hệ Thực thể
Hình 3 Sơ đồ Mô hình Quan hệ Th ực thể
3.2 Bảng users
Bảng 1 B ảng users
Column Name Data Type Constraints
Trang 2212
3.3 Bảng actors
Bảng 2 B ảng actors
Column Name Data Type Attributes
3.4 Bảng Films
Bảng 3 B ảng Films
Column Name Data Type Attributes
Trang 2313
type enum('show','movie') Not Null Default 'movie'
average_rating decimal(2,1) Not null default '0.0'
3.5 Bảng episodes
Bảng 4 B ảng episodes
Column Name Data Type Attributes
Trang 2414
3.6 Bảng seasons
Bảng 5 B ảng seasons
Column Name Data Type Attributes
3.7 Bảng watchlists
Bảng 6 B ảng watchlists
Column Name Data Type Attributes
3.8 Bảng comments
Bảng 7 B ảng comments
Column Name Data Type Attributes
Trang 2515
3.9 Bảng ratings
Bảng 8 B ảng ratings
Column Name Data Type Attributes
user_id Bigint Unsigned Not null, Foreign Key (users), Unique film_id Bigint Unsigned Not Null, Foreign Key (films), Unique
3.10 Bảng subscriptions
Bảng 9 Bảng subscriptions
Column Name Data Type Constraints
Increment name enum('free','basic','standard','premium') NOT NULL, Default: 'free'
duration enum('1 month','3 months','6
months','12 month')
NOT NULL
Trang 2616
3.11 Bảng user_subscriptions
Bảng 10 B ảng user_subscriptions
Column Name Data Type Constraints
subscription_id bigint UNSIGNED NOT NULL, FOREIGN KEY (subscriptions)
3.12 Bảng genres
Column Name Data Type Constraints
UNIQUE
UNIQUE
3.13 Bảng film_actors
Bảng 11 B ảng film_actors
Column Name Data Type Attributes