Bài giảng Cơ sở dữ liệu và phần mềm ứng dụng

pdf 66 trang hapham 2330
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu và phần mềm ứng dụng", để 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:

  • pdfbai_giang_co_so_du_lieu_va_phan_mem_ung_dung.pdf

Nội dung text: Bài giảng Cơ sở dữ liệu và phần mềm ứng dụng

  1. Quản trị CSDL và Phần mềm ứng dụng Bộ môn CNTT Khoa Tin học Thương Mại 11/3/2008 Bài giảng - CSDL và Phần mềm ứng dụng 1
  2. Mục tiêu môn học  Trang bị kiến thức cơ bản về CSDL.  Giới thiệu phương pháp thiết kế, xây dựng CSDL quan hệ, ngôn ngữ SQL.  Trang bị những hiểu biết cơ bản về thao tác với CSDL thông qua một phần mềm ứng dụng quản trị CSDL quan hệ Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 2
  3. Yêu cầu môn học Nghe giảng  Giờ lý thuyết : 30 tiết Thảo luận + Thực hành  Giờ thảo luận + thực hành: 6 tiết Đọc tài liệu tham khảo Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 3
  4. Tài liệu tham khảo [1] Giáo trình quản trị CSDL và phần mềm ứng dụng, Trường Đại học Thương mại. [2]Nhập môn CSDL quan hệ. Lê Tiến Vương, NXB Thống kê, 2002. [3] Access 2002 Bible. Cary N.Prague & Michael R.Irwin, New York. NY, 2002 [4] Principles of Database Systems. Ullman, J.D, Computer Sience Press, Rockville, Md. 1982. [5] Nguyên lý của các hệ CSDL. Nguyễn Kim Anh, NXB Đại học Quốc gia Hà Nội, 2004. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 4
  5. Nội dung lý thuyết Chương 1: Tổng quan về CSDL Chương 2: Thiết kế CSDL quan hệ Chương 3: Ngôn ngữ SQL Chương 4: Phần mềm ứng dụng quản trị CSDL Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 5
  6. Chương I: Tổng quan về CSDL 1.CÁC KHÁI NIỆM CƠ BẢN  1.1.CSDL  1.2.Những người sử dụng CSDL  1.3.Hệ quản trị CSDL  1.4.Hệ CSDL 2.KIẾN TRÚC CỦA MỘT HỆ CSDL  2.1.Các mức trừu tượng  2.2.Lược đồ CSDL  2.3.Tính độc lập dữ liệu 3.CÁC MÔ HÌNH DỮ LIỆU  3.1. Mô hình thực thể liên kết (ER) 3.1.1.Thực thể và liên kết 3.1.2.Sơ đồ thực thể liên kết  3.2. Mô hình dữ liệu quan hệ 3.2.1. Các khái niệm trong mô hình quan hệ 3.2.2. Biến đổi sơ đồ ER sang lược đồ quan hệ Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 6
  7. 1.1. CSDL Định nghĩa:  Dữ liệu: phản ánh một sự vật hiện tượng trong thế giới khách quan được lưu trữ trong máy tính dưới dạng có cấu trúc (bản ghi) hoặc không có cấu trúc (hình ảnh, âm thanh)  CSDL: tập hợp dữ liệu tương quan có tổ chức được lưu trữ trên các phương tiện lưu trữ như đĩa từ, băng từ v v nhằm thỏa mã các yêu cầu khai thác thông tin (đồng thời) của nhiều người sử dụng và của nhiều chương trình ứng dụng. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 7
  8. Đặc tính của CSDL Chia sẻ – tức CSDL cho phép nhiều người dùng, nhiều ứng dụng. Bền vững – tức dữ liệu được đặt trên thiết bị lưu trữ ổn định, cho phép sử dụng lại nhiều lần Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 8
  9. Trước khi có CSDL Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 9
  10. CSDL dùng chung Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 10
  11. CSDL trong các ứng dụng Thông dụng  Csdl trong các ứng dụng quản lý nguồn nhân lực, dịch vụ công cộng (điện, nước ) Thương mại điện tử  Csdl khách hàng, sản phẩm hàng hoá của các cửa hàng trực tuyến (B2C) sàn giao dịch trực tuyến(B2B) Chuyên biệt  Csdl lưu trữ dữ liệu của các ứng dụng chuyên biệt như hệ thống thông tin địa lý (GIS_ Geographic Information System) Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 11
  12. CSDL lưu trữ dưới dạng bảng (hay quan hệ) là hình thức lưu trữ nhiều nhất và được ứng dụng rộng rãi nhất hiện nay. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 12
  13. Csdl thông tin địa lý lưu trữ  Dữ liệu bản đồ (hình ảnh bản đồ)  Dữ liệu thuộc tính (mô tả đặc tính, đặc điểm và các hiện tượng xảy ra tại một vị trí địa lý cụ thể) Mỗi lớp trong dữ liệu bản đồ lưu trữ một bản đồ liên quan đến 1 chức năng cụ thể Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 13
  14. Tiêu chuẩn của CSDL  Giảm việc dư thừa: Mỗi một ứng dụng không cần phải có các tập tin dữ liệu của riêng nó  Tránh được sự không nhất quán dữ liệu  Dữ liệu được chia sẻ  Áp dụng các chuẩn nghiêm ngặt  Áp dụng các biện pháp an toàn bảo mật  Các ràng buộc phải được duy trì Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 14
  15. 1.2. Người sử dụng CSDL Người dùng cuối: Khai thác CSDL thông qua các ứng dụng hoặc dựa trên phần mềm quản trị CSDL. Người lập trình ứng dụng: Là người viết các chương trình ứng dụng cho phép người sử dụng cuối sử dụng CSDL. Người quản trị CSDL (Database Administrator): Là người thu thập dữ liệu, thiết kế và bảo trì CSDL, thiết lập các cơ chế đảm bảo an toàn cho CSDL (sao lưu, phục hồi dữ liệu). Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 15
  16. 1.3. Hệ quản trị CSDL Khái niệm  Hệ quản trị CSDL là một phần mềm cho phép tạo lập CSDL và điều khiển mọi truy nhập đối với CSDL đó. Đặc điểm  Quản lý dữ liệu lâu dài  Hỗ trợ truy nhập dữ liệu lớn một cách hiệu quả Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 16
  17. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 17
  18. Chức năng của hệ QT CSDL Hỗ trợ ít nhất một cách tổ chức dữ liệu (mô hình dữ liệu) Lưu trữ, truy xuất và cập nhật dữ liệu Quản lý giao dịch (transaction management) Điều khiển tương tranh (concurrency control) Chép lưu và phục hồi dữ liệu. Bảo mật dữ liệu Duy trì tính toàn vẹn/nhất quán dữ liệu. Cung cấp các tiện ích Hỗ trợ truyền thông dữ liệu Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 18
  19. Phân loại hệ quản trị CSDL Dựa trên cách thức tổ chức dữ liệu Hệ QTCSDL phân cấp (IMS của IBM) Hệ QTCSDL mạng (IDMS của Cullinet Software) Hệ QTCSDL quan hệ  Cho máy tính cá nhân:Microsoft Access  Cho máy chủ: Microsoft SQL Server, MySQL, Oracle Hệ QTCSDL đối tượng (Ozone) Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 19
  20. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 20
  21. 1.4. Hệ CSDL Khái niệm  Hệ CSDL là hệ thống gồm 4 thành phần Người sử dụng Hệ QTCSDL CSDL Phần cứng: Máy tính, ổ đĩa, băng từ dùng để lưu trữ dữ liệu Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 21
  22. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 22
  23. 2. Kiến trúc hệ CSDL Người dùng 1 Người dùng 2 Người dùng N K nhìn 1 K. nhìn 2 Mức khung nhìn K nhìn N Mức khái niệm (Mức logic) Mức vật lý Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 23
  24. 2.1. Các mức trừu tượng Mức khung nhìn:  Mô tả chỉ một phần của toàn bộ CSDL. Hệ thống có thể cung cấp nhiều khung nhìn đối với cùng một CSDL. Mức khái niệm (logic):  Mô tả những dữ liệu nào được lưu trữ trong CSDL và các mối quan hệ nào tồn tại giữa các dữ liệu này. Mức vật lý:  Mô tả dữ liệu được lưu trữ như thế nào. Tại mức vật lý, các cấu trúc dữ liệu mức thấp phức tạp được mô tả chi tiết. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 24
  25. 2.2. Lược đồ CSDL Một thiết kế tổng thể của CSDL được gọi là lược đồ CSDL  Lược đồ khái niệm là bộ khung của CSDL mức khái niệm.  Lược đồ vật lý là bộ khung của CSDL mức vật lý.  Lược đồ khung nhìn được gọi là lược đồ con. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 25
  26. 2.3.Tính độc lập dữ liệu Khái niệm  Khả năng thay đổi một định nghĩa lược đồ trong một mức mà không ảnh hưởng đến định nghĩa lược đồ mức cao hơn tiếp theo được gọi là tính độc lập dữ liệu. Phân loại  Độc lập dữ liệu mức vật lý là khả năng thay đổi lược đồ mức vật lý mà không dẫn đến các chương trình ứng dụng phải viết lại. Các thay đổi tại mức vật lý đôi khi là cần thiết để tăng hiệu năng hệ thống.  Độc lập dữ liệu ở mức logic là khả năng thay đổi lược đồ mức logic mà không dẫn đến các chương trình ứng phải viết lại. Các thay đổi tại mức logic là cần thiết bất kể khi nào cấu trúc logic của CSDL bị sửa đổi. Độc lập dữ liệu mức logic là khó đạt được hơn so với độc lập dữ liệu mức vật lý do các chương trình ứng dụng phụ thuộc nhiều vào cấu trúc logic của dữ liệu mà họ đang truy cập. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 26
  27. 3. Mô hình dữ liệu Khái niệm  Mô hình dữ liệu là một mô tả của việc tổ chức dữ liệu trong CSDL: dữ liệu, ràng buộc được định nghĩa cho dữ liệu cùng quan hệ giữa các dữ liệu. Phân loại  Mô hình dữ liệu dựa trên đối tượng Ví dụ: Mô hình thực thể liên kết ER (Entity-Relationship model)  Mô hình dữ liệu dựa trên bản ghi Ví dụ: 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ệ. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 27
  28. 3.1. Mô hình thực thể liên kết Mô hình thực thể liên kết dựa trên cơ sở sự nhận thức của thế giới thực bao gồm một tập các đối tượng cơ sở được gọi là các thực thể và một tập các liên kết giữa các đối tượng này. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 28
  29. Tại sao dùng ER ? 11/3/2008 Bài giảng - CSDL và Phần mềm ứng dụng 29
  30. Mô hình thực thể liên kết là cách tiếp cận chính để mô hình hóa dữ liệu theo khái niệm (conceptual data modeling). Mô hình ER là công cụ giao tiếp giữa người sử dụng cuối cùng và người thiết kế CSDL để xây dựng CSDL trong giai đoạn phân tích. Mô hình ER được dùng để xây dựng mô hình dữ liệu theo khái niệm (conceptual data model) nhằm biểu diễn cấu trúc và các ràng buộc của CSDL. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 30
  31. 3.1.1. Thực thể và liên kết Một thực thể là một đối tượng có thể được định nghĩa và dữ liệu về nó có thể được lưu trữ.  Đặc tính của thực thể gọi là thuộc tính của thực thể. Một liên kết là sự kết hợp giữa một số thực thể.  Liên kết 1- 1  Liên kết 1- nhiều  Liên kết nhiều- nhiều  Liên kết là-một Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 31
  32. Biểu diễn tập thực thể ở mức sơ đồ Nhóm bao gồm tập thực thể giống nhau (ít nhất cần có một tập các thuộc tính chung) được gọi là một tập thực thể (kiểu thực thể) Biểu diễn Nhân viên Tên Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 32
  33. Các dạng thuộc tính Thuộc tính định danh/khóa :Xác định thực thể một cách duy nhất  Mô tả được gạch chân để phân biệt với các thuộc tính khác  Giá trị khác rỗng và thành phần không chứa các thông tin thay đổi  Khóa đơn, khóa phức, khóa dự tuyển, khóa chính Thuộc tính mô tả: Cung cấp thông tin làm rõ thêm về thực thể  Chỉ nên xuất hiện trong một kiểu thực thể tránh dư thừa dữ liệu Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 33
  34. Các dạng thuộc tính (t) Thuộc tính phức hợp: Hợp thành của một số thành phần thông tin- thuộc tính của thực thể.  Phân rã thành thuộc tính đơn (không thể bị phân rã) tùy thuộc nhu cầu xử lý. Thuộc tính đa trị: Nhận nhiều hơn một giá trị Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 34
  35. Họ đệm Nhân viên Họ tên Tên CMTND Kỹ năng Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 35
  36. Biểu diễn tập liên kết mức sơ đồ Nhóm bao gồm các liên kết cùng kiểu được gọi là một tập liên kết (kiểu mối liên kết/mối liên kết) Biểu diễn Nhân viên Trực thuộc Phòng ban n 1 Nhân viên Trực thuộc Phòng ban Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 36
  37. Các kiểu mối liên kết giữa hai tập thực thể (E1, E2) một - một (one-to-one): một thực thể a trong E1 liên kết với một thực thể b trong E2 và ngược lại nhiều - nhiều (many-to-many): một thực thể a trong E1 liên kết với nhiều thực thể b trong E2 và ngược lại. một - nhiều (one-to-many): một thực thể a trong E1 liên kết với nhiều thực thể b trong E2; một thực thể b trong E2 liên kết với một thực thể a trong E1. là một: Tập thực thể E2 là sự tổng quát hóa của tập thực thể E1, hay E1 là một kiểu đặc biệt của E2 Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 37
  38. Thuộc tính của mối liên kết Mối liên kết có thể có nhiều thuộc tính dùng để mô tả các đặc tính của sự liên kết giữa các thực thể Giá n n Nhà cung cấp Cung ứng Sản phẩm Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 38
  39. 3.1.2. Sơ đồ thực thể liên kết Sơ đồ tóm tắt thông tin cần lưu trữ trong một csdl được mô tả bằng mô hình thực thể liên kết được gọi là sơ đồ thực thể liên kết hay sơ đồ ER. Sơ đồ ER của một cơ sở dữ liệu thuộc một ứng dụng được xây dựng trên các đặc tả của dữ liệu cho ứng dụng đó. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 39
  40. Ví dụ Đặc tả dữ liệu cho ứng dụng quản lý của siêu thị M[5]:  Siêu thị được tổ chức thành các phòng, mỗi phòng có một người quản lý và một số nhân viên  Mỗi phòng có 1 người quản lý, và mỗi người quản lý cũng là một nhân viên trong siêu thị  Mỗi mặt hàng được bán bởi chỉ một phòng và mỗi phòng sẽ bán một số mặt hàng nhất định. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 40
  41. Đặc tả dữ liệu cho ứng dụng quản lý của siêu thị M[5] (t) Mỗi khách hàng sẽ đặt mua các mặt hàng từ siêu thị M thông qua các hóa đơn. Mỗi hóa đơn bao gồm danh sách các mặt hàng và số lượng tương ứng cho mỗi khách hàng cụ thể. Mỗi mặt hàng có thể do nhiều nhà cung cấp khác nhau cung cấp và mỗi nhà cung cấp lại cung cấp nhiều mặt hàng khác nhau Mỗi mặt hàng có một giá do nhà cung cấp đưa ra cho siêu thị. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 41
  42. Các bước xây dựng sơ đồ ER B1: Xác định các kiểu thực thể liên kết chính B2: Xác định các thuộc tính cho các kiểu thực thể này B3: Xác định các thuộc tính khóa và thuộc tính kết nối B4: Xác định các mối liên kết B5: Xây dựng lược đồ Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 42
  43. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 43
  44. 3.2. Mô hình quan hệ (Relation Model) Biểu diễn mọi dữ liệu dưới dạng các bảng, bảng được định dạng gồm các hàng và cột. Mô tả việc tổ chức dữ liệu trong hệ quản trị cơ sở dữ liệu. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 44
  45. 3.2.1. Các khái niệm trong mô hình quan hệ  Quan hệ  Thuộc tính  Bộ giá trị  Khóa  Lược đồ quan hệ  Thể hiện của quan hệ Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 45
  46. Quan hệ (Relation) 1 thuộc tính Một quan hệ là một bảng  Mỗi hàng (bản ghi) TenNCC SanPham Gia biểu diễn một bộ giá trị của quan hệ. Số Hải Hà Bánh mỳ 1500 các bộ được gọi là lực lượng của quan hệ. Kinh Đô Bánh ngọt 5000  Mối cột (trường) biểu S_Shop Bánh ngọt 3000 diễn một thuộc tính/ thành phần của các Hải Hà Kẹo 1000 bộ. Số các thành Bibica Kẹo 1500 phần được gọi là bậc của quan hệ. Bài giảng - CSDL và Phần mềm 1 bộ giá trị 11/3/2008 ứng dụng 46
  47. Thuộc tính (Property) Ý nghĩa:  Thuộc tính là một tính chất riêng biệt của một đối tượng cần được lưu trữ trong CSDL để phục vụ cho việc khai thác dữ liệu về đối tượng. Ví dụ:  Các thuộc tính cho đối tượng nhà cung cấp hàng hóa là TenNCC, ĐiaChi, Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 47
  48. Thuộc tính (Property) Thuộc tính được đặc trưng bởi: Tên gọi, kiểu dữ liệu, miền giá trị  Tên gọi: Thuộc tính được đặt tên một cách gợi nhớ nhưng không quá dài hoặc quá ngắn. VD: SNAME, TEN_NCC, TenNCC, TênNCC  Kiểu: Mỗi thuộc tính đều phải thuộc một kiểu kiểu dữ liệu nhất định. Ví dụ: TenNCC kiểu xâu kí tự Char, NgaySinh kiểu ngày tháng Date.  Miền giá trị (MGT): Là tập tất cả các giá trị mà thuộc tính có thể có. Ví dụ: SanPham có các giá trị thuộc tập {Bánh mỳ, Bánh ngọt, Kẹo}. Giá trị đặc biệt: giá trị rống/NULL. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 48
  49. Bộ giá trị (Tupe) Ý nghĩa  Một bộ là các thông tin của một đối tượng thuộc quan hệ. Đặc điểm  Hai bộ bất kỳ trong quan hệ là khác nhau ở ít nhất giá trị của một thuộc tính.  Một bộ không thể được xác định nhờ vị trí của nó trong quan hệ bộ nhận diện nhờ khóa Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 49
  50. Khóa (Key) Khóa của quan hệ là một hay một tập hợp các thuộc tính mà giá trị của nó xác định duy nhất một bộ trong một quan hệ (khóa nội).  Khóa đơn là khóa chỉ có một thuộc tính.Khóa kép là khóa có hai thuộc tính trở lên  Khóa tối thiểu là khóa chứa tối thiểu các thuộc tính để có thể tạo thành 1 khóa cho quan hệ. Khóa chính (primary key) là một khóa tối thiểu tốt nhất cho quan hệ.Các khóa còn lại gọi là khóa dự bị  Một/ một tập thuộc tính của quan hệ mà giá trị của nó khớp với khóa chính của một quan hệ khác thì nó được gọi là khóa ngoại (foreign key) của quan hệ đó. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 50
  51. Khóa (Key) TenNCC SanPham Gia Hải Hà Bánh mỳ 1000 Kinh Đô Bánh ngọt 5000 S_Shop Bánh ngọt 3000 Hải Hà Kẹo 1500 Kinh Đô Bánh quy 5000 Bibica Kẹo 1500 Khóa {TenNCC, SanPham} {TenNCC, SanPham, Gia} cũng là khóa {TenNCC, SanPham}: Khóa nội, khóa tối thiểu, khóa chính. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 51
  52. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 52
  53. Lược đồ quan hệ Quan hệ Lược đồ:CUNG_UNG (TenNCC,SanPham, TenNCC SanPham Gia Hải Hà Bánh mỳ 1500 Gia) Kinh Đô Bánh ngọt 5000 S_Shop Bánh ngọt 3000 Hải Hà Kẹo 1000 Bibica Kẹo 1500 Sự trừu tượng hóa của quan hệ ở mức độ cấu trúc của một bảng hai chiều.  1 quan hệ i có tương ứng 1 lược đồ quan hệ Ri  Lược đồ CSDL C = {Ri} Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 53
  54. Lược đồ quan hệ Mô tả:  Lược đồ quan hệ được mô tả thông qua một tân từ  Ví dụ: Lược đồ CUNG_UNG(TenNCC, SanPham, Gia) Tân từ : Mỗi sự cung ứng sẽ được thực hiện bởi một nhà cung cấp, tương ứng với một sản phẩm. Mỗi sản phẩm được cung ứng bởi một nhà cung cấp sẽ có một giá. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 54
  55. Thể hiện của quan hệ Thể hiện (tình trạng) của quan hệ R, ký hiệu là TR, là tập hợp các bộ giá trị của quan hệ R vào một thời điểm. Tại những thời điểm khác nhau thì quan hệ sẽ có những thể hiện khác nhau Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 55
  56. 3.2.2. Biến đổi sơ đồ ER sang lược đồ CSDL quan hệ Bước 1: Biến đổi các tập thực thể Một tập thực thể E được biến thành một quan hệ R mà lược đồ của R bao gồm các thuộc tính của E. Mỗi bộ của R là một thực thể trong E  Ví dụ: tập thực thể CUSTOMERS CUSTOMERS(CNAME, CADDR, BALANCE) Nếu các thực thể trong E được xác định thông qua một liên kết với một tập thực thể F nào đó thì lược đồ R tương ứng có thuộc tính là các thuộc tính trong khóa chính của F.  Ví dụ: tập thực thể MANAGERS chỉ có một thuộc tính ENAME là khóa của EMPS. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 56
  57. Bước 2: Biến đổi liên kết Một liên kết giữa các tập thực thể E1, E2, , Ek được biến thành một lược đồ R trong đó thuộc tính của R là tập tất cả các thuộc tính trong khóa của mỗi E1, E2, , Ek  Ví dụ: Ta có quan hệ WORKS IN (ENAME, DNAME) trong đó ENAME là nhân viên trong phòng DNAME, còn quan hệ MANAGES (ENAME, DNAME) thì ENAME là quản lý của phòng DNAME Chú ý khi lấy các tập thuộc tính của R’ cần:  Đặt lại tên nếu có 2 thuộc tính của hai tập nào đó trùng tên  Xác định miền giá trị và không làm mất các thực thể. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 57
  58. Các quan hệ biến đổi từ tập thực thể cùng tên EMPS(ENAME, SALARY); MANAGERS(ENAME); DEPTS(DNAME, DEPT#); SUPPLIERS(SNAME, SADDR); ITEMS(INAME, ITEM#); ORDERS(O#, DATE); CUSTOMERS(CNAME, CADDR, BALANCE); Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 58
  59. Các quan hệ biến đổi từ các liên kết WORKS_IN(ENAME, DNAME); MANAGES(ENAME, DNAME); CARRIES(INAME, DNAME); PLACED_BY(O#, CNAME); SUPLLIES(SNAME, INAME, PRICES); INCLUDES(O#, INAME, QUANTITY). Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 59
  60. Bước 3: Tìm khóa cho các lược đồ Ngyên tắc  Nếu một lược đồ quan hệ được biến đổi từ một tập các thực thể, khóa của lược đồ quan hệ chính là khóa của tập thực thể.  Nếu một lược đồ quan hệ được biến đổi từ một liên kết nhiều – nhiều thì khóa của quan hệ là tất cả các thuộc tính (khoá) của quan hệ  Nếu một lược đồ quan hệ được biến đổi từ một liên kết một – một giữa hai tập thực thể E và F thì khóa của lược đồ quan hệ có thể là khoá của E hoặc là khoá của F.  Nếu một lược đồ quan hệ được biến đổi từ một liên kết nhiều – một từ E1, E2, , Ek-1 đến Ek thì khóa thường là hợp các khóa của E1, E2, , Ek-1. Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 60
  61. Khóa của các quan hệ biến đổi từ tập thực thể cùng tên EMPS(ENAME, SALARY); MANAGERS(ENAME); DEPTS(DNAME, DEPT#); SUPPLIERS(SNAME, SADDR); ITEMS(INAME, ITEM#); ORDERS(O#, DATE); CUSTOMERS(CNAME, CADDR, BALANCE); Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 61
  62. Khóa của các quan hệ biến đổi từ các liên kết WORKS_IN(ENAME, DNAME); MANAGES(ENAME, DNAME); CARRIES(INAME, DNAME); PLACED_BY(O#, CNAME); SUPLLIES(SNAME, INAME, PRICES); INCLUDES(O#, INAME, QUANTITY). Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 62
  63. Bước 4: Giản ước lược đồ CSDL Nguyên tắc  Khi hai lược đồ quan hệ có khoá chung, có thể tổ hợp các thuộc tính của hai lược đồ này và thay thế hai lược đồ này bằng một lược đồ quan hệ mới với tập thuộc tính là hợp của hai tập thuộc tính của hai lược đồ quan hệ ban đầu. Tiết kiệm không gian bộ nhớ Truy vấn thuận tiện Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 63
  64. Lược đồ CSDL sau khi giản lược EMPS(ENAME, SALARY, DNAME) DEPTS(DNAME, DEPT#, MGR) ITEMS(INAME, ITEM#, DNAME) CUSTOMERS(CNAME, CADDR, BALANCE) SUPPLIERS(SNAME, SADDR) ORDERS(O#, DATE, CNAME) SUPPLIES(SNAME, INAME, PRICE) INCLUDES(O#, INAME, QUANTITY) Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 64
  65. NHAN_VIEN (TenNV, Luong, TenPhong) PHONG_BAN(TenPhong, MaPhong, NguoiQuanLy) MAT_HANG(TenHang, MaHang, TenPhong) KHACH_HANG(TenKH, DiaChi, SoDuTK) NHA_CUNG_CAP(TenNCC, DiaChi) DON_DAT_HANG(MaDDH, NgayLap, TenKH) CUNG_UNG(TenNCC, TenHang, Gia) CHI_TIET_DON_HANG(MaDDH, TenHang, SoLuong) Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 65
  66. Chỉ mục Database Management System (DBMS): Hệ quản trị CSDL. Data Definition Language (DDL): Ngôn ngữ định nghĩa dữ liệu Data Manipulation Language (DML): Ngông ngữ thao tác dữ liệu Data Control Language (DCL): Ngôn ngữ điều khiển dữ liệu Entity Relationship(ER): Mô hình dữ liệu thực thể liên kết Hierachical Model: Mô hình dữ liệu phân cấp Network Model: Mô hình lưới Relational Model: Mô hình quan hệ Bài giảng - CSDL và Phần mềm 11/3/2008 ứng dụng 66