HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

76 295 0
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

Đ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

TRƢỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TIN -*** - BÀI GIẢNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU TÊN HỌC PHẦN : HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MÃ HỌC PHẦN : 17402 TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY DÙNG CHO SV NGÀNH : CÔNG NGHỆ THÔNG TIN HẢI PHÒNG - 2011 MỤC LỤC Chương I Giới thiệu 1.1 Giới thiệu hệ quản trị 1.2 Tổng quan SQL Server 2005 10 1.3 Giới thiệu SQL Management Tool 10 1.4 Ngôn ngữ vấn tin có cấu trúc 11 Chương II Tạo quản lý sở liệu 12 2.1 Các tệp tin sở liệu (Database files) 12 2.2 Tạo sở liệu (Database) 12 2.3 Sửa sở liệu 14 2.4 Xóa sở liệu 15 2.5 Các system database đặc biệt 16 Chương III Tạo quản lý bảng 18 3.1 Tạo bảng (CREATE TABLE) 18 3.2 Định nghĩa cột (Columns) 19 3.3 Định nghĩa ràng buộc (Constrains) 20 3.4 Sửa bảng (ALTER TABLE) 21 3.5 Xóa bảng (DROP TABLE) 22 3.6 Thêm ghi (INSERT) 23 3.7 Cập nhật ghi (UPDATE) 25 3.8 Xóa ghi (DELETE) 25 Chương IV Truy vấn liệu 27 4.1 Truy vấn 27 4.2 Sử dụng biểu thức hàm 30 4.3 Truy vấn từ nhiều bảng 33 4.4 Truy vấn lồng 37 Chương V Tạo quản lý mục 40 5.1 Các kiểu mục (Indexes) 40 5.2 Tạo mục 40 5.3 Quản lý gỡ bỏ mục 42 Chương VI Tạo quản lý khung nhìn 45 6.1 Định nghĩa 45 6.2.Mục đích sử dụng: 45 6.3 Tạo khung nhìn (Views) 46 6.4 Quản lý khung nhìn 47 Chương VII Tạo quản lý thủ tục thường trú 50 7.1 Giới thiệu 50 7.2 Tạo thủ tục thường trú 51 7.3 Thực thi thủ tục thường trú 51 7.4 Quản lý thủ tục thường trú 52 7.5 Tham số vào 53 7.6 Thủ tục thường trú hệ thống 54 Chương VIII Tạo quản lý hàm người dùng định nghĩa 56 8.1 Các kiểu hàm người dùng định nghĩa (User-defined functions) 56 8.2 Tạo hàm người dùng định nghĩa 56 8.3 Quản lý hàm người dùng định nghĩa 57 Chương IX Tạo quản lý Trigger 60 9.1 Tạo Trigger thao tác liệu (DML Triggers) 60 9.2 DDL Trigger DML Trigger 62 9.3 Sử dụng Trigger lồng (Nested Triggers) 63 9.4 Sử dụng Trigger đệ quy: 64 Tên học phần: Hệ quản trị Cơ sở liệu Loại học phần: Bộ môn phụ trách giảng dạy: Hệ thống Thông tin Khoa phụ trách: CNTT Mã học phần: 17402 Tổng tiết 90 số Lý thuyết 45 Tổng số TC: Thực hành/ Xemina Tự học Bài tập lớn Đồ án học 30 có không môn Học phần học trƣớc: Không yêu cầu Học phần tiên quyết: Không yêu cầu Học phần song song: Không yêu cầu Mục tiêu học phần: Cung cấp cho sinh viên kiến thức hệ quản trị sở liệu; Các chức công cụ cần thiết để quản trị sở liệu cho người phát triển hệ thống Nội dung chủ yếu: Giới thiệu hệ quản trị sở liệu; Tạo quản lý sở liệu; Tạo quản lý bảng; Truy vấn liệu; Tạo quản lý mục; Tạo quản lý khung nhìn; Tạo quản lý thủ tục thường trú; Tạo quản lý hàm người dùng định nghĩa; Tạo quản lý Trigger Nội dung chi tiết: PHÂN PHỐI SỐ TIẾT TÊN CHƢƠNG MỤC TS LT Chƣơng Giới thiệu 10 BT TH 1.1 Hệ quản trị sở liệu Microsoft SQL Server (2005) 1.2 Các thành phần Microsoft SQL Server (2005) 1.3 Ngôn ngữ truy vấn liệu có cấu trúc (SQL) Chƣơng Tạo quản lý sở liệu 2.1 Các tệp tin sở liệu (Database files) 2.2 Tạo sở liệu (Database) 2.3 Quản lý sở liệu 2.4 Xóa sở liệu KT PHÂN PHỐI SỐ TIẾT TÊN CHƢƠNG MỤC TS LT Chƣơng Tạo quản lý bảng 15 20 12 5 BT TH 3.1 Tạo bảng (Tables) 3.2 Định nghĩa cột (Columns) 3.3 Định nghĩa ràng buộc (Constrains) 3.4 Sửa bảng (ALTER TABLE) 3.5 Xóa bảng (DROP TABLE) 3.6 Thêm ghi (INSERT) 3.7 Cập nhật ghi (UPDATE) 3.8 Xóa ghi (DELETE) Chƣơng Truy vấn liệu 4.1 Truy vấn 4.1.1 Mệnh đề SELECT 4.1.2 Mệnh đề FROM 4.1.3 Mệnh đề WHERE 4.1.4 Mệnh đề GROUP BY HAVING 4.1.5 Mệnh đề ORDER BY 4.1.6 Kết hợp kết từ nhiều truy vấn khác 4.2 Truy vấn từ nhiều bảng 4.2.1 Inner Joins 4.2.2 Outer Joins 4.3 Truy vấn lồng (Subqueries) Chƣơng Tạo quản lý mục 5.1 Các kiểu mục (Indexes) 5.2 Tạo mục 5.3 Quản lý mục 5.4 Xóa mục Chƣơng Tạo quản lý khung nhìn 6.1 Định nghĩa KT PHÂN PHỐI SỐ TIẾT TÊN CHƢƠNG MỤC TS LT BT TH 5 KT 6.2 Tạo khung nhìn (Views) 6.3 Quản lý khung nhìn 6.4 Xóa khung nhìn Chƣơng Tạo quản lý thủ tục thƣờng trú 7.1 Tạo thủ tục thường trú (Stored procedures) 7.2 Thực thi thủ tục thường trú 7.3 Xem sửa thủ tục thường trú 7.4 Tham số vào (Parameters) 7.5 Các thủ tục thường trú hệ thống Chƣơng Tạo quản lý hàm ngƣời dùng định nghĩa 8.1 Các kiểu hàm người dùng định nghĩa (User-defined functions) 8.2 Tạo hàm người dùng định nghĩa 8.3 Quản lý hàm người dùng định nghĩa Chƣơng Tạo quản lý Trigger 9.1 Tạo Trigger thao tác liệu (DML Triggers) 9.2 Tạo Trigger định nghĩa liệu (DDL Triggers) 9.3 Sử dụng Trigger lồng (Nested Triggers) 9.4 Sử dụng Trigger đệ quy (Recursive Triggers) Nhiệm vụ sinh viên: Tham dự buổi học lý thuyết thực hành, làm tập giao, làm thi học phần thi kết thúc học phần theo quy định Tài liệu học tập: Dương Quang Thiện, SQL Server 2000: Lập trình T - SQL, NXB Văn hóa Sài Gòn, 2007 Ray Rankins, Paul Bertucci, Chris Gallelli, Alex T.Silverstein, Microsoft SQL Server 2005 Unleashed, Sams Publishing, 2007 Brian Knightet al, Professional SQL Server 2005 Administration, Wrox Press, 2007 Paul Turley & Dan Wood, Beginning Transact-SQL with SQL Server 2000 and 2005, Wrox Press, 2006 Hình thức tiêu chuẩn đánh giá sinh viên: Hình thức thi: thi viết vấn đáp Tiêu chuẩn đánh giá sinh viên: vào tham gia học tập sinh viên buổi học lý thuyết thực hành, kết làm tập giao, kết thi học phần thi kết thúc học phần Thang điểm: Thang điểm chữ A, B, C, D, F Điểm đánh giá học phần: Z = 0,4X + 0,6Y Bài giảng tài liệu thức thống Bộ môn Hệ thống Thông tin, Khoa Công nghệ Thông tin dùng để giảng dạy cho sinh viên Ngày phê duyệt: Trƣởng Bộ môn / / Chƣơng I Giới thiệu 1.1 Giới thiệu hệ quản trị 1.1.1 CSDL quan hệ gì?  Dữ liệu hiểu thông tin nói chung  Tập hợp liệu liên quan với tổ chức thành CSDL  Các mô hình CSDL: • Mô hình liệu file: liệu lưu trữ cách rời rạc file Thường dùng cho mô hình đơn giản có bảng hay file • Mô hình phân cấp: liệu tổ chức liên kết vật lý theo mô hình (quan hệ nút cha nút con) ghi cha có quyền có nhiều ghi ghi có ghi cha • Mô hình mạng: Mô hình tương tự mô hình phân cấp Mô hình phân cấp trường hợp đặc biệt mô hình mạng Trong mô hình mạng liệu tổ chức liên kết vật lý theo dạng tập hợp ghi cha có quyền có nhiều ghi ghi có quyền có nhiều ghi cha • Mô hình quan hệ Mô hình quan hệ mô hình liệu tổ chức dựa mô hình đại số quan hệ Trong đó, liệu tổ chức thành bảng liệu Mỗi bảng liệu gồm có cột hay gọi trường dòng hay gọi ghi Mối liên hệ ghi tổ chức theo dạng logic thông qua cột giá trị chung  Cơ sở liệu quan hệ sở liệu tổ chức theo mô hình quan hệ 1.1.2 Hệ quản trị CSDL quan hệ gì?  Hệ quản trị CSDL hệ thống bao gồm CSDL phần mềm cho phép tạo lập CSDL điều khiển truy nhập CSDL  Hệ quản trị CSDL quan hệ hệ quản trị CSDL dùng để quản lý CSDL quan hệ 1.1.3 Các khả hệ quản trị CSDL:  Khả quản lý liệu tồn lâu dài: đặc điểm có sở liệu tồn thời gian dài, nội dung sở liệu liệu mà hệ quản trị CSDL truy nhập quản lý  Khả truy nhập khối lượng liệu lớn cách hiệu  Hỗ trợ mô hình liệu hay trừu tượng toán học mà qua người sử dụng quan sát liệu  Đảm bảo tính độc lập liệu hay tính bất biến chương trình ứng dụng thay đổi cấu trúc mô hình liệu  Hỗ trợ ngôn ngữ cao cấp định cho phép người dùng định nghĩa cấu trúc liệu, truy cập thao tác liệu  Quản lý giao dịch, có nghĩa khả cung cấp truy nhập đồng thời đắn với CSDL từ nhiều người sử dụng thời điểm  Điều khiển truy nhập, có nghĩa khả hạn chế truy nhập đến liệu người dùng không cấp phép khả kiểm tra tính đắn CSDL  Phục hồi liệu, có nghĩa khả khôi phục không làm mát liệu với lỗi hệ thống 1.1.4 Sơ đồ tổng quát hệ quản trị CSDL 1.1.5 Hoạt động hệ quản trị CSDL 10 1.2 Tổng quan SQL Server 2005  Microsoft SQL Server 2005 hệ quản trị sở liệu quan hệ (Relation Database Management System - RDBMS), cung cấp cách tổ chức liệu cách lưu chúng vào bảng Dữ liệu quan hệ lưu trữ bảng quan hệ định nghĩa bảng với  Một số tính đưa phiên dịch vụ thông báo, dịch vụ, dịch vụ báo cáo, môi giới dịch vụ, cải tiến database engine  Các phiên Microsoft SQL Server 2005 • SQL Server 2005 Enterprise Edition • SQL Server 2005 Standard Edition • SQL Server 2005 Workgroup Edition • SQL Server 2005 Developer Edition • SQL Server 2005 Express Edition  Các thành phần SQL Server 2005 • Relational Database Engine • Analysis Services • Notification Services • Data Transformation Services • Reporting Services • Service Broker • Replication • Native HTTP Support • Full-Text Search 1.3 Giới thiệu SQL Management Tool  Microsoft SQL SQL Server Management Studio (SSMS), công cụ Microsoft SQL Server 2005, môi trường tích hợp cho việc truy xuất, cấu hình, quản trị phát triển tất thành phần SQL Server SSMS kết hợp tính Enterprise Manager, Query Analyzer, Analysis Manager, bao hàm phiên trước SQL Server, thành môi trường đơn mà cung cấp truy xuất SQL Server để phát triển quản trị tất mức kỹ  SQL Server Configuration Manager cung cấp quản trị cấu hình sở cho dịch vụ SQL Server (SQL Server services), giao thức server (server protocols), giao thức client (client protocols) bí danh client (client aliases) 62 9.1.4 Cú pháp xóa Trigger DROP TRIGGER 9.2 DDL Trigger DML Trigger 9.2.1 DDL Trigger: • Hay gọi Trigger định nghĩa liệu loại trigger kích hoạt có kiện liên quan đến việc định nghĩa liệu Sử dụng DDL Trigger nhằm số mục đích sau đây: Tránh thay đổi lược đồ database lưu giữ thay đổi lược đồ database • Một số kiện dùng Trigger định nghĩa liệu : ALTER_TABLE, DROP_TABLE, CREATE_TABLE,… Ví dụ: CREATE TRIGGER CamSuaBang ON DATABASE FOR ALTER_TABLE AS BEGIN PRINT 'khong dc sua bang' ROOLBACK; END 9.2.2 DML Trigger:  Hay gọi Trigger thao tác liệu loại trigger kích hoạt có kiện insert, update, delete liệu bảng  Các kiện dùng Trigger thao tác liệu : INSERT, UPDATE, DELETE VD: Tạo Trigger cập nhật số lượng hàng hóa nhập: CREATE TRIGGER ThemChiTietPhieuNhap ON ChiTietPhieuNhap FOR INSERT AS UPDATE HangHoa SET TonKho=TonKho + inserted.SoLuong FROM HangHoa INNER JOIN inserted ON HangHoa.MaHangHoa=inserted.MaHangHoa Sửa lại Trigger cho phép nhập số lượng nhỏ 10 ALTER TRIGGER ThemChiTietPhieuNhap 63 ON ChiTietPhieuNhap FOR INSERT AS IF((SELECT SoLuong from inserted)>=10) ROLLBACK TRANSACTION UPDATE HangHoa SET TonKho=TonKho + inserted.SoLuong FROM HangHoa INNER JOIN inserted ON HangHoa.MaHangHoa=inserted.MaHangHoa Xóa bỏ Trigger DROP TRIGGER ThemChiTietPhieuNhap 9.3 Sử dụng Trigger lồng (Nested Triggers) Khái niệm trigger lồng hoàn toàn giống khái niệm thủ tục lồng Bản thân bên trigger, phép gọi thực lệnh INSERT, UPDATE, DELETE để cập nhật liệu bảng khác, lệnh làm kích hoạt trigger liên quan khác (nếu có) trigger gọi thực lồng Cấp độ lồng tối đa trigger không vượt 32 cấp Chúng ta sử dụng biến hệ thống @@NESTLEVEL để biết cấp độ lồng hành trigger Mặc định trigger phép lồng Tuy nhiên tạm thời tắt chế độ lồng trigger lệnh Hoặc bật trở lại chế độ lồng trigger lệnh EXEC sp_configure „Nested Triggers‟, Ví dụ trigger lồng nhau: Cho bảng liệu A(A1,A2) B(B1,B2) C(C1,C2) Trong cột A1,A2,B1,B2,C1,C2 có kiểu liệu int Viết Trigger cho hành động insert ghi vào bảng A insert ghi vào bảng B Viết Trigger cho hành động insert ghi vào bảng B insert ghi vào bảng C Như thêm ghi vào bảng A gọi Trigger thứ để thêm liệu vào bảng B Khi trigger thứ tự động gọi CREATE TRIGGER TG1 ON A FOR INSERT AS BEGIN DECLARE @A1 INT SET @A1=(SELECT A1 FROM INSERTED) DECLARE @A2 INT SET @A2=(SELECT A2 FROM INSERTED) INSERT INTO B(B1,B2) VALUES(@A1,@A2) 64 END CREATE TRIGGER TG2 ON B FOR INSERT AS BEGIN DECLARE @B1 INT SET @B1=(SELECT B1 FROM INSERTED) DECLARE @B2 INT SET @B2=(SELECT B2 FROM INSERTED) INSERT INTO C(C1,C2) VALUES(@B1,@B2) END 9.4 Sử dụng Trigger đệ quy: Khái niệm trigger đệ quy hoàn toàn giống khái niệm thủ tục đệ quy Bản thân bên trigger, phép gọi thực lệnh INSERT, UPDATE, DELETE để cập nhật liệu bảng khác, lệnh làm kích hoạt trigger liên quan khác (nếu có) trigger gọi thực đệ quy Cấp độ đệ quy tối đa trigger không vượt 32 cấp giống lồng Và coi trigger đệ quy trường hợp đặc biệt trigger lồng Ví dụ trigger đệ quy: Cho bảng liệu A(A1,A2) B(B1,B2) Trong cột A1,A2,B1,B2 có kiểu liệu int Viết Trigger cho hành động insert ghi (X1,X2) vào bảng A insert ghi (X1+1, X2+1) vào bảng B trường X1+1[...]... bày khái niệm về cơ sở dữ liệu quan hệ Cơ sở dữ liệu quan hệ có những điểm khác biệt gì so với hệ thống xử lý file truyền thống? Câu 2: Trình bày khái niệm về hệ quản trị cơ sở dữ liệu quan hệ Câu 3: Nêu các thành phần cơ bản của hệ quản trị CSDL SQL Server Câu 4: Trình bày những đặc điểm cơ bản của ngôn ngữ vấn tin SQL 12 Chƣơng II Tạo và quản lý cơ sở dữ liệu 2.1 Các tệp tin cơ sở dữ liệu (Database... ngữ định nghĩa dữ liệu DDL: với các lệnh cho phép tạo, thay đổi cấu trúc và xóa bỏ các đối tượng cơ sở dữ liệu như: view, table, database,… • Nhóm ngôn ngữ thao tác dữ liệu DML: với các lệnh như SELECT /INSERT /UPDATE /DELETE cho phép lấy về dữ liệu cụ thể, thay đổi giá trị của dữ liệu • Nhóm ngôn ngữ điều khiển dữ liệu DCL: với các lệnh cho phép hay ngăn chặn người dùng thao tác dữ liệu Bài tập Câu... lệnh INSERT Hầu hết các hệ quản trị CSDL dựa trên SQL cung cấp các cách dưới đây để thực hiện thao tác bổ sung dữ liệu cho bảng: • Bổ sung từng dòng dữ liệu với mỗi câu lệnh INSERT Đây là các sử dụng thường gặp nhất trong giao tác SQL • Bổ sung nhiều dòng dữ liệu bằng cách truy xuất dữ liệu từ các bảng dữ liệu khác 3.6.1 Bổ sung dữ liệu với lệnh INSERT Để bổ sung một dòng dữ liệu mới vào bảng, ta sử... Kiểu dữ liệu: Kiểu dữ liệu của các giá trị trong cột • Tên cột dữ liệu • Thuộc tính (nếu có): Các thuộc tính được định nghĩa trên cột • Một số kiểu dữ liệu thường gặp: • Kiểu dữ liệu xâu chuỗi văn bản: char, varchar, text, nchar, nvarchar, ntext • Dữ liệu kiểu số: tinyint, smallint, int, bigint, decimal, numeric, smallmoney, money, real, bit, binary • Dữ liệu kiểu thời gian: datetime, smalldatetime • Dữ. .. C++/C#/Java/Delphi… kết hợp với các ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language) thông qua các thư viện hoặc đối tượng kết nối CSDL được ngôn ngữ lập trình hỗ trợ: ODBC, RDO, ADO,… Các hệ quản trị CSDL quan hệ ngày nay phổ biến sử dụng các ngôn ngữ DDL và DML dựa trên ngôn ngữ SQL  Đối với hệ quản trị CSDL SQL Server thì ngôn ngữ dùng để tương tác với cơ sở dữ liệu là T – SQL Đây là một phiên bản của... backup dữ liệu, tạo thứ bản (replication),… Bài tập: Câu 1: Trình bày về tổ chức tập tin trong cơ sở dữ liệu SQL Server Phân loại tập tin trong SQL Server Cách khai báo đặc tả tập tin trong SQL Server (5 thuộc tính) Câu 2: Nêu chức năng các cơ sở dữ liệu hệ thống trong SQL Server Câu 3: Trình bày cú pháp đầy đủ của lệnh CREATE DATABASE và giải thích ý nghĩa các tham số 18 Chƣơng III Tạo và quản lý... Bài tập Câu 1: Phân biệt user table và system table trong cơ sở dữ liệu SQL Server Các system table thường lưu trữ những thông tin gì? Câu 2: Liệt kê và phân loại các kiểu dữ liệu mà SQL Server 2000 hỗ trợ Câu 3: Trình bày cú pháp đầy đủ của lệnh CREATE TABLE và giải thích chức năng của từng tham số Câu 4: Tạo cơ sở dữ liệu với các bảng dữ liệu sau đây: KhachHang(MaKH, TenKH, DiaChi) NhaCungCap(MaNCC,... toán thống kê trên dữ liệu như: cho biết tổng số tiết dạy của mỗi giáo viên, điểm trung bình các môn học của mỗi sinh viên,… Mệnh đề GROUP BY sử dụng trong câu lệnh SELECT nhằm phân hoạch các dòng dữ liệu trong bảng thành các nhóm dữ liệu, và trên mỗi nhóm dữ liệu thực hiện tính toán các giá trị thống kê như tính tổng, tính giá trị trung bình, Các hàm gộp được sử dụng để tính giá trị thống kê cho toàn... hh:mi:ss:mmmAM 131 4.3 Truy vấn từ nhiều bảng 4.3.1 Truy vấn dữ liệu với JOIN Khi cần thực hiện một yêu cầu truy vấn dữ liệu từ hai hay nhiều bảng, ta phải sử dụng đến phép nối Phép nối là cơ sở để thực hiện các yêu cầu truy vấn dữ liệu liên quan đến nhiều bảng Một câu lệnh nối thực hiện lấy các dòng dữ liệu trong các bảng tham gia truy vấn, so sánh giá trị của các dòng này trên một hoặc nhiều cột được chỉ... (partitions) 1.4 Ngôn ngữ vấn tin có cấu trúc  Mỗi hệ quản trị CSDL có một ngôn ngữ định nghĩa dữ liệu riêng (DDL - Data Definition Languague) Đây là ngôn ngữ dùng để định nghĩa, khai báo cấu trúc của CSDL.Những người thiết kế và quản trị CSDL thực hiện các công việc khai báo cấu trúc CSDL Các chương trình khai báo cấu trúc CSDL được viết bằng ngôn ngữ DDL mà hệ quản trị CSDL cho phép  Các chương trình ứng

Ngày đăng: 02/04/2016, 05:15

Từ khóa liên quan

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

Tài liệu liên quan