Bài giảng cơ sở dữ liệu chương II ths lương thị ngọc khánh

116 367 0
Bài giảng cơ sở dữ liệu  chương II   ths  lương thị ngọc khánh

Đ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Ở DỮ LIỆU GV: ThS Lương Thị Ngọc Khánh Email: ltnkhanh@it.tdt.edu.vn Web: it.tdt.edu.vn/~ltnkhanh Chương II MƠ HÌNH DỮ LIỆU QUAN HỆ • Các khái niệm • Các ràng buộc mơ hình quan hệ lược đồ CSDL quan hệ • Ngôn ngữ thao tác liệu SQL/DML Các định nghĩa - Mở đầu maSoSV hoTenSV ngaySinh diemTB mucHBg Ti05020 Lê Ngọc Phúc 06-12-1988 9.0 240.000 Ti05023 Nguyễn Mỹ Truyền 20-02-1987 8.2 180.000 Ti05027 Phạm Thu Hoa 23-05-1987 8.5 180.000 Ti05006 Phạm Thu Hường 23-06-1987 7.8 120.000 – maSoSV, hoTenSV, ngaySinh, mucHBg gọi thuộc tính, – {9.0, 8.2, 8.5, 7.8…} miền giá trị thuộc tính diemTB – Một dịng bảng: Ti05020 Lê Ngọc Phúc 06-12-1988 9.0 240.000 đgl Bảng có tên HOCBONG đgl quan hệ 01-2014 504009 – Mơ hình liệu quan hệ Các định nghĩa (tt) • Mơ hình CSDL quan hệ gọi tắt mơ hình quan hệ (E.F Codd đề xuất 1971), bao gồm: – Một hệ thống ký hiệu để mơ tả liệu dạng dịng cột quan hệ, bộ, thuộc tính, khóa chính, khóa ngoại,… – Một tập hợp phép toán liệu phép toán tập hợp, phép toán quan hệ – Ràng buộc tồn vẹn quan hệ 01-2014 504009 – Mơ hình liệu quan hệ Thuộc tính (attribute, arity) • Là đặc trưng đối tượng • Được phân biệt tên gọi • Phải thuộc vào kiểu liệu định (số, chuỗi, ngày tháng, lơgic, hình ảnh…) 01-2014 504009 – Mơ hình liệu quan hệ Thuộc tính (tt) • Miền giá trị thuộc tính – Ví dụ điểm thi sinh viên số nguyên từ đến 10 – Ký hiệu D(Ai) – Ví dụ: D(Diemtrungbinh) = [0 10] • Thường dùng chữ hoa A, B, C để biểu diễn thuộc tính, A1, …, An để biểu diễn số lượng lớn thuộc tính 01-2014 504009 – Mơ hình liệu quan hệ Lược đồ quan hệ (Relation) • Là tập tất thuộc tính cần quản lý đối tượng với mối liên hệ chúng • ký hiệu R(U), R(A1,…,An) • Ví dụ: SV(maSoSV, hoTenSV, ngaySinh, diemTB, mucHbg) 01-2014 504009 – Mơ hình liệu quan hệ Lược đồ quan hệ (Relation) (tt) - Tân từ LĐQH: - ý nghĩa LĐQH - Ví dụ: với lược đồ quan hệ SV: SV(maSoSV, hoTenSV, ngaySinh, diemTB, mucHbg) ta có tân từ sau: - Mỗi sinh viên có mã số nhất, mã số xác định tất thuộc tính sinh viên họ tên, ngày sinh, mức học bổng… 01-2014 504009 – Mơ hình liệu quan hệ Lược đồ quan hệ (Relation) (tt) • Nhận xét: – nói cho tập thuộc tính U = {A1, A2…, An} ta coi cho trước lược đồ quan hệ (LĐQH) với ta có quan hệ rỗng r =  – Khi lược đồ nạp thêm dịng ta có quan hệ khác rỗng 01-2014 504009 – Mơ hình liệu quan hệ Lược đồ CSDL • Lược đồ CSDL: – Nhiều LĐQH nằm hệ thống quản lý với mối quan hệ chúng với • Ví dụ lược đồ CSDL quản lý điểm : SV(maSV, hotenSV, ngaySinh, maLop, tinh, hocBong) Lop(maLop, tenLop, siSo, maKhoa) Khoa(maKhoa, tenKhoa, soCB) MonHoc(maMH, tenMH, soTiet) KetQua(maSV, maMH, diemThi) 01-2014 504009 – Mơ hình liệu quan hệ 10 Truy vấn (tt) • Ví dụ: Cho biết ds sinh viên nam khoa có mã „CNTT‟ SELECT * FROM SinhVien WHERE makhoa = ‘CNTT’ and phai = ‘Nam’ 01-2014 504009 – Mơ hình liệu quan hệ 102 Truy vấn (tt) • Tên bí danh: – Có thể đặt lại tên cho ds thuộc tính bảng kết (gọi tên bí danh) cách sử dụng cú pháp sau: Select AS – Ví dụ SELECT masv AS ma, hoten AS ‘Ho ten’, ngaysinh, phai, malop FROM SinhVien WHERE malop = ‘Ti01’ and phai = ‘Nam’ 01-2014 504009 – Mơ hình liệu quan hệ 103 Truy vấn (tt) • Ví dụ: Cho biết mã số, họ tên, ngày sinh, tên lớp danh sách sinh viên khoa „công nghệ thông tin‟ SELECT maso, hoten, ngaysinh, tenlop FROM SinhVien, khoa WHERE tenkhoa = ‘Cong nghe thong tin’ AND SinhVien.makhoa = Khoa.makhoa 104 Truy vấn (tt) • Tên bí danh cho bảng – Ví dụ: Cho biết mã số, họ tên, ngày sinh, tên lớp danh sách sinh viên lớp „công nghệ thông tin 01‟ Select From Where maso, hoten, ngaysinh, tenlop SinhVien sv, LopHoc lh tenlop = =‘Cong nghe thong tin 01’ and sv.malop = lh.malop 105 Toán tử between, not between, like, not like • BETWEEN – Sử dụng để kiểm tra giá trị liệu nằm (ngồi) khoảng SELECT MANV, TENNV FROM NHANVIEN WHERE LUONG > 20000 AND LUONG < 30000 • Có thể viết: SELECT MANV, TENNV FROM NHANVIEN WHERE LUONG BETWEEN 20000 AND 30000 • Sử dụng NOT BETWEEN tương tự 01-2014 504009 – Mơ hình liệu quan hệ 106 Toán tử between, not between, like, not like (tt) • LIKE – Từ khóa LIKE (NOT LIKE) sử dụng câu lệnh select nhằm mơ tả khn dạng liệu cần tìm kiếm – Thường kết hợp với ký tự đại diện sau: • %: chuỗi ký tự (có thể khơng có nhiều ký tự) • _: ký tự đơn • []: ký tự đơn giới hạn định (ví dụ [a-f]) hay tập (ví du: [abcdef]) 01-2014 504009 – Mơ hình liệu quan hệ 107 Tốn tử between, not between, like, not like (tt) • LIKE (tt) – Ví dụ: SELECT masv, hoten, ngaysinh FROM SinhVien WHERE hoten LIKE ‘Nguyen _ _ _ _’ – Hoặc SELECT masv, hoten, ngaysinh FROM SinhVien WHERE hoten LIKE ‘Nguyen %’ 01-2014 504009 – Mơ hình liệu quan hệ 108 Tốn tử between, not between, like, not like (tt) • Sử dụng NOT LIKE tương tự – Lưu ý: • Like “ab\%cd%” cho chuỗi bắt đầu với “ab%cd” • Like “ab\\cd%” cho chuỗi bắt đầu với “ab\cd” 01-2014 504009 – Mơ hình liệu quan hệ 109 Truy vấn (tt) • Tên bí danh: – Có thể đặt lại tên cho ds thuộc tính bảng kết (gọi tên bí danh) cách sử dụng cú pháp sau: Select AS 01-2014 504009 – Mơ hình liệu quan hệ 110 Mệnh đề ORDER BY • Dùng để hiển thị kết câu truy vấn theo thứ tự • Cú pháp: SELECT FROM WHERE ORDER BY – Trong là: • ASC: tăng (mặc định) • DESC: giảm 01-2014 504009 – Mơ hình liệu quan hệ 111 Mệnh đề ORDER BY (tt) • Ví dụ: SELECT MANVIEN, SODA FROM PHANCONG ORDER BY MANVIEN DESC, SODA MANVIEN 01-2014 SODA 999887777 10 999887777 30 987987987 10 987987987 30 987654321 10 987654321 20 987654321 30 504009 – Mơ hình liệu quan hệ 112 Câu hỏi • Nhắc lại khái niệm – Thuộc tính, Miền giá trị – Lược đồ quan hệ – Quan hệ – Lược đồ csdl – Cơ sở liệu – Bộ – K-bộ – Siêu khóa, khóa, khóa chính, khóa dự tuyển, khóa ngoại 01-2014 504009 – Mơ hình liệu quan hệ 113 Bài tập chương II • Cho lược đồ quan hệ sau: – SINHVIEN (MaSV, Hoten, Namsinh, QQ, Hocluc) – DETAI (MaDT, TenDT, Chunhiem, Kinhphi) – SV_DT (MaSV, MaDT, NoiAD, KQ) • Xác định biểu diễn yếu tố tất ràng buộc có lược đồ csdl 01-2014 504009 – Mơ hình liệu quan hệ 114 Bài tập chương II (tt) • Cho lược đồ csdl quản lý hàng hóa sau: – HangHoa(MaHG, TenHG, DVT, Dongia, Cohang) – Khach(MaKH, Hoten, Diachi, Daily, sodienthoai) – HoaDon(SoHD, Ngaylap, Ngaygiao, Trigia, MaKH) – Chitiet_HD(SoHD, MaHG, Soluong, Giaban) • Thực cơng việc sau: – Viết câu lệnh để tạo tất bảng dựa vào LĐQH (có đầy đủ RB khóa chính, khóa ngoại not null) 01-2014 504009 – Mơ hình liệu quan hệ 115 Bài tập chương II (tt) – Trong bảng Khach, viết câu lệnh sửa cột diachi thành nvarchar(30), giả sử trước cột có kiểu char(20) – Viết câu lệnh kiểm tra RB Chitiet_HD – Viết câu lệnh không kiểm tra RB bảng HoaDon – Thêm RB kiểm tra cho thuộc tính cohang bang HangHoa – Thêm RB cho thuộc tính sodienthoai bảng Khach 01-2014 504009 – Mơ hình liệu quan hệ 116 ... ngơn ngữ xử lý liệu 01-2014 504009 – Mơ hình liệu quan hệ 45 Các kiểu liệu SQL • Kiểu liệu thuộc tính, định kiểu liệu dung lượng lưu trữ đối tượng • SQL Server hỗ trợ số kiểu liệu cài sẵn sau:... nvarchar… 01-2014 504009 – Mô hình liệu quan hệ 46 Tạo sở liệu • Sử dụng cú pháp sau để tạo sở liệu SQL: – CREATE DATABASE 01-2014 504009 – Mơ hình liệu quan hệ 47 Tạo bảng - Khái niệm.. .Chương II MƠ HÌNH DỮ LIỆU QUAN HỆ • Các khái niệm • Các ràng buộc mơ hình quan hệ lược đồ CSDL quan hệ • Ngơn ngữ thao tác liệu SQL/DML Các định nghĩa - Mở

Ngày đăng: 03/12/2015, 00:54

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan