Chương 1 chỉ đơn giản là cung cấp các khái niệm cơ bản về CSDL để các học viên có một cái nhìn ban đầu về một CSDL và một hệ quản trị CSDL. Trước hết chúng ta sẽ tìm hiểu lý do tại sao cần phải có một CSDL. Hệ thống các tập tin truyền thống (File System): Cho đến nay vẫn còn một số đơn vị kinh tế, hành chính sự nghiệp v.v… sử dụng mô hình hệ thống các tập tin cổ điển: Chúng được tổ chức riêng rẽ, phục vụ cho một mục đích của một đơn vị hay một đơn vị con trực thuộc cụ thể. Chẳng hạn, ta hãy xét ví dụ sau: 14 Ví dụ: Tại một công ty người ta trang bị máy vi tính cho tất cả các phòng, ban nghiệp vụ.
Bộ phận Văn phòng sử dụng máy vi tính để soạn thảo văn bản bằng Microsoft Word do thủ trưởng yêu cầu về tình hình hoạt động của đơn vị, trong đó có chỉ tiêu về tổng số công nhân viên chức chia theo trình độ chuyên môn được đào tạo. Phòng Kế toán sử dụng máy vi tính để tính lương và in danh sách lương của từng bộ phận trong đơn vị dựa trên danh sách cán bộ viên chức cùng hệ số lương và các hệ số phụ cấp của họ do phòng Tổ chức cung cấp. Thông tin mà phòng Kế toán quản lý và khai thác là: Họ và Tên, Hệ số lương, Hệ số phụ cấp, Phụ cấp khác của các công nhân viên chức (CNVC) xếp theo từng phòng ban và sử dụng công cụ văn phòng là Microsoft Excel. Phòng Tổ chức quản lý thông tin lý lịch của CNVC chi tiết hơn gồm: Họ, Tên (để riêng thành một cột “Tên” để tiện sắp xếp Alphabet), Giới tính, Ngày sinh, Ngày tuyển dụng, Hoàn cảnh gia đình, Quá trình đào tạo, Hệ số lương, Hệ số phụ cấp, Ngày xếp lương trên… nhưng thiếu thông tin về Phụ cấp khác của CNVC.
Phần mềm được sử dụng để quản lý là FoxPro for Windows. Trong khi đó, tại Tổng công ty của họ, các phòng ban nghiệp vụ cũng được trang bị máy vi tính. Phòng Tổ chức cán bộ tại Tổng công ty sử dụng phần mềm Microsoft Access để quản lý CNVC gồm các cán bộ chủ chốt từ trường phó phòng, quản đốc và phó quản đốc xí nghiệp trở lên của các công ty con trực thuộc. Thông tin quản lý tại đây cũng giống như thông tin quản lý tại phòng tổ chức của công ty con.
Nhận xét: + Ưu điểm: - Việc xây dựng hệ thống các tập tin riêng tại từng đơn vị quản lý ít tốn thời gian bởi khối lượng thông tin cần quản lý và khai thác là nhỏ, không đòi hỏi đầu tư vật chất và chất xám nhiều, do đó triển khai ứng dụng nhanh. - Thông tin được khai thác chỉ phục vụ cho mục đích hẹp nên khả năng đáp ứng nhanh chóng, kịp thời. + Nhược điểm: - Do thông tin được tổ chức ở mỗi phòng ban mỗi khác, cũng như phần mềm công cụ để triển khai mỗi nơi cũng rất khác nhau nên sự phối hợp tổ chức và khai thác ở các phòng ban là khó khăn. Thông tin ở phòng ban này không sử dụng được cho phòng ban khác, tại đơn vị con với đơn vị cấp trên.
Cùng một thông tin được nhập vào máy tại nhiều nơi khác nhau gây ra lãng phí công sức nhập tin và không gian lưu trữ trên các vật mang tin. Sự trùng lắp thông tin có thể dẫn đến tình trạng không nhất quán dữ liệu. Chẳng hạn, nhân viên Nguyễn Văn Quang được ghi đầy đủ ở phòng Tổ chức, nhưng tại phòng Kế toán chỉ ghi tắt là Nguyễn V Quang. - Thông tin được tổ chức ở nhiều nơi nên việc cập nhật cũng dễ làm mất tính nhất quán dữ liệu.
Một cán bộ chủ chốt của công ty có thay đổi về hoàn cảnh gia đình (mới cưới vợ / lấy 15 chồng, sinh thêm con…) có thể được cập nhật ngay tại đơn vị nhưng sau một thời gian mới được cập nhật tại Tổng công ty. - Do hệ thống được tổ chức thành các hệ thống tập tin riêng lẻ nên thiếu sự chia sẻ thông tin giữa các nơi. Việc kết nối các hệ thống này hay việc nâng cấp ứng dụng sẽ là rất khó khăn. Qua phân tích trên chúng ta nhận thấy việc tổ chức dữ liệu theo hệ thống các tập tin có nhiều nhược điểm.
Việc xây dựng một hệ thống tin đảm bảo được tính chất nhất quán dữ liệu, không trùng lặp thông tin mà vẫn đáp ứng được nhu cầu khai thác đồng thời của tất cả các phòng ban ở công ty và tổng công ty là thực sự cần thiết. Hệ quản trị cơ sở dữ liệu 1. Các khái niệm cơ bản Như chúng ta đã biết, kích thước và độ phức tạp của CSDL rất khác nhau. Ví dụ: - Danh bạ điện thoại của một quốc gia, một thành phố… chứa tới hàng triệu số và những thông tin cần thiết về khách hàng.
- Trong trường Đại học có tới hàng ngàn sinh viên. Nhà trường phải quản lý tất cả những thông tin liên quan đến sinh viên như: Tên, ngày sinh, quê quán, địa chỉ, kết quả học tập… Ta thấy, bộ nhớ là vấn đề cần phải được giải quyết. Tuy nhiên, vấn đề quan trọng hơn ở đây lại là cách thức tổ chức dữ liệu trong một CSDL để phục vụ cho việc truy cập, tìm kiếm, cập nhật… nhanh chóng và an toàn hơn. Để giải quyết tốt tất cả các vấn đề đặt ra cho một CSDL như đã nêu trên, cần phải có một hệ thống các phần mềm chuyên dụng được gọi là hệ quản trị CSDL (Database Management System - DBMS).
Đó là các công cụ hỗ trợ tích cực cho các nhà phân tích và thiết kế CSDL và những người khai thác CSDL. Các khái niệm: Định nghĩa một CSDL: Tạo cấu trúc dữ liệu tương ứng với mô hình dữ liệu được chọn, bao gồm việc đặc tả các kiểu dữ liệu, các cấu trúc và các ràng buộc cho các dữ liệu sẽ được lưu trữ trong CSDL. Xây dựng một CSDL: Là quá trình lưu trữ các dữ liệu trên các phương tiện lưu trữ được hệ quản trị CSDL kiểm soát. Thao tác một CSDL: Bao gồm các chức năng như truy vấn CSDL để lấy ra các dữ liệu cụ thể, cập nhật CSDL để phản ánh các thay đổi trong thế giới nhỏ và tạo ra các báo cáo từ các dữ liệu.
Một hệ quản trị CSDL là một tập hợp các chương trình giúp cho người sử dụng quản lý cấu trúc và dữ liệu của CSDL, điều khiển truy xuất dữ liệu trong CSDL, duy trì và khai thác một CSDL. 16 Cho đến nay có khá nhiều hệ quản trị CSDL mạnh được đưa ra thị trường như: Visual FoxPro, Microsoft Access, SQL Server, DB2, Sybase, Paradox, Informix, Oracle… với các chất lượng khác nhau. Các khả năng của một hệ quản trị cơ sở dữ liệu Một hệ quản trị CSDL thực hiện các chức năng sau: Cung cấp môi trường tạo lập CSDL Một hệ quản trị CSDL phải cung cấp một môi trường cho người dùng dễ dàng khai báo kiểu dữ liệu, các cấu trúc dữ liệu thể hiện thông tin và các ràng buộc trên dữ liệu. Với các hệ quản trị CSDL hiện nay, người dùng có thể tạo lập CSDL thông qua các giao diện đồ hoạ.
Để thực hiện được chức năng này, mỗi hệ quản trị CSDL cung cấp cho người dùng một ngôn ngữ định nghĩa dữ liệu. Ta có thể hiểu ngôn ngữ định nghĩa dữ liệu thực chất là hệ thống các kí hiệu để mô tả CSDL. Cung cấp môi trường cập nhật và khai thác dữ 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 là ngôn ngữ thao tác dữ liệu. Thao tác dữ liệu gồm: - Cập nhật: Nhập thêm, sửa, xoá dữ liệu.
- Khai thác: Tìm kiếm, kết xuất dữ liệu. Trong thực tế, ngôn ngữ định nghĩa dữ liệu và ngôn ngữ thao tác dữ liệu là 2 thành phần của một ngôn ngữ CSDL duy nhất. Ngôn ngữ CSDL được sử dụng phổ biến hiện nay là SQL (Structured Query Language). 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 các yêu cầu đặt ra cho một hệ CSDL, hệ quản trị CSDL phải có các bộ chương trình thực hiện những nhiệm vụ sau: - Phát hiện và ngăn chặn sự truy cập không được phép: Chức năng này góp phần đáp ứng yêu cầu an toàn và bảo mật thông tin.
- Duy trì tính nhất quán của dữ liệu. - Tổ chức và điều khiển các truy cập đồng thời để bảo vệ các ràng buộc toàn vẹn và tính nhất quán. - Khôi phục CSDL khi có sự cố ở phần cứng hay phần mềm. - Quản lí các mô tả dữ liệu.
Nói chung, mọi hệ quản trị CSDL đều có thể cung cấp các chương trình nêu trên, nhưng các hệ quản trị CSDL khác nhau có chất lượng và khả năng khác nhau khi đáp ứng các nhu cầu thực tế. Chẳng hạn, một hệ quản trị CSDL dùng trên một máy tính cá nhân chỉ cung cấp những phương tiện bảo vệ dữ liệu, duy trì tính nhất quán dữ liệu, khôi phục dữ liệu một cách hạn chế. Trong khi đó, những hệ quản trị CSDL lớn, phục vụ cùng lúc cho nhiều 17 người dùng, ngoài các phương tiện kể trên có thể có thêm những chức năng khác như xử lí các truy cập đồng thời… Các hệ quản trị CSDL luôn phát triển theo hướng đáp ứng các đòi hỏi ngày càng cao hơn của người dùng, bởi vậy các chức năng của hệ quản trị CSDL ngày càng được mở rộng hơn. Kiến trúc của một hệ quản trị cơ sở dữ liệu Chúng ta sẽ phác thảo kiến trúc và thấy cách thức của một hệ quản trị CSDL điển hình.
Ta có sơ đồ kiến trúc hình 1.1: Các thay đổi sơ đồ Các truy vấn Các thay đổi dữ liệu Bộ xử lý câu hỏi Bộ quản lý giao dịch Bộ quản lý lưu trữ Dữ liệu Siêu dữ liệu Hình 1. Các thành phần chính của hệ quản trị CSDL - Dữ liệu, siêu dữ liệu: Ðáy kiết trúc là thiết bị nhớ ngoài lưu trữ dữ liệu và siêu dữ liệu. Trong phần này không chỉ chứa dữ liệu được trữ trong CSDL mà chứa cả các siêu dữ liệu, tức là thông tin cấu trúc của CSDL. Ví dụ: Trong hệ quản trị cơ sở dữ liệu quan hệ, các siêu dữ liệu bao gồm các tên của các quan hệ, tên các thuộc tính của các quan hệ, và các kiểu dữ liệu đối với các thuộc tính này.