Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
2,02 MB
Nội dung
1 Chương 1: Nhập môn CSDL Nào giải pháp hệ thống tệp? Nhược điểm sao? Hệ thống quản lí tệp truyền thống thường tổ chức riêng rẽ, phục vụ cho mục đích đơn vị đơn vị trực thuộc cụ thể Hệ thống quản lý tệp truyền thống cho phép ta tạo loại tệp, truy cập xử lý thông tin tệp thông qua chương trình ứng dụng Các phần mềm ứng dụng viết ngôn ngguwx lập trình đa nhu PASCAL, C, Nhược: - Thông tin tổ chức riêng rẽ nhiều nơi nên việc cập nhật dễ làm tính quán liệu - Hệ thống thông tin tổ chức thành hệ thống file riêng lẻ nên thiếu chia sẻ thông tin nơi - Có dư thừa liệu lớn qua việc trùng lặp tệp tin ứng dụng khác - Không gian đĩa bị lãng phí, khó khăn việc bảo trì hệ thống - Khó khăn việc truy xuất liệu Hệ sở liệu gì?Ưu điểm Hệ CSDL a Các thành phần hệ CSDL b Ưu điểm việc xây dựng hệ CSDL: - Đảm bảo độc lập liệu: Dữ liệu độc lập với chương trình làm cho liệu sử dụng rộng rãi thuận lợi - Giảm thiểu việc dư thừa liệu: Khác với hệ thống tệp, hệ thống CSDL tổ chức theo cấu trúc thống nhất, hợp lý hạn chế việc lưu trữ nhiều nơi - Đảm bảo tính quán toàn vẹn liệu: Do dư thừa nên hạn chế dị thường thay đổi, cập nhật - Tăng tính dùng chung: CSDL có khả cho nhiều người truy cập sử dụng người nhìn vào CSDL riêng không bị ảnh hưởng người khác - Tăng khả phát triển ứng dụng: Do có mở rộng giao lưu nên khả sáng lạo cải tiến thuận lợi - Tính chuẩn hoá cao - Chất lượng liệu cải thiện - Giảm bớt chi phí bảo trì hệ thống Dị thường liệu Dị thường vấn đề xảy dư thừa bảng Không phải tất bảng phát sinh dị thường, xảy bảng chưa chuẩn hóa hoàn thiện Một bảng chuẩn hóa lỗi xảy dị thường sau: Dị thường cập nhật, xóa, thêm Việc không quán liệu ảnh hưởng Sự không quán liệu lưu trữ làm cho liệu tính toàn vẹn Tính toàn vẹn liệu đảm bảo cho Tính toàn vẹn liệu đảm bảo cho lưu trữ liệu Toàn vẹn liệu việc đặt quy tắc CSDL nhằm kiểm tra giá trị liệu trước lưu trữ phải đảm bảo tính xác hợp lí bên CSDL Mô hình hệ sở liệu ntn (mức logic, mức vật lí, mức ngoài) Kiến trúc hệ CSDL Cấu trúc hệ CSDL gồm ba mức: - Mức ngoài: Là mức sát với người sử dụng nhất, cách nhìn, quan niệm người sử dụng CSDL mức khái niệm Khả truy nhập tuỳ thuộc vào quyền hạn USER - Mức logic (CSDL mức khái niệm): Là tập liệu biểu diễn dạng trừu tượng CSDL vật lý - Mức vật lý: Là tập liệu biểu diễn theo cấu trúc đó, lưu thiết bị nhớ thứ cấp (như đa từ, băng từ ) Thế độc lập mức vật lí? Mức logic? Tính độc lập liệu bất biến chương trình ứng dụng thay đổi cấu trúc lưu trữ chiến lược truy nhập vào CSDL Tính độc lập liệu có hai mặt: Độc lập vật lý: Là độc lập lưu trữ, chương trình ứng dụng không phụ thuộc vào việc liệu lưu giữ đâu lưu giữ thiết bị nhớ thứ cấp Độc lập lôgic: Sự thay đổi, thêm bớt thông tin thực thể mức quan niệm không đòi hỏi thay đổi khung nhìn người sử dụng dẫn tới không cần thay đổi chương trình ứng dụng Dữ liệu biểu diễn ntn a Mô hình phân cấp Mô hình liệu phân cấp (Hierachical Data Model) gọi tắt mô hình phân cấp đưa vào năm 60, mô hình liệu liệu tổ chức thành cấu trúc cây, nút (node) biểu diễn ghi, ghi liên kết với theo mối quan hệ cha con: - cha nhiều - có cha Ưu: - thể dễ dàng quan hệ 1-n - Việc phân chia liệu dễ thể hiện, đảm bảo an toàn liệu - Tính độc lập chương trình liệu đảm bảo Nhược: - Không thể quan hệ n-n - Trong hệ thống phân cấp, liệu tổ chức dẫn đến khó sửa đổi liệu - Lặp lại liệu, lãng phí nhớ tốn nhiều công sức tạo lập b Mô hình mạng Mô dình liệu mạng (Network Dât Model) gọi tắt mô hình mạng (Network Model) mô hình liệu biieeru diễn đồ thị có hướng Trong mô hình mạng người ta dùng yếu tố ghi liên kết Khái niệm ghi giống mô hình phân cấp, liên kết tập trỏ vật lí thiết lập quan hệ chủ sở hữu tập ghi với tập ghi khác Mô hình mạng người ta khắc phục việc dư thừa liệu mô hình phân cấp Tuy cấu trúc hệ thống phức tạp ngooài nội dung thông tin, ghi có thêm thông tin địa để truy nhập tới ghi thành viên Với liên kết phải có nhãn để xác định liên kết Ưu: - Dễ thể mối liên hệ n-n - Kiểu truy cập liệu mềm dẻo kiểu phân cấo Nhược: c 10 11 - Sửa đổi liệu khó khăn - Với lập trình viên, việc thiết kế CSDL khó Mô hình thực thể liên kết (Entity-Relationship) E-R mô hình trung gian để chuyển yêu cầu quản lý liệu giới thực thành mô hình CSDL quan hệ, dùng để thiết kế CSDL mức quan niệm Biểu diễn trừu tượng cấu trúc CSDL Mô hình thực thể- liên kết (Entity-Relationship Diagram) gồm: - Tập thực thể (Entity Sets) - Thuộc tính (Attributes) - Mối quan hệ (Relationship) Mối quan hệ 1-1, 1-n, n-n Mô hình thực thể liên kết diễn đạt khái niệm gì?Mô hình dùng để biểu diễn CSDL mức nào? (Khái niệm) Tổ chức liệu theo mô hình tốt phụ thuộc vào điều gì? Tổ chức liệu theo mô hình tốt phụ thuộc vào yêu cầu truy xuất khai thác thông tin đơn vị quản lý Nó sử dụng đâu vào lúc tốt Tuy nhiên thường người ta dựa vào tiêu chí sauu để nói mô hình tốt - Mục đích: Phần lớn mô hình liệu sd hệ thống ký hiệu để biểu diễn liệu làm tảng cho hệ ứng dụng ngôn ngữ thao tác liệu Các mô hình thực thể quan hệ hệ thống kí hiệu để xây dựng phép toán thao tác liệu mà sử dụng để thiết kế lược đồ khái niệm, cài đặt mô hình liệu với hệ trị CSDL - Hướng giá trị hay hướng đối tượng: mô hình liệu quan hệ mô hình logic mô hình liệu hướng giá trị Trong mô hình liệu hướng giá trị có tính khai báo có tác động đến ngôn ngữ hỗ trợ Các mô hình mạng, phân cấp, mô hình liệu hướng đối tượng cung cấp đặc tính nhận dạng đối tương, nên xem chúng mô hình hướng đối tượng - Tính dư thừa: tất mô hình liệu có khả hỗ trợ lưu trữ liệu vật lý hạn chế dư thừa liệu Tuy nhiên mô hình liệu hướng đối tượng giải dư thừa tốt hơn, cách tạp sử dựng trỏ đến nhiều vị trí khác - Giải quan hệ n-n: phần lớn mô hình CSDL có chứa mối quan hệ n-n, 1-n, hay 1-1 Một quan hệ có nhiều phần tử quan hệ khác ngược lại Tuy nhiên mô hình liệu mạng không chấp nhận mối quan hệ n-n Mỗi mô hình CSDL bao gồm gì? (Tập kí hiệu để mô tả liệu tập phép toán để thao tác CSDL) Mô hình liệu khuôn dạng liệu, cho phép người dùng biểu diễn liệu cấu trúc thuật ngữ dễ hiểu Một mô hình liệu hình thức toán học bao gồm: + Một hệ thống ký hiệu để mô tả liệu + Tập phép toán để thao tác lên CSDL 12 Các mô hình CSDL: a Hệ tập trung Hệ CSDL tập trung hệ CSDL lưu trữ vị trí định, gồm hệ CSDL sau: - Hệ CSDL cá nhân (Personal Database): mô hình hệ CSDL nhỏchỉ gồm máy tính cá nhân với vài người sử dụng làm nhiệm vụ đơn lẻ với quy mô nhỏ - Hệ CSDL trung tâm (Central Database):Hệ CSDL trung tâm hệ đa người dùng từ thiết bị đầu cuối (terminal) có hình phím để trao đổi thông tin Mọi xử lý, tính toán thực trung tâm với máy tính mạnh xử lí nhiều yêu cầu - Hệ CSDL Client-Server: (Client/Server Database):CSDL lưu trữ máy chủ, nơi quản lý CSDL (Server) nhiều máy trạm (Client) kết nối sử dụng chung CSDL b Hệ phân tán Hệ CSDL phân tán hệ CSDL CSDL tổ chức phân bố thành nhiều CSDL địa phương, lưu trữ máy tính vị trí địa lí khác thuộc hệ thống Các CSDL liên kết với qua mạng máy tính phục vụ nhu cầu người dùng nhiêu địa điểm khác mức suốt Hệ CSDL phân tán gồm loại - Hệ nhất: hệ CSDL địa phương biểu diễn theo mô hình giống phương thức truyền thông giống - Hệ không nhất: Ngược lại với mô hình hệ hệ thống không 13 Thế hệ quản trị CSDL? Những Hệ quản trị CSDL thông dụng nay? Một hệ quản trị CSDL thực chức sau: - Tạo cấu trúc liệu tương ứng với mô hình liệu chọn - Đảm bảo tính độc lập liệu - Cập nhật liệu - Phát sinh báo cáo từ liệu CSDL - Đảm bảo tính an toàn toàn vẹn liệu CSDL - Cung cấp tiện ích lưu phục hồi liệu - Cung cấp thủ tục điều khiển tương tranh Một hệ quản trị thông thường có thành phần sau: - Ngôn ngữ định nghĩa liệu (Data Definition Language) - Ngôn ngữ thao tác liệu (Data Manipulation Language) - Ngôn ngữ hỏi đáp dữliệu (Quay Language) - Bộ viết báo cáo - Từ điển liệu - Bộ phát sinh đồ hoạ 14 Người quản trị CSDL có nhiệm vụ Người quản trị CSDL: tổ chức có nhiều người sử dụng chung nguồn liệu thiết phải có người đầu quản lí, chịu trách nhiệm nguồn liệu Đó người quản trị CSDL (Database Administrators-DBA) DBA có nhiệm vụ tổ chức nội dung CSDL, tạo cấp quyền truy nhập CSDL cho người dùng, đưa yêu cầu phần cứng phần mềm… cần thiết DBA phải chịu trách nhiệm bảo vệ an toàn, Backup thông tin… có cố 15 Thực thể gì? Kiểu thực thể? Trong bảng liệu hàng phản ánh gi? a Thực thể Thực thể (entity) đối tượng cụ thể hay trừu tượng mà ta cần quan tâm công tác quản lý Tên thực thể danh từ VD: Quản lý thư viện ta có thực thể như: "Sách", "Độc giả" đối tượng cụ thể Các đối tượng trừu tượng là: Khoa công nghệ thông tin, Ngành toán ứng dụng,… b Kiểu thực thể Kiểu thực thể tập hợp thực thể (đối tượng) mô tả đặc trưng, tính chất giống Ví dụ: Một nhân viên thực thể, tập hợp nhân viên hệ thống tạo thành kiểu thực thể Biểu diễn kiểu thực thể: ta dùng hình chữ nhật ghi tên kiểu thực thể Ví dụ: >, , Ghi chú: Thể thực thể thực thể cụ thể, phần tử tập hợp hay lớp kiểu thực thể Vì ứng dụng để tránh sử dụng nhiều khái niệm ta đồng thực thể kiểu thực thể c Bảng - Mỗi bảng gọi quan hệ/ kiểu thực thể/ tệp - Mỗi hàng gọi bộ/ thực thể/bản ghi - Mỗi cột gọi thuộc thính/trường 16 Liên kết gì? Thế liên kêt 1-1, 1-n, n-n ? Mô hình không biểu diễn mối liên kết n-n a Liên kết Liên kết ghép nỗi hay nhiều thực thể phản ánh thực tế quản lý b Phân loại liên kết - Liên kết 1-1: hai kiểu thực thể A B có mối liên kết 1-1 thực thể kiểu A tương ứng với thực thể kiểu B ngược lại Ghi chú: Trong biểu đồ cấu trúc liệu hai kiểu thực thể có mối liên kết 1-1 đồng - Liên kết 1-n : Hai kiểu thực thể A B có mối liên kết 1-n thực thể kiểu A tương ứng với nhiều thực thực thể kiểu B ngược lại thực thể kiểu B tương ứng với thực thể kiểu A - Liên kết n-n : Hai kiểu thực thể A B có mối liên kết n-n thực thể kiểu A tương ứng với nhiều thực thể kiểu B ngược lại Ghi chú: Trong biểu đồ cấu trúc liệu tồn liên kết n-n kiểu thực thể, ta cần chuẩn hoá đưa dạng liên kết 1-n Chương2 : Mô hình liệu quan hệ Hiểu khái niệm, định nghĩa, chất : a Thuộc tính (thuộc tính khóa, thuộc tính không khóa, miền trị thuộc tính…) Thuộc tính (Atrribute) liệu dùng để mô tả đặc trưng thực thể - Các thuộc tính đơn thường kí hiệu chữ A, B, C, - Tập thuộc tính thường kí hiệu chữ X, Y, Z, - Các thuộc tính phân biệt qua tên gọi phải thuộc kiểu liệu định (kiểu liệu kiểu đơn) - Tên nên đặt sát với ý nghĩa nó, mang tính gợi nhớ ngắn gọn - Kiểu giá trị: Mỗi thuộc tính gán với kiểu giá trị phù hợp: kí tự, số, logic,… - Miền giá trị: tập hợp tất giá trị mà thuộc tính nhận gọi miền giá trị thuộc tính Kí hiệu: MGT DOM(domain) VD: DOM(A) MGT(A): miền giá trị thuộc tính A b Quan hệ, lược đồ quan hệ, bậc quan hệ, lực lượng quan hệ i Quan hệ: Gọi U=(A1,A2,A3, An) tập hữu hạn thuộc tính, thuộc tính Ai với i=1…n có miền giá trị tương ứng DOM(A i) Quan hệ R xác định tập thuộc tính U tập tích đề-các n số quan hệ/số lượng thuộc tính m: lực lượng quan hệ/số giá trị quan hệ Chú ý: Quan hệ mô tả toán học cho Bảng liệu, đó: Tên quan hệ Tên bảng Tên thuộc tính Tên cột Các giá trị Các dòng bảng (bản ghi) Bảng Quan hệ ii Lược đồ quan hệ Lược đồ quan hệ r cặp (U, F) kí hiệu r(U, F) Trong đó: - U tập hữu hạn thuộc tính: U=(A1,A2,A3, An) - F tập phụ thuộc hàm U={f1,f2,f3, fn} - Thể lược đồ quan hệ quan hệ Nói cách khác, quan hệ xác định lược đồ quan hệ - Một lược đồ quan hệ tưởng đương tập lược đồ quan hệ nhỏ cấu trúc tốt theo thao tác liệu iii Bậc quan hệ iv Lực lượng quan hệ c Khóa, Khóa tối thiểu, siêu khóa i Khóa: Cho quan hệ R(U), K U K khóa mã quan hệ R ti, tj R, ti # tj ti[K] # tj[k] Ý nghĩa: khóa tập thuộc tính mà giá trị xác định giá trị quan hệ (tức dòng bảng) ii Khóa quan hệ Cho quan hệ R(U) xác định F, K U, K khóa quan hệ K thỏa mãn - (K)+=U - A K (K-A)+ khác U Chú ý: - Nếu thỏa mãn (1) K siêu khóa - Nếu thỏa mãn (1)+(2) K khóa tối thiểu d Phụ thuộc hàm Cho quan hệ R(U); X, Y tập thuộc tính (X,Y U) PTH f: X Y Ta nói quan hệ R thoả PTH f viết R(f) với t i, tj R giống X chúng giống Y Hay ta viết: R(X Y) ( u,v R): u.X=v.X u.Y = v.Y Trong u, v hai thuộc quan hệ R Nếu f: - X Y: Y phụ thuộc hàm vào tập thuộc tính X hay tập thuộc tính X xác định hàm tập thuộc tính Y - X! Y: Y không phụ thuộc hàm vào X hay X không xác định hàm Y i Phụ thuộc hàm hiển nhiên Y X X-> Y ii Phụ thuộc hàm đầy đủ, không đầy đủ: R A a1 a1 B b1 b2 C c1 c2 S D d d’ E e e’ RxX A B C D E F a1 b1 c1 d e f a1 b1 c1 d’ e’ f’ a1 b2 c2 d e f a1 b2 c2 d’ e’ f’ F f f’ v Phép chiếu Phép chiếu phép rút gọn bảng (lấy cột cần) gọi phép cắt dọc ={t[X]|t R} R A B C A = B a1 b1 c1 a1 b1 a2 b2 c2 a2 b2 a1 b2 c2 a1 b2 vi Phép chọn Phép chọn phép toán lọc quan hệ giá trị thỏa mãn điều kiện F, gọi phép cắt ngang Trong F sử dụng: Các phép toán so sánh: =, >, >=, n, S U V, Phép chia R S quan hệ P(M)ó dạng sau: R R A a a b B b b c C c e e c d c D d f f d S C c e D d f R S A B c d e f a a b d e c Chú ý: thường sử dụng số hàm tiện ích SUM(R, A): tính tổng gia trị cột A quan hệ R AVG(R,A) MAX(R,A) b d MIN(R,A) b Các tập phép toán c Chú ý : số câu hỏi sau i Phép kết nối tổ hợp phép toán (xem bên trên) ii Điều kiện để thực phép chia gì…(xem bên trên) Chương : Chuẩn hóa liệu Hệ tiên đề Amstrong gồm quy tắc(tiên đề) Hệ tiên đề Amstrong áp dụng để suy dẫn (thuộc tính, giá trị, phụ thuộc hàm, quan hệ) a tiên đề - Tiên đề phản xạ: Nếu Y X X->Y - Tiên đề tăng trưởng: Nếu X->Y Z U XZ->YZ - Tiên đề bắc cầu: Nếu X->Y Y->Z X->Z b tính chất - Tính chất chặt: X->X - Tính chất bắc cầu: Nếu X->Y YZ->W XZ->W - Tính mở rộng VT thu hẹp VP: Nếu X->Y XZ->Y\W - Tính cộng đầy đủ: Nếu X->Y Z->W XZ->YW - Tỉnh mở rộng VT: Nếu X->Y XZ->Y - Tính cộng VP (luật hợp): Nếu X->Y X->Z X->YZ - Tính phân VT (luật tách): Nếu X->YZ X->Y X->Z - Tính tích lũy: Nếu X->YZ, Z->W X->YZW Định nghĩa, chất phụ thuộc hàm(phụ thuộc hàm đầy đủ/ không đầy đủ, phụ thuộc hàm dư thừa), bao đóng phụ thuộc hàm, bao đóng tập thuộc tính,…Tính tương đương tập phụ thuộc hàm a Bao đóng tập pth Cho lược đồ quan hệ r(U, F), X, Y U Nếu lược đồ quan hệ thỏa mãn với f: X-> Y F+=F.U(X->Y) F+ bao đóng tập pth F Bao đóng tập pth F (F+) tất pth suy dẫn logic từ F F+= {f:X → Y| X,Y ∈ U F f} F+ =F: họ đầy đủ tập pth - Bài toán thành viên: X->Y Y X+ X+ bao đóng tập thuộc tính X b Bao đóng tập thuộc tính Cho quan hệ R(U) xác định F: X, Y U X+ (bao đóng tập thuộc tính X) tập thuộc tính suy diễn logic từ F nhờ tập tiên đề Armstrong X+= {A| A Phủ không dư thừa, phủ tối thiểu U, X->A ∈ F+} Phủ tập pth: tập pth F, G thỏa F+=G+ (F tương đương G) ta nói F phủ G hay G phủ F a Phủ khong dư thừa Cho tập pth F, không tồn X->Y thuộc F mà (F-(X->Y)) +=F+ F tập pth không dư thừa b Phủ tối thiểu thỏa mãn điều kiện sau: - VP thuộc tính đơn - Không có pth dư thừa - Không có thuộc tính dư thừa VT pth mục tiêu phép tách lược đồ quan hệ gì.Phép tách không mát thông tin thỏa mãn Cho p={R1,R2} phép tác R F tập pth R phép tách không mát thông tin R1 R2 -> R1\R2 R1 R2 -> R2\R1 a b c d Chú ý: phụ thuộc hàm không thiết thuộc F, cần thuộc F+ Chuẩn hóa liệu Chuẩn hóa liệu trình phân rã lược đồ quan hệ chưa chuẩn hóa (có dạng chuẩn nhất) thành lược đồ quan hệ nhỏ dạng chuẩn cao (có cấu tríc tốt hơn) không làm mát thông tin Định nghĩa 1NF, 2NF, 3NF, BCNF 1NF Lược đồ quan hệ r goi dạng chuẩn 1NF toàn miền trị có mặt quan hệ R chứa giá trị nguyên tố 2NF Lược đồ quan hệ r goi dạng chuẩn 2NF dạng chuẩn thuộc tính không khóa quan hệ pth đầy đủ vào khóa (tức thuộc tính không khóa quan hệ không phụ thuộc vào phần khóa) 3NF dạng chuẩn thuộc tính không khóa quan hệ , không pth bắc cầu vào khóa (tức thuộc tính không khóa quan hệ không pth vào thuộc tính không khóa) BCNF xác định pth X->A, A X X khóa quan hệ Chương 4: SQL SQL viết tắt chữ gì? Structure Query Language Ý nghĩa lệnh: a Create table: tạo bảng Create table ( [ràng buộc liệu], ( [ràng buộc liệu], … ( [ràng buộc liệu] ) b UPDATE Update Set =, =… Where VD: Update SV Set hoTen=’XYZ’ where maSV=’abc’ c DELETE Delete from where VD: Delete From SINHVIEN where maSV=’ABC’ d DROP e ALTER thêm cột Alter table Add [ràng buộc liệu] Xóa cột Alter table Drop Column Xóa ràng Alter table Drop constraint buộc f INSERT INTO Insert into (cot1,cot2,…cot_n) Values (‘giatri_1’, ‘giá trị2’,…, ‘giá_trị_n’) p/s: có dấu thêm N Chức ngôn ngữ định nghĩa liệu, ngôn ngữ thao tác liệu - Ngôn ngữ định nghĩa liệu hệ QTCSDL cho phép người dùng khai báo kiểu cấu trúc liệu thể thông tin Khai báo ràng buộc liệu lưu trữ CSDL Về bản, ngôn ngữ định nghĩa liệu bao gồm lệnh: CREATE (định nghĩa tạo đối tượng CSDL), ALTER(thay đổi định nghĩa đối tượng CSDL), DROP (xóa đối tượng CSDL) - Ngôn ngữ thao tác liệu: diễn tả cấc yêu cầu, thao tác cập nhật khai thác sở liệu Ý nghĩa từ khóa câu lệnh SQL a Lệnh truy vấn liệu: SELECT Select [all|dítinct] From [Where ] [Group by ] [HAVING] [ORDERBY [ASC|DESC][,…n]] b Where: điều kiện Trong mệnh đề where thường sử dụng: - Các toán tử kết hợp (and, or) - Các toán tử so sánh: =, >, =, =30) b Having: mệnh đề thường kèm group by mệnh đề điều kiện tác động lên nhóm liệu c MAX: giá tị lớn cột Vd: Select Max(hocluc) as diemcaonhat from sinhvien; d Min VD: Select Min(hocluc) as diemthapnhat from sinhvien; e Avg: VD: Select AVG(hocluc) as diemtb from sinhvien; f Sum: Tổng giá trị cột VD: Select AVG(hocluc) as tongdiem from sinhvien g Count: đếm số phần tử (hàng) cột VD: Select count(hocluc) as sosinhvien from sinhvien Count *: đếm số dòng Chương 5: Tối ưu hóa câu hỏi Tối ưu hóa câu hỏi nhằm mục đích Tối ưu hóa câu hỏi để giảm không gian lưu trữ thời gian tính toán Một chiến lược quan trọng để tối ưu hóa câu hỏi - Thực phép chọn sớm Bài tập Cho CSDL gồm quan hệ CC(MSNCC, TEN_CC, DCCC) MH(MSNCC, MSMH) Trong đó: MSNCC: Mã số người cung cấp TEN_CC: Tên người cung cấp DCCC: địa cung cấp MSMH: Mã số mặt hàng Hãy biểu diễn yêu cầu sau ngôn ngữ SQL: h Tìm mã số người cung cấp Q1: Ít mặt hàng Q2: không cung cấp mặt hàng Q3:cung cấp mặ hàng có MSMH 15 Q4: cung cấp mặt hàng mặt hàng có mã số 15 i Mặt hàng có mã số 12, 13, 15 cung cấp nhà cung cấp địa nào? j Lập danh sách gồm cột MSNCC, TEN_CC, MSMH từ CSDL Cho CSDL, gồm quan hệ sau: DAIHOC (TENTRUONG, HIEUTRUONG, DIACHI) KHOA (TENTRUONG, MSKHOA, TENKHOA, SOSINHVIEN) SINHVIEN(TENTRUONG, MSKHOA, MSSV, TENSV, DIACHISV) đó: SOSINHVIEN: số lượng sinh viên MSKHOA : mã số khoa TENSV: tên sinh viên DIACHISV : địa sinh viên (hiểu quê quán) Biểu diễn câu hỏi sau ngôn ngữ SQL : e Trường đại học có khoa TINHOC f Tổng số sinh viên học tất trường đại học g Sinh viên học quê nhà (Giả sử lấy tên tỉnh, thành phố) h Khoa trường có số sinh viên đông i Cho biết tên hiệu trưởng trường có khoa TINHOC Cho CSDL với quan hệ : NHANVIEN(MANV,TENNHANVIEN,MSCOQUAN,CONGVIEC,TH UTRUONG,LUONG) COQUAN(MSCOQUAN,TENCOQUAN,DIACHI) Biểu diễn ngôn ngữ SQL đại số quan hệ yêu cầu sau : Q1 : Tìm tên nhân viên quan có mã số 50 Q2 : Tìm mã số tất quan từ quan hệ NHANVIEN Q3 : Tìm tên nhân viên quan có mã số 15,20,25 Q4 : Tìm tên người làm việc Đồ sơn 10.Cho CSDL quản lý dự án gồm bảng liệu sau a Bảng NHANVIEN chứa danh sách nhân viên gồm thuộc tính sau: Tên thuộc tính Giải thích MaNV Mã nhân viên Hoten họ tên nhân viên Ngaysinh Ngày sinh GT giới tính b Bảng DU_AN chứa thông tin dự án gồm có thuộc tính sau : Tên thuộc tính Giải thích MaDA Mã dự án TenDA Tên dự án Ngansach Ngân sách c Bảng THAMGIA ghi danh sách sinh viên đăng kí tham gia dự án Tên thuộc tính Giải thích MaDA Mã dự án MaNV Mã nhân viên TGBD thời gian bắt đầu TGKD thời gian kết thúc a b c d e Biểu diễn ngôn ngữ SQL, đại số quan hệ yêu cầu sau Đưa danh sách nhận viên Đưa danh sách nhận viên có giới tính Đưa danh sách dự án có ngân sách lớn Cho biết nhân viên tham gia tổng số dự án ? Cho biết dự án có tổng số nhân viên tham gia f Cho biết mã tên dự án có số tổng sô nhân viên tham gia >=10 người g Cho biết mã tên nhân viên tham gia dự án có tên dự án ’Dự án nước nông thôn’ h Đưa mã tên dự án mà nhân viên có mã NV01 tham gia i Đưa danh sách nhân viên chưa tham gia bát kì dự án j Cho biết thông tin nhân viễn tham gia dự án k Đưa danh sách dự án có xếp giảm dần theo ngân sách 11.Cho CSDL gồm bảng liệu sau: a Bảng NSX(nước sản xuất) Tên thuộc tính Giải thích MaNSX Mã nhà sản xuất TenNSX Tên nhà sản xuất b SANPHAM (sản phẩm) Tên thuộc tính MaSP TenSP DVT NgaySX SoLuong ChungLoai MaNSX Giải thích Mã sản phẩm Tên sản phẩm Đơn vị tính Ngày sản xuất số lượng chủng loại Mã nhà sản xuất Biểu diễn ngôn ngữ SQL, đại số quan hệ yêu cầu sau a Cho biết mã, tên nhà sản xuất sản xuất sản phẩm có tên ‘Máy lọc nước’ b Cho biết mã, tên, số lượng, ngày sản xuất sản phẩm nhà sản xuất có mã ‘N01’ sản xuất c Hãy tổng hợp thông tin loại sản phẩm nhà sản xuất (MáP, TenSP, DVT, TongSoLuong) d Cho biết nhà sản xuất sản xuất tổng số loại sản phẩm e Cho biết danh sách sản phẩm nhà sản xuất có tên ‘Panasonic’ sản xuất? 12.Cho CSDL quản lý điểm gồm bảng sau: a Bảng LopHoc gồm thuộc tính Tên thuộc tính Giải thích MaLop Mã lớp TenLop Tên lớp b Bảng SinhVien Tên thuộc tính MaSV HoTen NS GT DC MaLop Giải thích Mã sinh viên họ tên sinh viên Ngày sinh giới tính địa Mã lớp c MonHoc Tên thuộc tín MaMon TenMon TC Giải thích Mã môn Tên môn số tín d Diem Tên thuộc tính MaSV MaMon Ky DiemLan1 DiemLan2 Giải thích Mã sinh viên Mã môn kỳ thi điểm thi lần điểm thi lần a b c d e f g Biểu diễn ngôn ngữ SQL: Danh sách sinh viên có giới tính Danh sách sinh viên có địa thái nguyên Mã, tên, điểm thi lần sinh viễn học môn học có mã MH01 Mã, tên điểm thi lần sinh viễn học môn CSDL Cho biết danh sách sinh viên phải thi lại môn học có tên CSDL Cho biết dinh viên có mã SV01 phải thi lại môn học Cho biết điểm thi cao môn học Hệ trị sở liệu h Cho biết sinh viên đạt điểm cao môn CSDL [...]... Điều kiện để thực hiện phép chia là gì…(xem bên trên) 1 Chương 3 : Chuẩn hóa dữ liệu Hệ tiên đề Amstrong gồm các quy tắc(tiên đề) nào Hệ tiên đề Amstrong áp dụng để suy dẫn gì (thuộc tính, giá trị, phụ thuộc hàm, quan hệ) a 3 tiên đề - Tiên đề phản xạ: Nếu Y X thì X->Y - Tiên đề tăng trưởng: Nếu X->Y và Z U thì XZ->YZ - Tiên đề bắc cầu: Nếu X->Y và Y->Z thì X->Z b 8 tính chất - Tính chất chặt: X->X -... khai báo kiểu và cấu trúc dữ liệu thể hiện thông tin Khai báo các ràng buộc trên dữ liệu được lưu trữ trong CSDL Về cơ bản, ngôn ngữ định nghĩa dữ liệu bao gồm các lệnh: CREATE (định nghĩa và tạo mới đối tượng CSDL), ALTER(thay đổi định nghĩa của đối tượng CSDL), DROP (xóa đối tượng CSDL) - Ngôn ngữ thao tác dữ liệu: diễn tả cấc yêu cầu, các thao tác cập nhật và khai thác cơ sở dữ liệu 4 Ý nghĩa của các... SQL viết tắt bởi chữ gì? Structure Query Language 2 Ý nghĩa của các lệnh: a Create table: tạo bảng Create table ( [ràng buộc dữ liệu], ( [ràng buộc dữ liệu], … ( [ràng buộc dữ liệu] ) b UPDATE Update Set =, =… Where VD: Update SV Set hoTen=’XYZ’ where maSV=’abc’... [ràng buộc dữ liệu] Xóa cột Alter table Drop Column Xóa ràng Alter table Drop constraint buộc f INSERT INTO Insert into (cot1,cot2,…cot_n) Values (‘giatri_1’, ‘giá trị2’,…, ‘giá_trị_n’) p/s: có dấu thì thêm N 3 Chức năng của ngôn ngữ định nghĩa dữ liệu, ngôn ngữ thao tác dữ liệu - Ngôn ngữ định nghĩa dữ liệu trong một... ORDER BY: sắp xếp kq truy vấn dữ liệu ASC: tăng Desc: giảm VD: Order by chieucao[ASC], cannang [desc] Các hàm nhóm sử dụng trong câu lệnh, các phép toán, các kí tự đại a GROUP BY: Được sử dụng để phân các dong dữ liệu thành các nhóm dữ liệu và thực hiện tính toán, thống kê trên các nhóm Các hàm nhóm được sử dụng để tính giá trị thống kê trên toàn bảng hoặc trên mỗi nhóm dữ liệu Chúng có thể được sd... SELECT hoặc xuất hiện trong mệnh đề HAVING (đk đối với nhóm) những các hàm không được xuất hiện trong where - Thống kê trên tooàn bộ dữ liệu: khi cần tính toán giá trị thống kê trên toàn bộ dữ liệu ta sd hàm nhóm trên câu lệnh SELECT Khi này trong danh sách chọn của SELECT không được sử dụng bất kì thuộc tính hay thuộc biểu thức nào ngooài hàm nhóm - Thống kê trên các nhóm dữ liệu: o Khi cần tính toán... cần tính toán giá trị thống kê trên các nhóm danh sách ta sử dụng group by để phân dữ liệu thành các nhóm riêng biệt Các hàm nhóm được sử dụng sẽ thực hiện thao tác tính toán trên mỗi nhóm và cho biết các giá trị thống kê trên từng nhóm dữ liệu o Biểu thức nào đk việc phân nhóm dữ liệu thì phải được liệt kê sau mệnh đề group by o Trong thường hợp danh sách chọn của câu lệnh select có các hàm nhóm và... Biểu diễn bằng ngôn ngữ SQL và đại số quan hệ yêu cầu sau đây : Q1 : Tìm tên những nhân viên ở cơ quan có mã số là 50 Q2 : Tìm mã số tất cả các cơ quan từ quan hệ NHANVIEN Q3 : Tìm tên các nhân viên cơ quan có mã số là 15,20,25 Q4 : Tìm tên những người làm việc ở Đồ sơn 10.Cho CSDL quản lý dự án gồm các bảng dữ liệu sau a Bảng NHANVIEN chứa danh sách các nhân viên gồm các thuộc tính sau: Tên thuộc tính... bắc cầu: X->Y, Y->Z thì X->Z Z pth bắc cầu vào X qua Y Lưu ý : - Pth là cơ sở để chuẩn hóa các lược đồ quan hệ - Pth nói lên sự ràng buộc và mối liên hệ giữa các thuộc tính trong quan hệ 2 Các phép toán đại số quan hệ : - Phép hợp: các quan hệ tham gia phép toán phải là các quan hệ khả hợp - Phép giao: nt - Phép trừ: nt - Phép tích đề các - Phép chiếu - Phép chọn - Phép kết nối - Phép chia a Thế nào là... LIKE): mô tả khuôn dạng của dữ liệu cần tìm kiếm Thường kết hợp: o Dấu phần trăm (%): một chuỗi các kí tự bất kì o Gạch dưới (_): một kí tự bất kì VD: Select * from sinhvien where ten like ‘L%’ Select * from sinhvien where ten like ‘%ng’ - Các giá trị null: where tên_cột is [not] null c AS: Thay đổi tiêu đề các cột: AS 5 diện VD: select MaDT as “Mã đề tài” from sinhvien d