Bài giảng Quản trị cơ sở dữ liệu
• 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
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
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Quản trị cơ sở dữ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Quản trị cơ sở dữ liệu
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 ... 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
File đính kèm:
- bai_giang_quan_tri_co_so_du_lieu.pdf