CHƯƠNG 1. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 1. Khái niệm Hệ quản trị cơ sở dữ liệu là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu, hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một cơ sở dữ liệu. Có rất nhiều loại hệ quản trị CSDL khác nhau: từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu máy tính.
Tuy nhiên, đa số hệ quản trị CSDL trên thị trường đều có một đặc điểm chung là sử dụng ngôn ngữ truy vấn theo cấu trúc mà tiếng Anh gọi là Structured Query Language (SQL). Các hệ quản trị CSDL phổ biến được nhiều người biết đến là MySQL, Oracle, PostgreSQL, SQL Server, DB2, Infomix, v. Phần lớn các hệ quản trị CSDL kể trên hoạt động tốt trên nhiều hệ điều hành khác nhau như Linux, Unix và MacOS ngoại trừ SQL Server của Microsoft chỉ chạy trên hệ điều hành Windows. Mục tiêu hệ quản trị cơ sở dữ liệu Một hệ quản trị cơ sở dữ liệu luôn hướng đến các mục tiêu: • Dữ liệu sẵn dùng: Dữ liệu được tổ chức sao cho mọi người dùng có thể truy cập dễ dàng theo chức năng và nhiệm vụ của họ.
• Tính toàn vẹn dữ liệu: Dữ liệu lưu trữ trong CSDL là đúng đắn, đáng tin cậy. • An toàn dữ liệu: Chỉ có người dùng được phép mới có thể truy cập dữ liệu. Nếu nhiều người dùng truy cập chung một mục dữ liệu cùng lúc thì hệ quản trị CSDL không cho phép họ thực hiện những thay đổi gây mâu thuẫn dữ liệu. • Độc lập dữ liệu: Hệ quản trị CSDL phải cho phép tất cả mọi người dùng được phép lưu trữ, cập nhật và rút trích dữ liệu hiệu quả mà không cần nắm chi tiết về cấu trúc của CSDL được biểu diễn và cài đặt.
Quá trình phát triển Người thấy rằng các mốc tiến hóa của các hệ thông cơ sở dữ liệu có vai trò quan trọng: • Các tệp tin dữ liệu: 1960s - 1980s. • Mô hình cấu trúc: 1970s - 1990s. • Mô hình mạng: 1970s - 1990s. • Mô hình quan hệ: 1980s - đến nay.
• Mô hình hướng đối tượng: 1990s - đến nay. TIEU LUAN MOI download : skknchat@gmail.com 12 Một số CSDL quan hệ được các hãng phát triển phần mềm nổi tiếng xây dựng tích hợp với các hãng phát triển phần cứng được các doanh nghiệp, tổ chức, người dùng đón nhận SYSBASE, ACCESS, FOXPRO, MY SQL, SQL Server., tạo điều kiện vô cùng thuận lợi cho nguời phát triển. Dường như máy tính và những chương trình cũng đã giải quyết được hầu hết các vấn đề trong lĩnh vực quản lý. Tuy nhiên thực tế, các tổ chức, doanh nghiệp muốn thành công trên thị trường, ngoài việc tổ chức bán hàng tốt (giao dịch đơn giản, thuận tiện cho người mua và người quản lý bán hàng.), người lãnh đạo công ty phải nắm được thực chất các quá trình diễn ra trong đơn vị mình và trong môi trường nghiệp vụ mà đơn vị đó hoạt động.
Để thực hiện các công việc của một công ty, người ta có nhiều hệ chương trình tự động hoá các lĩnh vực quan trọng như kế toán, lập kế hoạch, giao dịch khách hàng, lập hoá đơn. Chính vì lý do đó những hệ thống này có một cái tên cổ điển là hệ thống xử lý giao dịch (Online Transaction Process - OLTP). Hệ thống OLTP cho phép các giao dịch thay đổi dữ liệu trong bảng bằng ngôn ngữ các câu lệnh truy vấn SQL trong quá trình xử lý. Hệ thống cho phép nhiều ứng dụng truy cập dữ liệu cùng một thời điểm.
Các ứng dụng được sử dụng trên máy trạm phục vụ cho các hoạt động giao dịch như ngân hàng, bán vé trực tuyến, bán vé hàng không, thanh toán cước phí. đều sử dụng hệ thống OLTP có các ưu điểm: • Xử lý các chuyển tác tương tác. • Dễ bảo trì và khống chế dữ liệu thừa. • Thiết lập dữ liệu quan hệ trọn vẹn.
• Tính hiệu quả cao. • Giảm thời gian của khách hàng. Các CSDL được cấu hình trong các hệ OLTP thường được thiết kế thoả mãn chuẩn Third Normal Form (3NF) hoặc tốt hơn. Đặc điểm của hệ thống OLTP là lưu trữ các dữ liệu "thô", nhưng mức độ tổng quát, trừu tượng của dữ liệu không cao.
Nói cách khác OLPT chỉ có ích để tìm trả lời những câu truy vấn dạng: Tổng doanh thu toàn hàng đạt được trong 6 tháng đầu năm, chứ chưa có báo cáo xoay theo nhiều chiều, khối thông tin sản phẩm nào đem lại nhiều doanh thu nhất tại chi nhánh, phòng giao dịch trong tháng vừa qua. Trong khi đó các nhà quản lý ở mức cao của công ty rất ít khi quan tâm đến những câu hỏi loại đó. Điều họ cần chú ý là những câu hỏi trừu tượng hơn như: Tiêu thụ sản phẩm X tại khu vực A đang giảm, nếu thay đổi 3%-5% giá của sản phẩm X tại khu vực A, tình trạng tiêu thụ sẽ thay đổi ra sao trong 6 tháng cuối năm và tại sao? TIEU LUAN MOI download : skknchat@gmail.com 13 Các hệ thống OLTP hiện nay trả lời rất tốt câu hỏi 1 bằng các công cụ của hệ CSDL quan hệ nhưng để tìm đáp án cho những câu hỏi dạng 2 là không đơn giản. Những yếu tố căn bản cản trở việc sử dụng dữ liệu của các hệ thống OLTP trong việc phân tích dữ liệu là: • Các số liệu ở mức quá chi tiết.
• Các số liệu được phân bố ở những hệ thống khác nhau, có các thủ tục truy cập khác nhau và ở những CSDL hoàn toàn khác nhau. • Các số liệu không được cập nhập cùng một chu kỳ dẫn đến sự mất đồng bộ. • Việc tổ chức truy cập từ rất nhiều bảng dữ liệu khác nhau có ảnh hưởng rất xấu tới hiệu suất của các hệ thống vì mục đích của các hệ thống này là nhằm phục vụ các giao dịch trực tuyến. Trong môi trường dư thừa số liệu, nhà phân tích, quản trị không thể tìm ra cho mình thông tin cần thiết nhằm có được sự hiểu biết thấu đáo về những quá trình xảy ra xung quanh.
Tình trạng số liệu quá chi tiết và không có được sự liên kết với nhau của các số liệu phản ánh các quá trình tương đối độc lập của một thực thể là lý do trực tiếp dẫn đến sự dư thừa thông tin này. Vì vậy, người ta đã đưa ra giải pháp tích hợp các hệ thống OLTP để tạo ra một hệ thống chứa đầy đủ thông tin. Tuy nhiên giải pháp này có hai nhược điểm: 1. Phải liên kết các hệ thống có xuất xứ khác nhau về phần cứng và phần mềm hệ thống.
Các chương trình cần có sự thống nhất về định nghĩa dữ liệu cũng như phương pháp biểu diễn dữ liệu. Vấn đề này rất phức tạp thậm chí đối với các hệ thống có thiết kế phân tích tốt và hoàn toàn không khả thi đối với những hệ thống được mô tả kém. Việc truy vấn để tạo báo cáo thường xuyên liên quan tới rất nhiều bảng, hạn chế sự truy cập và khai thác trong quá trình làm việc hàng ngày, làm ảnh hưởng trực tiếp đến khách hàng. Một cách tiếp cận khác được đề xướng vào những năm 90 của thế kỷ trước là một sự kết hợp của một số giải pháp kỹ thuật và được đặt tên là Data Warehoushing - kỹ thuật xây dựng các kho dữ liệu.
Cấu trúc và thành phần của hệ quản trị cơ sở dữ liệu TIEU LUAN MOI download : skknchat@gmail.com 14 Hình 1-1: Kiến trúc của DBMS Kiến trúc của hệ quản trị cơ sở dữ liệu gồm 2 thành phần chức năng: • Bộ quản lý lưu trữ • Bộ xử lý truy vấn 1. Bộ quản lý lưu trữ Bộ quản lý lưu trữ có nhiệm vụ lưu trữ, trích xuất và cập nhật dữ liệu và cơ sở dữ liệu Bộ quản lý lưu trữ gồm có các đơn vị sau: - Kiểm tra chứng thực và toàn vẹn: Kiểm tra toàn vẹn và quyền truy cập dữ liệu của người dùng cơ sở dữ liệu - Quản lý giao dịch: Thành phần đảm bảo cơ sở dữ liệu luôn ở trạng thái nhất quán. Quản lý việc thực thi các yêu cầu thao tác dữ liệu và đảm bảo việc truy cập dữ liệu đồng thời không dẫn đến mâu thuẫn. - Quản lý tệp tin: Quản lý việc cấp phát không gian trên đĩa, các tệp tin được dùng để chứa các dữ liệu tương tự nhau.
Hệ quản lý tập tin quản lý các tệp tin độc lập, giúp đỡ nhập và lấy các mẩu tin. Thành phần quản lý tệp tin thiết lập TIEU LUAN MOI download : skknchat@gmail.com 15 và duy trì danh sách các cấu trúc và chỉ mục được định nghĩa trong lược đồ. Thành phần quản lý tệp tin có thể: o Tạo tệp tin o Xóa tệp tin o Cập nhật mẩu tin trong tệp tin o Lấy một mẩu tin từ một tệp tin - Quản lý vùng đệm: Có trách nhiệm chuyển dữ liệu từ đĩa lưu trữ vào bộ nhớ chính theo yêu cầu của chương trình. Bộ quản lý truy vấn: Thực hiện câu truy vấn nhận được từ người dùng qua các giai đoạn phân tích, tối ưu hóa câu hỏi, lập kế hoạch thực hiện và thực hiện tính toán.
Hệ quản trị cơ sở dữ liệu Oracle Cơ sở dữ liệu oracle là một cơ sở dữ liệu mạnh mẽ nhất thế giới. Được thiết kế để triển khai cho mọi môi trường doanh nghiệp. Việc cài đặt, quản lý rất dễ dàng, các công cụ để phát triển các ứng dụng một cách hoàn thiện và nhanh chóng. Cơ sở dữ liệu Oracle phù hợp cho mọi loại dữ liệu, các ứng dụng và các môi trường khác nhau bao gồm cả windows và linux với chi phí tối thiểu.
Hệ quản trị cơ sở dữ liệu oracle 9i/10g/11g. Đây có thể nói là một hệ quản trị CSDL hàng đầu trên thế giới. Hơn hai phần ba trong số 500 tập đoàn công ty lớn nhất thế giới sử dụng Oracle. Ở việt nam hầu hết các đơn vị lớn thuộc các ngành ngân hàng, kho bạc, thuế, bảo hiểm, bưu điện, hàng không, dầu khí,… đều sử dụng hệ quản trị csdl oracle.
Có được như thế là vì oracle hiện đang dẫn đầu về các tính năng như: • Độ ổn định và tin cậy cao • Khả năng xử lý dữ liệu rất lớn, có thể lên đến hàng trăm Terabyte (TB) mà vẫn đảm bảo tốc độ xử lý dữ liệu rất cao. • Khả năng bảo mật rất cao, Oracle đạt độ bảo mật cấp c2 theo tiêu chuẩn bảo mật của bộ quốc phòng Mỹ và công nghệ CSDL Oracle vốn được hình thành từ yêu cầu đặt hàng của các cơ quan an ninh.