Bài giảng Phát triển hệ thống thông tin kinh tế - Chương 6: Thiết kế cơ sở dữ liệu
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phát triển hệ thống thông tin kinh tế - Chương 6: Thiết kế cơ sở dữ liệu", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_phat_trien_he_thong_thong_tin_kinh_te_chuong_6_thi.pdf
Nội dung text: Bài giảng Phát triển hệ thống thông tin kinh tế - Chương 6: Thiết kế cơ sở dữ liệu
- PHÁT TRIỂN HỆ THỐNG THÔNG TIN KINH TẾ • Thiết kế hệ thống Phần 3 Chương 6: Thiết kế cơ sở dữ liệu Chương 7: Thiết kế giao diện
- Chương 6: Thiết kế cơ sở dữ liệu 1. Mô hình dữ liệu quan hệ 2. Các dạng chuẩn và chuẩn hóa quan hệ 3. Chuẩn hóa biểu đồ lớp 4. Thiết kế cơ sở dữ liệu vật l{ 2
- 1. Mô hình dữ liệu quan hệ 1. Khái niệm mô hình dữ liệu 2. Các dạng chuẩn và chuẩn hóa quan hệ 2. Các loại mô hình dữ liệu 3. Chuẩn hóa biểu đồ lớp 4. Thiết kế cơ sở dữ liệu vật l{ 3. Mô hình dữ liệu quan hệ Mô hình dữ liệu là cách biểu diễn các cấu trúc dữ liệu cho một cơ sở dữ liệu dưới dạng các khái niệm. Các cấu trúc dữ liệu bao gồm: – Các đối tượng dữ liệu – Mối liên hệ giữa các dữ liệu – Ngữ nghĩa của dữ liệu – Các ràng buộc trên các đối tượng dữ liệu. Mô hình dữ liệu không phụ thuộc vào các ràng buộc về cả phần cứng và phần mềm, nó tập trung vào việc mô tả và tổ chức dữ liệu, không tập trung vào các thao tác sẽ được thực hiện trên các dữ liệu đó. 3
- 1. Mô hình dữ liệu quan hệ 1. Khái niệm mô hình dữ liệu 2. Các dạng chuẩn và chuẩn hóa quan hệ 2. Các loại mô hình dữ liệu 3. Chuẩn hóa biểu đồ lớp 4. Thiết kế cơ sở dữ liệu vật l{ 3. Mô hình dữ liệu quan hệ Mô hình dữ liệu được chia thành 3 loại: – Mô hình dữ liệu quan niệm – Mô hình dữ liệu logic – Mô hình dữ liệu vật l{ 4
- 1. Mô hình dữ liệu quan hệ 1. Khái niệm mô hình dữ liệu 1. Mô hình dữ liệu quan niệm 2. Các dạng chuẩn và chuẩn hóa quan hệ 2. Các loại mô hình dữ liệu 2. Mô hình dữ liệu logic 3. Chuẩn hóa biểu đồ lớp 3. Mô hình dữ liệu quan hệ 4. Thiết kế cơ sở dữ liệu vật l{ 3. Mô hình dữ liệu vật l{ Mô hình dữ liệu quan niệm mô hình mô tả dữ liệu của thế giới thực gắn với các hoạt động nghiệp vụ của nó. Là phương tiện để đội ngũ phát triển giao tiếp với người sử dụng để xác định sự đúng đắn và đầy đủ các thông tin của hệ thống. Mô hình dữ liệu cơ bản là mô hình thực thể liên kết ER 5
- 1. Mô hình dữ liệu quan hệ 1. Khái niệm mô hình dữ liệu 1. Mô hình dữ liệu quan niệm 2. Các dạng chuẩn và chuẩn hóa quan hệ 2. Các loại mô hình dữ liệu 2. Mô hình dữ liệu logic 3. Chuẩn hóa biểu đồ lớp 3. Mô hình dữ liệu quan hệ 4. Thiết kế cơ sở dữ liệu vật l{ 3. Mô hình dữ liệu vật l{ Mô hình dữ liệu logic là bước phát triển tiếp theo của mô hình dữ liệu quan niệm, nó mô tả các dữ liệu về dạng gần với mô hình dữ liệu được biểu diễn bởi các hệ quản trị cơ sở dữ liệu trong máy tính. Trong mô hình này ta phải xét đến các khả năng, giới hạn của hệ thống quản l{ cơ sở dữ liệu sao cho phù hợp với sự tính toán và thời gian đáp ứng mà xử l{ đòi hỏi . Mọi dữ liệu của hệ thống thông tin đều được xây dựng dựa trên mô hình dữ liệu logic. Có 4 loại mô hình dữ liệu logic gồm: – Mô hình dữ liệu phân cấp – Mô hình dữ liệu mạng – Mô hình dữ liệu quan hệ – Mô hình dữ liệu hướng đối tượng: mới ra đời gần đây và có nhiều triển vọng phát triển trong tương lai. 6
- 1. Mô hình dữ liệu quan hệ 1. Khái niệm mô hình dữ liệu 1. Mô hình dữ liệu quan niệm 2. Các dạng chuẩn và chuẩn hóa quan hệ 2. Các loại mô hình dữ liệu 2. Mô hình dữ liệu logic 3. Chuẩn hóa biểu đồ lớp 3. Mô hình dữ liệu quan hệ 4. Thiết kế cơ sở dữ liệu vật l{ 3. Mô hình dữ liệu vật lý Chuyển mô hình dữ liệu logic thành các đặc tả dữ liệu vật l{ phù hợp với điều kiện thiết bị và môi trường cụ thể. Gồm 2 nội dung: – Chọn công nghệ lưu trữ và quản l{ dữ liệu: hệ điều hành, hệ quản trị cơ sở dữ liệu. – Chuyển mô hình logic thành thiết kế vật l{ và xác định phương án cài đặt. 7
- 1. Mô hình dữ liệu quan hệ 1. Khái niệm mô hình dữ liệu 2. Các dạng chuẩn và chuẩn hóa quan hệ 2. Các loại mô hình dữ liệu 3. Chuẩn hóa biểu đồ lớp 4. Thiết kế cơ sở dữ liệu vật l{ 3. Mô hình dữ liệu quan hệ Mô hình dữ liệu quan hệ là mô hình dữ liệu mà cốt lõi của nó là cơ sở dữ liệu quan hệ. Một cơ sở dữ liệu quan hệ là một tập hợp của một hoặc nhiều quan hệ, trong đó mỗi một quan hệ là một bảng. Mô hình dữ liệu quan hệ sử dụng một tập các bảng để biểu diễn dữ liệu và mối liên hệ giữa những dữ liệu này. Bảng có n cột và mỗi cột có một tên duy nhất. Một quan hệ có cấu trúc tốt là quan hệ chứa số dư thừa ít nhất và cho phép người sử dụng thêm, xóa hay sửa đổi những dòng trong bảng mà không gây ra lỗi hoặc sự không nhất quán. 8
- 1. Mô hình dữ liệu quan hệ 1. Khái niệm dạng chuẩn 2. Các dạng chuẩn và chuẩn hóa quan hệ 2. Các dạng chuẩn 3. Chuẩn hóa biểu đồ lớp 4. Thiết kế cơ sở dữ liệu vật l{ 3. Chuẩn hóa quan hệ Dạng chuẩn trong mô hình dữ liệu quan hệ là một tập các tiêu chuẩn cho cơ sở dữ liệu nhằm: – Cho phép lưu trữ những dữ liệu mong muốn. – Loại bỏ các dư thừa dữ liệu. – Cho phép trích xuất thông tin một cách dễ dàng và tránh các lỗi khi thao tác dữ liệu (Insert, Delete, Update). 9
- 1. Mô hình dữ liệu quan hệ 1. Khái niệm dạng chuẩn 2. Các dạng chuẩn và chuẩn hóa quan hệ 2. Các dạng chuẩn 3. Chuẩn hóa biểu đồ lớp 4. Thiết kế cơ sở dữ liệu vật l{ 3. Chuẩn hóa quan hệ Có 3 dạng chuẩn cơ bản: Chuẩn 1 (First Normal Form - 1NF): Một quan hệ là chuẩn 1 nếu nó không chứa thuộc tính lặp, nói cách khác là không tồn tại thuộc tính đa trị. MaNV TenNV Ngoaingu MaNV TenNV Ngoaingu 5 Phương Thúy Anh 5 Phương Thúy Anh, Phap , Nhat 5 Phương Thúy Phap 4 Tùng Chi Anh 5 Phương Thúy Nhat 1 Trấn Thành Anh 4 Tùng Chi Anh 1 Trấn Thành Anh Ta thấy trường Ngoaingu của nhân viên có mã số 5 là thuộc tính đa trị (gồm 3 giá trị Anh, Pháp, Nhật) Thuộc tính MaNV, TenNV bị lặp 3 lần Quan hệ không phải dạng chuẩn 1 10
- 1. Mô hình dữ liệu quan hệ 1. Khái niệm dạng chuẩn 2. Các dạng chuẩn và chuẩn hóa quan hệ 2. Các dạng chuẩn 3. Chuẩn hóa biểu đồ lớp 4. Thiết kế cơ sở dữ liệu vật l{ 3. Chuẩn hóa quan hệ Có 3 dạng chuẩn cơ bản: Chuẩn 2 (2NF): Một quan hệ là chuẩn 2 nếu nó là chuẩn 1 và không tồn tại các thuộc tính không phải là thuộc tính khóa phụ thuộc vào một phần của khóa. Xét quan hệ đào tạo của nhân viên: MaDT MaNV TenNV ThoigianDT 1 5 Phương Thúy 1 năm 2 5 Phương Thúy 3 năm 3 4 Tùng Chi 2 năm 2 1 Trấn Thành 4 năm Ta thấy tồn tại thuộc tính TenNV không phải là thuộc tính khóa và chỉ phụ thuộc vào một phần của khóa là MaNV Quan hệ này không phải là chuẩn 2. 11
- 1. Mô hình dữ liệu quan hệ 1. Khái niệm dạng chuẩn 2. Các dạng chuẩn và chuẩn hóa quan hệ 2. Các dạng chuẩn 3. Chuẩn hóa biểu đồ lớp 4. Thiết kế cơ sở dữ liệu vật l{ 3. Chuẩn hóa quan hệ Có 3 dạng chuẩn cơ bản: Chuẩn 3 (3NF): Một quan hệ là chuẩn 3 nếu nó là chuẩn 2 và không tồn tại thuộc tính không khóa phụ thuộc bắc cầu vào khóa (thuộc tính đóng vai trò bắc cầu gọi là thuộc tính cầu). Xét quan hệ khen thưởng của nhân viên: MaKT MaNV TenNV LydoKT ThoigianKT 1 5 Phương Thúy A 2014 2 1 Trấn Thành C 2015 3 4 Tùng Chi B 2015 Ta thấy tồn tại thuộc tính TenNV không phải là thuộc tính khóa phụ thuộc vào thuộc tính MaNV và thuộc tính MaNV phụ thuộc vào khóa MaKT TenNV phụ thuộc bắc cầu vào thuộc tính khóa MaKT Quan hệ này không phải là chuẩn 3. 12
- 1. Mô hình dữ liệu quan hệ 1. Khái niệm dạng chuẩn 2. Các dạng chuẩn và chuẩn hóa quan hệ 2. Các dạng chuẩn 3. Chuẩn hóa biểu đồ lớp 4. Thiết kế cơ sở dữ liệu vật l{ 3. Chuẩn hóa quan hệ Chuẩn hóa quan hệ là quá trình chuyển một quan hệ có cấu trúc dữ liệu phức hợp thành các quan hệ có cấu trúc tốt. Chuẩn hóa quan hệ không phải là chuẩn 1: Khi một quan hệ không phải là chuẩn 1, nghĩa là nó chứa thuộc tính lặp, khi đó ta phân rã thành 2 quan hệ gồm: – Quan hệ 1: Gồm các thuộc tính lặp + phần khóa mà nó phụ thuộc – Quan hệ 2: Các thuộc tính còn lại + toàn bộ khóa. MaNV TenNV 5 Phương Thúy 4 Tùng Chi 1 Trấn Thành MaNV TenNV Ngoaingu 5 Phương Thúy Anh, Phap, Nhat MaNV Ngoaingu 4 Tùng Chi Anh 5 Anh 1 Trấn Thành Anh 5 Phap 5 Nhat 4 Anh 13 1 Anh
- 1. Mô hình dữ liệu quan hệ 1. Khái niệm dạng chuẩn 2. Các dạng chuẩn và chuẩn hóa quan hệ 2. Các dạng chuẩn 3. Chuẩn hóa biểu đồ lớp 4. Thiết kế cơ sở dữ liệu vật l{ 3. Chuẩn hóa quan hệ Chuẩn hóa quan hệ không phải là chuẩn 2: Khi một quan hệ không phải là chuẩn 2, nghĩa là nó chứa thuộc tính phụ thuộc một phần vào khóa, khi đó ta phân rã thành 2 quan hệ gồm: – Quan hệ 1: Gồm các thuộc tính phụ thuộc một phần vào khóa + phần khóa mà nó phụ thuộc – Quan hệ 2: Các thuộc tính còn lại + toàn bộ khóa. MaNV TenNV MaDT MaNV TenNV Thoigian 5 Phương Thúy DT 4 Tùng Chi 1 5 Phương Thúy 1 năm 1 Trấn Thành 2 5 Phương Thúy 3 năm MaDT MaNV ThoigianDT 3 4 Tùng Chi 2 năm 1 5 1 năm 2 5 3 năm 2 1 Trấn Thành 4 năm 3 4 2 năm 2 1 4 năm 14
- 1. Mô hình dữ liệu quan hệ 1. Khái niệm dạng chuẩn 2. Các dạng chuẩn và chuẩn hóa quan hệ 2. Các dạng chuẩn 3. Chuẩn hóa biểu đồ lớp 4. Thiết kế cơ sở dữ liệu vật l{ 3. Chuẩn hóa quan hệ Chuẩn hóa quan hệ không phải là chuẩn 3: Khi một quan hệ không phải là chuẩn 3, nghĩa là nó chứa thuộc tính phụ thuộc bắc cầu vào khóa, khi đó ta phân rã thành 2 quan hệ gồm: – Quan hệ 1: Gồm các thuộc tính phụ thuộc bắc cầu+ thuộc tính cầu – Quan hệ 2: Các thuộc tính còn lại + thuộc tính cầu. MaNV TenNV MaKT Ma TenNV Lydo Thoigian 5 Phương Thúy NV KT KT 1 Trấn Thành 1 5 Phương Thúy A 2014 4 Tùng Chi 2 1 Trấn Thành C 2015 MaKT MaNV LydoKT ThoigianKT 3 4 Tùng Chi B 2015 1 5 A 2014 2 1 C 2015 3 4 B 2015 15
- 1. Mô hình dữ liệu quan hệ 1. Khái niệm dạng chuẩn 2. Các dạng chuẩn và chuẩn hóa quan hệ 2. Các dạng chuẩn 3. Chuẩn hóa biểu đồ lớp 4. Thiết kế cơ sở dữ liệu vật l{ 3. Chuẩn hóa quan hệ Bài tập – Chuẩn hóa các quan hệ sau: Dondathang (SoDDH, Manguoidat, Tennguoidat, Diachinguoidat, Ngaydat, Mahang, Tenhang, Mota, DVT, Soluong) Phieugiaohang(Sophieu, Makhach, Tenkhach, Diachikhach, SoDDH, Ngaygiao, Mahang, Dongia, Soluong) 16
- 1. Mô hình dữ liệu quan hệ 2. Các dạng chuẩn và chuẩn hóa quan hệ 1. Quy tắc Chuẩn hóa 3. Chuẩn hóa biểu đồ lớp 2. Ví dụ 4. Thiết kế cơ sở dữ liệu vật l{ Quy tắc về dạng chuẩn: – Với mỗi một lớp trong biểu đồ lớp, xem xét kỹ các thuộc tính của lớp đó. – Chuẩn hóa lớp về dạng chuẩn 3. Quy tắc về mối liên kết: – Trong mối quan hệ 1-1: Nếu tồn tại thuộc tính riêng thì quan hệ này sẽ nhận khóa của quan hệ kia làm khóa liên kết. Nếu không có thuộc tính riêng thì không được tách thành 2 quan hệ. – Trong mối quan hệ 1-n: Quan hệ tham gia vào mối liên kết bên n sẽ nhận khóa của quan hệ tham gia vào mối liên kết bên 1 làm khóa liên kết. – Trong mối quan hệ n-n: Tách thành một quan hệ trung gian, quan hệ mới này gồm khóa của tất cả các quan hệ trong mối liên kết và các thuộc tính của mối quan hệ mới này (có thể bổ sung thêm các thuộc tính mới nếu cần). 17
- 1. Mô hình dữ liệu quan hệ 2. Các dạng chuẩn và chuẩn hóa quan hệ 1. Quy tắc Chuẩn hóa 3. Chuẩn hóa biểu đồ lớp 2. Ví dụ 4. Thiết kế cơ sở dữ liệu vật l{ Chuẩn hóa biểu đồ lớp Giấy đề nghị vay vốn Xét các dạng chuẩn: – Tất cả các lớp đều đã ở dạng chuẩn 3. Xét các quy tắc liên kết: – Liên kết 1-n: Tất cả các lớp có mối liên kết 1-n đều thỏa mãn điều kiện Lớp tham gia vào mối liên kết bên n nhận khóa của lớp tham gia vào mối liên kết bên 1 làm khóa liên kết. 18
- 1. Mô hình dữ liệu quan hệ 2. Các dạng chuẩn và chuẩn hóa quan hệ 1. Quy tắc Chuẩn hóa 3. Chuẩn hóa biểu đồ lớp 2. Ví dụ 4. Thiết kế cơ sở dữ liệu vật l{ Chuẩn hóa biểu đồ lớp Giấy đề nghị vay vốn – Liên kết 1-1: Lớp TTThu_nhap và GiayDeNghiVayVon không có thuộc tính riêng Gộp 2 lớp thành 1 19
- 1. Mô hình dữ liệu quan hệ 2. Các dạng chuẩn và chuẩn hóa quan hệ 1. Quy tắc Chuẩn hóa 3. Chuẩn hóa biểu đồ lớp 2. Ví dụ 4. Thiết kế cơ sở dữ liệu vật l{ Chuẩn hóa biểu đồ lớp Giấy đề nghị vay vốn – Liên kết n-n: TTTai_san và GiayDeNghiVayVon Tách thành một quan hệ trung gian 20
- 1. Mô hình dữ liệu quan hệ 2. Các dạng chuẩn và chuẩn hóa quan hệ 1. Quy tắc Chuẩn hóa 3. Chuẩn hóa biểu đồ lớp 2. Ví dụ 4. Thiết kế cơ sở dữ liệu vật l{ Chuẩn hóa biểu đồ lớp Giấy đề nghị vay vốn – Liên kết n-n: TTKhoan_vay_khac và GiayDeNghiVayVon Tách thành một quan hệ trung gian 21
- 1. Mô hình dữ liệu quan hệ 2. Các dạng chuẩn và chuẩn hóa quan hệ 1. Quy tắc thiết kế 3. Chuẩn hóa biểu đồ lớp 2. Ví dụ 4. Thiết kế cơ sở dữ liệu vật lý Thiết kế cơ sở dữ liệu vật l{ là bước sử dụng một Hệ quản trị cơ sở dữ liệu (ví dụ SQL Server 2008) để chuyển đổi Mô hình dữ liệu logic thành các bảng dữ liệu lưu trữ được trong máy tính (cụ thể là lưu trữ trong Hệ quản trị cơ sở dữ liệu đó). Thiết kế cơ sở dữ liệu vật l{ gồm 2 bước: – Thiết kế các bảng dữ liệu. – Tạo liên kết và ràng buộc giữa các bảng. 22
- 1. Mô hình dữ liệu quan hệ 2. Các dạng chuẩn và chuẩn hóa quan hệ 1. Quy tắc thiết kế 3. Chuẩn hóa biểu đồ lớp 2. Ví dụ 4. Thiết kế cơ sở dữ liệu vật lý Thiết kế các bảng dữ liệu: Mỗi một quan hệ (lớp) được chuyển tương ứng thành một bảng dữ liệu vật l{, theo các quy tắc sau: – Với mỗi bảng cần chỉ rõ: • Khoá chính (có thể gồm một hay nhiều thuộc tính). • Mô tả của tất cả các cột (trường). – Với mỗi cột (trường) cần phải có: • Tên cột (duy nhất trong bảng chứa nó, cần đủ nghĩa nhưng không nên quá dài). • Mô tả ngắn gọn. • Kiểu dữ liệu (ví dụ: integer, char, date, logical, phụ thuộc vào từng hệ quản trị cơ sở dữ liệu) • Kích thước (mặc định hay chỉ rõ tuz từng kiểu dữ liệu). • Định dạng hay Giá trị mặc định. • Allows NULL: gồm 2 trường hợp NULL và NOT NULL, nếu là NOT NULL thì người dùng cần phải cung cấp một giá trị cho cột này. • Ràng buộc: các điều kiện ràng buộc nếu có. 23
- 1. Mô hình dữ liệu quan hệ 2. Các dạng chuẩn và chuẩn hóa quan hệ 1. Quy tắc thiết kế 3. Chuẩn hóa biểu đồ lớp 2. Ví dụ 4. Thiết kế cơ sở dữ liệu vật lý Thiết kế các bảng dữ liệu biểu đồ lớp Giấy đề nghị vay vốn: Bảng chi nhánh: Chi_nhanh Tên cột Mô tả Kiểu dữ Kích Định dạng Allows NULL Ràng buộc liệu thước Ma_chi_nhanh Mã chi nhánh nvarchar 10 AAAxxxx.xxx NOT NULL Khóa chính Ten_chi_nhanh Tên chi nhánh nvarchar 50 NOT NULL Dia_chi_chi_nhanh Địa chỉ nvarchar 100 NOT NULL Dien_thoai_chi_nhanh Điện thoại nvarchar 20 (___)xxx.xx.xx NOT NULL Email_chi_nhanh Email nvarchar 50 NOT NULL Ghi_chu Ghi chú nvarchar 100 24
- 1. Mô hình dữ liệu quan hệ 2. Các dạng chuẩn và chuẩn hóa quan hệ 1. Quy tắc thiết kế 3. Chuẩn hóa biểu đồ lớp 2. Ví dụ 4. Thiết kế cơ sở dữ liệu vật lý Thiết kế các bảng dữ liệu biểu đồ lớp Giấy đề nghị vay vốn: Bảng cam kết: Cam_ket Tên cột Mô tả Kiểu dữ liệu Kích thước Định dạng Allows Ràng buộc NULL Ma_cam_ket Mã cam kết nvarchar 10 NOT NULL Khóa chính Ten_cam_ket Tên cam kết nvarchar 50 NOT NULL ThoigianBatdau Thời gian bắt đầu datetime 8 / / NOT NULL áp dụng cam kết ThoigianKetthuc Thời gian kết thúc datetime 8 / / NOT NULL Sau thời gian áp dụng cam kết bắt đầu Các bảng khác thực hiện tương tự. 25