1. Trang chủ
  2. » Tài Chính - Ngân Hàng

bài giảng hệ quản trị cơ sở dữ liệu

82 874 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
Trường học Học viện Hàng Hải, Trường Đại Học Hàng Hải Việt Nam
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài giảng
Năm xuất bản 2009
Thành phố Hải Phòng
Định dạng
Số trang 82
Dung lượng 2,27 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các chương trình ứng dụng được viết bằng các ngôn ngữ lập trình C++/C#/Java/Delphi… kết hợp với các ngôn ngữ thao tác dữ liệu DML - Data Manipulation Language thông qua các thư viện hoặ

Trang 1

TRƯỜNG ĐẠI HỌC HÀNG HẢI KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN HỆ THỐNG THÔNG TIN

BÀI GIẢNG

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

TÊN HỌC PHẦN : HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

MÃ HỌC PHẦN : 17402

TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY

DÙNG CHO SV NGÀNH : CÔNG NGHỆ THÔNG TIN

HẢI PHÒNG - 2009

Trang 2

MỤC LỤC

Chương 2 Tạo và quản lý cơ sở dữ liệu 26

Chương 3 Tạo và quản lý các bảng 35

Chương 4 Truy vấn dữ liệu 44

Chương 5 Tạo và quản lý các chỉ mục 54

Chương 7 Tạo và quản lý các thủ tục thường trú 62

Chương 8 Tạo và quản lý hàm người dùng định nghĩa 68

8.1 Các kiểu hàm người dùng định nghĩa (User-defined functions) 68

Chương 9 Tạo và quản lý các Trigger 70

Trang 3

Tên học phần: Hệ quản trị Cơ sở dữ liệu Loại học phần: 4

Bộ môn phụ trách giảng dạy: Hệ thống Thông tin Khoa phụ trách: CNTT.

Mã học phần: 17402 Tổng số TC: 4

Tổng số tiết Lý thuyết Thực hành/ Xemina Tự học Bài tập lớn Đồ án môn học

Học phần học trước: Không yêu cầu.

Học phần tiên quyết: Không yêu cầu.

Học phần song song: Không yêu cầu.

Mục tiêu của học phần:

Cung cấp cho sinh viên những kiến thức cơ bản về hệ quản trị cơ sở dữ liệu; Các chức năng

và công cụ cần thiết để quản trị cơ sở dữ liệu cho người phát triển hệ thống

Nội dung chủ yếu:

Giới thiệu về hệ quản trị cơ sở dữ liệu; Tạo và quản lý cơ sở dữ liệu; Tạo và quản lý các bảng; Truy vấn dữ liệu; Tạo và quản lý các chỉ mục; Tạo và quản lý các khung nhìn; Tạo và quản lý các thủ tục thường trú; Tạo và quản lý các hàm người dùng định nghĩa; Tạo và quản lý các Trigger

Nội dung chi tiết:

TÊN CHƯƠNG MỤC

PHÂN PHỐI SỐ TIẾT

TS LT BT TH KT Chương 1 Giới thiệu 5 3 2

1.1 Hệ quản trị cơ sở dữ liệu Microsoft SQL Server (2005)

1.2 Các thành phần cơ bản trong Microsoft SQL Server (2005)

1.3 Ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL)

Chương 2 Tạo và quản lý cơ sở dữ liệu 10 6 4

2.1 Các tệp tin cơ sở dữ liệu (Database files)

2.2 Tạo cơ sở dữ liệu (Database)

2.3 Quản lý cơ sở dữ liệu

2.4 Xóa cơ sở dữ liệu

Chương 3 Tạo và quản lý các bảng 15 9 6

3.1 Tạo bảng (Tables)

3.2 Định nghĩa các cột (Columns)

3.3 Định nghĩa các ràng buộc (Constrains)

3.4 Sửa bảng (ALTER TABLE)

3.5 Xóa bảng (DROP TABLE)

3.6 Thêm bản ghi mới (INSERT)

3.7 Cập nhật bản ghi (UPDATE)

3.8 Xóa bản ghi (DELETE)

Chương 4 Truy vấn dữ liệu 20 12 8

4.3 Truy vấn lồng nhau (Subqueries)

Chương 5 Tạo và quản lý các chỉ mục 5 3 2

Trang 4

Chương 7 Tạo và quản lý các thủ tục thường trú 5 3 2

7.1 Tạo các thủ tục thường trú (Stored procedures)

7.2 Thực thi các thủ tục thường trú

7.3 Xem và sửa các thủ tục thường trú

7.4 Tham số vào và ra (Parameters)

7.5 Các thủ tục thường trú của hệ thống

Chương 8 Tạo và quản lý hàm người dùng định nghĩa 5 3 2

8.1 Các kiểu hàm người dùng định nghĩa (User-defined

functions)

8.2 Tạo hàm người dùng định nghĩa

8.3 Quản lý hàm người dùng định nghĩa

Chương 9 Tạo và quản lý các Trigger 5 3 2

9.1 Tạo các Trigger thao tác dữ liệu (DML Triggers)

9.2 Tạo các Trigger định nghĩa dữ liệu (DDL Triggers)

9.3 Sử dụng các Trigger lồng nhau (Nested Triggers)

9.4 Sử dụng các Trigger đệ quy (Recursive Triggers)

Nhiệm vụ của sinh viên:

Tham dự các buổi học lý thuyết và thực hành, làm các bài tập được giao, làm các bài thi giữa học phần và bài thi kết thúc học phần theo đúng quy định

Tài liệu học tập:

1 Dương Quang Thiện, SQL Server 2000: Lập trình T - SQL, NXB Văn hóa Sài Gòn, 2007.

2 Ray Rankins, Paul Bertucci, Chris Gallelli, Alex T.Silverstein, Microsoft SQL Server 2005

Unleashed, Sams Publishing, 2007

3 Brian Knightet al, Professional SQL Server 2005 Administration, Wrox Press, 2007.

4 Paul Turley & Dan Wood, Beginning Transact-SQL with SQL Server 2000 and 2005, Wrox

Press, 2006

Hình thức và tiêu chuẩn đánh giá sinh viên:

− Hình thức thi: thi viết hoặc vấn đáp

− Tiêu chuẩn đánh giá sinh viên: căn cứ vào sự tham gia học tập của sinh viên trong các buổi học lý thuyết và thực hành, kết quả làm các bài tập được giao, kết quả của các bài thi giữa học phần và bài thi kết thúc học phần

