3.1. Khái niệm về cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu
- Cơ sở dữ liệu (Data Base): là tập hợp các bảng có liên quan với nhau được tổ chức và lưu trữ trên các thiết bị hiện đại của tin học, chịu sự quản lý của một hệ thống chương trình máy tính, nhằm cung cấp thông tin cho nhiều người sử dụng khác nhau, với những mục đích khác nhau.
- Hệ cơ sở dữ liệu (Data Base Systems): là tập hợp các cơ sở dữ liệu có liên quan đến nhau.
- Hệ quản trị cơ sở dữ liệu (Data Base Management Systems): là một tập hợp các phần mềm quản lý cơ sở dữ liệu và cung cấp các dịch vụ xử lý cơ sở dữ liệu cho những người phát triển ứng dụng và người dùng cuối cùng. Hệ quản trị cơ sở dữ liệu cung cấp một giao diện giữa người sử dụng và dữ liệu, biến đổi cơ sở dữ liệu vật lý thành cơ sở dữ liệu logic.
2.2. Các khái niệm của cơ sở dữ liệu
- Thực thể (Entity): là một đối tượng nào đó mà nhà quản lý muốn lưu trữ thông tin về nó. Một số thực thể có vẻ vật chất, hữu hình (máy móc thiết bị, khách hàng…) còn một số thực thể khác chỉ là những khái niệm vô hình như dự án, tài khoản…Khi nói đến thực thể cần hiểu rõ là nói đến một tập hợp các thực thể cùng loại.
- Trường dữ liệu (Field): để lưu trữ thông tin về từng thực thể người ta thiết lập cho nó một bộ thuộc tính để ghi giá trị cho các thuộc tính đó. Mỗi thuộc tính được gọi là một trường. Nó chứa một mẩu tin về thực thể cụ thể.
- Bản ghi (Record): tập hợp bộ giá trị của các trường của một thực thể cụ thể làm thành một bản ghi.
- Bảng (Table): toàn bộ các bản ghi lưu trữ thông tin cho một thực thể tạo ra một bảng mà mỗi dòng là một bản ghi và mỗi cột là một trường.
2.3. Mô hình quan hệ
Mô hình Cơ sở dữ liệu Quan hệ (gọi tắt là Mô hình Quan hệ) do E.F Codd đề xuất năm 1971. Mô hình này bao gồm:
- Một hệ thống các ký hiệu để mô tả dữ liệu dưới dạng dòng và cột như quan hệ, bộ, thuộc tính, khóa chính, khoá ngoại, ...
- Một tập hợp các phép toán thao tác trên dữ liệu như phép toán tập hợp, phép toán quan hệ.
- Ràng buộc toàn vẹn quan hệ.
Mô hình này được sáng lập nhằm 3 mục tiêu sau đây:
- Mục tiêu độc lập dữ liệu: vạch ra một đường ranh giới rõ ràng giữa các phương diện logic và vật lý của việc quản trị CSDL. Khi đú cỏc nhà lập trình ứng dụng không cần thiết phải để ý tới cách trình bày dữ liệu trờn cỏc phương tiện vật chất nữa.
- Mục tiêu truyền đạt: tạo ra một mô hình đơn giản mà đông đảo các nhà lập trình và những người dùng có thể hiểu được ngay. Đây là mục tiêu nhằm tăng hiệu suất và hiệu quả của việc trao đổi giữa người dùng và các cán bộ hệ thống thông tin quản lý.
- Mục tiêu xử lý tập hợp: mục tiêu này nhằm tăng khả năng xử lý từ “lần lượt từng bản ghi” đến “đồng thời nhiều bản ghi”.
Đạt được các mục tiêu như vậy có nghĩa là chỉ cần viết một số ít dòng lệnh cho các trình ứng dụng, đồng thời những người dùng và những cán bộ phân tích sẽ ít hiểu lầm nhau trong giao tiếp.
Theo mô hình này thì hệ quản trị cơ sở dữ liệu xem xét và thể hiện các thực thể như một bảng hai chiều với bản ghi là các hàng và các trường là các cột. Có một cột đóng vai trò trường khóa hay còn gọi là trường định danh. Mỗi giá trị của nó xác định một bản ghi duy nhất. Bảng có thể chứa các trường liên kết, chúng không phải là những trường mô tả về thực thể mà là móc xích liên kết với một hoặc nhiều bản ghi của một trường khác.
Cấu trúc như vậy có rất nhiều thuận lợi cho việc thao tác với dữ liệu trờn cỏc bảng. Một bảng được coi như là một tập hợp con của tích Đề Cỏc cỏc tập hợp mà các phần tử của nó là tập hợp các giá trị có thể nhận của mỗi trường. Vì thế, mỗi bảng còn được gọi theo gốc toán học là một quan hệ (tập hợp con tích Đề Các của các tập hợp). Mô hình này tạo thuận lợi rất lớn cho các thao tác cơ bản có gốc rễ từ toán học như: lọc, trừ, liên kết, chiếu…giữa các quan hệ.
2.3. Thiết kế cơ sở dữ liệu logic đi từ các thông tin ra
Theo phương pháp này, việc thiết kế CSDL bao gồm 5 bước như sau:
Bước 1: Xác định các đầu ra
- Liệt kê toàn bộ các thông tin đầu ra.
- Nội dung, khối lượng, tần suất và nơi nhận của chúng.
Bước 2: xác định các tệp cần thiết cung cấp đủ dữ liệu cho việc tạo ra từng đầu ra
- Liệt kê các phần tử thông tin đầu ra:
+ Liệt kê toàn bộ các thuộc tính thành một danh sách. Đánh dấu các thuộc tính lặp – là thuộc tính có thể nhận nhiểu giá trị dữ liệu.
+ Đánh dấu các thuộc tính thứ sinh – là những thuộc tính được tính toán ra hoặc suy ra từ các thuộc tính khác.
+ Gạch chõn cỏc thuộc tính khóa cho các thông tin đầu ra.
+ Loại bỏ các thuộc tính thứ sinh khỏi danh sách, chỉ để lại các thuộc tính cơ sở. Xem xét loại bỏ những thuộc tính không có ý nghĩa trong quản lý.
- Thực hiện việc chuẩn hóa mức 1 (1.NF): tỏch cỏc thuộc tính lặp ra thành danh sách con, có một ý nghĩa dưới góc độ quản lý. Gắn cho nó một cái tờn, tỡm cho nó một thuộc tính định danh riêng và thêm thuộc tính định danh của danh sách gốc.
- Thực hiện chuẩn hóa mức 2 (2.NF): tách những thuộc tính phụ thuộc hàm vào bộ phận của khóa thành một danh sách con mới. Lấy bộ phận khóa đú cho danh sách mới. Đặt cho danh sách mới này một tên riêng cho phù hợp với nội dung của các thuộc tính trong danh sách.
- Thực hiện chuẩn hóa mức 3 (3.NF): nếu thuộc tính Z phụ thuộc hàm vào thuộc tính Y và Y phụ thuộc hàm vào X thì phải tỏch chỳng vào hai danh sách chứa quan hệ Z, Y và danh sách chứa quan hệ Y với X. Xác định khóa và tên cho mỗi danh sách mới.
- Mô tả các tệp: mỗi danh sách xác định được sau bước chuẩn hóa mức 3 sẽ là một tệp cơ sở dữ liệu. Biểu diễn các tệp theo ngôn ngữ của cơ sở dữ liệu về tệp. Tên tệp viết hoa, nằm phía trên. Các thuộc tính nằm trong cỏc ụ, thuộc tính khóa gạch chân.
Bước 3: tích hợp các tệp để chỉ tạo ra một CSDL
Từ mỗi đầu ra theo cách thực hiện của bước 2 sẽ tạo ra rất nhiều danh sách và mỗi danh sách là liên quan tới một đối tượng quản lý, có sự tồn tại riêng tương đối độc lập. Những danh sách nào cùng mô tả về một thực thể thì phải tích hợp lại, nghĩa là tạo thành một danh sách chung, bằng cách tập hợp tất cả các thuộc tính chung và riêng của những danh sách đó.
Bước 4: xác định khối lượng dữ liệu cho từng tệp và toàn bộ sơ đồ
- Xác định số lượng các bản ghi cho từng tệp.
- Xác định độ dài cho một thuộc tính. Tính độ dài cho bản ghi.
Bước 5: xác định liên hệ logic giữa các tệp và thiết lập sơ đồ cấu trúc dữ liệu
Xác định mối liên hệ giữa các tệp, biểu diễn chúng bằng các mũi tên hai chiều, nếu có mối quan hệ một – nhiều thì vẽ hai mũi tên về hướng đó.