1. Trang chủ
  2. » Công Nghệ Thông Tin

giáo trình hệ quản trị cơ sở dữ liệu nghề tin học ứng dụng cao đẳng

137 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Hệ Quản Trị Cơ Sở Dữ Liệu
Tác giả Đào Thị Xuân Hương
Trường học Trường Cao Đẳng Bách Khoa Nam Sài Gòn
Chuyên ngành Tin học ứng dụng
Thể loại Giáo trình
Năm xuất bản 2021
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 137
Dung lượng 4,65 MB

Nội dung

Mô hình Client/Server trên SQL được sử dụng để điều khiển tất cÁ các chức năng mà một há quÁn trị CSDL cung cấp cho ngưßi dùng các khÁ năng: Định nghĩa dữ liáu: SQL cung cấp khÁ năng đị

Trang 1

TR¯äNG CAO ĐÀNG BÁCH KHOA NAM SÀI GÒN

GIÁO TRÌNH MÔN HâC/MÔ ĐUN: Hà QUÀN TRà C¡ Sæ DĀ LIàU NGÀNH/ NGHÀ: TIN HâC ĀNG DĀNG

TRÌNH Đà: CAO ĐÀNG

Ban hành kèm theo Quyết định số: /QĐ_ ngày……tháng… năm2021

………của………

Tp.Hồ Chí Minh, năm 2021

Trang 2

Tài liáu này thuộc lo¿i sách giáo trình nên các nguãn thông tin có thể được phép dùng nguyên bÁn hoặc trích dùng cho các mục đích về đào t¿o và tham khÁo

Mọi mục đích khác mang tính lách l¿c hoặc sử dụng với mục đích kinh doanh thiếu lành m¿nh sẽ bị nghiêm cấm

Trang 3

Giáo trình cơ sá dữ liáu này được biên so¿n theo chương trình đào t¿o chuyên ngành tin học ứng dụng á bậc cao đẳng của Bộ Giáo Dục Đào T¿o Giáo trình trình bày những vấn đề cát lõi nhất của môn há quÁn trị cơ sá dữ liáu Các bài học được trình bày ngắn gọn, có nhiều ví dụ minh ho¿ Cuái mỗi chương đều có bài tập để sinh viên luyán tập

Giáo trình này có thể giúp các sinh viên trong viác học môn há quÁn trị cơ sá dữ liáu á bậc cao đẳng để xây dựng cơ sá dữ liáu cho các ứng dụng khác đãng thßi cho phép xây dựng các ứng dụng bằng phương pháp lập trình cơ sá dữ liáu Chúng tôi mong rằng các sinh viên tự tìm hiểu trước mỗi vấn đề và kết hợp với bài giÁng trên lớp của giáo viên để viác học môn này đ¿t hiáu quÁ Bá cục cuán sách gãm các bài như sau:

- Bài 1: Tång quan về Há quÁn trị CSDL - Bài 2: Thiết kế cơ sá dữ liáu dùng Management Studio - Bài 3: Transact SQL (TSQL)

- Bài 4: Lập trình với SQL Server - Bài 5: SQL Server và lập trình ứng dụng - Bài tập ứng dụng

Trong quá trình giÁng d¿y và biên so¿n giáo trình này, chúng tôi đã nhận được sự động viên của các thầy trong Ban Giám Hiáu nhà trưßng cũng như những ý kiến của các đãng nghiáp trong khoa Công Nghá thông Tin Chúng tôi xin chân thành cÁm ơn và hy vọng rằng giáo trình này sẽ giúp cho viác d¿y và học môn cơ sá dữ liáu của trưßng chúng ta ngày càng tát hơn

Xin chân thành cÁm ơn Ban Giám hiáu Trưßng Cao Đẳng Bách Khoa Nam Sài Gòn, Hội đãng khoa học trưßng, tác giÁ của những tài liáu tham khÁo, các đãng nghiáp, các b¿n sinh viên đã giúp đỡ và đóng góp rất nhiều ý kiến bå ích để nhóm tác giÁ hoàn thành cuán sách này và xin trân trọng giới thiáu với quý b¿n đọc Mọi góp ý xin gửi về địa chỉ: xuanhuong2561@gmail.com

Tp.Hã Chí Minh, ngày 04 tháng 07 năm 2021

Tham gia biên so¿n 1 Chủ biên: Đào Thị Xuân Hưßng 2 …………

3 ………….

Trang 4

TÀI LIàU THAM KHÀO 6

Bài 1 Tång quan về Há quÁn trị CSDL 1

1.1 Tång quan về Há quÁn trị CSDL 1

1.1.1 Định nghĩa 1

1.1.2 KhÁ năng của há quÁn trị CSDL 2

1.1.3 Đặc điểm của một há quÁn trị CSDL 5

1.1.4 Kiến trúc của một há quÁn trị CSDL 6

1.1.5 Các chức năng của há quÁn trị CSDL quan há 6

1.2 Tång quan về Microsoft SQL Server 7

1.2.1 Tång quan há quÁn trị SQL Server 7

1.2.2 Các thành phần của SQL Server 10

1.3 Cài đặt SQL Server 11

1.3.1 Yêu cầu cấu hình máy 11

1.3.2 Các phiên bÁn của SQL Server 12

1.3.3 Các bước cài đặt và cấu hình SQL Server 13

1.4 Các tián ích của SQL Server 19

Bài 2 Thiết kế cơ sá dữ liáu dùng Management Studio 24

2.1 Thiết kế CSDL trong SQL Server 24

Trang 5

2.4 Index – chỉ mục 46

2.4.1 Định nghĩa 46

2.4.2 T¿o Index- Chỉ mục 47

2.4.3 Lo¿i bß Index 51

2.5 BÁo đÁm dữ liáu trong SQL Server 51

2.5.1 Phân quyền và bÁo mật 51

2.5.2 Sao lưu và phục hãi, Import và Export CSDL 57

Bài 3 Transact SQL (TSQL) 70

3.1 Data Definition Language (DDL) 70

3.1.1 Định nghĩa: Ðây là những lánh dùng để quÁn lý các thuộc tính của một database như định nghĩa các hàng hoặc cột của một table, hay vị trí data file của một database , thưßng có d¿ng như sau : 70

3.1.2 Table 70

3.1.3 Khung nhìn -View 72

3.1.4 Procedure 73

3.1.5 Index 75

3.2 Data Control Language (DCL) 76

3.2.1 Định nghĩa: Ðây là những lánh quÁn lý các quyền truy cập lên từng object (table, view, stored procedure ) 76

Trang 6

4.3.3 Giới thiáu về Function và User-Defined Function 93

4.4 Trigger 102

Bài 5 SQL Server và lập trình ứng dụng 114

5.1 Mô hình kết nái ứng dụng đến SQL Server 114

5.2 Các lớp SqlClient trong mô hình ADO.NET 114

5.2.1 Xây dựng CLR Store Procedure 114

5.2.2 Xây dựng CLR User-Defined Function 119

5.2.3 Xây dựng CLR User-Defined Types 121

5.3 Bài tập ứng dụng 125

5.3.1 Bài thực hành sá 1: T¿o cơ sá diáu liáu 125

5.3.2 Bài thực hành sá 2: Các thao tác trên CSDL 126

5.3.9 Bài thực hành sá 9: Bào mật và phân quyền ngưßi dùng 129

TÀI LIàU THAM KHÀO 130

Trang 7

Tên môn hãc/mô đun: Há QuÁn Trá C¢ Sç Dā Liáu Mã môn hãc/mô đun: MH14

Vá trí, tính chất, ý nghĩa và vai trò cÿa môn hãc/mô đun: - Vá trí: Học kỳ 3, sau khi đã học môn, Tin học, Tin học văn phòng, Cơ sá dữ liáu - Tính chất: Môn Há QuÁn Trị Cơ Sá Dữ liáu là môn học cơ sá bắt buộc trong

chương trình đào t¿o ngành Tin học ứng dụng trình độ cao đẳng

- Ý nghĩa và vai trò cÿa môn hãc/mô đun:

 Ý nghĩa: Môn Há QuÁn Trị Cơ Sá Dữ Liáu là một trong những nội dung

được sử dụng trong viác thiết kế và truy xuất Cơ Sá Dữ Liáu để phục vụ cho viác viết chương trình ứng dụng có sử dụng cơ sá dữ liáu

 Vai trò: Môn học này áp dụng cho sinh viên ngành Tin học ứng dụng trình

độ Cao đẳng Các nguyên tắc và quy định trong viác thiết kế cơ sá dữ liáu cho một chương trình ứng dụng;

Māc tiêu cÿa môn hãc/mô đun: - VÁ ki¿n thāc:

+ GiÁi thích được các kiến thức cơ bÁn về há quÁn trị cơ sá dữ liáu trong lập trình;

+ Vận dụng được các nguyên tắc và quy định trong viác thiết kế cơ sá dữ liáu cho một chương trình ứng dụng;

+ Nhận định được tầm quan trọng của viác thiết kế và quÁn trị cơ sá dữ liáu trong lập trình

Trang 8

Bài 1 Tổng quan vÁ Há quÁn trá CSDL

