Qua bốn năm học tập tại trường cùng với những lý do trên, tôi quyết định chọn đề tài “Xây dựng hệ thống Website tư vấn và hướng nghiệp chọn ngành học cho học sinh” để thực hiện khóa luận tốt nghiệp này. Vấn đề tư vấn tuyển sinh luôn được mọi người quan tâm và rất quan trọng đối học sinh trung học phổ thông. Tư vấn nhằm định hướng cho học sinh chọn được ngành phù hợp với bản thân. Nhưng vấn đề tư vấn tuyển sinh hàng năm vẫn còn gặp nhiều vấn đề: chưa giúp học sinh chọn được ngành thích hợp, thông tin tư vấn từ các chương trình chủ yếu là hỏi và đáp nên hiệu quả chưa cao. Do đó, một Website tư vấn giúp học sinh chọn ngành nghề phù hợp là rất cần thiết với tình hình hiện nay.
Trang 1LỜI NÓI ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của Công nghệ Thông tin, nhu cầu về tin học ngày càng cao Do đó, việc tin học hóa ở các cơ quan nhà nước, tổ chức doanh nghiệp được ứng dụng rất rộng rải Tin học hóa giúp cho con người lưu trữ, quản lý thông tin một cách dễ dàng, tiết kiệm được thời gian, chi phí Cùng với sự phát triển của Công nghệ Thông tin, Internet cũng phát triển nhanh chóng Số lượt truy cập Internet mỗi ngày một tăng thì số lượng Website cũng tăng theo từng ngày Website đã trở thành một phần không thể thiếu trong các hoạt động giải trí, học tập, mua bán, trao đổi thông tin,…
Qua bốn năm học tập tại trường cùng với những lý do trên, tôi quyết định chọn
đề tài “Xây dựng hệ thống Website tư vấn và hướng nghiệp chọn ngành học cho học sinh” để thực hiện khóa luận tốt nghiệp này Vấn đề tư vấn tuyển sinh luôn được mọi
người quan tâm và rất quan trọng đối học sinh trung học phổ thông Tư vấn nhằm định hướng cho học sinh chọn được ngành phù hợp với bản thân Nhưng vấn đề tư vấn tuyển sinh hàng năm vẫn còn gặp nhiều vấn đề: chưa giúp học sinh chọn được ngành thích hợp, thông tin tư vấn từ các chương trình chủ yếu là hỏi và đáp nên hiệu quả chưa cao Do đó, một Website tư vấn giúp học sinh chọn ngành nghề phù hợp là rất cần thiết với tình hình hiện nay
Trang 2LỜI CẢM ƠN
Trước tiên, tôi xin chân thành cảm ơn Ban Giám Hiệu nhà trường, Khoa Kỹ thuật và Công nghệ, đã tạo điều kiện cho tôi được tham gia thực hiện khóa luận tốt nghiệp, giúp tôi có điều kiện áp dụng kiến thức đã học vào khóa luận, tạo cơ sở tổng hợp được nhiều kiến thức, trang bị được nhiều kỹ năng cần thiết, tích lũy được nhiều kinh nghiệm quý báu Đó chính là, những hành trang vô cùng quý giá giúp tôi vững bước vào đời
Đặc biệt, tôi xin chân thành cảm ơn Thầy Nguyễn Bá Nhiệm – giảng viên trực tiếp hướng dẫn, đã tận tình quan tâm và chỉ bảo tôi trong suốt thời gian thực hiện khóa luận tốt nghiệp này
Và tôi cũng xin chân thành cảm ơn thầy Chủ nhiệm Trần Văn Nam cùng quý Thầy Cô trong Khoa Kỹ thuật và Công nghệ đã tận tình giảng dạy, trang bị cho tôi những kiến thức cần thiết trong suốt quá trình học tập tại trường Cảm ơn tập thể lớp DA08TTD đã giúp đỡ, động viên, đóng góp những ý kiến quý báu cho tôi Tất cả những điều đó là nguồn động lực rất lớn giúp tôi hoàn thành khóa luận tốt nghiệp.Xin chân thành cảm ơn!
Sinh viên thực hiện
Nguyễn Thị Ngọc Đượm
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trà Vinh, ngày… Tháng… năm 20…
Giáo viên hướng dẫn
Trang 4NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trà Vinh, ngày… Tháng… năm 20…
Giáo viên phản biện
Trang 5MỤC LỤC
Trang 7DANH MỤC BẢNG
Trang 10DANH MỤC HÌNH
Trang 12Chương 1: ĐẶT VẤN ĐỀ
Ngày nay, khoa học kỹ thuật phát triển mạnh mẽ đã làm thay đổi cách suy nghĩ cũng như cách thức làm việc của con người trong các lĩnh vực Trong đó, mạng Internet và World Wide Web đã góp phần không nhỏ cho sự thay đổi đó, thu hút nhiều các nhà đầu tư, kinh doanh, tổ chức, công ty và giáo dục
Hàng năm công tác tuyển sinh của các trường đại học, cao đẳng, trung cấp chuyên nghiệp phải bỏ ra một khoảng kinh phí lớn cho việc tư vấn hướng nghiệp ngành học cho học sinh sắp tốt nghiệp Trung học Phổ thông định hướng đúng theo ngành, nghề yêu thích, sở trường, năng khiếu, khả năng học lực và các yếu tố khác Tuy nhiên, công tác tuyển sinh còn khá nhiều khiếm khuyết, không giúp học sinh chọn ngành nghề cho phù hợp, chỉ thực hiện trong thời gian ngắn có thể không phải tất cả học sinh được tham dự chương trình tư vấn và thông tin mang lại từ chương trình tư vấn tuyển sinh chủ yếu là hỏi và giải đáp các thắc mắc nên không đạt kết quả cao
Do đó, xây dựng một hệ thống Website tư vấn và hướng nghiệp, ngành học cho học sinh mang lại hiểu quả cao cho công tác tuyển sinh của các trường và đồng thời một kênh thông tin quan trọng cho học sinh quyết định chọn ngành, nghề theo đúng nguyện vọng và học lực của mình là một điều cần thiết
Trang 13Chương 2: CƠ SỞ LÝ THUYẾT2.1 Giới thiệu về Website động
Web động là thuật ngữ được dùng để chỉ những website có cơ sở dữ liệu (CSDL) và được hỗ trợ bởi các phần mềm phát triển web
Với web động, thông tin hiển thị được gọi ra từ một CSDL khi người dùng truy vấn tới một trang web Trang web được gửi tới trình duyệt gồm những câu chữ, hình ảnh, âm thanh hay những dữ liệu số hoặc ở dạng bảng hoặc ở nhiều hình thức khác
Chẳng hạn ứng dụng cơ sở của bạn có chức năng như một công cụ thương mại điện tử (một cửa hàng trực tuyến) trưng bày catalogue sản phẩm trên website hay theo dõi kho hàng, khi một mặt hàng được giao, ngay lập tức những trang có liên quan đến sản phẩm đó phản ánh sự thay đổi này Những website CSDL còn có thể thực hiện những chức năng truyền và xử lý thông tin giữa doanh nghiệp – doanh nghiệp
Web động thường được phát triển bằng các ngôn ngữ lập trình tiên tiến như: PHP, ASP, ASP.NET, Java, CGI, Perl, và sử dụng các cơ sở dữ liệu quan hệ mạnh như: Access, My SQL, MS SQL, Oracle, DB2
Thông tin trên web động luôn luôn mới vì nó dễ dàng được bạn thường xuyên cập nhật thông qua việc Bạn sử dụng các công cụ cập nhật của các phần mềm quản trị web Thông tin luôn được cập nhật trong một CSDL và người dùng Internet có thể xem những chỉnh sửa đó ngay lập tức Vì vậy website được hỗ trợ bởi CSDL là phương tiện trao đổi thông tin nhanh nhất với người dùng Internet Điều dễ nhận thấy
là những website thường xuyên được cập nhật sẽ thu hút nhiều khách hàng tới thăm hơn những web site ít có sự thay đổi về thông tin
Web động có tính tương tác với người sử dụng cao Với web động, Bạn hoàn toàn có thể dễ dàng quản trị nội dung và điều hành website của mình thông qua các phần mềm hỗ trợ mà không nhất thiết Bạn cần phải có kiến thức nhất định về ngôn ngữ html, lập trình web
Bạn cũng có thể nhìn nhận vấn đề theo khía cạnh khác: chẳng hạn bạn đã có sẵn những CSDL như: CSDL sản phẩm, nhân sự, khách hàng hay bất kỳ CSDL nào đó mà bạn muốn đưa thêm giao diện web vào để người dùng nội bộ hay người dùng Internet
Trang 14Tất cả các website Thương mại điện tử, các mạng thương mại, các mạng thông tin lớn, các website của các tổ chức, doanh nghiệp hoạt động chuyên nghiệp trên Internet đều sử dụng công nghệ web động Có thể nói web động là website của giới chuyên nghiệp hoạt động trên môi trường Internet
2.2 Giới thiệu về PHP
PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra năm
1994, để theo dõi người dùng truy cập lý lịch trực tuyến của ông Vì tính hữu dụng, khả năng phát triển, PHP đã bắt đầu được sử dụng trong môi trường chuyên nghiệp và
gì đó sau khi một sự kiện xảy ra
PHP là công nghệ phía máy chủ (server-side) và không phụ thuộc môi trường (cross-platform) Cả hai yếu tố này đều rất quan trọng Khái niệm công nghệ phía máy chủ nói đến mọi thứ trong PHP đều xảy ra trên máy chủ (ngược với máy khách - máy của người dùng) Tính chất không phụ thuộc môi trường cho phép PHP chạy trên hầu hết các hệ điều hành như: Windows, Unix, Macintosh… Một điều cũng rất quan trọng
là các mã kịch bản PHP viết trên máy chủ này sẽ làm việc bình thường trên các máy chủ khác mà không cần chỉnh sửa hoặc chỉnh sửa rất ít
Các tính năng riêng của PHP
Hiệu suất: Các script viết bằng PHP thực thi nhanh hơn các script được
viết bằng những ngôn ngữ viết script khác, với vô số điểm mốc độc lập khiến cho ngôn ngữ này vượt trội những lựa chọn cạnh tranh như: JSP, ASP.NET và Perl
Tính khả chuyển: PHP có sẵn cho các chương trình UNIX, Microsoft
Windows, Mac OS, OS/2 và các chương trình PHP khả chuyển giữa các nền
Trang 15 Tính dễ sử dụng: Như Leonardo da Vinci đã nói “Đơn giản chính là sự
phức tạp tột cùng” và qua thước đo đó, PHP là một ngôn ngữ cực kỳ tinh vi Cú pháp của nó rõ ràng, nhất quán và nó đính kèm tài liệu toàn diện cho 5000+ hàm đính kèm với các bản phân bố lỗi Điều này giảm đáng kể đường cong học tập cho những nhà lập trình mới cũng như những nhà lập trình có kinh nghiệm và nó là một trong những
lý do PHP được ưu tiên như là một công cụ nguyên mẫu nhanh cho các ứng dụng dựa trên nền tảng Web
Nguồn mở (Open Source): PHP là một dự án nguồn mở - ngôn ngữ
được phát triển bởi một đội những người tình nguyện trên toàn cầu làm cho mã nguồn của nó có sẵn miễn phí trên Web và nó có thể được sử dụng mà không phải trả các chi phí bản quyền hoặc các khoản đầu tư vào phần cứng hoặc phần mềm tốn kém Điều này giảm các chi phí phát triển phần mềm mà không ảnh hưởng đến sự linh hoạt hoặc
độ tin cậy Bản chất nguồn mở của mã có nghĩa xa hơn nữa là bất kỳ nhà phát triển ở bất cứ nơi nào cũng có thể kiểm tra cây mã, phát triển các lỗi và gợi ý các cách sửa chữa có thể có; Điều này tạo ra một sản phẩm mạnh ổn định trong khi các lỗi được phát hiện sẽ giải quyết nhanh – đôi khi trong vòng một vài giờ phát hiện
Sự hỗ trợ của cộng đồng: Một trong những điều thú vị về một ngôn
ngữ được hỗ trợ bởi cộng đồng như PHP là sự truy cập nó mang lại cho sức sáng tạo
và trí tưởng tượng của hàng trăm nhà phát triển khắp thế giới Trong cộng đồng PHP, những thành quả của khả năng sáng tạo đó có thể được tìm thấy trong PEAR, PHP Extension and Application Reposition (http://pear.php.net/) và PECL, PHP Extension Community Library (http://pecl.php.net/), chứa hàng trăm widget và extension tài sản
mà các nhà phát triển có thể sử dụng để thêm chức năng mới cho PHP dễ dàng Sử dụng những widget này thường là một lựa chọn phân phối mã riêng của bạn một cách hiệu quả hơn về thời gian và chi phí
Hỗ trợ ứng dụng bên thứ ba: Một trong những ưu thế của PHP là trước
đây nó được hỗ trợ một dãy rộng các CSDL khác nhau bao gồm: MySQL, PostgreSQL, Oracle và Microsoft SQL Server Sự hỗ trợ XML làm cho dễ đọc (và viết) các tài liệu XML như thể nó là những cấu trúc dữ liệu PHP riêng, truy cập các tập hợp nút XML sử dụng Xpath và biến đổi XML thành những định dạng khác nhau bằng
Trang 16phép các nhà phát triển viết các add-on tùy ý cho ngôn ngữ và kết quả là ngày nay các nhà phát triển PHP có thể đọc và viết các định dạng ảnh GIF, JEPG, PNG; gửi và nhận email sử dụng các giao thức SMTP, IMAP và POP3; giao diện với các dịch vụ Web sử dụng các biểu thức thông thường Perl; và tạo các xử lý các tài liệu PDP Thậm chí PHP có thể truy cập các thư viện C (library C), các class (lớp) Java và những đối tượng COM và tận dụng mã chương trình được viết cho những ngôn ngữ này.
2.3 Giới thiệu về MySQL
MySQL là CSDL phổ biến nhất thế giới, một số người còn cho rằng đây là CSDL mã nguồn mở tốt nhất Giống như PHP, MySQL có một khả năng thực thi hoàn hảo, rất linh động, đáng tin cậy, dễ nắm bắt và ít tốn chi phí hoặc miễn phí
MySQL được phát triển và hỗ trợ bởi công ty MySQL AB của Thụy Điển Nó
là hệ thống quản trị CSDL (DBMS) cho các CSDL quan hệ (vì vậy, MySQL là một RDBMS) CSDL là một tập hợp các dữ liệu có liên quan với nhau, có thể là văn bản,
số hoặc các tập tin nhị phân được lưu trữ có tổ chức bởi DBMS
Có nhiều loại CSDL, từ các tập tin đơn giản đến các tập tin quan hệ và hướng đối tượng Một CSDL quan hệ sử dụng nhiều bảng để lưu trữ thông tin trong những phần riêng biệt Trước 1970, CSDL trong giống như các bảng tính lớn, đơn giản và lưu trữ mọi thứ Các CSDL quan hệ đòi hỏi phải tập trung suy nghĩ nhiều hơn trong giai đoạn thiết kế và lập trình, nhưng chúng có độ tin cậy và tính toàn vẹn dữ liệu tốt hơn Ngoài ra, các CSDL quan hệ có thể thực hiện việc tìm kiếm và cho phép nhiều người
sử dụng cùng một lúc
Với việc kết hợp một CSDL vào ứng dụng Web, nhiều dữ liệu do PHP sinh ra
có thể được lấy từ MySQL Điều này sẽ chuyển nội dung của site từ trạng thái tĩnh (mã hóa cứng) sang trạng thái động và độ linh hoạt chính là chìa khóa của Website động
2.4 Giới thiệu về ngôn ngữ JavaScript
Javascript là một ngôn ngữ lập trình phía trình duyệt xử lý có động cơ được nhúng vào trong các trình duyệt web như Internet Explorer, Netscape, trình duyệt Firefox Điều này cho phép xử lý các động cơ để đọc và lĩnh hội các trang web có chứa các mã javascript khi duyệt qua
Trang 17Javascript làm một xuất hiện đầu tiên vào năm 1995, mặc dù thời điểm đó của
nó đã được biết đến như là Livescript Tên gọi này sau đó đã được thay đổi để javascript
Javascript invented đã được thêm vào nhiều tính năng thú vị để các trang HTML HTML trên nó là boring và nó có thể không phải làm nhiều ngoài việc hiển thị một trang web Javascript lập trình, mặt khác, có thể cung cấp một máy chủ của các tính năng hấp dẫn như thực hiện các phép tính, cho phép người sử dụng tương tác với các trang web, thực hiện các hình thức validations, yếu tố thao tác trên một trang web, cung cấp các hiệu ứng thị giác tuyệt vời, năng động, cho phép chức năng và còn nhiều hơn nữa
Tất cả điều này cung cấp cho người sử dụng cho trang web với một người sử dụng nâng cao kinh nghiệm Bởi vì javascript là một ngôn ngữ phía trình duyệt, tất cả các tính năng này có sẵn trong thời gian thực mà không cần có trình duyệt để tham khảo các máy chủ tất cả các thời điểm nào Điều này tránh sự chậm trễ thời gian và tăng sự hài lòng của người sử dụng
2.5 Giới thiệu Apache
Apache hay là chương trình máy chủ HTTP là một chương trình dành cho máy chủ đối thoại qua giao thức HTTP Apache chạy trên các hệ điều hành tương tự như: Unix, Microsoft Windows, Novell Netware và các hệ điều hành khác Apache đóng một vai trò quan trọng trong quá trình phát triển của mạng web thế giới (tiếng Anh: World Wide Web)
Khi được phát hành lần đầu, Apache là chương trình máy chủ mã nguồn mở duy nhất có khả năng cạnh tranh với chương trình máy chủ tương tự của Netscape Communications Corporation mà ngày nay được biết đến qua tên thương mại Sun Java System Web Server Từ đó trở đi, Apache đã không ngừng tiến triển và trở thành một phần mềm có sức cạnh tranh mạnh so với các chương trình máy chủ khác về mặt hiệu suất và tính năng phong phú Từ tháng 4 năm 1996, Apache trở thành một chương trình máy chủ HTTP thông dụng nhất Hơn nữa, Apache thường được dùng để so sánh với các phần mềm khác có chức năng tương tự Tính đến tháng 1 năm 2007 thì Apache
Trang 18Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở dưới sự bảo trợ của Apache Software Foundation Apache được phát hành với giấy phép Apache License và là một phần mềm tự do và miễn phí.
Trang 19Chương 3: PHÂN TÍCH – THIẾT KẾ HỆ THỐNG
3.1 Yêu cầu chức năng
3.1.1 Yêu cầu lưu trữ
Website tư vấn và hướng nghiệp ngành học cần phải lưu trữ một số thông tin vào CSDL như sau:
− Thông tin học sinh gồm có: mã học sinh, tên học sinh, ngày sinh, giới tính, email, quê quán
− Thông tin môn học: mã môn học, tên môn học
− Thông tin bảng điểm: mã môn học, mã học sinh và điểm
− Thông tin năng khiếu: mã năng khiếu, tên năng khiếu
− Thông tin khối thi đại học: mã khối, tên khối
− Thông tin trường: mã trường, tên trường, thông tin về trường, địa chỉ của trường, logo trường, hình trường
− Thông tin bản tin: mã bản tin, tên bản tin, nội dung tóm tắt, nội dung, hình ảnh, chú thích hình, ngày đăng, do người nào đăng, thuộc loại tin gì
− Thông tin về loại bản tin: mã loại tin, tên loại tin
− Thông tin thành viên: mã thành viên, tên thành viên, tên đăng nhập (username), password, email
− Thông tin về bài viêt: số thứ tự bài viết, tên bài viết, nội dung tóm tắt, nội dung, hình ảnh, chú thích hình, ngày đăng, người đằng và tình trạng
− Thông tin ngành học: mã ngành, tên ngành, thông tin ngành
− Thông tin về số người truy cập để biết được tổng số lượt khách viếng thăm trang web
3.1.2 Yêu cầu tra cứu
− Thông tin bản tin: cũng được tra cứu thông qua từ khóa (tên bản tin) và bản tin thuộc loại bản tin nào
− Xem kết quả tư vấn thông qua tài khoản của học sinh đã được tư vấn
Trang 20− Thông tin bản tin
− Thông tin bài viết
− Số lượt truy cập
− Thông tin trường
3.2 Yêu cầu phi chức năng
− Tiến trình: sử dụng ngôn lập trình PHP với tốc độ xử lý nhanh, độ tin cậy cao
− Sản phẩm: giao diện thân thiện với người dùng, dễ dàng sử dụng, tốc độ thực thi nhanh chóng, độ tin cây cao về kết quả xử lý cũng như thông tin cá nhân vì có sự phân quyền đối với người dùng
− Tổ chức: Website được viết bởi ngôn ngữ PHP nên cài đặt dễ dàng, ít tốn kém chi phí, dễ sử dụng Đặc biệt, ta có thể nâng cấp nội dung website dễ dàng
− Bên ngoài: do sử dụng PHP nên Website có khả năng tương tác với nhiều hệ điều hành, tính linh hoạt cao, dễ sửa đổi
3.3 Thiết kế cơ sở dữ liệu
3.3.1 Mô hình thực thể kết hợp (ERD)
3.3.1.1 Mô hình
Trang 21tenNg thongtinNg gtng
Characters (10) Characters (256) Long variable characters (4000) Characters (4)
<M>
hocsinh maHS
tenHS gioitinh email quequan ngaysinh truongpt pass quyen
Characters (10) Characters (256) Characters (4) Characters (256) Characters (256) Date Characters (256) Characters (50) Characters (100)
<M>
nangkhieu maNK
tenNK
Integer Characters (256)
<M>
bantin maBT
Characters (256) Characters (256) Characters (256) Characters (256)
<M>
loaitin maLT
Characters (256) Characters (50) Characters (256) Characters (4) Characters (256) Characters (100) Date Characters (256)
<M>
có thêm
xét có
tenbv ndTT noidung hinh chuthichhinh ngaydang nguoiviet tinhtrang loaitin
Integer Characters (256) Long variable characters (4000) Long variable characters (5000) Characters (256)
Characters (256) Date Characters (256) Characters (10) Characters (50)
<M>
viết
truong maTr
tenTr logo ndTT ttTr hinh
Characters (10) Characters (256) Characters (256) Long variable characters (4000) Long variable characters (4000) Characters (256)
<M>
đăng thông tin
Hinh 3.1: Mô hình thực thể kết hợp
Trang 22Bảng 3.1: Danh sách các thực thể
3.3.1.3 Danh sách các mối kết hợp
STT Tên các mối kết hợp Diễn giải
Bảng 3.2: Danh sách các mối kết hợp
Trang 233.3.1.4 Bảng mô tả các thực thể, mối kết hợp
Mô tả các thực thể
Thực thể hocsinh
hocsinh maHS
Characters (256) Characters (50) Characters (100)
Ghi chú
tenHS
Họ tên học
ngaysinh ngày sinh ngày tháng Bắt buộc
truongpt
Trường phổ thông học sinh
Bảng 3.3:Thuộc tính thực thể học sinh
Thực thể monhoc
Trang 24monhoc maMH
tenMH
Characters (10) Characters (100)
Ghi chú
Bảng 3.4: Thuộc tính thực thể môn học
Thực thể nganh
nganh maNganh
tenNg
thongtinNg
gtng
Characters (10) Characters (256) Long variable characters (4000) Characters (4)
Chiều dài
Ghi chú
Bảng 3.5: Thuộc tính thực thể ngành
Thực thể khoi
khoi maKh
tenKh
Characters (10) Characters (256)
<M>
Trang 25Ghi chú
Bảng 3.6: Thuộc tính khối
Thực thể nangkhieu
nangkhieu maNK
tenNK
Integer Characters (256)
Ghi chúmaNK
Mã năng
tenNk
Tên năng
Bảng 3.7: Thuộc tính thực thể năng khiếu
Thực thể user
Trang 26user Username
Ghi chú
ten
Họ tên thành
quyen
Quyền thành
ngaysinh Ngày sinh Ngày tháng Bắt buộc
Bảng 3.8: Thuộc tính thực thể user
Thực thể bantin
bantin maBT
Characters (256) Characters (256) Characters (256) Characters (256)
Trang 27msBT Mã bản tin Chuỗi Bắt buộc khóa chính 10
ndTT
Nội dung tóm
ngaydang Ngày đăng Ngày tháng Bắt buộc
tenLT
Characters (10) Characters (256)
Ghi chú
Bảng 3.10: Thuộc tính thực thể loại tin
Thực thể baiviet
baivi et mabv
Characters (256) Date
Characters (256) Characters (10) Characters (50)
<M>
Hình 3.10: Thực thể bài viết
Trang 28Thực thể baiviet dùng để lưu trữ thông tin các bài viết do thành viên website đăng.
Ghi chú
ngaydang Ngày đăng Ngày tháng Bắt buộc
Bảng 3.11: Thuộc tính thực thể bài viết
Thực thể truong
truong maT r
Ghi chú
Trang 29tenHS gioitinh email quequan ngaysinh truongpt pass quyen
Characters (10) Characters (256) Characters (4) Characters (256) Characters (256) Date
Characters (256) Characters (50) Characters (100)
<M>
Hình 3.12: Mối kết hợp giữa học sinh và môn học
- Mỗi một thực thể monhoc có thể có một hoặc nhiều thực thể hocsinh học (hay một môn học có thể có một hoặc nhiều học sinh học) => (1,n)
- Mỗi một thực thể hocsinh có thể học một hoặc nhiều monhoc (hay một học sinh có thể học một hoặc nhiều môn học) => (1,n)
Mối kết hợp giữa hocsinh và nangkhieu
tenNK
Integer Characters (256)
<M>
có thêm
Hình 3.13: Mối kết hợp giữa học sinh và năng khiếu
- Mỗi một thực thể nangkhieu có thể có một hoặc nhiều thực thể hocsinh
có (hay một năng khiếu có thể có một hoặc nhiều học sinh có) => (1,n)
- Mỗi một thực thể hocsinh có thể có không hoặc một nangkhieu (hay một học sinh có thể có không hoặc một năng khiếu) => (0,1)
Trang 30nganh maNganh
tenNg thongtinNg gtng
Characters (10) Characters (256) Long variable characters (4000) Characters (4)
Hình 3.14: Mối kết hợp giữa học sinh và ngành
- Mỗi một thực thể nganh có thể có một hoặc nhiều thực thể hocsinh chọn (hay một ngành có thể có một hoặc nhiều học sinh học) => (1,n)
- Mỗi một thực thể hocsinh có thể chọn một và chỉ một nganh (hay một học sinh có thể chọn ít một và chỉ một môn học) => (1,1)
Mối kết hợp giữa hocsinh và user
Characters (256) Characters (50) Characters (256) Characters (4) Characters (256) Characters (100) Date
Characters (256)
<M>
đăng ký
Hình 3.15: Mối kết hợp giữa học sinh và user
- Mỗi một thực thể user có thể có một và chỉ một thực thể hocsinh đăng ký (hay một user có thể có một chỉ một học sinh học) => (1,1)
- Mỗi một thực thể hocsinh có thể đăng ký một hoặc nhiều user (hay một học sinh có thể đăng ký một hoặc nhiều user) => (1,n)
Mối kết hợp giữa monhoc và khoi
1,n
1,n thi vào
tenMH
Characters (10) Characters (100)
<M>
Hình 3.16: Mối kết hợp giữa khối và môn học
- Mỗi một thực thể khoi có thể có một hoặc nhiều thực thể monhoc thi vào (hay một khối có thể có một hoặc nhiều môn học thi vào) => (1,n)
- Mỗi một thực thể monhoc có thể thi vào một hoặc nhiều khoi (hay một môn học có thể thi vào một hoặc nhiều khối) => (1,n)
Trang 31 Mối kết hợp giữa khoi và nganh
tenNg thongtinNg gtng
Characters (10) Characters (256) Long variable characters (4000) Characters (4)
<M> có
Hình 3.17: Mối kết hợp giữa khối và ngành
- Mỗi một thực thể khoi có thể có một hoặc nhiều thực thể nganh (hay một khối có thể có một hoặc nhiều ngành) => (1,n)
- Mỗi một thực thể nganh có thể có một hoặc nhiều khoi (hay một ngành
có thể có một hoặc nhiều khối) => (1,n)
Mối kết hợp giữa nangkhieu và nganh
0,1
1,n xét
nganh maNganh
Integer Characters (256)
<M>
Hình 3.18: Mối kết hợp giữa ngành và năng khiếu
- Mỗi một thực thể nganh có thể xét không hoặc một thực thể nangkhieu (hay một ngành có thể xét không hoặc một năng khiếu) => (0,1)
- Mỗi một thực thể nangkhieu có thể xét một hoặc nhiều nganh (hay một năng khiếu có thể xét được một hoặc nhiều ngành) => (1,n)
Mối kết hợp giữa user và truong
1,1 1,n đăng thông tin
truong maTr
tenTr logo thongtintt ttTr hinh
Characters (10) Characters (256) Characters (256) Long variable characters (4000) Long variable characters (4000) Characters (256)
Hình 3.19: Mối kết hợp giữa user và trường
- Mỗi một thực thể user có thể đăng thông tin một hoặc nhiều thực thể truong (hay một user (thành viên) có thể đăng thông tin một hoặc nhiều trường) => (1,n)
Trang 32- Mỗi một thực thể truong có thể được đăng thông tin bởi một và chỉ một user (hay một trường có thể được đăng thông tin bởi một và chỉ một user (thành viên))
=> (1,1)
Mối kết hợp giữa user và bantin
1,1
1,n đăng
bantin maBT
Long variable characters (4000)
Long variable characters (5000)
Characters (256) Characters (50) Characters (256) Characters (4) Characters (256) Characters (100) Date
Characters (256)
<M>
Hình 3.20: Mối kết hợp giữa bản tin và user
- Mỗi một thực thể user có thể đăng một hoặc nhiều thực thể bantin (hay một user (thành viên) có thể đăng một hoặc nhiều bản tin) => (1,n)
- Mỗi một thực thể bantin có thể được đăng bởi một và chỉ một user (hay một bản tin có thể được đăng bởi một và chỉ một user (thành viên)) => (1,1)
Mối kết hợp giữa user và baiviet
1,n
1,1 viết
tenbv ndT T noidung hinh chuthichhinh ngaydang nguoiviet tinhtrang loaitin
Integer Characters (256) Long variabl e characters (4000) Long variabl e characters (5000) Characters (256)
Characters (256) Date
Characters (256) Characters (10) Characters (50)
<M>
Hình 3.21: Mối kết hợp giữa user và bài viết
- Mỗi một thực thể user có thể viết một hoặc nhiều thực thể baiviet (hay một user (thành viên) có thể viết một hoặc nhiều bài viết) => (1,n)
- Mỗi một thực thể baiviet có thể được viết bởi một và chỉ một user (hay một bài viết có thể được đăng bởi một và chỉ một user (thành viên)) => (1,1)
Mối kết hợp giữa bantin và loaibt
Trang 331,n thuộc vào
bantin maBT
Long variable characters (4000)
Long variable characters (5000)
tenLT
Characters (10) Characters (256)
<M>
Hình 3.22: Mối kết hợp giữa bản tin vàloại bản tin
- Mỗi một thực thể loaitin có thể có một hoặc nhiều thực thể bantin (hay một loại tin có thể có một hoặc nhiều bản tin) => (1,n)
- Mỗi một thực thể bantin có thể thuộc vào một và chỉ một loaitin (hay một bản tin có thể được thuộc vào một và chỉ một loại tin => (1,1)
3.3.2 Mô hình vật lý
3.3.2.1 Lược đồ cơ sở dữ liệu
Trang 34FK_BAIVIET_VIET_USER FK_TRUONG_DANG_THON_USER
char(10) char(256) long varchar char(4) integer
hocsinh maHS tenHS gioitinh email quequan ngaysinh truongpt pass quyen maNganh maNK
char(10) char(256) char(4) char(256) char(256) date char(256) char(50) char(100) char(10) integer
nangkhieu maNK tenNK
integer char(256)
bantin maBT tenBT ndTT noidung ngaydang hinhanh chuthichhinh nguoidang tinnoibat maLT username
char(10) char(256) long varchar long varchar date char(256) char(256) char(256) char(256) char(10) char(100)
loaitin maLT tenLT
char(10) char(256)
user Username pass ten gioitinh email quyen ngaysinh quequan maHS
char(256) char(50) char(256) char(4) char(256) char(100) date char(256) char(10)
có maKh maNganh
char10 char10
tenbv ndTT noidung hinh chuthichhinh ngaydang nguoiviet tinhtrang username loaitin
integer char(256) long varchar long varchar char(256) char(256) date char(256) char(10) char(100) char(50)
truong maTr tenTr logo thongtintt ttTr hinh username
char(10) char(256) char(256) long varchar long varchar char(256) char256
Hình 3.23: Mô hình vật lý
Trang 35Ghi chú
khóa chính
Bảng 3.14: Chi tiết bảng monhoc
Bảng hocsinh
Trang 36dài chú
khóa chính
truongpt
Trường phổ
ngoại
Bảng 3.15: Chi tiết bảng hocsinh
Bảng nangkhieu
Thuộc tính Diễn giải Loại giá trị Kiểu dữ liệu
Chiều dài
Ghi chú
khóa chính
Bảng 3.16: Chi tiết bảng nangkhieu
Bảng ngành
Thuộc tính Diễn giải Loại giá trị Kiểu dữ liệu
Chiều dài
Ghi chú
khóa chính
Trang 37maNK Mã năng khiếu Bắt buộc Số
Khóa ngoại
Bảng 3.17: Chi tiết bảng nganh
Bảng user
Thuộc tính Diễn giải Loại giá trị Kiểu dữ liệu
Chiều dài
Ghi chú
khóa chính
ten
Họ tên thành
Khóa ngoại
Bảng 3.18: Chi tiết bảng user
Bảng khoi
Thuộc tính Diễn giải Loại giá trị Kiểu dữ liệu
Chiều dài
Ghi chú
khóa chính
Bảng 3.19: Chi tiết bảng khoi
Bảng bantin
Thuộc tính Diễn giải Loại giá trị Kiểu dữ liệu
Chiều dài
Ghi chúkhóa
Trang 38ndTT Nội dung tóm tắt Bắt buộc Văn bản 4000
ngoại
Bảng 3.20: Chi tiết bảng bantin
Bảng loaitin
Thuộc tính Diễn giải Loại giá trị Kiểu dữ liệu
Chiều dài
Ghi chú
khóa chính
Bảng 3.21: Chi tiết bảng loaitin
Bảng baiviet
Thuộc tính Diễn giải Loại giá trị Kiểu dữ liệu
Chiều dài
Ghi chú
khóa chính
Khóa ngoại
Bảng 3.22: Chi tiết bảng baiviet
Bảng truong
Thuộc tính Diễn giải Loại giá trị
Kiểu dữ liệu
Chiều
Trang 39tenTr Tên bài viết Bắt buộc Chuỗi 256
thongtintt Thông tin tóm tắt Bắt buộc Văn bản 4000
Bảng 3.23: Chi tiết bảng truong
Bảng Có (bảng là mối kết hợp giữa thực thể khoi và nganh)
Thuộc tính Diễn giải Loại giá trị Kiểu dữ liệu
Chiều dài
Ghi chú
Bảng 3.24: Chi tiết bảng mối kết hợp giữa thực thể khoi và nganh
Bảng Học (bảng là mối kết hợp giữa thực thể hocsinh và monhoc)
Thuộc tính Diễn giải Loại giá trị Kiểu dữ liệu
Chiều dài
Ghi chú
Bảng 3.25: Chi tiết bảng mối kết hợp giữa thực thể hocsinh và monhoc
Bảng Thi vào (bảng là mối kết hợp giữa thực thể khoi và monhoc)
Thuộc tính Diễn giải Loại giá trị Kiểu dữ liệu
Chiều dài
Ghi chú
Trang 403.3.3 Ràng buộc toàn vẹn
3.3.3.1 Ràng buộc toàn ven có bối cảnh là một quan hệ
Ràng buộc miền giá trị
RB1: gioitinh: Giới tính của học sinh và thành viên chỉ là nam hoặc nữ
Bối cảnh: hocsinh, user
Biểu diển: ∀t ∈ hocsinh (t.gioitinh={nam, nu})
∀t ∈ user (t.gioitinh={nam, nu})