Thang điểm: Thang điểm chữ A, B, C, D, F.

Điểm đánh giá học phần: Z = 0,4X + 0,6Y.

Bài giảng này là tài liệu chính thức và thống nhất của Bộ môn Hệ thống Thông tin,

Khoa Công nghệ Thông tin và được dùng để giảng dạy cho sinh viên

Ngày phê duyệt: / /

Trưởng Bộ môn

Trang 5

Chương 1 Giới thiệu

1.1 Hệ quản trị cơ sở dữ liệu Microsoft SQL Server

1.1.1.Khái niệm về CSDL và CSDL quan hệ

A Khái niệm về cơ sở dữ liệu (Database)

Cơ sở dữ liệu là một tập hợp có tổ chức các dữ liệu có liên quan luận lý với nhau Nói cách khác

đó là một hệ thống các thông tin có cấu trúc được lưu trữ trên các thiết bị lưu trữ thông tin thứ cấp,

ví dụ như: đĩa từ, băng từ, bộ nhớ flash,… nhằm mục đích thỏa mãn yêu cầu tổ chức dữ liệu để

giúp cho việc khai thác dữ liệu được nhanh chóng và chính xác Cơ sở dữ liệu phải được thiết kế sao cho có thể cho phép nhiều người dùng và nhiều ứng dụng khác nhau cùng khai thác

Hình 1: Sơ đồ tổng quát về một hệ cơ sở dữ liệu

B Khái niệm về cơ sở dữ liệu quan hệ

Cơ sở dữ liệu quan hệ là cơ sở dữ liệu được tổ chức dựa trên mô hình của đại số quan hệ (Relational Model) Trong đó, dữ liệu được tổ chức thành các bảng dữ liệu (tables) Mỗi bảng dữ liệu gồm có các cột (column) hay còn gọi là các trường (field) và các dòng (row) hay còn gọi là các bản ghi (record) Ví dụ:

Mã Sinh viên Tên Sinh viên Lớp

Trang 6

Về phương diện toán học, một bảng dữ liệu gồm có n cột: A1, A2, A3…, An có thể coi là một tập con R của tích Đề các dom(A1) x dom(A2)…x dom(An):

R ⊆ dom(A1) x dom(A2)…x dom(An)Người ta gọi đó là quan hệ R xác định trên tập thuộc tính {A1, A2,…, An} Trong đó dom(Ai) là ký hiệu miền giá trị (domain) của cột Ai

Giữa các cột trong bảng có những mối quan hệ ràng buộc phụ thuộc lẫn nhau gọi là các phụ thuộc hàm Ví dụ: Trong bảng sinh viên có phụ thuộc hàm:

Mã Sinh Viên → Tên Sinh Viên, LớpTrong một bảng dữ liệu, có thể có một cột (hoặc một số tối thiểu các cột) mà giá trị trên mỗi dòng của nó là duy nhất Ta gọi đó là khóa (Key) Khi biết giá trị của trường khóa ta có thể suy ra các trường còn lại Ví dụ: Trong bảng Sinh Viên thì Mã Sinh Viên là khóa Khi biết Mã Sinh Viên ta

có thể tra cứu ra các thuộc tính như Tên Sinh Viên và Lớp

Giữa hai bảng trong cơ sở dữ liệu cũng tồn tại các mối quan hệ ràng buộc lẫn nhau (bắt nguồn

từ mô hình ER):

Quan hệ 1 – 1: Một bản ghi thuộc bảng này tương ứng với một và chỉ một bản ghi ở bảng kia và

ngược lại Trong trường hợp này người ta thường nhập 2 bảng vào làm một

Quan hệ 1 – n: Một bản ghi thuộc bảng này tương ứng với n bản ghi ở bảng kia (n ≥ 0) nhưng

ngược lại một bản ghi ở bảng kia chỉ tương ứng với không quá 1 bản ghi ở bảng này Bảng ở phía ứng với ứng số nhiều n gọi là bảng con (child) còn bảng ở phía ứng với ứng số 1 gọi là bảng cha (parents) Bảng cha phải có một trường khóa gọi là khóa chính (PK - Primary Key) còn bảng con

phải có một trường tham chiếu đến khóa chính của bảng cha gọi là khóa ngoại (FK - Foreign Key).

Hình 2: Quan hệ 1- 1

Trang 7

Hình 3: Quan hệ 1 - n Quan hệ n – n: Quan hệ n – n không được biểu diễn tường minh trong CSDL Người ta thường

tách quan hệ n – n về thành các quan hệ 1 – n dựa trên mô hình thực thể liên kết (ER)

1.1.2 Khái niệm về hệ quản trị Cơ sở dữ liệu

A Hệ quản trị CSDL là gì?

Hệ quản trị cơ sở dữ liệu là một tập hợp chương trình giúp cho người sử dụng tạo ra, duy trì và

khai thác một cơ sở dữ liệu Đó là một hệ thống phần mềm phổ dụng, cung cấp môi trường và

công cụ giúp cho việc định nghĩa, xây dựng và thao tác cơ sở dữ liệu cho các ứng dụng khác nhau

một cách dễ dàng

Định nghĩa một cơ sở dữ liệu là đặc tả các kiểu dữ liệu, các cấu trúc, các ràng buộc cho các dữ

liệu sẽ được lưu trữ

Xây dựng cơ sở dữ liệu là lưu trữ dữ liệu lên các phương tiện lưu trữ được hệ quản trị cơ sở dữ

liệu kiểm soát

Thao tác trên một cơ sở dữ liêu là quá trình truy vấn cơ sở dữ liệu để lấy ra các dữ liệu cụ thể,

cập nhật cơ sở dữ liệu, tạo ra các báo cáo từ dữ liệu

Trang 8

Hình 4: Mô hình Hệ quản trị cơ sở dữ liệu

Mỗi hệ quản trị cơ sở dữ liệu có một ngôn ngữ định nghĩa dữ liệu riêng (DDL - Data Definition Languague) Đây là ngôn ngữ dùng để định nghĩa, khai báo cấu trúc của của cơ sở dữ

liêu Những người thiết kế và quản trị cơ sở dữ liệu thực hiện các công việc khai báo cấu trúc cơ sở

dữ liệu Các chương trình khai báo cấu trúc CSDL được viết bằng ngôn ngữ DDL mà hệ quản trị CSDL cho phép

