Cơ sở lập trình bài giảng dành cho sinh viên Đại học, Cao đẳng

91 467 0
Cơ sở lập trình bài giảng dành cho sinh viên Đại học, Cao đẳng

Đ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

Cơ sở lập trình bài giảng dành cho sinh viên Đại học, Cao đẳng là bộ tài liệu hay và rất hữu ích cho các bạn sinh viên và quý bạn đọc quan tâm. Đây là tài liệu hay trong Bộ tài liệu sưu tập gồm nhiều Bài tập THCS, THPT, luyện thi THPT Quốc gia, Giáo án, Luận văn, Khoá luận, Tiểu luận…và nhiều Giáo trình Đại học, cao đẳng của nhiều lĩnh vực: Toán, Lý, Hoá, Sinh…. Đây là nguồn tài liệu quý giá đầy đủ và rất cần thiết đối với các bạn sinh viên, học sinh, quý phụ huynh, quý đồng nghiệp và các giáo sinh tham khảo học tập. Xuất phát từ quá trình tìm tòi, trao đổi tài liệu, chúng tôi nhận thấy rằng để có được tài liệu mình cần và đủ là một điều không dễ, tốn nhiều thời gian, vì vậy, với mong muốn giúp bạn, giúp mình tôi tổng hợp và chuyển tải lên để quý vị tham khảo. Qua đây cũng gởi lời cảm ơn đến tác giả các bài viết liên quan đã tạo điều kiện cho chúng tôi có bộ sưu tập này. Trên tinh thần tôn trọng tác giả, chúng tôi vẫn giữ nguyên bản gốc. Trân trọng. ĐỊA CHỈ DANH MỤC TẠI LIỆU CẦN THAM KHẢO http:123doc.vntrangcanhan348169nguyenductrung.htm hoặc Đường dẫn: google > 123doc > Nguyễn Đức Trung > Tất cả (chọn mục Thành viên)

TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG KHOA CÔNG NGHỆ THÔNG TIN  HÀ VĂN LÂM BÀI GIẢNG SỞ DỮ LIỆU Quảng Ngãi, tháng 12 năm 2016 TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG KHOA CÔNG NGHỆ THÔNG TIN  BÀI GIẢNG SỞ DỮ LIỆU Dành cho sinh viên bậc đại học ngành Công nghệ thông tin Sư phạm tin Quảng Ngãi, tháng 12 năm 2016 Chương 1: TỔNG QUAN VỀ SỞ DỮ LIỆU Thời lượng: 03 tiết lý thuyết Kết thúc chương này, sinh viên thể:  Hiểu phải đời hệ sở liệu  Biết đối tượng sử dụng sở liệu  Biết yêu cầu(đặc tính)của hệ sở liệu  Biết thành phần hệ quản trị sở liệu 1.1 DẪN NHẬP - TẠI SAO PHẢI MỘT SỞ DỮ LIỆU 1.1.1 Hệ thống tập tin cổ điển - Trong trình xử lý thông tin, cách tiếp cận cổ điển biểu diễn dạng sau: OUTPUT INPUT - Phân tích liệu (Output) dẫn đến nhu cầu cần (Input) Dữ liệu dùng cho chương trình ứng dụng định 1.1.2 Các ví dụ Ứng dụng 1: Về quản lý tiền lương (QLTL) Lập bảng lương đơn vị quản lý STT Họ tên Bậc lương Phụ cấp Tiền lương * Suy liệu cần: - Họ tên, Bậc lương, Bậc lương * Dữ liệu tổ chức thành tập tin: - Tập tin NHANVIEN_1 gồm: Họ tên Bậc lương - Tập tin CHEDO_PHUCAP gồm: * đồ khai thác hệ QLTL sau: Phụ cấp NHANVIEN_1 Bậc lương CHEDO_PHUCAP Chương trình QLTL Phiếu lương Ứng dụng 2: Lập danh sách phân công (dự kiến) cho công trình(QLCT) STT Họ tên Chuyên môn * Suy liệu cần: - Họ tên, Chuyên môn, Công trình * Dữ liệu tổ chức thành tập tin: - Tập tin NHANVIEN_2 gồm: Họ tên - Tập tin CONG_TRINH gồm: * đồ khai thác hệ QLTL sau: Công trình Công trình NHANVIEN_2 Chuyên môn Chuyên môn CONG_TRINH Chương trình QLCT Phân công Danh sách Nhận xét: - Việc xử lý, khai thác liệu công tác quản lý khoa học đơn lẻ, tự phát phòng ban chức quan, đơn vị theo cấu trúc tổ chức liệu cho riêng - Việc triển khai tiến hành với thời gian ngắn, đầu tư, tốn nhân sự, vật chất… - Chính quan điểm dẫn đến việc: trùng lắp thông tin, dư thừa thông tin, lại không quán xử lý, quản lý thông tin Quan trọng thiếu chia sẻ thông tin đơn vị - Do nhu cầu xử lý thông tin ngày qui mô, rộng nhiều khía cạnh nên đòi hỏi đời hệ sở liệu để giải nhu cầu 1.2 ĐỊNH NGHĨA MỘT SỞ DỮ LIỆU 1.2.1 Giới thiệu chung - Nghiên cứu sở liệu (CSDL) giúp biết lưu trữ, cập nhật, tìm kiếm thông tin nhanh, hiệu quả, tiết kiệm nhớ Mặt khác giúp hiểu ràng buộc mang tính chất nội mô hình sở liệu - sở liệu môn học liên quan nhiều đến lý thuyết đại số, logic toán nhiều lĩnh vực kiến thức tin học khác - Bất kỳ ứng dụng tin học chứa đựng vấn đề cách tổ chức lưu trữ khai thác liệu - Hiện nay, CSDL gắn liền với ứng dụng tin học, chẳng hạn quản lý hệ thống thông tin quan, đơn vị, trường học - Đó liệu tác nghiệp quan, đơn vị trường học bao gồm: Dữ liệu sản phẩm, liệu tài khoản, liệu đào tạo, liệu sinh viên, liệu lập kế hoạch công việc v.v - CSDL bảo đảm cho quan, đơn vị, trường học khả quản lý tập trung liệu tác nghiệp Cần phải tính đến người quản trị CSDL, chịu trách nhiệm liệu tác nghiệp 1.2.2 Định nghĩa sở liệu CSDL tập hợp liệu tổ chức cấu trúc liên quan với lưu trữ máy tính Để tối ưu hóa thao tác sau: - Lưu trữ liệu - Truy xuất thông tin - Cập nhật liệu 1.3 CÁC ĐỐI TƯỢNG SỬ DỤNG CSDL 1.3.1 Các đối tượng sử dụng CSDL - Quản trị viên (Database Administrator - DBA) + trách nhiệm quản lý hệ CSDL cấp quyền truy cập CSDL + Điều phối giám sát việc sử dụng CSDL - Thiết kế viên (Database Designer) + Chịu trách nhiệm - Lựa chọn cấu trúc phù hợp để lưu trữ liệu - Quyết định liệu cần lưu trữ + Liên hệ với người dùng để nắm bắt yêu cầu đưa thiết kế CSDL thỏa yêu cầu + thể nhóm (DBA) quản lý CSDL sau việc thiết kế hoàn tất - Người dùng cuối (End User) * Người sử dụng - Ít truy cập CSDL, cần thông tin khác lần truy cập dùng câu truy vấn phức tạp - Người quản lý * Người sử dụng thường xuyên - Thường xuyên truy vấn cập nhật CSDL nhờ vào số chức xây dựng sẳn - Nhân viên * Người sử dụng đặc biệt - Thông thạo HQT CSDL, tự xây dựng truy vấn phức tạp cho công việc - Kỹ sư, nhà khoa học, người phân tích,… 1.3.2 Các đặc tính hệ CSDL(yêu cầu) Tính cấu trúc: Thông tin CSDL lưu trữ theo cấu trúc định Tính toàn vẹn: Các giá trị liệu lưu trữ CSDL phải thỏa mãn ràng buộc Tùy thuộc vào hành động tổ chức CSDL Tính quán: Sau lần cập nhật cố(phần cứng, Phần mềm) xảy trình cập nhật CSDL phải đảm bảo tính quán liệu Tính an toàn bảo mật thông tin: CSDL phải bảo vệ an toàn, tránh truy cập không phép phải khôi phục CSDL cố xảy (phần cứng, Phần mềm) Mỗi nhóm NSD thamền hạn mục đích khác Tính không dư thừa: CSDL không lưu trữ liệu trùng lặp Tính cạnh tranh: Cạnh tranh truy xuất, nhiều người sử dụng Do phải phân cấp cho chương trình ứng dụng 1.3.3 Cấu trúc CSDL: (Có mức) - Mức ngoài: Mô tả phần CSDL - Mức trung gian: Mô tả liệu lưu trữ CSDL mối quan hệ (logic) mẫu tin - Mức vật lý: Mô tả liệu lưu trữ nhớ 1.4 HỆ QUẢN TRỊ CSDL (Data Base Management System - DBMS) 1.4.1 Khái niệm Hệ quản trị CSDL Để giải tốt vấn đề mà cách tổ chức CSDL đặt khai thác hiệu quả, đảm bảo bảo mật, cạnh tranh truy xuất , cần thiết phải phần mềm chuyên dùng để khai thác chúng, phần mềm gọi hệ quản trị CSDL (Data base management system- DBMS) Hệ quản trị CSDL hệ thống phần mềm, nhiệm vụ hỗ trợ cho nhà phân tích, thiết kế người khai thác CSDL, đảm bảo bảo mật, cạnh tranh truy xuất, an toàn liệu, cung cấp cho người dùng cách nhìn khác CSDL Hiện nay, thị trường nhiều hệ quản trị CSDL (DBMS) với chất lượng khác như: Oracle, DB2, Paradox, Ms Access, Visual Foxpro, MySQL, SQL SERVER Lưu ý: Điều quan trọng để khai thác, tổ chức tốt CSDL cần phải hệ quản trị CSDL tối ưu, phù hợp với CSDL 1.4.2 Các thành phần Hệ quản trị CSDL (DBMS): (có phần) * Ngôn ngữ mô tả liệu(DDL) + Mô tả cấu trúc CSDL + Mô tả mối quan hệ liệu + Mô tả ràng buộc toàn vẹn liệu * Ngôn ngữ thao tác liệu(DML) đặc tính ngôn ngữ lập trình bậc cao dùng để: + Cập nhật liệu + Khai thác liệu (có loại: Thủ tục phi thủ tục) * Tự điển liệu(DD) Là nơi tập trung thông tin lưu trữ về: + Cấu trúc CSDL(thuộc tính, quan hệ…) + Chương trình ứng dụng + Mã bảo mật 1.5 ĐỒ TỔNG QUÁT CỦA MỘT HỆ QUẢN TRỊ CSDL 1.5.1 Kiến trúc lược đồ 1.5.2 Kiến trúc Hệ quản trị CSDL * Mức (lược đồ trong) - Mô tả cấu trúc lưu trữ vật lý CSDL * Mức quan niệm (lược đồ quan niệm) - Mô tả cấu trúc toàn thể CSDL cho cộng đồng người sử dụng, gồm thực thể, kiểu liệu, mối liên hệ ràng buộc - Che bớt chi tiết cấu trúc lưu trữ vật lý * Mức (lược đồ ngoài) - Còn gọi mức khung nhìn (view) - Mô tả phần CSDL mà nhóm người dùng quan tâm đến che dấu phần lại CSDL nhóm người dùng 1.6 TÍNH ĐỘC LẬP GIỮA DỮ LIỆU VÀ CHƯƠNG TRÌNH * hai mức độc lập liệu - Tính độc lập vật lý: Cho phép người Quản trị hệ quản trị CSDL thay đổi cách cài đặt mẫu tin mà không ảnh hưởng đến chương trình ứng dụng - Tính độc lập logic: Cho phép sửa đổi cấu trúc CSDL (thay đổi lược đồ quan niệm) mà không ảnh hưởng đến chương trình ứng dụng sử dụng CSDL oOo Chương 2: MÔ HÌNH THỰC THỂ LIÊN KẾT ER (Entity - Relationship model) Thời lượng: 03 tiết lý thuyết + 03 tiết tập Kết thúc chương này, sinh viên thể:  Hiểu thành phần mô hình thực thể liên kết ER  Biết sử dụng khái niệm mô hình bậc cao cho việc thiết kế sở liệu Trong chương làm quen với mô hình thực thể-liên kết (EntityRelationship model), gọi tắt mô hình ER Đó mô hình liệu quan niệm bậc cao phổ biến, tập trung vào cấu trúc sở liệu ràng buộc 2.1 SỬ DỤNG MÔ HÌNH KHÁI NIỆM BẬC CAO CHO VIỆC THIẾT KẾ SỞ DỮ LIỆU Hình 2.1 đồ mô tả bước việc thiết kế sở liệu - Bước tập hợp yêu cầu phân tích Trong bước này, người thiết kế sở liệu vấn người sử dụng sở liệu để hiểu đòi hỏi liệu họ - Bước tạo lược đồ quan niệm cho sở liệu cách sử dụng mô hình liệu quan niệm mức cao Bước gọi thiết kế khái niệm + Lược đồ khái niệm mô tả súc tích yêu cầu liệu người sử dụng, bao gồm mô tả chi tiết kiểu thực thể, kiểu liên kết ràng buộc, chúng biểu diễn khái niệm mô hình liệu bậc cao cung cấp Vì khái niệm không chứa chi tiết cài đặt (thể hiện), chúng thường dễ hiểu sử dụng để giao lưu với người sử dụng + Lược đồ quan niệm mức cao sử dụng dẫn chứng để đảm bảo tất đòi hỏi người sử dụng thoả mãn không chứa mâu thuẫn Giải pháp cho phép người thiết kế sở liệu tập trung vào việc đặc tả tính chất liệu mà không cần quan tâm đến chi tiết lưu trữ Một thiết kế sở liệu quan niệm tốt, dễ cho công việc người thiết kế sở liệu + Trong trình (hoặc sau khi) thiết kế lược đồ quan niệm, ta sử dụng phép toán mô hình liệu để đặc tả thao tác người sử dụng xác định phân tích chức + Điều giúp khẳng định lược đồ quan niệm thoả mãn yêu cầu chức xác định Nếu số yêu cầu chức lược đồ ban đầu bước sửa đổi lược đồ khái niệm cho phù hợp - Bước thiết kế sở liệu việc thể (cài đặt) sở liệu cách sử dụng hệ quản trị sở liệu sẵn Hầu hết hệ quản trị sở liệu sử dụng mô hình liệu thể (chẳng hạn mô hình sở liệu quan hệ đối tượng) Vì vậy, lược đồ quan niệm chuyển đổi từ mô hình liệu bậc cao thành mô hình liệu thể + Bước gọi thiết kế lô gic ánh xạ mô hình liệu Kết bước lược đồ sở liệu dạng mô hình liệu thể hệ quản trị sở liệu - Bước cuối thiết kế sở liệu thiết kế vật lý Trong bước ta phải cấu trúc lưu trữ bên trong, đường dẫn truy cập, tổ chức tệp cho tệp sở liệu Song song với hoạt động đó, chương trình áp dụng thiết kế cài đặt giao dịch sở liệu tương ứng với đặc tả giao dịch mức cao 2.2 CÁC THÀNH PHẦN BẢN CỦA MÔ HÌNH THỰC THỂ LIÊN KẾT 2.2.1 Thực thể, tập thực thể a) Thực thể - Thực thể “vật” giới thực tồn độc lập Một thực thể vật cụ thể (chẳng hạn người, ô tô, ) vật trừu tượng (chẳng hạn công ty, công việc, môn học, ) - Nếu lược đồ chứa khóa K R kết thúc thuật toán Ngược lại tạo lược đồ chứa K Ví dụ 3: Cho lược đồ quan hệ R(CTHRSG) F={CT, HRC, THR, CSG, HSR} Hãy phân rã R thành lược đồ đạt dạng chuẩn 3NF vừa bảo toàn thông tin vừa bảo toàn phụ thuộc hàm Giải: F =Ftt ={CT, HRC, THR, CSG, HSR} phủ tối thiểu Áp dụng thuật toán trên, R phân rã thành lược đồ R1(CT), R2(HRC), R3(THR), R4(CSG), R5(HSR) Tìm Khóa R TN = {HS}, TG = {CTR} Xi TNXi (TNXi)+ siêu khóa khóa HS CTHRSG HS HS  C HSC CTHRSG HSC T HST CTHRSG HST CT HSCT CTHRSG HSCT R HSR CTHRSG HSR CR HSCR CTHRSG HSCR TR HSTR CTHRSG HSTR CTR HSCTR CTHRSG HSCTR R5 chứa khóa R nên R1, R2, R3 ,R4, R5 kết phân rã Ví dụ 4: Cho lược đồ quan hệ R(ABCDEGH) F={ABD; EHG; GC; DC} phân rã R thành lược đồ dạng chuẩn 3NF vừa bảo toàn thông tin vừa bảo toàn phụ thuộc hàm Giải: Tìm phủ tối thiểu Ftt F Ftt = F = {ABD; EHG; GC; DC} Áp dụng thuật toán, R phân rã thành lược đồ CSDL sau: R1(ABD), R2(EHG), R3(GC), R4(DC) Tìm khóa R TN = {ABEH}, TG = {GD} Xi Siêu khóa Khóa TN Xi (TN Xi)+ ABEH ABCDEGH ABEH ABEH  G ABEHG ABCDEGH ABEHG D ABEHD ABCDEGH ABEHD GD ABEHGD ABCDEGH ABEHGD R1, R2, R3, R4 không chứa khóa  để bảo toàn thông tin ta cần R5(ABEH).Vậy kết phân rã R1, R2, R3, R4, R5 oOo -75 BÀI TẬP CHƯƠNG Bài 1: Cho lược đồ quan hệ R(ABCD) tập phụ thuộc hàm F = {A → B; BC→D} Những phụ thuộc hàm sau thuộc F+ ? C → D; A → D; AD → C; AC → D; BC → A; B → CD Bài 2: Cho lược đồ quan hệ R(ABCD) tập phụ thuộc hàm F = {A → D; D → A; AB→C} a Tính AC+ b Chứng minh BD → C ∈ F+ c R(ABCDEGH) F = {B → A; DA→ CE; D → H; GH→ C; AC→ D} Hãy tìm khoá R ? Bài 3: Cho lược đồ quan hệ R(ABCD) tập phụ thuộc hàm F = {AB → C; D → B; C → ABD} Hãy tìm tất khoá R Bài 4: Cho lược đồ quan hệ R(MSCD,MSSV,CD,HG) tập phụ thuộc F sau: F= {MSCD→CD; CD→MSCD; CD,MSSV→HG; MSCD,HG→MSV; CD,HG→MSSV; MSCD,MSSV→HG} Hãy tìm phủ tối thiểu F Bài 5: a Cho R(ABCD) F = {AB → C; D → B; C → ABD} Hãy kiểm tra xem AB → D thuộc F+ hay không ? Hãy tìm tất khoá lược đồ quan hệ R Xác định dạng chuẩn R b Cho R(A,B,C,D) F= {C → A; A → C; AD → B; BC → D; AB → D; CD→B } Hãy tìm phủ tối thiểu F Bài 6: Cho biết dạng chuẩn lược đồ quan hệ sau: a.R(ABCDEG) F= {A → BC, C → DE, E → G} 76 b.R(ABCDEGH) F= {C → AB, D → E, B → G} c.R(ABCDEGH) F= {A → BC D → E, H → G} d.R(ABCDEGHI) F= {AC → B; BI → ACD; ABC → D; H → I; ACE → BCG, CG → AE} Bài 7: Cho lược đồ quan hệ R(ABCDE) với F= {A  C; B  C;C  D;DE  C; CE  A} Kiểm tra phép tách R thành lược đồ R1(AD); R2(AB); R3(BE); R4(CDE); R5(AE) bảo toàn thông tin bảo toàn phụ thuộc hàm? Bài 8: Cho lược đồ quan hệ R(W,A,Z,Y,Q,P) với F = {W AYQP, A Z, YQP A} Kiểm tra phép tách R thành lược đồ R1(A,Z); R2(W,Y,Q,P); R3(Y,Q,P,A) bảo toàn thông tin bảo toàn phụ thuộc hàm? Bài 9: Giả sử ta lược đồ quan hệ R(C,D,E,G,H,K) tập phụ thuộc hàm F sau F = {CK H; C D; EC; E G; CK E} a) Từ tập F, chứng minh EK  DH b) Tìm tất khóa R c) Xác định dạng chuẩn R d) Hãy tìm cách phân rã R thành lược đồ CSDL đạt dạng chuẩn BC (hoặc dạng chuẩn 3) tìm tập phụ thuộc hàm khóa cho lược đồ quan hệ Bài 10: Cho lược đồ quan hệ R(S,I,D,M) F = {SI  DM; SD M; D M} a) Tính bao đóng D+, SD+, SI+ b) Tìm tất khóa R c) Tìm phủ tối thiểu F d) Xác định dạng chuẩn cao R e) Nếu R chưa đạt dạng chuẩn 3, phân rã R thành lược đồ CSDL dạng chuẩn vừa bảo toàn phụ thuộc hàm vừa bảo toàn thông tin f) Nếu R chưa đạt dạng chuẩn BCNF, phân rã R thành lược đồ CSDL dạng BCNF g) Kiểm tra phép tách R thành lược đồ (SID,SIM) bảo toàn thông tin ? h) Kiểm tra phép tách R thành lược đồ (SID,SIM) bảo toàn phụ thuộc hàm ? oOo 77 Chương 5: NGÔN NGỮ TRUY VẤN CẤU TRÚC SQL Thời lượng: 03 tiết lý thuyết + 03 tiết tập Kết thúc chương này, sinh viên thể:  Hiểu khái niệm ngôn ngữ chuẩn mô hình quan hệ  Biết quản lý liệu (bổ sung, xoá, sửa liệu)  Biết tạo lập vấn tin liệu Trong chương bạn tìm hiểu khái niệm ngôn ngữ chuẩn mô hình quan hệ, gọi ngôn ngữ vấn tin cấu trúc SQL (Structured Query Langague) Ngôn ngữ gồm khoảng ba mươi lệnh thiết kế để làm việc với ứng dụng cần xử lý liệu lưu CSDL quan hệ Đa số phần mềm quan hệ hỗ trợ SQL, đồng thời nhiều nhà cung cấp phần mềm phát triển thêm cho tập lệnh SQL Do từ khoá SQL tương đối nên SQL tương đối dễ học Tính đơn giản hoàn thiện hoạt động xuất trình sử dụng tổ chức hậu trường CSDL Chẳng hạn, lệnh SQL tạo tập phức tạp cấu trúc CSDL Một lệnh đơn giản khác lại tạo cấu trúc bảng phức tạp cần cho lưu trữ xử lý thành công liệu SQL ngôn ngữ phi thủ tục: người dùng mô tả phải làm, mô tả cách thực Sử dụng lệnh SQL, người dùng lập trình viên không cần phải biết khuôn dạng lưu trữ vật lý hoạt động phức tạp tổ chức lệnh SQL thực Tuy nhiên, cho dù SQL hữu dụng đầy lực, điều nghĩa hoạt động độc lập lĩnh vực ứng dụng Nhập liệu không tiện lợi, sửa bổ sung liệu SQL không tạo menu, khuôn dạng báo cáo cụ thể, menu đổ xuống tiện ích công cụ hình khác thường mong muốn người dùng đầu cuối Ngược lại, giao diện tạo lập trình viên ngôn ngữ hệ ba, hàng loạt tiện ích bổ sung đặc biệt cho phép khai thác triệt để lực SQL Bạn thấy SQL làm cho ứng dụng CSDL bạn mạnh lên, tiện ích bổ sung cho phép bạn tạo giao diện thân thiện trình bày kết lấy từ liệu hấp dẫn 5.1 GIỚI THIỆU SQL Về mặt lý thuyết, ngôn ngữ CSDL phải cho phép tạo cấu trúc CSDL bảng, cho phép thực công việc quản lý liệu (bổ sung, xoá, sửa liệu), đồng thời phải cho phép thực câu vấn tin phức tạp thiết kế để biến đổi liệu thô thành thông tin hữu dụng Hơn nữa, phải thực chức với nỗ lực tối thiểu 78 người dùng, đồng thời cấu trúc lệnh cú pháp phải dễ học Cuối cùng, phải dễ chuyển đổi, nghĩa là, phải tuân theo chuẩn để học lại nhiều chuyển từ RDBMS sang RDBMS khác SQL đáp ứng tốt yêu cầu ngôn ngữ CSDL lý tưởng Trước hết, lực SQL đáp ứng ba loại: - Định nghĩa liệu tạo cấu trúc CSDL cấu trúc bảng - Quản lý liệu dùng tập lệnh nhập, sửa, xoá cập nhật liệu bảng CSDL - Vấn tin liệu dùng tập lệnh khảo sát nội dung CSDL cho phép người dùng chuyển liệu thô thành thông tin hữu ích SQL tương đối dễ học: Các chức CSDL cần thiết tập khoảng ba mươi lệnh Hơn nữa, SQL ngôn ngữ phi thủ tục: Bạn phải cần yêu cầu phải làm, bạn bận tâm cách làm Cuối cùng, Viện Tiêu chuẩn Quốc gia Mỹ ANSI (American National Standards Institute) tham định chặt chẽ chuẩn SQL Không chuẩn ANSI chặt chẽ đến mức tất sản phẩm SQL thương mại tuân theo Trên thực tế, số nhà cung cấp tiếp nhận chuẩn ANSI SQL 2, cài đặt năm 1993 Do đó, chuyển ứng dụng từ RDBMS sang RDBMS khác mà tạo vài thay đổi Tuy nhiên, phiên SQL khác dùng chung tập lệnh cấu trúc bản, từ cho phép kết luận chuẩn khả dùng Chúng ta dùng chuẩn tảng cho trình bày Tuy nhiên trình bày số cải tiến SQL, đặc biệt cải tiến sử dụng rộng rãi nhiều nhà cung cấp RDBMS Đừng vội thất vọng tồn số phiên SQL đặc thù Do khác biệt phiên SQL đặc thù không lớn lắm, bạn phải thay đổi chút để điều chỉnh yêu cầu phần mềm bạn Cho dù bạn sử dụng XDB, ORACLE, dBASE IV, DB2, R:BASE DOS, OS/2 DataBase Manager IBM, phần mềm RDBMS thiết lập đắn khác, kinh nghiệm cần vài với sổ tay phần mềm đủ để bạn tăng tốc độ SQL bạn biết nội dung trình bày chương Tóm lại, kiến thức bạn nhận chương khả dùng sốđáng để nghiên cứu vấn đề SQL: Nỗ lực chuẩn hoá ANSI đưa đến chuẩn vấn tin thực tế cho CSDL quan hệ Trên thực tế, nhiều chuyên gia CSDL quan hệ thiên khẳng định “Không SQL quan hệ” SQL trở thành sở cho nỗ lực hợp DBMS tương lai gần, cho phép liên kết CSDL quan hệ, mạng phân cấp SQL 79 trở thành chất xúc tác trình phát triển CSDL phân tán kiến trúc CSDL khách/chủ 5.2 NGÔN NGỮ TRUY VẤN SQL SQL ngôn ngữ truy vấn dựa ngôn ngữ đại số quan hệ ngôn ngữ phi thủ tục SQL sản phẩm nhóm nghiên cứu trung tâm nghiên cứu IBM San Jose, California, USA Ngôn ngữ phát triển từ ngôn ngữ SEQUEL (Structured Englist Query Language), đời vào đầu thập niên 70 Ngôn ngữ cài đặt nhiều hệ thống nhanh chóng trở thành ngôn ngữ chuẩn khai thác CSDL quan hệ máy tính Năm 1989, IBM công bố chuẩn mở rộng cho SQL gọi SQL-89 số hệ quản trị CSDL phần ngôn ngữ SQL mang đặc tính SQL-89 Ngôn ngữ SQL chuẩn SQL với phiên SQL-92 đời vào năm 1992 áp dụng cho hệ quản trị sở liệu Microsoft SQL Server 5.2.1 Nhóm lệnh kiến trúc CSDL 5.2.1.1 Tạo cấu trúc cho quan hệ Cú pháp: CREATE TABLE ( [)][not null], primary key () [unique (), ] [foreign key () reference , ] [check ] Các liệu sử dụng gồm:( phụ thuộc vào hệ QT CSDL thao tác ) Số nguyên : INTEGER, SMALLINT Số thực : REAL Chuỗi ký tự : CHAR (Số ký tự) Ngày : DATE Luận lý : BOOLEAN Lưu ý: Nếu thực hành SQL Foxpro for Dos, phải chọn kiễu liệu : Numeric, Date, Float, Logical, character - Not null : Cho biết phía trước không lấy giá trị null - Thuộc tính khóa bị ràng buộc not null - Primary key () : Khai báo khóa quan hệ - Union (), : Khai báo khóa khác - Foreign key () reference , : Khai báo khóa ngoại - Check : Mô tả ràng buộc khác Ví dụ 1: ( kiểm tra giá trị hợp lệ thuộc tính Học bổng Khóa học) 80 CREATE TABLE SVIEN (MASV char(4), HOSV char(17), TENSV char(7), PHAI Boolean, NGSINH Date, KHOAHOC char(1), HOCBONG Numeric(6,2)) Check HOCBONG Between and 200000 Chech KHOAHOC in (‘1’, ’2’, ’3’) 5.2.1.2 Hủy quan hệ Cú pháp: DROP TABLE Ví dụ 2: DROP TABLE SVIEN 5.2.1.3 Thêm, hủy bỏ thuộc tính quan hệ * Thêm Cú pháp: Alter Table Add [][not null], * Hủy Cú pháp: Alter table Drop , Ví dụ 3: + Xóa thuộc tính HOCBONG khỏi quan hệ SVIEN Alter Table SVIEN Drop HOCBONG + Thêm thuộc tính UUTIEN vào quan hệ SVIEN Alter Table SVIEN Add UUTIEN real not null 5.2.2 Nhóm lệnh cập nhật liệu 5.2.2.1 Thêm Cú pháp: INSERT INTO values () gt1, gt2, gtn theo thứ tự thuộc tính quan hệ ban đầu Lệnh thêm vào gán cho thuộc tính thứ i tương ứng quan hệ Trường hợp không xác định đầy đủ tất giá trị cho thuộc tính quan hệ, ta phải liệt kê danh sách thuộc tính nhận giá trị theo cú pháp đây: INSERT INTO (, ) values (, ) Các thuộc tính không liệt kê nhận giá trị null không bị ràng buộc phải mang giá trị not null Giá trị thêm vào kết lệnh truy vấn Ví dụ 4: Cho Q1(A, B), Q2(A, B, C) INSERT INTO Q1 Select A, B From Q2 Where C = c1 5.2.2.2 Xóa quan hệ 81 DELETE from [where ] Lệnh tác dụng loại khỏi quan hệ tất thỏa 5.2.2.3 Sửa nội dung quan hệ Cú pháp: UPDATE SET = , [WHERE ] Những giá trị gán cho thuộc tính phải thuộc miền giá trị tương ứng thuộc tính Lệnh cập nhật liệu cho thỏa mãn 5.2.3 Nhóm lệnh truy vấn liệu Cấu trúc lệnh truy vấn sau: Cú pháp: SELECT * [Distinct] [], FROM [WHERE ] [ Group By, ] [Having] [ Order By [Desc], ] - Ký hiệu “*” sau từ khóa Select tất thuộc tính - Biểu thức kết hợp hợp lệ thuộc tính, toán tử hàm - Điều kiện biểu thức Logic  Các hàm thường dùng SUM (thuộc tính) : tính tổng giá trị thuộc tính bảng AVG (thuộc tính) : tính giá trị trung bình bảng MAX(thuộc tính) : tìm trị lớn bảng MIN (thuộc tính) : tìm trị nhỏ bảng COUNT (*/ thuộc tính / distinct ) : Count (*) đếm số kể giá trị Null Count (thuộc tính) đếm số giá trị thuộc tính khác Null Count (distinct) đếm số giá trị thuộc tính khác Null giá trị trùng thuộc tính đếm lần  Các toán tử phép dùng biểu thức + Các toán tử số học : +, -, *, /, ^, mod, + Các toán tử logic : And, Or, Not + Các toán tử so sánh : =, , >, >=, =5 and D =5 and D1.000.000 5.2.3.7 Phép hội / trừ / giao Cho Q1(A1,B1) Q2(A1, B1), với Phép hội : (SELECT A1 FROM Q1 ) UNION (SELECT A1 FROM Q2 ) Phép trừ : Phép giao : (SELECT * FROM Q1 ) MINUS (SELECT * FROM Q2 ) (SELECT A1 FROM Q1 ) INTERSECT (SELECT A1 FROM Q2 oOo 85 BÀI TẬP CHƯƠNG Cho lược đồ CSDL sau: SINHVIEN(Masv, Hosv, Tensv, Ngaysinh, Phai, Makhoa) KHOA(Makhoa, Tenkhoa) MONHOC(Mamh, Tenmh, Sotiet) KETQUA(Masv, Mamh, Lanthi, Diem) Cho biết kết qủa học tập sinh viên sinh viên S007 Liệt kê sinh viên sinh vào ngày 03 tháng 07 Cho biết danh sách sinh viên mà họ chứa chữ Anh Cho biết danh sách sinh viên Nam khoa 'Công Nghệ Thông Tin' tăng dần theo tên Cho biết danh sách môn học số tiết 40 tên bắt đầu chữ T Liệt kê sinh viên từ 20 tuổi trở lên khoa 'Công Nghệ Thông Tin' khoa 'Điện Tử Viễn Thông' Cho biết tên khoa Sinh viên Cho biết danh sách sinh viên chưa học môn nào, thông tin gồm Hosv, Tensv, Ngaysinh, Ten khoa Cho biết danh sách sinh viên học môn mã môn học AV, giảm dần theo ngày sinh.(Thông tin hiển thị gồm MASV,HOSV,TENSV,NGAYSINH,TENKHOA) 10 Cho biết tên sinh viên điểm cao 11 Cho biết sinh viên rớt môn CSDL lần thi thứ 12 Cho biết sinh viên rớt môn CSDL lần thi thứ mà chưa thi lại lần 13 Đếm số lượng sinh viên khoa 'Quản Trị Kinh Doanh' 14 Đếm số lượng sinh viên khoa 15 Cho biết tên khoa đông sinh viên 16 Cho biết điểm thấp môn học 17 Cho biết tên môn học chưa sinh viên học 18 Cho biết điểm trung bình, điểm lớn nhất, điểm nhỏ nhất, lần thi thứ sinh viên.(Thông tin gồm TenSV, TenKhoa, DiemTB) oOo 86 TÀI LIỆU THAM KHẢO Lê Tiến Vương, Nhập môn CSDL quan hệ, NXB Khoa học & Kỹ thuật, 2000 Nguyễn An Tế, Giáo trình nhập môn CSDL, Khoa CNTT, ĐHQG TP Hồ Chí Minh, 1996 Nguyễn Bá Tường, sở liệu lý thuyết thực hành, NXB Khoa học & Kỹ thuật, Hà Nội 2001 Hồ Thuần, Nguyễn Quang Vinh, Nguyễn Xuân Huy, Nhập môn hệ CSDL (tập & 2) Bài giảng môn sở liệu, Trường Cao đẳng Công nghiệp 4, Thành phố Hồ Chí Minh, 2005 David Maier The theory of Relational Databases, Computer Science Press, Rockville, 1983 87 MỤC LỤC Chương 1: TỔNG QUAN VỀ SỞ DỮ LIỆU 1.1 DẪN NHẬP - TẠI SAO PHẢI MỘT SỞ DỮ LIỆU 1.1.1 Hệ thống tập tin cổ điển 1.1.2 Các ví dụ 1.2 ĐỊNH NGHĨA MỘT SỞ DỮ LIỆU 1.2.1 Giới thiệu chung 1.3 CÁC ĐỐI TƯỢNG SỬ DỤNG CSDL 1.3.1 Các đối tượng sử dụng CSDL 1.3.2 Các đặc tính hệ CSDL(yêu cầu) 1.3.3 Cấu trúc CSDL: (Có mức) 1.4 HỆ QUẢN TRỊ CSDL (Data Base Management System - DBMS) 1.4.1 Khái niệm Hệ quản trị CSDL 1.4.2 Các thành phần Hệ quản trị CSDL (DBMS): (có phần) 1.5 ĐỒ TỔNG QUÁT CỦA MỘT HỆ QUẢN TRỊ CSDL 1.5.1 Kiến trúc lược đồ 1.5.2 Kiến trúc Hệ quản trị CSDL 1.6 TÍNH ĐỘC LẬP GIỮA DỮ LIỆU VÀ CHƯƠNG TRÌNH Chương 2: MÔ HÌNH THỰC THỂ LIÊN KẾT ER (Entity - Relationship model) 2.1 SỬ DỤNG MÔ HÌNH KHÁI NIỆM BẬC CAO CHO VIỆC THIẾT KẾ SỞ DỮ LIỆU 2.2 CÁC THÀNH PHẦN BẢN CỦA MÔ HÌNH THỰC THỂ LIÊN KẾT 2.2.1 Thực thể, tập thực thể 2.2.2 Các loại thuộc tính 2.2.3 Kiểu thực thể, tập thực thể, khoá tập giá trị 10 2.2.4 Các liên kết, kiểu liên kết, vai trò ràng buộc cấu trúc 12 2.2.5 Cấp liên kết, tên vai trò liên kết đệ quy 13 2.2.6 Các ràng buộc kiểu liên kết 14 2.2.7 Ví dụ thiết kế mô hình ER 16 BÀI TẬP CHƯƠNG 19 CHƯƠNG 3: MÔ HÌNH QUAN HỆ 20 3.1 CÁC KHÁI NIỆM CỦA MÔ HÌNH QUAN HỆ 20 3.1.1 Miền, thuộc tính, quan hệ 20 3.1.2 Các đặc trưng quan hệ 22 3.2 CÁC RÀNG BUỘC QUAN HỆ, LƯỢC ĐỒ CSDL QUAN HỆ 23 3.2.1 Các ràng buộc miền 24 3.2.2 Ràng buộc khoá ràng buộc giá trị rỗng (null) 24 3.2.3 sở liệu quan hệ lược đồ sở liệu quan hệ 25 3.2.4 Toàn vẹn thực thể, toàn vẹn tham chiếu khoá 28 3.3 CÁC PHÉP TOÁN CỦA MÔ HÌNH QUAN HỆ 29 3.3.1 Các phép toán cập nhật 29 3.3.2 Các phép toán đại số quan hệ 31 3.3.3 Các phép toán lý thuyết tập hợp 34 3.3.4 Các phép toán quan hệ bổ sung 39 3.4 CHUYỂN ĐỔI MÔ HÌNH THỰC THỂ - LIÊNKẾT THÀNH MÔ HÌNH QUAN HỆ 40 3.4.1 Các quy tắc chuyển đổi 40 3.4.2 Chuyển đổi mô hình cụ thể 43 BÀI TẬP CHƯƠNG 45 88 Chương 4: LÝ THUYẾT CHUẨN HÓA LƯỢC ĐỒ QUAN HỆ 46 4.1 CÁC KHÁI NIỆM BẢN 46 4.1.1 Quan hệ 46 4.1.2 Các tính chất quan hệ 47 4.1.3 Các ràng buộc toàn vẹn quan hệ 47 4.2 PHỤ THUỘC HÀM 49 4.2.1 Khái niệm phụ thuộc hàm 49 4.2.2 Định nghĩa phụ thuộc hàm 50 4.2.3 Các phụ thuộc hàm 51 4.2.4 Hệ luật dẫn ARMSTRONG (Armstrong inference rule) 51 4.2.5 Phụ thuộc hàm suy diễn logic từ F 52 4.2.6 Bao đóng tập thuộc tính X (closures of attribute sets) 53 4.2.7 Bài toán thành viên 54 4.3 PHỦ CỦA TẬP PHỤ THUỘC HÀM .54 4.3.1 Định nghĩa 54 4.3.2 Phủ tối thiểu tập phụ thuộc hàm (minimal cover) 55 4.4 KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (KEY) 57 4.4.1 Định Nghĩa 57 4.4.2 Các thuật toán tìm khóa 57 4.5 DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ (Normal Forms For Relation Schemes) 59 4.5.1 Dạng chuẩn 1NF (First Normal Form) 59 4.5.2 Dạng Chuẩn 2NF (Second Normal Form) 60 4.5.3 Dạng Chuẩn 3NF (Third Normal Form) 60 4.5.4 Dạng Chuẩn BCNF (Boyce-Codd Normal Form) 63 4.6 PHÉP TÁCH KẾT NỐI BẢO TOÀN 64 4.6.1 Phép tách kết nối bảo toàn thông tin (lossless-join decomposition) 64 4.6.2 Định nghĩa phép tách R thành lược đồ 65 4.6.3 Thuật toán kiểm tra phép tách kết nối bảo toàn thông tin 66 4.6.4 Phép tách bảo toàn phụ thuộc hàm (decompositions that preserve dependencies) 68 4.7 THIẾT KẾ CSDL BẰNG CÁCH PHÂN RÃ 72 4.7.1 Phân rã thành dạng chuẩn BCNF (hay chuẩn 3NF) bảo toàn thông tin 72 4.7.2 Phân rã thành dạng chuẩn 3NF vừa bảo toàn thông tin vừa bảo toàn phụ thuộc hàm 74 BÀI TẬP CHƯƠNG 76 CHƯƠNG 5: NGÔN NGỮ TRUY VẤN CẤU TRÚC SQL 78 5.1 GIỚI THIỆU SQL 78 5.2 NGÔN NGỮ TRUY VẤN SQL 80 5.2.1 Nhóm lệnh kiến trúc CSDL 80 5.2.2 Nhóm lệnh cập nhật liệu 81 5.2.3 Nhóm lệnh truy vấn liệu 82 BÀI TẬP CHƯƠNG 86 TÀI LIỆU THAM KHẢO .87 89 ...TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG KHOA CÔNG NGHỆ THÔNG TIN  BÀI GIẢNG CƠ SỞ DỮ LIỆU Dành cho sinh viên bậc đại học ngành Công nghệ thông tin Sư phạm tin Quảng... nhân viên tham gia vào công trình, công trình phân cho nhiều nhân viên nhân viên lúc tham gia vào nhiều công trình Với công trình nhân viên có số lượng ngày công (SLNGAYCONG) tham gia vào công trình. .. quan niệm bậc cao phổ biến, tập trung vào cấu trúc sở liệu ràng buộc 2.1 SỬ DỤNG MÔ HÌNH KHÁI NIỆM BẬC CAO CHO VIỆC THIẾT KẾ CƠ SỞ DỮ LIỆU Hình 2.1 Sơ đồ mô tả bước việc thiết kế sở liệu - Bước

Ngày đăng: 03/05/2017, 09:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan