TÀI LIỆU THỰC HÀNH MÔN CƠ SỞ DỮ LIỆU NÂNG CAO

Similar documents
Hướng dẫn cài đặt FPT

Internet Protocol. Bởi: Phạm Nguyễn Bảo Nguyên

CẤU TRÚC DỮ LIỆU NÂNG CAO

Tạo Project với MPLAB

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG CẬP NHẬT CHỨNG THƯ SỐ HOTLINE:

BELGIUM ONLINE APPOINTMENT

BÀI 1: VBA LÀ GÌ? TẠO MACRO, ỨNG DỤNG CÁC HÀM TỰ TẠO (UDF), CÀI ĐẶT ADD-INS VBA là gì?

HƯỚNG DẪN SỬ DỤNG PLESK PANEL

HƯỚNG DẪN CÀI ĐẶT PHẦN MỀM DIỆT VIRUS AVIRA

Online Appointment System will work better with below conditions/ Hệ thống đặt hẹn online sẽ hoạt động tốt hơn với điều kiện sau đây:

Cài đặt và cấu hình StarWind iscsi trên Windows. iscsi SAN là gì?

ĐỌC, GHI XML VỚI C# TRONG ADO.NET --- SỬ DỤNG VISUAL STUDIO

Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

Giáo trình này được biên dịch theo sách hướng dẫn của Sun Light. Vì là hướng dẫn kỹ thuật, trong này những thuật ngữ kỹ thuật bằng tiếng Anh tôi chỉ

Cụ thể những công việc mà AndroidManifest.xml thực hiện: - Đặt tên cho Java package của ứng dụng.

BẢO MẬT TRONG SQL SERVER

HƯỚNG DẪN CÁCH SỬ DỤNG WINDOWS MOVIE MAKER

Khối: Cao Đẳng nghề và Trung Cấp Năm 2009

Khoa Công Nghệ Thông Tin Trường Đại Học Cần Thơ. Những hỗ trợ tiên tiến khác của SQL. Đỗ Thanh Nghị

Bài thực hành 1: Chỉ mục trong SQL Server

Dọn "rác" Windows 7 vào dịp cuối năm

Tài liệu hướng dẫn: Stored Procedure

Tình huống 1: PPPoE với Username và Password

Chương 5. Network Layer. Phần 1 - Địa chỉ IPv4. Tài liệu : Forouzan, Data Communication and Networking

Chương 5. Network Layer 19/09/2016 1

Nội dung chính của chương. Các công nghệ đĩa cứng Cấu tạo vật lý của đĩa cứng Cấu tạo logic của đĩa cứng Cài đặt đĩa cứng như thế nào?

Bài Thực hành Asp.Net - Buổi 1 - Trang: 1

Bộ môn MMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

CHƯƠNG 2: CÁC ĐẶC ĐIỂM VỀ MÔI TRƯỜNG PHÁT TRIỂN (IDE)

LÂ P TRI NH WEB ASP.NET

I. Hướng Dẫn Đăng Nhập:

Nhấn nút New để tạo 1 biến mới Trang 17

Bài thực hành số 2 QUYỀN và ROLE

Tạo repository mới. The working tree. The staging index. Lệnh git init tạo một repository loại git. tại thư mục hiện tại: $ git init

SIEMENS INDUSTRIAL NETWORKS

Bài 10: Cấu trúc dữ liệu

HƯỚNG DẪN SỬ DỤNG ĐẦU GHI H.264 DVR VISION VS (4CH - 8CH - 16CH)

Entity Framework (EF)

TÀI LIỆU HƯỚNG DẪN SỬ DỤNG HOSTING PLESK PANEL

Mô hình dữ liệu quan hệ (Relational data model)

Chương 7. Application Layer. Tài liệu : Forouzan, Data Communication and Networking

SIMULATE AND CONTROL ROBOT

Chương 6. Transport Layer. Tài liệu : Forouzan, Data Communication and Networking

TỔNG QUAN VỀ.NET VÀ C#

HƢỚNG DẪN TRIỂN KHAI KASPERSKY - MOBILE DEVICE MANAGEMENT

LẬP TRÌNH WINDOWS FORM VỚI CÁC CONTROL NÂNG CAO (Các control trình bày dữ liệu dưới dạng danh sách)

STACK và QUEUE. Lấy STACK

PHÁT TRIỂN ỨNG DỤNG WEB

Lecture 12. Trees (1/2) Nội dung bài học:

Môn Học: Cơ Sở Dữ Liệu 2. Chương 3 LẤY DỮ LIỆU TỪ NHIỀU NGUỒN