Các chương trình ứng dụng được viết bằng các ngôn ngữ lập trình C++/C#/Java/Delphi… kết

hợp với các ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language) thông qua các thư

viện hoặc đối tượng kết nối CSDL được ngôn ngữ lập trình hỗ trợ: ODBC, RDO, ADO,…

Các hệ quản trị cơ sở dữ liệu quan hệ ngày nay phổ biến sử dụng các ngôn ngữ DDL và DML dựa trên ngôn ngữ SQL

Đối với hệ quản trị cơ sở dữ liệu SQL Server thì ngôn ngữ dùng để tương tác với cơ sở dữ liệu

là T – SQL Đây là một phiên bản của ngôn ngữ SQL Ngôn ngữ T – SQL trên SQL Server bao gồm nhiều câu lệnh khác nhau, có thể chia thành 2 nhóm:

o Nhóm ngôn ngữ định nghĩa dữ liệu DDL : với các lệnh cho phép tạo, thay đổi cấu trúc và

xóa các đối tượng CSDL: database, table, view,…

o Nhóm ngôn ngữ thao tác dữ liệu DML : với các lệnh như

SELECT/INSERT/UPDATE/DELETE cho phép lấy về dữ liệu cụ thể, thay đổi giá trị của dữ

liệu

Trang 9

Hình 5: Tương tác với hệ quản trị Cơ sở dữ liệu

B Hoạt động của hệ quản trị cơ sở dữ liệu

Hình 6: Hoạt động của hệ quản trị cơ sở dữ liệu

Các yêu cầu của chương trình ứng dụng được chuyển tới hệ quản trị CSDL (theo con đường số 1)

Tại đây hệ quản trị CSDL sẽ tham khảo các từ điển dữ liệu (Meta DataBase) để tìm kiếm các ánh

xạ cấu trúc ngoài với cấu trúc quan niệm và cấu trúc vật lý (các ngõ a, b và c) Tại đây hệ quản trị

Trang 10

CSDL có thể sẽ tham khảo tới vùng đệm của nó để xác định xem câu trả lời đã có sẵn ở đó chưa, nếu có thì trả lại cho chương trình ứng dụng thông qua con đường số 8b; ngược lại sẽ yêu cầu hệ điều hành truy xuất thông tin theo con đường số 2 Tới đây hệ điều hành sẽ gửi yêu cầu truy xuất thông tin trong CSDL thông qua hệ thống xuất nhập của HĐH (các con đường số 3 và 5) Nếu việc truy xuất không thành công nó sẽ trả lại yêu cầu về cho hệ quản trị CSDL (có thể thông qua các mã lỗi) qua con đường số 6; nếu thành công thì dữ liệu sẽ được chuyển vào vùng đệm của hệ quản trị CSDL Qua xử lý, hệ quản trị CSDL sẽ chuyển dữ liệu vào vùng đệm của chương trình ứng dụng đề

nó xử lý (qua con đường 8a) và cho ra kết quả trả lời của chương trình ứng dụng qua con đường số 10.

1.1.3 Giới thiệu về SQL Server và mô hình Client/Server

1.1.3.1 Khái niệm về mô hình Client/Server

Hình 7: Mô hình Client/Server

Mô hình client/server hay còn gọi là mô hình khách/chủ là một mô hình nổi tiếng trong mạng máy

tính, được áp dụng rất rộng rãi Ý tưởng của mô hình này là máy trạm (hay còn gọi là máy khách) gửi yêu cầu (request) cho máy chủ (đóng vai trò người cung ứng dịch vụ), máy chủ sẽ xử lý và trả kết quả về cho máy khách

Client/Server là mô hình mang tính tổng quát Trên thực tế thì một server có thể được nối tới nhiều server khác nhằm làm việc hiệu quả và nhanh hơn Khi nhận được 1 yêu cầu từ client, server này có thể gửi tiếp yêu cầu vừa nhận được cho server khác ví dụ như database server vì bản thân nó không thể xử lý yêu cầu này được Máy server có thể thi hành các nhiệm vụ đơn giản hoặc phức tạp Ví

dụ như một máy chủ trả lời thời gian hiện tại trong ngày, khi một máy client yêu cầu lấy thông tin về thời gian nó sẽ phải gửi một yêu cầu theo một tiêu chuẩn do server định

Trang 11

ra, nếu yêu cầu được chấp nhận thì máy server sẽ trả về thông tin mà client yêu cầu Có rất nhiều các dịch vụ server trên mạng nhưng nó đều hoạt động theo nguyên lý là nhận các yêu cầu từ client sau đó xử lý và trả kết quả cho client yêu cầu Thông thường chương trình server và client được thi hành trên hai máy khác nhau Cho dù lúc nào server cũng ở trạng thái sẵn sàng chờ nhận yêu cầu từ client nhưng trên thực tế một tiến trình liên tác qua lại (interaction) giữa client và server lại bắt đầu

ở phía client, khi mà client gửi tín hiệu yêu cầu tới server Các chương trình server thường đều thi hành ở mức ứng dụng (tầng ứng dụng của mạng) Sự thuận lợi của phương pháp này là nó có thể làm việc trên bất cứ một mạng máy tính nào có hỗ trợ giao thức truyền thông chuẩn cụ thể ở đây là giao thức TCP/IP Với các giao thức chuẩn này cũng giúp cho các nhà sản xuất có thể tích hợp nhiều sản phẩm khác nhau của họ lên mạng mà không gặp phải khó khăn gì Với các chuẩn này thì các chương trình server cho một dịch vụ nào đấy có thể thi hành trên một hệ thống chia sẻ thời gian (timesharing system) với nhiều chương trình và dịch vụ khác hoặc nó có thể chạy trên chính một máy tính các nhân bình thường Có thể có nhiều chương trình server cùng làm một dịch vụ, chúng

có thể nằm trên nhiều máy tính hoặc một máy tính Với mô hình trên chúng ta nhận thấy rằng mô hình client/server chỉ mang đặc điểm của phần mềm không liên quan gì đến phần cứng mặc dù trên thực tế yêu cầu cho một máy server là cao hơn nhiều so với máy client Lý do là bởi vì máy server phải quản lý rất nhiều các yêu cầu từ các clients khác nhau trên mạng Ưu và nhược điểm chính Có thể nói rằng với mô hình client/server thì mọi thứ dường như đều nằm trên bàn của người sử dụng,

