1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Chng 0 TNG QUAN v CSDL

287 5 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 287
Dung lượng 6,66 MB

Nội dung

Chương TỔNG QUAN VỀ CSDL Phạm Thị Thu Thúy Khoa CNTT, Đại học Nha Trang thuthuypht@gmail.com Nội dung chương • Mơ hình liệu quan hệ • Thiết kế CSDL quan hệ • Hệ quản trị sở liệu • Khái niệm • Lịch sử phát triển • Chức Mơ hình liệu quan hệ • Cơ sở liệu quan hệ Relational Database Entitites Student Id Attribute Takes Name Suburb 1108 Robert Kew SID SNO 3936 Glen Bundoora 1108 21 Bundoora 1108 23 Balwyn 8507 23 8507 29 8507 8452 Norman Mary Subject No Name Dept 21 Systems CSCE 23 Database CSCE Mơ hình liệu quan hệ • Các khái niệm: Entities Tables Attributes Fields Mơ hình liệu quan hệ - Các khái niệm • Thuộc tính: • đặc trưng đối tượng • phân biệt qua tên gọi • thuộc kdl định (số, chuỗi, ngày tháng, lơgic, hình ảnh…) • thuộc tính chọn lấy giá trị tập kiểu liệu tập hợp gọi miền giá trị thuộc tính Mơ hình liệu quan hệ - Các khái niệm (tt) • Lược đồ quan hệ • 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 • Ví dụ: ta có LĐQH sinh viên (đặt tên SV) với thuộc tính sau: SV(maSoSV, mucHbg) hoTenSV, ngaySinh, diemTB, Mơ hình liệu quan hệ - Các khái niệm (tt) • Nhiều lược đồ quan hệ nằm hệ thống quản lý gọi lược đồ CSDL • Ví dụ lược đồ CSDL để quản lý điểm sinh viên gồm lược đồ quan hệ sau: SV(maSV, hotenSV, ngaySinh, maLop, tinh, hocBong) Lop(maLop, tenLop, siSo, maKhoa) Khoa(maKhoa, tenKhoa, soCB) MonHoc(maMH, tenMH, soTiet) KetQua(maSV, maMH, diemThi) Mơ hình liệu quan hệ - Các khái niệm (tt) • Định nghĩa quan hệ (relation): • Sự thể lược đồ quan hệ thời điểm gọi quan hệ Mơ hình liệu quan hệ - Các khái niệm (tt) • Primary keys (các khóa chính) • yếu tố chủ yếu cho CSDL QH • làm cho dịng Mơ hình liệu quan hệ - Các khái niệm (tt) • Foreign keys (các khóa ngoại) • nhiều cột tham chiếu đến khóa bảng khác CÁC BẢNG TRUNG GIAN INSERTED VÀ DELETED  Inserted  Chứa liệu thêm hành động INSERT/UPDATE  Có hai loại trigger  Cấu trúc bảng giống với bảng thực cập nhật liệu  Deleted   Chứa liệu bị xố hành động DELETE/UPDATE  Có hai loại trigger  Cấu trúc bảng giống với bảng thực cập nhật liệu Hành động update SQL Server Xố dịng liệu cũ  Thêm vào dịng liệu với thơng tin cập nhật  49 LÀM VIỆC VỚI TRIGGER 50 TẠO MỚI TRIGGER  Trigger tạo câu lệnh SQL Server Management Studio  Trong hai trường hợp, câu lệnh CREATE TRIGGER sử dụng để tạo trigger CREATE TRIGGER Tên_Trigger ON Tên_bảng { [ INSTEAD OF ] | [ FOR | AFTER ] } { [ INSERT [, UPDATE [,DELETE ] ] ] } AS [DECLARE Biến_cục_bộ] Các_lệnh 51 MÔ TẢ  Tên bảng   INSTEAD OF: định trigger loại instead of trigger   Mỗi bảng có quyền tạo instead of trigger cho hành động cập nhật FOR AFTER   Tên bảng mà trigger tạo liên kết Nếu tạo trigger thông thường INSERT, UPDATE, DELETE  Hành động cập nhật liệu tác động vào bảng để kích hoạt trigger 52 XĨA TRIGGER  Cú pháp DROP TRIGGERTên_trigger 53 SỬA NỘI DUNG TRIGGER Sửa nội dung ALTER TRIGGER Tên_Trigger ON Tên_bảng FOR INSERT [, UPDATE [,DELETE ]] AS [DECLAREBiến_cục_bộ] Các_lệnh  54 TRIGGER LỒNG NHAU  Trigger lồng Hành động cập nhật  Trigger  Cập nhật bảng khác  Trigger bảng tương ứng  Instead Of trigger khơng phát sinh lại bảng mà liên kết   Cập nhật  Instead of Trigger  Gọi câu lệnh cập nhật xuống bảng  Instead of trigger  Số cấp lồng tối đa 32 cấp  Sử dụng biến @@NestedLevel   Cấu hình cho phép trigger lồng  EXEC sp_configure 'nested triggers', [0 | 1] 55 TRIGGER - KIỂM TRA RÀNG BUỘC DỮ LIỆU 56 KHI THÊM MỚI MẪU TIN  Thường dùng để kiểm tra Khóa ngoại, Miền giá trị, Liên thuộc tính bảng  Liên thuộc tính nhiều bảng khác   loại đầu tiên, dùng trigger muốn cung cấp báo lỗi cụ thể tiếng Việt   Nếu khai báo ràng buộc constraint Các cấu trúc lệnh thường dùng kiểm tra  If Else If Exists  Raiserror  Rollback Tran  57 KHI HỦY BỎ MẪU TIN Tương tự, kiểm tra ràng buộc trigger INSERT  Nên kiểm tra ràng buộc khoá ngoại   Thông thường ràng buộc dẫn đến việc phải cập nhật số liệu bảng khác  Chú ý: SQL Server 2000 có thuộc tính CASCADE DELETE 58 KHI SỬA ĐỔI MẪU TIN  Tương tự, kiểm tra ràng buộc trigger INSERT   Ràng buộc khố ngoại sử dụng CASCADE UPDATE để thực tự động Xác định cột cập nhật If Update(Tên_cột) Xử lý 59 TRIGGER CẬP NHẬT GIÁ TRỊ TỰ ĐỘNG  Sau kiểm tra ràng buộc trigger Rollback liệu khơng hợp lệ  Thực tiếp hành động cập nhật bảng khác để đảm bảo toàn vẹn liệu: Cập nhật giá trị tự động  Vd: Insert  CTGiaoHang  Cập nhật bảng TONKHO   Các hành động cập nhật thường thực Hủy bỏ liệu quan hệ khố ngoại  Tính lại cột 'tính tốn' bảng liên quan   Vị trí thực  Trong trigger kiểm tra ràng buộc định nghĩa  Sau kiểm tra liệu hợp lệ (thoả mãn ràng buộc) 60 INSTEAD OF TRIGGER  Bảng ảo thơng thường cập nhật có nhiều giới hạn Group By, Order By, Distinct  Ràng buộc khoá ngoại  Thiếu cột NOT NULL bảng   Trigger Instead of  Xảy trước SQL Server kiểm tra ràng buộc  Thay đổi hành động cập nhật vào bảng ảo hành động thích hợp bảng gốc 61 VÍ DỤ Tạo bảng ảo sau  Select D.SoDH, NgayDH, MaNhaCC, V.MaVTu, TenVTu, SoLuong, DonGia From CTDONDH CT, DONDH D, VATTU V Where CT.SoDH = D.SoDH And CT.MaVTu = V.MaVTu CREATE TRIGGER tg_vw_CTDONDH_BI INSTEAD OF INSERT ON vw_CTDONDH AS Nếu chưa có đơn đặt hàng, thêm đơn đặt hàng vào DONDH Insert Into DONDH Select SoDH, NgayDH, MaNhaCC From Inserted Where SoDH Not In (Select SoDH From DonDH) Nếu chưa có vật tư, thêm vật tư vào bảng VATTU Insert Into VATTU(MaVTu, TenVTu) Select MaVTu, TenVTu From Inserted Where MaVTu Not In (Select MaVTu From VATTU) Thêm chi tiết đặt hàng vào CTDONDH Insert Into CTDONDH Select SoDH, MaVTu, SoLuong, DonGia From Inserted 62 END GOOD LUCK! Phạm Thị Thu Thúy Khoa CNTT, Đại học Nha Trang thuthuypht@gmail.com

Ngày đăng: 05/01/2022, 16:39

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w