Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 45 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
45
Dung lượng
575,44 KB
Nội dung
Nhập môn sở liệu Các ngôn ngữ liệu đố mơ hình qua quan hệ ệ Vũ Tuyết Trinh trinhvt@it-hut.edu.vn Bộ môn Các hệ thống thông tin, Khoa Công nghệ thông tin Đại học Bách Khoa Hà Nội Hệ CSDLDL - Định nghĩa Ứng dụng - Thao tác DL Hệ QTCSDL CSDL CSDL Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com https://fb.com/sinhvienzonevn Nhập môn sở liệu Nội dung { Các cách tiếp cận thiết kế ngơn ngữ CSDL quan hệ z ¾ { Một số ngôn ngữ liệu mức cao z z { Giới thiệu số ngôn ngữ phân loại So sánh đánh giá QBE (Query By Example) SQL Q (Structured ( Queryy Language) Q g g ) Kết luận Đặt vấn đề { { { Mục đích ngơn ngữ liệu Tại có nhiều ngôn ngôn ngữ liệu? Ngôn ngữ cấp thấp vs Ngôn ngữ cấp cao? Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com https://fb.com/sinhvienzonevn Nhập mơn sở liệu Ví dụ { Tìm tên sinh viên sống ố Bundoora z z Tìm bảng Student có Suburb = Bundoora Đưa giá trị thuộc tính Name Student Id Name 1108 Robert Suburb Kew 3936 Glen Bundoora 8507 Norman Bundoora 8452 Mary Balwyn Ví dụ (2) { Tìm sinh viên đăng ký khố học có mã số 113 z z Tìm giá trị SID bảng Enrol có Course tương ứng 113 Đưa bảng Student có SID giá trị tìm thấy Student Id Name Suburb 1108 Robert Kew 3936 Gl Glen Bundoora d 8507 Norman Bundoora 8452 Mary Balwyn Enrol SID Course 3936 101 1108 113 8507 101 Course No Name Dept 113 BCS CSCE 101 MCS CSCE Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com https://fb.com/sinhvienzonevn Nhập môn sở liệu Phân loại ngôn ngữ truy vấn { Ngôn ngữ đại số z z { câu hỏi = tập phép toán quan hệ Được biểu diễn biểu thức đại số (quan hệ) Ngôn ngữ tính tốn vị từ z z z câu hỏi = mô tả mong muốn Được đặc tả vị từ mà phải thoả mãn Phân â b biệt ệt lớp: ớp { { ngơn ngữ tính tốn vị từ biến ngơn ngữ tính tốn vị từ biến miền Ngơn gô ngữ gữ đạ đại số qua quan hệ ệ Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com https://fb.com/sinhvienzonevn Nhập môn sở liệu Tổng quan { { Gồm phép toán tương ứng với thao tác quan hệ Mỗi phép toán z z { { { Đầu vào: hay nhiều quan hệ Đầu ra: quan hệ Biểu thức đại số quan hệ = chuỗi phép toán Kết thực biểu thức đại số quan hệ Được cài đặt phần lớn hệ CSDL Phân loại phép toán { Phép toán quan hệ z z z z { Phép chiếu Phé hiế (projection) ( j ti ) Phép chọn (selection) Phép kết nối (join) Phép chia (division) Phép toán tập hợp z z z z Phép hợp (union) Phép giao (intersection) Phé ttrừ Phép (difference) (diff ) Phép tích đề-các (cartesian product) 10 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com https://fb.com/sinhvienzonevn Nhập môn sở liệu Phép chiếu Đ/n: Lựa chọn số thuộc tính từ quan hệ Cú pháp: ∏ A1, A2, ( R) { { C1 C2 C3 C4 C5 C2 C5 Ví dụ: đưa danh sách tên tất sinh viên ∏ name (St d t ) (Student Student Kết Id Name Suburb Name 1108 Robert Kew Robert 3936 Glen Bundoora Glen 8507 Norman Bundoora Norman 8452 Mary Balwyn Mary 11 Phép chọn { { Đ/n: Lựa chọn quan hệ thoả mãn điều ề kiện cho trước σ (R) Cú pháp: R1 R2 R3 R4 Student R2 R3 Ví dụ: đưa danh sách sinh viên sống B d Bundoora σ suburb="Bundoora ( Student ) Id Name Suburb 1108 Robert Kew 3936 Glen Bundoora 8507 Norman Bundoora 8452 Mary Balwyn Kết Id Name Suburb 3936 Glen Bundoora 8507 Norman Bundoora 12 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com https://fb.com/sinhvienzonevn Nhập môn sở liệu Vi dụ - chọn chiếu đưa tên sinh viên sống Bundoora { ∏ name (σ suburb ="Bundoora Student ) Student Kết Id Name Suburb 1108 Robert Kew 3936 Glen Bundoora Glen 8507 Norman Bundoora Norman 8452 Mary Balwyn Name 13 Phép kết nối { { Student Đ/n: ghép từ quan hệ thoả mãn điều kiện kết ế nối ố R1 >< < join _ condition > R Cú pháp: a r xr x a r r x b r s y b r xr x c v t z Ví dụ: đưa danh sách sinh viên khoá St d t >< Id = SID Enrol Student E l h học Kết Enrol Id Name Suburb 1108 Robert Kew SID Course 3936 Glen Bundoora 3936 101 8507 Norman Bundoora 1108 113 8452 Mary Balwyn 8507 101 Id=SID SID Id Name Suburb Course 1108 1108 Robert Kew 113 3936 3936 Glen Bundoora 101 8507 8507 Norman Bundoora Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com 14 101 https://fb.com/sinhvienzonevn Nhập mơn sở liệu Ví dụ - chọn, chiếu kết nối đưa tên sinh viên sống Bundoora mã khoá học mà sinh viên đăng ký { ∏ name ,Course (σ suburb ="Bundoo ( Student >< Id = SID Enrol )) Student Id Name 1108 Robert Suburb Kew Kết 3936 Glen Bundoora Name 8507 Norman Bundoora 8452 Mary Balwyn Enrol SID Course 3936 101 1108 113 8507 101 Course Glen 101 Norman 101 15 Phép kết nối tự nhiên { Đ/n: phép kết nối với điều kiện thuộc tính trùng tên Ví dụ: Enrol Takes SID SNO SID Course 1108 21 3936 101 1108 23 1108 113 8507 23 8507 101 8507 29 * SID SNO 1108 21 Course 1108 23 113 8507 23 101 8507 29 101 113 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com 16 https://fb.com/sinhvienzonevn Nhập môn sở liệu Phép kết nối { Phép kết nối trái a r b r c v { r x s y t z a r x b r x c v null Phép kết nối phải a r b r c v r x s y t z a r x b r x null s y null t z 17 Ví dụ phép kết nối { Đưa danh sách mã số sinh viên mã khoá học mà sinh viên đăng ký ế có Student ID Name Suburb 1108 Robert Kew 3936 Glen Bundoora 8507 Norman Bundoora 8452 Mary Balwyn Enrol SID Course 3936 101 1108 113 8507 101 Kết ID Name Suburb 1108 Robert Kew Course 113 101 3936 Glen Bundoora 8507 Norman Bundoora 101 8452 Mary Balwyn null Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com 18 https://fb.com/sinhvienzonevn Nhập môn sở liệu Phép chia Đ/n: cho R1 R2 quan hệ n m Kết ế phép chia R1 cho R2 quan hệ (n-m) Cú pháp: R1:R2 { { a a a b c x y z x y : x z a Ví dụ: d Subject Name Course Systems BCS Database BCS Database MCS Algebra MCS Course Kết Course Name BCS : Database MCS 19 Phép hợp Đ/n: gồm thuộc hai quan hệ đầu ầ vào { z quan hệ khả hợp xác định miền giá trị Cú pháp: R1∪ R2 { ∪ R1 Subject R1 R2 R2 Kết Ví dụ: d Name BCS Database BCS Database MCS Name Course Subject2 Systems BCS Name Course Algebra MCS Database BCS DataMining MCS MCS Database MCS Writing BCS DataMinin g Algebra MCS Writing 20 BCS ∪ Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com Course Systems 10 https://fb.com/sinhvienzonevn Nhập môn sở liệu Truy vấn đơn giản bảng {Tìm thơng tin từ cột bảng SELECT FROM ¾ SELECT FROM ColumnName, ColumnName, TableName; * TableName; S SELECT C FROM Name a e Student; ¾ {Ví dụ Student Id Name Suburb 1108 Robert Kew ∏ name (Student ) Name Robert 3936 Glen Bundoora Glen 8507 Norman Bundoora Norman 8452 Mary Balwyn Mary 61 Truy vấn với điều kiện lựa chọn {Chọn {Ví dụ ghi (dòng) SELECT FROM WHERE ColumnName,ColumnName, C l N C l N TableName condition_expression; SELECT FROM WHERE * Student suburb=‘‘Bundoora’’ suburb= Bundoora ; Student Id Name Suburb 1108 Robert Kew 3936 Glen Bundoora 8507 Norman Bundoora 8452 Mary Balwyn σ suburb="Bundoora ( Student ) Id Name Suburb 3936 Glen Bundoora 8507 Norman Bundoora 62 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com 31 https://fb.com/sinhvienzonevn Nhập môn sở liệu Biểu diễn điều kiện lựa chọn {Các phép toán quan hệ: =, !=, , = {Các phép toán logic: NOT, AND, OR {Phép z toán phạm vi: BETWEEN, IN, LIKE Kiểu liệu số { { z attr BETWEEN val1 AND val2 (⇔ (attr>=val1) and (attr 72 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com 36 https://fb.com/sinhvienzonevn Nhập môn sở liệu Các phép tốn tập hợp { { UNION, MINUS, INTERSECT Ví dụ: đưa danh sách tên mơn học khơng có sinh viên tham dự SELECT DISTINCT FROM MINUS SELECT S C DISTINCT S C FROM WHERE Subject.Name Subject Subject.Name Subjec a e Student, Takes, Subject Student.Id = Takes.SID and Takes.SNO = Subject.No 73 Các câu truy vấn lồng { { Là trường hợp câu truy vấn (con) viết lồng Thường sử dụng với để z z z { Kiểm tra thành viên tập hợp (IN) So sánh tập hợp (>ALL, >=ALL,