nó có thể truy cập dữ liệu từ xa (bao gồm các công việc như gửi và nhận file, tìm kiếm thông tin, ) với nhiều dịch vụ đa dạng mà mô hình cũ không thể làm được Mô hình client/server cung cấp một nền tảng lý tưởng cho phép tích hợp các kỹ thuật hiện đại như mô hình thiết kế hướng đối tượng, hệ chuyên gia, hệ thông tin địa lý (GIS) Một trong những vấn đề nảy sinh trong mô hình này đó là tính an toàn và bảo mật thông tin trên mạng Do phải trao đổi dữ liệu giữa 2 máy ở 2 khu vực khác nhau cho nên dễ dàng xảy ra hiện tượng thông tin truyền trên mạng bị lộ

1.1.3.2 SQL Server và mô hình Client/Server

Trang 12

Hình 8a: SQL Server và mô hình Client/Server

Hình 8b: Dùng các công cụ của SQL Server để truy xuất từ máy khách

SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ hoạt động trên môi trường mạng theo mô hình khách/chủ Phía máy chủ chạy các dịch vụ cần thiết mà quan trọng nhất là dịch vụ cơ sở dữ liệu SQL Server Service Máy chủ lắng nghe các yêu cầu kết nối đến từ các máy khách và đáp ứng các yêu cầu này Các ứng dụng phía máy khách kết nối vào các dịch vụ cơ sở dữ liệu có thể là những phần mềm quản lý được viết bởi các ngôn ngữ lập trình có sử dụng các thư viện đối tượng truy xuất CSDL như ADO, ADO.Net, RDO, ODBC, JDBC, hoặc có thể là chính các công cụ của SQL Server như: Service Manager, Enterprise Manager hay Query Analyzer

Trong môi trường SQL Server, các yêu cầu từ phía máy khách sẽ nằm dưới dạng các lệnh T-SQL SQL Server sẽ xử lý các lệnh này rồi trả về một resultset cho ứng dụng client với những thông tin được yêu cầu hoặc chỉ xác nhận là công việc được hoàn thành mỹ mãn Nhiều ứng dụng client hoặc người sử dụng có thể song hành đưa ra cùng lúc những yêu cầu và SQL Server có thể xử lý chúng song song Một ứng dụng client có thể cung cấp một "cấp độ thoải mái" khác nhau cho người sử dụng Các công cụ đơn giản nhất (nhưng không dễ dùng) cho phép người sử dụng đưa vào một yêu cầu dưới dạng lệnh T-SQL rồi nhận được những resultset dưới dạng văn bản hoặc table Còn các công cụ tinh vi hơn sẽ cho ra những biểu mẫu, báo cáo, biểu đồ, cũng như các đối tượng màn hình thân thiện hơn

Cũng như đã trình bày ở trên, để thiết lập kết nối vật lý với một server CSDL và chuyển những yêu cầu cũng như nhận về kết quả (resultset), các ứng dụng phía client có thể sử dụng nhiều đối tượng hoặc các thư viện truy xuất cơ sở dữ liệu khác nhau.(data access objects hoặc data access API) Những đối tượng truy xuất cơ sở dữ liệu thông dụng hiện nay bao gồm:

o ADO (ActiveX Database Object)

o RDO (Remote Database Object)

o DB - Library

o ODBC (Open Database Connectivity)

Trang 13

o OLE DB (Object Linking and Embbeding Database)

o DAO (Data Access Object)

Các nhà phát triển ứng dụng dùng các đối tượng kể trên hoặc các hàm API để truy cập các đối tượng cơ sở dữ liệu và dữ liệu được lưu trữ trong các đối tượng này để triển khai những ứng dụng trong các ngôn ngữ lập trình chẳng hạn VB, C/C++, Java, VB.Net, C#,

Hình 9: Mô hình Client/Server cục bộ

1.

1.3 5 SQL Server và mô hình cơ sở dữ liệu phân tán

Cơ sở dữ liệu phân tán là tập hợp các dữ liệu thuộc về cùng một hệ thống, có liên quan logic với nhau và được trải ra trên hệ thống mạng Hệ quản trị cơ sở dữ liệu phân tán là tập các phần mềm quản trị một cơ sở dữ liệu phân tán, làm cho việc phân tán trở nên trong suốt với người dùng Khái niệm trong suốt ở đây được hiểu là chủ đích che dấu sự phân tán đối với người sử dụng, làm cho người sử dụng sử dụng cơ sở dữ liệu phân tán như là cơ sở dữ liệu tập trung

SQL Server là hệ quản trị cơ sở dữ liệu hỗ trợ cơ sở dữ liệu phân tán Nó cho phép tạo ra các view

từ các bảng dữ liệu trên các Server khác nhau được kết nối (linked server), thực thi các truy vấn hay chuyển tác phân tán trải dài trên nhiều Server,

Trang 14

Hình 10: Mô hình cơ sở dữ liệu phân tán

A Kiến trúc nhị tầng Fat Client

Đây là kiểu kiến trúc client/server phổ biến Phía client của một hệ thống như thế sẽ bao gồm các lớp:

Trang 15

o User interface: lớp giao diện người sử dụng.

o Presentation service: lớp dịch vụ trình bày.

o Business services: lớp thi công các quy tắc nghiệp vụ của hệ thống.

o Data services: lớp truy cập và xử lý dữ liệu.

Hình 12: Kiến trúc nhị tầng Fat Client Trong khi đó, Data Storage (lớp lưu trữ và quản lý dữ liệu), thường là hệ thống cơ sở dữ liệu

(database system), sẽ được đặt tại server Vì Business services và Data services được thực thi hoàn toàn ở phía client, còn phía server chỉ thực thi các chức năng lưu trữ và quản trị dữ liệu nên sức nặng của hệ thống dồn về phía client Người ta gọi kiến trúc phân tâng như vậy là Fat Client (Client

"béo": chức năng xử lý dồn về phía client) (xem hình 12)

B Kiến trúc nhị tầng Fat Server

Ngoài kiểu thực thi hệ thống như trên, người ta có thể cho thực thi toàn bộ Data Services và một phần Business services ở phía server, ví dụ dưới dạng các thủ tục thường trú (stored procedure) Loại kiến trúc như thế thường được gọi là Fat Server Kiến trúc này giúp san sẻ một phần sức nặng

xử lý từ client lên server để giảm tải cho client, tận dụng hiệu năng xử lý phía server

Trang 16

Hình 13: Kiến trúc nhị tầng Fat Server

C Kiến trúc tam tầng

Để cải tiến xa hơn hệ thống, ta có thể sử dụng kiến trúc tam tầng, theo đấy các lớp Data services, Business services và Presentation services sẽ nằm trên những tầng khác nhau một cách chặt chẽ Người ta bổ sung thêm một tầng trung gian (middleware component), Business services sẽ được thực thi trên tầng trung gian này Biện pháp này giúp giảm tải cho cả server và client, tăng hiệu năng xử lý của hệ thống Trong mô hình thực tế, tầng trung gian có thể bao gồm một số các máy tính chuyên dụng để chạy các dịch vụ Business Services (xem hình 14)

Hình 14: Kiến trúc tam tầng

Trang 17

1.2 Các thành phần cơ bản trong Microsoft SQL Server

1.2.1 Cài đặt và cấu hình SQL Server

Bước 1:

Khi cửa sổ cài đặt xuất hiện ta thấy có các mục để lựa chọn:

Install Database Server tức là cài đặt các thành phần cơ bản và quan trọng nhất của hệ quản

trị CSDL SQL Server bao gồm các dịch vụ chạy trên server, các công cụ quản lý như Services Manager, Enterprise Manager, Query Analyzer,

Install Analysis Services là cài đặt các dịch vụ phân tích phục vụ cho khai phá dữ liệu (data

mining)

Install English Query là cài đặt công cụ cho phép thực thi các truy vấn bằng cách sử dụng

ngôn ngữ tự nhiên (tiếng Anh) thay vì sử dụng ngôn ngữ SQL

Ta chọn Install Database Server để cài đặt các thành phần của hệ quản trị Các lựa chọn cài đặt Install Analysis Services và Install English Query trước mắt chưa cần quan tâm đến, khi nào cần

dùng đến chúng ta sẽ cài đặt bổ sung

Bước 2:

Cửa sổ Computer Name xuất hiện Tại đây cho phép ta điền vào tên máy tính mà ta muốn cài đặt SQL Server Nếu ta chọn cài đặt trên Local Computer thì tên máy tính hiện hành sẽ tự động được điền vào Nếu ta chọn Remote Computer tức là cài đặt SQL Server lên máy tính khác (có kết nối

mạng với máy tính hiện hành) thì ta phải chỉ rõ tên máy đó

Trong trường hợp của ta, chọn Local Computer và nhấn Next để cài lên máy tính hiện hành

Trang 18

Bước 3:

Cửa sổ Installation Selection xuất hiện cho phép ta lựa chọn chế độ cài đặt:

Create a new instance of SQL Server, or install Client Tools: Chọn mục này nếu ta muốn

cài mới hoàn toàn một phiên bản (hay còn gọi là "thể hiện" - instance) của SQL Server hoặc muốn cài đặt các công cụ phía Client cho phép truy xuất, quản lý Server

Upgrade, remove or add components to an existing instance of SQL Server: Chọn mục

này nếu ta muốn nâng cấp, thêm bớt một số components của một phiên bản SQL Server đã được cài đặt trước đó trên máy tính

Advanced options: Một số tùy chọn cài đặt nâng cao, với các tùy chọn cài đặt ở mức hết

sức chi tiết dành cho những người dùng có kinh nghiệm

Trong trường hợp của ta, chọn mục đầu tiên: Create a new instance of SQL Server, or install

Client Tools và nhấn Next để sang bước tiếp theo.

Trang 20

Bước 6:

Hộp thoại Installation Definition xuất hiện cho phép ta chỉ định các thành phần cài đặt với các tùy

chọn:

Client Tools Only: Chỉ cài đặt các công cụ truy xuất và quản trị phía Client chứ không cài

đặt các thành phần dịch vụ của Database Server lên máy tính hiện hành Tùy chọn này dùng khi ta đã đặt Server dữ liệu trên một máy khác và giờ ta muốn ngồi ở máy hiện hành để truy xuất, điều khiển, cấu hình Server dữ liệu từ xa

Server and Client Tools: Cài đặt tất cả các thành phần bao gồm Database Server, các công

cụ phía Server và Client lên máy tính hiện hành

Conectivity Only: Chỉ cài đặt các thư viện kết nối để hỗ trợ các ứng dụng trên máy Client

có thể kết nối với SQL Server

Trong trường hợp của ta, chọn mục Server and Client Tools và nhấn Next để tiếp tục.

Trang 21

Bước 7:

Cửa sổ Setup Type xuất hiện cho ta lựa chọn một số thông số cài đặt Có mấy tùy chọn sau:

Typical: Cài đặt với các tùy chọn thông dụng nhất.

Minimum: Cài đặt với các tùy chọn tối thiểu (yêu cầu cấu hình thấp nhất).

Custom: Cho phép người dùng tự mình lựa chọn và loại bỏ những thành phần có thể được

cài đặt

Trong trường hợp của ta, chọn mục Typical Ở phần Destination Folder gồm hai mục:

Program Files: Cho phép chỉ định nơi cài đặt SQL Server

Data Files: Chỉ định nơi lưu trữ mặc định các tệp tin cơ sở dữ liệu của SQL Server.

Sau khi đã thiết lập xong các thông số, nhấn Next để tiếp tục

Bước 8:

Trang 22

Hộp thoại Services Account xuất hiện yêu cầu ta thiết lập một số thông số ban đầu liên quan tới tài khoản người dùng dùng để đăng nhập vào SQL Server Có hai tùy chọn cơ bản:

Use the same account for each service Auto start SQL Server Service: Dùng chung một

account cho tất cả các dịch vụ của SQL Server Dịch vụ SQL Server Service sẽ tự động được khởi động nếu cần thiết

Customize the setting for each service: Thay vì dùng chung, mỗi dịch vụ sẽ có tùy chọn

riêng Lựa chọn này có tính bảo mật cao nhưng khá phiền phức

Trong trường hợp của ta, chọn mục Use the same account for each service Auto start SQL

Server Service.

Ở phần Service Setting có hai tùy chọn:

Use the Local System account: Sử dụng tài khoản hệ thống trên máy tính hiện hành làm tài

khoản đăng nhập vào SQL Server

User a Domain User Account: Sử dụng tài khoản Domain User để đăng nhập vào SQL

Server nếu máy tính hiện hành đang làm việc trong môi trường Domain của Windows Server 2000/2003

Trong trường hợp của ta, chọn mục Use the Local System account Nhấn Next để tiếp tục

Bước 9:

Hộp thoại Authentication Mode xuất hiện cho phép chúng ta thiết lập chế độ xác thực người dùng của SQL Server Có hai lựa chọn:

Windows Authentication Mode: Xác thực dựa trên account của Windows Chỉ những

người dùng có account đăng nhập của hệ điều hành Windows (những account Windows này

phải được đăng ký trước với SQL Server) thì mới có thể đăng nhập vào hệ thống SQL

Server

Trang 23

Mixed Mode: Chế độ xác thực hỗn hợp Chế độ này cho phép cả những người dùng có

account của Windows và những người dùng có account riêng của SQL Server đều có thể đăng nhập hệ thống Trong trường hợp này, tài khoản sa - tài khoản quản trị hệ thống mặc định của SQL Server trở nên có hiệu lực, SQL Server gợi ý người dùng nên nhập password cho account này để đảm bảo tính bảo mật cho hệ thống

Trong trường hợp của ta, chọn chế độ Mixed Mode, account của sa để trống sau đó nhấn Next để

tiếp tục cài đăt

Các bước tiếp theo không có gì đặc biệt Cứ nhấn Next để tiếp tục quá trình cài đặt Việc cài đặt diễn ra nhanh hay chậm tùy thuộc vào từng máy tính Quá trình cài đặt xong xuôi, nhấn Finish để kết thúc

1.3 Ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL)

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ệ

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 Thực sự mà nói, 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:

1 • Đị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

2 • 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

Trang 24

3 • Đ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

1 Đả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

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:

1 • 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

2 • 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

3 • 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,

4 • 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

5 • 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

6 • 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

Bài tập

Câu 1: Trình bày khái niệm về cơ sở dữ liệu quan hệ Cơ sở dữ liệu quan hệ có những điểm khác

biệt gì so với hệ thống xử lý file truyền thống?

Trang 25

Câu 2: Trình bày khái niệm về hệ quản trị cơ sở dữ liệu quan hệ.

Câu 3: Trình bày về mô hình Client/Server và kiến trúc phân tầng.

Câu 4: Nêu các thành phần cơ bản của hệ quản trị CSDL SQL Server.

Câu 3: Trình bày những đặc điểm cơ bản của ngôn ngữ vấn tin SQL.

Trang 26

Chương 2 Tạo và quản lý cơ sở dữ liệu

2.1 Các tệp tin cơ sở dữ liệu (Database files)

Trong SQL Server, một user database có thể bao gồm hai hay nhiều tập tin (mặc định là 2) Các tập tin trong một database có thể chia làm 3 loại:

Primary Data File: Mỗi database phải có ít nhất một tập tin Primary data file với phần mở

rộng là MDF Tập tin này ngoài nhiệm vụ cất trữ dữ liệu thuần túy còn nhiệm vụ lưu trữ thông tin liên quan đến cấu trúc và đặc điểm của chính database đó (lưu trong các system tables) Ta tuyệt đối không nên can thiệp vào các system tables này vì việc này có thể phá hỏng database

Secondary Data File: Mỗi database có thể không có hoặc có nhiều Secondary Data File

Các tập tin này chỉ thuần túy lưu trữ dữ liệu và có phần mở rộng là NDF

Log File: Mỗi database phải có ít nhất một transaction log file (có phần mở rộng là LDF)

Log file làm nhiệm vụ lưu trữ thông tin liên quan các giao dịch (transaction) thực hiện trên database đó Thông tin này một phần phục vụ cho thao tác Roll Back khi có lỗi giao dịch xảy ra

Mỗi tập tin trong CSDL (.MDF,.NDF,.LDF) đêu có 5 thuộc tính:

NAME: Tên logic của tập tin.

FILENAME: Đường dẫn đầy đủ (tên vật lý).

SIZE: Kích thước ban đầu của tập tin (KB, MB, GB, TB)

MAXSIZE: Kích thước tối đa cho phép của tập tin (KB, MB, GB,TB).

FILEGROWTH : Tốc độ gia tăng kích thước của tập tin (KB, MB, GB, TB,%).

Các tập tin CSDL được tổ chức thành các nhóm gọi là file group theo nguyên tắc:

Một CSDL có thể có một hay nhiều file group Trong đó bắt buộc phải có một file group

chính gọi là PRIMARY

Mỗi file group có thể chứa một hay nhiều tập tin dữ liệu (.MDF, NDF) Trong đó phải có ít

nhát 1 tập tin Primary Data File (.MDF) nằm trong group chính PRIMARY

Các tập tin Log không thuộc về một file group nào cả.

2.2 Tạo cơ sở dữ liệu (Database)

2.2.1 Sử dụng lệnh CREATE DATABASE

CREATE DATABASE <tên CSDL>

Trang 27

[ FILEGROUP <tên file group>

<Khai báo tập tin NDF>, [<Khai báo tập tin NDF>,]

]

Cú pháp đơn giản hay được sử dụng hơn cả là:

CREATE DATABASE <tên CSDL>

ON PRIMARY

<Khai báo tập tin MDF>

LOG ON

<Khai báo tập tin LDF>

Hoặc thậm chí đơn giản hơn nữa

CREATE DATABASE <tên CSDL>

Trong đó phần khai báo tập tin được bao bởi cặp ngoặc đơn “(…)” và gồm các thành phần:

( [NAME = <tên logic của tập tin>,]

FILENAME = <tên vật lý (đường dẫn)>,

[SIZE = <kích thước ban đầu>,]

[MAXSIZE = <kích thước lớn nhất có thể> | UNLIMITED],

[FILEGROWTH = <Tỷ lệ gia tăng kích thước>])

Chú ý:

Khi không chỉ rõ kích thước ban đầu (SIZE) của tập tin thì:

• Đối với tập tin MDF, SQL Server sẽ lấy kích thước của tập tin MDF trong Model Database

• Đối với các tập tin NDF, LDF, SQL Server tự khởi tạo giá trị mặc định là 1MB

Trang 28

Đơn vị mặc định của SIZE và MAXSIZE là MB

2.1.2 Sử dụng Enterprise Manager để tạo CSDL

Trang 31

2.3 Quản lý cơ sở dữ liệu

