Đề tài Xây dựng hệ thống thông tin quản lý sinh viên bằng Java

docx 38 trang phuongnguyen 6440
Bạn đang xem 20 trang mẫu của tài liệu "Đề tài Xây dựng hệ thống thông tin quản lý sinh viên bằng Java", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • docxde_tai_xay_dung_he_thong_thong_tin_quan_ly_sinh_vien_bang_ja.docx

Nội dung text: Đề tài Xây dựng hệ thống thông tin quản lý sinh viên bằng Java

  1. NỘI DUNG ĐỀ TÀI Đề số 15: Trường CĐ Vinatex muốn xây dựng Hệ thống thông tin quản lý sinh viên gồm các yêu cầu sau: Mỗi SV được cấp 1 mã số và các thông tin họ tên, ngày sinh, giới tính, địa chỉ, số đt, lý lịch, ngày nhập học và thuộc một lớp (mỗi SV học 1 lớp). Mỗi lớp được thể hiện thông qua năm bắt đầu, chuyên nghành. Chương trình học phụ thuộc vào chuyên nghành mà sinh viên đăng ký, quá trình học tập của sinh viên được thể hiện thông qua việc đăng ký các môn học, kết quả học tập thể hiện qua điểm từng môn của mỗi sinh viên. Thông tin môn học có mã môn, tên môn, số tín chỉ và thuộc chuyên nghành nào đó. Một khoa có nhiều chuyên nghành và thể hiện thông qua mã chuyên nghành, tên chuyên nghành, thời gian đào tạo. Trường có nhiều khoa được thể hiện thông quan mã khoa, tên khoa. Bên cạnh đó trường cần quản lý thông tin về giáo viên như sau: mã giáo viên, họ tên, ngày sinh, giới tính, trình độ, học hàm, học vị, địa chỉ, điện thọai và mỗi giáo viên thuộc một khoa trong trường. Một giáo viên có thể được phân công giảng dạy nhiều môn cho nhiều lớp khác nhau trong các chuyên nghành của khoa mà giáo viên thuộc về. Lý do chọn đề tài: Chúng em chọn đề tài này vì nó thật hữu ích trong việc quản lý sinh viên của nhà trường ,nắm bắt được thông tin sinh viên một cách cụ thể,dễ dàng sử dụng cho mọi người, giúp sinh viên có thể tìm kiếm thông tin từ chương trình.Thống kê thông tin,điểm sinh viên cũng như thông tin giảng viên và quá trình học tập của sinh viên . 1
  2. LỜI CÁM ƠN Ngày nay, các tổ chức luôn phải đối mặt với những khó khăn về dữ liệu: sự phát triển của dữ liệu và các hệ thống trong hoạt động kinh doanh,quản lý; việc cần thiết để cung cấp cho các nhân viên, các sinh viên và các đối tượng có thể truy cập dữ liệu một cách thích hợp; mong muốn trang bị cho các nhân viên có được thông tin đầy đủ hơnđể đưa ra các quyết định tốt; nhiệm vụ kiểm soát chi phí mà không có ứng dụng có giá trị, bảo mật tốt và đáng tin cậy. Bản phát hành tiếp theo c ủa SQL Server được thiết kế để giúp trường VINATEX giải quyết những khó khăn trên. SQL Server 2005 là giải pháp phân tích và quản trị dữ liệu thế hệ kế tiếp của Microsoft. Nó sẽ cho phép nâng cao độ bảo mật, khả năng sắp xếp, giá trị cho dữ liệu hoạt động hệ thống và các ứng dụng , làm cho chúng dễ dàng hơn trong việc tạo dựng, triển khai và quản lý. 2
  3. NHẬN XÉT GIÁO VIÊN Thủ Đức TP.HCM Ngày tháng năm 2012 Giáo viên: Điểm Trịnh Công Nhựt 3
  4. MỤC LỤC Phần I: Kiến thức nền tảng về SQL Server 5 Phần II: Mô hình dữ liệu quan hệ 19 Phần III:Nội dung và kết quả cài đặt mô hình trên SQL server 20 Phần IV: Kết nối cơ sở dữ liệu với ngôn ngữ lập trình 32 Kết luận 37 Tài liệu tham khảo 38 4
  5. Phần I: Kiến thức nền tảng về SQL Server Khi nhu cầu phát triển ứng dụng và quản trị với số lượng bản ghi lớn, kích thước lớn, nhiều kiểu dữ liệu phức tạp (âm thanh, hình ảnh, ) thì việc đặt ra với các hãng phần mềm là phát triển các hệ quản trị cơ sở dữ liệu lớn. Việc những nhà lập trình phát triển ứng dụng trên hệ quản trị cơ sở dữ liệu lớn cũng đòi hỏi phảt có những nắm bắt tích cực về sự phát triển của các hệ quan trị cơ sở dữ liệu. Trong lịch sử đến này, hệ quản trị cơ dở dữ liệu ta có thể điểm nhanh gồm các hệ sau: Foxpro, Access, MySQL, SQL Server, Oracle, mỗi hệ quản trị cơ sở dữ liệu đều có những phiên bản, phiên bản sau phát triển tiến bộ hơn, đáp ứng tốt hơn yêu cầu thực tế đặt ra phiên bản trước. Trong giáo trình này sẽ giới thiệu cho bạn đọc hệ quản trị CSDL (cơ sở dữ liệu) Microsoft SQL Server. SQL Server là hệ quản trị cơ sở dữ liệu lớn do hãng Microsoft phát triển, được cài đặt và chạy trên hệ điều hành Windows, SQL Server tỏ ra khá phổ biến và thân thiện với người dùng thông qua giao diện đồ họa trên Windows. SQL Server phát triển theo các phiên bản 6.0, 6.5, 7.0, 8.0 (phiên bản 2000), 2003, 2005. Với mục đích giúp cho bạn đọc, đặc biệt là sinh viên đại học chuyên ngành Công nghệ thông tin có thể nắm bắt được những kỹ năng quản trị cơ sở dữ liệu cũng như kỹ thuật xây dựng ứng dụng từ các ngôn ngư lập trình (Visual Basic, Visaul Basic.net, ASP, ASP.net) trên hệ quản trị CSDL SQL Server, giáo trình này sẽ trình bày một cách dễ hiểu, theo hướng phát triển ứng dụng, hệ quản trị CSDL SQL Server 2000. SQL Server là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS. SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server 2000 có thể kết hợp "ăn ý" với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server 5
  6. SQL Server có một số đặc tính sau: Cho phép quản trị một hệ CSDL lớn (lên đến vài tega byte), có tốc độ xử lý dữ liệu nhanh đáp ứng yêu cầu về thời gian. Cho phép nhiều người cùng khai thác trong một thời điểm đối với một CSDL và toàn bộ quản trị CSDL (lên đến vài chục ngàn user). Có hệ thống phân quyền bảo mật tương thích với hệ thống bảo mật của công nghệ NT (Network Technology), tích hợp với hệ thống bảo mật của Windows NT hoặc sử dụng hệ thống bảo vệ độc lập của SQL Server. Hỗ trợ trong việc triển khai CSDL phân tán và phát triển ứng dụng trên Internet Cho phép lập trình kết nối với nhiều ngôn ngữ lập trình khác dùng xây dựng các ứng dụng đặc thù (Visual Basic, C, C++, ASP, ASP.NET, XML, ). Sử dụng câu lệnh truy vấn dữ liệu Transaction-SQL (Access là SQL, Oracle là PL/SQL). Các ấn bản của SQL Server. SQL Server có các ấn bản chính sau: Enterpise Manager: Là ấn bản đầy đủ của SQL Server có thể chạy trên 32CPU và 64GB RAM. Có các dịch vụ phân tích dữ liệu Analysis Service. Standard: Giống như Enterprise nhưng bị hạn chế một số tính năng cao cấp, có thể chạy trên 2CPU, 4GB RAM. Personal: Phiên bản này chủ yếu để chạy trên PC, nên có thể chạy trên các hệ điều hành Windows 9x, Windows XP, Windows 2000, Windows 2003 Developer: Là phiên bản tương tự như Enterprise nhưng bị giới hạn bởi số user kết nối đến. Desktop Engine: Là phiên bản một engine chỉ chạy trên desktop và không có giao diện người dùng (GUI), kích thước CSDL giới hạn bởi 2GB. Win CE: Sử dụng cho các ứng dụng chạy trên Windows CE. 6
  7. Trial: Phiên bản dùng thử, bị giới hạn bởi thời gian. SQL Client: Là phiên bản dành cho máy khách, khi thực hiện khai thác sẽ thực hiện kết nối đến phiên bản SQL Server, phiên bản này cung cấp giao diện GUI khai thác cho người sử dụng. SQL Connectivity only: Là phiên bản sử dụng chỉ cho các ứng dụng để kết nối đến SQL Server, phiên bản này không cung cấp công cụ GUI cho người dùng khai thác SQL Server. Các phiên bản này được cài đặt phụ thộc vào bộ cài đặt mà bạn chọn hoặc lựa chọn khai cài đặt (ví dụ phiên bản Enterprise, Standard, Personal, bạn phải chọn theo bộ cài đặt, phiên bản SQL Client, Connectivity, do bạn chọn trong các hộp thoại trong quá trình cài đặt). Một số tính năng của Enterprise manager. Dễ cài đặt Hỗ trợ mô hình Client/Server. Thích hợp trên các hệ điều hành Windows. Hoạt động với nhiều giao thức truyền thông. Hỗ trợ dịch vụ Data Warehousing. Thích hợp với chuẩn ANSI/ISO SQL-92. Hỗ trợ nhân bản dữ liệu. Cung cấp dịch vụ tìm kiếm Full-Text. Sách trợ giúp- Book Online. 7
  8. Các phiên bản SQL server: SQL Server 2005 Enterprise Edition: Bản này là bản SQL server 2005 đầy đủ đưa ra cho bất kì tổ chức nào. Ấn bản này tận dụng toàn bộ phần cứng ở mức cao nhất, với hỗ trợ lên đến 32 CPU và 64GB RAM. Hơn nữ nó được đưa vào các tính năng phân tích cao. SQL Server 2005 Standard: Ấn bản này là lựa chọn dành cho các tổ chức nhỏ và trung bình không đòi hỏi các tính năng mở rộng, nâng cao hoặc tất cả các tính năng phân tích cao như ấn bản Enterprise. Bạn có thể sử dụng ấn bản Standard trên các hệ thống đa xử lý với hỗ trợ lên đến 4 CPU và 2GB RAM. SQL Server Personal Edition: Bản bao gồm một tập đầy đủ các công cụ quản lý và hầu hết các chức năng của bản Standarrd, nhưng nó tối ưu cho người sử dụng các nhân. Ngoài việc chạy trên các hệ điều hành Server của Microsofft, ấn bản Personal chạy trên các hệ điều hành không Server, bao gồm Window 2000 Professtional, Window NT Workstation 4.0, và Windows 98. Các hệ thống Dua; - processor (2 bộ xử lý) cũng được hỗ trợ. Trong khi bản này hỗ trợ CSDL ở bất kỳ bước nào, tốc độ thực thi của nó được tối ưu cho mỗi người dùng đơn và các worksheet nhỏ và giảm tải được tạo ra bởi hơn 5 người sử dụng cùng lúc sử dụng. SQL Server Developer Edition: Bản SQL Server này cho phép các nhà phát triển xây dựng bất kỳ ứng dụng nào ở cấp trên cùng SQL Server. Bản này đưa vào tất cả các tính năng của bản Enterprise, nhưng với một sự phát triển đặt biệt và kiểm ta đối số license cho người dùng cuối (EULA) SQL Server Dekstop Engine (MSDE): Bản này có các tính năng engine CSDL cơ bản của SQL Server 2005. Bản này không đưa vào giao diện người dùng, các công cụ quản lý, hỗ trợ relication kết hợp, các client truy cập dạng license, các thư viện của nhà phát triển. Bản này cũng hạn chế kích thước CSDL và việc tải của người dùng. SQL Server Windows CE Edition: Bản này là bản SQL Server 2005 cho các thít bị chạy trên Windows CE. Bản này tương thích khá tốt với các bản khác của SQL Server 2005. Vị vậy, các development có thể tận dụng các skill đã có của họ và các application để mờ rộng sức mạnh của việc lưu trữ data quan hệ với các giải pháp chạy trên lớp mới của thiết bị. 8
  9. Mô hình chung SQL Server trên mạng. SQL Server là hệ quản trị CSDL hoạt động trên mạng, có thể thực hiện trao đổi dữ liệu theo nhiều mô hình mạng khác nhau, nhiều giao thức và phương thức truyền tin khác nhau. 9
  10. Trong sơ đồ trên thể hiện ba kiểu kết nối ứng dụng đến SQL Server: Kết nối trên Desktop: Có thể trên cùng máy tính với SQL Server hoặc kết nối qua mạng nội bộ. Kết nối qua mạng diện rộng: Thông qua đường truyền mạng xa kết nối đến SQL Server. Kết nối qua mạng Internet: Các ứng dụng kết nối thông qua máy chủ Internet, dịch vụ IIS thực hiện ứng dụng trên Internet (ASP, JSP, ASP.net, ) Mô hình Desktop. Nếu xét trên một máy Desktop sơ đồ kết nối trao đổi dữ liệu được thể hiện như sau: Trên một Desktop có thể có nhiều ứng dụng, mỗi ứng dụng có thể thực hiện thao tác với nhiều CSDL. Mô hình Client/Server. Nếu xét theo mô hình client/server, ứng dụng trao đổi với SQL Server theo sơ đồ sau: 10
  11. Như sơ đồ trên nhận thấy SQL Server cho phép các ứng dụng kết nối theo các phương thức sau: OLE DB, ODBC, DB-Library, Embedded SQL, đây là các phương thức kết nối hữ ích cho những nhà phát triển ứng dụng. 11
  12. Nếu xem xét cụ thể hơn ta có thể xem sơ đồ sau: Trong sơ đồ trên cho thấy, SQL Server có thể thực hiện trao đổi dữ liệu với các ứng dụngt heo nhiều giao thực truyền tin khác nhau (TCP/IP, NetBeUI, Names Pipes, ), các ứng dụng có thể sử dụng nhiều phương thức kết nối khác nhau (OLE DB, ODBC, DB-Library). 12
  13. Mô hình kết nối ứng dụng trên mạng Internet. Nếu xét riêng các ứng dụgn kết nối với SQL Server trên mạng Internet, các máy chủ SQL Server sẽ được quản lý thông qua các hệ thống máy chủ mạng, hệ điều hành mạng, các ứng dụng (COM+, ASP, IIS) sẽ thông qua máy chủ mạng kết nối đến SQL Server, mô hình này có thể áp dụng cho các mạng nội bộ, diện rộng, ứng dụng được khai thác trên trình duyệt Internet Browser. Xem xét mô hình dưới đây: 13
  14. CÁC THÀNH PHẦN CỦA SQL SERVER. SQL Server được cấu thành bởi nhiều thành phần khác nhau, các thành phần có mối quan hệ trong một hệ thống, phối hợp với nhau để tạo thành một giải pháp hoàn chính, nâng cao hiệu quả quản trị, phân tích, lưu trữ dữ liệu. Relational DataBase Engine. Đây là một engine có khả năng chứa dữ liệu dưới nhiều quy mô khác nhau, theo dạng bảng, hỗ trợ nhiều phương thức kết nối ADO, OLE DB, ODBC. Replication. 14
  15. Là công cụ dùng nhân bản dữ liệu, bạn có thể tạo một Server khác với bộ dữ liệu giống bộ dữ liệu trên Server chính. Công cụ tạo cơ chế tự đồng bộ dữ liệu giữa Server chính và Server nhân bản. Mục đích của việc tạo Server nhân bản là giảm tải cho Server chính, nâng cao hiệu quả phục vụ với số lượng người, phiên giao dịch lớn. Data Transformation Service – DTS. Là công cụ giúp bạn chuyển dữ liệu giữa các Server quản trị CSDL khác nhau, DTS có thể chuyển dữ liệu từ SQL Server sang Oracle, Access, DB, trước khi chuyển dữ liệu DTS định dạng kiểu dữ liệu để chuyển sang hệ quản trị CSDL khác. Analysis service. Là công cụ giúp khai thác phân tích dữ liệu, hay khai phá dữ liệu theo phương thức đa chiều. Từ một tập dữ liệu sẵn có bạn có thể khai phá rồi từ đó đưa ra những nhận định, phân tích, đánh giá và dự đoán theo lĩnh vực nào đố, mỗi chiều trong ngữ cảnh này được coi là một tiêu chí xem xét của dữ liệu. English query. Đây là công cụ tra cứu dữ liệu bằng tiếng anh, cú pháp có thể sử dụng theo văn phạm tiếng anh thông thường. SQL Server tools. Là bộ công cụ cung cấp giao diện cho người quản trị như Enterprise amanger, Query Analyzer , SQL Server sau khi cài đặt SQL Server group gồm những thành phần cơ bản trong group như sau: Một số công cụ quan trong: Enterprise manager, Query Analyzer, Profiler , các công cụ sẽ được giới thiệu khai thác sau. 15
  16. Được xây dựng dựa trên những điểm mạnh của SQL Server 2000, SQL Server 2005 sẽ cung cấp một quản trị dữ liệu hợp nhất và giải pháp phân tích để giúp các tổ chức dù lớn hay nhỏ cũng đều có thể : • Xây dựng và triển khai các ứng dụng kinh doanh một cách bảo đảm, dễ sắp xếp và có độ tin cậy cao hơn. • Phát huy tối đa hiệu quả CNTT bằng cách giảm sự phức tạp trong việc tạo, triển khai và quản lý các ứng dụng cơ sở dữ liệu. • Trao quyền cho những người phát triển ứng dụng thông qua môi trường phát triển phong phú, linh hoạt và hiện đại, làm cho việc tạo các ứng dụng cơ sở dữ liệu an toàn hơn. • Chia sẻ dữ liệu qua nhiều hệ thống máy tính, ứng dụng và các thiết bị để tạo sự kết nối dễ dàng giữa bên trong và bên ngoài hệ thống. • Trình bày rõ ràng và kế t hợp các giải pháp tin tức kinh doanh, để điều chỉnh các quyết định kinh doanh kịp thời và tăng hiệu quả trong toàn bộ tổ chức của bạn. • Kiểm soát giá thành mà không cần cung cấp sự thực thi, khả năng sẵn có hay khả năng sắp xếp. SQL Server 2005 nâng cao có ba phần chính: quả n lý dữ liệu hoạt động kinh doanh, hiệu quả phát triển và tin tức kinh doanh. Quản lý dữ l ệu hoạt động kinh doanh .Trong thế giới được kết nối như ngày nay, dữ liệu và các hoạt động quản lý dữ liệu luôn luôn cần thiết đối với người dùng. Với SQL Server 2005, người dùng và các chuyên gia CNTT trong tổ chức của bạn sẽ có lợi thông qua việc giảm thời gian chết của các ứng dụng, tăng sự phát triển và hiệu suất, thít chặt sự kiểm soát về bảo mật. SQL Server sẽ cải thiện việc quản lý dữ liệu kinh doanh trong những lĩnh vực dưới đây: • Khả năng sẵn có. Khả năng đầu tư trong công nghệ cao, thêm nữa khả năng phục hồi và sao chép, những cải tiến trong bản sao sẽ cho phép các hoạt động kinh doanh xây dựng và triển khai những ứng dụng có độ tin cậy cao. • Khả năng sắp xếp . Những tiến bộ về sắp xếp như việc phân chia, tách riêng biệt và hỗ trợ 64-bit sẽ cho phép bạn xây dựng và triển khai hầu hết các ứng dụng yêu cầu bằng việc sử dụng SQL Server 2005. 16
  17. • B ảo m ậ t. Những nâng cấp về bảo mật như các thiết lậ p “bảo vệ mặc đị nh” và một mô hình bảo mật nâng cao sẽ cung cấp khả năng bảo mật cao cho dữ liệu kinh doanh của bạn. • Khả năng quản lý . Một công cụ quản lý mới, các khả năng tự điều hướng được mở rộng, mô hình lập trình mới sẽ tăng tính hiệu quả của quản trị viên c ơ sở dữ liệ u. • Khả năng hoạt động liên kế t. Thông qua sự hỗ trợ trong các chuẩn công nghiệp, các dịch vụ Web và Microsoft .NET Fr amework, SQL Server 2005 sẽ hỗ trợ khả năng liên kết hoạt động với nhiều hệ thống, ứng dụng và thiết bị. Hiệu quả phát triển Một trong những cản trở chính đến hiệ u quả phát triển là thiếu các công cụ tích hợp cho sự phát triển cơ sở dữ liệu và quá trình sửa lỗi, SQL Server 2005 sẽ cung cấp những tiện ích làm thay đổi cách mà các ứng dụng cơ sở dữ liệu đã được triển khai và phát triển trước đây. Những cải tiến mới bao gồm: • Các công cụ . Các chuyên gia phát triển có thể sử dụng công cụ phát triển cho Transact – SQL, XML, Multidementional Expres sion (MDX), và XML for Analysis (XML/A). Sự tích hợp với môi trường Visual Studio® sẽ cung cấp hiệu quả cho sự phát triển và sửa lỗi trong các ứng dụng tin tức kinh doanh và giới hạn kinh doanh. • Hỗ trợ ngôn ngữ được mở rộng. Ngoài ngôn ngữ chung (CLR) được cầu hình trong cơ sở dữ liệu, các chuyên gia phát triển có thể chọn các ngôn ngữ quen thuộc như Transact-SQL, Microsoft Vitual Basic®.NET, Microsoft Vitual C#®.NET để phát triển các ứng dụng. • XML và các dịch vụ Web . SQL Server 2005 sẽ hỗ trợ cả XML kiểu quan hệ và riêng lẻ , vì vậy các hoạt động kinh doanh có thể lưu, quản lý và phân tích dữ liệu theo định dạng phù hợp nhấ t với những cần thiế t của nó. Sự hỗ trợ cho việc tồn tại và đưa ra các chuẩn mở như Giao thức truyền siêu văn bản (HTTP), XML, Giao thức truy cập đối tượng đơn giản (SOAP), Xquery và Định nghĩa lược đồ XML (XSD) sẽ cho phép việc truyền thông giữa các hoạt động kinh doanh được mở rộng Tin tức kinh doanh Khó khăn thách thức và hứa hẹn của tin tức kinh doanh tập trung xung quanh việc cung cấp cho các nhân viên những thông tin chính xác đúng thời điể m. Phiên bản này yêu cầu một giải pháp tin tức kinh doanh đó là sự am hiểu, bảo đảm, tích hợp với các 17
  18. hệ thống hoạt động và phải có hàng ngày. SQL Server sẽ giúp các công ty thực hiện mục tiêu này bằng SQL Server 2005. Những cải tiến trong tin tức kinh doanh bao gồm: • Hệ thống tích hợp . SQL Server 2005 sẽ đưa ra một hệ thống tin tức kinh doanh một đường với những phân tích tích hợp gồm có quá trình phân tích trực tuyến (OLAP); khai thác dữ liệu; các công cụ trích, biến đổi và nạp (ETL); việc sắp xếp dữ liệu; chức năng đưa tin. • Việc tạo quyết định. Những cải tiến cho việc tồn tại các đặc tính tin tức kinh doanh như OLAP, khai thác dữ liệu và việc giới thiệu của một máy chủ đưa tin mới, sẽ cung cấp cho các doanh nghiệp khả năng chuyển đổi thông tin thành các quyết định kinh doanh tốt hơn trong tất cả các mức của tổ chức. • Bảo mật và khả năng sắp xếp . Nâng cấp khả năng sắp xếp và bảo mật sẽ cung cấp cho người dùng truy cập tới các ứng dụng tin tức kinh doanh và các bản tin không bị ngắt quãng. • Khả năng phân tích hoạt động kinh doanh rộng. Một công cụ ETL được cải tiến sẽ cho phép các tổ chức dễ dàng tích hợp và phân tích dữ liệu từ nhiều nguồn tin khác nhau. Bằng việc phân tích dữ liệu qua một loạt các hoạt động hệ thống, các tổ chức có thể tăng sự cạnh tranh thông qua việc hiểu cặn kẽ về sự kinh doanh của họ . Thông tin bổ sung SQL Server 2005 là một phần của Microsoft Server SystemTM– một cơ sở hạ tầng máy chủ tích hợp để đơn giản sự phát triển, tri ển khai và các hoạt động của một giải pháp kinh doanh linh động. 18
  19. Phần II: Mô hình dữ liệu quan hệ 19
  20. Phần III:Nội dung và kết quả cài đặt mô hình trên SQL server A.Tao database QLSV createdatabase QLSV onprimary (name= QLSV_data1,filename='D:\QLSV_data1.mdf',size=20MB,maxsize= 40MB,filegrowth= 1MB) logon (name= QLSV_log,filename='D:\QLSV_log.ldf',size=6MB,maxsize= 8MB,filegrowth= 1MB) tao table khoa createtable khoa ( makhoa nvarchar(10)notnullprimarykey, tenkhoa nvarchar(50) ) tao table lop createtable lop ( malop nvarchar(10)notnullprimarykey, tenlop nvarchar(30), makhoa nvarchar(10)foreignkeyreferences khoa ) tao table mon hoc createtable monhoc ( mamon nvarchar(10)notnullprimarykey, tenmon nvarchar(50), sotinchi numeric ) tao table giao vien createtable giaovien ( magv nvarchar(10)notnullprimarykey, makhoa nvarchar(10)foreignkeyreferences khoa, hoten nvarchar(30), ngaysinh datetime, gioitinh numeric, trinhdo nvarchar(20), hocham nvarchar(20), hocvi nvarchar(20), diachi nvarchar(50), dienthoai nvarchar(10) ) 20
  21. tao table chuyen nganh createtable chuyennganh ( macn nvarchar(10)notnullprimarykey, makhoa nvarchar(10)notnullforeignkeyreferences khoa, mamon nvarchar(10)notnullforeignkeyreferences monhoc, tenchuyennganh nvarchar(20), thoigiandaotao nvarchar(20) ) tao table sinh vien createtable sinhvien ( masv nvarchar(10)notnullprimarykey, malop nvarchar(10)notnullforeignkeyreferences lop, hoten nvarchar(30), ngaysinh datetime, gioitinh numeric, diachi nvarchar(50), dienthoai nvarchar(10), lylich nvarchar(30), ngaynhaphoc datetime ) tao table diem createtable diem ( masv nvarchar(10)notnullforeignkeyreferences sinhvien, mamon nvarchar(10)notnullforeignkeyreferences monhoc, diem numeric, ghichu nvarchar(10), primarykey(masv,mamon) ) NHAP DU LIEU KHOA select*from khoa insertinto khoa values('KH02','CONG NGHE THONG TIN') insertinto khoa values('KH01','QUAN TRI KINH DOANH') insertinto khoa values('KH03','THIET KE THOI TRANG') insertinto khoa values('KD01','CO DIEN-TU') insertinto khoa values('KD02','CONG NGHE MAY') insertinto khoa values('KD03','KE TOAN') 21
  22. LOP select*from lop insertinto lop values('CD1','CD09I1','KH02') insertinto lop values('CD2','CD09I2','KH02') insertinto lop values('CD3','CD09M1','KD02') insertinto lop values('CD4','CD09K1','KH03') insertinto lop values('CD5','CD10Q1','KH01') insertinto lop values('CD6','CD10T2','KD03') insertinto lop values('CD7','CN09Q2','KH01') insertinto lop values('TC1','TC09Q2','KH01') insertinto lop values('CD8','CD11C1','KD02') MON HOC select*from monhoc insertinto monhoc values('MH01','TOAN CAO CAP',45) insertinto monhoc values('MH02','LAP TRINH C++',45) insertinto monhoc values('MH03','THIET KE 1',30) insertinto monhoc values('MH04','THIET KE WEB',55) insertinto monhoc values('MH05','HE DIEU HANH',30) insertinto monhoc values('MH06','TOAN TUYEN TINH',45) GIAO VIEN select*from giaovien insertinto giaovien values('CM010','KH02','NGUYEN VAN AN','02/10/1987',0,'DAI HOC','GIAO SU','TIEN SI','BINH THANH',0901234569) insertinto giaovien values('CM012','KH01','LE THI HONG VAN','01/04/1980',1,'DAI HOC','PHO GIAO SU','TIEN SI','THU DUC',0169456789) insertinto giaovien values('CM013','KH03','DOAN THI AI','03/05/1976',1,'DAI HOC',NULL,'THAC SI','NHA TRANG',0974371679) insertinto giaovien values('CM014','KD01','PHAM VAN HIEP','06/08/1980',0,'DAI HOC',NULL,'TIEN SI','THU DUC',0903246895) insertinto giaovien values('CM015','KD02','NGUYEN THI THANH XUAN','08/10/1985',1,'DAI HOC',NULL,NULL,'THU DUC',0978456892) insertinto giaovien values('CM016','KD03','LE VAN HUNG','09/25/1983',0,'DAI HOC',NULL,NULL,'HOA BINH',0935678914) CHUYEN NGANH select*from chuyennganh insertinto chuyennganh values('CDD1','KH01','MH01','KINH DOANH 1','3 NAM') insertinto chuyennganh values('CDD2','KH02','MH02','QUAN TRI MANG','3 NAM') insertinto chuyennganh values('CNN2','KH03','MH03','THIET KE 1','3 NAM') insertinto chuyennganh values('TNN1','KD01','MH06','CO LANH','2 NAM') SINH VIEN select*from sinhvien insertinto sinhvien values('CD090130','CD1','NGUYEN NHAT ANH','04/24/1991',1,'BINH LONG',0903467823,NULL,'09/05/2009') 22
  23. insertinto sinhvien values('CD090145','CD2','HA ANH TUAN','05/12/1990',0,'BINH THUAN',0946728190,' HA NOI','09/05/2009') insertinto sinhvien values('CD090123','CD3','NGUYEN HONG HANH','06/03/1990',1,'TPHCM',0930674328,NULL,'09/05/2008') insertinto sinhvien values('CN090456','CN4','TRAN ANH TUYET','02/02/1990',1,'BINH DUONG',0169784386,NULL,'10/06/2008') insertinto sinhvien values('CD090234','CD1','NGUYEN VAN TUNG','09/12/1991',0,'BINH PHUOC',0978080391,NULL,'10/15/2009') insertinto sinhvien values('CD080347','CD5','LE THI HA','06/28/1989',1,'BINH DINH',0937867684,NULL,'09/05/2008') insertinto sinhvien values('TC080167','TC1','LUONG BACH HUONG','04/27/1991',0,'NGHE AN',0978456327,NULL,'10/15/2008') insertinto sinhvien values('CD100120','CD6','HUA VY','03/05/1990',0,'TPHCM',0905467888,'THANH HOA','09/05/2010') insertinto sinhvien values('TC090342','TC2','TONG DINH','08/04/1991',0,'TPHCM',0904678234,NULL,'09/05/2009') DIEM select*from diem insertinto diem values('CD090130','MH01',7,NULL) insertinto diem values('CD090145','MH02',6,NULL) insertinto diem values('CD090123','MH03',8,NULL) insertinto diem values('CD080347','MH06',4,NULL) insertinto diem values('CD090130','MH06',8,NULL) insertinto diem values('CD090234','MH05',6,NULL) insertinto diem values('TC090342','MH04',7,NULL) insertinto diem values('TC080167','MH06',8,NULL) insertinto diem values('CN090456','MH03',9,NULL) B.TAO VIEW cau1:dua ra masn,hoten,ngaysinh va tuoi cua sinh vien co ten la 'ANH' va tuoi =20 Create view cau1 as select masv,hoten,ngaysinh,year(getdate())-year(ngaysinh)as Tuoi from sinhvien where hoten like'%ANH'andyear(getdate())-year(ngaysinh)=20 go select*from cau1 23
  24. cau2:. dua ra tuoi trung binh cua cac sinh vien dia chi o TPHCM Create view cau2 as selectavg(year(getdate())-year(ngaysinh))as TuoiTB from sinhvien where diachi='TPHCM' go select*from cau2 cau3: dua ra thong tin masv,hoten,malop,tenlop,ten khoa cua cac sinh vien thuoc CNTT Create view cau3 as select sinhvien.masv,hoten,lop.malop,tenlop,tenkhoa from sinhvien,lop,khoa where sinhvien.malop=lop.malop and lop.makhoa=khoa.makhoa and tenkhoa= N'CONG NGHE THONG TIN' go select*from cau3 cau4:dua ra masv,hoten,ngaysinh sinh vien co cung ngay sinh voi sinh vien co masv 'CD090130' Create view cau4 as select masv,hoten,ngaysinh from sinhvien where ngaysinh =(select ngaysinh from sinhvien where masv ='CD090130')and MaSV <>'CD090130' go select*from cau4 cau5:cho biet tong so sinh vien cua tung lop gom thong tin malop,tenlop,siso Create view cau5 as select lop.malop,tenlop,a.siso from(select sinhvien.malop,count(masv)as siso from sinhvien groupby sinhvien.malop)as a,lop where a.malop=lop.malop go select*from cau5 24
  25. Kết quả câu 1 Kết quả câu 2 Kết quả câu 3 Kết quả câu 4 Kết quả câu 5 25
  26. C. PROCEDURE 1. cho biet sinh vien nao rot mon 'TOAN TUYEN TINH' Create procedure rotmon as begin select diem.masv,hoten from sinhvien,diem where sinhvien.masv=diem.masv and mamon='MH06'and diem =ALL(selectcount(*)as [So Luong] from sinhvien,khoa,lop where sinhvien.malop=lop.malop and lop.makhoa=khoa.makhoa groupby khoa.makhoa) exec ten 5. đdiem trung binh lon nhat Create procedure diemTB as 26
  27. select top 1 mamon,masv,AVG(diem)as [diem TB] from diem where mamon='MH03' groupby mamon,masv orderby [diem TB] desc exec diemTB Kết quả câu 1 Kết quả câu 2 Kết quả câu3 Kết quả câu 4 Kết quả câu 5 27
  28. D. TRIGGER cau1: so sinh vien phai nhieu hon 3 Create trigger t1 on sinhvien for insert as begin declare @sosv int, @lop nvarchar(10) select @lop=malop from inserted select @sosv=count(masv) from sinhvien where @lop= malop if @sosv>3 ROLLBACKTRANSACTION end insert into sinhvien values('CD09O125','CD1','TRAN ANH TUAN','05/12/1990',0,'HA NOI',01699318926,NULL,'09/05/2009') cau2: khong cho phep 2 masv trung nhau createtrigger t2 on sinhvien for insert as declare @masv nvarchar(10) select @masv=masv from inserted if(selectcount(*)from sinhvien where masv=@masv) 1 begin print'khong duoc xoa' rollbacktransaction end deletefrom lop where malop like'CD%’ 28
  29. cau4: khong cho phep xoa view cau1(alter view) Create trigger Cam On database for DROP_VIEW, ALTER_VIEW as PRINT' You must disable trigger"Cam" to drop or alter view' ROLLBACK Drop view cau1 cau5: Create trigger ins_sv on sinhvien for insert as begin declare @tuoi int declare @malop nvarchar(10) select @tuoi=year(getdate())-year(ngaysinh) from inserted if @tuoi<17 begin print ’ khong phai la sinh vien’ ROLLBACKTRANSACTION end end insert into sinhvien values('CD093210','CD6','AN AN','05/10/1991',1,'QUANG NGAI',01227999999,NULL,'09/05/2009') drop trigger ins_sv select lop.malop, tenlop,count(masv) sosv into SoluongSV from lop join sinhvien on lop.malop=sinhvien.malop groupby lop.malop, tenlop cau6—cap nhat so luong sinh vien Create trigger insert_sv on sinhvien after rinsert as declare @malop char(10) select @malop =malop from inserted update soluongsv set sosv=sosv+1 where malop=@malop insertinto sinhvien 29
  30. values('CD093456','CD2','AI AI','05/10/1991',1,'NAM DINH',0122674578,NULL,'09/05/2010') DROPTRIGGER insert_sv cau7 cap nhat sinh vien chuyen den va chuyen di Create trigger update_sv on sinhvien for insert as begin declare @malop char(10) if not exists(select*from deleted) begin select @malop=malop from inserted update soluongsv set sosv=sosv+1 where @malop=malop end else if notexists(select*from inserted) begin select @malop=malop from deleted update soluongsv set sosv=sosv-1 where @malop=malop end else begin declare @malopcu char(10) declare @malopmoi char(10) select @malopcu=malop from deleted select @malopmoi=malop from inserted if (@malopcu <> @malopmoi) begin update soluongsv set sosv = sosv+1 where @malopmoi = malop update soluongsv set sosv = sosv-1 where @malopcu = malop end end end insert into sinhvien values('CD093456','CD2','AI AI','05/10/1991',1,'NAM DINH',0122674578,NULL,'09/05/2010') 30
  31. droptrigger update_sv use QLSV cau8—xac dinh dieu kien tuoi sinh vien de nhap hoc Alter trigger trig_5 on sinhvien for insert,update as begin declare @tuoi int declare @gioitinh bit declare @malop nvarchar(10) select @malop=malop from inserted select @gioitinh = gioitinh from inserted select @tuoi=year(getdate())-year(ngaysinh)from inserted if(@tuoi>18 and @gioitinh=0)or(@tuoi>25 and @gioitinh=1) ROLLBACKTRANSACTION end insert into sinhvien values('CD093211','CD6','ly ky’,'05/10/1993',1,'QUANG NGAI',01227999999,NULL,'09/05/2009') cau9 vo hieu hoa trigger Cam Disable trigger Cam On al lserver cau 10 khoi phuc trigger Cam Enable trigger Cam On all server 31
  32. Phần IV: Kết nối cơ sở dữ liệu với ngôn ngữ lập trình +Giao diện quản lý: 32
  33. -Giao diện bảng khoa: -Giao diện bảng lớp: 33
  34. -Giao diện bảng môn học: -Giao diện bảng giáo viên: 34
  35. -Giao diện bảng chuyên ngành: -Giao diện bảng sinh viên: 35
  36. -Giao diện bảng điểm: 36
  37. KẾT LUẬN Mặc dù đã rất cố gắng tìm hiểu xây dựng hệ thống quản lý sinh viên nhưng không sao tránh khỏi những thiếu sót. Mong Thầy, Cô và các bạn đóng góp ý kiến để nhóm chúng em rút ra được nhiều kinh nghiệm. Qua bài đề tài này, nhóm em đã học hỏi được thêm các cách để xây dựng hệ thống quản lý như thê nào và cần những gì để làm. Qua đó, cũng bổ sung kiến thức cho bản thân. Chúng em xin chân thành cảm ơn Thầy Nhựt đã giúp đỡ nhóm chúng em hoàn thành bài đề tài của mình. Ngoài ra, qua bài đề tài còn cho chúng em hiểu rõ thêm về SQL SERVER , lợi ít và tầm quan trọng của nó trên phương diện lập trình 37
  38. TÀI LIỆU THAM KHẢO rosoft.com/sql 2005.35CB1337.html 38