Cập nhật ResultSet trong JDBC

LAB IP SLA Bài 1. Bùi Quốc Kỳ ***

Ôn tập Thiết bị mạng và truyền thông DH07TT - Lưu hành nội bộ (không sao chép dưới mọi hình thức)

Khoa KH & KTMT Bộ môn Kỹ Thuật Máy Tính

BÀI THỰC HÀNH SỐ 1. Quản trị tập tin: 1/ Tạo các thư mục sau: Bài tập thực hành linux Linuxlab. bt1 bt11 bt111. bt121. bt12. bh1 bh11 bh111.

HƯỚNG DẪN QUẢN TRỊ HỆ THỐNG

Tìm hiểu Group Policy Object và các ví dụ

Bài tập lớn số 1. Giả lập bộ định thời

Exceptions. Outline 7/31/2012. Exceptions. Exception handling is an important aspect of objectoriented. Chapter 10 focuses on:

GIẢI THUẬT ĐỊNH TUYẾN (ROUTING ALGORITHM)

Time Picker trong Android

GV: Phạm Đình Sắc or

Qu n ả tr h ố g t p ậ tin

BÀI LAB ĐỔI TÊN DOMAIN

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

NHẬP MÔN LẬP TRÌNH KHOA HỌC DỮ LIỆU. Bài 10: Thư viện Pandas (2)

Kỹ thuật thu nhỏ đối tượng trong Design (Layout)

Bài 10. Cấu trúc liên nối. khác nhau được gọi là cấu trúc liên nối. nhu cầu trao đổi giữa các module.

Google Search Engine. 12/24/2014 Google Search Engine 1

dụng một chính sách, điều này giúp dễ dàng quản lý và cung cấp tính năng Load Balancing (cân bằng tải) phục vụ tốt hơn các yêu cầu của tổ chức.

BÀI TẬP THỰC HÀNH LẬP TRÌNH WINDOWS C#

3 cách Backup Profile trong Windows 7

Bài tập căn bản Visual Basic.Net Vòng lặp. txtn. txtketqua. btntinh. txtn. txtketqua. btntinh. Trang 1

B3: Bên khung Package Explore bên trái đi tới thư mục res, bạn sẽ thấy có 3 thư mục con:

Bài 7: Các cấu trúc điều khiển

Parallels Cloud Server 6.0

HƯỚNG DẪN SỬ DỤNG NHANH MINDJET MIND MANAGER

BÀI GIẢNG CHƯƠNG 3 GIAO TIẾP KẾT NỐI SỐ LIỆU

Hệ điều hành Bài tập tuần 7_ Chúng ta làm quen một số lệnh thao tác với hệ thống file trong Linux :

Cấu hình Router FTTH ---X---

LẬP TRÌNH 8051 SỐ HỌC VÀ LÔ GIC

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

LINQ TO SQL & ASP.NET

Phần 2. SỬ DỤNG POWERPOINT ĐỂ CHUẨN BỊ NỘI DUNG TRÌNH BÀY

1 Bước 1: Test thử kit LaunchPad.

Đa ngôn ngữ (Internationalization) trong Servlet

Làm việc với Database

BÀI 6a LẬP TRÌNH ĐA TUYẾN (MULTI THREAD)

HTML DOM - Forms. MSc. nguyenhominhduc

B5: Time to coding. Tới thư mục src/example.java và thay đổi nội dung file như sau: Mã: package at.exam;

Các kiểu định địa chỉ họ MSC-51

2.4. GIAO THỨC MQTT Các khái niệm cơ bản MQTT được phát triển bởi IBM và Eurotech, phiên bản mới nhất là MQTT 3.1 MQTT (Giao vận tầm xa) là

Lab01: M V C Lưu ý: Để thực hành, các bạn phải cài Visual Studio 2013 trở lên mới hỗ trợ MVC5.

HỢP ĐỒNG MUA BÁN HÀNG HÓA QUỐC TẾ GV: NGUYỄN THỊ BÍCH PHƯỢNG

CHƯƠNG 5: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONG VB.NET

MỤC LỤC. Giáo trình Thiết kế web Trang 1

Bài 13: C++11. EE3490: Kỹ thuật lập trình HK1 2017/2018 TS. Đào Trung Kiên ĐH Bách khoa Hà Nội

Hướng Dẫn Thực Hành Tập tin & Thư mục

Quản trị Linux nâng cao. Tháng 9/2013

Mạng máy tính - Computer Network: Hệ. Giao thức - Protocol:

Transcription:

TÀI LIỆU THỰC HÀNH MÔN CƠ SỞ DỮ LIỆU NÂNG CAO Mục lục Index...2 Tài liệu tham khảo...2 Công cụ...2 Nội dung...2 Cú pháp tạo index...2 Cú pháp chỉnh sửa index...2 Áp đặt tính duy nhất trên cột không khóa...3 Tạo composite index...4 Thiết lập chỉ mục tăng dần giảm dần...4 Xem các chỉ mục đã thiết lập...4 Vô hiệu hóa một index...5 Xóa index...5 Thay đổi index đã tồn tại với DROP_EXISTING...5 Transaction...6 Autocommit Transaction...6 Implicit Transaction...7 Explicit Transaction...7 Sao lưu và phục hồi dữ liệu...9 Các loại backup...9 Thực hiện sao lưu cơ sở dữ liệu...9 Phục hồi dữ liệu... 11

Index Tài liệu tham khảo SQL Server 2005 T SQL Recipes, Apress 2008 (Chapter 5) Công cụ MS SQL Server 2005 Enterprise AdventureWorks Database Nội dung Cú pháp tạo index Để tạo index trong MS SQL Server 2005 ta sử dụng câu lệnh sau: Tham số: [UNIQUE]: Đảm bảo tính duy nhất trên cột không khóa. [CLUSTERED NONCLUSTERED]: Kiểu của index (Chi tiết tham khảo Indexes Overview Trang 155 SQL Server 2005 T SQL Recipes). Index_name: Tên của index table_or_view_name: Tên bảng hoặc view cần tạo index [ASC DESC]: Chỉ định thứ tự sắp xếp của cột đánh index, ASC thứ tự tăng dần, DESC thứ tự giảm dần Cú pháp chỉnh sửa index Để chỉnh sửa một index đã tồn tại ta dùng câu lệnh: Ví dụ Xem xét cơ sở dữ liệu AdventureWorks với bảng Department: http://msdn.microsoft.com/enus/library/ms124543%28v=sql.100%29.aspx FIT VMU Index 2

Tạo mới bảng TerminationReason: Khi một khóa chính được tạo ra trên một cột sử dụng câu lệnh CREATE TABLE hoặc ALTER TABLE thì một index cũng được tạo ra. Ví dụ một Clustered Index được tạo ra trên cột TerminationReasonID khi lệnh sau được thực thi: Để tạo NonClustered Index trên cột DepartmentID ta sử dụng câu lệnh: Áp đặt tính duy nhất trên cột không khóa Để áp đặt tính duy nhất trên cột không khóa ta sử dụng từ khóa UNIQUE. Ví dụ sau sẽ tạo index trên cột TerminationReason trong bảng HumanResource.TerminationReason: Để kiểm tra kết quả, thêm hai bản ghi sau: FIT VMU Index 3

Sau đó thực hiện thêm bản ghi với cột TerminationReason có giá trị là Bad Engineering Skills : Thông báo lỗi xuất hiện: Như vậy, một unique index đã được tạo ra đảm bảo không có hai hàng bất kz có giá trị trùng nhau trên cột TerminationReason. Tạo composite index Composite index là loại index được thiết lập trên nhiều cột. Ta sử dụng composite index khi nhiều cột thường xuyên xuất hiện trong điều kiện tìm kiếm của các truy vấn. Giả sử TerminationReason và DepartmentID thường xuyên xuất hiện trong mệnh đề WHERE của câu lệnh SELECT. Như vậy ta sẽ tạo ra một NONCLUSTERED INDEX để tăng tốc độ thực hiện các truy vấn đó: Thiết lập chỉ mục tăng dần giảm dần Mặc định khi tạo ra chỉ mục sẽ là tăng dần. Để thiết lập chỉ mục là tăng dần hay giảm dần ta thêm lựa chọn sau trong cú pháp tạo chỉ mục: Ví dụ, sử dụng câu lệnh sau để thêm cột ViolationSeverityLevel kiểu smallint: Sau đó sử dụng câu lệnh sau tạo chỉ mục giảm dần trên cột ViolationSeverityLevel: Xem các chỉ mục đã thiết lập Để xem thông tin về các chỉ mục đã được thiết lập trên một bảng, ta sử dụng thủ tục sp_helpindex với tham số là tên bảng cần xem chỉ mục. Ví dụ muốn xem thông tin về các chỉ mục đã thiết lập trên bảng Employee ta sử dụng cú pháp sau: FIT VMU Index 4