2.3.1 Sử dụng lệnh ALTER DATABSE

ALTER DATABASE <tên CSDL>

[ ADD FILE <Khai báo tập tin MDF,.NDF> [, ] [ TO FILEGROUP <Tên File Group>] ] [ADD LOG FILE <Khai báo tập tin LDF> [, ]]

[ADD FILEGROUP <Tên File Group>]

[REMOVE FILE <Tên logic của tập tin>]

[REMOVE FILEGROUP <Tên File Group>]

[MODIFY NAME = <Tên mới cho Database>]

[MODIFY FILE <Khai báo tập tin>]

[MODIFY FILEGROUP <Tên File Group> <Thuộc tính File Group>|NAME = <Tên mới>] [COLLATE <Tên collation>]

Trong đó phần khai báo tập tin được bao bởi cặp ngoặc đơn “(…)” và gồm các thành phần:

( NAME = <tên logic của tập tin>,

[NEWNAME = <tên logic mới cho tập tin>,]

[FILENAME = <tên vật lý (đường dẫn)>],

[SIZE = <kích thước ban đầu>,]

[MAXSIZE = <kích thước lớn nhất có thể> | UNLIMITED],

[FILEGROWTH = <Tỷ lệ gia tăng kích thước>])

Chú ý: Riêng NEWNAME chỉ dùng khi MODIFY FILE

<Thuộc tính File Group> bao gồm:

READONLY: Khi một file group bị đánh dấu READONLY thì mọi thao tác cập nhật dữ

liệu trên các tập tin thuộc file group này đều không thể thực hiện được Không được phép áp dụng thuộc tính này cho Primary Group

READWRITE: Ngược lại với READONLY

DEFAULT: Đánh dấu file group như là file group mặc định của database hiện thời.

Trang 32

2.3.2 Sửa đổi cơ sở dữ liệu bằng Enterprise Manager

Trang 33

2.4 Xóa cơ sở dữ liệu

2.4.1 Sử dụng lệnh DROP DATABASE trên Query Analyzer

DROP DATABASE <tên CSDL>

2.4.2 Xóa CSDL sử dụng Enterprise Manager

2.5 Các system database đặc biệt

Ngay sau khi SQL Server mới được cài đặt xong, có 6 database tự động được cung cấp Người ta gọi những database này là các system database để phân biệt với các database do người dùng tự tạo

ra sau này (user database) Các system database bao gồm:

• Model database

• Master database

• Msdb database

Trang 34

• Khoảng trống đĩa (space disk).

• Cấp phát tập tin

• Cài đặt để cấu hình toàn hệ thống

• Tài khoản đăng nhập

• Sự hiện hữu của các database khác

• Sự hiện hữu của các SQL Server khác (trong các giao dịch phân tán)

Mỗi khi tạo một database mới, thay đổi cấu hình, tài khoản đăng nhập,… tất cả thông tin đều được cập nhật vào Master database

B.Model database

Đóng vai trò như một khuôn mẫu (template) Mỗi lần người dùng tạo mới một user database thì SQL Server sẽ dùng Model database làm “khuôn mẫu” cho việc tạo mới user database Mỗi user database lúc mới tạo sẽ kế thừa các thuộc tính và có cấu trúc giống như Model database Nếu ta muốn mỗi user database lúc mới tạo ra đã có sẵn một số đặc điểm nào đấy, ta có thể thiết lập các đặc điểm đó trên Model database Các user database được tạo ra sau này sẽ tự động được kế thừa các đặc điểm đó

C Tempdb database

Là một database để lưu trữ dữ liệu tạm thời (tempotary) Nó được dùng để lưu trữ:

• Những dữ liệu tam thời (bảng tạm) do người dùng tạo ra

• Những kết quả trung gian phục vụ cho quá trình xử lý của nội bộ SQL Server: xử lý các câu truy vấn (Query), sắp xếp (Sorting),…

Mặc định mỗi khi SQL Server được khởi động thì Tempdb database được tái tạo lại, mới hoàn toàn, mọi dữ liệu (bảng tạm) do người dùng lưu trữ lên Tempdb database trước đó sẽ biến mất

D Msdb Database

Là một database phục vụ cho hoạt động SQL Server Agent service Nó lưu trữ thông tin liên quan đến việc hoạch định tác vụ (Task Shedule) cho các hoạt động như: backup dữ liệu, tạo thứ bản (replication),…

E Pubs database và Northwind database

Trang 35

Đây là hai CSDL được dùng làm thí dụ mẫu trong SQL Server book và các tài liệu hướng dẫn

về SQL Server

Chú ý

• Tuyệt đối không được tự ý xóa hay can thiệp trực tiếp vào các cơ sở dữ liệu Master và Msdb Việc này có thể làm ảnh hưởng nghiêm trọng đến hoạt động của Server

• Không nên tự ý sửa đổi CSDL dữ liệu Model nếu không có lý do chính đáng

• Các CSDL Northwind và Pubs có thể xóa được nhưng không nên làm thế vì chúng là những

ví dụ hay về CSDL rất nên tham khảo

Bài tập:

Câu 1: Trình bày về tổ chức tập tin trong cơ sở dữ liệu SQL Server Phân loại tập tin trong SQL

Server Cách khai báo đặc tả tập tin trong SQL Server (5 thuộc tính)

Câu 2: Nêu chức năng các cơ sở dữ liệu hệ thống trong SQL Server.

Câu 3: Trình bày cú pháp đầy đủ của lệnh CREATE DATABASE và giải thích ý nghĩa các tham số.

Trang 36

Chương 3 Tạo và quản lý các bảng

3.1 Tạo bảng (Tables)

3.1.1 Sử dụng lệnh CREATE TABLE

CREATE TABLE <Tên bảng dữ liệu>

(

<Cột 1> <Kiểu dữ liệu> [<Thuộc tính nếu có>],

<Cột 2> <Kiểu dữ liệu> [<Thuộc tính nếu có>],

<Cột n> <Kiểu dữ liệu> [<Thuộc tính nếu có>],[Các ràng buộc nếu có]

Trang 38

 Thuộc tính NOT NULL

Khi một cột được xác lập thuộc tính là NOT NULL thì giá trị tại cột đó không được phép để trống

Khai báo: <Tên cột> <Kiểu dữ liệu> NULL | NOT NULL

o Mục đích: có thể dùng cho việc tạo khóa tự động

Khai báo: <Tên cột> <Kiểu dữ liệu> … Identity(seed, increment)

Với: seed: giá trị khởi tạo, increment: mức tăng

Ví dụ: Khai báo cột STT tăng tự động từ 1

STT bigint Identity(1,1) NOT NULL

<Tên cột> UniqueIdentifier ROWGUICOL NOT NULL DEFAULT NEWID()

3.3 Định nghĩa các ràng buộc (Constrains)

A Ràng buộc khóa chính PRIMARY KEY

Khi muốn chỉ định một cột làm khóa chính, ta sử dụng ràng buộc PRIMARY KEY trên cột đó theo

cú pháp:

Constraint <Tên ràng buộc> Primary Key(<Tên cột>)

B Ràng buộc khóa ngoại FOREIGN KEY

Khi muốn chỉ định một cột làm khóa ngoại tham chiếu đến bảng cha, ta sử dụng ràng buộc FOREIGN KEY theo cú pháp:

Constraint <Tên ràng buộc> Foreign Key(<Tên cột>)

References <Tên bảng cha>(<Khóa chính>)

C Ràng buộc kiểm tra CHECK

Khi muốn dữ liệu nhập vào phải thỏa mãn một biểu thức điều kiện nào đó ta có thể sử dụng ràng buộc kiểm tra CHECK với cú pháp

Constraint <Tên ràng buộc> CHECK(<Biểu thức điều kiện>)

Trang 39

ALTER TABLE <Tên bảng>

[ADD <Tên cột> <Kiểu dữ liệu> [<Thuộc tính nếu có>],…]

[ADD <Định nghĩa ràng buộc>,…]

[ALTER COLUMN <Tên cột>

[<Tên kiểu dữ liệu mới>] [NULL | NOT NULL]

[ADD | DROP ROWGUIDCOL]

[DROP COLUMN <Tên cột>,…]

[DROP CONSTRAINT <Tên ràng buộc> ,…]

[NOCHECK | CHECK CONSTRAINT <Tên ràng buộc>]

Chú ý:

NOCHECK dùng để tạm thời vô hiệu hóa một ràng buộc chứ không xóa bỏ nó khỏi CSDL.

3.4.2 Sửa đổi bảng dữ liệu sử dụng Enterprise Manager

• Click chuột phải lên bảng muốn sửa đổi

• Chọn Design Table

Trang 40

3.5 Xóa bảng (DROP TABLE)

3.5.1 Sử dụng lệnh DROP TABLE

DROP TABLE <Tên bảng dữ liệu>

3.5.2 Sử dụng Enterprise Manager

3.6 Thêm bản ghi mới (INSERT)

Dữ liệu trong các bảng được thể hiện dưới dạng các dòng (bản ghi) Để bổ sung thêm các dòng dữ liệu vào một bảng, ta sử dụng câu lệnh INSERT Hầu hết các hệ quản trị CSDL dựa trên SQL cung cấp các cách dưới đây để thực hiện thao tác bổ sung dữ liệu cho bảng:

Ngày đăng: 26/05/2014, 23:51

HÌNH ẢNH LIÊN QUAN

Hình thức và tiêu chuẩn đánh giá sinh viên: - bài giảng hệ quản trị cơ sở dữ liệu
Hình th ức và tiêu chuẩn đánh giá sinh viên: (Trang 4)
Hình 1: Sơ đồ tổng quát về một hệ cơ sở dữ liệu - bài giảng hệ quản trị cơ sở dữ liệu
Hình 1 Sơ đồ tổng quát về một hệ cơ sở dữ liệu (Trang 5)
Hình 2: Quan hệ 1- 1 - bài giảng hệ quản trị cơ sở dữ liệu
Hình 2 Quan hệ 1- 1 (Trang 6)
Hình 3: Quan hệ 1 - n Quan hệ n – n: Quan hệ n – n không được biểu diễn tường minh trong CSDL - bài giảng hệ quản trị cơ sở dữ liệu
Hình 3 Quan hệ 1 - n Quan hệ n – n: Quan hệ n – n không được biểu diễn tường minh trong CSDL (Trang 7)
Hình 4: Mô hình Hệ quản trị cơ sở dữ liệu - bài giảng hệ quản trị cơ sở dữ liệu
Hình 4 Mô hình Hệ quản trị cơ sở dữ liệu (Trang 8)
Hình 5: Tương tác với hệ quản trị Cơ sở dữ liệu - bài giảng hệ quản trị cơ sở dữ liệu
Hình 5 Tương tác với hệ quản trị Cơ sở dữ liệu (Trang 9)
Hình 6: Hoạt động của hệ quản trị cơ sở dữ liệu - bài giảng hệ quản trị cơ sở dữ liệu
Hình 6 Hoạt động của hệ quản trị cơ sở dữ liệu (Trang 9)
Hình 7: Mô hình Client/Server - bài giảng hệ quản trị cơ sở dữ liệu
Hình 7 Mô hình Client/Server (Trang 10)
Hình 8a: SQL Server và mô hình Client/Server - bài giảng hệ quản trị cơ sở dữ liệu
Hình 8a SQL Server và mô hình Client/Server (Trang 12)
Hình 9: Mô hình Client/Server cục bộ - bài giảng hệ quản trị cơ sở dữ liệu
Hình 9 Mô hình Client/Server cục bộ (Trang 13)
Hình 10: Mô hình cơ sở dữ liệu phân tán - bài giảng hệ quản trị cơ sở dữ liệu
Hình 10 Mô hình cơ sở dữ liệu phân tán (Trang 14)
Hình 11: Mô hình phân lớp hệ thống - bài giảng hệ quản trị cơ sở dữ liệu
Hình 11 Mô hình phân lớp hệ thống (Trang 14)
Hình 12: Kiến trúc nhị tầng Fat Client - bài giảng hệ quản trị cơ sở dữ liệu
Hình 12 Kiến trúc nhị tầng Fat Client (Trang 15)
Hình 14: Kiến trúc tam tầng - bài giảng hệ quản trị cơ sở dữ liệu
Hình 14 Kiến trúc tam tầng (Trang 16)
Hình 13: Kiến trúc nhị tầng Fat Server - bài giảng hệ quản trị cơ sở dữ liệu
Hình 13 Kiến trúc nhị tầng Fat Server (Trang 16)

TỪ KHÓA LIÊN QUAN