Trang 1 Chuyên Đề 2 : Tìm Hiểu Về Mô Hình E-R Và Cách Chuyển Đổi Mô Hình E-R Sang Mô Hình Hướng Đối Trang 2 NỘI DUNG TRÌNH BÀY Giới thiệu mơ hình E-R Các thành phần cơ bản Tập thực
Trang 1Chuyên Đề 2 : Tìm Hiểu Về Mô Hình E-R Và Cách Chuyển Đổi Mô Hình E-R Sang Mô Hình Hướng Đối
Tượng
Trang 2NỘI DUNG TRÌNH BÀY
Giới thiệu mô hình E-R
Các thành phần cơ bản
Tập thực thể
Mối quan hệ giữa các tập thực thể
Phân loại mối quan hệ
Mối quan hệ nhị nguyên
Mối quan hệ Is-a
Mối quan hệ phản xạ
Mối quan hệ đa nguyên
Các bước chuyển đổi từ mô hình E- R sang mô hình quan hệ
Các quy tắc chuyển đổi mô hình E-R sang mô hình HĐT
Trang 3GIỚI THIỆU
Mô hình E-R được đề xuất bởi P Chen (1976) Đây là một
mô hình mức khái niệm dựa vào việc nhận thức thế giới thực thông qua tập các đối tượng được gọi là các thực thể
và các mối quan hệ giữa các đối tượng này
Nó được sử dụng để thiết kế CSDL ở mức khái niệm
Biểu diễn trừu tượng cấu trúc của CSDL
Mô hình E-R như là một công cụ để trao đổi ý tưởng giữa nhà thiết kế và người dùng cuối trong giai đoạn phân tích
Nó độc lập Database Managenment System (DBMS) và quá trình hiện thực database
Sơ đồ quan hệ thực thể ( entity relationship diagram – ERD) là biểu diễn hình ảnh của quan hệ thực hệ
Trang 4GIỚI THIỆU
Thực thể là đối tượng mà ta có thông tin về chúng
Thực thể có thể là
Trang 5GIỚI THIỆU
Ba phân tử cơ bản trong mô hình là :
• Kiểu thực thể (Entity Type)
• Mối quan hệ ( Relationship)
• Các thuộc tính (Attribute)
Kiểu thực thể
Thuộc tính
Mối quan hệ
Mô hình ER (sơ đồ ER)
Trang 6CÁC THÀNH PHẦN CƠ BẢN
Tập các thực thể
Các mối quan hệ : is-a (kế thừa), phản xạ, nhị nguyên, 1-1, 1-n, n-n, đa nguyên
Trang 7TẬP THỰC THỂ
Một tập thực thể bao gồm các thực thể có liên quan với nhau và thông tin mỗi thực thể được xác định thông qua một thể hiện của tập các thuộc tính (đơn trị, đa trị và có 1 thuộc tính khoá)
SinhVien
MaSV HoTen Lop NgaySinh
Ví dụ : Một thể hiện của tập thực thể SinhVien:
(SV001, Nguyễn Văn A, IT06, 06/29/1991)
Trang 8MỐI QUAN HỆ GIỮA CÁC TẬP THỰC THỂ
Biểu thị quan hệ giữa các thực thể của các tập thực thể Mối quan hệ R giữa hai tập thực thể E1 và E2 được biểu diễn trong
Trang 9PHÂN LOẠI MỐI QUAN HỆ
Mối quan hệ nhị nguyên
Mối quan hệ is-a (mối quan hệ kế thừa)
Mối quan hệ phản xạ (mối quan hệ đệ quy)
Mối quan hệ đa nguyên
Trang 10MỐI QUAN HỆ NHỊ NGUYÊN (1-1, 1-n, n-n)
Đây là mối quan hệ giữa hai tập thực thể, bao gồm:
Quan hệ một - một: Mối quan hệ R giữa tập thực thể A và tập thực thể B được gọi là mối quan hệ một-một (hay 1-1) nếu mỗi thực thể của A có quan hệ R với duy nhất một thực thể của B và ngược lại mỗi thực thể của B có quan hệ R duy nhất với một thực thể của A
Nếu R là mối quan hệ một - một giữa A và B thì có các cạnh định hướng từ hình thoi nhãn R đến các hình chữ nhật nhãn A và B
Trang 11MỐI QUAN HỆ NHỊ NGUYÊN
Quan hệ nhiều - một: Giả sử R là mối quan hệ giữa hai tập thực thể và Nếu một thực thể liên kết với 0 hoặc nhiều thực thể của , và mỗi thực thể trong liên kết với nhiều nhất một thực thể của tập thực thể thì nói rằng R là mối quan hệ nhiều - một từ vào
Nếu R là mối quan hệ nhiều - một từ A vào B thì ta vẽ một cạnh định hướng từ hình thoi nhãn R vào hình chữ nhật nhãn B và một cạnh không định hướng từ hình thoi nhãn R vào hình chữ nhật nhãn A
Trang 12MỐI QUAN HỆ NHỊ NGUYÊN
Quan hệ nhiều – nhiều: Cho hai tập thực thể E1, E2 và mối quan hệ R giữa chúng Nếu một thực thể của E1 có quan hệ R với 0 hoặc nhiều thực thể của E2 và ngược lại, mỗi thực thể của E2 có quan hệ R với 0 hoặc nhiều thực thể của E1 thì ta nói rằng R là mối quan hệ nhiều-nhiều giữa E1 và E2
Trang 13MỐI QUAN HỆ IS-A (Mối quan hệ kế thừa)
Cho hai tập thực thể A và B chúng ta nói rằng A có mối quan hệ I-sa với B, ký hiệu là A Is-a B, nếu mỗi thực thể của A là một thực thể của B
Mối quan hệ “Is-a” là trường hợp đặc biệt của mối quan
hệ nhị nguyên 1-1 Ta có thể biểu diễn nó trong mô hình E-R như sau:
Trang 14MỐI QUAN HỆ PHẢN XẠ (Mối quan hệ đệ quy)
Là mối quan hệ giữa các thực thể của cùng một tập thực thể
Trang 15MỐI QUAN HỆ ĐA NGUYÊN
Là mối quan hệ giữa 3 tập thực thể trở lên
(n,n)
(0,n)
(n,n)
Trang 16CHUYỂN ĐỔI MÔ HÌNH E-R SANG MÔ HÌNH QUAN HỆ
Các bước chuyển đổi mô hình E-R sang mô hình Quan hệ gồm 7 bước :
Bước 1 : Biến đổi thuộc tính đơn trị và phức
Bước 2 : Biến đổi các thực thể yếu
Bước 3 : Biến đổi mối quan hệ 1-1
Bước 4 : Biến đổi mối quan hệ 1 - n
Bước 5 : Biến đổi mối quan hệ n -n
Bước 6 : Biến đổi mối quan hệ thuộc tính đa trị
Bước 7 : Biến đổi mối quan hệ thuộc tính đa nguyên
Trang 17CHUYỂN ĐỔI MÔ HÌNH E-R SANG MÔ HÌNH QUAN
HỆ
Các loại thuộc tính bao gồm :
Đơn trị : Là thuộc tính có một giá trị
Đa trị : Là thuộc tính có n giá trị
Một giáo viên thì sẽ có một mã giáo viên duy nhất
Một giáo viên thì sẽ có rất nhiều thuộc tính
Khóa
Trang 18CÁC QUY TẮC CHUYỂN ĐỔI MÔ HÌNH E-R SANG
MÔ HÌNH HĐT
Quy tắc 1 : Quy tắc chuyển dổi mối quan hệ is – a
ĐN : Nếu tập thực thể A là có mối quan hệ is-a với tập thực thể B thì lớp A sẽ kế thừa tất cả các thuộc tính trong lớp B, đồng thời bổ sung các thuộc tính riêng của lớp A Đây chính là tính kế thừa trong mô hình dữ liệu hướng đối tượng
Ví dụ :
Trang 19Quy tắc 1 : Quy tắc chuyển dổi mối quan hệ is – a
Mô hình thực thể - mối quan hệ
End NHANVIEN.
Trang 20CÁC QUY TẮC CHUYỂN ĐỔI MÔ HÌNH E-R SANG
thuộc tính trong tập thực thể A và B, sẽ được bổ sung
thêm thuộc tính R (gọi là thuộc tính mối quan hệ) Đối với việc khai báo kiểu dữ liệu của thuộc tính này trong mỗi lớp A và B, không mất tính tổng quát, ta xét các
trường hợp sau:
Trường hợp 1: Nếu thông qua R mỗi đối tượng thuộc lớp
A có quan hệ nhiều nhất với một đối tượng thuộc lớp B, chẳng hạn cung nối A và R có bản số là (1,1), thì thuộc tính R trong lớp A sẽ được khai báo:
< Tên thuộc tính > : < Tên lớp B>
Trang 21Quy tắc 2 : Chuyển đổi mối quan hệ nhị nguyên ( không có thuộc tính kèm)
Trường hợp 2: Nếu thông qua R mỗi đối tượng thuộc lớp A có thể quan hệ với nhiều đối tượng thuộc lớp B, chẳng hạn cung nối A và R có bản số là (1,n), thì thuộc tính R trong lớp A sẽ được khai báo:
< Tên thuộc tính > : set < Lớp B>
Ví dụ : mối quan hệ 1 – 1
Trang 22Quy tắc 2 : Chuyển đổi mối quan hệ nhị nguyên ( không có thuộc tính kèm)
Ví dụ quan hệ 1 - 1
Mô hình thực thể - mối quan hệ :
Mô hình quan hệ :
TruongKhoa ( ID_KH, HoTen, ID_KH)
Khoa ( ID_KH, TenKhoa)
Mô hình hướng đối tượng :
Trang 23Quy tắc 2 : Chuyển đổi mối quan hệ nhị nguyên ( không có thuộc tính kèm)
Mô hình hướng đối tượng :
Trang 24Quy tắc 2 : Chuyển đổi mối quan hệ nhị nguyên ( không có thuộc tính kèm)
1-n
Mô hình quan hệ : GiaoVien(ID_GV, Hoten, ID_KH Khoa(ID_Kh ,Tenkhoa
Mô hình hướng đối tượng : Class GiaoVien
properties Id_gv: allID;
Tenkhoa: String;
Sodienthoai: String;
Thuoc: set(GiaoVien);
End Khoa.
Trang 25Quy tắc 2 : Chuyển đổi mối quan hệ nhị nguyên ( không có thuộc tính kèm)
1-n
Mô hình quan hệ GIAOVIEN(id_gv, hoten, tuoi) MON(id_m, tenmon, sotiet) GIANG(id_gv, id_m)
Mô hình hướng đối tượng Class GIAOVIEN
properties Id_gv: allID;
Tenmon: String;
Sotiet: Integer;
Giang: set(GIAOVIEN);
End MON.
Trang 26CÁC QUY TẮC CHUYỂN ĐỔI MÔ HÌNH E-R SANG
MÔ HÌNH HĐT
Quy tắc 3 : Biến đổi quan hệ nhi nguyên có kèm thuộc
tính
ĐN : Nếu quan hệ R của 2 lớp A và B có kèm thuộc
tính, khi đó phải bổ xung thêm 1 lớp C làm trung gian liên kết giữa A và B
Lớp C gồm có :
Toàn bộ các thuộc tính của R
Hai thuộc tính được khai bao như sau :
< Tên thuộc tính > : Set (<Lớp A>)
< Tên thuộc tính > : Set (<Lớp B>)
Trang 27Quy tắc 3 : Biến đổi quan hệ nhi nguyên có kèm thuộc tính
Ví dụ :
Mô hình thực thể - mối quan hệ :
GiaoVien
Khoa Giang
1-n
Trang 28Quy tắc 3 : Biến đổi quan hệ nhi nguyên có kèm thuộc tính
String :Hoten;
Giang1: set(GVIEN_KHOA);
} Class Khoa {
String: ID;
String: TenKhoa;
Giang2: set(GVIEN_KHOA);
} Class GVIEN_KHOA {
String : ID_gvien_khoa;
Giang1: GiaoVien Giang2: Khoa Integer : Tongsotiet;
}
Trang 29CÁC QUY TẮC CHUYỂN ĐỔI MÔ HÌNH E-R SANG
<Tên thuộc tính R>: <Lớp A>
Trong trường hợp mỗi đối tượng thuộc lớp A có thể quan hệ với nhiều đối tượng thuộc lớp A, thì thuộc tính
R có khai báo:
<Tên thuộc tính R>: set(<Lớp A>)
Trang 30CÁC QUY TẮC CHUYỂN ĐỔI MÔ HÌNH E-R SANG
MÔ HÌNH HĐT
Quy tắc 5 : Biến đổi quan hệ đa nguyên
Nếu k tập thực thể A 1 , A 2 , , A k (k2) có quan hệ với nhau thông qua mối quan hệ đa nguyên R (có k cung nối mỗi tập thực thể A 1 , A 2 , , A k
với mối quan hệ R), thì ngoài k lớp A 1 , A 2 , , A k ta sẽ bổ sung thêm lớp mới C đóng vai trò trung gian Cụ thể:
- Mỗi lớp A i được bổ sung thuộc tính R i có khai báo:
- Nếu cung nối tập thực thể A i và mối quan hệ R có chỉ số cực đại của bản số
là 1; hoặc khai báo:
- Nếu cung nối tập thực thể A i và mối quan hệ R có chỉ số cực đại của bản số
là n (với i= 1, 2, , k).
- Lớp C bao gồm các thuộc tính sau:
+ Thuộc tính định danh của lớp C,
+ Các thuộc tính của mối quan hệ R,
+ Và các thuộc tính R i có khai báo:
Trang 31KẾT LUẬN
Như vậy việc chuyển đổi mô hình dữ liệu quan hệ thành mô hình hướng đối tượng là có thể thực hiện được khi một mô hình dữ liệu quan hệ được thiết kế từ mô hình thực thể - mối quan hệ, và có giải pháp cho việc chuyển đổi mô hình thực thể - mối quan hệ thành mô hình hướng đối tượng.
Tuy nhiên, cũng đã có nhiều kết quả nghiên cứu cho phép thực hiện việc chuyển đổi một CSDL quan hệ đã tồn tại thành CSDL hướng đối tượng mà không cần thiết phải sử dụng giả thiết về sự tồn tại của mô hình thực thể - mối quan
hệ tương ứng Hiển nhiên các phương pháp này là khá phức tạp do phải trải qua nhiều bước để tinh chỉnh các lược đồ quan hệ, cũng như để nhận dạng các lớp đối tượng và mối quan hệ giữa chúng.
Trang 32- DEAN(MADA, TENDA, MADD, MAPHG)
- PHANCONG(MANV, MADA, THOIGIAN)
Trang 33BÀI TẬP VẬN DỤNG
Mô tả :
- Mỗi nhân viên có một mã số (MANV) duy nhất để phân biệt với các nhân viên khác, có họ (HONV), tên (TENNV), ngày sinh (NGAYSINH), phái (PHAI), lương (LUONG), ngày bắt đầu vào làm (NGAYBD) và mã số phòng ban mà nhân viên đó trực thuộc (MAPGH).
- Mỗi phòng ban có một mã số duy nhất (MAPHG), có tên phòng ban (TENPHG) và có mã số nhân viên làm trưởng phòng (TRPHG).
- Địa điểm là thành phố có liên quan đến hoạt động của công ty Mỗi địa điểm có một mã địa điểm duy nhất (MADD) và có tên địa điểm (TENDD).
- Mỗi đề án có mã số (MADA) là duy nhất, ngoài ra còn có tên đề án (TENDA), địa điểm đề án (MADD) và phòng ban phụ trách đề án đó (MAPGH).
- Mỗi nhân viên được phân công vào một hoặc nhiều đề án với thời gian (THOIGIAN) là khoảng thời gian hoàn thành đề án (Tính theo tuần).
Trang 35Mô hình hướng đối tượng :
String : madd;
String : tendd;
co : set (Dean) ; }
Class Dean {