CHƯƠNG II: CÁC MÔ HÌNH DỮ LIỆU I. THỰC THỂ VÀ LIÊN KẾT I.1. Thực thể và tập thực thể - Thực thể (entity): là một sự vât (vô hình hay hữu hình) tồn tại và phân biệt được. a. Tiêu chuẩn xác định thực thể - Có ích cho quản lý. - Phân biệt được giữa các thực thể với nhau b. Tập thực thể - Bao gồm một thực thể tương tự nhau. Ví dụ: Trong trường đại học: ® 1 sinh viên là 1 th ực thể ® Tập tất cả các sinh viên trong trường là một tập thực thể. - Tương tự mang tính tương đối và tùy thuộc vào ngữ cảnh đang xét. c. Biểu diễn một kiểu thực thể: Ta dùng một hình chữ nhật, bên trong ghi tên của kiểu thực thể. d. Thuộc tính: Thuộc tính được hiểu là dữ liệu dùng để mô tả một đặc trưng của thực thể. I.2. Liên kết: - Trong một hệ thống các thực thể bên trong tập thực thể có mối liên kết ràng buộc với nhau. - Nếu tồn tại 1 thực thể e thuộc tập thực thể E mà có liên kết R nào đấy với tập thực thể f thuộc F thì ta nói E có liên kết R với F. a. Định nghĩa: + Mối liên kết R giữa các tập thực thể E1, E2, E3, , En là một tập hợp các bộ có thứ tự E1, E2, E3, , En. Trong đó ei E1, mỗi m ột bộ (e1, e2, ,en) có liên kết R với nhau. Ví dụ: SINHVIEN = {sv1, sv2} LOP ={l1,l2} SINHVIEN có liên kết HOC với LOP Þ Là tập hợp bộ dữ liệu có liên kết: {sv1, l1}, {sv2, l2} b. Phân loại liên kết: 1. Liên kết ISA ( kế thừa) Cho 2 tập thực thể E1và E2 ta nói E1 liên kết ISA với E2 nếu thỏa mãn điều kiện: “Mỗi tập thực thể thuộc E1là một trường hợp đặc biệt của một thực thể nào đó trong E2”. 2. Liên kết một – một Cho 2 tập thực thể E1 và E2, ta nói rằng E1 có liên kết một – một với E2 nếu: - Mỗi thực thể trong E1 tương ứng một và chỉ một với mỗi thực thể trong E2 và ngược lại. 3. Liên kết nhiều – một Cho hai tập thực thể E1 và E2, ta nói rằng E1 có liên kết nhiều - một với E2 khi và chỉ khi thỏa mãn 2 điều kiện sau: + Mỗi một thực thể ở trong E1 tương ứng đúng một và chỉ một thực thể trong E2. + Mỗi một thực thể ở trong E2 tương ứng với 0 hoặc nhiều thực thể trong E1. Ví dụ: Cho 2 tập thực thể: - LOP (MALOP, TENLOP) - SINHVIEN (MASV, TENSV, NGAYSINH, DIACHI) SINHVIEN quan hệ HOC (n-1) với LOP 4. Liên kết nhiều - nhiều: Cho 2 tập thực thể E1 và E2, E1 và E2 được gọi là liên kết nhiều nhiều với nhau nếu: - Một thực thể trong E1 tương ứng với 0 hoặc nhiều thực thể trong E2 và ngược lại. Ví dụ: SINH VIÊN học 1 NGOẠI NGỮ nào đấy. SINH VIÊN liên kết DANGKYHOC (n- n) với NGOẠI NGỮ. Lưu ý : - Khi thiết kế CSDL người ta thường cố gắng tìm ra thuộc tính cho các mối liên kết nhiều nhiều - Mối liên kết nhiều một và nhiều – nhiều có thể được mở rộng thành mối liên kết giữa hai ngôi trở lên. Ví dụ: - Mối liên kết HỌC giữa sinh viên và môn học (n-n) + Tìm ra thuộc tính mối liên kết. + DIEMLAN1, DIEMLAN22: Là 2 thuộc tính của mối liên kết HỌC I.3. Biểu diễn đồ họa của một thực thể: + Các tập thực thể được biểu diễn bởi các hình chữ nhật có nhãn là tên c ủa một thực thể. + Các thuộc tính được biểu diễn các hình Oval có nhãn là tên của thuộc tính. + Để tiện lợi cho việc biểu diễn chính sẽ mã hóa (viết tắt) các thuộc tính của các thực thể. Ví dụ: - Nếu đó là thuộc tính phát sinh thì sử dụng Oval đứt nét - Qui ước: Các thuộc tính khóa thì được gạch chân. Các cách biểu diễn một thực thể và tên của tập thuộc tính như sau: Cách biểu diễn 1: MASV HOTE N NGSINH Cách biễn diễn 2: - Các mối quan hệ thì được biễu diễn các hình thoa có nhãn là tên của mối quan hệ. Hình thoa này nối với các hình chữ nhật tương ứng bởi các cạnh định hướng hay không định hướng. · E1 liên kết ISA với E2 Hay · E1 liên kế 1-1 với E2 · E1 liên kết n-1 với E2 · E1 liên kết n- n với E2 - Trong trường hợp mối liên kết nhiều – nhiều có mang thuộc tính thì xử dụng một hình thoi lồng vào bên trong hình chữ nhật và hình chữ nhật mang theo các thuộc tính. - Nếu như là thuộc tính là đa trị từ thuộc tính nối với tập thực thể bởi đường hai nét. Ví dụ 1: Ví dụ 2: SINHVIEN SINHVIEN MASV HOTEN NGSINH E1 E2 ISA E1 E2 R E1 E2 R E1 E2 E1 E2 R TT TT TT MAHS NGOAINGU HTEN GIAOVIEN SINHVIEN MASV HOTEN HOC DIEML1 DIEML2 MONHOC MAMH TENMH Biễu diễn: II. CÁC MÔ HÌNH DỮ LIỆU: Cấu trúc của các thành phần trong một hệ CSDL chính là cốt lõi của nó. Như đã nói ở trên mô hình dữ liệu là một khuôn dạng của cơ sở dữ liệu cho phép người dùng nhìn thấy dữ liệu dưới cấu trúc thuật ngữ để hiểu biết mà ta gọi là lược đồ (scheme). Có 3 hướng tiếp cận dữ liệu của CSDL là: II.1. 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 là mối quan hệ giữa hai nút theo mối quan hệ nhất định, cững nhắc. II.2.Mô hình mạng (Network model) - Mô hình được chia ra vào những năm 60. 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 cấp là quan hệ giữa hai đỉnh. II.3.Mô hình quan h ệ - Như đã biết, mô hình quan hệ được E.F Cold đưa ra vào 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õ ràng, uyển chuyển và trở thành rất thông dụng. Ngày nay hầu hết các hệ QTCSDL đều tổ chức dữ liệu theo mô hình dữ liệu quan hệ Trong mô hình quan hệ, dữ liệu được tổ chức thành các bảng, mỗi bảng tương ứng với một tập thể trong hệ thống. III. HỆ QUẢN TRỊ CSDL III.1.Khái niệm Hệ quản trị CSDL là một phần mềm thực hiện các công việc sau: - Tạo lập và bảo tồn - Cho phép truy xuất đến CSDL theo thẩm quyền - Cập nhật dữ liệu - Bảo đảm an toàn và toàn vẹn dữ liệu III.2. Các chức năng của một hệ QTCSDL Một hệ QTCSDL phải thực hiện được các chức năng sau: - Tạo cấu trúc dữ liệu tương ứng với mô hình dữ liệu được chọn - Đảm bảo tính độc lập dữ liệu (dù có sửa dữ liệu thì chương trình cũng không cần sửa đổi theo) - Tạo mối liên kết giữa kiểu mẫu tin có thể - Nạp dữ liệu CSDL - Cập nhập dữ liệu NGAYSINH DIEML2 º º - Phát sinh các báo cáo từ các dữ liệu trong CSDL - Bảo tồn tính toàn vẹn dữ liệu trong CSDL - Cung cấp các tiện ích sao lưu, phục hồi (backup, recovery) - Có các thủ tục điều khiển tương tranh (Concurrency control) III.3. Các thành phần của một hệ QTCSDL Một hệ QTCSDL thông thường có các thành phần như sau: - Ngôn ngữ định nghĩa dữ liệu (Data Definition Language) - Ngôn ngữ thao tác dữ liệu (Data Manipulation Language) - Ngôn ngữ hỏi (Query Language) - Bộ viết báo cáo (Report Write) - Bộ phát sinh đồ họa (Graghics Generator) - Giao tiếp ngôn ngữ chủ (Host Language Interface) - Ngôn ngữ thủ tục (Procedure Language) - Từ điển dữ liệu - Bộ phát sinh ứng dụng. . mô tả dữ liệu một cách rõ ràng, uyển chuyển và trở thành rất thông dụng. Ngày nay hầu hết các hệ QTCSDL đều tổ chức dữ liệu theo mô hình dữ liệu quan hệ Trong mô hình quan hệ, dữ liệu được. diễn: II. CÁC MÔ HÌNH DỮ LIỆU: Cấu trúc của các thành phần trong một hệ CSDL chính là cốt lõi của nó. Như đã nói ở trên mô hình dữ liệu là một khuôn dạng của cơ sở dữ liệu cho phép người. Mô hình được chia ra vào những năm 60. 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 cấp là quan hệ giữa hai đỉnh. II.3 .Mô hình