CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CSDL QUẢN LÝ DOANH NGHIỆP 1. Tổng quan về bài toán quản lý doanh nghiệp 1. Khái niệm CSDL quản lý Khái niệm dữ liệu: Dữ liệu là một phần tử hoặc một tập hợp các phần tử mà ta gọi là tín hiệu. Nó được biểu hiện dưới dạng như hình ảnh, âm thanh, màu sắc, [6,7].
Khái niệm cơ sở dữ liệu: Một cơ sở dữ liệu (CSDL) là một tập hợp các dũ liệu có liên quan với nhau chứa thông tin về tổ chức nào đó (như một trường đại học, ngân hàng,.) được lưu trữ trên các thiết bị nhớ thứ cấp ( như băng từ, đĩa từ,.) để đáp ứng nhu cầu khai thác thông tin của nhiều người sử dụng với nhiều mục đích khác nhau[6,7]. Thông tin Lưu trữ có cấu trúc, chọn lọc Dữ liệu Có quan hệ logic Cơ sở dữ liệu Hình 1.1: Quan hệ giữa thông tin, dữ liệu và CSDL Hệ quản trị cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu (Database Management System) là một hệ thống phần mềm cho phép người dùng giao tiếp với cơ sở dữ liệu, cung cấp một môi trường thuận lợi và hiệu quả để tìm kiếm và lưu trữ thông tin của cơ sở dữ liệu. Trên thị trường phần mềm hiện nay đã xuất hiện khá nhiều phần mềm hệ quản trị cơ sở dữ liệu như: Access, FoxPro, MySQL, SQL Server, Oracle[6,7,8]. Các khả năng của hệ quản trị cơ sở dữ liệu: Có hai khả năng chính cho phép phân biệt các hệ quản trị cơ sở dữ liệu với các kiểu hệ thống lập trình khác[6,7,8]: 5 1.
Khả năng quản lý dữ liệu tồn tại lâu dài: đặc điểm này chỉ ra rằng có một cơ sở dữ liệu tồn tại trong một thời gian dài, nội dung của cơ sở dữ liệu này là các dữ liệu mà hệ quản trị CSDL truy nhập và quản lý. Khả năng truy nhập các khối lượng dữ liệu lớn một cách hiệu quả. Ngoài hai khả năng cơ bản trên, hệ quản trị CSDL còn có các khả năng khác mà có thể thấy trong hầu hết các hệ quản trị CSDL đó là: 3. Hỗ trợ ít nhất một mô hình dữ liệu hay một sự trừu tượng toán học mà qua đó người sử dụng có thể quan sát dữ liệu.
Đảm bảo tính độc lập dữ liệu hay sự bất biến của chương trình ứng dụng đối với các thay đổi về cấu trúc trong mô hình dữ liệu 5. Hỗ trợ các ngôn ngữ cao cấp nhất định cho phép người sử dụng định nghĩa cấu trúc dữ liệu, truy nhập dữ liệu và thao tác dữ liệu. Quản lý giao dịch, có nghĩa là khả năng cung cấp các truy nhập đồng thời, đúng đắn đối với CSDL từ nhiều người sử dụng tại cùng một thời điểm. Điều khiển truy nhập, có nghĩa là khả năng hạn chế truy nhập đến các dữ liệu, không làm mất mát dữ liệu với các lỗi hệ thống Đặc điểm của một hệ quản trị CSDL: 1.
Sự trừu tượng hóa dữ liệu: Để cho hệ thống có thể sử dụng được, hệ quản trị CSDL phải tra cứu hay tìm kiếm dữ liệu một cách có hiệu quả. Điều này dẫn đến việc thiết kế các cấu trúc dữ liệu phức tạp để biểu diễn dữ liệu trong CSDL này. Người phát triển che dấu tính phức tạp này thông qua một số mức trừu tượng để đơn giản hóa các tương tác của người sử dụng đối với hệ thống. Ngôn ngữ cơ sở dữ liệu: Một hệ quản trị cơ sở dữ liệu thường cung cấp hai kiểu ngôn ngữ khác nhau đó là: ngôn ngữ mô tả sơ đồ cơ sở dữ liệu và ngôn ngữ biểu diễn các truy vấn và các cập nhật cơ sở dữ liệu 3.
Xử lý câu hỏi: Công việc của bộ xử lý câu hỏi là biến đổi một truy vấn hay một thao tác CSDL có thể được biểu diễn ở các mức cao thành một dãy các yêu cầu đối với các dữ liệu lưu trữ trong CSDL. Thường phần khó nhất của nhiệm vụ xử lý câu hỏi là tối ưu hóa câu hỏi, có nghĩa là lựa chọn một kế hoạch tốt nhất đối với hệ thống lưu trữ để trả lời truy vấn này nhanh nhất. Quản trị giao dịch: Thông thường một số thao tác trên CSDL hình thành một đơn vị logic công việc. Điều này có nghĩa là hoặc tất cả các thao tác đước thục hiện hoặc không thao tác nào được thục hiện.
Hơn nữa sự thực hiện các thao tác này phải đảm bảo tính nhất quán của CSDL. Một giao dịch là một tập hợp các thao tác mà xử lý như một đơn vị không chia cắt được. Các hệ quản trị CSDL điển hình cho phép người sử dụng một hay nhiều nhóm thao tác tra cứu hay thay đổi CSDL thành một giao dịch. Quản lý lưu trữ: Các CSDL thường đòi hỏi một khối lượng lớn không gian lưu trữ.
Do bộ nhớ chính của máy tính không thể lưu trữ nhiều thông tin như vậy, các thông tin này được lưu trữ ở các thiết bị nhớ ngoài như đĩa cứng, đĩa mềm, v. Khi xử lý, dữ liệu cần phải được di chuyển từ đĩa từ vào bộ nhớ chính; sự di chuyển này là khá chậm so với tốc độ xử lý của bộ nhớ trung tâm, do vậy các hệ CSDL phải tổ dữ liệu vật lý sao cho tốt, tối thiểu hóa số yêu cầu chuyển dữ liệu giữa đĩa từ vào bộ nhớ chính. Kiến trúc của hệ quản trị CSDL: 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 .2 Các thành phần chính của hệ quản trị CSDL 7 - Dữ liệu, siêu dữ liệu: Đáy kiến 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 dượ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ệ, và các kiểu dữ liệu đổi với các thuộc tính này. - Bộ quản lý lưu trữ: Nhiệm vụ của bộ quản lý lưu trữ là lấy ra các thông tin được yêu cầu từ những thiết bị lưu trữ dữ liệu và thay đổi những thông tin này khi được yêu cầu bởi các mức trên nó của hệ thống. - Bộ xử lý câu hỏi: Bộ xử lý câu hỏi điều khiển không chỉ các câu hỏi mà cả các yêu cầu thay đổi dữ liệu hay siêu dữ liệu. Nhiệm vụ của nó là tìm ra cách tốt nhất một thao tác được yêu cầu và phát ra lệnh đối với bộ quản lý lưu trữ và thực thi thao tác đó.
- Bộ quản trị giao dịch: Bộ quản trị giao dịch có trách nhiệm đảm bảo tính toàn vẹn của hệ thống. Nó phải đảm bảo rằng một số thao tác thực hiện đồng thời không cản trở mỗi thao tác khác và hệ thống không mất dữ liệu thậm chí khi lỗi hệ thống xảy ra. + Nó tương tác với bộ xử lý câu hỏi, do vậy nó phải biết dữ liệu nào được thao tác bởi các thao tác hiện thời để tránh sử dụng độ giữa các thao tác và cần thiết nó có thể làm trễ một số truy vấn nhất định hay một số thao tác cập nhật để dùng độ không thể xảy ra. + Nó tương tác với bộ quản lý lưu trữ bởi vì các sơ đồ đối với việc bảo vệ dữ liệu thường kéo theo việc lưu trữ một nhật ký các thay đổi đối với dữ liệu.
Hơn nữa, việc sắp thứ tự các thao tác một cách thực sự được nhật ký này sẽ chứa trong một bản ghi đối với mỗi thay đổi khi gặp lỗi hệ thống, các thay đổi chưa được ghi vào đĩa có thể được thực hiện lại. - Các kiểu thao tác đối với hệ quản trị CSDL: Tại đỉnh kiến trúc, ta thấy có 3 kiểu thao tác: + Các truy vấn: Đây là các thao tác hỏi đáp về dữ liệu được lưu trữ trong CSDL. Chúng được sinh ra theo hai các sau: 8 1. Thông qua giao diện truy vấn chung.
Ví dụ: Hệ quản trị CSDL quan hệ cho phép người sử dụng nhập các câu lệnh truy vấn SQL mà nó được chuyển qua bộ xử lý câu hỏi và được trả lời. Thông qua các giao diện chương trình ứng dụng: Một hệ quản trị CSDL điển hình cho phép người lập trình viết các chương trình ứng dụng gọi dến hệ quản trị CSDL này và truy vấn CSDL. + Các cập nhật dữ liệu: Đây là các thao tác thay đổi dữ liệu như xóa, dữ liệu trong CSDL. Giống như các truy vấn, chúng có thể được phát ra thông qua giao diện chung hoặc thông qua giao diện của chương trình.
+ Các thay đổi sơ đồ: Các lệnh này thường được phát bởi một người sử dụng được cấp phép, thường là những người quản trị CSDL mới được phép thay đổi sơ đồ của CSDL hay tạo lập một CSDL mới. Khái niệm CSDL quản lý doanh nghiệp CSDL quản lý doanh nghiệp là cách mà doanh nghiệp hoạch định, tổ chức, triển khai, kiểm tra, giảm sát và điều chỉnh tất cả mọi hoạt động của công ty bằng tất cả mọi biện pháp có thể áp dụng. Để thực hiện quản lý doanh nghiệp hiểu quả trong hoạt động doanh nghiệp cần áp dụng và tuân thủ theo quy trình như sau: - Xác định tầm nhìn - Xây dựng mục tiêu chiến lược - Thiết lập sơ đồ tổ chức - Xây dựng quy trình - Tích hợp phần mềm 1. Lý thuyết về CSDL 1.1 Các mô hình dữ liệu giao dịch hiện đại Mô hình dữ liệu phân cấp (Hierarchical model): Đây là dạng mô hình cơ sở dữ liệu được ra đời đầu tiên vào những năm 60.
Cấu trúc của nó gồm nhiều nút, mỗi nút biểu diễn cho một thức tế nhất định. Giữa hai nút được liên kết với nhau theo những mối quan hệ[7,8]. 9 Ưu điểm của loại mô hình này là khá dễ để xây dựng và thao tác, phù hợp với các tổ chức nhân sự trong các doanh nghiệp. Tuy nhien, nó lại thường xảy ra tình trạng lặp lại các bản nghi dư thừa, không nhất quán.
Hiearchical Model Pavenment Improvement Reconstruction Mantenance Rehabilitation Routine Corrective Preventive Mô hình dữ liệu mạng ( Network model): Được cho ra đời không lâu sau mô hình phân cấp. Mô hình dữ liệu mạng hay còn gọi là mô hình mạng có cấu trúc dữ liệu tổ chức thành một đồ thị hướng. Tại đây, các đỉnh là các thực thể, các cung là quan hệ giữa hai đỉnh, một kiểu bản ghi có thể liên kết với nhiều kiểu bản ghi khác. Một thực thể con có thể có nhiều thực thể cha và có nhiều đường dẫn truy nhập đến một dữ liệu theo cấu trúc của mô hình dữ liệu mạng đã được định sẵn từ trước.