Bài giảng môn Quản trị cơ sở dữ liệu

Vì sao cần có hệ QTCSDL? Trình bày và so sánh một số hệ QT CSDL thông dụng? • SQL Server có những phiên bản nào? So sánh tính năng của từng phiên bản? • Các đối tượng sử dụng trong SQL Server? • Các thành phần chính trong T-SQL? • Hoạt động của ngôn ngữ T-SQL? • Index là gì? Vì sao cần dùng index trong quản trị CSDL? Cách tạo Index? • Phân đoạn bảng là gì? Vì sao cần dùng phân đoạn bảng trong quản trị CSDL? Các phân đoạn bảng? • Tự động hóa quản trị là gì? Vì sao cần tự động hóa quản trị? • Các thành phần tham gia vào tự động hóa quản trị? • Toàn vẹn dữ liệu là gì? Vì sao cần toàn vẹn dữ liệu?

pdf24 trang | Chia sẻ: huongthu9 | Lượt xem: 530 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng môn Quản trị cơ sở dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 1 Trường Đại học Thương mại Khoa HTTT Kinh tế và THMĐT Bộ môn Công nghệ thông tin Bài giảng học phần: Quản trị cơ sở dữ liệu 1Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1. Mục đích và yêu cầu • Mục đích của học phần – Cung cấp những kiến thức cơ bản về quản trị CSDL và hệ quản trị CSDL – Trang bị những hiểu biết cơ bản về quản trị, Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2 lập trình CSDL thông qua hệ quản trị SQL Server 1. Mục đích và yêu cầu (t) • Yêu cầu cần đạt được – Nắm vững các kiến thức cơ bản về quản trị cơ sở dữ liệu – Có kiến thức về các hoạt động quản trị cơ sở Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3 dữ liệu bằng SQL Server – Sử dụng và thực hiện được việc quản trị cơ sở dữ liệu bằng SQL Server cho dữ liệu thực tế 2. Cấu trúc học phần • Học phần gồm 2 tín chỉ (30 tiết) phân phối như sau: – Nội dung lý thuyết và thảo luận 30 tiết (15 tuần) Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 4 – Thời gian: • 10 tuần lý thuyết, • 2 tuần bài tập và kiểm tra • 3 tuần thảo luận 3. Nội dung học phần • Chương 1: Tổng quan về quản trị cơ sở dữ liệu • Chương 2: Quản trị hoạt động trong SQL Server • Chương 3: Đảm bảo an toàn, bảo mật, toàn vẹn dữ liệu trong SQL Server • Chương 4: Lập trình CSDL trong SQL Server 5Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Nội dung chương 1 TỔNG QUAN VỀ QUẢN TRỊ CSDL • Hoạt động quản trị cơ sở dữ liệu • Người quản trị cơ sở dữ liệu • Phần mềm quản trị cơ sở dữ liệu • Kiến trúc hệ quản trị cơ sở dữ liệu 6Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 2 1.1. Hoạt động quản trị CSDL • Khái niệm CSDL: – Là một tập hợp dữ liệu có cấu trúc được lưu trên các thiết bị lưu trữ như băng từ, đĩa từ nhằm thỏa mãn nhu cầu khai thác đồng thời của nhiều người sử dụng, nhiều chương trình ứng dụng tại cùng thời điểm – CSDL là một bộ sưu tập các dữ liệu tác nghiệp được lưu trữ lại và được các hệ ứng dụng của một đơn vị, tổ chức nào đó sử dụng 7Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.1. Hoạt động quản trị CSDL Các kiểu dữ liệu phổ biến 8Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.1. Hoạt động quản trị CSDL • Ưu điểm của CSDL – Giảm sự trùng lặp thông tin -> đảm bảo tính nhất quán và toàn vẹn dữ liệu – Dữ liệu có thể truy xuất theo nhiều cách khác nhau mà không mất mát thông tin – Có khả năng chia sẻ thông tin 9Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.1. Hoạt động quản trị CSDL Các hệ quản trị CSDL phổ biến 10Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.1. Hoạt động quản trị CSDL • Một số vấn đề đặt ra khi sử dụng CSDL – Làm thế nào để đảm bảo được tính chủ quyền của dữ liệu ? – Vấn đề bảo mật và quyền của người sử dụng trong môi trường mạng ? – Giải quyết tranh chấp dữ liệu khi nhiều người dùng cùng sử dụng dữ liệu ? – Vấn đề an toàn, phòng chống ? – Khả năng phục hồi ? 11Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.1. Hoạt động quản trị CSDL • Vai trò của quản trị CSDL trong HTTT – Có vai trò quan trọng do • Dữ liệu là một loại tài sản đặc biệt của các tổ chức, đơn vị kinh doanh Nế tổ hứ đ ị ki h d h ó h t độ ả• u c c, ơn v n oan c oạ ng qu n trị CSDL tốt thì năng suất HTTT sẽ hiệu quả và giảm thiểu rủi ro cho hệ thống 12Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 3 1.1. Hoạt động quản trị CSDL • Mục đích của QTCSDL – Đảm bảo CSDL luôn luôn toàn vẹn, bí mật và sẵn sàng cho người dử dụng trong hệ thống – Các công việc cần thực hiện • Theo dõi định kỳ, xử lý sự cố • Sao lưu • Điều chỉnh CSDL • Bảo mật • Phục hồi • 13Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.2 Người quản trị CSDL • Khái niệm – DBA (DataBase Administrator): Là người có trách nhiệm điều khiển tập trung đối với dữ liệu cũng như các chương trình, người truy cập đến dữ liệu – DBA là người có trách nhiệm cài đặt, vận hành, duy trì, kiểm soát, sao lưu và xử lý sự cố cho CSDL của hệ thống 14Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.2 Người quản trị CSDL Một số nhiệm vụ của DBA • Xây dựng CSDL • Đảm bảo an toàn và bảo mật • Quản lý vận hành 15Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.2 Người quản trị CSDL Một số yêu cầu đối với DBA • Có hiểu biết về HT CSDL và HTTT của tổ chức • Có kiến thức về CSDL, CNTT, HT mạng máy tính • Có kỹ năng giao tiếp, hiểu và phân tích được yêu cầu của khách hàng và người quản lý • Nhanh nhạy nắm bắt các công nghệ mới trong quản trị CSDL và các biện pháp an ninh cho HT CSDL 16Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.3 Phần mềm quản trị CSDL • Vì sao cần có phần mềm QT CSDL? – Dung lượng khổng lồ – Độ phức tạp lớn – Độ an toàn thấp – Yêu cầu của người dùng 17Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.3 Phần mềm quản trị CSDL Hệ quản trị CSDL • Khái niệm – Là một phần mềm cho phép tạo lập , lưu trữ và truy xuất thông tin từ một CSDL – Thông thường một hệ QT CSDL có thể hỗ trợ cho nhiều mô hình dữ liệu khác nhau 18Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 4 1.3 Phần mềm quản trị CSDL Hệ quản trị CSDL 19Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.3 Phần mềm quản trị CSDL Đặc điểm của DBMS • Quản trị giao dịch • Điều khiển truy cập • Toàn vẹn dữ liệu Phục hồi dữ liệu• • Hỗ trợ ít nhất một mô hình dữ liệu • Đảm bảo tính độc lập dữ liệu về mặt vật lý và logic • Hỗ trợ các ngôn ngữ cấp cao nhất định 20Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.3 Phần mềm quản trị CSDL Hệ QT CSDL quan hệ - RDBMS • Là hệ QT CSDL hỗ trợ cho mô hình dữ liệu quan hệ • Vai trò 21Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.3 Phần mềm quản trị CSDL Phần mềm hỗ trợ • Phần mềm cung cấp giao diện đồ họa: – Workbench, Navicat (GUI) • Phần mềm hỗ trợ duyệt D t b B– a a ase rowser • Phần mềm hỗ trợ thiết kế – Active Table Editor 22Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.4. Kiến trúc hệ quản trị CSDL • Khái niệm – Gồm các thành phần cấu thành hệ QT CSDL, cho phép người dùng có thể tác nghiệp dễ dàng và hiệu quả 23Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.4 Kiến trúc hệ quản trị CSDL Kiến trúc tổng thể 24Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 5 1.4 Kiến trúc hệ quản trị CSDL Hoạt động của hệ thống 25Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 1.4 Kiến trúc hệ quản trị CSDL Thao tác trong hệ QT CSDL • Tạo mới, thay đổi, chỉnh sửa lược đồ • Cập nhật dữ liệu gồm: – Thêm mới, chỉnh sửa, lưu, xóa ấ• Truy v n dữ liệu – Thông qua một giao diện truy vấn chung – Thông qua các chương trình ứng dụng 26Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Câu hỏi chương 1 • Khái niệm CSDL? Quản trị CSDL? Hệ QT CSDL? Kiến trúc hệ CSDL? • Mục đích của hệ QTCSDL? Vai trò của QT CSDL trong hệ thống? ấ ề• Những v n đ gặp phải trong quá trình sử dụng CSDL? • Vì sao cần có phần mềm quản trị CSDL? • Tìm hiểu và so sánh các đặc điểm của 5 phần mềm quản trị CSDL phổ biến nhất hiện nay (Oracle, SQL Server, MySQL, DB2, MSAccess) 27Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Chương 2: Quản trị hoạt động trong SQL Server • Hệ quản trị CSDL SQL Server • Quản trị hiệu quả các đối tượng của SQL Server • Tự động hóa quản trị 28Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server Giới thiệu – Là hệ QT CSDL hỗ trợ mô hình dữ liệu quan hệ do Microsoft phát triển – Hoạt động hỗ trợ mô hình Khách/Chủ (Client/Server) 29Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server Lịch sử 30Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 6 2.1 Hệ quản trị SQL Server Đặc điểm các phiên bản 2016 31Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server Đặc điểm chung • SQL Server – Quản lý truy cập và phân quyền người dùng – Quản lý tập trung – Có hỗ trợ OLAP và OLTP – Ứng dụng được cho TMĐT và Kho dữ liệu – Sử dụng T_SQL • Có DDL (Data Definition Language) • Có DML (Data Manipulation Language) • Có DCL (Database Control Language) 32Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 • Truy cập tới CSDL qua ht mạng • Hỗ trợ mô hình Client/Server • Kho dữ liệu (Data WareHouse) • Tương thích với chuẩn ANSI/ISO SQL-92 • Hỗ trợ tìm kiếm full-text • Hỗ trợ tìm kiếm trực tuyến (Books Online) • Hỗ trợ nhiều kiểu dữ liệu mới: XML, pictures, video, • Hỗ trợ File Stream • Hỗ trợ .Net 3.5 33Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Client: Đóng vai trò busines logic và biểu diễn dữ liệu Server: Thực hiện các tiến trình để quản lý CSDL,  bảo mật, thực hiện truy vấn, . 34Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 • Có thể thực hiện trao đổi dữ liệu trên nhiều mô hình mạng, nhiều i thứ hièg ao c, n u phương thức truyền tin khác nhau 35Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 36Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 7 2.1 Hệ quản trị SQL Server SQL Server 2008 37Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Công cụ Nội dung SQL Server Configuration  Management Khởi động và dừng Server dữ liệu SQL Server Management Studio Thao tác với CSDL Books Online Bộ tài liệu 38Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 SQL Server Configuration Management • Công cụ trực quan hỗ trợ quản trị dịch vụ trên Server • Hỗ trợ thiết lập nhiều máy tính liên kết với nhau để trao đổi dữ liệu • Hỗ trợ thiết lập các Instance trên máy đơn • Hỗ trợ một số tác vụ 39Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 SQL Server Management Studio • Công cụ chính để quản lý, thiết kế và xây dựng CSDL • Kết hợp Enterprise Manager và Query Analyzer của SQL Server 2000 • Giao diện trực quan, dễ dùng, dễ điều khiển 40Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Books Online 41Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Cơ chế lưu trữ CSDL • Mỗi một Database lưu thành 2 phần – Tập tin gồm File.mdf à á tậ ti hv c c p n p ụ File.ndf – Tập tin nhật ký File.ldf 42Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 8 2.1 Hệ quản trị SQL Server SQL Server 2008 Các đối tượng - Objects • Các bảng dữ liệu (Tables) • Các chỉ mục (Index) • Các khung nhìn (Views) • Các thủ tục lưu trú (Store Procedures) • Các bẫy lỗi (Triggers) 43Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Các kiểu dữ liệu trong bảng 44Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Tạo bảng/Tạo truy vấn 45Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Ràng buộc và Quan hệ 46Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Sao chép CSDL • Sao chép CSDL cho phép copy và remove CSDL từ một instance ếnày đ n một instance khác 47Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Gán (Attach) 48Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 9 2.1 Hệ quản trị SQL Server SQL Server 2008 Tách (Detach) 49Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Nhập (Import) 50Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Xuất (Export) 51Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Ngôn ngữ truy vấn T_SQL • Thứ tự thực hiện trong câu truy vấn T-SQL như sau: – Mệnh đề FROM sẽ được thực hiện đầu tiên – Sau đó lần lượt là các phép toán giữa các bảng (table) như JOIN, APPLY, PIVOT, UNPIVOT – Tiếp theo là mệnh đề WHERE ớ ệ ề O ố ù– T i m nh đ RDER cu i c ng. – Tại mỗi bước thực hiện xong thì kết quả trả về là một bảng ảo (virtual table). 52Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Ngôn ngữ định nghĩa dữ liệu 53Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Ngôn ngữ định nghĩa dữ liệu 54Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 10 Ví dụ sửa đổi cấu trúc bảng 55Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 4.1 Các câu lệnh cơ bản Ngôn ngữ định nghĩa dữ liệu XÓA CÁC ĐỐI TƯỢNG 56Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Ngôn ngữ thao tác dữ liệu 57Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Ngôn ngữ điều khiển dữ liệu 58Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Biến trong chương trình • Biến – Biến là một đối tượng để lưu trữ một giá trị dữ liệu. Có thể dùng câu lệnh T_SQL để truyền dữ liệu thông qua các tên biến – Biến thường có 2 loại • Biến cục bộ: Khai báo và dùng tạm thời khi thực hiện câu lệnh T_SQL. Bắt đầu bằng @ • Biến toàn cục: Khai báo trước và do hệ thống quản lý. Bắt đầu bằng @@ 59Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Các cấu trúc điều khiển • Các cấu trúc điều khiển được sử dụng khi việc xử lý dữ liệu có nhiều điều kiện ràng buộc cần thõa mãn Th ờ hâ thà h 2 l i• ư ng p n n oạ – Rẽ nhánh: IF, Case, – Lặp: While, Repeat, 60Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 11 2.1 Hệ quản trị SQL Server SQL Server 2008 Thủ tục thường trú • Một Stored procedure bao gồm những thành phần chính sau: – Tên của stored procedure – Các tham số – Thân của stored procedure: bao gồm các lệnh của Transact-SQL dùng để thực thi procedure. 61Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Các loại thủ tục thường trú 62Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Tạo thủ tục bằng SSMS 63Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Trigger • Trigger là một thủ tục đặc biệt mà việc thực thi của nó tự động khi có sự kiện xảy ra • Không thể gọi trực tiếp Trigger và không nhận tham số • Phân loại – DML triggers, – DDL triggers, – Logon triggers. 64Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 DML trigger • Khái niệm: – DML triggers là các triggers sẽ được tự động thực thi khi các có sự kiện thao tác dữ liệu xảy tương ứng liên quan thao tác dữ liệu trên table hoặc view mà nó gắn kết. – DML là viết tắt của data manipulation language. Các sự kiện DML bao gồm các lệnh INSERT, UPDATE, hoặc DELETE thao tác trên các đối tượng table hoặc view. 65Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 DML trigger • Mục đích – Dùng để kiểm soát việc thay đổi của dữ liệu – Luôn gắn với một Table cụ thể trong CSDL – Hoạt động khi có sự cập nhật (Insert, Update, Delete) dữ liệu trong Table – Đảm bảo toàn vẹn dữ liệu – Phát hiện, ngăn chặn hoặc hủy bỏ những thao tác thay đổi dữ liệu trái phép trong CSDL – Tạo và kiểm tra các ràng buộc giữa các bảng trong CSDL 66Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 12 2.1 Hệ quản trị SQL Server SQL Server 2008 DDL trigger • DDL triggers là các trigger sẽ được tự động thực thi khi xảy ra các sự kiện liên quan đến định nghĩa dữ liệu trên phạm vi server hoặc database. • DDL là viết tắt của data definition language. 67Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.1 Hệ quản trị SQL Server SQL Server 2008 Logon trigger • Logon triggers là trigger được kích hoạt tương ứng với sự kiện Logon. • Sự kiện này được phát sinh khi user session được thiết lập đối với một instance của SQL Server. 68Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.2 Quản trị CSDL bằng SQL Server 2008 Dùng chỉ mục - Index • Sử dụng như chỉ mục hay mục lục của mỗi quyển sách • Tạo đường dẫn ngắn đến dữ liệu cần tìm • Có cấu trúc dữ liệu dạng B-Tree – Khoảng cách từ gốc đến mọi nút lá tương đương nhau – Thời gian tìm kiếm là với một B-Tree với n nút có chiều cao không quá logᵢ(n+1)/2 (i là độ sâu) 69Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.2 Quản trị CSDL bằng SQL Server 2008 Dùng chỉ mục - Index • Index là công cụ rất mạnh để tăng hiệu năng của các câu lệnh tìm kiếm • Có hai loại: – Clustered Index – NonClustered Index 70Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.2 Quản trị CSDL bằng SQL Server 2008 Dùng chỉ mục - Index Clustered Index • Cách dùng – Sắp xếp bảng theo thứ tự của khóa Index – Toàn bộ bảng là 1 cây Index. – Tất cả các nút lá chứa khóa Index và đồng thời chứa tất cả các trường dữ liệu còn lại – Lưu ý: • Mỗi bảng có tối đa một Clustered Index, có tểh chứa 1 hoặc nhiều trường • Các bảng có Primary Key thì Clustered Index được tạo kèm theo 71Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.2 Quản trị CSDL bằng SQL Server 2008 Dùng chỉ mục - Index Non-Clustered Index • Mỗi nút lá chứa khóa Index và con trỏ trỏ đến trang dữ liệu chứa bản ghi tương ứng • Nếu bảng có Clustered Index thì con trỏ này chính là khóa Clustered Index, ngược lại là RowID • Một bảng có thể có nhiều Non Clustered Index. Có thể chứa một hoặc nhiều trường • Được lưu trữ tách rời khỏi bảng 72Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 13 2.2 Quản trị CSDL bằng SQL Server 2008 Dùng chỉ mục - Index Clustered Index – Non Clustered Index • Clustered Index : – Tránh bookmark lookup – Nâng cao độ ổn định h N Cl t d • Non – Clustered Index – Có bookmark lookup nên hiệu suất thấp ềc o on us ere Index – Chỉ được phép tạo một Clustered Index – Cho phép tạo nhi u Index trên bảng – Lưu trữ độc lập với bảng Tăng hiệu suất xử lý song song 73Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.2 Quản trị CSDL bằng SQL Server 2008 Dùng chỉ mục - Index Tạo Index 74Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.2 Quản trị CSDL bằng SQL Server 2008 Dùng chỉ mục – Index Lựa chọn cột • Cột là ứng cử viên tốt cho Index khi – Được sử dụng thường xuyên trong các điều kiện tìm kiếm – Được sử dụng trong điều kiện JOIN hai bảng – Độ lựa chọn đủ cao • Ưu tiên Clustered Index cho cột – Tăng tuần tự – Kích thước không quá lớn – Được tìm kiếm với tần suất cao – Thường được tìm kiếm theo dải giá trị 75Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.2 Quản trị CSDL bằng SQL Server 2008 Phân đoạn bảng • Table Partitioning – Kỹ thuật phân chia bảng thành từng đoạn nhằm quản lý CSDL có dung lượng lớn hiệu quả hơn – Đối với các ứng dụng truy cập từ bên ngoài, table vẫn d hất h ấ t ú ật lý ẽ th đổiuy n n ưng c u r c v s ay 76Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.2 Quản trị CSDL bằng SQL Server 2008 Phân đoạn bảng Lợi ích • Tiện lợi về quản trị – Backup/Restore – Rebuild lại Index – Hiệu quả với Switch – out và Switch – in • Cải tiến hiệu năng – Chỉ cần truy cập vào đoạn cần thiết – Giảm tranh chấp I/O 77Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.2 Quản trị CSDL bằng SQL Server 2008 Phân đoạn bảng • Partition Function – Create partition function partition_function_name (input_parameter_type) As Range [Left|Right] for values ([boundary_value [,,]) • Partition Scheme – Create partition scheme partition_scheme_name as Partition partition_function_name [ALL|To ({file_group_names| [Primary]}) • Partition Table – Thêm lệnh: On {partition_scheme_name (partition_column_name)} sau câu lệnh Create Table 78Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 14 2.3 Tự động hóa quản trị • Tự động hóa quản trị có vai trò quan trọng trong hoạt động quản trị CSDL của DN • Thực hiện bằng việc thiết lập những tác vụ (Task) theo các lịch trình cụ thể • SQL Server cho phép thiết lập tự động hóa hoạt động bằng SQL Server Agent 79Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.3 Tự động hóa quản trị Quy trình thực hiện • Khởi động SQL Server Agent • Chọn Job • Tạo Schedule Lựa chọn Alert• • Lựa chọn Operator • Quản lý Error Logs 80Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.3 Tự động hóa quản trị Quy trình thực hiện Khởi động SQL Server Agent 81Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.3 Tự động hóa quản trị Quy trình thực hiện Chọn Job • Job là một tập các Task mà SQL Server Agent sẽ thực hiện một hay nhiều lần có kết quả thành công hay thất bại • Mỗi Job có nhiều bước (Step) mỗi bước tương ứng 1 hành động • Có thể tạo bằng Tools hoặc T-SQL • Thực thi Job bằng lập lịch (Schedule)  Dựa vào các Alert để tiếp tục thực thi Sử dụng hàm lưu trữ hệ thống sp_start_job • Job có thể thực thi trên PC hoặc WorkStation hoặc Remote Control 82Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.3 Tự động hóa quản trị Quy trình thực hiện Tạo schedule 83Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.3 Tự động hóa quản trị Quy trình thực hiện Alert (Thông báo khi thực thi) 84Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 15 2.3 Tự động hóa quản trị Quy trình thực hiện Operator • Định nghĩa các kiểu thông báo khi Agent thực hiện xong một Task • Thông báo có thể gửi qua 85Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.3 Tự động hóa quản trị Quy trình thực hiện Error Logs 86Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2.3 Tự động hóa quản trị Minh họa các bước thực hiện quy trình 87Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Chương 3: Các hoạt động quản trị nâng cao • Quản trị giao dịch • Khóa • Toàn vẹn dữ liệu • Sao lưu và phục hồi CSDL • Đồng bộ hóa CSDL • Bảo mật CSDL 88Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.1. Quản trị giao dịch Giao dịch và tính chất của giao dịch • Transaction là một đơn vị tác vụ bao gồm một tập có thứ tự các tác vụ con – Các tác vụ con được sắp xếp theo một trình tự xác định – Các tác vụ con hoàn thành thì Transaction hoàn thành – Nếu Transaction hoàn thành thì các dữ liệu biến động được cập nhật lên CSDL – Nếu Transaction không hoàn thành có thể Roll Back hoặc Cancel => dữ liệu không được cập nhật lên CSDL – Một Transaction có 4 tính chất: Atomicty, Consistency, Isolation and Durability (ACID) 89Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.1. Quản trị giao dịch Giao dịch 90Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 16 3.1. Quản trị giao dịch Tính chất của Transaction 91Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.1. Quản trị giao dịch Kết thúc giao dịch • Kết thúc giao dịch có 2 kiểu – Xác nhận giao dịch kết thúc • Commit [Transaction] [Transaction_name| @Transaction_name_variable] – Hủy bỏ và quay lại giao dịch • Rollback [Transaction] [Transaction_name| @Transaction_name| Savepoint_name| @Savepoint_name] 92Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.1. Quản trị giao dịch Phân loại giao dịch • Có 3 loại Transaction – Explicit Transaction: Phiên giao dịch rõ (tường minh) • BEGIN [Transaction] [Transaction_name| @Transaction_name_variable] Implicit Transaction : Phiên giao dịch ẩn (không– tường minh) • SET Implicit_Transaction {On|Off} – Autocommit Transaction: Mỗi câu lệnh tự cập nhật dữ liệu khi nó kết thúc, không cần câu lệnh điều khiển phiên giao dịch 93Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.1. Quản trị giao dịch Vòng đời một giao dịch 94Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.1. Quản trị giao dịch Các mức độ tách biệt của giao dịch 95Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.2. Khóa - Lock • Vì sao cần Locks? • Vai trò của các locks trong quản trị CSDL? • Khi nào thì xảy ra vấn đề tranh chấp cần locks? • Lock hướng đến giải quyết 4 vấn đề sau • Dirty reads (đọc dữ liệu sai) • Unrepeatable reads (đọc hai lần bản ghi) • Phantoms (Đọc các bản ghi nháp, không có) • Lost updates (cập nhật, mất dữ liệu) 96Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 17 3.2. Khóa - Lock Phân loại Lock trong SQL Server • Pessimistic Lock: – Là chiến lược lock trước tài nguyên (rows) trước khi end users thay đổi • Optimistic Lock – Là chiến lược chỉ lock tại thời điểm user đang thay đổi dữ liệu. • Shared Locks (S): ế ề– Hạn ch quy n sửa của người dùng 2 khi người dùng 1 đang đọc hoặc truy cập dữ liệu • Exclusive Lock (X) – Hạn chế quyền đọc và sửa của người dùng 2 khi người dùng 1 đang cập nhật dữ liệu • Update Lock (U) – Kết hợp giữa share lock và exclusive lock. 97Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 98Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.3. Sao lưu và phục hồi • Sao lưu là gì? – Khái niệm – Phân loại – Hoạt động • Phục hồi là gì? – Khái niệm – Phân loại – Hoạt động • Vì sao cần sao lưu và phục hồi? 99Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.3. Sao lưu và phục hồi Các trạng thái trong log 100Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.3. Sao lưu và phục hồi Sao lưu 101Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.3. Sao lưu và phục hồi Các loại backup • Full Database Backup – Sao lưu toàn bộ • Differential Backup – Chỉ sao lưu các thay đổi • Transaction Log Backup – Chỉ sao lưu các Transaction có thay đổi trong lần gần nhất • File or File Group Backup – Chỉ sao lưu File hoặc nhóm file 102Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 18 3.3. Sao lưu và phục hồi Phục hồi 103Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.3. Sao lưu và phục hồi Các loại phục hồi • Full Recovery Model – Có thể phục hồi gần toàn bộ về một thời điểm trong quá khứ • Bulk_Logged Recovery Model – Các hoạt động Log đầy đủ và Log minimum • Simple Recovery Model – Chỉ phục hồi CSDL về thời điểm sao lưu gần nhất 104Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.3. Sao lưu và phục hồi Một số chú ý khi sao lưu và phục hồi • Sao lưu – Thường xuyên sao lưu để giảm rủi ro cho hệ thống – Khi có bất kỳ thay đổi quan trọng nào trên CSDL nên sao lưu – Full Backup là giải pháp tối ưu nhưng tốn không gian nhớ • Phục hồi – Cần theo dõi các bản phục hồi thật chính xác – Lựa chọn các bản phục hồi theo các sự cố – Chú ý lựa chọn các kiểu phục hồi phù hợp theo tổn thất sự cố gây ra cho hệ thống 105Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.4. Đồng bộ hóa CSDL • Đồng bộ dữ liệu – Đồng bộ (Replication) là kỹ thuật dùng để sao chép và phân phối dữ liệu và các đối tượng từ một CSDL này đến một CSDL khác và cho hé ậ hật á th đổi t ê CSDL đảp p c p n c c ay r n m bảo tính nhất quán của CSDL • Có 3 kiểu chính: – Snapshot replication – Transactional replication – Merge replication 106Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.4. Đồng bộ hóa CSDL Snapshot Replication Cơ chế: ‐ Các đối tượng CSDL  chuyển từ Publisher đến Subscriber sẽ được ghi đè lên nếu chúng đang tồn tại trong CSDL của Subcriber ‐ Phù hợp nhất với CSDL  tĩnh, ít biến động ‐ Yêu cầu ràng buộc kết nối giữa hai CSDL khi thực hiện 107Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.4. Đồng bộ hóa CSDL Transactional Replication Cơ chế: ‐Tạo bản sao cho mỗi task đã  được định nghĩa trong đối  tượng CSDL của Publisher Phù hợp với CSDL nhiều‐           biến động do đồng bộ dữ liệu  nhanh, cập nhật được gần với  thời thực ‐ Yêu cầu ràng buộc kết nối  giữa hai CSDL khi thực hiện 108Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 19 3.4. Đồng bộ hóa CSDL Merge Replication Cơ chế: ‐Được dùng khi không có bất kỳ ràng buộc kết nối giữa Publisher và Subscriber ‐ Tổng hợp dữ liệu thay đổi giữa Publisher và Subscriber trong lần kết nối tiếp theo ‐ Có khả năng tự động xử lý tranh chấp dữ liệu khi tổng hợp 109Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.4. Đồng bộ hóa CSDL Thành phần đồng bộ hóa • Đối tượng đồng bộ dữ liệu – Publisher – Subscriber – Distributor • Dữ liệu đồng bộ hóa – Article – Publication – Subscription • Các dịch vụ – SQL Server Agent – Snapshot Agent – Log Reader Agent – Distributor Agent – Merge Agent 110Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.4. Đồng bộ hóa CSDL Các thành phần đồng bộ hóa Cơ chế: ‐ 1 Reader ‐ 2 Writer ‐ 3 Reader ‐ 4 Writer 111Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.4. Đồng bộ hóa CSDL Các mô hình đồng bộ hóa • Một Publisher và một Subscriber • Một Publisher và nhiều Subscriber • Nhiều Publisher và một Subscriber • Nhiều Publisher và nhiều Subscriber 112Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.4. Đồng bộ hóa CSDL Các kiểu di chuyển dữ liệu • Push Subscriber – Publisher đẩy (push) những cập nhật đến Subscriber mà không quan tâm Subscriber có cập nhật hay không – Dùng khi ứng dụng yêu cầu gửi các cập nhật đến cho Subscriber ngay khi có thay đổi ở Publisher – Bảo mật cao, các Subscriber thấp • Pull Subscriber – Subscriber kéo những cập nhật tại Publisher về theo một khoảng thời gian định kỳ – Phù hợp cho các Subscriber có độc lập cập nhật – Khả năng bảo mật thấp – Cho phép số lượng Subscriber cao 113Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.4. Đồng bộ hóa CSDL Cài đặt đồng bộ hóa • Các bước – Tạo 1 CSDL không chứa bảng – Tạo một truy vấn đến dữ liệu Tạo Publication– – Cài đặt thông số cho Publication – Tạo Subscriber – Cài đặt thông số cho Subscriber – Kiểm tra 114Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 20 3.5. Bảo mật CSDL • Bảo mật CSDL là sử dụng các phương pháp và kỹ thuật nhằm đảm bảo CSDL không bị xâm phạm vào tính bí mật, toàn vẹn, sẵn sàng và xác thực • Trong SQL Server bảo mật liên quan đến: – Người dùng – Hệ điều hành – Mạng – Các ứng dụng 115Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.5. Bảo mật CSDL Bảo mật trong SQL Server 116Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.5. Bảo mật CSDL Bảo mật trong SQL Server 117Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.5. Bảo mật CSDL Bảo mật trong SQL Server Quy trình bảo mật • Tạo các tài khoản người dùng – Sử dụng chức năng tạo tài khoản để thực hiện • Phân quyền Phân quyền dựa trên 2 chế độ:– • Người đăng nhập (Login) • Người khai thác (User) • Mã hóa dữ liệu – Lựa chọn chế độ mã hóa/ không mã hóa các cấu trúc và câu lệnh T_SQL 118Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.5. Bảo mật CSDL Bảo mật trong SQL Server Quy trình bảo mật 119Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.5. Bảo mật CSDL Bảo mật trong SQL Server Các chế độ bảo mật trong SQL • Chế độ Windows Authentication Mode – Người dùng truy nhập vào SQL Server phải là người dùng của Windows – Sử dụng Acc và Pass của Windows để truy cập vào SQL Server – Thường dùng cho User, các ứng dụng kết nối vào CSDL chạy trên Desktop và LAN • Chế độ Mixed Mode – Là sự kết hợp của Windows Authentication và SQL Server Authentication – Cả người dùng Windows và SQL Server có thể truy cập vào SQL Server 120Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 21 3.5. Bảo mật CSDL Bảo mật trong SQL Server Mô hình xác thực 121Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.5. Bảo mật CSDL Bảo mật trong SQL Server Người dùng – Login: • Có quyền truy cập vào SQL Server, có thể là Windows hoặc SQL Server • Do Server quản lý trực tiếp – User • Có quyền truy nhập và khai thác CSDL • Do CSDL quản lý trực tiếp, mỗi CSDL có 1 danh sách User được quyền truy cập đến 122Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.5. Bảo mật CSDL Mã hóa • Mã hóa đường truyền • Mã hóa dữ liệu 123Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.5. Bảo mật CSDL Các cơ chế mã hóa trong SQL Server 124Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.5. Bảo mật CSDL Mã hóa đường truyền • Giao thức SSL - Secure Socket Layer – Tự tìm hiểu thêm • Giao thức SET – Secure Electronic Transaction – Tự tìm hiểu thêm • Giao thức WEP – Wireless Encryption Protocol – Tự tìm hiểu thêm 125Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.5. Bảo mật CSDL Mã hóa đường truyền Giao thức SSL 126Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 22 3.5. Bảo mật CSDL Mã hóa đường truyền Giao thức SET 127Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.5. Bảo mật CSDL Mã hóa đường truyền Giao thức WEP 128Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.5. Bảo mật CSDL Mã hóa dữ liệu • 1. Hàm mã hóa ký tự CREATE FUNCTION fuMaHoaString (@strInput nvarchar(200), @dt smallint=-1) RETURNS nvarchar(200) AS BEGIN Declare @str nvarchar(200) , Declare @lenStr tinyint , Declare @i tinyint , Declare @k smallint Set @lenStr = Len(@strInput) Set @str = '' Set @i = 1 If (@dt = 0) Set @dt = -1 Set @k = @dt / Abs(@dt) While (@i <= @lenStr) Begin Set @str = @str + Char((Ascii(SubString(@strInput, @i, 1))+@k*20)) Set @k = -@k Set @i = @i + 1 End Return @str END 129Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3.5. Bảo mật CSDL Mã hóa dữ liệu • 2 Hàm giải mã của hàm mã hóa trên CREATE FUNCTION fuGiaiMaKyTuDaMaHoa (@strInput nvarchar(200), @dt smallint=-1) RETURNS nvarchar(200) AS BEGIN Declare @str nvarchar(200) , Declare @lenStr tinyint , Declare @i tinyint , Declare @k smallint Set @lenStr = Len(@strInput) Set @str = '' Set @i = 1 If (@dt = 0) Set @dt = -1 Set @k = -@dt / Abs(@dt) While (@i <= @lenStr) Begin Set @str = @str + Char((Ascii(SubString(@strInput, @i, 1))+@k*20)) Set @k = -@k Set @i = @i + 1 End Return @str END 130Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Chương 4: Lập trình CSDL trong SQL Server • Xử lý dữ liệu với ADO.NET • Kết nối CSDL trong chế độ Design • Crytal Report 131Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 4.1. Xử lý dữ liệu với ADO.NET Khái niệm • ADO.NET là một tập các lớp nằm trong bộ thư viện lớp cơ sở của .NET Framework, cho phép các ứng dụng windows (C#, VB.NET) hay ứng dụng web (như ASP.NET) thao tác dễ dàng với các nguồn dữ liệu • Đặc điểm – Kiến trúc dữ liệu không kết nối (disconnected data architecture), – Tích hợp với XML, – Tối ưu để kết nối với cơ sở dữ liệu (và các nguồn dữ liệu khác). 132Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 23 4.1. Xử lý dữ liệu với ADO.NET Vị trí 133Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 4.1. Xử lý dữ liệu với ADO.NET Các thành phần 134Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 4.1. Xử lý dữ liệu với ADO.NET Quy trình kết nối đến CSDL • Tạo đối tượng Connection và xác định chuỗi kết nối (Connection String) • Tạo đối tượng Command và xác định câu lệnh SQL • Mở đối tượng Connection (Open) • Thực hiện câu lệnh SQL và xử lý kết quả (Execute) • Đóng đối tượng Connection (Close) 135Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 4.2. Kết nối CSDL trong chế độ Design • Cấu hình kết nối. • Thiết lập hoặc ngắt kết nối đến nguồn dữ liệu. Xá đị h OLE DB id• c n prov er. • Thực hiện truy vấn. • Quản lý các phiên làm việc trên kết nối 136Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 4.2. Kết nối CSDL trong chế độ Design • USE NORTHWIND • GO • drop proc myADOParaProc • GO • CREATE PROC myADOParaProc • @categoryid int(4) • AS • SELECT * FROM products WHERE categoryid = @categoryid • cn.Open provStr • Set cmd.ActiveConnection = cn • cmd.CommandText = "myADOParaProc" • cmd.CommandType = adCmdStoredProc • cmd.CommandTimeout = 15 • Set prm = Cmd.CreateParameter("CategoryID", adInteger, adParamInput, 4, 7) • Cmd.Parameters.Append prm • Set rs = cmd.Execute • GO • Dim cn As New ADODB.Connection • Dim cmd As New ADODB.Command • Dim rs As New ADODB.Recordset • Dim prm As ADODB.Parameter • Dim fld As ADODB.Field • Dim provStr As String • cn.Provider = "sqloledb“ • provStr = "Server=MyServer;Database=northwind;Trusted _Connection=yes" • Set Flds = rs.Fields • While (Not rs.EOF) • For Each fld in Flds • Debug.Print fld.Value • Next • Debug.Print "" • rs.MoveNext • Wend • rs.Close • cn.Close 137Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 4.3 Sử dụng Crystal Report Viewer • Ví dụ tạo Crystal Report cho dữ liệu từ bảng Employee – Bước 1: Tạo bảng Employee – Bước 2: Tạo khung nhìn VIEW cho hiển thị dữ liệu từ bảng Employee – Bước 3: Mở Visual Studio – Bước 4: Vào Solution Explorer kích chuột phải vào CSDL vừa tạo và chọn Add -> New Item – Bước 5: Add New Item-> Crystal Report – Bước 6: Chọn kiểu hiển thị, dữ liệu, kết nối, chọn khung nhìn – Bước 7: Chọn các trường sẽ hiển thị – Bước 8: Chọn định dạng báo cáo – Bước 9: Hiển thị trên Web hoặc trang cs 138Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017 Bài giảng HP: Quản trị Cơ sở dữ liệu 24 create table Employee ( Emp_ID int identity(1,1) constraint PK_Emp primary key, Emp_Name varchar(30), Emp_Contact nchar(15), 4.3 Sử dụng Crystal Report Viewer Ví dụ Emp_Salary decimal(7,2) ) insert into Employee values ('Rakesh','9924194054','15000.22'); insert into Employee values ('Amit','9824194555','17000'); insert into Employee values ('Ketan','9824198245','14000'); insert into Employee values ('Ketan','9994198245','12000'); insert into Employee values ('Chirag','9824398245','10000'); insert into Employee values ('Naren','9824398005','10000'); 139Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 4.3 Sử dụng Crystal Report Viewer Truy vấn kết quả 140Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 4.3 Sử dụng Crystal Report Viewer Kết quả báo cáo 141Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Câu hỏi ôn tập • Vì sao cần có hệ QTCSDL? Trình bày và so sánh một số hệ QT CSDL thông dụng? • SQL Server có những phiên bản nào? So sánh tính năng của từng phiên bản? • Các đối tượng sử dụng trong SQL Server? • Các thành phần chính trong T-SQL? • Hoạt động của ngôn ngữ T-SQL? • Index là gì? Vì sao cần dùng index trong quản trị CSDL? Cách tạo Index? • Phân đoạn bảng là gì? Vì sao cần dùng phân đoạn bảng trong quản trị CSDL? Các phân đoạn bảng? • Tự động hóa quản trị là gì? Vì sao cần tự động hóa quản trị? • Các thành phần tham gia vào tự động hóa quản trị? • Toàn vẹn dữ liệu là gì? Vì sao cần toàn vẹn dữ liệu? 142Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT Câu hỏi ôn tập • Sao lưu là gì? Có các kiểu sao lưu nào? Vì sao cần sao lưu dữ liệu? • Phục hồi là gì? Vì sao thường dùng các bản sao lưu để phục hồi khi dữ liệu bị hư hỏng? • Đồng bộ hóa dữ liệu là gì? Vì sao cần đồng bộ hóa dữ liệu? Cách đồng bộ hóa dữ liệu? • Bảo mật CSDL là gì? Trong SQL server có các cơ chế bảo mật CSDL nào? • Vì sao cần phân quyền người dùng trong quản trị CSDL? Trong SQL Server có các quyền người dùng nào? • Mã hóa dữ liệu là gì? Các cơ chế mã hóa dữ liệu trong SQL Server? • Vì sao nên dùng ADO.NET để kết nối CSDL? Các kiểu kết nối tới CSDL trong bộ Framework 143Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_mon_quan_tri_co_so_du_lieu.pdf