Bài giảng Tin học Lớp 12 - Bài 1: Cơ sở dữ liệu

ppt 51 trang thanhhien97 3060
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học Lớp 12 - Bài 1: 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:

  • pptbai_giang_tin_hoc_lop_12_bai_1_co_so_du_lieu.ppt

Nội dung text: Bài giảng Tin học Lớp 12 - Bài 1: Cơ sở dữ liệu

  1. Bộ môn tin hello CƠ SỞ DỮ LIỆU Ths. ncntqh LOGO Email:trangsang10@yahoo.com
  2. Tài liệu tham khảo Các hệ CSDL lý thuyết và thực hành, Hồ Thuần, Hồ Cẩm Hà, 1 Nxb Giáo dục, 2005 CSDL giáo trình nhập môn, Phương Lan, 2 Nxb Lđxh, 2006 Nhập môn CSDL (Sách dành cho ngành CĐ), Hồ Cẩm Hà 3 (chủ biên), Nxb ĐHSP HN, 2005 4 Giáo trình về CSDL, Nguyễn Xuân Huy, Nxb ĐH QG, 2000 Microsoft Access 2000 lý thuyết & ứng dụng CSDL, 5 Nguyễn Đình Thúc, Nxb Giáo dục, 2002 2
  3. Mục đích yêu cầu ❖ Hiểu được nguyên lý cơ bản khi xây dựng 1 csdl ❖Biết cách triển khai và thiết kế một csdl ❖ Vận dụng được vào những bài toán trong thực tế 3
  4. CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL Tập hợp các dữ Hệ quản trị cơ liệu có liên quan sở dữ liệu là hệ tới nhau chứa thống phần thông tin về 1 tổ mềm cho phép chức nào đó người dùng giao tiếp với cơ sở dữ liệu -Vật lý Các khái - Quan niệm niệm cơ -Khung nhìn bản 4
  5. CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL Giảm bớt dư thừa dữ liệu trong lưu trữ Đảm bảo được tính toàn vẹn của dữ liệu Sự cần thiết của các Có thể triển khai đồng thời nhiều ứng dụng trên cùng 1 CSDL hệ CSDL Thống nhất các tiêu chuẩn, các biện pháp bảo vệ, an toàn dữ liệu 5
  6. CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL Các mô hình csdl logic Mô hình quan hệ Mô hình mạng Dữ liệu được biểu diễn Bao gồm 1 hệ thống bởi 1 tập các bản ghi, các ký hiệu để mô tả các mối quan hệ được dữ liệu dưới dạng biểu diễn bởi các mối dòng và cột liên kết có thể được xem như những con trỏ 6
  7. CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL Mô hình quan hệ - Relation model MaSV Hoten Ngaysinh Hokhau 18/10/198 CT5799 Kim Loan Ha Tay 2 CT5800 Minh Trang 28/3/1984 Ha Noi CT5816 Kim Loan 15/1/1981 Ha Tay Thuy CT6962 28/7/1985 Hai Phong Phuong 7
  8. CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL Một hệ thống các ký hiệu mô tả dữ liệu dưới dạng dòng và cột Một tập hợp các phép toán Mô hình thao tác trên dữ liệu quan hệ Các ràng buộc toàn vẹn (mối liên kết giữa các đối tượng) 8
  9. CHƯƠNG I. GIỚI THIỆU CHUNG VỀ CSDL Mô hình mạng – Network model Chi Du an Du an Du an Du an nhanh 1 2 3 n Chi Du an Du an Du an nhanh1 1 2 3 Chi Du an nhanh2 2 Chi Du an Du an nhanh3 1 3 9
  10. CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT 1. Khái niệm cơ bản Thực thể Khóa Một thực thể là 1 Khoá thể hiện sự ‘vật’ hoặc 1 ‘đối ràng buộc về tính duy nhất trên các tượng’ trong thế thuộc tính. Có thể Thuộc tính giới thực, phân dùng thuộc tính biệt được với đối ❖ Thuộc tính đơn khoá để xác định tượng khác ❖ Thuộc tính đa trị 1 thực thể duy ❖ Thuộc tính đơn trị nhất ❖Thuộc tính phức hợp ❖ Thuộc tính được suy diễn 10
  11. CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT 2. Kiểu liên kết Một liên kết là 1 sự kết hợp của 1 số thực thể. NHÂN PHÒNG VIÊN Làm việc cho e1 r1 d1 e2 r2 d2 d3 e3 r3 Hình 2.1. Một thể hiện của kiểu liên kết ‘LÀM VIỆC CHO’ 11
  12. CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT 3. Mối quan hệ Mối quan hệ của 1 kiểu liên kết cho biết số các liên kết mà 1 thực thể có thể tham gia vào ❖ Mối quan hệ 1- 1: (one to one) ❖ Mối quan hệ 1- n : (one to many) ❖ Mối quan hệ n- n: (many to many) 12
  13. CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT 4. Biểu đồ thực thể liên kết Quy ước Kiểu thực thể Thuộc tính Kiểu thực thể yếu Thuộc tính khóa Kiểu liên kết Thuộc tính đa trị 13
  14. CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT 4. Biểu đồ thực thể liên kết Quy ước Thuộc tính phức hợp Thuộc tính được suy dẫn Dựa vào biểu đồ quan hệ sau, ta có thể phát biểu và phân tích bài toán: 14
  15. CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT Địa chỉ Tên Đệm Mã phòng Họ Tên PHÒNG Lương LÀM 1 1 n Họ tên VIỆ MãBH C CHO ĐIỀU Số giờ HÀN NHÂN VIÊN Địa chỉ H n THA Địa điểm G.tính M m Ngsinh 1 GIA m DỰ ÁN PT VÀO n Mã DA Tên Ngsinh PHỤ THUỘC Quan hệ Tên 15 G.Tính
  16. CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT VD khác, lập biểu đồ ER cho bài toán quản lý lịch dạy học sau: Mỗi giáo viên có 1 mã số giáo viên duy nhất, mỗi mã giáo viên xác định các thông tin: họ tên giáo viên, số điện thoại liên lạc. Mỗi giáo viên có thể dạy nhiều môn cho nhiều khoa nhưng chỉ thuộc sự quản lý hành chính của 1 khoa nào đó. Mỗi môn học có 1 mã môn học duy nhất, mã môn học cho biết tên môn học. Ứng với mỗi lớp thì mỗi môn học chỉ được phân cho 1 giáo viên. Mỗi phòng học có 1 số phòng học (Số phòng), mỗi phòng có 1 chức năng, chẳng hạn như phòng lý thuyết, phòng thực hành tin, phòng lab, phòng thí nghiệm vật lý, 16
  17. CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT Mỗi khoa có 1 mã khoa duy nhất, mã khoa cho biết tên khoa, số điện thoại của khoa Mỗi lớp có 1 mã lớp duy nhất, mỗi lớp có 1 tên lớp, sĩ số lớp. Mỗi lớp có thể học nhiều môn của nhiều khoa nhưng chỉ thuộc sự quản lý hành chính của 1 khoa nào đó. Hàng tuần mỗi giáo viên phải lập lịch báo giảng cho biết giáo viên đó sẽ dạy những lớp nào, ngày nào, môn gì, phòng nào, từ tiết nào đến tiết nào, tên bài dạy, ghi chú về tiết dạy này, .đây là giờ dạy lý thuyết hay thực hành. Nếu “lý thuyết = 1” thì đó là giờ lý thuyết còn nếu “Lý thuyết = 0 ” thì đó là giờ thực hành. 17
  18. CHƯƠNG II. MÔ HÌNH THỰC THỂ LIÊN KẾT Họ tên Tel Mã khoa n Tên khoa Mã GV Q LÝ 1 KHOA Tel GIÁO VIÊN Từ tiết Ghi chú thuyết Lý 1 1 n Đến tiết THUỘC PHÂN BÁO Bài dạy CÔNG n GIẢNG n n n LỚP n Mã lớp Ngày dạy Tên lớp MÔN HỌC Sĩ số PHÒNG HỌC Chức năng Mã MH Tên MH Số phòng18
  19. CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ CSDL QUAN HỆ 1. Khái niệm - Miền - Các thuật ngữ - Quan hệ - Khóa -Lược đồ quan hệ - Siêu khóa - Khóa ngoại 19
  20. CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ CSDL QUAN HỆ 2. Các phép toán đại số trên các quan hệ 2.1 Phép hợp (Union) 20
  21. CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ CSDL QUAN HỆ 2. Các phép toán đại số trên các quan hệ 2.2 Phép giao (Intersect) 21
  22. CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ CSDL QUAN HỆ 2. Các phép toán đại số trên các quan hệ 2.3 Phép trừ (Except) 22
  23. CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ CSDL QUAN HỆ 2. Các phép toán đại số trên các quan hệ 2.4 Phép tích decac (Descartes) 23
  24. CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ CSDL QUAN HỆ 2. Các phép toán đại số trên các quan hệ 2.5 Phép chia (Division) 24
  25.  CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ CSDL QUAN HỆ Ví R R2 R1 ÷ R2 dụ T# M# M# Kết quả C1 T1 C1 C2 T1 T1 C2 T2 C1 R2 Kết quả R1 ÷ R2T# T2 C3 C1 T2 T2 C5 C3 T2 C4 C5 T3 C2 T3 C4 R2 Kết quả R1 ÷ R2T# T4 C4 C2 T3 T5 C2 C4 T5 T5 C4 T5 C5 25
  26. CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ CSDL QUAN HỆ 2. Các phép toán đại số trên các quan hệ 2.6 Phép chọn (Selection) Tìm kiếm những dữ liệu thoả mãn yêu cầu của người sử dụng trên các quan hệ Phép chọn trên quan hệ R theo điều kiện E là một quan hệ S có : 26
  27. CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ CSDL QUAN HỆ 2. Các phép toán đại số trên các quan hệ 2.7 Phép chiếu (Projection ) Xây dựng 1 quan hệ mới từ 1 quan hệ đã cho bằng cách loại bỏ đi 1 số thuộc tính của quan hệ đó Phép chiếu quan hệ R trên tập X là 1 quan hệ S có: 27
  28. CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ CSDL QUAN HỆ 2. Các phép toán đại số trên các quan hệ 2.8 Phép kết nối (Join) Kết nối các quan hệ lại với nhau thông qua các thuộc tính chung, từ đó cho phép lấy được dữ liệu nằm ở nhiều quan hệ có liên quan tới nhau Phép kết nối của R1 và R2 là 1 quan hệ r (trên U), có: 28
  29. CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ CSDL QUAN HỆ Ví dụ Cho 2 quan hệ r1, r2. Hãy: a, Cho biết mã Sv, họ tên, ngày sinh của những sinh viên ở ‘TX Sơn Tây’ b, Lập danh sách những sinh viên có điểm >5, thông tin gồm: Mã Sv, họ tên, mã môn, điểm 29
  30. Chương IV. Ngôn ngữ vấn tin SQL 1. Khái niệm ❖ Ngôn ngữ SQL là kiểu ngôn ngữ cơ sở dữ liệu quan hệ (Relation Data Language) SQL gồm 2 thành phần Các kiểu dữ liệu •Small integer •Integer Ngôn ngữ Ngôn ngữ •Decimal(n,p) định nghĩa thao tác dữ •Float (n) dữ liệu: DDL liệu: DML • Char (Data Define (Data Language ) Manipulation Language) . 30
  31. Chương IV. Ngôn ngữ vấn tin SQL ❖Cấu trúc chung SELECT [DISTINCT | ALL] {* | [ AS [ ] ] [ ]} FROM [bí danh] [ ] [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] 31
  32. Chương IV. Ngôn ngữ vấn tin SQL 2. Các thao tác với bảng 2.1. Tạo bảng CREATE TABLE ( ( ), ( ), ( ) ); 2.2. Thêm bộ mới vào 1 bảng INSERT INTO [danh sách cột] VALUES (danh sách các giá trị) 32
  33. Chương IV. Ngôn ngữ vấn tin SQL 2.3. Thêm 1 cột mới vào một bảng ALTER TABLE ADD tên cột Kiểu 2.4. Sửa dữ liệu UPDATE SET = [ = , ] [WHERE ] 33
  34. Chương IV. Ngôn ngữ vấn tin SQL 2.5. Xoá dữ liệu DELETE FROM [WHERE ] 2.6. Câu lệnh Select (tìm kiếm dữ liệu) SELECT FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] 34
  35. Chương IV. Ngôn ngữ vấn tin SQL (tiếp) ➢ Trong câu Select: - Có thể sử dụng các biểu thức số học - Các hàm gộp: Max, Min, Count, Sum, AVG ➢ Trong câu where - Có thể sử dụng các phép toán so sánh, các phép toán logic - Có thể có các loại điều kiện cơ sở: • So sánh giá trị của 1 biểu thức (bt) với 1 bt khác • Kiểm tra giá trị của bt có nằm trong tập đã xác định không • Kiểm tra xem giá trị của bt có nằm trong 1 khoảng xác định không • Đối sánh 1 xâu với một mẫu 35
  36. Chương IV. Ngôn ngữ vấn tin SQL (tiếp) Ví dụ: Cho CSDL sau: 36
  37. Chương IV. Ngôn ngữ vấn tin SQL (tiếp) 1, Hiển thị danh sách sinh viên gồm các thông tin sau: Masv, hodem, ten, noisinh, sắp xếp tăng dần theo Masv 2, Lập danh sách điểm của các sinh viên cho môn học có mã môn là TDC, bao gồm: Masv, ho_ten, diem 3, Có bao nhiêu sinh viên có điểm thi môn TDC >=5 4, Cho biết thông tin về những sinh viên ở “Hà Nội”, “Hải Phòng”, hoặc “Thái Bình” 5, Lập danh sách sinh viên có tham gia ít nhất là 3 môn học 37
  38. Chương IV. Ngôn ngữ vấn tin SQL (tiếp) 38
  39. Chương IV. Ngôn ngữ vấn tin SQL 2.7. Phép đối sánh LIKE ▪ Trong phép đối sánh xâu, phân biệt chữ hoa chữ thường ▪ Ký tự phần trăm (%) sánh hợp với mọi xâu ▪ Ký tự gạch dưới ( _ ) sánh hợp với mọi ký tự ▪ Dùng toán tử NOT LIKE để tìm các xâu không sánh hợp 2.8. Truy vấn lồng nhau 39
  40.  CHƯƠNG V. RÀNG BUỘC DỮ LIỆU 1 Phụ thuộc hàm Y  X X →Y Định nghĩa HTĐ Armstrong Bao đóng của PTH Y gọi là phụ A1. Nếu Y X thuộc hàm vào X Armstrong + thì X Y F ⎯ ⎯ ⎯ ⎯ → F (KH: X Y) nếu  +  r/R(U), với t1,t2 bất A2. Nếu X Y thì  F F kỳ mà t1[X]=t2[X] Z U:XZ YZ thì t [Y]=t [Y]→ 1 2 A3. Nếu X Y và Y Z thì X Z 40
  41. CHƯƠNG V. RÀNG BUỘC DỮ LIỆU 2 Khoá của lược đồ quan hệ Siêu khóa: K + = U + Khóa: K = U + K' K, K' U 41
  42. CHƯƠNG V. RÀNG BUỘC DỮ LIỆU 1 Thuật toán tìm khóa Thuật - Xác định các Xi toán 1! + - Tính các Xi + -Nếu Xi = U thì Xi là siêu khóa -K= {K1, K2, , Kn} - Xét các các Ki  Kj. Nếu + Ki = U thì Ki là khóa 42
  43. CHƯƠNG V. RÀNG BUỘC DỮ LIỆU m (Y − X ) - Tính IR = U-  i i i=1 + + - Tính IR . Nếu IR = U => R có khoá duy nhất K = IR + - Nếu IR U => R có 2 khóa trở lên  - Tính N = với Xi IR + - Tính (N.IR) + - Tính U1= U-(N.IR) =(K1, K2, , Kk ) - Lấy lần lượt từng thuộc tính Ki bổ sung vào tập IR để trở thành khóa 43
  44. CHƯƠNG V. RÀNG BUỘC DỮ LIỆU Các dạng chuẩn 1 NF 2 NF 3NF - R Є 2NF - R Є 1NF - Không tồn Trong quan hệ - Mỗi thuộc tại những không chứa tính không thuộc tính các quan hệ khoá phụ không khoá con lặp hoặc thuộc đầy đủ phụ thuộc các thuộc tính vào khoá bắc cầu vào đa trị chính của R thuộc tính khoá 44
  45. CHƯƠNG V. RÀNG BUỘC DỮ LIỆU Các dạng chuẩn BCNF 4 NF - R Є 3NF - Không tồn - R Є BCNF tại thuộc tính - R không khoá phụ chứa các PTH thuộc vào đa trị thuộc tính không khoá 45
  46. BÀI 2: HỆ QUẢN TRỊ CƠ SỠ DỮ LIỆU
  47. 3. Vai trò của con người khi làm việc với hệ cơ sở dữ liệu a, Người quản trị cơ sở dữ liệu b, Người lập trình ứng dụng c, Người dùng
  48. * Người dùng là người có nhu cầu khai thác thông tin từ CSDL thông qua việc sự dụng những chương trình ứng dụng đã được biết trước. * Thông thường giao diện cho người dùng có dạng biểu mẫu để có thể điền những nội dung thích hợp. * Người dùng thường được chia thành từng nhóm, mỗi nhóm có một nguyên hạn để truy cập và khai thác CSDL.
  49. INSERT LOGO Ví dụ: • Phụ huynh và hoc sinh chỉ có thể xem điểm mà không có quyền truy cập thông tin Add Text • Giáo Viên bộ mônAdd chỉ có quyền cập nhật Text thông tin của bộ môn và lớp mình dạy Add Text Add Text
  50. INSERT LOGO Bài thuyết trình đến đây là kết thúc. Cảm ơn thầy cô và các bạn đã lắng nghe
  51. Bye bye mn =) LOGO www.themegallery.com