1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo trình hệ cơ sở dữ liệu (nghề lắp ráp máy tính cao đẳng

146 1 0

Đ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 đề Giáo Trình Hệ Cơ Sở Dữ Liệu
Tác giả Nguyễn Thị Thủy
Trường học Trường Cao Đẳng Du Lịch Và Công Thương
Chuyên ngành Lắp Ráp Máy Tính
Thể loại giáo trình
Năm xuất bản 2022
Thành phố Hải Dương
Định dạng
Số trang 146
Dung lượng 2,44 MB

Nội dung

Mặc dù đã rất cố gắng, nhưng đây là cuốn " Giáo trình Hệ cơ sở dữ liệu SQL server và phát triển nghề nghiệp Tin học ứng dụng." đầu tiên dành cho đối tượng Cao đẳng Tin học ứng dụng không

Trang 1

BỘ CÔNG THƯƠNG TRƯỜNG CAO ĐẲNG DU LỊCH VÀ CÔNG THƯƠNG

GIÁO TRÌNH MÔN HỌC/MÔ ĐUN: HỆ CƠ SỞ DỮ LIỆU NGÀNH/NGHỀ: LẮP RÁP MÁY TÍNH

TRÌNH ĐỘ: CAO ĐẲNG

(Ban hành kèm theo Quyết định số 875/QĐ-DLCT ngày 26 tháng 8 năm

2022 của Hiệu trưởng trường Cao đẳng Du Lịch và Công Thương)

Hải Dương, năm 2022

Trang 4

LỜI GIỚI THIỆU

Đào tạo Tin học ứng dụng có trình độ là một nội dung đào tạo mới ở Nhà trường Chính

vì vậy phương tiện và kinh nghiệm giảng dạy trong đó có tài liệu học tập cho đối tượng này còn gặp nhiều khó khăn

Nhằm khắc phục khó khăn về tài liệu học tập của sinh viên Cao đẳng Tin học ứng dụng, chúng tôi đã biên soạn cuốn sách Giáo trình Hệ cơ sở dữ liệu SQL server nghề nghiệp Tin học ứng dụng

Cuốn sách được viết dựa trên chương trình hiện đang áp dụng giảng dạy cho đối tượng Cao đẳng Tin học ứng dụng hệ chính quy tại các trường Cao đẳng hiện nay Cuốn sách này là tài liệu học tập cho sinh viên Cao đẳng Tin học ứng dụng, đồng thời có thể sử dụng như tài liệu tham khảo cho các đối tượng học viên khác

Mặc dù đã rất cố gắng, nhưng đây là cuốn " Giáo trình Hệ cơ sở dữ liệu SQL server và phát triển nghề nghiệp Tin học ứng dụng." đầu tiên dành cho đối tượng Cao đẳng Tin học ứng dụng không thể tránh khỏi những sai sót, rất mong sự đóng góp ý kiến của các thầy giáo, cô giáo, các em học sinh, sinh viên và các bạn đồng nghiệp để cuốn sách được hoàn thiện hơn

Chúng tôi xin chân thành cảm ơn Ban Giám hiệu Nhà trường, các nhà chuyên môn và bạn đọc đã giúp đỡ, động viên, tạo điều kiện cho chúng tôi hoàn thành cuốn giáo trình này

Hải Dương, ngày 01 tháng 01 năm 2022

Tham gia biên soạn Chủ biên

Nguyễn Thị Thuỷ

Trang 5

MỤC LỤC

MỤC LỤC 1

BÀI 1:TỔNG QUAN VỀ DBMS VÀ SQL SERVER 11

1 Một số khái niệm về DBMS 11

4 Giới thiệu các công cụ 15

5 Cài đặt 17

6 CSDL mẫu 29

BÀI 2: GIỚI THIỆU NGÔN NGỮ TRANSACT SQL (T-SQL) 34

1 Ngôn ngữ định nghĩa dữ liệu (DDL) 34

2 Ngôn ngữ điều khiển, kiểm soát dữ liệu (DCL) 47

3 Ngôn ngữ thao tác dữ liệu (DML) 48

BÀI 3: THIẾT KẾ CƠ SỞ DỮ LIỆU (CSDL) 79

1 Cấu trúc của SQL Server 79

2 Cấu trúc Vật lý, cấu trúc Logic của một CSDL 80

3 Tạo CSDL bằng EM và T – SQL 81

BÀI 4: SAO LƯU VÀ PHỤC HỔI DỮ LIỆU 107

1 Lý do sao lưu, phục hồi dữ liệu 107

2 Các Loại Backup 107

3 Recovery Models 109

4 Backup Database 112

5 Restore Database 115

BÀI 5: VIEW, STORED, PROCEDURE, STORED FUNCTION 118

1 Views 118

2 Stored Procedures 125

3 Stored functions 132

BÀI 6: TRIGGERS 136

1 Khái niệm 137

2 Phân loại Triggers 140

Trang 7

3.3 Ý nghĩa và vai trò của môn học

Môn học Hệ cơ sở dữ liệu SQL phát triển nghề nghiệp Tin học ứng dụng giúp cho sinh viên biết được các nội quy, quy chế nghề Tin học ứng dụng, chuẩn năng lực của người Tin học ứng dụng và các hiệp hội Tin học ứng dụng trên thế giới

4 Mục tiêu môn học

4.1 Về kiến thức

1.1 Mô tả được vai trò, nhiệm vụ của người Tin học ứng dụng, quy chế nghề nghiệp nghề Tin học ứng dụng

1.2 Trình bày được cách thu thập dữ liệu; các cú pháp lệnh khi thực hiện

1.3.Trình bày được sự hình thành và các năng lực của người Tin học ứng dụng

1.4 Mô tả, phân tích được Hệ cơ sở dữ liệu SQL

1.5 Kể được các lệnh thực hiện trong Hệ cơ sở dữ liệu SQL

4.2 Về kỹ năng

2.1 Thực hiện được nhiệm vụ và quy chế nghề nghiệp của người Tin học ứng dụng trong quá trình phát triển nghề nghiệp

2.2 Thu thập được các dữ liệu về cơ sở dữ liệu của khách hàng

2.3 Hình thành và phát triển hoàn thiện năng lực nghề nghiệp Tin học ứng dụng theo mức độ tăng dần của khung năng lực

2.4 Phát hiện, đánh giá được sự an toàn thông tin để xử lý; Sửa chữa kịp thời các trường hợp bất thường trong khi thực hiện chương trình

4.3 Về tự chủ và tự chịu trách nhiệm

Trang 8

4.3.1 Ứng xử tế nhị, không phán xét, không chỉ trích, có văn hóa thích hợp với mọi đối tượng phục vụ

4.3.2 Tôn trọng sự riêng tư, văn hóa và phong tục của khách và cơ quan tiếp nhận; không phân biệt tình trạng kinh tế, văn hóa xã hội, sắc tộc hoặc niềm tin, tín ngưỡng của họ Đảm bảo tính bảo mật đối với tất cả các thông tin cá nhân

Trang 9

Thời gian học tập Tổng

5.2 Chương trình chi tiết môn học

Thời gian (giờ) Tổng

1 Bài 1: Tổng quan về DBMS và SQL Server 6 2 4 0

4 Bài 4: Sao lưu và phục hồi dữ liệu 12 4 8 0

5 Bài 5: View, Stored Procedure, Stored function 12 4 8 0

2 Trang thiết bị dạy học: Projetor, máy vi tính, bảng, phấn

3 Học liệu, dụng cụ, mô hình,phương tiện: Giáo trình, mô hình học tập, bảng kiểm…

4 Các điều kiện khác:

7 Nội dung và phương pháp, đánh giá

7.1 Nội dung:

- Kiến thức: Đánh giá tất cả các nội dung đã nêu trong mục tiêu kiến thức

- Kỹ năng: Đánh giá tất cả các nội dung đã nêu trong mục tiêu kĩ năng, chủ yếu đánh giá ở nội dung Thực hành tại trường và thực hành tại nơi thực tập

- Năng lực tự chủ và trách nhiệm: Trong quá trình học tập, sinh viên cần: + Nghiên cứu bài trước khi đến lớp

Trang 10

+ Chuẩn bị đầy đủ tài liệu học tập

+ Tham gia đầy đủ thời lượng môn học

+ Nghiêm túc trong quá trình học tập

Hướng dẫn thực hiện quy chế đào tạo áp dụng tại Trường Cao đẳng

Du lịch và Công thương như sau:

Điểm đánh giá Trọng số

+ Điểm kiểm tra định kì (Hệ số 2)

7.2.2 Phương pháp đánh giá

- Điểm kiểm tra thường xuyên: 2 điểm kiểm tra 15 phút, hỏi miệng

- Kiểm tra định kỳ lý thuyết: 2 điểm kiểm tra

+ Hình thức: Kiểm tra viết

+ Công cụ: Câu hỏi truyền thống cải tiến

+ Thời gian: 45 phút

- Thi kết thúc môn học lý thuyết: 1 điểm

+ Hình thức: Thi trắc nghiệm khách quan

+ Công cụ: Ngân hàng đề thi/ Bộ câu hỏi trắc nghiệm khách quan

8 Hướng dẫn thực hiện môn học

8.1 Phạm vi, đối tượng áp dụng: Đối tượng Cao đẳng Tin học ứng dụng

8.2 Phương pháp giảng dạy, học tập môn học

Trang 11

8.2.1 Đối với giảng viên

* Lý thuyết: Áp dụng phương pháp dạy học tích cực bao gồm: Thuyết trình ngắn,

nêu vấn đề, hướng dẫn đọc tài liệu, bài tập tình huống…

* Thảo luận: Phân chia nhóm nhỏ thảo luận theo nội dung đề ra

* Hướng dẫn tự học theo nhóm: Nhóm trưởng phân công các thành viên trong

nhóm tìm hiểu, nghiên cứu theo yêu cầu nội dung trong bài học, cả nhóm thảo luận, trình bày nội dung, ghi chép và viết báo cáo nhóm

8.2.2 Đối với người học

Sinh viên phải thực hiện các nhiệm vụ như sau:

- Nghiên cứu kỹ bài học tại nhà trước khi đến lớp Các tài liệu tham khảo sẽ được cung cấp nguồn trước khi sinh viên vào học học phần này (trang web, thư viện, tài liệu )

- Tham dự tối thiểu 70% các buổi giảng lí thuyết Nếu học sinh vắng >30%

số tiết lý thuyết phải học lại môn học mới được tham dự kì thi lần sau

- Tự học và thảo luận nhóm: là một phương pháp học tập kết hợp giữa làm việc theo nhóm và làm việc cá nhân Một nhóm gồm 8-10 sinh viên sẽ được cung cấp chủ đề thảo luận trước khi học lý thuyết, thực hành Mỗi sinh viên sẽ chịu trách nhiệm về 1 hoặc một số nội dung trong chủ đề mà nhóm đã phân công để phát triển và hoàn thiện tốt nhất toàn bộ chủ đề thảo luận của nhóm

- Tham dự đủ các bài kiểm tra thường xuyên, định kỳ

- Tham dự thi kết thúc học phần lý thuyết và thực hành tại nơi thực tập

- Chủ động tổ chức thực hiện giờ tự học

9 Tài liệu tham khảo:

[1] Hệ Cơ sở dữ liệu - Dương Tuấn Anh, Nguyễn Trung Trực – NXB ĐHQG

TP HCM

[2] Giáo trình phần mềm SQL Server trên mạng Internet

Trang 12

BÀI 1:TỔNG QUAN VỀ DBMS VÀ SQL SERVER

Mã bài học: MĐ15-01

GIỚI THIỆU BÀI HỌC

SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System (RDBMS) ) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi dữ liệu giữa máy Client và máy cài SQL Server Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS

SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user SQL Server có thể kết hợp “ăn ý” với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server…

MỤC TIÊU BÀI HỌC

Trình bày được khái niệm về SQL Server, các công cụ và thao tác cài đặt

Thực hiện được các thao tác cài đặt và cơ sở dữ liệu mẫu

Nghiêm túc, trách nhiệm, chủ động, tích cực, sáng tạo trong học tập

NỘI DUNG BÀI HỌC

1 Một số khái niệm về DBMS

DBMS là viết tắt của Database Management System, dịch sang tiếng Việt là Hệ quản trị Cơ sở dữ liệu DBMS là phần mềm được thiết kế để có thể xác định, tiến hành các thao tác, truy xuất và quản lý dữ liệu trong Cơ sở dữ liệu DBMS thường có khả năng tự thao tác với dữ liệu, định dạng dữ liệu, tên trường, cấu trúc bản ghi và cấu trúc tệp Nó cũng xác định các quy tắc để xác nhận và thao tác với dữ liệu

Với DBMS, người dùng có thể thao tác sửa/xóa/thêm dữ liệu mà không còn cần các chương trình khung Các ngôn ngữ lập trình truy vấn như SQL thường đi kèm với DBMS để lập trình viên dễ dàng tương tác với dữ liệu họ cần

Trang 13

