Đăng ký Đăng nhập
Trang chủ Bảng câu vấn tin trên các quan hệ và xử lý câu vấn tin trên bảng...

Tài liệu Bảng câu vấn tin trên các quan hệ và xử lý câu vấn tin trên bảng

.PDF
73
358
115

Mô tả:

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGÔ HUY THẮNG BẢNG CÂU VẤN TIN TRÊN CÁC QUAN HỆ VÀ XỬ LÝ CÂU VẤN TIN TRÊN BẢNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên, năm 2012 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn I LỜI CẢM ƠN Những kiến thức căn bản trong luận văn này là kết quả của quá trình tự nghiên cứu trong quá trình công tác và hai năm học Thạc sỹ (2010 - 2012) tại Trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên. Dưới sự giảng dạy, đào tạo và dìu dắt trực tiếp của các thầy cô trong trường và Viện Công nghệ thông tin Việt Nam. Tôi xin bày tỏ lời cảm ơn chân thành tới các thầy cô trong Khoa Công nghệ thông tin, Phòng Đào tạo, Phòng Công tác học sinh sinh viên, Phòng Đào tạo sau đại học Trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên, đã tạo điều kiện thuận lợi cho tôi trong thời gian học tập tại trường. Tôi xin bày tỏ lòng biết ơn chân thành, lời cảm ơn sâu sắc nhất đối với thầy giáo PGS.TS Lê Huy Thập đã trực tiếp hướng dẫn, định hướng cho tôi giải quyết các vấn đề trong luận văn. Tôi cũng xin cảm ơn đến các anh chị đồng nghiệp ở Sở Thông tin và Truyền thông tỉnh Bắc Kạn, người thân, bạn bè và các bạn đồng môn lớp cao học CH 9A, đã ủng hộ và giúp đỡ tôi trong quá trình làm luận văn tốt nghiệp. Thái Nguyên, ngày 15 tháng 8 năm 2012 Học viên Ngô Huy Thắng Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn II LỜI CAM ĐOAN Với mục đích nghiên cứu, tìm hiểu để nâng cao kiến thức và trình độ chuyên môn để áp dụng trong các bài toán cụ thể trong tương lai nên tôi đã làm luận văn này một cách nghiêm túc và hoàn toàn trung thực. Nội dung luận văn do tự tôi tìm hiểu và hoàn thành. Trong luận văn, tôi có sử dụng tài liệu tham khảo của một số tác giả trong và ngoài nước để hoàn thành luận văn được nêu ở phần tài liệu tham khảo. Tôi xin cam đoan và chịu trách nhiệm về nội dung, sự trung thực trong luận văn tốt nghiệp Thạc sỹ của mình. Thái Nguyên, Ngày 15 tháng 8 năm 2012 Học viên Ngô Huy Thắng Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn III MỤC LỤC LỜI CẢM ƠN …………….………………….……………………………… I LỜI CAM ĐOAN ………………….………………………………………… II MỤC LỤC ………………….………………………………………………… III BẢNG CÁC KÝ HIỆU …………………….………………………………. V BẢNG CÁC CHỮ VIẾT TẮT …….…………………………………… VI DANH MỤC HÌNH VẼ …………………………………………………… VII DANH MỤC BẢNG BIỂU ………………………..……………………… VIII MỞ ĐẦU ………………………………………………...…………………… 10 CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU QUAN HỆ …… 11 1.1.Khái quát về cơ sở dữ liệu ……………………………………...……… 11 1.1.1. Những vấn đề mà CSDL cần phải giải quyết ………..……… 12 1.1.2. Ðịnh nghĩa Hệ thống cơ sở dữ liệu (Database Systems) .… 13 1.1.3. Cơ sở dữ liệu quan hệ và lược đồ cơ sở dữ liệu quan hệ …. 14 1.2.Các loại câu vấn tin SQL ……………………………………………… 17 1.3.Phương pháp chuyển câu vấn tin SQL sang câu vấn tin đại số quan hệ AQL 19 1.3.1. Ngôn ngữ truy vấn đại số quan hệ (AQL) ……………….…… 20 1.3.2. Các phép biến đổi tương đương trong đại số quan hệ ……..… 22 1.3.3. Thuật toánchuyển câu vấn tin SQL sang câu vấn tin đại số quan hệ AQL 25 1.4.Kết luận chương 1 ………………………………….…………………… 32 CHƯƠNG II: PHƯƠNG PHÁP TÁCH GỘP CÁC HÀNG – CỘT 33 2.1. Phương pháp chuyển câu vấn tin đại số quan hệ sang bảng .…… 34 2.1.1. Mục tiêu của xử lý vấn tin …………………………….………… 35 2.1.2. Mô tả đặc trưng của xử lý vấn tin …………...………………… 35 2.2. Định nghĩa và cách thể hiện câu truy vấn bằng bảng ….............… 37 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn IV 2.2.1. Cách thể hiện bảng vấn tin đại số quan hệ …………..……… 38 2.2.2. Độ phức tạp của phép toán đại số quan hệ ……………...…… 40 2.3. Phương pháp tách gộp hàng trong bảng vấn tin ……………...…… 40 2.3.1.Kỹ thuật Gộp các hàng – cột ………………………...………… 41 2.3.2. Kỹ thuật Tách các hàng – cột ………………….……………… 44 2.3. Kết luận chương 2 ……………………………………………………… 51 CHƯƠNG III: ỨNG DỤNG GIẢI BÀI TOÁN CỤ THỂ ……….…… 52 3.1. Cách tính tải trên hàng và các phân hoạch của bảng vấn tin …… 52 3.1.1. Phân hoạch bảng vấn tin………………….…………………….. 53 3.1.2. Cách tính tải trên hàng ………………….…………………….… 53 3.2. Phương pháp tìm Cell có chi phí truyền thông lớn …….………… 56 3.3. Thuật toán tạo ra bảng vấn tin tiền xử lý ……………….…..……… 58 3.4. Ví dụ minh họa ………………….…………………….………………… 61 3.4.1. Cây tối ưu cho truy vấn dạng ống có cân bằng tải ………… 61 3.4.2. Thuật toán chia công việc ……………………………………… 61 3.4.3. Mở rộng thuật toán nhát cắt cục bộ cho bài toán POM …… 62 3.5.Kết luận chương 3 ……………………………………………………… 68 KẾT LUẬN …………………………………………………………...……… 69 HƯỚNG PHÁT TRIỂN …………………………………………………… 70 TÀI LIỆU THAM KHẢO ………………………………………………… 71 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn V BẢNG CÁC KÝ HIỆU ∩ Phép giao ∪ Phép hợp ∈ Ký hiệu thuộc − Phép trừ × Tích đề các ⋈ Phép nối Phép chiếu Tê ta * Kết nối tự nhiên ÷ Phép chia ∧ Phép và ∨ Phép hoặc Phép chọn ⊆ Tập con Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn VI BẢNG CÁC CHỮ VIẾT TẮT SQL Structured Query Language – Ngôn ngữ truy vấn dữ liệu CSDL Cơ sở dữ liệu HQTCSDL Database management system - Hệ quản trị Cơ Sở Dữ Liệu AQL Algebraic Query Language (Ngôn ngữ vấn tin đại số) POT Pipeline Operator Tree – Cây toán tử dạng ống POM Pipeline Operator Matrix – Ma trận toán tử dạng ống QH Quan hệ QHi Quan hệ i, i = 1, 2,3,… Ip Isomorphous – Ma trận đặc trưng Cell Ô Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn VII DANH MỤC HÌNH VẼ Hình 1.1. Mô hình xử lí thông tin ………………………………………… 11 Hình 1.2. Mô hình hệ thống cơ sở dữ liệu ……………………………… 13 Hình 1.3. Cây đại số quan hệ ví dụ ……………………………………… 31 Hình 2.1. Gộp hai đỉnh i và j thành đỉnh m …………………………….. 43 Hình 2.2. Tách hai đỉnh i và j …………………………………………….. 46 Hình 2.3. Cắt các cạnh của cây toán tử ………………………………… 50 Hình 2.4. Gộp các đỉnh của cây toán tử ………………………………… 50 Hình 3.1. Cây toán tử tổng quát ………………………………………… 59 Hình 3.2. Cây toán tử đã được tiền xử lí …………………………………. 60 Hình 3.3. Thuật toán nhát cắt cục bộ …………………………………… 64 Hình 3.4. Cây toán tử gốc …………………………..……………………… 65 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn VIII DANH MỤC BẢNG BIỂU Bảng 1.1. Bảng quan hệ NHANVIEN ……………………….….……… 15 Bảng 1.2. Bảng quan hệ DONVI ……………………….………………… 16 Bảng 1.3. Bảng quan hệ DONVI_DIADIEM ……………….………… 16 Bảng 1.4. Bảng quan hệ DUAN ………………..………………………… 16 Bảng 1.5. Bảng quan hệ NHANVIEN_DUAN ……..………………… 17 Bảng 2.1. Bảng vấn tin dạng đại số quan hệ ………………………… 39 Bảng 2.2. Toán tử Collapse (i,j) gốc ……………………………………… 42 Bảng 2.3. Toán tử Collapse (i,j) sau khi gộp i,j ………………………… 42 Bảng 2.4. POM dữ liệu ……………………………………………………. 43 Bảng 2.5. POM sau khi gộp ……………………………………………… 44 Bảng 2.6. Toán tử cut(i,j) gốc ……………………………………………… 45 Bảng 2.7.Toán tử cut(i,j) sau khi gộp i,j ……………………………… 45 Bảng 2.8. Dữ liệu POM …………………………………………………… 46 Bảng 2.9 POM1 ……………………………………………………………… 47 Bảng 2.9a. POM1,1 …………………………………………………………. 47 Bảng 2.9b. POM 1,2 ………………………………..……………………….. 47 Bảng 2.10. POM4 ……………………………………………………………. 47 Bảng 2.11. Ma trận Ip truy vấn ………………………………………… 48 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn IX Bảng 2.12. Ma trận Ip truy vấn mảnh F1 ……………………………… 48 Bảng 2.13. Ma trận Ip truy vấn mảnh F2 ………………………………. 48 Bảng 2.14. Ma trận Ip truy vấn mảnh F3 …………………………… 49 Bảng 2.15. Ma trận Ip truy vấn lớp mảnh F1 ………………………… 49 Bảng 2.16. Ma trận Ip truy vấn lớp mảnh F2 ………………………… 49 Bảng 2.17. Ma trận Ip truy vấn lớp mảnh F3 ………………………… 49 Bảng 3.1. Bảng truy vấn Ip với các phép toán đại số quan hệ ..…… 54 Bảng 3.2. Các ti và cellij của Ip …………………………………………… 55 Bảng 3.3. Ma trận Ip tương ứng với cây toán tử gốc ………………… 58 Bảng 3.4. Gộp các cạnh có trọng số lớn đã qua tiền xử lí ………….. 60 Bảng 3.5. Ip truy vấn tương ứng với cây toán tử gốc …………..……… 65 Bảng 3.6. Phân hoạch F1 …………..……………………………………… 66 Bảng 3.7. Phân hoạch F2 …………..……………………………………… 66 Bảng 3.8. Phân hoạch F3 …………..……………………………………… 67 Bảng 3.9. Phân hoạch F4 …………..……………………………………… 67 Bảng 3.10. Phân hoạch F5 …………..……………………….…………… 67 Bảng 3.11. Phân hoạch F6 …………..…………………………………… 68 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 10 MỞ ĐẦU Để thể hiện câu vấn tin SQL bằng bảng trước hết chúng ta chuyển nó sang câu vấn tin đại số quan hệ, sau đó thể hiện câu vấn tin này bằng một bảng gọi là bảng truy vấn. Các tiêu đề hàng và cột sẽ là tên các quan hệ cơ sở, các quan hệ trung gian hoặc kết qủa thực hiện câu vấn tin. Các Cell sẽ là các toán tử để thực hiện các phép toán đại số quan hệ nhằm sinh ra các quan hệ trung gian. Cùng với tiêu đề hàng và cột ta sẽ gán một trọng số nào đó - là chi phí xử lý phép toán trên quan hệ đó; các Cell cũng được gán trọng số là chi phí chuyển số liệu từ toán tử nằm trên hàng đến toán tử nằm trên cột. Minh họa xử lý câu vấn tin bằng bảng truy vấn sẽ được thực hiện cho việc tìm cây toán tử tiền xử lý. Tức là phân chia các toán tử cho các bộ xử lý để thời gian trả lời truy vấn nhỏ nhất. Nội dung của luận văn gồm 3 chương: Chương I: Tổng quan về cơ sở dữ liệu quan hệ. Trong chương này cung cấp các kiến thức lý thuyết cơ bản những khái niệm về CSDL quan hệ, các loại câu vấn tin và phương pháp chuyển đổi câu vấn tin SQL sang câu vấn tin đại số quan hệ. Chương II: Phương pháp tách – gộp hàng, cột trong bảng vấn tin. Với những nội dung chính như: Phương pháp chuyển câu vấn tin đại số quan hệ sang bảng và phương pháp tách gộp hàng, cột trong bảng vấn tin. Chương III: Ứng dụng giải một số bài toán thực tế. Dựa vào những cơ sở lý thuyết đã nghiên cứu, một số bài toán đã được ứng dụng giải quyết như: Cách tính tải trên hàng và các phân hoạch của bảng vấn tin, phương pháp tìm ô có chi phí truyền thông lớn và thuật toán tạo ra bảng vấn tin tiền xử lý. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 11 CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU QUAN HỆ 1.1.Khái quát về cơ sở dữ liệu Ðịnh nghĩa Dữ liệu: Dữ liệu là các sự kiện, văn bản, đồ họa, hình ảnh, âm thanh và các đoạn phim video có ý nghĩa trong môi trường người dùng. Ðịnh nghĩa thông tin: Thông tin là dữ liệu được xử lý theo các cách để làm tăng hiểu biết của người đang sử dụng dữ liệu này. Thông thường đối với việc thiết kế xây dựng một hệ thống tin quản lý, chúng ta cần xử lý một hệ thống các file dữ liệu. Mỗi file này có cấu trúc bản ghi khác nhau nhưng về nội dung có quan hệ với nhau tạo thành một cơ sở dữ liệu (Database _ viết tắt CSDL). Cơ Sở Dữ Liệu là tập hợp thông tin (dữ liệu) có tổ chức nhằm thỏa mãn một hay nhiều mục đích quản lý thông tin của con người. Hệ các chương trình nhằm quản lý khai thác dữ liệu này là Hệ quản trị Cơ Sở Dữ Liệu (viết tắt HQTCSDL, Database management system). (ví dụ Access, SQL server, Oracle...) Hệ thống thông tin gồm bộ phận xử lý thông tin, kênh thông tin vào ra.(Xem hình 1.1) Hình 1.1. Mô hình xử lý thông tin Ưu điểm của cơ sở dữ liệu: Giảm sự trùng lắp thông tin xuống mức thấp nhất và do đó bảo đảm được tính nhất quán và toàn vẹn dữ liệu. Đảm bảo dữ liệu có thể truy xuất theo nhiều cách khác nhau. Khả năng chia sẻ thông tin cho nhiều người sử dụng. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 12 1.1.1.Những vấn đề mà CSDL cần phải giải quyết Tính chủ quyền của dữ liệu: Tính chủ quyền của dữ liệu được thể hiện ở phương diện an toàn dữ liệu, khả năng biểu diễn các mối liên hệ ngữ nghĩa của dữ liệu và tính chính xác của dữ liệu. Điều này có nghĩa là người khai thác CSDL phải có nhiệm vụ cập nhật các thông tin mới nhất của CSDL. Tính bảo mật và quyền khai thác thông tin của người sử dụng: Do có nhiều người được phép khai thác dữ liệu một cách đồng thời, nên cần thiết phải có một cơ chế bảo mật và phân quyền hạn khai thác CSDL. Các hệ điều hành nhiều người sử dụng hay hệ điều hành mạng cục bộ đều có cung cấp cơ chế này. Tranh chấp dữ liệu: Nhiều người được phép truy nhập cùng một lúc vào tài nguyên dữ liệu của CSDL với những mục đích khác nhau, do đó cần thiết phải có một cơ chế ưu tiên khi truy nhập dữ liệu. Cơ chế ưu tiên có thể được thực hiện bằng việc cấp quyền ưu tiên cho từng người khai thác. Đảm bảo an toàn dữ liệu khi có sự cố: Việc quản lý dữ liệu tập trung có thể làm tăng khả năng mất mát hoặc sai lệch thông tin khi có sự cố như mất điện đột xuất, hay một phần đĩa lưu trữ CSDL bị hư hỏng,… một số hệ điều hành mạng có cung cấp dịch vụ sao lưu ảnh đĩa cứng, tự động kiểm tra và khắc phục lỗi khi có sự cố. Tuy nhiên, bên cạnh dịch vụ của hệ điều hành, để đảm bảo CSDL luôn ổn định, một CSDL nhất thiết phải có một cơ chế khôi phục dữ liệu khi có các sự cố bất ngờ xảy ra. Các đối tượng sử dụng CSDL: Những người sử dụng CSDL không chuyên về lĩnh vực tin học và CSDL. Các chuyên viên CSDL biết khai thác CSDL, những người này có thể xây dựng các ứng dụng khác nhau, phục vụ cho các mục đích khác nhau trên CSDL. Những người quản trị CSDL, đó là những người hiểu biết về tin học, về các hệ quản trị CSDL và hệ thống máy tính. Họ là người tổ chức CSDL, do đó họ phải nắm rõ các vấn đề kỹ thuật về CSDL để có thể phục hồi CSDL khi Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 13 có sự cố. Họ là những người cấp quyền hạn khai thác CSDL, do vậy họ có thể giải quyết được các vấn đề tranh chấp dữ liệu nếu có. 1.1.2. Ðịnh nghĩa Hệ thống cơ sở dữ liệu (Database Systems) Hệ thống cơ sở dữ liệu là hệ thống thông tin, cho phép người ta dùng chung các dữ liệu có trong hệ thống. Để giải quyết tốt những vấn đề mà cách tổ chức CSDL đặt ra như đã nói ở trên, cần thiết phải có những phần mềm chuyên dùng để khai thác chúng. Những phần mềm này được gọi là các hệ quản trị CSDL. Các hệ quản trị CSDL có nhiệm vụ hỗ trợ cho các nhà phân tích thiết kế CSDL cũng như những người khai thác CSDL. Hiện nay trên thị trường phần mềm đã có những hệ quản trị CSDL hỗ trợ được nhiều tiện ích như: MS Access, Visual Foxpro, SQL Server, Oracle,…(Xem hình 1.2) user 1 CSDL Ngôn Hệ ngữ user hỏi cơ CSDL cơ sở user dữ 1 liệu sở dữ CSDL liệu user 1 Hình 1.2 Mô hình hệ thống cơ sở dữ liệu Mỗi hệ quản trị CSDL đều được cài đặt dựa trên một mô hình dữ liệu cụ thể. Dù là dựa trên mô hình dữ liệu nào, một hệ quản trị CSDL cũng phải hội đủ các yếu tố sau: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 14 Ngôn ngữ mô tả dữ liệu: Cho phép khai báo cấu trúc của CSDL, khai báo các mối liên hệ của dữ liệu và các quy tắc quản lý áp đặt lên các dữ liệu đó. Ngôn ngữ thao tác dữ liệu: Cho phép người sử dụng có thể cập nhật dữ liệu (thêm/sửa/xoá). Ngôn ngữ truy vấn dữ liệu: Cho phép người khai thác sử dụng để truy vấn các thông tin cần thiết trong CSDL. Ngôn ngữ quản lý dữ liệu: Cho phép những người quản trị hệ thống thay đổi cấu trúc của các bảng dữ liệu, khai báo bảo mật thông tin và cấp quyền hạn khai thác CSDL cho người sử dụng.,… Từ điển dữ liệu: Dùng để mô tả các ánh xạ liên kết, ghi nhận các thành phần cấu trúc của CSDL, các chương trình ứng dụng, mật mã, quyền hạn sử dụng,… Cơ chế giải quyết vấn đề tranh chấp dữ liệu: Mỗi hệ quản trị CSDL cũng có thể cài đặt một cơ chế riêng để giải quyết các vấn đề này. Một số cơ chế thường dùng sau đây: - Cấp quyền ưu tiên cho từng người sử dụng; - Đánh dấu yêu cầu truy xuất dữ liệu, phân chia thời gian, người nào có yêu cầu trước thì có quyền truy xuất dữ liệu trước,… Hệ quản trị CSDL cũng phải có cơ chế sao lưu (Backup) và phục hồi (Recovery) dữ liệu khi có sự cố xảy ra. Điều này có thể thực hiện sau một thời gian nhất định hệ quản trị CSDL sẽ tự động tạo ra một bản sao CSDL, cách này hơi tốn kém, nhất là đối với CSDL lớn. Hệ quản trị CSDL phải cung cấp một giao diện thân thiện, dễ sử dụng. 1.1.3.Cơ sở dữ liệu quan hệ và lược đồ cơ sở dữ liệu quan hệ Một cơ sở dữ liệu quan hệ thường gồm nhiều quan hệ với các bộ giá trị trong các quan hệ được liên kết với nhau theo nhiều cách. Một lược đồ cơ sở Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 15 dữ liệu quan hệ S là một tập hợp các lược đồ quan hệ S = {R 1, R2,…, Rn} và một tập các ràng buộc toàn vẹn. Một trạng thái cơ sở dữ liệu quan hệ (hoặc một cơ sở dữ liệu quan hệ) R của S là một tập hợp các trạng thái quan hệ: R = {r1, r2, …, rn} sao cho mỗi ri là một trạng thái của Ri và sao cho các trạng thái quan hệ ri thoả mãn các ràng buộc toàn vẹn chỉ ra trong tập các ràng buộc toàn vẹn. Ví dụ: Trình bày một lược đồ cơ sở dữ liệu CONGTY như sau: NHANVIEN(MaNV, TenNV, NgaySinh, DiaChi, GioiTinh, Luong, MaDV) DONVI(MaDV, TenDV, Ngay_Bat_Dau) DONVI_DIADIEM(MaDV, Dia_Diem_DV) DUAN(MaDA, TenDA, Dia_Diem_DA, MaDV) NHANVIEN_DUAN(MaNV, MaDA, ThoiGian_LV) Và cơ sở dữ liệu CONGTY bao gồm các bảng: MaNV TenNV NgaySinh DiaChi GioiTinh Luong MaDV NV0001 Lê Duy 19/09/1980 Bắc Kạn Nam 5.000 DV02 NV0002 Vũ Thị Bé 20/07/1983 Hà Nội 4.500 DV01 NV0003 Lê Ba 23/05/1985 Phú Thọ Nam 4.000 DV01 NV0004 Phạm Hà 09/09/1969 Sơn La Nam 6.000 DV03 NV005 Trần Bá Tí 09/05/1960 Hà Nội Nam 7.000 DV02 NV006 Vũ Hùng Nam 4.500 DV02 12/12/1987 Hà Nội Nữ Bảng 1.1. Bảng quan hệ NHANVIEN Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 16 MaDV TenDV Ngay_Bat_Dau DV01 Phòng Kế hoạch 15/06/2000 DV02 Phòng Kế toán 10/10/2003 DV03 Phòng phát triển CN 20/07/2002 Bảng 1.2. Bảng quan hệ DONVI MaDV Dia_Diem_DV DV01 Thái Nguyên DV02 Bắc Kạn DV03 Bắc Kạn Bảng 1.3. Bảng quan hệ DONVI_DIADIEM MaDA TenDA Dia_Diem_DA MaDV DA001 Đào tạo Thái Nguyên DV02 DA002 Quản lý Bắc Kạn DV03 DA003 Xây dựng HT Bắc Kạn DV03 DA004 Lập trình PHP Thái Nguyên DV02 DA005 Thiết kế Web Hà Nội DV01 DA006 Lập trình Java Hà Nội DV01 DA007 Lập trình ASP Thái Nguyên DV02 DA 008 Lập trình .NET Thái Nguyên DV02 Bảng 1.4. Bảng quan hệ DUAN Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 17 MaNV MaDA ThoiGian_LV NV0001 DA001 100 NV0002 DA002 80 NV0003 DA003 110 NV0004 DA008 200 NV005 DA007 90 NV006 DA005 150 NV007 DA006 230 Bảng 1.5. Bảng quan hệ NHANVIEN_DUAN Trong một lược đồ cơ sở dữ liệu quan hệ, các thuộc tính biểu diễn cùng một khái niệm thế giới thực có thể (hoặc không) có cùng tên như nhau trong các quan hệ khác nhau. Ngược lại, các thuộc tính biểu diễn các khái niệm khác nhau có thể có tên như nhau trong các quan hệ khác nhau. 1.2. Các loại câu vấn tin SQL. Câu lệnh tạo cơ sở dữ liệu Cú pháp của câu lệnh CREATE DATABASE Create Database Ten_CSDL Sau câu lệnh này, một CSDL có tên là Ten_CSDL được tạo ra. Câu lệnh tạo bảng dữ liệu Câu lệnh tạo quan hệ có cú pháp như sau CREATE TABLE Ten_Quanhe ( ten_cot ten_thuoc_tinh_cot cac_rang_buoc [,...] ) Ràng buộc PRIMARY KEY được sử dụng để định nghĩa khoá chính của bảng. FOREIGN KEY là khóa ngoại, nó là khóa chính của bảng được quan hệ. FOREIGN KEY có thể tham chiếu vào PRIMARY KEY hay cột có ràng buộc duy nhất. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 18 Sửa bảng (ALTER TABLE) Cú pháp của câu lệnh ALTER TABLE như sau: ALTER TABLE Ten_Bang ADD đinh_nghia_cot | ALTER COLUMN ten_cot kieu_du_lieu [NULL |NOT NULL] DROP COLUMN ten_cot | ADD CONSTRAINT ten_rang_buoc đinh_nghia_rang_buoc DROP CONSTRAINT ten_rang_buoc Xóa bảng (DROP TABLE) Khi một bảng không còn cần thiết, ta có thể xoá nó ra khỏi cơ sở dữ liệu bằng câu lệnh DROP TABLE. Câu lệnh này cũng đồng thời xoá tất cả những ràng buộc, chỉ mục, trigger liên quan đến bảng đó. Câu lệnh có cú pháp như sau: DROP TABLE Ten_Bang Sau câu lệnh này, bảng có tên là Ten_Bang sẽ bị xóa khỏi CSDL. Thêm bản ghi mới (INSERT) Để bổ sung một dòng dữ liệu mới vào bảng, ta sử dụng câu lệnh INSERT với cú pháp như sau: INSERT TABLE Ten_Bang[(danh_sach_cot)]VALUES (danh_sach_gia_tri) Thêm một tập các dòng dữ liệu vào bảng Cú pháp câu lệnh INSERT có dạng như sau: INSERT INTO Ten_Bang (danh_sach_cot)] câu_lệnh_SELECT Cập nhật bản ghi (UPDATE) Câu lệnh UPDATE trong SQL được sử dụng để cập nhật dữ liệu trong các bảng. Câu lệnh này có cú pháp như sau: UPDATE Ten_Bang Set ten_cot = bieu_thuc [, ..., ten_cot_k = bieu_thuc_k] [From danh_sach_bang] Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 19 [Where dieu_kien] Xoá bản ghi (DELETE) Để xoá dữ liệu trong một bảng, ta sử dụng câu lệnh DELETE. Cú pháp của câu lệnh này như sau: DELETE FROM Ten_Bang [FROM danh_sach_bang] [WHERE dieu_kien] Sau lệnh này, dữ liệu sẽ bị xóa trong bảng Ten_Bang theo danh sách và điều kiện xóa trong mệnh đề FROM và WHERE Truy vấn cơ sở dữ liệu (SELECT) Cú pháp chung của câu lệnh SELECT có dạng: SELECT [ALL | DISTINCT][TOP n] danh_sach_chon [INTO ten_bang_moi] FROM danh_sach_bang/khung_nhin [WHERE dieu_kien] [GROUP BY danh_sach_cot] [HAVING dieu_kien] [ORDER BY cot_sap_xep] [COMPUTE danh_sach_ham_gop [BY danh_sach_cot]] Câu lệnh SELECT được sử dụng để tác động lên các bảng dữ liệu và kết quả của câu lệnh cũng được hiển thị dưới dạng bảng, tức là một tập hợp các dòng và các cột (ngoại trừ trường hợp sử dụng câu lệnh SELECT với mệnh đề COMPUTE). 1.3. Phương pháp chuyển câu vấn tin SQL sang câu vấn tin đại số quan hệ AQL. Từ câu vấn tin SQL, chúng ta chuyển sang câu vấn tin đại số quan hệ bằng cách sử dụng các phép toán đại số quan hệ AQL như: phép chiếu, phép chọn và phép kết nối. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
- Xem thêm -

Tài liệu liên quan

Tài liệu xem nhiều nhất