CHƯƠNG I: CƠ SỞ LÝ THUYẾT VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU I. Lý thuyết về cơ sở dữ liệu 1. Khái niệm - Một cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau, được lưu trên máy tính, có nhiều người sử dụng và được tổ chức theo một mô hình. Hay nói cách khác, cơ sở dữ liệu là một bộ các dữ liệu tác nghiệp được lưu trữ lại và được các hệ ứng dụng của một đơn vị cụ thể nào đó sử dụng.
Mô hình cơ sở dữ liệu - Mô hình dữ liệu là một khuôn dạng của dữ liệu cho phép người dung nhìn thấy dữ liệu dưới cấu trúc thuật ngữ để diễn tả mà người ta gọi là lược đồ (scheme). Nó cho ta biết cấu trúc của cơ sở dữ liệu, bao gồm hai thành phần: + Hệ thống ký hiệu mô tả dữ liệu. + Tập hợp các phép toán thao tác trên dữ liệu đó. a), Mô hình phân cấp (Hierarchical model) - Mô hình phân cấp được đưa ra vào những năm 60, trong mô hình này dữ liệu được tổ chức thành cấu trúc cây.
Trong đó các nút (node) là tập các thực thể, các cành (edge) là các mối quan hệ giữa hai nút theo mối quan hệ nhất định, cứng nhắc. Hay nói cách khác: + Là mô hình dữ liệu trong đó các bản ghi được sắp xếp theo cấu trúc top – down (tree). + Một nút con chỉ có một nút cha => chỉ có một đường truy nhập tới dữ liệu đó trước. Tập dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu phân cấp gọi là cơ sở dữ liệu phân cấp.1: Ví dụ của mô hình phân cấp Downloaded by LIEU TAI (tailieuso.com) lOMoARcPSD|38557106 - Ưu điểm: + Dễ xây dựng và thao tác.
+ Tương thích với các lĩnh vực tổ chức phân cấp. + Ngôn ngữ thao tác đơn giản (duyệt cây). - Nhược điểm: + Sự lặp lại của các kiểu bản ghi gây ra dư thừa dữ liệu và không nhất quán. + Giải pháp là xây dựng các bản ghi ảo.
+ Hạn chế trong biểu diễn ngữ nghĩa của các móc nối giữa các bản ghi (chỉ cho phép quan hệ 1 – n). b), Mô hình mạng (Netwwork model) - Mô hình mạng chỉ được sử dụng phổ biến vào cuối những năm 60, và được định nghĩa lại vào năm 1971. Trong mô hình này dữ liệu được tổ chức thành một đồ thị có hướng, trong đó 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 con có thể có nhiều cha dẫn tới có thể có nhiều đường truy nhập đến một dữ liệu cho trước.
Tập dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu mạng gọi là cơ sở dữ liệu mạng.2: Ví dụ của mô hình mạng - Ưu điểm: + Đơn giản. + Có thể biểu diễn các ngữ nghĩa đa dạng với kiểu bản ghi và kiểu móc nối. + Truy vấn thông qua phép duyệt đồ thị (navigation) - Nhược điểm: + Số lượng các con trỏ lớn. Downloaded by LIEU TAI (tailieuso.com) lOMoARcPSD|38557106 + Hạn chế trong biểu ngữ nghĩa của các móc nói giữa các bản ghi.
c), Mô hình dữ liệu quan hệ (Relational model) - Mô hình này được E.F Codd đưa vào đầu những năm 70, mô hình này dựa trên lý thuyết tập hợp và đại số quan hệ. Vì tính chất chặt chẽ của toán học về lý thuyết tập hợp nên mô hình này đã mô tả dữ liệu một cách rõ rang, mềm dẻo và là mô hình thông dụng nhất hiện nay. Hầu hết các DBMS đều tổ chức dữ liệu theo mô hình dữ liệu quan hệ. Trong đó dữ liệu được tổ chức dưới dạng bảng, các phép toán thao tác trên dữ liệu dựa trên lý thuyết tập hợp của toán học.
Tập dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu quan hệ thì được gọi là cơ sở dữ liệu quan hệ.3: Mô tả dữ liệu được tổ chức theo kiểu quan hệ - Ưu điểm: + Dựa trên lý thuyết tập hợp. + Khả năng tối ưu hóa các xử lý phong phú. - Nhược điểm: + Hạn chế trong biểu ngữ nghĩa. + Cấu trúc dữ liệu không linh hoạt.
d), Mô hình dữ liệu hướng đối tượng (Object Oriented model) - Là mô hình dữ liệu trong đó các thuộc tính dữ liệu và các phương thức thao tác trên các thuộc tính đó đều được đóng gói trong các cấu trúc gọi là đối tượng (object). Tập dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu hướng đối tượng gọi là cơ sở dữ liệu hướng đối tượng. Downloaded by LIEU TAI (tailieuso.com) lOMoARcPSD|38557106 Hình 1.4: Ví dụ của mô hình dữ liệu hướng đối tượng - Ưu điểm: + Dễ dàng biểu diễn cái mà con người nhân từ thế giới thực. + Biểu diễn ngữ nghĩa phong phú của các thực thể và quan hệ giữa các thực thể.
- Nhược điểm: + Không dễ dàng ánh xạ vào những cấu trúc lưu trữ trên máy tính. Các đối tượng sử dụng cơ sở dữ liệu - Người dùng cuối: Đây là đối tượng cuối cùng sử dụng hệ thống cơ sở dữ liệu, đối tượng này khôn có kiến thức về quản trị hệ thống, nghĩa là không chuyên về lĩnh vực này nên họ cần một công cụ giúp quản trị, khai thác dữ liệu khi cần. Thông thường khi làm dự án thì khách hàng chính là đối tượng người dùng cuối. - Chuyên viên tin học: Chuyên xây dựng các công cụ, ứng dụng nhằm giúp người dung cuối sử dụng khai thác cơ sở dữ liệu, đối tượng này ta gọi là Application User.
Nếu bạn muốn sau này bạn sẽ là một coder chuyên xây dựng các ứng dụng website thì bạn chính là chuyên viên tin tin học. - Quản trị cơ sở dữ liệu: đối tượng này cần có kiến thức chuyên sâu về hệ quản trị cơ sở dữ liệu, biết ngôn ngữ cấu trúc truy vấn (T-SQL) ở mức rành hỏi. Công việc của đối tượng này là tổ chức hệ thống cơ sở dữ liệu, bảo mật, phân quyền hay cấp quyền cho các đối tượng khác, backup phục hồi dữ liệu và đảm bảo an toàn dữ liệu. Nếu bạn muốn trở thành đối tượng này thì bạn phải nghiên cứu sau các mô hình cơ sở dữ liệu, các hệ quản trị cơ sở dữ liệu và cần có kinh nghiệm thực tế rất cao.
Downloaded by LIEU TAI (tailieuso. Ưu nhược điểm của cơ sở dữ liệu - Ưu điểm: + Giảm sự trùng lặp thông tin xuống mức tối thiểu nhất. Do đó đảm bảo thông tin có tính nhất quán và toàn vẹn dữ liệu. + Đảm bảo dữ liệu có thể được truy xuất theo nhiều cách khác nhau.
+ Nhiều người có thể sử dụng chung một cơ sở dữ liệu. - Nhược điểm: + Tính chủ quyền của dữ liệu. + Tính bảo mật và quyền khai thác thông tin của người sử dụng. + Tranh chấp dữ liệu.
+ Cần đảm bảo an toàn dữ liệu khi có sự cố. Hệ quản trị cơ sở dữ liệu 2. Khái niệm - Hệ quản trị cơ sở dữ liệu là phần mềm dùng để thao tác, xử lý với cơ sở dữ liệu. Nó cung cấp một giao diện giữa người sử dụng và dữ liệu.
- Hệ quản trị cơ sở dữ liệu biến đổi cơ sở dữ liệu vật lý thành cơ sở dữ liệu logic. - Hiện nay, hệ quản trị cơ sở dữ liệu chính được sử dụng là hệ quản trị cơ sở dữ liệu quan hệ (RDBMS – Relation Database Management System) 2. Đặc điểm của hệ quản trị cơ sở dữ liệu - Để cấu thành một hệ quản trị cơ sở dữ liệu bao gồm: bộ quản lý dự trữ, bộ xử lý câu hỏi và bộ quản trị giao dịch. Các bộ phận này sẽ kết hợp nhịp nhàng với nhau để thao tác với các dữ liệu trong cơ sở dữ liệu khi nhận được yêu cầu từ người dùng.
Từ đó, chúng ta có thể biết được một số đặc điểm về hệ quản trị cơ sở dữ liệu như sau: + Tính bảo mật cao của hệ quản trị cơ sở dữ liệu thông qua việc xác định người dùng có được quyền truy cập vào hệ quản trị cơ sở dữ liệu thông qua tài khoản và mật khẩu. + Có thể chia sẻ và xử lý dữ liệu cùng lúc cho nhiều người dùng, mang lại sự tiện lợi, nhanh chóng. + DBMS sẽ quản lý các trao đổi, giao dịch với người dùng luôn đảm bảo theo thuộc tính AICD. + Có thể tách biệt các chương trình, dữ liệu với nhau.
Chức năng của hệ quản trị cơ sở dữ liệu Downloaded by LIEU TAI (tailieuso.com) lOMoARcPSD|38557106 a), Chức năng quản lý Data Dictionary - Data Dictionary chính là nơi mà hệ quản trị cơ sở dữ liệu thực hiện lưu trữ những định nghĩa của các phần tử dữ liệu. Ngoài ra, chúng còn lưu trữ cả các mối quan hệ của chúng – metadata. DBMS sử dụng chức năng này nhằm tra cứu những cấu trúc cũng như mối quan hệ giữa những thành phần dữ liệu được yêu cầu trong khi những chương trình truy cập dữ liệu ở trong hệ quản trị. - Về cơ bản thì chúng sẽ đi qua DBMS và hàm này tiến hành loại bỏ những sự phụ thuộc về cấu trúc và cả dữ liệu.
Từ đó, hệ quản trị sẽ mang đến cho người dùng tính trừu tượng hóa các dữ liệu. Và chức năng này thường sẽ bị ẩn khỏi user và sẽ được sử dụng bởi những admin của hệ quản trị cơ sở dữ liệu. b), Quản lý Data Storage - Có chức năng cụ thể này được sử dụng để lưu trữ dữ liệu và các biểu mẫu dữ liệu khác có liên quan. Định dạng báo cáo, quy tắc về data validation, procedural code và cấu trúc xử lý các định dạng video và hình ảnh.
- Người dùng không cần biết dữ liệu được lưu trữ hoặc thao tác thế nào. Cùng liên quan đến cấu trúc này là một thuật ngữ được gọi là Performance Tuning. Nó sẽ liên quan với hiệu suất của cơ sở dữ liệu, tốc độ lưu trữ và truy cập. c), Kiểm soát truy cập nhiều người dùng - Chức năng tiếp theo được nhắc đến chính là khả năng kiểm soát và truy cập nhiều người dùng.
Tính toàn vẹn cũng như sự nhất quán của dữ liệu. Điều này sẽ cho phép nhiều người sử dụng có thể truy cập cơ sở dữ liệu trong cùng một lúc. Chúng không làm ảnh hưởng đến tính toàn vẹn của cơ sở dữ liệu. d), Quản lý về bảo mật - Quản lý bảo mật là một trong những chức năng quan trọng nhất của DBMS.
Quản lý sự bảo mật đặt ra các quy tắc xác định người dùng có được phép truy cập cơ sở dữ liệu hay không. - Người dùng được cấp username và password.