thêm lên, lấy xuống hoặc sửa đổi dữ liệu hiện có trên hệ thống

Một DBMS luôn có tính chất độc lập về mặt dữ liệu Bất kỳ thay đổi nào về phương thức lưu trữ và định dạng đều được thực hiện mà không sửa đổi toàn bộ ứng dụng Dưới đây là 4 dạng tổ chức cơ sở dữ liệu nổi bật nhất:

Cơ sở dữ liệu quan hệ: Dữ liệu được tổ chức dưới dạng các bảng độc lập có tính

logic Mối quan hệ giữa các bảng được thể hiện thông qua dữ liệu được chia sẻ Dữ liệu trong một bảng có thể tham chiếu dữ liệu trong các bảng khác, duy trì tính toàn vẹn của các liên kết giữa chúng Tính năng này được gọi là tính toàn vẹn tham chiếu, một khái niệm quan trọng trong cơ sở dữ liệu quan hệ Các hành động như "select" và "join" có thể được thực hiện trên các bảng dữ liệu Đây là kiểu tổ chức cơ sở dữ liệu đang được

sử dụng rộng rãi nhất

Cơ sở dữ liệu phẳng: Dữ liệu được tổ chức trong một loại bản ghi với một số

trường nhất định Kiểu cơ sở dữ liệu này gặp nhiều lỗi hơn do tính chất lặp của dữ liệu

Cơ sở dữ liệu hướng đối tượng: Dữ liệu được tổ chức theo cách giống như những

gì chúng ta thấy ở ngôn ngữ lập trình hướng đối tượng Một đối tượng có các dữ liệu

và phương thức trong khi một nhóm đối tượng tương tự nhau có chung dữ liệu và phương thức

Cơ sở dữ liệu phân cấp: Dữ liệu được tổ chức với các mối quan hệ phân cấp Nó

trở thành một mạng lưới phức tạp nếu một trong các mối quan hệ bị vi phạm

Cơ sở dữ liệu (Database) là một tập hợp các dữ liệu có tổ chức, thường được lưu trữ và truy cập điện tử từ hệ thống máy tính Khi cơ sở dữ liệu phức tạp hơn, chúng thường được phát triển bằng cách sử dụng các kỹ thuật thiết kế và mô hình hóa chính thức

Hệ quản lý cơ sở dữ liệu (Database Management System - DBMS) là phần mềm tương tác với người dùng cuối, ứng dụng và chính cơ sở dữ liệu để thu thập và phân tích dữ liệu Phần mềm DBMS bao gồm các tiện ích cốt lõi được cung cấp để quản trị

cơ sở dữ liệu Tổng cộng của cơ sở dữ liệu, DBMS và các ứng dụng liên quan có thể được gọi là "hệ thống cơ sở dữ liệu" Thông thường thuật ngữ "cơ sở dữ liệu" cũng được

sử dụng để nói đến bất kỳ DBMS, hệ thống cơ sở dữ liệu hoặc ứng dụng nào được liên kết với cơ sở dữ liệu

Các DBMS hiện tại cung cấp các chức năng khác nhau cho phép quản lý cơ sở dữ liệu và dữ liệu có thể được phân loại thành bốn nhóm chức năng chính:

Định nghĩa dữ liệu - Tạo, sửa đổi và loại bỏ các định nghĩa xác định tổ chức dữ liệu

Cập nhật - Chèn, sửa đổi và xóa dữ liệu thực tế

Truy xuất - Cung cấp thông tin dưới dạng có thể sử dụng trực tiếp hoặc để xử lý thêm bởi các ứng dụng khác Dữ liệu được truy xuất có thể được cung cấp ở dạng cơ bản giống như được lưu trữ trong cơ sở dữ liệu hoặc ở dạng mới thu được bằng cách

Trang 14

thay đổi hoặc kết hợp dữ liệu hiện có từ cơ sở dữ liệu

Quản trị - Đăng ký và giám sát người dùng, thực thi bảo mật dữ liệu, giám sát hiệu suất, duy trì tính toàn vẹn dữ liệu, xử lý kiểm soát đồng thời và khôi phục thông tin đã

bị hỏng do một số sự kiện như lỗi hệ thống không mong muốn

2 Giới thiệu về SQL Server

SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System (RDBMS) ) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi dữ liệu giữa máy Client và máy cài SQL Server Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS

SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user SQL Server có thể kết hợp “ăn ý” với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server…

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 đ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ệ

Khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc dù đây là mục đích ban đầu khi SQL được xây dựng nên và truy xuất dữ liệu vẫn còn là một trong những chức năng quan trọng của 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ị 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 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: 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 để 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 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

Trang 15

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

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 khách/chủ (client/server): Trong các hệ

thống cơ sở dữ liệu khách/chủ, SQL được sử dụng như là công cụ để giao tiếp giữa cá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

3 Các phiêm bản SQL Server

Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ được phát triển bởi Microsoft Là một máy chủ cơ sở dữ liệu, nó là một sản phẩm phần mềm có chức năng chính là lưu trữ và truy xuất dữ liệu theo yêu cầu của các ứng dụng phần mềm khác Có thể chạy trên cùng một máy tính hoặc trên một máy tính khác trên mạng (bao gồm cả Internet)

Microsoft tiếp thị ít nhất một chục phiên bản Microsoft SQL Server khác nhau, nhắm vào các đối tượng khác nhau và cho khối lượng công việc khác nhau, từ các ứng dụng máy đơn nhỏ đến các ứng dụng Internet lớn có nhiều người dùng đồng thời

Trang 16

Lịch sử của Microsoft SQL Server bắt đầu với sản phẩm Microsoft SQL Server đầu tiên SQL SQL Server 1.0, máy chủ 16-bit cho hệ điều hành OS/2 vào năm 1989 và kéo dài đến ngày hiện tại

SQL Server 7.0 được phát hành vào năm 1998, đánh dấu việc chuyển đổi mã nguồn từ C sang C ++

SQL Server 2005, được phát hành năm 2005, hoàn thành việc sửa đổi hoàn toàn

4 Giới thiệu các công cụ

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

Trang 17

Database Engine

Cái lõi của SQL Server:

Ðây là một engine có khả năng chứa data ở các quy mô khác nhau dưới dạng table và support tất cả các kiểu kết nối (data connection) thông dụng của Microsoft như ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC)

Ngoài ra nó còn có khả năng tự điều chỉnh (tune up) ví dụ như sử dụng thêm các tài nguyên (resource) của máy khi cần và trả lại tài nguyên cho hệ điều hành khi một user log off

