1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình cơ sở dữ liệu 1 ts vũ bá anh, ths phan phước long (đồng chủ biên)

139 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

HỌC VIỆN TÀI CHÍNH TS VŨ BÁ ANH – ThS PHAN PHƯỚC LONG (Đồng chủ biên) GIÁO TRÌNH CƠ SỞ DỮ LIỆU HÀ NỘI – 2021 I MỤC LỤC LỜI NÓI ĐẦU IV CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU 1.1 Các khái niệm 1.1.1 Các khái niệm tập hợp 1.1.2 Cơ sở liệu 1.1.3 Hệ quản trị sở liệu 1.1.4 Hệ thống quản lí liệu 1.2 Kiến trúc hệ sở liệu 1.2.1 Các mức trừu tượng hệ thống sở liệu 1.2.2 Lược đồ thể 1.2.3 Tính độc lập liệu 1.3 Các ngôn ngữ liệu 10 1.3.1 Ngôn ngữ định nghĩa liệu 10 1.3.2 Ngôn ngữ thao tác liệu 10 1.3.3 Ngôn ngữ chủ 10 1.4 Các mơ hình liệu quan hệ 11 1.4.1 Mô hình thực thể - liên hệ 11 1.4.2 Mô hình quan hệ 16 1.4.3 Mơ hình phân cấp (Hierarchical Model) 17 1.4.4 Mơ hình mạng 17 1.4.5 Mơ hình hướng đối tượng 18 1.5 Mơ hình liệu NoSQL 19 1.5.1 Khái niệm sở liệu NoSQL 20 1.5.2 Phân loại sở liệu NoSQL 21 1.5.3 So sánh sở liệu quan hệ sở liệu NoSQL 24 Câu hỏi ôn tập 30 CHƯƠNG II: MƠ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ 31 2.1 Tổng quan mơ hình CSDL quan hệ 31 2.1.1 Các khái niệm 31 2.1.2 Các mối liên hệ 1-1, 1-n, n-n 34 2.1.3 Quy tắc vẹn toàn (Integrity Constraint) 35 2.1.4 Các phép tốn mơ hình liệu quan hệ 38 2.2 Tổ chức liệu vật lí 40 2.2.1 Mơ hình tổ chức nhớ 40 2.2.2 Tệp băm (Hash Files) 40 2.2.3 Tệp số (Index Files) 44 2.2.4 B-cây (Balanced Tree – Cây cân bằng) 48 2.3 Ngôn ngữ thao tác liệu 51 2.3.1 Đại số quan hệ 51 II 2.3.2 Ngôn ngữ liệu SQL 62 2.4 Lí thuyết thiết kế CSDL quan hệ 70 2.4.1 Các nguyên tắc thiết kế CSDL quan hệ 70 2.4.2 Phụ thuộc hàm 73 2.4.3 Phép tách lược đồ quan hệ 81 2.4.4 Chuẩn hoá lược đồ quan hệ 83 2.4.5 Các thuật toán thiết kế CSDL quan hệ 87 2.4.6 Phụ thuộc đa trị 93 2.4.7 Phụ thuộc nối 97 Câu hỏi ôn tập 98 CHƯƠNG III: QUẢN TRỊ CƠ SỞ DỮ LIỆU 100 3.1 Các khái niệm chung 100 3.1.1 Khái niệm tệp sở liệu (Database file) 100 3.2.2 Khái niệm hệ quản trị sở liệu 101 3.2 Hệ quản trị sở liệu 102 3.2.1 Làm quen với Hệ quản trị sở liệu 102 3.2.2 Các chế độ làm việc với hệ quản trị sở liệu 102 3.3 Các yếu tố hệ quản trị CSDL 103 3.3.1 Bảng chữ 103 3.3.2 Từ khoá (Keywords) 103 3.3.3 Các đại lượng 103 3.3.4 Biểu thức 109 3.4 Các lệnh Hệ quản trị CSDL 112 3.4.1 Định nghĩa tệp sở liệu 112 3.4.2 Xem - Sửa tệp liệu 115 3.4.3 Các lệnh thêm, bớt ghi 116 3.4.4 Sắp xếp tìm kiếm ghi 117 3.4.5 Tính tốn tệp liệu 118 3.5 Các lệnh dùng cho lập trình 120 3.5.1 Nhóm lệnh gán, vào 120 3.5.2 Các thành phần điều khiển 122 3.5.3 Một số lệnh SET thường dùng 126 3.6 Xây dựng chương trình cho tốn quản trị liệu 128 3.6.1 Bài toán quản trị liệu 128 3.6.2 Tổ chức xây dựng chương trình cho toán quản trị liệu 130 III LỜI NÓI ĐẦU Sự phát triển vũ bão khoa học công nghệ kéo theo bùng nổ thơng tin tồn cầu, buộc người phải sử dụng máy tính điện tử để lưu trữ xử lí thơng tin Cuộc cách mạng cơng nghiệp 4.0 xu số hóa kinh tế - xã hội yêu cầu người phải liên tục, thường xuyên thu nhận, lưu trữ xử lí khối lượng thông tin vô lớn thiết bị nhớ máy tính điện tử Các thơng tin lưu trữ lại đơn vị, tổ chức (gọi chung hệ thống) trở thành liệu hệ thống, để định hoạt động hệ thống Việc tổ chức lưu trữ liệu cách hợp lí, khoa học tảng cho việc xử lí cung cấp thơng tin nhanh chóng, kịp thời, đa dạng, đa chiều, đáng tin cậy, giúp cho hệ thống có khả hoạt động hiệu để có lực cạnh tranh tốt hơn, làm tiền đề cho hệ thống phát triển không ngừng Môn học “Cơ sở liệu” nghiên cứu liệu khoa học lưu trữ, xử lí liệu, giúp học viên tổ chức lưu trữ xử lí liệu hợp lí, khoa học, môn học bắt buộc khối kiến thức chuyên ngành sinh viên ngành Hệ thống thông tin quản lí nhiều ngành khác khối ngành Cơng nghệ thơng tin, như: Khoa học máy tính, Khoa học liệu, Dữ liệu lớn, … Ở Học viện Tài chính, Cơ sở liệu môn học chuyên ngành dành riêng cho sinh viên ngành Hệ thống thông tin quản lí, chia thành học phần: Cơ sở liệu (học phần 1) - Nhập môn sở liệu; Cơ sở liệu (học phần 2) - Cơ sở liệu phân tán; Cơ sở liệu (học phần 3) - Quản trị sở liệu Tài - Kế tốn Giáo trình Cơ sở liệu 1, với thời lượng tín tư cách nhập môn, mang đến cho sinh viên kiến thức đại cương sở liệu, nội dung bao gồm chương: Chương 1: Tổng quan sở liệu Chương cung cấp lí thuyết chung sở liệu; Chương 2: Mơ hình sở liệu quan hệ Chương trình bày kiến thức chi tiết mơ hình liệu quan hệ, mơ hình sử dụng phổ biến nay, đặc biệt hệ thống thông tin quản lí; Chương 3: Quản trị sở liệu Chương giúp cho sinh viên hình thành kĩ cần có để quản trị sở liệu: tạo lập, cập nhật truy vấn sở liệu Giáo trình Cơ sở liệu giảng viên có nhiều kinh nghiệm giảng dạy viết phần mềm thực hiện, bao gồm TS Vũ Bá Anh ThS Phan Phước Long làm đồng chủ biên trực tiếp biên soạn Chúng hi vọng, giáo trình mang lại cho sinh viên chun ngành Tin học Tài Kế tốn kiến thức vừa bản, vừa giải toán quản trị sở liệu thực tiễn Giáo trình biên soạn dựa hiểu biết kinh nghiệm trình giảng dạy xây dựng phần mềm tác giả Học viện Tài chính; nội dung học phần cần phải lựa chọn cho phù hợp thời lượng tín ngành học, nên, giáo trình khó tránh khỏi thiếu sót Rất IV mong nhận đóng góp để giáo trình ngày hồn thiện Mọi đóng góp xin gửi Ban quản lí khoa học, Học viện Tài Chúng tơi xin trân trọng cảm ơn CÁC TÁC GIẢ V Chương 1: Tổng quan CSDL CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU Trong công việc hoạt động người nảy sinh nhu cầu tích lũy xử lí liệu Việc tổ chức xử lí liệu cách khoa học địi hỏi người sử dụng sở liệu Do vậy, sở liệu hệ sở liệu trở thành thành phần thiết yếu đời sống hàng ngày xã hội đại Trong chương nội dung giới thiệu sở liệu mơ hình cở liệu Cụ thể:  Giới thiệu khái niệm mở đầu hệ sở liệu  Kiến trúc ba-lược đồ tính độc lập liệu  Các ngơn ngữ liệu  Các mơ hình sở liệu 1.1 Các khái niệm 1.1.1 Các khái niệm tập hợp 1.1.1.1 Tập hợp phép toán tập hợp: Định nghĩa 1: Các đối tượng tập hợp gọi phần tử tập hợp Tập hợp nói chứa phần tử kí hiệu chữ lớn A, B, …, Y, Z,… cịn phần tử kí hiệu chữ nhỏ a, b, …, x, z, … Để a phần tử A, ta viết a  A , trái lại ta viết a  A Định nghĩa 2: Hai tập hợp gọi chúng có phần tử Ví dụ: ta có hai tập A={0, 1, …, 100} tập B={x  N : x ≤ 100} tập A tập B kí hiệu A = B Định nghĩa 3: Tập A gọi tập tập B phần tử A phần tử B, kí hiệu A  B Tập rỗng tập tập hợp, tức   B với B tập hợp Định nghĩa 4: Cho hai tập hợp A B Tích Đề (Descartes) A B kí hiệu A B, tập hợp tất cặp (a, b) với aA bB Do đó, AB = {(a, b)  aA, bB} Ví dụ: A = {1,2,3}, B = {a, b, c} Khi đó: AB = {(1, a); (1, b); (1, c); (2, a); (2, b); (2, c); (3, a); (3, b); (3, c)} BA = {(a, 1); (b, 1); (c, 1); (a, 2); (b, 2); (c, 2); (a, 3); (b, 3); (c, 3)} Và rõ ràng AB ≠ BA Định nghĩa 5: Tích Đề (Descartes) tập A1, A2, …, An, kí hiệu A1 A2 … An tập hợp dãy thứ tự (a1, a2, …, an) aiAi với i=1, 2, …, n Do Vũ Bá Anh – Phan Phước Long Chương 1: Tổng quan CSDL n  A =A1 A2 … An = {(a1, a2, …, an)  aiAi, i=1, 2, …, n} i i 1 Người ta dùng kí hiệu luỹ thừa để biểu diễn tích Đề tập hợp: 𝐴𝑛 = 𝐴 ⏟𝐴 … 𝐴 𝑛 𝑙ầ𝑛 𝐴 Ví dụ: A = {1, 2}, B = {a, b, c} C = {3, 4} Khi đó: ABC = {(1, a, 3); (1, a, 4); (1, b, 3); (1, b, 4); (1, c, 3); (1, c, 4); (2, a, 3); (2, a, 4); (2, b, 3); (2, b, 4); (2, c, 3); (2, c, 4)} Định nghĩa 6: Cho hai tập hợp A B Hợp hai tập hợp A B kí hiệu A  B, tập chứa tất phần tử thuộc A thuộc B Tức là: A  B = {x  xA ∨ xB} Ví dụ: A = {1, 2, 4, 5, 6}, B = {3, 4, 6, 8, 9} Khi đó: A  B = {1, 2, 3, 4, 5, 6, 8, 9} Định nghĩa 7: Cho hai tập hợp A B Giao hai tập hợp A B kí hiệu A  B, tập chứa tất phần tử thuộc A B Tức là: A  B = {x  xA ∧ xB} Ví dụ: A = {1, 2, 4, 5, 6}, B = {3, 4, 6, 8, 9} Khi đó: A  B = {4, 6} Định nghĩa 8: Hai tập hợp A B gọi rời (không giao nhau) giao chúng tập rỗng Tức A không giao với B  A  B =  Định nghĩa 9: Cho hai tập hợp A B Hiệu hai tập hợp A B kí hiệu A\ B, tập chứa tất phần tử thuộc A mà không thuộc B Tức là: A \ B = {x  xA ∧ x  B} Ví dụ: A = {1, 2, 4, 5, 6}, Khi đó: A \ B = {1, 2, 5} B = {3, 4, 6, 8, 9} 1.1.1.2 Hàm Định nghĩa 1: Cho A B hai tập hợp Một hàm f từ A đến B phép tương ứng với phần tử a A phần tử b B mà ta kí hiệu f(a) gọi ảnh a f Ta viết f : A B a b  f ( a) Khi đó, ta gọi a nghịch ảnh b Tập A gọi miền xác định f Tập B gọi miền giá trị f Ví dụ: Giả sử f hàm từ tập Z vào tập N mà ta cho tương ứng với phần tử z  Z với phần tử n  N cho n= z, tức f(z)= z Khi đó, miền xác định f tập số nguyên Z, miền giá trị f tập số tự nhiên N Vũ Bá Anh – Phan Phước Long Chương 1: Tổng quan CSDL Định nghĩa 2: Cho hàm g từ tập A đến tập B hàm f từ tập B đến tập C Hợp thành hàm f g, kí hiệu fg, định nghĩa bởi: (fg)(a) = f(g(a)), với a  A Ví dụ: Cho hai hàm f, g: Z  Z xác định f(x)=3x+4 g(x)=7x+5 Khi ta có: (fg)(x) = f(g(x)) = f(7x+5) = 3(7x+5) +4 = 21x+19 (gf)(x) = g(f(x)) = g(3x+4) = 7(3x+4) +5 = 21x+33 Chúng ta thấy rằng: tồn hai hợp thành fg gf chúng không 1.1.1.3 Quan hệ Định nghĩa 1: Một quan hệ tập hợp A tập hợp B tập  AB Nếu (a, b)  , ta viết ab Một quan hệ A A gọi quan hệ A Ví dụ: Quan hệ “≤” tập số Z Khi ab  a ≤ b Định nghĩa 2: Một quan hệ tập hợp A1, A2, …, An, tập hợp n  A =A1 A2 … An i i 1 1.1.2 Cơ sở liệu Trong hoạt động người, nhu cầu tích lũy xử lí liệu (là thông tin thu nhận được) nảy sinh Để giải vấn đề nào, cần tới liệu, nhưng, với vấn đề nhỏ, không thiết phải quản lí liệu theo phương pháp khoa học., bởi, khả tổng hợp người xử lí mà liệu lấy ra, xử lí khơng vấp phải khó khăn Tuy nhiên gặp phải vấn đề, toán với khối lượng liệu cần xử lí lớn tất yếu liệu cần quản lí tốt, có khoa học Khi đó, manh nha cơng tác tự động hóa liệu Ban đầu, người ta dùng hệ quản lí tệp với tệp liệu chứa thơng tin dùng chương trình để tìm kiếm, thao tác liệu tệp Điều đẫn tới số nhược điểm: - Dư thừa liệu tính không quán liệu: Do tệp tạo nhà lập trình khác nhau, ngơn ngữ lập trình khác nên liệu lưu trữ nhiều tệp khác Điều dẫn tới dư thừa liệu Hơn nữa, liệu tệp cập nhật cách độc lập chương trình ứng dụng sử dụng Vì vậy, khoản mục liệu, chương trình ứng dụng lại khác nhau, dẫn tới tính khơng qn liệu - Khó khăn việc truy cập liệu - Sự cô lập liệu: Do liệu nằm nhiều tệp với định dạng khác nên khó viết chương trình ứng dụng để tìm kiếm liệu thích hợp - Các vấn đề tồn vẹn - Các vấn đề độ tin cậy - Các dị thường truy nhập tương tranh - Các vấn đề an toàn Vũ Bá Anh – Phan Phước Long Chương 1: Tổng quan CSDL Để khắc phục nhược điểm tổ chức việc xử lí liệu cách khoa học hơn, hệ sở liệu đời Định nghĩa: Một sở liệu (CSDL) tập hợp liệu có liên quan đến chứa thông tin tổ chức đó, lưu trữ thiết bị nhớ thứ cấp để đáp ứng nhu cầu khai thác thông tin nhiều người sử dụng với mục đích khác Với định nghĩa trên, sở liệu phải thỏa mãn hai tính chất: - Tính độc lập liệu; - Tính chia sẻ liệu (được làm rõ phần 1.2.3) 1.1.3 Hệ quản trị sở liệu Định nghĩa: Hệ quản trị sở liệu hệ thống phần mềm cho phép tạo lập sở liệu điều khiển truy nhập sở liệu Một hệ quản trị sở liệu phải đảm bảo thực ba chức bản, là: Tạo lập sở liệu (Create), cập nhật liệu (Update) truy vấn liệu (Query) Các thao tác truy nhập sở liệu chủ yếu gồm: - Tìm kiếm liệu theo tiêu thức đó; - Bổ sung liệu vào sở liệu; - Loại bỏ liệu khỏi sở liệu; - Sửa chữa liệu sở liệu Khác với hệ quản lí tệp (hay tệp sở liệu), hệ quản trị sở liệu cho phép mô tả liệu (xác định tên, dạng liệu, tính chất liệu, …) theo cách không phụ thuộc vào người sử dụng, khơng phụ thuộc vào u cầu tìm kiếm hay thay đổi thông tin Hệ quản trị sở liệu có phương pháp, cơng cụ để lưu trữ, tìm kiếm, sửa đổi chuyển đổi liệu Hệ quản trị sở liệu có giao diện người sử dụng cho phép người dùng liên hệ với Thơng qua lệnh ngơn ngữ người/máy mà liên hệ với nhớ ngồi Cịn người sử dụng dùng ngôn ngữ hỏi sở liệu để khai thác chức hệ quản trị sở liệu Các hệ quản trị sở liệu thường dùng lựa chọn tùy thuộc vào quy mô tổ chức, cụ thể sau: - Các tổ chức có quy mơ lớn thường lựa chọn:  Oracle: chạy 100 cấu hình khác  DB/2 IBM  SyBase  Informix IBM (2001)  SQL Server - Các tổ chức quy mô vừa nhỏ thường lựa chọn:  My SQL  Microsoft Access  Visual FoxPro (VFP) Vũ Bá Anh – Phan Phước Long Chương 1: Tổng quan CSDL  Paradox 1.1.4 Hệ thống quản lí liệu Người ta thường dùng thuật ngữ hệ sở liệu (DBMS-DataBase Management System) để sở liệu với hệ quản trị sở liệu để truy cập sở liệu Ta mơ qua sơ đồ DBMS Một cách khác, hiểu hệ sở liệu hệ thống gồm bốn thành phần: - Cơ sở liệu phải hợp nhất: Cơ sở liệu phải thỏa mãn hai yêu cầu sau:  Không dư thừa (trong thực tiễn liệu dư thừa nhất)  Chia sẻ liệu - Người sử dụng: Là người có yêu cầu truy cập sở liệu để thực thao tác + Người sử dụng đầu cuối (End-User): người có cơng việc u cầu quyền truy cập vào sở liệu để truy vấn, cập nhật tạo báo cáo; sở liệu chủ yếu tồn để sử dụng + Người viết chương trình ứng dụng: Đầu tiên phải xác định yêu cầu người dùng đầu cuối, phát triển thành thông số kỹ thuật cho giao dịch đáp ứng yêu cầu Tiếp theo, thực thông số kỹ thuật dạng chương trình; sau họ kiểm tra, gỡ lỗi, lập tài liệu trì giao dịch + Người quản trị sở liệu: Trong tổ chức có nhiều người sử dụng nguồn lực, cần có quản trị để giám sát quản lý nguồn lực Trong môi trường sở liệu, tài nguyên sở liệu tài nguyên thứ cấp DBMS phần mềm liên quan Quản lý tài nguyên trách nhiệm người quản trị sở liệu (DataBase Administrators - DBA) DBA người có nhiệm vụ điều khiển tồn hệ sở liệu, người có quyền cao nhất, chịu trách nhiệm thực nhiệm vụ sau:  Quyết định nội dung thông tin: (dữ liệu lưu trữ sở liệu)  Quyết định cấu trúc lưu trữ, chiến lược truy cập  Xác định thao tác cho đảm bảo tính đắn an tồn liệu Vũ Bá Anh – Phan Phước Long

Ngày đăng: 27/11/2023, 15:15

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN