Chương 1 giới thiệu cho học viên các khái niệm cơ bàn về cơ sở dừ liệu (CSDL) và hệ quàn trị CSDL. Giới thiệu chung 1. Giói thiệu Xét một hệ thống các tập tin cồ điển: được tổ chức một cách riêng rè, phục vụ cho một mục đích của một đơn vị hay một đơn vị con tiực thuộc cụ thể. ứng dụng là một hệ quân lý nhân sự cùa một công ty.
Tại một công ty đà được trang bị máy vi tíiili cho tất cả các phòng ban. Trong đó: • Phòng Tổ chức lưu giừ những thông tin về lý lịch của nhân viên như họ tên, bí danh, giới tính, ngày sinh, ngày vào đoàn, ngày vào đãng, ngày tuyển dụng, hệ số lương, hệ số phụ cấp, hoàn cành gia đình. Phần mềm được sử dụng để quân lý là Microsoft Access. • Phòng Tài vụ hru giừ nliừng thông tin về họ tên, hệ số lương, hệ sổ phụ cấp, đơn vị.
để tính toán lương và phụ cấp dựa trên danh sách do phòng tổ chức gời sang. Các bàng tính này được làm bời Microsoft Excel. • Bộ phận Văn thư sữ dụng Microsoft word để thào các văn bàn báo cáo về tinh hình cùa đơn vị trong đó có nêu tồng sổ công nhân viên và trình độ chuyên môn được đào tạo. • Trong khi đó tại tồng công ty các phòng ban cùng được trang bị máy vi tính và cũng quàn lý những thông tin cùa các cán bộ chủ chốt cùa công ty con là giám đốc, phó giám đốc, trưởng phó phòng.
Việc phát triển cùa hệ thống quân lý như sau: • Nhùng chương trình ứng dụng mới phâi được viết khi một nhu cầu nây sinh. • Các tập tin thường tiực mới được tạo ra theo yêu cầu. • Trong một thời gian dài các tập tin có thể ở các dạng thức khác nhau. • Nliừng chương trinh ứng dụng có thề viết bời các ngôn ngừ khác nhau.
Trang 8/109 ưu điêm: • Việc xây dựng nliừng hệ thống tập tin riêng lè tại từng đơn vị quàn lý ít tốn thời gian bời hrợng thông tin cần quân lý và khai thác là nhò, không đòi hỏi đầu tu nhiều nên triển khai nhanh. • Thông tin đuợc khai thác chi phục vụ cho mục đích hẹp nên khà năng đáp ứng nhanh chóng, kịp thời. Hạn chế: Do thông tin đuợc tồ chiic ờ mỗi phòng ban mỗi khác (thông tin và công cụ triển khai) nên rò ràng sụ phối hợp về mặt tổ chức và khai thác ờ các phòng ban rất khó khăn. Thông tin ở phòng ban này không đuợc sử dụng cho phòng ban khác, tại công ty con với tổng công ty.
Hơn nữa cùng một thông tin đuợc cập nhật vào máy tại nhiều nơi khác nhau. Do đó có những hạn chế sau: • Dữ liệu dư thừa và không nhất quán V Nhùng thông tin giống nhau có thể bị trùng lắp ờ một số nơi. V Tất cã những bàn sao dừ liệu có thể không được cập nhật đúng. • Khó khăn trong việc truy xuất dữ liệu V Có thể phâi viết một trình ứng dụng mới thỏa yêu cầu mới đặt ra.
V Có thể tạo ra dừ liệu này một cách thủ công nhưng mất thời gian. • Khó khăn khi viết chương trình ứng dụng đòi hỏi thông tin liên quan đến nhiều đơn vị V Dừ liệu ờ nliừng tập tin khác nhau. V Dừ liệu ở các dạng thức khác nhau. Ngoài ra còn một số vấn đề chưa được giải quyết như: • Nhiều người sử dụng V Muốn thời gian trả lời nhanh hơn cho các tác vụ đồng thời.
V Cần sự bào vệ đối với nliừng cập nhật đồng thời. • Các vấn đề bảo mật V Mỗi người sừ dụng hệ thống chi có thể truy xuất những dừ liệu mà họ được phép thấy. Trang 9/109 J Chẳng hạn như những người tính lương và phụ cấp chi giãi qưyết các mẫu tin nhân viên, và không thể thấy được thông tin về lý lịch nhân viên; nhừng thủ quỳ chi truy xuất nhùng chì liệu về các khoản chi. J Khó khăn để ràng buộc điều này trong nliừng chương trình ứng dụng.
• Các vấn đề toàn vẹn. J Dừ liệu có thể được yêu cầu thỏa màn nhùng ràng buộc. J Chẳng hạn như nhân viên đang hường chế độ nào đó ờ phòng tồ chức thì sè không được hưởng chế độ trợ cấp cao nhất của phòng công đoàn. J Với cách tiếp cận xừ lý-tập tin, khó khăn để thực hiện hoặc thay đổi nhùng ràng buộc nlnr vậy.
• Khó khăn khi nâng cấp hệ thống. V Do hệ thống được tồ chức thành các tập tin riêng lè nên thiếu sự chia xẻ thông tin giừa các phòng ban. Bên cạnh đó việc kết nối các hệ thống này với nhau hay nâng cấp ứng dụng sè gặp rất nhiều khó khăn. Nhùng nhược điểm này đà dần tới việc phát triển các hệ thống quân trị cơ sờ dừ liệu.
Định nghĩa cơ sở dữ liệu Cơ sờ dừ liệu (database) là một hệ thống các thông tin có cấu trúc được lưu trà trên các thiết bị lưu trà thứ cấp (băng từ, đìa từ.) nhằm thoâ màn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng với nhiều mục đích khác nhan. Ưu điểm của CSDL: • Giảm sự trừng lắp thông tin xuống mức thấp nhất và do đó bào đâm được tính nhất quán và toàn vẹn dừ liệu • Dir liệu có thể được truy xuất theo nhiều cách khác nhau • Khà năng chia xẻ thông tin cho nhiều người sữ dụng và nhiều ứng dụng khác nhau Đe đạt được nhừng ưu điềm trên CSDL đặt ra nhùng vấn đề cần giãi quyết, đó là: • Tính chủ quyền của dữ liệu. Do sự chia xẻ của CSDL nên tính chù quyền của dừ liệu có thể bị lư mời và làm mờ nhạt tinh thần trách nhiệm, được thể hiện trên vấn đề an toàn dừ liệu, khà năng biểu diễn các mối liên hệ ngừ nghía cùa dừ liệu và tính chính xác của dir liệu. Nghía là người khai thác CSDL phâi có nghía vụ cập nhật các thông tin mới nhất của CSDL.
Trang 10/109 • Tính bảo mật và quyền khai thác thông tin của người sử dụng (NSD). Do có nhiều người cùng khai thác CSDL một cách đồng nên cần phải có một cơ chế bâo mật và phân quyền khai thác CSDL. • Tranh chấp dữ liệu. Nhiều người được phép truy cập vào cùng một tài nguyên dừ liệu (data source) của CSDL với nhùng mục đích khác nhau như xem, thêm, xóa, sữa dừ liệu.
Như vậy cần phải có cơ chế ưu tiên truy nhập dừ liệu cũng như cơ chế giải quyết tình trạnh klioá chết (DeadLock) trong quá trình khai thác cạnh tranh. Cơ chế ưu tiên có thể được thực hiện dựa trên: J Cấp quyền ưu tiên cho người khai thác CSDL, người nào có quyền ưu tiên cao hơn thì được ưu tiên cấp quyền truy nhập dừ liệu trước. J Thời điềm truy nhập, ai có yêu cầu tiưy xuất trước thì có quyền truy nhập dừ liệu trước. J Hoặc dựa trên cơ chế lập lịch truy xuất hay cơ chế khoá.
• Đảm bảo dữ liệu khi có sự cố. Việc quản lý tập hưng có thể làm tăng khà năng mất mát hoặc sai lệch thông tiu khi có sự cố như mất điện đột xuất, một phần hay toàn bộ đìa lưu trà dừ liệu bị hư. Một số hệ điềư hành mạng có cung cấp dịch vụ sao lưu đìa cứng (cơ chế sữ dụng đìa círng dự phòng - RAID), tự động kiểm tra và khắc phục lỗi khi có sự cố. Tuy nhiên bên cạnh dịch vụ cùa hệ điều hành, một CSDL Iiliất thiết phâi có một cơ chế khôi phục dừ liệu kill các sự cố bất ngờ xày ra để đâm bâo CSDL luôn ổn định.
Các đối tượng sử dụng CSDL • Nhùng người sữ dụng không chuyên về lĩnh vực tin học và CSDL, do đó CSDL cần có các công cụ để giúp cho người sừ dụng không chuyên có thể khai thác hiệu quà CSDL • Các chuyên viên tin học biết khai thác CSD, đây là nhùng người có thể xây dựng các ứng dụng khác nhau phục vụ cho nhùng yêu cầu khác nhau trên CSDL. • Nliừng người quân trị CSDL, là nhùng người hiểu biết về tin học, các hệ quản trị CSDL và hệ thống máy tính. Họ là người tổ clúrc CSDL (khai báo cấu tróc CSDL, ghi nhận các yêu cầu bảo mật cho các dừ liệu cần bào vệ.), do đó họ cần phải nắm rò các vấn đề về kỳ thuật để có thể phục hồi dir liệu klú có sự cố. Họ là nhùng người cấp quyền hạn khai thác CSDL nên họ có thể giải quyết các vấn đề tranh chấp dừ liệu.
Hệ quản trị CSDL Đẻ giải quyết tốt nhùng vấn đề đặt ra cho một CSDL nliư đà trình bày trong 1.2 thì cần có một hệ thống các phần mềm chuyên dụng. Hệ thống này được gọi là hệ quàn trị CSDL (Database Management System - DBMS), là công cụ hỗ trợ tích cực cho các nhà phân tích, thiết kế và khai thác CSDL. Hiện nay có nhiều hệ quân trị CSDL trên thị trường như: Visual Foxpro, SQL server, DB2, Microsoft Access, Oracle. Một hệ quân trị CSDL phâi có: • Ngôn ngừ giao tiếp giừa NSD và CSDL: V Ngôn ngừ mô tả dừ liệu (Data Definition Language - DDL) để cho phép khai báo cấu trác cùa CSDL, khai báo các mối liên hệ của dừ liệu (Data Relationship) và các quy tắc (Rules, Constraint) quàn lý áp đặt trên dừ liệu.
V Ngôn ngìi thao tác dừ liệu (Data Manipulaton Language - DML) cho phép NSD có thể thêm, xoá, dir liệu trong CSDL. V Ngôn ngừ truy vấn dừ liệu (Structured Query Language - SQL) cho phép NSD truy vấn các thông tin cần thiết. V Ngôn ngừ quân lý dừ liệu (Data Control Language - DCL) cho phép những người quàn trị hệ thống thay đổi cấu trúc của các bàng dừ liệu, khai báo bảo mật thông tin và cấp quyền khai thác CSDL cho NSD. • Tự điển dừ liệu (Data dictionary) dùng để mô tà các ánh xạ liên kết, ghi nhận các thành phần cấu trác của CSDL, các chương trình ứng dụng, mật mà, quyền sữ dụng.
• Có biện pháp bào mật tốt. • Có cơ chế giãi quyết tranh chấp dừ liệu. • Có cơ chế sao lưu và phục hồi dừ liệu khi có sự cố xày ra. • Có giao diện tốt, dễ sử dụng.
• Bâo đâm tính độc lập giữa dừ liệu và chương trình: khi có sự thay đổi dừ liệu (như sữa đổi cấu trúc lưu trừ các bâng dừ liệu, thêm các chỉ mục,.) thì các chương trinh ứng dụng đang chạy trên CSDL vẫn không cần phài viết lại hay cùng không ảnh hưởng đến NSD khác. Các mức biểu diễn một CSDL Đe hệ thống có thể dùng được thì phải tim dừ liệu một cách hiệu quà.