Ngôn ngữ truy vấn có cấu trúc và các há quÁn trị CSDL quan há là một trong những nền tÁng kỹ thuật quan trọng trong công nghiáp máy tính Hián nay SQL được xem là ngôn ngữ chuẩn trong CSDL Các há quÁn trị CSDL quan há thương m¿i hián có như Oracle, SQL Server, Informix, DB2, đều chọn SQL làm ngôn ngữ cho sÁn phẩm của mình SQL là một há quÁn trị CSDL nhiều ngưßi dùng kiểu Client/Server Đây là há tháng cơ bÁn dùng lưu trữ dữ liáu cho hầu hết các ứng dụng lớn hián nay Mô hình Client/Server trên SQL được sử dụng để điều khiển tất cÁ các chức năng mà một há quÁn trị CSDL cung cấp cho ngưßi dùng các khÁ năng:

Định nghĩa dữ liáu: SQL cung cấp khÁ năng định nghĩa các CSDL, các cấu trúc lưu trữ và tå chức dữ liáu cũng như mái quan há giữa các thành phần dữ liáu

Truy xuất và thao tác dữ liáu: Ngưßi dùng có thể dß dàng thực hián các thao tác truy xuất, bå sung, cập nhật và lo¿i bß dữ liáu trong các CSDL

Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các thao tác của ngưßi sử dụng trên dữ liáu, đÁm bÁo sự an toàn cho CSDL

ĐÁm bÁo toàn vẹn dữ liáu: SQL định nghĩa các ràng buộc toàn vẹn trong CSDL nhß đó đÁm bÁo tính hợp lá và chính xác của dữ liáu trước các thao tác cập nhật cũng như các lỗi của há tháng

SQL Server sử dụng ngôn ngữ lập trình và truy vấn CSDL Transact-SQL (T-SQL), một phiên bÁn của Structured Query Language Ngôn ngữ lập trình và truy vấn T-SQL cho phép truy xuất dữ liáu, cập nhật và quÁn lý há tháng CSDL quan há Mỗi máy chủ chỉ có một há quÁn trị CSDL SQL Server

1.1.1. Đánh nghĩa

1.1.1.1 Cơ sở dữ liệu là gì? Cơ sá dữ liáu (CSDL) là một bộ sưu tập về các lo¿i dữ liáu tác nghiáp, bao gãm các lo¿i dữ liáu âm thanh, tiếng nói, chữ viết, văn bÁn, đã họa, hình Ánh tĩnh hay hình Ánh động được mã hoá dưới d¿ng các chuỗi nhị phân và được lưu trữ dưới d¿ng táp tin dữ liáu trong các bộ nhớ của máy tính Cấu trúc lưu trữ dữ liá tuân theo các quy tắc dựa trên lý thuyết toán học Cơ sá dữ liáu phÁn Ánh trung thực thế giới hián thực khách quan

Cơ sá dữ liáu là tài nguyên thông tin chung cho nhiều ngưßi cùng sử dụng Bất kỳ ngưßi sử dụng nào trên m¿ng máy tính, t¿i các thiết bị đầu cuái, về nguyên tắc có quyền truy nhập khai thác toàn bộ hay một phần dữ liáu theo chế độ trực tuyến hay tương tác mà không phụ thuộc vào vị trí địa lý của ngưßi sử dụng với các tài nguyên đó

Cơ sá dữ liáu được các há ứng dụng khai thác bằng ngôn ngữ truy xuất dữ liáu hoặc bằng các chương trình ứng dụng để xử lý, tìm kiếm, tra cứu, sửa đåi, bå sung hay lo¿i bß dữ liáu Tìm kiếm và tra cứu thông tin là một trong những chức năng quan trọng và phå biến nhất của các ứng dụng khai thác cơ sá dữ liáu

Trang 9

1.1.1.2. Sự cần thiết của các hệ cơ sở dữ liệu

GiÁm bớt dư thừa dữ liáu trong lưu trữ: Trong các ứng dụng lập trình truyền tháng, phương pháp tå chức lưu trữ dữ liáu vừa tán kém; lãng phí bộ nhớ và các thiết bị lưu trữ; vừa dư thừa thông tin lưu trữ Nhiều chương trình ứng dụng khác nhau cùng xử lý trên các dữ liáu như nhau, dẫn đến sự dư thừa đáng kể về dữ liáu Nếu tå chức lưu trữ theo lý thuyết CSDL thì có thể hợp nhất các táp lưu trữ dữ liáu để các chương trình ứng dụng có thể cùng chia sẻ tài nguyên trên cùng một há cơ sá dữ liáu Tránh được sự không nhất quán trong lưu trữ dữ liáu và bÁo đÁm được tính toàn vẹn của dữ liáu: Nếu một thuộc tính được mô tÁ trong nhiều táp dữ liáu khác nhau và lặp l¿i nhiều lần trong các bÁn ghi, khi thực hián viác cập nhật, sửa đåi, bå sung sẽ không sửa hết nội dung các mục đó Nếu dữ liáu càng nhiều thì sự sai sót khi cập nhật, bå sung càng lớn KhÁ năng xuất hián mâu thuẫn, không nhất quán thông tin càng nhiều, dẫn đến không nhất quán dữ liáu trong lưu trữ Tất yếu kéo theo sự dị thưßng thông tin, thừa, thiếu và mâu thuẫn thông tin Thông thưßng, trong một thực thể, giữa các thuộc tính có mái quan há rang buộc lẫn nhau, tác động Ánh hưáng lẫn nhau Như vậy, có thể khẳng định, nếu dữ liáu không tå chức tát tất yếu không thể phÁn Ánh đúng thế giới hián thực dữ liáu, không phÁn Ánh đúng bÁn chất vận động của dữ liáu Sự không nhất quán dữ liáu trong lưu trữ làm cho dữ liáu mất đi tính toàn vẹn cuÁ nó Tính toàn vẹn dữ liáu đÁm bÁo cho sự lưu trữ dữ liáu luôn luôn đúng

Có thể triển khai đãng thßi nhiều ứng dụng trên cùng một CSDL: Điều này có nghĩa là các ứng dụng không chỉ chia sẻ chung tài nguyên dữ liáu mà còn trên cùng một CSDL có thể triển khai đãng thßi nhiều ứng dụng khác nhau t¿i các thiết bị đầu cuái khác nhau Tå chức dữ liáu theo lý thuyết cơ sá dữ liáu sẽ tháng nhất các tiêu chuẩn, thủ tục và các bián pháp bÁo vá, an toàn dữ liáu Các há CSDL sẽ được quÁn lý tập trung bái một ngưßi hay một nhóm ngưßi quÁn trị CSDL Bằng các há quÁn trị CSDL, ngưßi quÁn trị CSDL có thể áp dụng tháng nhất các tiêu chuẩn, quy định, thủ tục chung như quy định tháng nhất về mẫu biểu báo cáo, thßi gian bå sung, cập nhật dữ liáu Điều này làm dß dàng cho công viác bÁo trì dữ liáu Ngưßi quÁn trị CSDL có thể bÁo đÁm viác truy nhập tới CSDL, có thể kiểm tra, kiểm soát các quyền truy nhập của ngưßi sử dụng Ngăn chặn các truy nhập trái phép, sai quy định từ trong ra hoặc từ ngoài vào

1.1.2 KhÁ năng cÿa há quÁn trá CSDL

Ngưßi sử dụng khi thao tác trên các cơ sá dữ liáu không được làm thay đåi cấu trúc lưu trữ dữ liáu và chiến lược truy nhập tới các há cơ sá dữ liáu Dữ liáu chỉ được biểu dißn, mô tÁ một cách duy nhất Cấu trúc lưu trữ dữ liáu và các chương trình ứng dụng trên các há CSDL hoàn toàn độc lập với nhau, không phụ thuộc lẫn nhau Vì vậy bÁo đÁm tính độc lập dữ liáu là mục tiêu quan trọng của các há cơ sá dữ liáu Có thể định nghĩa tính độc lập dữ liáu là <Tính bất biến của các ứng dụng đái với sự thay đåi trong cấu trúc lưu trữ và chiến lược truy nhập dữ liáu= Khi thay đåi cấu trúc lưu trữ và các chiến lược truy nhập dữ liáu không kéo theo thay đåi nội dung của các chương trình ứng dụng và ngược l¿i, khi các chương trình thay đåi cũng không làm Ánh hưáng đến cấu trúc lưu trữ và chiến lược truy nhập của dữ liáu Tính độc lập của dữ liáu bÁo đÁm cho viác biểu dißn nội dung thông tin cho các thực thể là duy nhất và bÁo đÁm tính toàn vẹn và nhất quán dữ liáu trong lưu trữ Trong các mô hình dữ liáu, mô hình quan há là mô hình có cơ sá lý thuyết tát nên được các nhà phát triển há quÁn trị cơ sá dữ liáu lựa chọn Mô hình quan há mô tÁ thế giới hián thực một cách chính xác, khách quan, phù hợp với cách nhìn và sử dụng của ngưßi dùng Vì vậy tính độc lập dữ liáu trong các há cơ sá dữ liáu quan há cao

