GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MS SQL SERVER

49 1.1K 3
GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MS SQL SERVER

Đ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 CAO ĐẲNG NGHỀ TỈNH BÀ RỊA VŨNG TÀU Khoa Công nghệ thông tin  GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MS SQL SERVER Giáo viên: Trần Thị Thùy Dung Giáo trình Hệ quản trị CSDL MS SQL Server BÀI TỔNG QUAN VỀ MÔ HÌNH CLIENT/SERVER Thời lượng: (3 Lý thuyết, Thực hành) Mục tiêu học - Hiểu rõ mô hình CSDL Client/Server - Nắm vững đặc trưng mô hình Client/Server - Nghiêm túc, tự giác học tập Nội dung - Các kiến thức tổng quan CSDL - Các giai đoạn phát triển hệ quản trị CSDL - Giới thiệu mô hình Client server hệ quản trị CSDL phục vụ cho mô hình Client/Server - Các đặc trưng mô hình Client/server Nội dung chi tiết Các kiến thức tổng quan CSDL Một hệ CSDL (DB system) bao gồm CSDL (Database) hệ quản trị CSDL (DBMS) CSDL (CSDL) tập hợp liệu tổ chức lưu trữ theo cấu trúc chặt chẽ nhằm phục vụ nhiều đối tượng sử dụng với nhiều mục đích khác Hệ quản trị CSDL (Database Management System - DBMS) công cụ phần mềm tổng quát nhằm hỗ trợ việc lưu trữ, truy xuất quản trị CSDL Nó cung cấp cho người dùng ứng dụng môi trường thuận tiện sử dụng hiệu tài nguyên liệu Nói cách khác, Hệ quản trị CSDL phần mềm chuyên dụng để giải tốt tình mà CSDL đặt như: bảo mật, cạnh tranh truy xuất Hình 1: Kiến trúc hệ quản trị CSDL Khoa CNTT trường Cao đẳng nghề Giáo trình Hệ quản trị CSDL MS SQL Server Các giai đoạn phát triển hệ quản trị CSDL Những năm 1975-1976, IBM lần đưa hệ quản trị CSDL kiểu quan hệ mang tên SYSTEM-R với ngôn ngữ giao tiếp CSDL SEQUEL (Structured English QUEry Language), ngôn ngữ để thao tác với CSDL Năm 1976 ngôn ngữ SEQUEL cải tiến thành SEQUEL2 Khoảng năm 1978-1979 SEQUEL2 cải tiến đổi tên thành Ngôn ngữ truy vấn có cấu trúc (Structured Query Language - SQL) cuối năm 1979 cải tiến thành SYSTEM-R Năm 1986 Viện Tiêu Chuẩn Quốc Gia Mỹ (American National Standards Institute - ANSI) công nhận chuẩn hóa ngôn ngữ SQL, sau Tổ chức Tiêu chuẩn Thế giới (International Standards Organization - ISO) công nhận ngôn ngữ Đó chuẩn SQL-86 Tới SQL qua lần chuẩn hóa lại (1989, 1992, 1996) để mở rộng phép toán tăng cường khả bảo mật tính toàn vẹn liệu Ngôn ngữ CSDL cài đặt khác đối tùy theo hệ quản trị CSDL khác nhau, nhiên phải theo chuẩn (Standard) định Hiện nay, đa phần ngôn ngữ truy vấn CSDL dựa chuẩn SQL-92 Giới thiệu mô hình Client/Server hệ quản trị CSDL phục vụ cho mô hình Client/Server SQL hệ quản trị CSDL nhiều người dùng kiểu Client/Server Đây hệ thống dùng lưu trữ liệu cho hầu hết ứng dụng lớn Mô hình Client/Server SQL sử dụng để điều khiển tất chức mà hệ quản trị CSDL cung cấp cho người dùng khả • Định nghĩa liệu • Truy xuất thao tác liệu • Điều khiển truy cập • Đảm bảo toàn vẹn liệu Các đặc trưng mô hình Client/server Một ứng dụng kiểu Client/Server bao gồm phần: Một phần chạy Server (máy chủ) phần khác chạy Workstations (máy trạm) Hình 2: Mô hình Client/Server SQL Server Khoa CNTT trường Cao đẳng nghề Giáo trình Hệ quản trị CSDL MS SQL Server Phần Server: (Máy chủ) chứa CSDL, cung cấp chức phục vụ cho việc tổ chức quản lý CSDL, cho phép nhiều người sử dụng truy cập liệu Điều không tiết kiệm mà thể tính quán mặt liệu Tất liệu truy xuất thông qua server, không truy xuất trực tiếp Do đó, có độ bảo mật cao, tính chịu lỗi, chạy đồng thời, lưu dự phòng… Phần Client (Máy khách): Là phần mềm chạy máy trạm cho phép người sử dụng giao tiếp CSDL Server Hệ thống máy tính Client/Server có mô hình kiến trúc dựa cấu hình phân tán truy nhập liệu, gồm: - Mô hình CSDL tập trung (Centralized database model) - Mô hình CSDL theo kiểu file - server (File - server database model) - Mô hình xử lý phần CSDL (Database extract proceSQL Servering model) - Mô hình CSDL Client/Server (Client/Server database model) - Mô hình CSDL phân tán (Distributed database model) Bài tập Câu 1: Phân biệt khái niệm CSDL, hệ quản trị CSDL, hệ CSDL, SQL, T-SQL Câu 2: Cho ví dụ số hệ quản trị CSDL theo mô hình Client/Server ? Câu 3: Hãy trình bày đặt trưng mô hình Client/Server? Khoa CNTT trường Cao đẳng nghề Giáo trình Hệ quản trị CSDL MS SQL Server BÀI CẤU HÌNH CSDL CLIENT/SERVER Thời lượng: (4 Lý thuyết, Thực hành, Kiểm tra) Mục tiêu học - Phân tích tầng cấu trúc mô hình Client/Server - Phân biệt mô hình CSDL - Nghiêm túc, tự giác học tập - Đảm bảo an toàn cho nguời thiết bị Nội dung - Tổng quan cấu trúc Client/Server - Các tầng cấu trúc - Các mô hình liệu hệ thống Client/Server Nội dung chi tiết Tổng quan cấu trúc Client/Server Một CSDL phải đảm bảo tính độc lập liệu chương trình ứng dụng Vì vậy, mô hình CSDL Client/Server, hệ thống Server lưu trữ CSDL máy A, hệ thống Client chạy chương trình ứng dụng phải máy khác Trong mô hình này, thành phần xử lý ứng dụng hệ thống Client đưa yêu cầu cho phần mềm CSDL máy Client, phần mềm kết nối với phần mềm CSDL chạy Server Phần mềm CSDL Server truy nhập vào CSDL gửi trả kết cho máy Client Các tầng cấu trúc Theo kiến trúc ANSI-PARC, CSDL có mức biểu diễn : a Mô hình liệu mức thấp (Mức vật lý hay mức trong) Đưa khái niệm mô tả chi tiết cách thức liệu lưu trữ máy tính nên gọi mức lưu trữ CSDL Tại mức này, vấn đề cần giải là, liệu lưu trữ nào, lưu đâu (đĩa từ, băng từ, track, sector)? Cần mục gì? Việc truy xuất (Sequential AcceSQL Server) hay ngẫu nhiên (Random AcceSQL Server) loại liệu Những người hiểu làm việc với CSDL mức người quản trị CSDL (Administrator), người sử dụng (NSD) chuyên môn Ví dụ : Mô hình quan hệ, mô hình mạng, mô hình phân cấp b Mô hình liệu mức cao (Mức quan niệm) Cung cấp khái niệm gần gũi với người dùng Mô hình tự nhiên giàu ngữ nghĩa Tại mức giải cho câu hỏi CSDL cần phải lưu giữ loại liệu? Đó liệu gì? Mối quan hệ loại liệu nào? Từ giới thực chuyên viên tin học qua trình khảo sát phân tích, với người đảm nhận vai trò quản trị CSDL, xác định loại thông tin Khoa CNTT trường Cao đẳng nghề Giáo trình Hệ quản trị CSDL MS SQL Server cho cần thiết phải đưa vào CSDL, đồng thời mô tả rõ mối liên hệ thông tin Có thể nói cách khác, CSDL mức quan niệm biểu diễn trừu tượng CSDL mức vật lý; ngược lại, CSDL vật lý cài đặt cụ thể CSDL mức quan niệm Ví dụ : Mô hình thực thể kết hợp (ERD), mô hình đối tượng c Mô hình liệu mức thực Đưa khái niệm người dùng hiểu không nằm xa với liệu tổ chức thực máy Đây mức người sử dụng chương trình ứng dụng Mỗi người sử dụng hay chương trình ứng dụng "nhìn" (View) CSDL theo góc độ khác Có thể "nhìn" thấy toàn hay phần thông tin tổng hợp từ CSDL có Người sử dụng hay chương trình ứng dụng hoàn toàn cấu trúc tổ chức lưu trữ thông tin CSDL, chí tên gọi loại liệu hay tên gọi thuộc tính Họ làm việc phần CSDL theo cách "nhìn" người quản trị hay chương trình ứng dụng quy định, gọi khung nhìn (View) Hình : Kiến thức tổng quát (ANSI – PARC) CSDL Các mô hình liệu hệ thống Client/Server a Mô hình CSDL tập trung (Centralized database model) Trong mô hình này, thành phần xử lý ứng dụng, phần mềm CSDL thân CSDL xử lý Ví dụ Người dùng máy tính cá nhân chạy chương trình ứng dụng có sử dụng phần mềm CSDL Oracle để truy nhập tới CSDL nằm đĩa cứng máy tính cá nhân Từ thành phần ứng dụng, phần mềm CSDL thân CSDL nằm máy tính ứng dụng thích hợp với mô hình tập trung Khoa CNTT trường Cao đẳng nghề Giáo trình Hệ quản trị CSDL MS SQL Server Hầu hết công việc xử lý luồng thông tin thực nhiều tổ chức mà phù hợp với mô hình tập trung Ví dụ xử lý mainframe chạy phần mềm CSDL IMS DB2 IBM cung cấp cho trạm làm việc vị trí phân tán truy nhập nhanh chóng tới CSDL trung tâm Tuy nhiên nhiều hệ thống vậy, thành phần ứng dụng CSDL thực máy mainframe cấu hình thích hợp với mô hình tập trung b Mô hình CSDL theo kiểu file - server (File - server databasemodel) Trong mô hình CSDL theo kiểu file - server thành phần ứng dụng phần mềm CSDL hệ thống máy tính file vật lý tạo nên CSDL nằm hệ thống máy tính khác Một cấu thường dùng môi trường cục bộ, nhiều hệ thống máy tính đóng vai trò server, lưu trữ file liệu cho hệ thống máy tính khác thâm nhập tới Trong môi trường file - server, phần mềm mạng thi hành làm cho phần mềm ứng dụng phần mềm CSDL chạy hệ thống người dùng cuối coi file CSDL file server thực máy tính người họ Mô hình file server giống với mô hình tập trung Các file CSDL nằm máy khác với thành phần ứng dụng phần mềm CSDL; nhiên thành phần ứng dụng phần mềm CSDL có thiết kế để vận hành môi trường tập trung c Mô hình xử lý phần CSDL (Database extract proceSQL Servering model) Một CSDL xa truy nhập phần mềm CSDL, gọi xử lý liệu phần Với mô hình này, người sử dụng máy tính cá nhân kết nối với hệ thống máy tính xa nơi có liệu mong muốn Người sử dụng tác động trực tiếp đến phần mềm chạy máy xa tạo yêu cầu để lấy liệu từ CSDL Người sử dụng chuyển liệu từ máy tính xa máy tính vào đĩa cứng thực việc chép phần mềm CSDL máy cá nhân Với cách tiếp cận này, người sử dụng phải biết chắn liệu nằm đâu làm để truy nhập lấy liệu từ máy tính xa Phần mềm ứng dụng kèm cần phải có hai hệ thống máy tính để kiểm soát truy nhập liệu chuyển liệu hai hệ thống Tuy nhiên, phần mềm CSDL chạy hai máy không cần biết việc xử lý CSDL từ xa diễn người sử dụng tác động tới chúng cách độc lập d Mô hình CSDL Client/Server (Client/Server database model) Mô hình CSDL Client/Server gần giống mô hình file - server, nhiên mô hình Client/Server có nhiều thuận lợi mô hình file - server Xét ví dụ sau đây: Một người dùng cuối muốn tạo vấn tin để lấy liệu tổng số, yêu cầu đòi hỏi lấy liệu từ 1000 ghi Với cách tiếp cận File-Server nội dung tất 1000 ghi phải đưa lên mạng, phần mềm CSDL chạy máy người sử dụng phải truy nhập ghi để thoả mãn yêu cầu người sử dụng Với cách tiếp cận CSDL Client/Server, có lời vấn tin khởi động ban đầu kết Khoa CNTT trường Cao đẳng nghề Giáo trình Hệ quản trị CSDL MS SQL Server cuối cần đưa lên mạng Phần mềm CSDL chạy máy lưu giữ CSDL truy nhập ghi cần thiết, xử lý chúng gọi thủ tục cần thiết để đưa kết cuối  Front-end software Trong mô hình CSDL Client/Server, thường nói đến phần mềm front-end software back-end software Front-end software chạy máy tính cá nhân workstation đáp ứng yêu cầu đơn lẻ riêng biệt, phần mềm đóng vai trò Client ứng dụng CSDL Client/Server thực chức hướng tới nhu cầu người dùng cuối cùng, phần mềm Front-end software thường chia thành loại sau: - End user database software: Được thực người sử dụng cuối hệ thống họ để truy nhập CSDL cục nhỏ kết nối với CSDL lớn CSDL Server - Simple query and reporting software: Được thiết kế để cung cấp công cụ dễ dùng việc lấy liệu từ CSDL tạo báo cáo đơn giản từ liệu có - Data analysis software: Cung cấp hàm tìm kiếm, khôi phục, chúng cung cấp phân tích phức tạp cho người dùng - Application development tools: Cung cấp khả ngôn ngữ mà nhân viên hệ thống thông tin chuyên nghiệp sử dụng để xây dựng ứng dụng CSDL - Database administration Tools: Các công cụ cho phép người quản trị CSDL sử dụng máy tính cá nhân trạm làm việc để thực việc quản trị CSDL định nghĩa CSDL, thực lưu trữ hay phục hồi  Back-end software Phần mềm bao gồm phần mềm CSDL Client/Server phần mềm mạng chạy máy đóng vai trò Server CSDL e Mô hình CSDL phân tán (Distributed database model) Cả hai mô hình File - Server Client/Server giả định liệu nằm xử lý chương trình ứng dụng truy nhập liệu nằm xử lý khác, mô hình CSDL phân tán lại giả định thân CSDL có nhiều máy khác Bài tập Câu 1: Hãy so sánh mô hình liệu tập trung mô hình liệu phân tán ? Câu 2: Cho ví dụ mô hình liệu tập trung mô hình liệu phân tán nay? Khoa CNTT trường Cao đẳng nghề Giáo trình Hệ quản trị CSDL MS SQL Server BÀI HỆ QUẢN TRỊ CSDL MS SQL SERVER Thời lượng: 10 (5 Lý thuyết, Thực hành) Mục tiêu học - Trình bày lịch sử phát triển hệ quản trị CSDL MS SQL Server - Cài đặt phần mềm hệ quản trị CSDL MS SQL Server - Sử dụng công cụ hỗ trợ hệ quản trị CSDL MS SQL Server - Cấu hình hệ thống quản trị CSDL Server nội - Nghiêm túc, tự giác học tập - Đảm bảo an toàn cho nguời thiết bị Nội dung - Giới thiệu hệ quản trị CSDL MS SQL Server - Cài đặt MS SQL Server - Các công cụ MS SQL Server - Làm việc với công cụ Enterprise Manager Nội dung chi tiết Giới thiệu hệ quản trị CSDL MS SQL Server SQL viết tắt Structured Query Language (ngôn ngữ truy vấn có cấu trúc), công cụ sử dụng để tổ chức, quản lý truy xuất liệu đuợc lưu trữ CSDL SQL hệ thống ngôn ngữ bao gồm tập câu lệnh sử dụng để tương tác với CSDL quan hệ Ngôn ngữ truy vấn có cấu trúc hệ quản trị CSDL quan hệ tảng kỹ thuật quan trọng công nghiệp máy tính Hiện SQL xem ngôn ngữ chuẩn CSDL Các hệ quản trị CSDL quan hệ thương mại có Oracle, SQL Server, Informix, DB2, chọn SQL làm ngôn ngữ cho sản phẩm SQL hệ quản trị CSDL nhiều người dùng kiểu Client/Server Đây hệ thống dùng lưu trữ liệu cho hầu hết ứng dụng lớn Mô hình Client/Server SQL sử dụng để điều khiển tất chức mà hệ quản trị CSDL cung cấp cho người dùng khả năng: • Định nghĩa liệu: SQL cung cấp khả định nghĩa CSDL, cấu trúc lưu trữ tổ chức liệu mối quan hệ thành phần liệu • Truy xuất thao tác liệu: Người dùng dễ dàng thực thao tác truy xuất, bổ sung, cập nhật loại bỏ liệu CSDL • Điều khiển truy cập: SQL sử dụng để cấp phát kiểm soát thao tác người sử dụng liệu, đảm bảo an toàn cho CSDL • Đảm bảo toàn vẹn liệu: SQL định nghĩa ràng buộc toàn vẹn CSDL nhờ đảm bảo tính hợp lệ xác liệu trước thao tác cập nhật lỗi hệ thống Khoa CNTT trường Cao đẳng nghề Giáo trình Hệ quản trị CSDL MS SQL Server SQL Server sử dụng ngôn ngữ lập trình truy vấn CSDL Transact-SQL (T-SQL), phiên Structured Query Language Ngôn ngữ lập trình truy vấn T-SQL cho phép truy xuất liệu, cập nhật quản lý hệ thống CSDL quan hệ Mỗi máy chủ có hệ quản trị CSDL SQL Server Cài đặt MS SQL Server SQL Server 2005 có nhiều phiên khác nhau, ExpreSQL Server thấp nhất, Microsoft cung cấp miễn phí cho người dùng với mục đích học tập ứng dụng vào ứng dụng nhỏ, không yêu cầu cao tính khác việc lưu trữ xử lý đơn giản a Yêu cầu phần cứng hệ điều hành sử dụng Hệ điều hành tối thiểu: Windows 2000 Service Pack 4; Windows Server 2003 Service Pack1; Windows XP Service Pack  Phần cứng: o Máy tính chip Pentium III 600 MHz trở lên (Cấu hình đề nghị: Chip GHz cao hơn.) o Tối thiểu 192 MB RAM (Cấu hình đề nghị: 512 MB RAM.) o Ổ cứng trống tối thiểu 525 MB   Bộ cài đặt: Để cài đặt SQL Server 2005 ExpreSQL Server, máy tính phải có Windows Installer 3.1 trở lên, download địa chỉ: http://go.microsoft.com/fwlink/?LinkId=46459 Microsoft Net Framework 2.0 o Hệ điều hành 32bit: http://go.microsoft.com/fwlink/?LinkId=55731 o Hệ điều hành 64bit: http://go.microsoft.com/fwlink/?LinkId=55734 File cài đặt SQL Server 2005 ExpreSQL Server http://www.microsoft.com/downloads/details.aspx?familyid=220549b5-0b07-4448-8848dcc397514b41&displaylang=en SQL Server Management Studio ExpreSQL Server http://www.microsoft.com/downloads/details.aspx?familyid=C243A5AE-4BD1-4E3D-94B85A0F62BF7796&displaylang=en Sau download về, lưu vào thư mục để bắt đầu tiến hành cài đặt (VD: D:\SQL) Trong hướng dẫn đây, thành phần có tên file cài đặt là: WindowsInstallerKB893803-v2-x86.exe: Windows Installer 3.1; dotnetfx.exe: Microsoft Net Framework 2.0; SQLEXPR.EXE: SQL Server 2005 ExpreSQL Server; SQLServer2005_SQL SERVERMSEE.msi: Công cụ quản lý SQL Server Management Studio ExpreSQL Server Khoa CNTT trường Cao đẳng nghề 10 Giáo trình Hệ quản trị CSDL MS SQL Server Ví dụ: Câu lệnh cho biết họ tên tuổi sinh viên có tên Bình có tuổi nằm khoảng từ 20 đến 22 SELECT hodem,ten,year(getdate())-year(ngaysinh) AS tuoi FROM sinhvien WHERE ten='Bình' AND YEAR(GETDATE())-YEAR(ngaysinh) BETWEEN 20 AND 22 iii Danh sách (IN NOT IN) Ví dụ: Để biết danh sách môn học có số đơn vị học trình 2, 5, thay sử dụng câu lệnh SELECT * FROM monhoc WHERE sodvht=2 OR sodvht=4 OR sodvht=5 ta sử dụng câu lệnh SELECT * FROM monhoc WHERE sodvht IN (2,4,5) iv Toán tử LIKE ký tự đại diện Từ khoá LIKE (NOT LIKE) sử dụng câu lệnh SELECT nhằm mô tả khuôn dạng liệu cần tìm kiếm Chúng thường kết hợp với ký tự đại diện sau đây: % :Chuỗi ký tự gồm không nhiều ký tự _ : Ký tự đơn [] Ký tự đơn giới hạn định (ví dụ [a-f]) hay tập (ví dụ [abcdef]) [^] Ký tự đơn không nằm giới hạn định ( ví dụ [^a-f] hay tập (ví dụ [^abcdef]) Ví dụ: Câu lệnh SELECT hodem,ten FROM sinhvien WHERE hodem LIKE 'Lê%' Câu lệnh: SELECT hodem,ten FROM sinhvien WHERE hodem LIKE 'Lê%' AND ten LIKE '[AB]%' v Giá trị NULL Là giá trị đặc biệt SQL Server dùng để giá trị liệu không chứa d Tạo bảng liệu từ kết câu lệnh SELECT Câu lệnh SELECT INTO có tác dụng tạo bảng có cấu trúc liệu xác định từ kết truy vấn Bảng tạo có số cột số cột định danh sách chọn số dòng số dòng kết truy vấn Khoa CNTT trường Cao đẳng nghề 35 Giáo trình Hệ quản trị CSDL MS SQL Server Ví dụ: SELECT hodem,ten,YEAR(GETDATE())-YEAR(ngaysinh) AS tuoi INTO tuoisv FROM sinhvien Lưu ý: Nếu danh sách chọn có biểu thức biểu thức phải đặt tiêu đề e Sắp xếp kết truy vấn Câu lệnh ví dụ viết lại sau: SELECT hodem,ten,gioitinh, YEAR(GETDATE())-YEAR(ngaysinh) AS tuoi FROM sinhvien WHERE ten='Bình' ORDER BY 3, f.Phép hợp Cú pháp sau: Câu_lệnh_1 UNION [ALL] Câu_lệnh_2 [UNION [ALL] Câu_lệnh_3] [UNION [ALL] Câu_lệnh_n] [ORDER BY cột_sắp_xếp] [COMPUTE danh_sách_hàm_gộp [BY danh_sách_cột]] Trong Câu_lệnh_1 có dạng SELECT danh_sách_cột [INTO tên_bảng_mới] [FROM danh_sách_bảng|khung_nhìn] [WHERE điều_kiện] [GROUP BY danh_sách_cột] [HAVING điều_kiện] Câu_lệnh_i (i = 2, ,n) có dạng SELECT danh_sách_cột [FROM danh_sách_bảng|khung_nhìn] [WHERE điều_kiện] [GROUP BY danh_sách_cột] [HAVING điều_kiện] Khoa CNTT trường Cao đẳng nghề 36 Giáo trình Hệ quản trị CSDL MS SQL Server g Phép nối Khi cần thực yêu cầu truy vấn liệu từ hai hay nhiều bảng, ta phải sử dụng đến phép nối Một câu lệnh nối kết hợp dòng liệu bảng khác lại theo nhiều điều kiện n o v hiển thị chúng kết truy vấn Xét bảng KHOA LOP o Chọn dòng bảng KHOA có tên khoa Khoa Công nghệ Thông tin, từ xác định mã khoa (MAKHOA) DHT02 o Tìm kiếm bảng LOP dòng có giá trị trường MAKHOA DHT02 (tức MAKHOA tương ứng bảng KHOA) v đưa dòng vào kết truy vấn Như vậy, để thực yêu cầu truy vấn liệu trên, ta phải thực phép nối hai bảng KHOA LOP với điều kiện nối MAKHOA KHOA với MAKHOA LOP i Sử dụng phép nối Ví dụ: Câu lệnh hiển thị danh sách sinh viên với thông tin: mã sinh viên, họ tên, mã lớp, tên lớp tên khoa SELECT masv,hodem,ten,sinhvien malop, tenlop, tenkhoa FROM sinhvien,lop,khoa WHERE sinhvien.malop = lop.malop AND lop.makhoa=khoa.makhoa ii Các loại phép nối Phép nối phép nối tự nhiên Ví dụ: Câu lệnh thực phép nối hai bảng LOP KHOA SELECT * FROM lop,khoa WHERE lop.makhoa=khoa.makhoa Ví dụ: Để thực phép nối tự nhiên, câu lệnh ví dụ viết lại: SELECT malop,tenlop,khoa, hedaotao,namnhaphoc,siso,lop.makhoa,tenkhoa,dienthoai FROM lop,khoa WHERE lop.makhoa=khoa.makhoa viết dạng ngắn gọn hơn: SELECT lop.*,tenkhoa,dienthoai FROM lop,khoa WHERE lop.makhoa=khoa.makhoa h Thống kê liệu với GROUP BY Ngoài khả thực yêu cầu truy vấn liệu thông thường (chiếu, chọn, nối,…) đề cập phần trước, câu lệnh SELECT cho phép thực thao tác truy vấn tính toán thống kê liệu như: cho biết tổng số tiết dạy giáo viên, điểm trung bình môn học sinh viên,… Khoa CNTT trường Cao đẳng nghề 37 Giáo trình Hệ quản trị CSDL MS SQL Server Mệnh đề GROUP BY sử dụng câu lệnh SELECT nhằm phân hoạch dòng liệu bảng thành nhóm liệu, nhóm liệu thực tính toán giá trị thống kê tính tổng, tính giá trị trung bình, Các hàm gộp sử dụng để tính giá trị thống kê cho toàn bảng nhóm liệu Chúng sử dụng l cột danh sách chọn câu lệnh SELECT xuất mệnh đề HAVING, không phép xuất mệnh đề WHERE Các hàm gộp mà SQL cung cấp SUM([ALL | DISTINCT] biểu_thức) Tính tổng giá trị AVG([ALL | DISTINCT] biểu_thức) Tính trung bình giá trị COUNT([ALL | DISTINCT] biểu_thức) Đếm số giá trị biểu thức COUNT(*) Đếm số dòng chọn MAX(biểu_thức) Tính giá trị lớn MIN(biểu_thức) Tính giá trị nhỏ Trong đó: o Hàm SUM AVG làm việc với biểu thức số o Hàm SUM, AVG, COUNT, MIN MAX bỏ qua giá trị NULL tính toán o Hàm COUNT(*) không bỏ qua giá trị NULL Ví dụ: Để thống kê trung bình điểm lần tất môn học, ta sử dụng câu lệnh sau: SELECT AVG(diemlan1) FROM diemthi Câu lệnh cho biết tuổi lớn nhất, tuổi nhỏ v độ tuổi trung bình tất sinh viên sinh Dalat: SELECT MAX(YEAR(GETDATE())-YEAR(ngaysinh)), MIN(YEAR(GETDATE())YEAR(ngaysinh)), AVG(YEAR(GETDATE())-YEAR(ngaysinh)) FROM sinhvien WHERE noisinh=' Dalat' Thống kê liệu nhóm Trong trường hợp cần thực tính toán giá trị thống kê nhóm liệu, ta sử dụng mệnh đề GROUP BY để phân hoạch liệu vào nhóm Các hàm gộp sử dụng thực thao tác tính toán nhóm cho biết giá trị thống kê theo nhóm liệu Ví dụ: Câu lệnh cho biết sĩ số (số lượng sinh viên) lớp SELECT lop.malop,tenlop,COUNT(masv) AS siso FROM lop,sinhvien WHERE lop.malop=sinhvien.malop GROUP BY lop.malop,tenlop Khoa CNTT trường Cao đẳng nghề 38 Giáo trình Hệ quản trị CSDL MS SQL Server câu lệnh: SELECT sinhvien.masv,hodem,ten, sum(diemlan1*sodvht)/sum(sodvht) FROM sinhvien,diemthi,monhoc WHERE sinhvien.masv=diemthi.masv AND diemthi.mamonhoc=monhoc.mamonhoc GROUP BY sinhvien.masv,hodem,ten cho biết trung bình điểm thi lần môn học sinh viên Lưu ý: Trong trường hợp danh sách chọn câu lệnh SELECT có hàm gộp biểu thức hàm gộp biểu thức phải có mặt đầy đủ mệnh đề GROUP BY, không câu lệnh không hợp lệ Ví dụ: Dưới câu lệnh sai SELECT lop.malop,tenlop,COUNT(masv) FROM lop,sinhvien WHERE lop.malop=sinhvien.malop GROUP BY lop.malop thiếu trường TENLOP sau mệnh đề GROUP BY Chỉ định điều kiện hàm gộp Mệnh đề HAVING sử dụng nhằm định điều kiện giá trị thống kê sản sinh từ hàm gộp tương tự cách thức mệnh đề WHERE thiết lập điều kiện cho câu lệnh SELECT Bài tập Khoa CNTT trường Cao đẳng nghề 39 Giáo trình Hệ quản trị CSDL MS SQL Server BÀI THIẾT KẾ, BẢO TRÌ VÀ PHÁT TRIỂN MÔ HÌNH CLIENT/SERVER Thời lượng: 15 (5 Lý thuyết, Thực hành, Kiểm tra) Mục tiêu học - Đọc hồ sơ thiết kế CSDL - Thực thao tác tạo người sử dụng, phân quyền cho người sử dụng - Chuyển đổi CSDL đơn giản từ hệ quản trị CSDL MS SQL sang MS Access sang hệ quản trị CSDL khác ngược lại - Sao lưu phục hồi CSDL - Thực thao tác an toàn với máy tính Nội dung - Đọc hồ sơ thiết kế CSDL - Bảo mật CSDL - Chuyển đổi CSDL từ nguồn CSDL - Sao lưu dự phòng sở lịêu - Bảo trì CSDL Nội dung chi tiết Đọc hồ sơ thiết kế CSDL Bước việc thiết kế CSDL phải biết cách đọc hồ sơ thiết kế CSDL Việc đọc sơ đồ đòi hỏi phải nắm rõ ký hiệu quy định trình bày môn học CSDL Bảo mật CSDL a Các khái niệm Bảo mật yếu tố đóng vai trò quan trọng sống CSDL Hầu hết hệ quản trị CSDL thương mại cung cấp khả bảo mật CSDL với chức như: • Cấp phát quyền truy cập CSDL cho người dùng nhóm người dùng, phát ngăn chặn thao tác trái phép người sử dụng CSDL • Cấp phát quyền sử dụng câu lệnh, đối tượng CSDL người dùng • Thu hồi (huỷ bỏ) quyền người dùng Bảo mật liệu SQL thực dựa ba khái niệm sau đây: • Người dùng CSDL (Database user): Là đối tượng sử dụng CSDL, thực thi thao tác CSDL tạo bảng, truy xuất liệu, Mỗi người dùng CSDL xác định thông qua tên người dùng (User ID) Một tập nhiều người dùng tổ chức nhóm gọi nhóm người dùng (User Group) Chính sách bảo mật CSDL áp dụng cho người dùng cho nhóm người dùng • Các đối tượng CSDL (Database objects): Tập hợp đối tượng, cấu trúc lưu trữ sử dụng CSDL bảng, khung nhìn, thủ tục, hàm gọi đối tượng Khoa CNTT trường Cao đẳng nghề 40 Giáo trình Hệ quản trị CSDL MS SQL Server CSDL Đây đối tượng cần bảo vệ sách bảo mật CSDL • Đặc quyền (Privileges): Là tập thao tác cấp phát cho người dùng đối tượng CSDL Chằng hạn người dùng truy xuất liệu bảng câu lệnh SELECT thực câu lệnh INSERT, UPDATE hay DELETE bảng SQL cung cấp hai câu lệnh cho phép thiết lập sách bảo mật CSDL: • Lệnh GRANT: Sử dụng để cấp phát quyền cho người sử dụng đối tượng CSDL quyền sử dụng câu lệnh SQL CSDL • Lệnh REVOKE: Được sử dụng để thu hồi quyền người sử dụng b Cấp phát quyền Câu lệnh GRANT sử dụng để cấp phát quyền cho người dùng hay nhóm người dùng đối tượng CSDL Câu lệnh thường sử dụng trường hợp sau: • Người sở hữu đối tượng CSDL muốn cho phép người dùng khác quyền sử dụng đối tượng mà sở hữu • Người sở hữu CSDL cấp phát quyền thực thi câu lệnh (như CREATE TABLE, CREATE VIEW, ) cho người dùng khác i Cấp phát quyền cho người dùng đối tượng CSDL Chỉ có người sở hữu CSDL người sở hữu đối tượng CSDL cấp phát quyền cho người dùng đối tượng CSDL Câu lệnh GRANT trường hợp có cú pháp sau: GRANT ALL [PRIVILEGES]| các_quyền_cấp_phát [(danh_sách_cột)] ON tên_bảng | tên_khung_nhìn |ON tên_bảng | tên_khung_nhìn [(danh_sách_cột)] |ON tên_thủ_tục |ON tên_hàm TO danh_sách_người_dùng | nhóm_người_dùng [WITH GRANT OPTION ] Trong đó: Khoa CNTT trường Cao đẳng nghề 41 ALL[PRIVILEGES] các_quyền_cấp_phát Cấp phát tất quyền cho người dùng đối tượng CSDL định Các quyền cấp phát cho người dùng bao gồm: • Đối với bảng, khung nhìn, hàm trả liệu kiểu bảng: SELECT, INSERT, DELETE, UPDATE REFERENCES • Đối với cột bảng, khung nhìn: SELECT UPDATE • Đối với thủ tục lưu trữ hàm vô hướng: EXECUTE Quyền REFERENCES sử dụng nhằm cho phép tạo khóa tham chiếu đến bảng cấp phát Danh sách quyền cần cấp phát cho người dùng đối tượng CSDL định Các quyền phân cách dấu phẩy tên_bảng |tên_khung_nhìn Tên bảng khung nhìn cần cấp phát quyền danh_sách_cột Danh sách cột bảng/khung nhìn cần cấp phát quyền tên_thủ_tục Tên thủ tục cấp phát cho người dùng tên_hàm Tên h m (do người dùng định nghĩa) cấp phát quyền danh_sách_người_dùng Danh sách tên người dùng nhận quyền cấp phát Tên người dùng phân cách dấu phẩy WITH GRANT OPTION Cho phép người dùng chuyển tiếp quyền cho người dùng khác Ví dụ minh hoạ cách sử dụng câu lệnh GRANT để cấp phát quyền cho người dùng đối tượng CSDL  Cấp phát cho người dùng có tên thuchanh quyền thực thi câu lệnh SELECT, INSERT UPDATE bảng LOP GRANT SELECT,INSERT,UPDATE ON lop TO thuchanh  Cho phép người dùng thuchanh quyền xem họ tên ngày sinh sinh viên (cột HODEM,TEN NGAYSINH bảng SINHVIEN) GRANT SELECT (hodem,ten,ngaysinh) ON sinhvien TOthuchanh Hoặc GRANT SELECT ON sinhvien(hodem,ten,ngaysinh) TO thuchanh FROM sinhvien Với quyền cấp phát trên, người dùng thuchanh thực câu lệnh SELECT hoden,ten,ngaysinh bảng SINHVIEN Nhưng câu lệnh SELECT * FROM sinhvien lại thực Trong trường hợp cần cấp phát tất quyền thực đối tượng CSDL cho người dùng, thay liệt kê câu lệnh, ta cần sử dụng từ khoá ALL PRIVILEGES (từ khóa PRIVILEGES không cần định) Giáo trình Hệ quản trị CSDL MS SQL Server Câu lệnh GRANT ALL ON diemthi TO thuchanh cấp phát cho người dùng thuchanh quyền SELECT, INSERT, UPDATE, DELETE VÀ REFERENCES bảng DIEMTHI Khi ta cấp phát quyền n o cho người dùng đối tượng CSDL, người dùng thực thi câu lệnh cho phép đối tượng cấp phát Tuy nhiên, người dùng quyền cấp phát quyền m phép cho người sử dụng khác.Trong số trường hợp, ta cấp phát quyền cho người dùng n o đó, ta cho phép người chuyển tiếp quyền cho người dùng khác cách định tuỳ chọn WITH GRANT OPTION câu lệnh GRANT ii Cấp phát quyền thực thi câu lệnh Ngoài chức cấp phát quyền cho người sử dụng đối tượng CSDL , câu lệnh GRANT sử dụng để cấp phát cho người sử dụng số quyền hệ quản trị CSDL CSDL Những quyền cấp phát trường hợp bao gồm: • Tạo CSDL: CREATE DATEBASE • Tạo bảng: CREATE RULE • Tạo khung nhìn: CREATE VIEW • Tạo thủ tục lưu trữ: CREATE PROCEDURE • Tạo hàm: CREATE FUNCTION • Sao lưu CSDL: BACKUP DATABASE Câu lệnh GRANT sử dụng trường hợp n y có cú pháp sau: GRANT ALL | danh_sách_câu_lênh TO danh_sách_người_dùng Ví dụ: Để cấp phát quyền tạo bảng v khung nhìn cho người dùng có tên thuchanh, ta sử dụng câu lệnh sau: GRANT CREATE TABLE,CREATE VIEW TO thuchanh Với câu lệnh GRANT, ta cho phép người sử dụng tạo đối tượng CSDL CSDL Đối tượng CSDL người dùng tạo người sở hữu v người có quyền cho người dùng khác sử dụng đối tượng v xóa bỏ (DROP) đối tượng tạo Khác với trường hợp sử dụng câu lệnh GRANT để cấp phát quyền đối tượng CSDL, câu lệnh GRANT trường hợp sử dụng tuỳ chọn WITH GRANT OPTION, tức l người dùng chuyển tiếp quyền thực thi câu lệnh cấp phát c Thu hồi quyền Câu lệnh REVOKE sử dụng để thu hồi quyền cấp phát cho người dùng Tương ứng với câu lệnh GRANT, câu lệnh REVOKE sử dụng hai trường hợp: • Thu hồi quyền cấp phát cho người dùng đối tượng CSDL Khoa CNTT trường Cao đẳng nghề 43 Giáo trình Hệ quản trị CSDL MS SQL Server • Thu hồi quyền thực thi câu lệnh sở liệu cấp phát cho người dùng i Thu hồi quyền đối tượng sở liệu: Cú pháp câu lệnh REVOKE sử dụng để thu hồi quyền cấp phát đối tượng sở liệu có cú pháp sau: REVOKE [GRANT OPTION FOR] ALL [PRIVILEGES]| các_quyền_cần_thu_hồi [(danh_sách_cột)] ON tên_bảng | tên_khung_nhìn |ON tên_bảng | tên_khung_nhìn [(danh_sách_cột)] |ON tên_thủ_tục |ON tên_hàm FROM danh_sách_người_dùng [CASCADE] Câu lệnh REVOKE sử dụng để thu hồi số quyền cấp phát cho người dùng thu hồi tất quyền (ALL PRIVILEGES) Ví dụ: Thu hồi quyền thực thi lệnh INSERT bảng LOP người dùng thuchanh REVOKE INSERT ON lop FROM thuchanh Giả sử người dùng thuchanh cấp phát quyền xem liệu cột HODEM, TEN NGAYSINH bảng SINHVIEN, câu lệnh thu hồi quyền cấp phát cột NGAYSINH (chỉ cho phép xem liệu cột HODEM TEN) REVOKE SELECT ON sinhvien(ngaysinh) FROM thuchanh Khi ta sử dụng câu lệnh REVOKE để thu hồi quyền đối tượng CSDL từ người dùng đó, quyền m ta cấp phát trước thu hồi, quyền m người dùng n y cho phép người dùng khác có hiệu lực Nói cách khác, hai người dùng khác cấp phát quyền đối tượng CSDL cho người dùng khác, sau người thu thu hồi lại quyền cấp phát quyền m người dùng thứ hai cấp phát có hiệu lực ii Thu hồi quyền thực thi câu lênh: Việc thu hồi quyền thực thi câu lệnh sở liệu (CREATE DATABASE, CREATE TABLE, CREATE VIEW, ) thực đơn giản với câu lệnh REVOKE có cú pháp: REVOKE ALL | các_câu_lệnh_cần_thu_hồi FROM danh_sách_người_dùng Khoa CNTT trường Cao đẳng nghề 44 Giáo trình Hệ quản trị CSDL MS SQL Server Ví dụ: Để không cho phép người dùng thuchanh thực lệnh CREATE TABLE sở liệu, ta sử dụng câu lệnh: REVOKE CREATE TABLE FROM thuchanh Chuyển đổi sở liệu từ nguồn sở liệu Việc chuyển đổi sở liệu thực qua lại hệ quản trị sở liệu Việc chuyển đổi thông qua số bước đơn giản Trong giới hạn module này, tìm hiểu cách chuyển đổi qua lại nguồn sở liệu SQL Server v sở liệu Access Đối với sở liệu khác, có cách l m tương tự d Tạo sở liệu SQL Server từ nguồn sở liệu Access Trước tiên, để thuận tiện cho việc thực hành tạo sở liệu Acces có tên QuanLyNhanVien (quản lý nhân viên) với hai bảng quan hệ sau: Hình quan hệ hai bảng Tiếp theo, nhập số ghi cho bảng v đóng sở liệu lại Các bước kết xuất liệu từ Access: - Tạo sở liệu SQL , đặt tên QLNV - Click chuột phải lên sở liệu All Tasks/ Import Data… Hình:Import Data cửa sổ sau: Khoa CNTT trường Cao đẳng nghề 45 Giáo trình Hệ quản trị CSDL MS SQL Server Hình 5.3:Data Transformation Services – Nhấn Next để tiếp tục, cửa sổ ra: Hình 5.4:Choose a data source – Chọn nguồn sở liệu Trong hộp Data Source chọn Microsoft Access, hộp File name chọn sở liệu Access tạo trước (QuanLyNhanVien.mdb) hình trên, nhấn Next để tiếp tục – Chọn sở liệu đích Để mặc định hình đây, bạn chọn kết nối với tài khoản SQL Server đánh dấu vào ô Use SQL Server Authentication, hộp Username nhập tài khoản đăng nhập quản trị sở liệu hình đây: Khoa CNTT trường Cao đẳng nghề 46 Giáo trình Hệ quản trị CSDL MS SQL Server Nhấn Next để tiếp tục, cửa sổ ra: – Để mặc định hình muốn chép toàn bảng truy vấn từ sở liệu nguồn, nhấn Next để tiếp tục – Đánh dấu vào bảng truy vấn cần chép, nhấn Next / Next để tiêp tục: Nhấn Finish Đợi vài giây, phụ thuộc v o dung lượng sở liệu nguồn mà thời gian lâu hơn, sau nhấn Done để hoàn tất công việc e Xuất sở liệu SQL Server sang sở liệu Access Nhấn chuột phải lên sở liệ ọ Export Data … Thực bước tương tự trên, thay đổi CSDL nguồn v đích Sao lưu dự phòng sở lịêu Trong phần bàn cách lưu sỏ liệu(backup database) Khoa CNTT trường Cao đẳng nghề 47 Giáo trình Hệ quản trị CSDL MS SQL Server Giải Thích Thuật ngữ Backup Quá trình copy toàn hay phần database, transaction log, file hay file group hình thành backup set Backup set chứa backup media (tape or disk) cách sử dụng backup device (tape drive name hay physical filename) Device Một file vật lý (như C:\SQLBackups\Full.bak) hay tape drive cụ thể (như \\.\Tape0) dùng để record backup vào backupmedia BackupFile File chứa backup set Backup Disk hay tape sử dụng để chứa backup set Backup Media chứa nhiều backup sets (ví dụ từ nhiều SQLServer 2000 BackupMedia backups từ nhiều Windows 2000 backups) BackupSet Một backup từ lần backup đơn chứa backup Media Chúng ta tạo backup device cố định (permanent) hay tạo backup file cho lần backup Thông thường tạo backup device cố định để dùng dùng lại đặc biệt cho việc tự động hóa công việc backup Ðể tạo backup device dùng Enterprise Manager bạn chọn Management->Backup Right-click>New Backup Device Ngoài bạn dùng sp_addumpdevice system stored procedure ví dụ sau: USE Master Go Sp_addumpdevice 'disk' , 'FullBackupDevice' , 'E:\SQLBackups\Full.bak' Ðể backup database bạn dùng Backup Wizard click lên database muốn backup sau Right-click->All Tasks->BackupDatabase window hình vẽ sau: Khoa CNTT trường Cao đẳng nghề 48 Giáo trình Hệ quản trị CSDL MS SQL Server Bảo trì sở liệu Việc lưu dự phòng sở liệu nhằm phục hồi lại cần thiết, l trình bảo trì sở liệu Trước phục hồi sở liệu (restore database) ta phải xác định thứ tự file cần phục hồi Các thông tin n y SQL Server chứa msdb Việc phục hồi lại liệu thực sau: Right-click->All Tasks->Restore database thấy window hình vẽ sau: Nếu muốn phục hồi sở liệu từ tập tin khác SQL Server hay từ server khác bạn có chọn tùy chọn From device chọn backup device (file backup) tương ứng Bài tập Tạo hai tài khoản đăng nhập nguoisudung1, nguoisudung2 cho phép hai tài khoản sử dụng sở liệu QuanLyNhanVien Cấp phát tất quyền cho nguoisudung1, cấp quyền SELECT cho nguoisudung2 hai bảng sở liệu QuanLyNhanVien Thu hồi quyền Delete nguoisudung1 bảng DONVI Sao lưu sở liệu QuanLyNhanVien v lưu thư mục C:\BackUp\Data với tên QLNV.bak Xóa sở liệu QuanLyNhanVien khỏi hệ thống phục hồi lại cũ nhờ tập tin QLNV.bak Khoa CNTT trường Cao đẳng nghề 49

Ngày đăng: 27/07/2016, 14:44

Từ khóa liên quan

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

Tài liệu liên quan