Chơng I Khái niệm Cơ sở liệu Bng n Bng Bng Cơ sở liệu; Hệ quản trị sở liệu chức năng; Các mức thể hiện, yêu cầu hệ sở liệu Đ1 MộT Số KHáI NIệM CƠ BảN Bài toán quản lí Công việc quản lí phổ biến, nói tổ chức có nhu cầu quản lí Công ti cần quản lí tài chính, vật t, ngời, Khách sạn cần quản lí phòng cho thuê, dịch vụ, khách thuê phòng, tài chính, trang thiết bị, Bệnh viện cần quản lí bệnh nhân, thuốc, bệnh án, bác sĩ, thiết bị y tế, Để thấy rõ công việc công tác quản lÝ, ta h·y xÐt vÝ dơ sau VÝ dơ: Qu¶n lí học sinh nhà trờng Khi quản lí học sinh, nhà trờng phải có hồ sơ học sinh học bạ Học bạ thờng gồm thông tin sau: họ tên, ngày sinh, giới tính, địa chỉ, đoàn viên hay không, kết học tập rèn luyện (điểm môn, xếp loại đạo đức), Thông tin học sinh lớp thờng đợc tập hợp lại thành hồ sơ lớp Có thể hình dung hồ sơ lớp nh bảng mà cột tơng ứng với mục thông tin, hàng chứa th«ng tin vỊ mét häc sinh (h 1): Stt Hä tên Ngày sinh Giới tính Đoàn viên Địa Điểm Toán Điểm Lí Điểm Hoá Điểm Văn Điểm Tin Ngun An 12/8/91 Nam C NghÜa T©n 7,8 8,2 9,2 7,3 8,5 Trần Văn Giang 21/3/90 Nam K Cầu Giấy 5,6 6,7 7,7 7,8 8,3 Lê Minh Châu 3/5/91 Nữ C Mai Dịch 9,3 8,5 8,4 6,7 9,1 Do·n Thu Cóc 14/2/90 N÷ K Trung KÝnh 6,5 7,0 9,1 6,7 8,6 30/7/91 Nam C NghÜa T©n 7,0 6,8 6,5 6,5 7,8 50 Hồ Minh Hải Hình Ví dụ hồ sơ lớp học sinh Hồ sơ quản lí học sinh nhà trờng tập hợp hồ sơ lớp Trong trình quản lí, hồ sơ có bổ sung, thay đổi hay nhầm lẫn đòi hỏi phải sửa đổi lại Chẳng hạn, học sinh thay đổi địa phải cập nhật địa mới, Cần phải ghi điểm trung bình môn vào hồ sơ, tính điểm trung bình học kì Một học sinh chuyển trờng khác hồ sơ học sinh cần đợc đa sang lu trữ hồ sơ chuyển Hồ sơ học sinh từ trờng khác chuyển cần đợc bổ sung vào hồ sơ lớp, Công việc sửa đổi nh cần đợc thực xác thờng xuyên (tốt có thay đổi) để đảm bảo hồ sơ phản ánh thực tế Việc bổ sung, sửa chữa, xoá hồ sơ đợc gọi cập nhật Việc lập hồ sơ không đơn để lu trữ mà chủ yếu để khai thác, sử dụng phục vụ yêu cầu quản lí nhà trờng Chẳng hạn, giáo viên muốn biết thông tin (nh địa hay kết học tËp ) cđa mét häc sinh, cã thĨ t×m hå sơ học sinh để xem Công việc gọi tìm kiếm Trong số trờng hợp, giáo viên cần chọn số học sinh theo điều kiện Ví dụ, để chuẩn bị cho kì thi học sinh giỏi môn Tin học, cần phải chọn tất học sinh có điểm trung bình môn Tin học 8,5 để bồi dỡng thêm Công việc chọn hồ sơ theo số điều kiện gọi lọc Nh vậy, việc lọc gắn liền với điều kiƯn läc Trong vÝ dơ ®ang xÐt, ®iỊu kiƯn ®ã điểm trung bình môn Tin học 8,5 Điều kiện lọc phức tạp Ví dụ, công tác đột xuất giúp đỡ gia đình th ¬ng binh, liƯt sÜ, cÇn chän mét sè häc sinh (để không bị ảnh hởng đến kết học tập), đoàn viên (để nêu cao ý thức trách nhiệm), lại phải nam, điều kiện lọc là: "giới tính nam, điểm trung bình môn 7,0 đoàn viên" Giáo viên thờng xếp học sinh theo thứ tự điểm trung bình học kì để xếp loại hay xếp học sinh theo địa để chia nhóm học tập, häc sinh mét nhãm ë gÇn Cuèi häc kì cuối năm học, giáo viên thờng phải thống kê, tổng hợp, chẳng hạn đếm số lợng đoàn viên, số học sinh đạt loại giỏi, tính điểm trung bình môn học lớp, Đặc điểm kiểu khai thác phải sử dụng liệu nhiều học sinh Các công việc thờng gặp xử lí thông tin tổ chức Ngày tin học hoá công tác quản lí chiếm khoảng 80% ứng dụng tin học Công việc quản lí nơi, lĩnh vực có đặc điểm riêng đối tợng quản lí nh phơng thức khai thác thông tin Tuy nhiên toán quản lí có chung đặc điểm khối lợng hồ sơ cần xử lí thờng lớn nhng thuật toán xử lí nói chung không phức tạp Công việc xử lí bao gồm: tạo lập hồ sơ, cập nhật hồ sơ, khai thác, lập kế hoạch định a) Tạo lập hồ sơ Để tạo lập hồ sơ, cần thực công việc sau: - Tuỳ thuộc nhu cầu tổ chức mà xác định đối tợng cần quản lí Chẳng hạn, ví dụ mục a), đối tợng cần quản lí học sinh - Dựa vào yêu cầu cần quản lí thông tin đối t ợng để xác định cấu trúc hồ sơ Ví dụ hình 1, hồ sơ học sinh hµng cã 11 thuéc tÝnh (cét) - Thu thËp, tËp hợp thông tin cần thiết cho hồ sơ từ nhiều nguồn khác nh hồ sơ lớp dới, kết điểm thi học kì môn học, lu trữ chúng theo cấu trúc đà xác định (h 1) b) Cập nhật hồ sơ Thông tin lu trữ hồ sơ cần đợc cập nhật để đảm bảo phản ánh kịp thời, với thực tế Sau số việc thờng làm để cập nhật hồ sơ: - Sửa chữa hồ sơ việc thay đổi vài thông tin hồ sơ không Chẳng hạn, học sinh DoÃn Thu Cúc đợc kết nạp vào Đoàn nên thuộc tính Đoàn viên trớc ghi 'K' sửa thành 'C', nhầm lẫn ghi Điểm Tin học sinh Hồ Minh Hải 7,8 cần sửa thành 8,7 điểm mà em đà đạt đợc - Cần bổ sung thêm hồ sơ cho đối tợng tham gia vào tổ chức Chẳng hạn, học sinh Nguyễn Gia Lâm từ nơi khác chuyển tới lớp, cần bổ sung hồ sơ em vào hồ sơ lớp - Cần xoá hồ sơ đối tợng mà tổ chức không quản lí Ví dụ, học sinh Trần Văn Giang chuyển sang lớp khác, cần xoá hồ sơ em khỏi hồ sơ lớp (chuyển sang hồ sơ lớp mà em chuyển tới) VÝ dơ, sau thùc hiƯn cËp nhËt hå s¬ nêu trên, hồ sơ lớp hình có dạng nh hình dới đây: Stt Họ tên Ngày sinh Giới tính Đoàn viên Địa Điểm Toán Điểm Lí Điểm Hoá Điểm Văn Điểm Tin Nguyễn An 12/8/91 Nam C NghÜa T©n 7,8 8,2 9,2 7,3 8,5 Lê Minh Châu 3/5/91 Nữ C Mai Dịch 9,3 8,5 8,4 6,7 9,1 Do·n Thu Cóc 14/2/90 N÷ C Trung KÝnh 6,5 7,0 9,1 6,7 8,6 49 Hå Minh H¶i 30/7/91 Nam C NghÜa T©n 7,0 6,8 6,5 6,5 8,7 50 Nguyễn Gia Lâm 11/8/91 Nam C Mai Dịch 6,6 6,5 7,6 7,8 8,4 Hình Hồ sơ lớp hình sau cập nhật c) Khai thác hồ sơ Việc tạo lập, lu trữ cập nhật để khai thác hồ sơ, phục vụ cho công việc quản lí Khai thác hồ sơ gồm việc sau: Tìm kiếm theo tiêu chí để tra cứu thông tin có sẵn hồ sơ Ví dụ, họ tên học sinh có điểm môn Tin cao nhất; Những học sinh nam, đoàn viên có điểm trung bình môn 7,0 Thống kê cách khai thác hồ sơ dựa tính toán để đa thông tin đặc trng, sẵn hồ sơ Ví dụ, tính điểm trung bình môn học lớp; Xác định điểm cao nhất, thấp môn Tin; Thống kê số học sinh đạt điểm giỏi môn Tin, Toán, Lí Sắp xếp hồ sơ theo tiêu chí phù hợp với yêu cầu quản lí tổ chức Ví dụ, xếp hồ sơ lớp theo bảng chữ tên học sinh; Sắp xếp hồ sơ theo điểm số từ cao xuống thấp môn học Lập báo cáo việc sử dụng kết tìm kiếm, thống kê, xếp hồ sơ để tạo lập hồ sơ có nội dung cấu trúc khuôn dạng theo yêu cầu cụ thể Ví dụ, cần báo cáo danh sách học sinh giỏi lớp, xếp theo điểm trung bình môn học từ cao xng thÊp Mơc ®Ých ci cïng cđa viƯc tạo lập, cập nhật, khai thác hồ sơ phục vụ, hỗ trợ cho trình lập kế hoạch, định xử lí công việc ng ời có trách nhiệm Ví dụ, cuối năm học, nhờ thống kê, báo cáo phân loại học tập mà thầy hiệu trởng định số lợng mức thởng cho học sinh xuất sắc trờng cách hợp lí Các giáo viên chủ nhiệm vào báo cáo phân loại học tập mà lập kế hoạch ôn tập hè cho học sinh lớp Hệ sở liệu a) Khái niệm sở liệu hệ quản trị sở liệu Bài toán quản lí toán phổ biến hoạt động kinh tế - xà hội Một xà hội văn minh trình độ quản lí tổ chức hoạt động xà hội cao.Việc lu trữ xử lí thông tin cách xác, kịp thời chiếm vị trí quan trọng quản lí, điều hành tổ chức Máy tính điện tử đời phát triển đà trở thành công cụ có khả l u trữ liệu khổng lồ, tốc độ truy xuất xử lí liệu nhanh Do vậy, cần thiết phải tạo lập đợc phơng thức mô tả, cấu trúc liệu để sử dụng máy tính trợ giúp đắc lực cho ngời việc lu trữ khai thác thông tin Cơ sở liệu (CSDL) hệ quản trị sở liệu (Hệ QTCSDL) đời phát triển nhằm đáp ứng nhu cầu Một sở liệu (Database) tập hợp liệu có liên quan với nhau, chứa thông tin tổ chức (nh trờng học, ngân hàng, công ti, nhà máy, ), đợc lu trữ thiết bị nhớ để đáp ứng nhu cầu khai thác thông tin nhiều ngời sử dụng với nhiều mục đích khác VÝ dơ, hå s¬ líp mơc (h 1) đợc lu trữ nhớ máy tính xem sở liệu (gọi CSDL Lớp) Hiện nay, việc ứng dụng CSDL hầu hết hoạt động xà hội trở nên phổ biến, quen thuộc Để quản lí tốt phục vụ ngời đọc cách thuận lợi, hầu hết th viện ngày có CSDL Thông qua việc tra cứu hồ sơ sách lu trữ CSDL máy tính, ta biết đợc thông tin sách thuộc phạm vi quan tâm, cần mợn Nhờ khai thác CSDL th viện, ta biết đợc nhiều thông tin khác, chẳng hạn th viện có đầu sách, loại sách lĩnh vực thu hút quan tâm bạn đọc, HÃng Hàng không Việt Nam có CSDL chứa thông tin chuyến bay Tại phòng bán vé, có khách hàng đến mua vé, cách khai thác CSDL hÃng, nhân viên bán vé nhanh chóng cung cấp thông tin cần thiết giúp khách hàng định chọn chuyến bay thích hợp Sau bán vé cho khách hàng, nhân viên bán vé phải cập nhật thông tin vào CSDL Cùng với phát triển nhanh chóng mạng Internet, từ năm cuối kỉ XX, số ngời truy cập khai thác thông tin từ sở liệu tăng lên nhanh Qua trang web, ngời ta xem kết thi đại học, đăng kí khoá học trờng, xem số tiền tài khoản ngân hàng, xem mua sách cửa hàng bán sách mạng, tìm hiểu chi tiết số mặt hàng đó, Tất công việc đợc thực nhờ có CSDL thích hợp Kết xuất thông tin từ sở liệu không phục vụ kịp thời xác công việc quản lí, điều hành nói riêng việc lu trữ, khai thác thông tin nói chung mà ngày trở thành công việc thờng xuyên sống ngời Để tạo lập, lu trữ cho phép nhiều ngời khai thác đợc CSDL, cần có hệ thống chơng trình cho phép ngời dùng giao tiếp với CSDL Những hệ thống đà làm ẩn chi tiết kĩ thuật phức tạp làm đơn giản tơng tác ngời dùng với máy tính Phần mềm cung cấp môi trờng thuận lợi hiệu để tạo lập, lu trữ khai thác thông tin CSDL đợc gọi hệ quản trị sở liệu (hệ QTCSDL) Ngời ta thờng dùng thuật ngữ hệ sở liệu để CSDL với hệ QTCSDL quản trị khai thác CSDL (h 3) Hình Hệ sở liệu Để lu trữ khai thác thông tin máy tính cần phải có: Cơ sở liệu; Hệ quản trị sở liệu; Các thiết bị vật lí (máy tính, đĩa cứng, mạng, ); Ngoài ra, có phần mềm ứng dụng đợc xây dựng dựa hệ quản trị sở liệu để việc khai thác CSDL trở nên thuận tiện hơn, đáp ứng yêu cầu đa dạng cđa ngêi dïng b) C¸c møc thĨ hiƯn cđa CSDL Để lu trữ khai thác thông tin cách hiệu quả, hệ CSDL đ ợc xây dựng bảo trì dựa nhiều yếu tố kĩ thuật máy tính Tuy nhiên, muốn phục vụ cho nhiều ngời dùng, hệ CSDL phải đợc thiết kế cho, tơng tác đơn giản với hệ thống, ngời dùng khai thác thông tin mà không cần biết đến chi tiết kĩ thuật phức tạp Nh yêu cầu mức hiểu chi tiết CSDL khác nhóm ngời làm việc với hệ CSDL vai trò khác Có ba mức hiểu CSDL mức vật lí, mức khái niệm, mức khung nhìn Mức vật lí Có chuyên gia tin học cần hiểu cách chi tiết liệu đợc lu trữ nh Chẳng hạn, với CSDL Lớp, tệp hồ sơ đợc lu trữ vùng nhớ nào; liệu học sinh chiếm bao nhiªu byte? Møc hiĨu biÕt mét hƯ CSDL chi tiết đến nh gọi mức vật lí hệ CSDL Một cách đơn giản, ta có thĨ nãi CSDL vËt lÝ cđa mét hƯ CSDL lµ tập hợp tệp liệu tồn thiÕt bÞ nhí TƯp TƯp n DỮ LIỆU Hình Mức khái niệm Nhóm ngời quản trị hệ CSDL phát triển ứng dụng thờng không cần hiĨu chi tiÕt ë møc vËt lÝ, nhng hä cÇn phải biết: Những liệu đợc lu trữ hệ CSDL? Giữa liệu có mối quan hệ no? Chẳng hạn, với CSDLo? Chẳng hạn, với CSDL Lớp, họ cần biết với học sinh phải lu thông tin: họ tên, ngày sinh, giới tính, địa chỉ, đoàn viên hay không, điểm môn Toán, Lí, Hoá, Văn, Tin Nh vậy, CSDL Lớp đợc mô tả bảng, cột thuộc tính, hàng tơng ứng với liệu mét häc sinh Møc hiĨu CSDL nh vËy gäi lµ mức khái niệm Lớp 12A Họ tên Ngày sinh Giíi tÝnh H×nh Møc khung nh×n Khi khai thác CSDL, ngời dùng không quan tâm đến toàn thông tin chứa CSDL mà cần phần thông tin phù hợp với nghiệp vụ hay mục đích sử dụng VÝ dơ, víi CSDL Líp, th«ng qua giao diƯn cđa chơng trình ứng dụng, giáo viên chủ nhiệm lớp nhìn thấy đợc thông tin học sinh lớp (h 6a) Hình a Giao diện dành cho giáo viên chủ nhiệm Trong đó, hình làm việc giáo viên môn Tin học (h 6b) không hiển thị thuộc tính ngày sinh, giới tính, địa chỉ, đoàn viên hay không mà hiển thị họ tên điểm môn Hình 6b Giao diện dành cho giáo viên môn Tin học Màn hình làm việc với CSDL dành cho giáo viên chủ nhiệm hay giáo viên môn hiển thị kết xử lí mang tính thống kê tổng hợp từ liệu lu trữ, phù hợp với nhiệm vụ ngời Chẳng hạn giáo viên chủ nhiệm muốn biết điểm trung bình cộng tất môn học học sinh (h 7a), giáo viên môn lại cần biết trung bình cộng lớp môn học giảng dạy số học sinh đạt điểm trung bình môn 8,0 (h 7b) 10 a) b) Hình Thể phù hợp CSDL cho ngời dùng đợc coi khung nhìn CSDL Ngời dùng làm việc với CSDL thông qua khung nhìn nên không cần biết đến chi tiết kĩ thuật phức tạp không cần biết đầy đủ tất thông tin đợc lu trữ CSDL Mức hiểu CSDL ngời dùng thông qua khung nhìn đợc gọi mức cña CSDL Nh vËy, mét CSDL chØ cã mét CSDL vËt lÝ, mét CSDL kh¸i niƯm nhng cã thĨ cã nhiều khung nhìn khác Ba mức hiểu CSDL nh ba mức mô tả làm việc với CSDL, phù hợp với vai trò khác ngời có liên quan đến hệ CSDL (h 8) Khung nh×n Khung nh×n n Møc khung nhìn Bng Bng n Mức khái niệm D LIU Mức vật lí Hình Các mức thể CSDL Giữa mức mô tả CSDL phải có tơng ứng đắn để đảm bảo cho hệ CSDL đợc xây dựng khai thác tốt Tạo lập kiểm soát t ơng ứng đắn trách nhiệm ngời thiết kế CSDL c) Các yêu cầu hệ CSDL Một hệ CSDL cần có chế để đảm bảo đợc yêu cầu sau đây: 11 Tính cấu trúc: Dữ liệu CSDL đợc lu trữ theo cấu trúc xác định 12 Ví dụ, CSDL Lớp có cấu trúc bảng nhiều hàng, 11 cột Mỗi cột thuộc tính hàng hồ sơ học sinh Tính toàn vẹn: Các giá trị liệu đợc lu trữ CSDL phải thoả mÃn số ràng buộc, tuỳ thuộc vào hoạt động tổ chức mà CSDL phản ánh Ví dụ, th viện có quy định số sách nhiều mà ngời đọc đợc mợn lần CSDL th viện phải phù hợp với quy định hạn chế sách mợn th viện Nghĩa liệu cần thoả mÃn ràng buộc này, chẳng hạn số sách ngời mợn không vợt năm lần Những ràng buộc kiểu nh đợc gọi ràng buộc toàn vẹn liệu Tính quán: Sau thao tác cập nhật liệu có cố (phần cứng hay phần mềm) xảy trình cập nhật, liệu CSDL phải đợc đảm bảo đắn Ví dụ, chơng trình ngân hàng thực việc chuyển 100 triệu đồng từ tài khoản A sang tài khoản B Giả sử thực ch ơng trình đó, có cố xảy (hỏng phần cứng, hỏng phần mềm hay điện), số tiền tài khoản A ®· bÞ trõ ®i 100 triƯu ®ång nhng sè tiỊn bên tài khoản B cha đợc cộng thêm, dẫn đến tình trạng không quán CSDL Để tránh không quán nh CSDL hai hành động rút tiền khỏi A nhập tiền vào B xảy hành động xảy Nếu có nhiều cập nhật liệu xảy lúc, tơng tác chúng dẫn đến liệu không quán Chẳng hạn, thời điểm có hai khách hàng muốn đặt mua vé lại chuyến bay X, hai đại lí bán vé máy bay Khi truy cập vào CSDL chuyến bay X đó, hai đại lí tìm thấy đồng ý bán vé lại cho khách hàng Điều dẫn đến kết chỗ ngồi chuyến bay X đợc bán cho hai khách hàng khác Hệ CSDL phải có chế đảm bảo đợc tính quán liệu, nghĩa không để xảy tình nh Tính an toàn bảo mật thông tin: CSDL cần đợc bảo vệ an toàn, phải ngăn chặn đợc truy xuất không đợc phép phải khôi phục đợc CSDL cã sù cè ë phÇn cøng hay phÇn mỊm Mỗi nhóm ngời dùng CSDL có quyền hạn mục đích sử dụng khác Cần phải có nguyên tắc chế bảo mật trao quyền truy xt d÷ liƯu cho ngêi dïng VÝ dơ, víi CSDL Lớp, cho phép đợc truy cập sửa điểm học sinh Trong công ti, liệu hoạt động kinh doanh, chiến lợc giá phải đợc bí mật, số ngời có trách nhiệm đợc biết Tính độc lËp: V× mét CSDL thêng phơc vơ cho nhiỊu ngêi dùng với mục đích khai thác khác nên liệu cần phải độc lập với ứng dụng, không phụ thuộc vào vài toán cụ thể, không phụ thuộc vào phơng tiện lu trữ xử lí Có hai mức độc lập liệu Khi cần thiết, để tăng hiệu đáp ứng yêu cầu míi cđa hƯ thèng, cã thĨ mét sè u tè thuộc mức vật lí đợc thay đổi (chẳng hạn thay đĩa từ đĩa quang liệu đợc lu trữ dạng nén) Nếu thay đổi mức vật lí không dẫn đến chơng trình ứng dụng phải viết lại, không dẫn đến thay đổi tơng tác vốn có ngời dùng với CSDL ta nói có độc lập mức vật lí Cũng có ta cần thay đổi CSDL mức khái niệm, chẳng hạn đến lúc cần quản lí thêm thông tin số thẻ bảo hiểm cho học sinh (vốn cha đợc lu trữ CSDL) Nếu thêm cột số thẻ bảo hiểm vào bảng mô tả thông tin mức khái niệm (h 9) mà chơng trình ứng dụng dùng viết lại, ta nói có độc lập mức khái niệm Trong ví dụ vừa nêu, khung nhìn giáo viên chủ nhiệm thay đổi không nhiều, hiển thị thêm số thẻ bảo hiểm cho học sinh Nhng khung nhìn cho giáo viên môn không cần thay đổi Nghĩa chơng trình ứng dụng cần chỉnh sửa số môđun không cần viết lại Tính độc lập hệ CSDL nhằm tạo thuận lợi cho ngời dùng cách giải phóng họ khỏi quan tâm đến chi tiết cài đặt mức thấp Stt Hä tªn Ngun An Ngày sinh Giới tính 12/8/91 Nam Lê Minh Châu 3/5/91 DoÃn Thu Cúc 14/2/90 Địa Đoàn viên Điểm Toán Điểm Văn Điểm Tin Thẻ BH Nghĩa Tân C 7,8 7,3 8,5 45678 Nữ Mai Dịch C 9,3 6,7 9,1 24546 N÷ Trung KÝnh C 6,5 6,7 8,6 54545 49 Hå Minh H¶i 30/7/91 Nam NghÜa T©n C 7,0 6,5 8,7 55465 50 Nguyễn Gia Lâm 11/8/91 Nam Mai Dịch C 6,6 7,8 8,4 45454 Hình Tính không d thừa: Trong CSDL thờng không lu trữ liệu trùng lặp thông tin dễ dàng suy diễn hay tính toán đợc từ liệu đà có Sự trùng lặp thông tin vừa lÃng phí nhớ để lu trữ vừa dễ dẫn đến tình trạng không quán thông tin Họ tên Tổ Tổ trởng Hä tªn Tỉ T ỉ Tỉ trëng Ngun An Nguyễn Thái Hà Nguyễn An 1 Nguyễn Thái Hà Lê Minh Châu Trần Văn Thuyết Lê Minh Châu 2 Trần Văn Thuyết DoÃn Thu Cúc Nguyễn Thái Hà DoÃn Thu Cúc Lê Xuân Bắc Hồ Minh Hải Lê Xuân Bắc Hồ Minh Hải Trần Văn Giang Trần Văn Thuyết Trần Văn Giang a) b) Hình Ví dụ, bảng hình 10a, thấy lặp lặp lại thông tin "tỉ trëng cđa tỉ lµ , tỉ trëng tổ là, " Để tránh d thừa ®ã, ngêi thiÕt kÕ CSDL ë møc kh¸i niƯm sÏ dùng hai bảng hình 10b Một ví dụ khác để tránh d thừa cho CSDL, điểm trung bình cộng môn học lớp không cần lu trữ CSDL Lớp Thông tin đợc kết xuất từ liệu CSDL Lớp hiển thị khung nhìn cần thiết (h 11) 13 Thông tin đợc tính toán từ liệu đà có Hình Báo cáo tổng kết môn d Một số ứng dụng Việc xây dựng, phát triển khai thác hệ CSDL ngày nhiều hơn, đa dạng hầu hết lĩnh vực kinh tế, xà hội, giáo dục, y tế, Cơ sở giáo dục đào tạo cần quản lí thông tin ng ời học, môn học, kết học tập, Cơ sở kinh doanh cần có CSDL thông tin khách hàng, sản phẩm, việc mua bán, Cơ sở sản xuất cần quản lí dây chuyền thiết bị theo d õi việc sản xuất sản phẩm nhà máy, hàng tồn kho hay cửa hàng đơn đặt hàng, Tổ chức tài cần lu thông tin cổ phần, tình hình kinh doanh mua bán tài nh cổ phiếu, trái phiếu, Các giao dịch qua thẻ tín dụng cần quản lí việc bán hàng thẻ tín dụng xuất báo cáo tài định kì (theo ngày, tuần, tháng, quý, năm, ) Ngân hàng cần quản lí tài khoản, khoản vay, giao dịch hàng ngày, HÃng hàng không cần quản lí chuyến bay, việc đăng kí vé lịch bay, Tổ chức viễn thông cần ghi nhận gọi, hoá đơn hàng tháng, tính toán số d cho thẻ gọi trả trớc, Những ứng dụng khác Mỗi tổ chức nh cần phải thiết kế xây dựng CSDL riêng Mỗi CSDL không phục vụ tốt cho thực nghiệp vụ mà hỗ trợ cho lÃnh đạo định xác, kịp thời CÂU HỏI tập Nêu ứng dụng CSDL tổ chức mà em biết HÃy phân biệt sở liệu với hệ quản trị sở liệu 14 Giả sử phải xây dựng CSDL để quản lí mợn, trả sách th viện, theo em cần phải lu trữ thông tin gì? HÃy cho biết việc phải làm để đáp ứng nhu cầu quản lí ngời thủ th HÃy nêu ví dụ minh hoạ cho vài yêu cầu hệ CSDL 15 Đ2 Hệ QUảN TRị CƠ Sở Dữ LIệU Các chức hệ QTCSDL Nh đà đợc giới thiệu, hệ QTCSDL đợc dùng để tạo lập, cập nhật CSDL khai thác thông tin CSDL Một hệ QTCSDL có chức sau: a) Cung cấp môi trờng tạo lập CSDL Một hệ QTCSDL phải cung cấp môi trờng cho ngời dùng dễ dàng khai báo kiểu liệu, cấu trúc liệu thể thông tin ràng buộc liệu Với hệ QTCSDL hiƯn nay, ngêi dïng cã thĨ t¹o lËp CSDL thông qua giao diện đồ hoạ Để thực đợc chức này, hệ QTCSDL cung cấp cho ngời dùng ngôn ngữ định nghĩa liệu Ta hiểu ngôn ngữ định nghĩa liệu thực chất hệ thống kí hiệu để mô tả CSDL b) Cung cấp môi trờng cập nhật khai thác liệu Ngôn ngữ để ngời dùng diễn tả yêu cầu cập nhật hay tìm kiếm, kết xuất thông tin đợc gọi ngôn ngữ thao tác liệu Thao tác liệu gồm: Cập nhật (nhập, sửa, xoá liệu); Khai thác (tìm kiếm, kết xuất liệu) Trong thực tế, ngôn ngữ cho định nghĩa thao tác liệu hai thành phần ngôn ngữ CSDL Ngôn ngữ CSDL đợc sư dơng phỉ biÕn hiƯn lµ SQL (Structured Query Language) c) Cung cấp công cụ kiểm soát, điều khiển truy cập vào CSDL Để góp phần đảm bảo đợc yêu cầu đặt cho hệ CSDL, hệ QTCSDL phải có chơng trình thực nhiệm vụ sau: Phát ngăn chặn truy cập không đợc phép Chức góp phần đáp ứng yêu cầu an toàn bảo mật thông tin; Duy trì tính quán liệu; Tổ chức điều khiển truy cập đồng thời để bảo vệ ràng buộc toàn vẹn tính quán; Khôi phục CSDL có cố phần cứng hay phần mềm; Quản lí mô tả liệu Nói chung, hệ QTCSDL cung cấp chơng trình nêu trên, nhng hệ QTCSDL khác có chất lợng khả khác đáp ứng nhu cầu thực tế Chẳng hạn, hệ QTCSDL dùng máy tính cá nhân cung cấp phơng tiện bảo vệ liệu, trì tính quán liệu, khôi phục liệu cách hạn chế Trong đó, hệ QTCSDL lớn, phục vụ lúc cho nhiều ngời dùng, phơng tiện kể có thêm chức khác nh xử lí truy cập đồng thời, Các hệ QTCSDL 16 phát triển theo hớng đáp ứng đòi hỏi ngày cao ngời dùng, chức hệ QTCSDL ngày đợc mở rộng Hoạt động hệ QTCSDL Mỗi hệ QTCSDL phần mềm phức tạp gồm nhiều thành phần (môđun), thành phần có chức cụ thể, hai thành phần xử lí truy vấn (bộ xử lí yêu cầu) quản lí liệu Một số chức hệ QTCSDL đợc hỗ trợ hệ điều hành nên hệ QTCSDL phải có giao diện cần thiết với hệ điều hành Hình 12 sơ đồ đơn giản cho ta biết tơng tác hệ QTCSDL với ngời dùng với CSDL Truy vấn Trình ứng dụng HƯ QTCSDL Bé xư lÝ truy vÊn Bé qu¶n lÝ liệu Bộ quản lí tệp CSDL Hình Sự tơng tác hệ QTCSDL Khi có yêu cầu ngời dùng, hệ QTCSDL gửi yêu cầu đến thành phần có nhiệm vụ thực yêu cầu hệ điều hành tìm số tệp chứa liệu cần thiết Các tệp tìm thấy đợc chuyển cho hệ QTCSDL xử lí kết đợc trả cho ngêi dïng Vai trß cđa ngêi làm việc với hệ CSDL Liên quan đến hoạt động cđa mét hƯ CSDL, cã thĨ kĨ ®Õn ba vai trò khác ngời: a) Ngời quản trị CSDL Khái niệm ngời quản trị CSDL đợc hiểu ngời hay nhóm ngời đợc trao quyền điều hành hệ CSDL 17 Ngời quản trị CSDL chịu trách nhiệm quản lí tài nguyên nh CSDL, hệ QTCSDL phần mềm liên quan Đây ngời có vai trò thiết kế CSDL khái niệm cài đặt CSDL vËt lÝ, cÊp ph¸t c¸c qun truy cËp CSDL, cấp phần mềm phần cứng theo yêu cầu, trì hoạt động hệ thống đảm bảo thoả mÃn yêu cầu trình ứng dụng ngời dùng Nh vậy, ngời quản trị CSDL phải có hiểu biết sâu sắc kĩ tốt lĩnh vực CSDL, hệ QTCSDL môi trờng hệ thống b) Ngời lập trình ứng dụng Khi CSDL đà đợc cài đặt, cần có chơng trình ứng dụng đáp ứng nhu cầu khai thác nhóm ngời dùng Đây công việc ngời lập trình ứng dụng Mỗi chơng trình có câu lệnh yêu cầu hệ QTCSDL thực số thao tác CSDL đáp ứng nhu cầu cụ thể đặt c) Ngời dùng Ngời dùng (hay gọi ngời dùng đầu cuối) ngời có nhu cầu khai thác thông tin từ CSDL Họ tơng tác với hệ thống thông qua việc sử dụng chơng trình ứng dụng đà đợc viết trớc Thông thờng giao diện cho ngời dùng có dạng biểu mẫu để họ mô tả yêu cầu cách điền nội dung thích hợp vào biểu mẫu Sau đó, ng ời dùng đọc báo cáo đợc hệ CSDL sinh Ngời dùng thờng đợc phân thành nhóm, nhóm có số quyền hạn định để truy cập khai thác CSDL Các bớc xây dựng sở liệu Việc xây dựng sở liệu tổ chức thờng đợc tiến hành theo bớc sau: Bớc Khảo sát Tìm hiểu yêu cầu công tác quản lí; Xác định liệu cần lu trữ, phân tích mối liên hệ chúng; Phân tích chức cần có hệ thống khai thác thông tin, đáp ứng yêu cầu đặt Bớc Thiết kế Thiết kế sở liệu; Lựa chọn hệ QTCSDL để triển khai; Xây dựng hệ thống chơng trình ứng dụng Bíc KiĨm thư NhËp d÷ liƯu cho CSDL; Tiến hành chạy thử chơng trình ứng dụng Nếu hệ thống đáp ứng đầy đủ yêu cầu đặt đa hệ thống vào sử dụng Nếu hệ thống lỗi cần rà soát lại tất bớc đà thực trớc xem lỗi xuất đâu để khắc phục 18 Thông thờng bớc nêu phải tiến hành nhiều lần hệ thống có khả ứng dụng CÂU HỏI Ngôn ngữ định nghĩa liệu hệ QTCSDL cho phép ta làm gì? HÃy kể loại thao tác liệu, nêu ví dụ minh hoạ Vì hệ QTCSDL lại phải có khả kiểm soát điều khiển truy cập đến CSDL? HÃy nêu ví dụ để minh hoạ Khi làm việc với hệ CSDL, em muốn giữ vai trò (ngời quản trị CSDL hay ngời lËp tr×nh øng dơng hay ngêi dïng)? V× sao? Trong chức hệ quản trị sở liệu, theo em chức quan trọng nhất? Vì sao? HÃy trình bày sơ lợc hoạt động hệ QTCSDL Bài tập thực hành Tìm hiểu hệ Cơ sở liệu Mục đích, yêu cầu Biết số công việc xây dựng CSDL đơn giản Nội dung Bài Tìm hiểu nội quy th viện, thẻ th viện, phiếu mợn/trả sách, sổ quản lí sách, th viện trờng trung học phổ thông 19 Bài Kể tên hoạt động th viện Ví dụ: - Mua nhập sách, lí sách; - Cho mợn sách; - Bài HÃy liệt kê đối tợng cần quản lí xây dựng CSDL quản lí sách mợn/trả sách, chẳng hạn nh ngời đọc, sách, Với đối tợng, hÃy liệt kê thông tin cần quản lí, chẳng hạn: Thông tin ngời đọc: - Số thẻ mợn - Họ tên - Thông tin sách: - Mà sách - Tên sách - Bài Theo em, CSDL nêu cần bảng nào? Mỗi bảng cần có cột nào? Ví dụ, bảng lu thông tin sách, tác giả, ngòi đọc, 20 Bài đọc thêm Sơ lợc lịch sử sở liệu Trong 50 năm, sở liệu đà trải qua nhiều giai đoạn phát triển Giai đoạn trớc năm 1960 thời kì tiền phát triển Dữ liệu không đợc lu trữ đĩa; ngời lập trình phải xác định cấu trúc lôgic lẫn cấu trúc vật lí liệu Mỗi ch ơng trình có liệu riêng RAM vừa tốn lại bị hạn chế, hiệu lập trình không cao Giai đoạn đầu năm 1960 giai đoạn tiền sở liệu (hệ thống quản lí tệp): Dữ liệu đợc tổ chức lu trữ xử lí tệp ghi băng từ Các ngôn ngữ lập trình nh COBOL, BASIC đợc sử dụng để lập trình xử lí liệu Mỗi chơng trình làm việc với tập liệu riêng Sự trùng lặp liệu tính bảo mật không cao hạn chế bật sở liệu thời kì Charles W Bachman (1924) Edgar F "Ted" Codd (1923 - 2003) Gi¶i thëng Turing 1973 Gi¶i thởng Turing 1981 1968-1980 Giai đoạn sở liệu không quan hệ (Era of non-relational database): Hai mô hình sở liệu đợc phát triển thời kì mô hình sở liệu phân cấp (trong hệ quản trị sở liệu IBM có tên IMS) mô hình sở liệu mạng mô hình CODASYL DBTG với IDMS hệ quản trị sở liệu mạng đợc sử dụng phổ biến thời Một hạn chế bật việc xử lí ngời dùng cần biết cấu trúc vật lí sở liệu truy xuất đ ợc thông tin Ngời tiên phong giai đoạn Charles W Bachman 1970-nay Giai đoạn hệ sở liệu quan hệ 21 Vào năm 1970-1972, E F Codd đề xuất mô hình sở liệu quan hệ Ông đa cách nhìn nhận sở liệu: Tách sơ đồ (tổ chức lôgic) sở liệu khỏi phơng pháp lu trữ vật lí Cho đến cách nhìn nhận hệ thống đợc coi tiêu chuẩn Vào năm 1970 hệ quản trị sở liệu quan hệ đ ợc đặc biệt quan tâm phát triển Năm 1976, P Chen đề xuất mô hình thực thể liên kết (Entity-Relationship) để thiết kế sở liệu cho cách nhìn hệ thống mô hình liệu Việc tiến hành mô hình hoá mức cao cho phÐp ngêi thiÕt kÕ tËp trung vµo viƯc sử dụng liệu Những năm đầu thập niên 1980, chứng kiến bùng nổ thị trờng sở liệu quan hệ cho công việc kinh doanh Những năm thập niên 1980, SQL (Structured Query Language) trở thành chuẩn DB2 sản phẩm phần mềm sáng giá IBM Mô hình mạng mô hình phân cấp hầu nh không đợc phát triển, số hệ thống cũ đợc sử dụng Việc phát triển máy tính PC đà động lực thúc đẩy phát triển hàng loạt hÃng sản xuất phần mềm sở liệu nh RIM, RBASE 5000, PARADOX, OS/2 Database Manager, Dbase III, IV, Foxbase, Foxpro (mà muộn trở thành Visual FoxPro), Watcom SQL Những năm đầu thập niên 1990, mô hình client-server tính toán trở thành chuẩn mực cho định kinh doanh Xuất sản phẩm phần mềm hỗ trợ cho cá nhân nh Excel/Access Microsoft Đánh dấu bắt đầu dòng hệ quản trị sở liệu hớng đối tợng (Object Database Management Systems - ODBMS) Những năm thập niên 1990, xuất Internet đà tạo khả thâm nhập từ xa đến hệ thống máy tính liệu chúng Web/CSDL tăng cách đột biến Những năm cuối thập niên 1990, phát triển Internet đà thúc đẩy thị trờng phần mềm kết nối web/Internet/CSDL tăng trởng mạnh mẽ Các phần mềm thơng mại nh Active Server Pages, FrontPage, Java Servlets, JDBC, Enterprise Java Beans, ColdFusion, DreamWeaver, Oracle Developer 2000 đợc đồng loạt tung thị trờng Bên cạnh phải kể đến phát triển phần mềm m à nguồn mở: Các phần mềm nh gcc, cgi, Apache, MySQL, đ đợc đa trực tuyến lên mạng Những năm đầu kỉ XXI: Cùng với phát triển Internet, sở liệu tiếp tục lớn mạnh ứng dụng sâu rộng vào nhiều lĩnh vực đời sống Xuất nhiều ứng dụng vào sinh hoạt đời thờng nh sử dụng dịch vụ di động Các hÃng sản xuất phần mềm chiếm thị phần lớn thị tr ờng phần mềm sở liệu là: IBM, Microsoft vµ Oracle 22 ... sinh, gi? ?i tính, địa chỉ, đoàn viên hay không mà hiển thị họ tên ? ?i? ??m môn Hình 6b Giao diện dành cho giáo viên môn Tin học Màn hình làm việc v? ?i CSDL dành cho giáo viên chủ nhiệm hay giáo viên... ứng dụng, giáo viên chủ nhiệm lớp nhìn thấy đợc thông tin học sinh lớp (h 6a) Hình a Giao diện dành cho giáo viên chủ nhiệm Trong đó, hình làm việc giáo viên môn Tin học (h 6b) không hiển thị thuộc... thông tin sách, tác giả, ng? ?i đọc, 20 B? ?i đọc thêm Sơ lợc lịch sử sở liệu Trong 50 năm, sở liệu đà tr? ?i qua nhiều giai đoạn phát triển Giai đoạn trớc năm 1960 th? ?i kì tiền phát triển Dữ liệu