Trong kiến trúc há cơ sá dữ liáu (tính độc lập dữ liáu được thể hián: Có rất nhiều cách nhìn dữ liáu á mô hình ngoài, ngưßi sử dụng khác nhau có cách nhìn dữ liáu khác nhau và các ứng dụng khác nhau có những cách nhìn dữ liáu cũng khác nhau, nhưng chỉ có duy nhất một cách nhìn dữ liáu á mức quan niám, biểu dißn toàn bộ thông tin trong CSDL đó là cách nhìn dữ liáu tång quát của ngưßi sử dụng Và cũng chỉ có duy nhất một và chỉ một cách biểu dißn CSDL dưới d¿ng lưu trữ vật lý

Trang 10

Ánh x¿ trong xác định giữa mô hình trong và mô hình dữ liáu, nhằm bÁo đÁm được tính độc lập của dữ liáu, nghĩa là nếu cấu trúc lưu trữ của CSDL thay đåi, tức là thay đåi định nghĩa về cấu trúc lưu trữ dữ liáu thì ánh x¿ này phÁi cũng phÁi thay đåi tương ứng sao cho sơ đã quan niám (mô hình dữ liáu) không được thay đåi Tương tự ánh x¿ ngoài xác định tương ứng giữa một mô hình của ngưßi sử dụng nào đó với mô hình dữ liáu Nó chuyển đåi d¿ng biểu dißn dữ liáu lưu trữ sang d¿ng biểu dißn dữ liáu mà các ứng dụng cần đến

Các ứng dụng khác nhau có nhiều khung nhìn khác nhau với dữ liáu như nhau Các ứng dụng độc lập với cấu trúc lưu trữ và chiến lược truy nhập Giữa chúng không có sự ràng buộc lẫn với nhau Điều này có nghĩa là các ứng dụng hoàn toàn độc lập với bất cứ một cấu trúc lưu trữ và chiến lược truy nhập dữ liáu cụ thể nào Ngược l¿i cấu trúc lưu trữ và chiến lược truy nhập dữ liáu không phụ thuộc vào bất kỳ ứng dụng cụ thể nào Ngưßi quÁn trị CSDL phÁi có khÁ năng đáp ứng với mọi sự thay đåi về cấu trúc lưu trữ và các chiến lược truy nhâp mà không cần biết tới có những ứng dụng nào trên CSDL

Hình 1-1 - Sơ đồ kiến trúc hệ thống cơ sở dữ liệu

1.1.2.1. Một số mô hình cơ sở dữ liệu

Mô hình kiến trúc 3 mức của há CSDL gãm: Mức trong, mức mô hình dữ liáu (mức quan niám) và mức ngoài Giữa các mức tãn t¿i các ánh x¿ quan niám trong và ánh x¿ quan niám ngoài Trung tâm của há tháng là mức quan niám, tức là mức mô hình dữ liáu Ngoài ra còn có khái niám ngưßi sử dụng, há quÁn trị CSDL và ngưßi quÁn trị CSDL Ngưßi sử dụng là những ngưßi t¿i thiết bị đầu cuái truy nhập vào các há CSDL theo chế độ trực tuyến hay tương tác bằng các chương trình ứng dụng hay bằng các ngôn ngữ truy xuất dữ liáu

1.1.2.2 Mô hình ngoài: Ngưßi sử dụng có thể truy nhập toàn bộ hay một phần CSDL mà họ quan tâm, phụ thuộc vào quyền truy nhập của họ Cách nhìn CSDL của ngưßi sử dụng nói chung là trừu tượng Họ nhìn CSDL bằng

Trang 11

mô hình ngoài, gọi là mô hình con dữ liáu Chẳng h¿n ngưßi sử dụng là một nhân viên của phòng kế toán tài chính, chỉ nhìn thấy tập các xuất hián kiểu bÁn ghi ngoài về doanh thu, sÁn lượng trong tháng, không thể nhìn thấy các xuất hián kiểu bÁn ghi lưu trữ về các chỉ tiêu kỹ thuật của há tháng

Mô hình ngoài là nội dung thông tin của CSDL dưới cách nhìn của ngưßi sử dụng Nó là nội dung thông tin của một phần dữ liáu tác nghiáp được một ngưßi hoặc một nhóm ngưßi sử dụng Nói cách khác, mô hình ngoài mô tÁ cách nhìn dữ liáu của ngưßi sử dụng và mỗi ngưßi sử dụng có cách nhìn dữ liáu khác nhau

Nhiều mô hình ngoài khác nhau có thể cùng tãn t¿i trong một há CSDL, nghĩa là có nhiều ngưßi sử dụng chia sẻ chung cùng một cơ sá dữ liáu Hơn nữa, có thể mô hình ngoài quan há, mô hình ngoài phân cấp hay mô hình ngoài kiểu m¿ng cũng có thể tãn t¿i trong một cơ sá dữ liáu

Mô hình ngoài gãm nhiều xuất hián kiểu bÁn ghi ngoài, nghĩa là mỗi một ngưßi sử dụng có một sơ đã dữ liáu riêng, một khung nhìn dữ liáu riêng BÁn ghi ngoài của ngưßi sử dụng có thể khác với bÁn ghi lưu trữ và bÁn ghi quan niám Mô hình ngoài được xác định bái một sơ đã ngoài bao gãm các mô tÁ về kiểu bÁn ghi ngoài như tên các trưßng, kiểu dữ liáu các trưßng, độ rộng của trưßng

- Ngôn ngữ truy xuất dữ liáu của ngưßi sử dụng thao tác trên các bÁn ghi ngoài - Ngưßi sử dụng khác nhau có khung nhìn dữ liáu khác nhau

- Ngưßi sử dụng đầu cuái có thể là các ứng dụng hay thao tác trực tiếp bằng ngôn ngữ thao tác, truy vấn dữ liáu

1.1.2.3 Mô hình dữ liệu Mô hình dữ liáu (mô hình quan niám) là cách nhìn dữ liáu một cách tång quát của ngưßi sử dụng Nghĩa là có rất nhiều cách nhìn dữ liáu á mô hình ngoài, nhưng chỉ có duy nhất một cách nhìn dữ liáu á mức quan niám Biểu dißn toàn bộ thông tin trong CSDL là duy nhất

Mô hình dữ liáu gãm nhiều xuất hián của nhiều kiểu bÁn ghi dữ liáu Ví dụ kiểu xuất hián bÁn ghi về nhân sự, kiểu xuất hián bÁn ghi về doanh thu, sÁn lượng, kiểu xuất hián bÁn ghi về cước đàm tho¿i Mô hình dữ liáu được xác định bái một sơ đã dữ liáu mô tÁ của nhiều kiểu thực thể, chẳng h¿n như mô tÁ thực thể tuyến cáp, các lo¿i cáp, thầy giáo, học sinh Sơ đã dữ liáu bao gãm các định nghĩa về các kiểu bÁn ghi, đó là các ràng buộc cho quyền và tính toàn vẹn thích hợp Những ràng buộc này chính là các tính chất của dữ liáu, tính liên kết các thuộc tính cùng một kiểu dữ liáu Các định nghĩa này không bao hàm về cấu trúc lưu trữ, cũng như về chiến lược truy nhập, chúng chỉ là các định nghĩa về nội dung thông tin, về tính độc lập của dữ liáu trong mô hình quan niám

Sơ đã quan niám luôn luôn ån định, nghĩa là nếu mô tÁ thêm một kiểu thực thể đặc biát sát nhập vào sơ đã dữ liáu, không được làm thay đåi sơ đã dữ liáu cũ Nếu sơ đã dữ liáu không ån định thì các ứng dụng và mô hình ngoài cũng không ån định Sơ đã dữ liáu chỉ được thay đåi khi có sự điều chỉnh trong thế giới thực, đòi hßi điều chỉnh l¿i định nghĩa sao cho nó phÁn Ánh thế giới hián thực khách quan hơn, chân lý hơn

Thiết kế mô hình dữ liáu là giai đo¿n quan trọng và quyết định trong viác thiết kế và cài đặt các há cơ sá dữ liáu Quá trình thiết kế không phụ thuộc quá nhiều vào cấu trúc lưu trữ vật lý và chiến lược truy nhập của dữ liáu Như vậy viác thiết kế sơ đã dữ liáu phÁi được tiến hành độc lập với viác thiết kế sơ đã trong và các sơ đã ngoài liên kết, vì nếu không viác thiết kế sẽ không ån định và phÁi xem xét l¿i tác động thưßng xuyên đến nhiều thành phần khác của há tháng

Với cách thiết kế truyền tháng hián nay, ngưßi thiết kế chỉ cung cấp một sá sơ đã trong và một tập các sơ đã ngoài và họ coi đó là sơ đã dữ liáu, là mô hình dữ liáu Vì vậy tính không ån định há tháng,

Trang 12

tính không phù hợp với các ứng dụng nÁy sinh sau một thßi gian ho¿t động; mâu thuẫn và dị thưßng thông tin sẽ xÁy ra; vi ph¿m tính toàn vẹn của dữ liáu

Ngoài các định nghĩa về xuất hián nhiều kiểu bÁn ghi quan niám, sơ đã dữ liáu còn chứa các định nghĩa về quyền truy nhập của ngưßi sử dụng, các thủ tục kiểm tra tính đúng đắn của dữ liáu nhằm bÁo đÁm tính toàn vẹn của CSDL, các luãng lưu chuyển thông tin và quy định cách thức sử dụng thông tin Như vậy mô hình dữ liáu là cách nhìn toàn bộ nội dung thông tin của CSDL, sơ đã quan niám là định nghĩa của cách nhìn ấy; là bước đi đầu tiên, quan trọng trong viác thiết kế và cài đặt các há cơ sá dữ liáu

Hình 1-2-Mô hình kiến trúc cơ sở dữ liệu

Ánh x¿ quan niám trong được xác định giữa mô hình trong và mô hình dữ liáu nhằm bÁo đÁm tính độc lập của dữ liáu Nếu cấu trúc lưu trữ của CSDL thay đåi, nghĩa là thay đåi định nghĩa về cấu trúc lưu trữ dữ liáu thì ánh x¿ này phÁi cũng phÁi thay đåi tương ứng sao cho sơ đã quan niám (mô hình dữ liáu) không thay đåi

Ánh x¿ quan niám ngoài là ánh x¿ được xác định tương ứng một-một giữa mô hình ngoài của ngưßi sử dụng với mô hình dữ liáu

1.1.3 Đặc điểm cÿa mát há quÁn trá CSDL Các tính năng quan trọng chủ yếu như- sau:

Trang 13

- Tích hợp Windows NT gãm các dịch vụ đa luãng và lập lịch,Performance Monitor, Event Viewer Tương thích m¿ng đơn, quÁn lý các khoÁng mục tháng nhất, giÁn tián trong sử dụng - Sử dụng phát tán dữ liáu để trao đåi dữ liáu với các máy ch¿y trên Windows NT, và phát hành cung cấp dữ liáu cho các máy khác qua ODBC Nhằm cung cấp cho ng-ßi sử dụng (Khách hàng) thông tin chính xác và có tính thßi điểm

- QuÁn trị tập trung với khung phân tán toàn dián - Lập lịch cho các nhiám vụ, tự động hoá thực hián theo chu trình có cÁnh báo - Sử dụng kiến trúc song song cho các chức năng nội t¿i

- Sử dụng kiến trúc song song cho các CSDL cực lớn - Sử dụng OLE DMO (Distributed Management Object) nhằm cho phép các nhà phát triển

phầm mềm lập trình cho mọi công cụ cần thiết cũng nh- các tián ích giúp đỡ cho các ứng dụng CSDL ho¿t động tát, hiáu suất cao khi sử dụng.i

1.1.4 Ki¿n trúc cÿa mát há quÁn trá CSDL Há quÁn trị cơ sá dữ liáu (DataBase Management System - DBMS) là phần mềm điều khiển các chiến lược truy nhập CSDL Khi ngưßi sử dụng đưa ra yêu cầu truy nhập bằng một ngôn ngữ truy xuất dữ liáu nào đó, há quÁn trị CSDL tiếp nhận và thực hián các thao tác trên CSDL lưu trữ Đái tượng nghiên cứu của CSDL là các thực thể và mái quan há giữa các thực thể Mái quan há giữa các thực thể cũng là một lo¿i thực thể đặc biát Trong cách tiếp cận CSDL theo mô hình quan há, dựa trên cơ sá lý thuyết đ¿i sá quan há để xây dựng các quan há chuẩn, khi kết nái không tån thất thông tin và khi biểu dißn dữ liáu là duy nhất Dữ liáu được lưu trữ trong bộ nhớ của máy tính không những phÁi tính đến yếu tá về tái ưu không gian lưu trữ, mà phÁi đÁm bÁo tính khách quan, trung thực của dữ liáu hián thực Nghĩa là phÁi đÁm bÁo tính nhất quán của dữ liáu và giữ được sự toàn vẹn của dữ liáu 1.1.5 Các chāc năng cÿa há quÁn trá CSDL quan há

 Các chức năng chủ yếu của một há quÁn trị cơ sá dữ liáu: - Mô tÁ dữ liáu t¿o lập và duy trì sự tãn t¿i của CSDL - Cho phép truy xuất vào CSDL theo thẩm quyền đã được cấp - Cập nhật, chèn thêm, lo¿i bß hay sửa đåi dữ liáu

- ĐÁm bÁo an t ¿o cấu trúc dữ liáu tương ứng với mô hình dữ liáu - ĐÁm bÁo tính độc lập dữ liáu Tức là cấu trúc lưu trữ dữ liáu độc lập với các trình ứng dụng

dữ liáu - T¿o mái liên kết giữa các thực thể - Cung cấp các phương tián sao lưu, phục hãi (backup, restore) oàn, bÁo mật dữ liáu và tính

toàn vẹn dữ liáu - Điều khiển tương tranh  Các bước thực hián của há quÁn trị CSDL có thể tóm tắt như sau: - Ngưßi sử dụng đưa ra yêu cầu truy nhập bằng ngôn ngữ truy xuất dữ liáu - Điều khiển tương tranh

- Há quÁn trị cơ sá dữ liáu sẽ tiếp nhận và phân tích yêu cầu - - Há quÁn trị cơ sá dữ liáu xem xét sơ đã ngoài, ánh x¿ ngoài, sơ đã quan niám, ánh x¿ trong, - Thực hián các thao tác trên CSDL lưu trữ

 Một há quÁn trị cơ sá dữ liáu thông thưßng có các thành phần chính như sau: - Ngôn ngữ định nghĩa dữ liáu (Data Definition Language)

- Ngôn ngữ thao tác dữ liáu (Data Manipulation Language) - Ngôn ngữ truy vấn dữ liáu (Query Language)

Trang 14

- Bộ báo cáo (Report Write) - Bộ đã họa (Graphics Generator) - Bộ giao tiếp ngôn ngữ chủ (Host Language Interface) - Ngôn ngữ thủ tục (Procedure Language)

- Từ điển dữ liáu (Data Dictionary) Để quÁn lý một CSDL cần có ngưßi quÁn trị CSDL Ngưßi quÁn trị CSDL là một ngưßi hay một nhóm ngưßi có khÁ năng chuyên môn cao về công nghá thông tin, có trách nhiám quÁn lý và điều khiển toàn bộ ho¿t động của các há CSDL Vì vậy ngưßi quÁn trị CSDL cần phÁi đặt ra các hình thức, quy định cho ngưßi sử dụng nhằm ngăn chặn viác truy nhập trái phép vào các há CSDL Ngưßi quÁn trị CSDL có thể cho phép ngưßi sử dụng những quyền truy nhập như chỉ được phép đọc, đọc một phần, có thể sửa, bå sung một phần, v.v…

 Ngưßi quÁn trị CSDL có một sá nhiám vụ chính: - Xác định thực thể và nội dung thông tin cần lưu trữ Xác định sơ đã quan niám đáp ứng

yêu cầu truy nhập của ngưßi sử dụng - Quyết định cấu trúc lưu trữ và chiến lược truy nhập: Ngưßi quÁn trị CSDL phÁi định cách

thức biểu dißn dữ liáu như mô tÁ cấu trúc lưu trữ trong, mô tÁ cấu trúc lưu trữ vật lý Xác định mô hình dữ liáu, định nghĩa ánh x¿ giữa cấu trúc lưu trữ và sơ đã ngoài Thực hián các chiến lược lưu trữ, quÁn lý há tháng

- Ngưßi quÁn trị CSDL phÁi t¿o môi trưßng giao tiếp giữa ngưßi sử dụng với các há CSDL, vì sơ đã ngoài cho ngưßi sử dụng cách nhìn dữ liáu tương ứng với ngôn ngữ truy xuất dữ liáu thích hợp, nên ngưßi quÁn trị CSDL phÁi cung cấp sơ đã quan niám, các ánh x¿, và cấu trúc lưu trữ Kiểm soát thẩm quyền truy nhập của ngưßi sử dụng và bÁo đÁm quyền truy nhập của họ

- Duy trì các tiêu chuẩn tháng nhất về các thủ tục lưu trữ và cấu trúc lưu trữ, biểu dißn thông tin và các chiến lược truy nhập Kiểm soát và kiểm tra tính đúng đắn của dữ liáu; áp dụng các bián pháp an toàn, an ninh dữ liáu

- Xác định chiến lược lưu trữ, sao chép, phục hãi trong các trưßng hợp hư hßng do sai sót, hoặc trục trặc kỹ thuật

1.2 Tổng quan vÁ Microsoft SQL Server

1.2.1. Tổng quan há quÁn trá SQL Server

Trong một thế giới dữ liáu ngày nay, dữ liáu và các há tháng quÁn lý dữ liáu đó cần phÁi luôn luôn được bÁo đÁm và á tr¿ng thái có sẵn SQL Server 2008 cho phép các nhà phát triển giÁm được sự phức t¿p của cơ sá h¿ tầng trong khi đó vẫn bÁo đÁm cung cấp một nền tÁng dữ liáu doanh nghiáp có khÁ năng bÁo mật, khÁ năng má rộng và quÁn lý tát hơn, cùng với thßi gian chết của ứng dụng giÁm

1.2.1.1. SQL là gì?

SQL, viết tắt của Structured Query Language (ngôn ngữ hßi có cấu trúc), là công cụ sử dụng để tå chức, quÁn lý và truy xuất dữ liáu được lưu trữ trong các cơ sá dữ liáu SQL là một há tháng ngôn ngữ bao gãm tập các câu lánh sử dụng để tương tác với cơ sá dữ liáu quan há

SQL được phát triển từ ngôn ngữ SEQUEL bái IBM theo mô hình E.F.Codd t¿i trung tâm nghiên cứu của IBM á California vào những năm 70 cho há quÁn trị CSDL lớn Đầu tiên SQL được sử dụng trong các ngôn ngữ quÁn lý CSDL và ch¿y trên các máy đơn lẻ Song do sự phát triển nhanh chóng của nhu cầu xây dựng những CSDL lớn theo mô hình khách chủ: trong mô hình này toàn bộ CSDL

Trang 15

được tập trung trên máy chủ (Server), mọi thao tác xử lý dữ liáu được thực hián trên máy chủ bằng các lánh SQL máy tr¿m chỉ dùng để cập nhập hoặc lấy thông tin từ máy chủ

Tên gọi ngôn ngữ hßi có cấu trúc phần nào làm chúng ta liên tưáng đến một công cụ (ngôn ngữ) dùng để truy xuất dữ liáu trong các cơ sá dữ liáu Hơn thế nữa, SQL được sử dụng để điều khiển tất cÁ các chức năng mà một há quÁn trị cơ sá dữ liáu cung cấp cho ngưßi dùng bao gãm:

- Định nghĩa dữ liáu: SQL cung cấp khÁ năng định nghĩa các cơ sá dữ liáu, các cấu trúc lưu trữ và tå chức dữ liáu đãng thßi t¿o mái quan há giữa các thành phần dữ liáu

- Truy xuất và thao tác dữ liáu: Với SQL, ngưßi dùng có thể dß dàng thực hián các thao tác truy xuất, bå sung, cập nhật và lo¿i bß dữ liáu trong các cơ sá dữ liáu

- Điều khiển truy cập: SQL có thể được sử dụng để t¿o và cấp phát quyền ngưßi dùng đãng thßi kiểm soát các thao tác của ngưßi dùng trên dữ liáu, đÁm bÁo sự an toàn cho cơ sá dữ liáu - ĐÁm bÁo toàn vẹn dữ liáu: SQL định nghĩa các ràng buộc toàn vẹn trong cơ sá dữ liáu nhß đó

đÁm bÁo tính hợp lá và chính xác của dữ liáu trước các thao tác cập nhật cũng như các lỗi của há tháng

- Như vậy, có thể nói rằng SQL là một ngôn ngữ hoàn thián được sử dụng trong các há tháng cơ sá dữ liáu và là một thành phần không thể thiếu trong các há quÁn trị cơ sá dữ liáu Mặc dù SQL không phÁi là một ngôn ngữ lập trình như C,

- C++, Java, song các câu lánh mà SQL cung cấp có thể được nhúng vào trong các ngôn ngữ lập trình nhằm xây dựng các ứng dụng tương tác với cơ sá dữ liáu

- Khác với các ngôn ngữ lập trình quen thuộc như C, C++, Java, SQL là ngôn ngữ có tính khai báo Với SQL, ngưßi dùng chỉ cần mô tÁ các yêu cầu cần phÁi thực hián trên cơ sá dữ liáu mà không cần phÁi chỉ ra cách thức thực hián các yêu cầu như thế nào Chính vì vậy, SQL là ngôn ngữ dß tiếp cận và dß sử dụng

- Ngày nay trong các ngôn ngữ lập trình bậc cao đều có sự trợ giúp của SQL Nhất là trong lĩnh vực phát triển của Internet ngôn ngữ SQL càng đóng vai trò quan trọng hơn, nó được sử dụng để nhanh chóng t¿o các trang web động

1.2.1.2. SQL Server là gì?

Microsoft SQL Server (hay còn gọi SQL Server) là một há tháng quÁn lý cơ sá dữ liáu quan há được phát triển bái Microsoft, có chức năng chính là lưu trữ, truy xuất dữ liáu và thông qua câu lánh SQL nó có thể trao đåi dữ liáu với các ứng dụng trên máy Client Trong môi trưßng Client/Server cơ sá dữ liáu được lưu trên máy Server, ngưßi dùng truy cập dữ liáu từ các máy Client qua một há tháng m¿ng

SQL Server hỗ trợ nhiều chức năng quÁn trị dữ liáu trên môi trưßng nhiều ngưßi dùng theo kiểu Client/Server SQL Server chịu trách nhiám đáp ứng các yêu cầu truy cập dữ liáu từ các máy Client, xử lý và chuyển kết quÁ về cho máy Server

SQL Server có một há tháng bÁo mật nhiều cấp giúp cho viác quÁn lý và bÁo mật dữ liáu thuận tián và chặt chẽ

 SQL Server có một sá đặc tính sau: Nền tÁng cho các nhiám vụ then chát - SQL Server 2008 cho phép các tå chức có thể ch¿y hầu hết các ứng dụng phức t¿p của họ trên một nền tÁng an toàn, tin cậy và có khÁ năng má rộng Bên c¿nh đó còn giÁm được sự phức t¿p trong viác quÁn lý cơ sá h¿ tầng dữ liáu SQL Server 2008 cung cấp một nền tÁng tin cậy và an toàn bằng cách bÁo đÁm những thông tin có giá trị trong các ứng dụng đang tãn t¿i và nâng cao khÁ năng sẵn có của dữ liáu SQL Server 2008 giới thiáu một cơ chế quÁn lý cách tân dựa trên chính sách, cơ chế này cho phép các

Trang 16

chính sách có thể được định nghĩa quÁn trị tự động cho các thực thể máy chủ trên một hoặc nhiều máy chủ Thêm vào đó, SQL Server 2008 cho phép thi hành truy vấn dự báo với một nền tÁng tái ưu

Sự phát triển động - SQL Server 2008 cùng với NET Framework đã giÁm được sự phức t¿p trong viác phát triển các ứng dụng mới ADO.NET Entity Framework cho phép các chuyên gia phát triển phần mềm có thể nâng cao năng suất bằng làm viác với các thực thể dữ liáu logic đáp ứng được các yêu cầu của doanh nghiáp thay vì lập trình trực tiếp với các bÁng và cột Các má rộng của ngôn ngữ truy vấn tích hợp (LINQ) mới trong NET Framework đã cách m¿ng hóa cách các chuyên gia phát triển truy vấn dữ liáu bằng viác má rộng Visual C#® và Visual Basic® NET để hỗ trợ cú pháp truy vấn giáng SQL ván đã có Hỗ trợ cho các há tháng kết nái cho phép chuyên gia phát triển xây dựng các ứng dụng cho phép ngưßi dùng mang dữ liáu cùng với ứng dụng này vào các thiết bị và sau đó đãng bộ dữ liáu của chúng với máy chủ trung tâm

Dữ liáu quan há má rộng - SQL Server 2008 cho phép các chuyên gia phát triển khai thác triát để và quÁn lý bất kỳ kiểu dữ liáu nào từ các kiểu dữ liáu truyền tháng đến dữ liáu không gian địa lý mới

Thông tin trong toàn bộ doanh nghiáp - SQL Server 2008 cung cấp một cơ sá h¿ tầng có thể má rộng, cho phép quÁn lý các báo cáo, phân tích với bất kỳ kích thước và sự phức t¿p nào, bên c¿nh đó nó cho phép ngưßi dùng dß dàng hơn trong viác truy cập thông tin thông qua sự tích hợp sâu hơn với Microsoft Office Điều này cho phép CNTT đưa được thông tin của doanh nghiáp rộng khắp trong tå chức SQL Server 2008 t¿o những bước đi tuyát vßi trong viác lưu trữ dữ liáu, cho phép ngưßi dùng hợp nhất các trung tâm dữ liáu vào một nơi lưu trữ dữ liáu tập trung của toàn doanh nghiáp

Hình 1-3 -Toàn cảnh nền tảng dữ liệu của Microsoft

 Vai trò của SQL BÁn thân SQL không phÁi là một há quÁn trị cơ sá dữ liáu, nó không thể tãn t¿i độc lập SQL thực sự là một phần của há quÁn trị cơ sá dữ liáu, nó xuất hián trong các há quÁn trị cơ sá dữ liáu với vai trò ngôn ngữ và là công cụ giao tiếp giữa ngưßi sử dụng và há quÁn trị cơ sá dữ liáu

Trang 17

Trong hầu hết các há quÁn trị cơ sá dữ liáu quan há, SQL có những vai trò như sau: - SQL là ngôn ngữ hßi có tính tương tác: Ngưßi sử dụng có thể dß dàng thông qua các trình

tián ích để gái các yêu cầu dưới d¿ng các câu lánh SQL đến cơ sá dữ liáu và nhận kết quÁ trÁ về từ cơ sá dữ liáu

- SQL là ngôn ngữ lập trình cơ sá dữ liáu: Các lập trình viên có thể nhúng các câu lánh SQL vào trong các ngôn ngữ lập trình để xây dựng nên các chương trình ứng dụng giao tiếp với cơ sá dữ liáu

- SQL là ngôn ngữ quÁn trị cơ sá dữ liáu: Thông qua SQL, ngưßi quÁn trị cơ sá dữ liáu có thể quÁn lý được cơ sá dữ liáu, định nghĩa các cấu trúc lưu trữ dữ liáu, điều khiển truy cập cơ sá dữ liáu,

- SQL là ngôn ngữ cho các há tháng client/server: Trong các há tháng cơ sá dữ liáu client/server, SQL được sử dụng như là công cụ để giao tiếp giữacác trình ứng dụng phía máy khách với máy chủ cơ sá dữ liáu

- SQL là ngôn ngữ truy cập dữ liáu trên Internet: Cho đến nay, hầu hết các máy chủ Web cũng như các máy chủ trên Internet sử dụng SQL với vai trò là ngôn ngữ để tương tác với dữ liáu trong các cơ sá dữ liáu

- SQL là ngôn ngữ cơ sá dữ liáu phân tán: Đái với các há quÁn trị cơ sá dữ liáu phân tán, mỗi một há tháng sử dụng SQL để giao tiếp với các há tháng khác trên m¿ng, gái và nhận các yêu cầu truy xuất dữ liáu với nhau

- SQL là ngôn ngữ sử dụng cho các cång giao tiếp cơ sá dữ liáu: Trong một há tháng m¿ng máy tính với nhiều há quÁn trị cơ sá dữ liáu khác nhau,

- SQL thưßng được sử dụng như là một chuẩn ngôn ngữ để giao tiếp giữa các há quÁn trị cơ sá dữ liáu

1.2.2 Các thành phần cÿa SQL Server

Các thành cơ bÁn trong SQL Server gãm có: Reporting Services, Database Engine, Integration Services, Notification Services, Full Text Search Service,… Tất cÁ kết hợp với nhau t¿o thành một giÁi pháp hoàn chỉnh giúp cho viác phân tích và lưu trữ dữ liáu trá nên dß dàng hơn

- Database Engine: Đây là phần lõi của SQL Server nó có chức năng chứa dữ liáu dưới d¿ng các bÁng và hỗ trợ các kết nái đến CSDL Ngoài ra, nó còn có khÁ năng tự điều chỉnh ví dụ: trÁ l¿i tài nguyên cho há điều hành khi một user log off và yêu cầu thêm các tài nguyên của máy khi cần

- Integration Services: là tập hợp các đái tượng lập trình và các công cụ đã họa cho viác sao chép, di chuyển và chuyển đåi dữ liáu Khi b¿n làm viác trong một công ty lớn thì dữ liáu được lưu trữ á nhiều nơi khác nhau như được chứa trong: Oracle, SQL Server, DB2, Microsoft Access,… và b¿n chắc chắn sẽ có nhu cầu di chuyển dữ liáu giữa các server này Ngoài ra, b¿n còn muán định d¿ng dữ liáu trước khi lưu vào database, Integration Services sẽ giúp b¿n giÁi quyết được công viác này dß dàng

- Analysis Services: Đây là một dịch vụ phân tích dữ liáu của Microsoft Công cụ này giúp b¿n trong viác phân tích dữ liáu một cách hiáu quÁ và dß dàng bằng cách dùng kỹ thuật khai thác dữ liáu – datamining và khái niám hình khái nhiều chiều – multi dimendion cubes

- Notification Services: Dịch vụ thông báo này là nền tÁng cho sự phát triển và triển khai các ứng dụng so¿n và gửi thông báo đến hàng ngàn ngưßi đăng ký sử dụng trên nhiều lo¿i thiết bị khác nhau

- Reporting Services: là một công cụ t¿o, quÁn lý và triển khai báo cáo trên server và client Ngoài ra, nó còn là nền tÁng cho viác phát triển và xây dựng các ứng dụng báo cáo

Trang 18

- Full Text Search Service: là một thành phần đặc biát trong viác truy vấn và đánh chỉ mục dữ liáu văn bÁn không cấu trúc được lưu trữ trong các cơ sá dữ liáu SQL Server

- Service Broker: là dịch vụ cân bằng tÁi cho SQL Server Nó giúp cho CSDL thực hián được nhiều thao tác với dữ liáu bằng cách dùng hàng đợi lưu dữ liáu t¿m thßi

Hình 1-4 -Các thành phần cÿa SQL Server

1.3 Cài đặt SQL Server

1.3.1. Yêu cầu cấu hình máy

Há điều hành tái thiểu: Windows 2000 Service Pack 4; Windows Server 2003 Service Pack1; Windows XP Service Pack 2

 Phần cứng: - Máy tính chip Pentium III 600 MHz trá lên (Cấu hình đề nghị: Chip 1 GHz hoặc cao hơn.) - Tái thiểu 192 MB RAM (Cấu hình đề nghị: 512 MB RAM.)

- ä cứng còn tráng tái thiểu 525 MB  Bộ cài đặt:

- Chúng ta download Microsoft SQL Server 2008 R2 t¿i: us/download/details.aspx?id=30438

Trang 19

https://www.microsoft.com/en-Hình 1-5 - Chọn phiên b愃ऀn cần Download

1.3.2. Các phiên bÁn cÿa SQL Server

Phiên bÁn đầu tiên của Microsoft SQL Server ra đßi đầu tiên vào năm 1989 cho các há điều hành ch¿y 16 bít với SQL Server phiên bÁn 1.0 và tiếp tục phát triển cho tới ngày nay

SQL Server của Microsoft được thị trưßng chấp nhận rộng rãi kể từ version 6.5 Sau đó Microsoft đã cÁi tiến và hầu như viết l¿i một engine mới cho SQL Server 7.0 Cho nên có thể nói từ version 6.5 lên version 7.0 là một bước nhÁy vọt Có một sá đặc tính của SQL Server 7.0 không tương thích với version 6.5 Trong khi đó từ Version 7.0 lên version 8.0 (SQL Server 2000) thì những cÁi tiến chủ yếu là má rộng các tính năng về web và làm cho SQL Server 2000 đáng tin cậy hơn

Một điểm đặc biát đáng lưu ý á phiên bÁn 2000 là Multiple-Instance Tức là b¿n có thể cài dặt phiên bÁn 2000 chung với các phiên bÁn trước mà không cần phÁi gỡ chúng Nghĩa là b¿n có thể ch¿y song song version 6.5 hoặc 7.0 với phiên bÁn 2000 trên cùng một máy (điều này không thể xÁy ra với các phiên bÁn trước đây) Khi đó phiên bÁn cũ trên máy b¿n là Default Instance còn phiên bÁn 2000 mới vừa cài sẽ là Named Instance

Từ tháng 10 năm 2016, các phiên bÁn sau được Microsoft hỗ trợ:

SQL Server 2008 R2 SQL Server 2012 SQL Server 2014 SQL Server 2016 Phiên bÁn hián t¿i là Microsoft SQL Server 2016, xuất bÁn vào ngày 1/6/2016 SQL Server 2016 chỉ hỗ trợ cho các bộ vi xử lý 64 bít

Các thành c¢ bÁn trong SQL Server

Trang 20

SQL Server được cấu t¿o bái nhiều thành phần như Database Engine, Reporting Services, Notification Services, Integration Services, Full Text Search Service… Các thành phần này khi phái hợp với nhau t¿o thành một giÁi pháp hoàn chỉnh giúp cho viác lưu trữ và phân tích dữ liáu một cách dß dàng

1.3.3. Các b°ãc cài đặt và cấu hình SQL Server

 Cài đặt SQL Server 2008 R2 Bước 1: Ch¿y file setup.exe để cài đặt, chọn Installation -> New SQL Server stand-alone

Hình 1-6 -Giao diện SQL Server Installation Center

Bước 2: Chọn Ok -> Next

Trang 21

Hình 1-7-Giao diện Setup Support Files

Bước 3: Chọn kiểu cài đặt mới

Hình 1-8 Chọn kiểu cài đặt

Bước 4: Nhập product key

Hình 1-9-Giao diện Product Key

Trang 22

Bước 5: Sau khi đãng ý License Terms, chọn các thành phần cài đặt

Hình 1-10-Giao diện Feature Selection Bước 6: Thiết lập cài đặt chọn Default instance

Hình 1-11-Giao diện Instance Configuration

Bước 7: Cấu hình server

Trang 23

Hình 1-12-Giao diện Server Configuration

Bước 8: Cấu hình dữ liáu như sau chọn Window Authentication và Add current User

Hình 1-13- Giao diện Database Engine Configuration

Trang 24

Bước 9: Cấu hình analysis services Add Current User Bước 10: Cấu hình report chọn option như hình nhấn Next, Next … Cho đến khi hoàn tất

Hình 1-14 -Giao diện Reporting Services Configuration

 Kiểm tra ho¿t động của SQL server Truy cập vào SSMS: Start => Microsoft SQL Server 2008 R2 => SQL Server Management Studio

Hình 1-15-Kiểm tra hoạt động của SQL server

Trang 25

Điền các thông tin đăng nhập đã cấu hình á bước cài đặt:

Hình 1-16-Thông tin đăng nh⌀p đã cấu hình

Như vậy là SQL server đã cài đặt và ho¿t động bình thưßng

Hình 1-17-Hộp thoại Object Explorer

Trang 26

1.4 Các tián ích cÿa SQL Server

Mô hình chung SQL Server

SQL Server là há quÁn trị CSDL ho¿t động theo mô hình Client/Server, có thể thực hián trao đåi dữ liáu theo nhiều mô hình m¿ng khác nhau, nhiều giao thức và phương thức truyền tin khác nhau

Hình 1-18-Mô hình SQL Server trên hệ thống mạng

Trong sơ đã trên thể hián ba kiểu kết nái ứng dụng đến SQL Server: Kết nái trên Desktop: Có thể kết nái trên cùng máy chủ chứa CSDL SQL Server hoặc kết nái qua m¿ng nội bộ

Kết nái qua m¿ng dián rộng: Thông qua đưßng truyền m¿ng dián rộng kết nái đến máy chủ CSDL SQL Server

Kết nái qua m¿ng Internet: Các ứng dụng kết nái thông qua Internet, sử dụng dịch vụ webserver IIS thực hián ứng dụng trên Internet (ASP, JSP, ASP.net,…)

Mô hình Desktop: Trên Desktop mô hình SQL Server được thể hián như sau:

Trang 27

Hình 1-19-Mô hình SQL Server trên Desktop

Trên một Desktop có thể có nhiều ứng dụng, mỗi ứng dụng có thể thực hián thao tác với nhiều CSDL

Mô hình Client/Server:

Trong mô hình client/server, ứng dụng trao đåi với SQL Server theo sơ đã sau:

Hình 1-20-Mô hình Client/Server của SQL Server

Trang 28

Như sơ đã trên nhận thấy SQL Server cho phép các ứng dụng kết nái theo các phương thức sau: OLE DB, ODBC, DB-Library, Embedded SQL, đây là các phương thức kết nái hữu ích cho những nhà phát triển ứng dụng

Hình 1-21-Mô hình trao đổi dữ liệu với các ứng dụng

Trong sơ đã trên cho thấy, SQL Server có thể thực hián trao đåi dữ liáu với các ứng dụng theo nhiều giao thức truyền tin khác nhau (TCP/IP, NetBeUI, Names Pipes,…), các ứng dụng có thể sử dụng nhiều phương thức kết nái khác nhau (OLE DB, ODBC, DB-Library)

Mô hình k¿t nçi āng dāng trên m¿ng Internet

Các ứng dụng kết nái với SQL Server trên m¿ng Internet, các máy chủ SQL Server sẽ được quÁn lý thông qua các há tháng máy chủ m¿ng, há điều hành m¿ng, các ứng dụng (COM+, ASP, IIS) sẽ thông qua máy chủ m¿ng kết nái đến SQL Server, mô hình này có thể áp dụng

Trang 29

cho các m¿ng nội bộ, dián rộng, ứng dụng được khai thác trên trình duyát Internet Xem xét mô hình dưới đây:

Hình 1-22-Mô hình kết nối các ứng dụng

SQL Server Management Studio:

SQL Server được kết hợp bái nhiều thành phần riêng biát Các thành phần này khi phái hợp với nhau sẽ t¿o thành một giÁi pháp hoàn chỉnh giúp cho viác lưu trữ và phân tích dữ liáu trá nên dß dàng hơn Một trong những công cụ quan trọng của SQL Server là SQL Server Management Studio

Với SQL Server Management Studio chúng ta có thể thực hián được các thao tác với CSDL bằng câu lánh hoặc trên giao dián ngưßi dùng SQL Server Management Studio được thiết kế đơn giÁn và dß sử dụng

Để sử dụng Microsoft SQL Server Management Studio, đầu tiên cần phÁi đăng nhập vào CSDL SQL Server

Hình 1-23-Màn hình đăng nh⌀p SQL Server

Trang 30

CÂU HäI ÔN T¾P BÀI 1

1 Cơ sá dữ liáu là gì? B¿n hiểu thế nào là một há cơ sá dữ liáu tác nghiáp? 2 Sự cần thiết tå chức lưu trữ dữ liáu theo lý thuyết cơ sá dữ liáu?

3 Cho ví dụ minh họa về giÁm bớt dư thừa dữ liáu trong lưu trữ và không nhất quán dữ liáu trong lưu trữ làm cho dữ liáu mất đi tính toàn vẹn

4 Trình bày tång quát kiến trúc mô hình há cơ sá dữ liáu 3 lớp 5 Trình bày và phân tích tính ån định trong mô hình quan niám 6 Vai trò và chức năng của ánh x¿ quan niám trong và ánh x¿ quan niám ngoài 7 Mục tiêu của các há cơ sá dữ liáu? Ví dụ minh họa

8 Chứng minh rằng kiến trúc mô hình cơ sá dữ liáu 3 lớp đÁm bÁo được tính độc lập dữ liáu và tính ån định cao

9 T¿i sao nói, mô hình dữ liáu là cách nhìn toàn bộ nội dung thông tin của CSDL, sơ đã quan niám là định nghĩa của cách nhìn ấy? Ví dụ minh họa

10 Hiểu thế nào về khái niám <tính toàn vẹn dữ liáu= và <tham chiếu toàn vẹn= 11.Há quÁn trị CSDL quan há là gì?

12 SQL Server là gì? các thành phần trong SQL Server? 13 Kiến trúc SQL Server trong há tháng client/server?

Trang 31

Bài 2 Thi¿t k¿ c¢ sç dā liáu dùng Management Studio

Hình 2-1 Nối vào SQL Server

Chú ý những thành phần trên hộp tho¿i sau: - Server Type: Như ví dụ của cuán sách này, cho phép server type là Database Engine Các

tùy chọn khác là kiểu dữ liáu khác nhau của servers nó sẽ hiển thị kết nái - Server Name: Hộp combo thứ 2 chứa 1 danh sách của SQL Server cài đặt mà chọn Trong

hộp tho¿i hình 12, b¿n sẽ thầy tên của máy tính được cài đặt trên local Nếu b¿n má hộp Server name b¿n có thể tìm kiếm nhiều server local hoặc network connection bằng cách chọn <Browse for more >

- Authentication: Combobox cuái cùng xác định các lo¿i hình kết nái b¿n muán sử dụng.Trong giáo trình này chúng ta kết nái đến SQL Server sử dụng Windowns Authentication Nếu b¿n cài đặt SQL Server với chế độ hỗn hợp(mix mode), thì b¿n có thể thay đåi chọn lựa SQL Server authentication, thì nó sẽ má hai hộp tho¿i và cho phép nhập username và password

Trang 32

Sau khi nhấn nút Connect sẽ xuất hián màn hình sau:

Hình 2-2 SQL Server Management Studio

2.1.2. T¿o Database

Chọn database -> Click phÁi -> Chọn New Database…

Trang 33

Hình 2-3Hộp thoại Object Explorer

Trong hộp tho¿i New Database đặt tên cho database name -> Chọn OK

Hình 2-4 Giao diện New Database

Cơ sá dữ diáu QLSINHVIEN- quÁn lý điểm sinh viên

Trong dó:

BÁng KHOA lưu trữ danh mục Khoa BÁng NGANH lưu trữ thông tin về các ngành đào t¿o BÁng LOP lưu trữ thông tin về các lớp học phần

Trang 34

BÁng SINHVIEN có dữ liáu là các thông tin sinhviên BÁng HOCPHAN lưu trữ các học phần trong chương trình đào t¿o BÁng DIEM lưu trữ điểm các học phần của sinh viên

2.1.3. Xóa Database

Cách 1: Xóa database b¿ng T-SQL Script

Dưới đây là cú pháp để xóa CSDL trong MS SQL Server Drop database <tên database> Ví dụ để xóa CSLD có tên demo, b¿n ch¿y truy vấn:

Drop database demo

Cách 2: Sÿ dāng MS SQL Server Management Studio

Kết nái tới SQL Server và click chuột phÁi vào CSDL b¿n muán xóa

Chọn xóa và màn hình sau đây sẽ hián ra

Trang 35

Hình 2-5 Xác nh⌀n thông tin xóa CSDL đã chọn

Chọn OK để xóa CSDL đã chọn (trong ví dụ này là Testdb) khßi MS SQL Server 2.2 Table - BÁng

BÁng dữ liáu là một đái tượng của cơ sá dữ liáu, bÁng dùng để lưu trữ dữ liáu, mỗi bÁng gãm nhiều cột (còn gọi là trưßng - Field) và nhiều hàng (còn gọi là bÁn ghi - Record) Mỗi cột ứng với một lo¿i dữ liáu, dữ liáu nhập vào có thể chấp nhận hoặc từ chái phụ thuộc vào nguyên tắc ràng buộc dữ liáu hoặc lo¿i dữ liáu tương thích do ngưßi dùng định nghĩa

Trưßng dữ liáu: là cột (hay gọi là thuộc tính) của bÁng nhằm mô tÁ các đặc trưng riêng của đái tượng Một trưßng dữ liáu cần phÁi có: tên trưßng, kiểu dữ liáu của trưßng, chiều dài của trưßng (hay gọi là độ rộng của trưßng),…

BÁn ghi là một hàng dữ liáu của bÁng trong CSDL, một bÁn ghi chứa thông tin mô tÁ các thuộc tính của đái tượng trong bÁng

Ví dụ sau mô tÁ bÁng dữ liáu Sinhvien chứa thông tin sinh viên gãm: Mã sinh viên, Họ, Tên, Ngày sinh, Địa chỉ, Giới tính, Mã ngành

- Cấu trúc bÁng:

Hình 2-6 Tạo cấu trúc b愃ऀng trong SQL Server

Trang 36

Dữ liáu đưa vào bÁng

Hình 2-7 Dữ liệu b愃ऀng Sinhvien

Khi định nghĩa bÁng dữ liáu, ngoài viác xác định tên bÁng, tên trưßng,…cần phÁi xác định các thành phần khác như: kiểu dữ liáu, các ràng buộc, các khóa, … Các thành phần này nhằm t¿o ra các ràng buộc toàn vẹn dữ liáu của các bÁng trong cơ sá dữ liáu

D°ãi đây là mát sç kiểu dā liáu chuẩn do SQL Server cung cấp:

Nhóm kiểu dữ liáu Binary: là các kiểu dữ liáu chứa giá trị nhị phân dùng để lưu trữ hình Ánh, âm thanh và video

Các kiểu dā liáu thuác nhóm Binary

Kiểu dā liáu Ph¿m vi biểu dißn

Binary (n) Độ dài cá định n byte, trong đó n có giá trị từ 1 đến

8000 Varbinary (n) Độ dài tái đa n byte, độ dài đó có thể thay đåi theo dữ

liáu thực tế, n có giá trị từ 1 đến 8000 Image Độ dài tái đa 2.147.483.647 bytes, độ dài thay đåi

theo dữ liáu thực tế  Các kiểu dā liáu thuác nhóm kiểu Text

Trang 37

Kiểu dā liáu Ph¿m vi biểu dißn

Char (n) Xâu ký tự có độ dài cá định n ký tự, n từ 1 đến 8000,

lưu trữ các ký tự có trong bÁng mã ASCII Nchar (n) Xâu ký tự có độ dài cá định n ký tự, n từ 1 đến 4000,

lưu trữ các ký tự có trong bÁng mã Unicode Varchar (n) Xâu ký tự có độ dài tái đa n ký tự, n từ 1 đến 8000, độ

dài này sẽ thay đåi theo dữ liáu thực tế, lưu trữ các ký tự có trong bÁng mã ASCII

Nvarchar (n) Xâu ký tự có độ dài tái đa n ký tự, n từ 1 đến 4000, độ

dài này sẽ thay đåi theo dữ liáu thực tế, lưu trữ các ký tự có trong bÁng mã Unicode

Text (n) Dùng để lưu trữ dữ liáu d¿ng văn bÁn, chứa cÁ ký tự

xuáng dòng, độ dài tái đa là 2.147.483.647 ký tự, cơ chế quÁn lý dữ liáu theo d¿ng con trß, lưu trữ các ký tự có trong bÁng mã ASCII

Ntext (n) Tương tự như Text(n), tái đa 1.073.741.823 ký tự, lưu

trữ các ký tự có trong bÁng mã Unicode  Các kiểu dā liáu thuác nhóm dā liáu Date/Time

Kiểu dā liáu Ph¿m vi biểu dißn

Datetime Jan 1, 1753 00:00:0000 Dec 31, 9999 00:00:0000 Smalldatetime Jan 1, 1900 00:00:0000 Jun 6, 2079 00:00:0000 Date Lưu trữ một kiểu ngày dưới d¿ng June 30, 1991 Time Lưu trữ một kiểu giß dưới d¿ng 12:30 PM  Các kiểu dā liáu sç nguyên

Kiểu dā liáu Ph¿m vi biểu dißn

Bigint -9,223,372,036,854,775,808 

9,223,372,036,854,775,807 Int -2,147,483,648 2,147,483,647 Smallint -32,768 32,767

Trang 38

Tinyint 0 255  Các kiểu dā liáu sç thực

Kiểu dā liáu Ph¿m vi biểu dißn

Decimal -10^38 +1 10^38 -1 Numeric -10^38 +1 10^38 -1 Float -1.79E + 308 1.79E + 308 Real -3.40E + 38 3.40E + 38  Các kiểu dā liáu tiÁn tá

Kiểu dā liáu Ph¿m vi biểu dißn

Money -922,337,203,685,477.5808 922,337,203,685,477.5807 Smallmoney -214,748.3648 214,748.3647

Các kiểu dā liáu mç ráng

Kiểu dā liáuPh¿m vi biểu dißn

Sql_variant Là kiểu dữ liáu có thể lưu trữ nhiều lo¿i dữ liáu có kiểu

khác nhau trong cùng một cột của một bÁng Ví dụ có thể lưu trữ nhiều lo¿i dữ liáu kiểu int, binary, char, nhưng không chứa dữ liáu kiểu text, ntext, image, timestamp

Timestamp

Là kiểu dữ liáu có kích thước 8 bytes, lưu trữ d¿ng sá nhị phân do há tháng tự sinh ra, mỗi giá trị thuộc kiểu timestamp trong CSDL là duy nhất

Uniqueidentifier

Là kiểu dữ liáu dùng để lưu trữ các giá trị nhị phân, kích thước 16 bytes Một GUID (Globally Unique Identifier) là một sá nhị phân duy nhất; vì thế GUID được sử dụng cho mục đích là khóa chính trong các cơ sá dữ liáu lớn XML Là kiểu dữ liáu dùng để lưu trữ dữ liáu XML

Geometry Là kiểu dữ liáu không gian được sử dụng để biểu dißn

các đái tượng trong há tọa độ Euclide

Trang 39

2.2.2. T¿o bÁng

Khi t¿o bÁng, chúng ta cần xác định: - BÁng mới được t¿o ra sử dụng với mục đích gì và có vai trò như thế nào trong cơ sá dữ liáu? - Cấu trúc của bÁng bao gãm những cột nào? Mỗi một cột có ý nghĩa như thế nào trong viác biểu dißn dữ liáu? Kiểu dữ liáu của mỗi cột là gì? Cột đó có cho phép nhận giá trị NULL hay không?

- Những cột nào sẽ tham gia vào khóa chính của bÁng? BÁng có quan há với những bÁng khác hay không và nếu có thì quan há như thế nào?

- Trên các cột của bÁng có tãn t¿i những ràng buộc về khuôn d¿ng, điều kián hợp lá của dữ liáu hay không; nếu có thì sử dụng á đâu và như thế nào?

Cách 1: Để t¿o bÁng trong cơ sá dữ liáu ta dùng câu lánh CREATE TABLE

Cú pháp nh° sau: CREATE TABLE tên_bÁng (tên_cát kiểu_dā_liáu_cát các_ràng_buác [,…, tên_cát kiểu_dā_liáu_cát các_ràng_buác] [,các_ràng_buác_trên_bÁng])

Ví dụ 1: Câu lánh dưới đây định nghĩa bÁng Nganh gãm các cột manganh (mã ngành), tennganh (tên ngành), chitieu (chỉ tiêu tuyển sinh của ngành học) Ràng buộc cột manganh làm khóa chính

CREATE TABLE Nganh (manganh CHAR(5) NOT NULL CONSTRAINT pk_manganh PRIMARY KEY, tennganh NVARCHAR(50) NOT NULL, chitieu int NOT NULL)

Ví dụ 2: Câu lánh dưới đây định nghĩa bÁng Sinhvien với các cột masv (mã sinh viên), ho (họ), ten (tên), gioitinh (giới tính), ngaysinh (ngày sinh của sinh viên), dienthoai (đián tho¿i), diachi (địa chỉ liên há), manganh (mã ngành sinh viên theo học) Ràng buộc cột masv làm khóa chính, manganh là khóa ngoài (tham chiếu đến manganh của bÁng nganh), ngaysinh chỉ nhập sinh viên từ 18 tuåi trá lên

CREATE TABLE Sinhvien (masv CHAR(5) NOT NULL CONSTRAINT pk_masv PRIMARY KEY, ho NVARCHAR(150) NOT NULL, ten NVARCHAR(8) NOT NULL, gioitinh BIT NULL, ngaysinh DATE NULL CONSTRAINT chk_ngaysinh CHECK (YEAR(GETDATE())-YEAR(ngaysinh)>=18), dienthoai CHAR(11) NULL, diachi NVARCHAR (50) NULL, manganh CHAR(5) NOT NULL CONSTRAINT fk_manganh FOREIGN KEY(manganh) REFERENCES nganh(manganh) ON DELETE CASCADE ON UPDATE CASCADE)

Trong đó:

Getdate() là hàm lấy ngày tháng năm hián t¿i của há tháng Year(D) là hàm lấy ra năm của ngày D

Cách 2: t¿o bÁng b¿ng công cā

Geography Là kiểu dữ liáu không gian được sử dụng để biểu dißn

các đái tượng trong há tọa độ trái đất

Trang 40

- Bước 1: Vào database quÁn lý bán hàng chọn table Sau đó click phÁi lên table -> Chọn New Table

Bước 2: Khi chọn New Table sẽ xuất hián bên phÁi màn hình bên dưới Sau đó ta nhập Column Name, Data Type… Nhấn Enter để nhập cột kết tiếp

Bước 3: Lưu table trên thanh Standard toolbar -> chọn Save

Ngày đăng: 14/09/2024, 21:35