Replication

Cơ chế tạo bản sao (Replica):

Giả sử chúng ta có một database dùng để chứa dữ liệu được các ứng dụng thường xuyên cập nhật Một ngày đẹp trời chúng ta muốn có một cái database giống y hệt như thế trên một server khác để chạy báo cáo (report database) (cách làm này thường dùng để tránh ảnh hưởng đến performance của server chính) Vấn

đề là report server của chúng ta cũng cần phải được cập nhật thường xuyên để đảm bảo tính chính xác của các báo cáo Chúng ta không thể dùng cơ chế back

up and restore trong trường hợp này Lúc đó cơ chế replication của SQL Server

sẽ được sử dụng để bảo đảm cho dữ liệu ở 2 database được đồng bộ (synchronized) Integration Services (DTS)

Integration Services là một tập hợp các công cụ đồ họa và các đối tượng lập trình cho việc di chuyển, sao chép và chuyển đổi dữ liệu

Nếu chúng ta làm việc trong một công ty lớn trong đó data được chứa trong nhiều nơi khác nhau và ở các dạng khác nhau cụ thể như chứa trong Oracle, DB2 (của IBM), SQL Server, Microsoft Access….Chúng ta chắc chắn sẽ có nhu cầu

di chuyển data giữa các server này (migrate hay transfer) và không chỉ di chuyển chúng ta còn muốn định dạng (format) nó trước khi lưu vào database khác, khi

đó chúng ta sẽ thấy DTS giúp chúng ta giải quyết công việc trên dễ dàng

Trang 18

Analysis Services

Một dịch vụ phân tích dữ liệu rất hay của Microsoft

Dữ liệu (Data) chứa trong database sẽ chẳng có ý nghĩa gì nhiều nếu như chúng ta không thể lấy được những thông tin (Information) bổ ích từ đó Do đó Microsoft cung cấp cho chúng ta một công cụ rất mạnh giúp cho việc phân tích

dữ liệu trở nên dễ dàng và hiệu quả bằng cách dùng khái niệm hình khối nhiều chiều (multi-dimension cubes) và kỹ thuật “khai phá dữ liệu” (data mining)

Notification Services

Dịch vụ thông báo Notification Services là nền tảng cho sự phát triển và triển khai các ứng dụng tạo và gửi thông báo Notification Services có thể gửi thông báo theo địch thời đến hàng ngàn người đăng ký sử dụng nhiều loại thiết

bị khác nhau

Reporting Services

Reporting Services bao gồm các thành phần server và client cho việc tạo, quản lý và triển khai các báo cáo Reporting Services cũng 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

Full Text Search Service

Dịch vụ SQL Server Full Text Search là một dịch vụ đặc biệt cho đánh chỉ mục và truy vấn cho dữ liệu văn bản không cấu trúc được lưu trữ trong các CSDL SQL Server Đánh chỉ mục với Full Text Search có thể dduwowcj tạo trên bất kỳ cột dựa trên dữ liệu văn bản Nó sẽ rất hiệu quả cho việc tìm các sử dụng toán tử LIKE trong SQL với trường hợp tìm văn bản

5 Cài đặt

SQL Server 2005 có nhiều phiên bản khác nhau, trong đó bản Express là bản thấp nhất, được Microsoft cung cấp miễn phí cho người dùng với mục đích học tập và ứng dụng vào những ứng dụng nhỏ, không yêu cầu cao về các tính năng khác ngoài việc lưu trữ và xử lý đơn giản

Yêu cầu về phần cứng và hệ điều hành sử dụng

Hệ điều hành tối thiểu: Windows 2000 Service Pack 4; Windows Server

2003 Service Pack 1; Windows XP Service Pack 2

Trang 19

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.)

2 Microsoft Net Framework 2.0

Hệ điều hành 32bit: http://go.microsoft.com/fwlink/?LinkId=55731

Hệ điều hành 64bit: http://go.microsoft.com/fwlink/?LinkId=55734

3 Bạn phải có file cài đặt SQL Server 2005 Express, có thể download miễn phí từ Website của Microsoft tại địa chỉ:

4 http://www.microsoft.com/downloads/details.aspx?familyid=220549b5- 0b07-4448-8848-dcc397514b41&displaylang=en

5 SQL Server Management Studio Express:

6 http://www.microsoft.com/downloads/details.aspx?familyid=C243A5A E-4BD1-4E3D-94B8-5A0F62BF7796&displaylang=en

Sau khi download về, hãy lưu vào một thư mục nào đó để bắt đầu tiến hành cài đặt Trong hướng dẫn dưới đây, các thành phần trên có tên file cài đặt lần lượt là:

WindowsInstaller-KB893803-v2-x86.exe: Windows Installer 3.1

dotnetfx.exe: Microsoft Net Framework 2.0

SQLEXPR.EXE: SQL Server 2005 Express

SQLServer2005_SSMSEE.msi: Công cụ quản lý SQL Server Management Studio Express

Bước 1: Cài Windows Installer 3.1

Nhấn vào file WindowsInstaller-KB893803-v2-x86.exe

Nhấn Next

Trang 20

Chọn I agree, nhấn Next

Trang 21

Click Finish

Bước 2: Cài Framework 2.0

File cài: dotnetfx.exe

Nhấn Finish

Trang 22

Máy sẽ khởi động lại, sau đó tiếp tục bước 3

Bước 3: Cài Microsoft SQL Server 2005

Nhấn vào file SQLEXPR.EXE

Trên màn hình tiếp theo, đánh dấu vào mục: "I accept the licensing terms and conditions", nhấn Next

Trên màn hình tiếp theo, nhấn Install

Trang 23

Nhấn Next

Tiếp tục nhấn Next

Trang 24

Trên màn hình tiếp theo, bỏ dấu check mở mục "Hide advanced

configuration options", nhấn Next

Nhấn Next trên màn hình tiếp theo

Khai báo Instance name, chọn Default Instance (Server Name sẽ trùng với tên máy)

Nhấn Next

Trang 25

Nhấn Next trên cửa sổ tiếp theo

Trên cửa sổ tiếp theo, chọn chế độ chứng thực user

Windows Authentication Mode: Sử dụng chứng thực của Windows

Mixed Mode: Kết hợp cả chứng thực của Windows và chứng thực của SQL Server Ở đây có thể để mặc định: "Windows Authentication Mode"

Nhấn Next

Nhấn Next

Trang 26

Nhấn Next

Nhấn Next

Click Install để bắt đầu cài đặt

Quá trình cài đặt có thể mất 5 -> 10 phút

Trang 27

Khi màn hình báo cài đặt thành công như hình dưới, click Next

Tiếp tục click Finish

Bước 4: Cài Microsoft SQL Server Management Studio Express:

Trang 28

File cài đặt SQLServer2005_SSMSEE.msi

Nhấn Next

Click chọn "I accept the terms in the license agreement", nhấn Next

Gõ tên người dùng, đơn vị sử dụng, sau đó nhấn Next

Trang 29

Màn hình tiếp theo, nhấn Next

Click Install

Đợi trong vài phút

Nhấn Finish

Trang 30

Đến đây chúng ta đã cài đặt xong SQL Server 2005 Express và các công cụ

để quản lý database của nó Từ đây chúng ta có thể bắt đầu sử dụng các tính năng quản lý của hệ quản trị cơ sở dữ liệu này rồi

6 CSDL mẫu

Khách hàng đặt hàng cho cty thông qua các đơn đặt hàng Thông tin chung

về các đơn đạt hàng được lưu trữ trong DONDATHANG (mỗi một đơn đặt hàng phải do một nhân viên của cty lập và do đó bảng này có quan hệ với bảng NHANVIEN)

Thông tin chi tiết của các đơn đặt hàng (đặt mua hàng gì, số lượng, giá cả,

…) được lưu trữ chi tiết trong bảng CHITIETDATHANG Bảng này có quan hệ với DONDATHANG và MATHANG

Sử dụng câu lệnh sau để tạo cơ sở dữ liệu:

CREATE TABLE nhacungcap

(

macongty NVARCHAR(10) NOT NULL

CONSTRAINT pk_nhacungcap

PRIMARY KEY(macongty),

tencongty NVARCHAR(40) NOT NULL,

tengiaodich NVARCHAR(30) NULL,

diachi NVARCHAR(60) NULL,

dienthoai NVARCHAR(20) NULL,

fax NVARCHAR(20) NULL,

Trang 31

email NVARCHAR(50) NULL

maloaihang INT NULL ,

soluong INT NULL,

donvitinh NVARCHAR(20) NULL ,

giahang MONEY NULL

ho NVARCHAR(20) NOT NULL ,

ten NVARCHAR(10) NOT NULL ,

ngaysinh DATETIME NULL ,

Trang 32

ngaylamviec DATETIME NULL ,

diachi NVARCHAR(50) NULL ,

dienthoai NVARCHAR(15) NULL ,

luongcoban MONEY NULL ,

phucap MONEY NULL

email NVARCHAR(30) NULL ,

dienthoai NVARCHAR(15) NULL ,

fax NVARCHAR(15) NULL

makhachhang NVARCHAR(10) NULL ,

manhanvien NVARCHAR(10) NULL ,

ngaydathang SMALLDATETIME NULL , ngaygiaohang SMALLDATETIME NULL , ngaychuyenhang SMALLDATETIME NULL , noigiaohang NVARCHAR(50) NULL

Trang 33

)

CREATE TABLE chitietdathang

(

sohoadon INT NOT NULL ,

mahang NVARCHAR(10) NOT NULL ,

giaban MONEY NOT NULL ,

soluong SMALLINT NOT NULL ,

mucgiamgia REAL NOT NULL,

Trang 34

ON DELETE CASCADE ON UPDATE CASCADE

CÂU HỎI ÔN TẬP

1 Nêu các phiên bản SQL Server; Cho biết các công cụ?

2 Nêu cách cài đặt SQL Server?

3 Cho biết cơ sở dữ liệu SQL Server ?

Trang 35

BÀI 2: GIỚI THIỆU NGÔN NGỮ TRANSACT SQL (T-SQL)

Mã bài học: MĐ15-02

GIỚI THIỆU BÀI HỌC

T-SQL hay còn gọi là Transact-SQL là ngôn ngữ truy vấn được dành riêng cho sản phẩm của Microsoft SQL Server Chúng có tác dụng giúp bạn thực hiện các hoạt động như truy xuất dữ liệu ở chung một hàng, chèn hàng mới hoặc truy xuất nhiều hàng Chúng là một ngôn ngữ được sử dụng bởi SQL Server

Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO (International Organization for Standardization) và ANSI (American National Standards Institute) được sử dụng trong SQL Server khác với P-SQL (Procedural- SQL) dùng trong Oracle

SQL chuẩn bao gồm khoảng 40 câu lệnh Trong các hệ quản trị cơ sở dữ liệu khác nhau, mặc dù các câu lệnh đều có cùng dạng và cùng mục đích sử dụng song mỗi một hệ quản trị cơ sở dữ liệu có thể có một số thay đổi nào đó Điều này đôi khi dẫn đến cú pháp chi tiết của các câu lệnh có thể sẽ khác nhau trong các hệ quản trị cơ cơ sở dữ liệu khác nhau

MỤC TIÊU BÀI HỌC

Trình bày được một số định nghĩa dữ liệu DDL, DCL, DML

Lựa chọn và vận dụng được vào từng công việc cụ thể

Nghiêm túc, trách nhiệm, chủ động, tích cực, sáng tạo trong học tập

NỘI DUNG BÀI HỌC

1 Ngôn ngữ định nghĩa dữ liệu (DDL)

Trong chương này sẽ đề cập đến nhóm các câu lệnh được sử dụng để định nghĩa và quản lý các đối tượng CSDL như bảng, khung nhìn, chỉ mục, và được gọi là ngôn ngữ định nghĩa dữ liệu (DDL)

Về cơ bản, ngôn ngữ định nghĩa dữ liệu bao gồm các lệnh: CREATE: định nghĩa và tạo mới đối tượng CSDL ALTER: thay đổi định nghĩa của đối tượng CSDL DROP: Xoá đối tượng CSDL đã có

Đây là những lệnh dùng để tạo (create), thay đổi (alter) hay xóa (drop) các đối tượng trong CSDL Các câu lệnh DDL thường có dạng:

Create object

Alter object

Drop object

Trang 36

Trong đó object có thể là: table, view, storedprocedure, function, trigger…

Ví dụ: Câu lệnh Create sau sẽ tạo một bảng mới có tên là Nhanvien trong CSDL Test Bảng Nhanvien này gồm có ba cột: manv, tennv, diachi

Lưu ý: Nếu trong SQL Server 2005 Express Edition chưa có CSDL Test, hãy tạo một CSDL có tên Test theo hướng dẫn

create table Nhanvien

(

manv int primary key,

tennv nvarchar(50) not null,

diachi nvarchar(50) not null

alter table Nhanvien

add ghichu nvarchar(50) not null

Cuối cùng, dùng lệnh drop để xóa hoàn toàn bảng Nhanvien ra khỏi CSDL, nghĩa là toàn bộ định nghĩa bảng và các dữ liệu bên trong đều bị xóa

drop table Nhanvien

Lưu ý: Lệnh drop khác với lệnh delete Lệnh delete chỉ xóa các dòng dữ liệu

có trong bảng

1.1 Tạo bảng

Câu lệnh CREATE TABLE được sử dụng để định nghĩa một bảng dữ liệu mới trong CSDL Khi định nghĩa một bảng dữ liệu mới, ta cần phải xác định được các yêu cầu sau đây:

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 trường (cột) nào, mỗi một trường

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 trường

là gì và trường đó có cho phép nhận giá trị NULL hay không

Những trường nào sẽ tham gia vào khóa chính của bảng Bảng có quan hệ

Trang 37

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 trường 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âu lệnh CREATE TABLE có cú pháp như sau

CREATE TABLE tên_bảng

Tên_bảng: tuân theo quy tắc định danh, không vượt quá 128 ký tự

Tên_cột: các cột trong bảng, mỗi bảng có ít nhất một cột

Thuộc_tính_cột: bao gồm kiểu dữ liệu của cột, giá trị mặc định của cột, cột

có được thiết lập thuộc tính identity, cột có chấp nhận giá trị NULL hay không Trong đó kiểu dữ liệu là thuộc tính bắt buộc

Các_ràng_buộc: gồm các ràng buộc về khuôn dạng dữ liệu ( ràng buộc CHECK) hay các ràng buộc về bào toàn dữ liệu (PRIMARY KEY, FOREIGN KEY, UNIQUE)

Ví dụ: Ví dụ dưới đây tạo một bảng có tên CUSTOMERS

create table customers

(

customerid int identity (1,1) primary key,

customername nvarchar(50) not null,

address nvarchar(100 ) null ,

birthday datetime null,

gender bit default('true') not null

)

Cột customerid có kiểu dữ liệu int, được chỉ định thuộc tính identity(1,1) nghĩa là dữ liệu cột này được thêm tự động bắt đầu từ 1 và mỗi lần có dòng mới thêm vào, giá trị cột này được tăng lên 1 Cột này cũng được chỉ định làm khóa

Trang 38

chính của bảng thông qua thuộc tính primary key

Thuộc tính NULL/ NOT NULL chỉ ra rằng cột đó có chấp nhận/ không chấp nhận giá trị

insert into customers

values('Nguyen Van An', '22 Nguyen Thien Thuat', '5/5/1988', 'True')

Thêm dòng mới vào bảng customers sử dụng giá trị mặc định

insert into customers (customername, address, birthday)

values('Nguyen Van An', '22 Nguyen Thien Thuat', '5/5/1988')

Thêm dòng mới vào bảng customers và không truyền giá trị cho các cột cho phép giá trị

NULL

insert into customers (customername )

values('Nguyen Van An')

1.2 Các loại ràng buộc

1.2.1 Ràng buộc CHECK

Ràng buộc CHECK được sử dụng nhằm chỉ định điều kiện hợp lệ đối với

dữ liệu Mỗi khi có sự thay đổi dữ liệu trên bảng (INSERT, UPDATE), những ràng buộc này sẽ được sử dụng nhằm kiểm tra xem dữ liệu mới có hợp lệ hay không

Ràng buộc CHECK được khai báo theo cú pháp như sau:

[CONSTRAINT tên_ràng_buộc] CHECK (điều_kiện)

Trang 39

Ví dụ:

create table students

(

studentid int identity(1,1) primary key,

studentname nvarchar(50) not null,

address nvarchar(100) not null,

score1 tinyint not null

constraint chk_score1 CHECK (score1 >= 0 and score1 <= 10),

score2 tinyint not null

constraint chk_score2 CHECK (score2 between 0 and 10),

score3 tinyint not null

constraint chk_score3 CHECK (score3 in (1,2,3,4,5,6,7,8,9,10)),

)

Thực hiện việc thêm một dòng có dữ liệu không thỏa điều kiện

insert into students

values('Nguyen Van Dung', '12 Tran Quang Khai', 10, 10, -2)

Có thể gộp chung các ràng buộc CHECK lại trong một ràng buộc duy nhất như sau:

create table students

(

studentid int identity(1,1) primary key,

studentname nvarchar(50) not null,

address nvarchar(100) not null,

score1 tinyint not null ,

score2 tinyint not null,

score3 tinyint not null,

Trang 40

constraint chk_score CHECK( (score1>= 0 and score1 <=10)

and (score2 between 0 and 10)

and (score3 in (1,2,3,4,5,6,7,8,9,10)))

)

1.2.2 Ràng buộc PRIMARY KEY

Ràng buộc PRIMARY KEY được sử dụng để định nghĩa khoá chính của bảng Khoá chính của một bảng là một hoặc một tập nhiều cột mà giá trị của chúng là duy nhất trong bảng Hay nói cách khác, giá trị của khoá chính sẽ giúp cho ta xác định được duy nhất một dòng (bản ghi) trong bảng dữ liệu Mỗi một bảng chỉ có thể có duy nhất một khoá chính và bản thân khoá chính không chấp nhận giá trị NULL Ràng buộc PRIMARY KEY là cơ sở cho việc đảm bảo tính toàn vẹn thực thể cũng như toàn vẹn tham chiếu

Để khai báo một ràng buộc PRIMARY KEY, ta sử dụng cú pháp như sau: [CONSTRAINT tên_ràng_buộc] PRIMARY KEY [(danh_sách_cột)]

Nếu khoá chính của bảng chỉ bao gồm đúng một cột và ràng buộc PRIMARY KEY được chỉ định ở mức cột, ta không cần thiết phải chỉ định danh sách cột sau từ khoá PRIMARY KEY Tuy nhiên, nếu việc khai báo khoá chính được tiến hành ở mức bảng (sử dụng khi số lượng các cột tham gia vào khoá là

từ hai trở lên) thì bắt buộc phải chỉ định danh sách cột ngay sau từ khóa PRIMARY KEY và tên các cột được phân cách nhau bởi dấu phẩy

Ví dụ 1: Định nghĩa một bảng chỉ có một khóa chính

create table customers

(

customerid int identity(1,2)

constraint chk_primarykey primary key,

customername nvarchar(50) not null,

address nvarchar(100) not null,

gender bit not null

)

Hoặc là

create table customers

(

Ngày đăng: 01/03/2024, 12:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w