Kết quả như sau: Vô hiệu hóa một index Để vô hiệu hóa một index ta sử dụng cú pháp: Ví dụ muốn vô hiệu hóa index UNI_TerminationReason trên bảng TerminationReason ta sử dụng câu lệnh sau: Xóa index Từ khóa DISABLE cho phép vô hiệu hóa index nhưng index vẫn còn trong cơ sở dữ liệu. Để xóa hẳn index khỏi cơ sở dữ liệu ta sử dụng câu lệnh DROP INDEX với cú pháp như sau: Ví dụ muốn xóa index UNI_TerminationReason khỏi cơ sở dữ liệu ta sử dụng câu lệnh sau: Thay đổi index đã tồn tại với DROP_EXISTING Lựa chọn DROP_EXISTING cho phép xóa và tạo lại index trong cùng một câu lệnh. Lựa chọn này hữu ích khi muốn thay đổi các cột thiết lập bởi chỉ mục. Câu lệnh ALTER INDEX có thể được sử dụng để thay đổi, dịch lại, tổ chức lại hay vô hiệu hóa chỉ mục nhưng không sử dụng để thêm, xóa các cột thiết lập bởi chỉ mục. Hơn nữa, khi sử dụng DROP_EXISTING để thay đổi một clustered index sẽ không làm các nonclustered index hiện có tự động dịch lại. Ví dụ sau tạo nonclustered index NCI_TerminationReason_DepartmentID: FIT VMU Index 5

Sau đó muốn thêm cột ViolationSeverityLevel vào NCI_TerminationReason_DepartmentID ta sử dụng câu lệnh sau: Transaction Trong phần này ta tìm hiểu ba kiểu transaction: autocommit, explicit và implicit. Autocommit Transaction Autocommit transaction là kiểu mặc định trong SQL Server 2005 cho phép mỗi câu lệnh SQL được đặt trong một transation riêng và tự động commit khi câu lệnh kết thúc. Giả sử ta có hai câu lệnh INSERT, câu lệnh thứ nhất bị lỗi, câu lệnh thứ hai thực hiện thành công thì thay đổi do câu lệnh thứ hai tạo ra vẫn được lưu lại. Ví dụ: Xét bảng NonClusteredTable(ID, Name) đã có một unique clustered với tên index_id2 và dữ liệu hiện có trên bảng như sau: Như vậy khi thực hiện hai câu lệnh sau cùng lúc ta thấy câu lệnh thứ nhất bị lỗi do ràng buộc unique trên index_id2 nhưng câu lệnh thứ hai vẫn được thực hiện thành công: INSERT INTO NonClusteredTable VALUES('1','So mot') UPDATE NonClusteredTable SET Name='SO MOT' WHERE ID='1' Kết quả: FIT VMU Transaction 6

Implicit Transaction Đây là kiểu transaction ẩn, được thiết lập thông qua câu lệnh: Khi Implicit_Transactions được thiết lập là ON thì các câu lệnh sau sẽ tự động bắt đầu một transaction: SELECT, INSERT, UPDATE, DELETE ALTER TABLE TRUNCATE TABLE OPEN, FETCH GRANT, REVOKE Và để kết thúc transaction thì cuối transaction phải có câu lệnh COMMIT hoặc ROLLBACK, nếu không các thay đổi do transaction tạo ra sẽ không được lưu lại khi ngắt kết nối. Ví dụ: Xét lại bảng NonClusteredTable(ID, Name) với dữ liệu hiện có trên bảng như sau: Trước hết ta thiết đặt chế độ Implicit Transaction là ON: SET IMPLICIT_TRANSACTIONS ON Sau đó thực hiện hai câu lệnh cập nhật: UPDATE NonClusteredTable SET Name='SO HAI' WHERE ID='2' UPDATE NonClusteredTable SET Name='SO BA' WHERE ID='3' Sau đó ta ngắt kết nối và kết nối trở lại thì thấy sự thay đổi do hai câu lệnh trên tạo ra không được lưu lại. Sử dụng lệnh COMMIT hoặc ROLLBACK để hoàn tất transaction: {COMMIT ROLLBACK} TRANSACTION Transaction_Name Explicit Transaction Đây là kiểu transaction do người dùng tự định nghĩa thông qua các câu lệnh: BEGIN TRANSACTION, ROLLBACK TRANSACTION, COMMIT TRANSACTION, BEGIN DISTRIBUTED TRANSACTION, SAVE TRANSACTION, @@TRANCOUNT Ví dụ sau sử dụng Explicit Transaction để hoàn tất hoặc hủy bỏ những thay đổi do transaction tạo ra tùy thuộc vào lỗi trả về trong một khối lệnh: FIT VMU Transaction 7