1. Trang chủ
  2. » Cao đẳng - Đại học

Giáo trình môn họcmô đun Hệ quản trị cơ sở dữ liệu SQL Server

116 6 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 Môn Học Mô Đun Hệ Quản Trị Cơ Sở Dữ Liệu SQL Server
Tác giả Phạm Đình Nam, Ngô Thiên Hoàng, Nguyễn Quỳnh Nguyên, Phan Ngọc Bảo
Trường học Lâm Đồng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Giáo Trình
Năm xuất bản 2019
Thành phố Lâm Đồng
Định dạng
Số trang 116
Dung lượng 2,63 MB

Cấu trúc

  • BÀI 1. Tổng quan về DBMS và SQL sever (5)
    • 1. Tổng quan về DBMS và SQL Sever (5)
      • 1.1 Tổng quan về DBMS (5)
      • 1.2 Tổng quan về cơ sở dữ liệu quan hệ (7)
      • 1.3 Giới Thiệu SQL Server 2000 (9)
      • 1.4 Cài Ðặt SQL Server 2000 (Insta llation) (10)
    • 2. Sơ lược về SQL (14)
      • 2.1 Kiểu dữ liệu (17)
      • 2.2 Các tập tin vật lý lưu trữ cơ sở dữ liệu (19)
  • Bài 2. Ngôn ngữ định nghĩa dữ liệu (21)
    • 1. Ngôn ngữ định nghĩa dữ liệu (21)
      • 1.1 Tạo CSDL (21)
      • 1.2 Tạo bảng dữ liệu (25)
      • 1.3 Tạo cấu trúc bảng bằng T -SQL (27)
      • 1.4 Ràng buộc CHECK (29)
      • 1.5 Ràng buộc PRIMARY KEY (30)
      • 1.6 Ràng buộc UNIQUE (31)
      • 1.7 Ràng buộc FOREIGN KEY (32)
    • 2. Sửa đổi định nghĩa bảng (34)
    • 3. Xoá bảng (35)
  • Bài 3. Ngôn ngữ thao tác dữ liệu (37)
    • 1. Ngôn ngữ thao tác dữ liệu (37)
      • 1.1 Truy xuất dữ liệu với câu lệnh SELECT (37)
        • 1.1.1 Mệnh đề FROM (38)
        • 1.1.2 Danh sách chọn trong câu lệnh SELECT (38)
        • 1.1.3 Tạo mới bảng dữ liệu từ kết quả của câu lệnh SELECT (46)
        • 1.1.4 Sắp xếp kết quả truy vấn (46)
        • 1.1.5 Phép hợp (47)
        • 1.1.6 Phép nối (49)
      • 1.2 Phép nối (52)
        • 1.2.1 Các loại phép nối (52)
        • 1.2.2 Sử dụng phép nối trong SQL2 (56)
        • 1.2.3 Thống kê dữ liệu với GROUP BY (58)
        • 1.2.4 Thống kê dữ liệu với COMPUTE (61)
        • 1.2.5 Truy vấn con (Subquery) (64)
    • 2. Bổ sung, cập nhật và xoá dữ liệu (67)
      • 2.1 Bổ sung dữ liệu (67)
      • 2.2 Cập nhật dữ liệu (68)
      • 2.3 Xoá dữ liệu (70)
  • Bài 4. Làm việc với View ( khung nhìn ) (75)
  • Bài 5. Bảo mật trong SQL (85)
    • 1. Thủ tục lưu trữ (stored procedure) (91)
      • 1.1 Các khái niệm (91)
      • 1.2 Tạo thủ tục lưu trữ (91)
      • 1.3 Lời gọi thủ tục lưu trữ (93)
      • 1.4 Sử dụng biến trong thủ tục (93)
      • 1.5 Giá trị trả về của tham số trong thủ tục lưu trữ (94)
      • 1.6 Tham số với giá trị mặc định (94)
      • 1.7 Sửa đổi thủ tục (95)
      • 1.8 Xoá thủ tục (95)
    • 2. Hàm và trigger (96)
      • 2.1 Hàm do người dùng định nghĩa (96)
      • 2.2 Trigger (99)
  • Bài 6. Giao dịch SQL (110)

Nội dung

Tổng quan về DBMS và SQL sever

Tổng quan về DBMS và SQL Sever

Chương này cung cấp cái nhìn tổng quan về cơ sở dữ liệu (CSDL), hệ quản trị cơ sở dữ liệu (HQTCSDL) và hệ cơ sở dữ liệu (HCSDL) Những yêu cầu trong việc xây dựng một HQTCSDL cũng đồng thời là các chức năng cần thiết mà một HCSDL phải sở hữu.

Trong chương này, chúng tôi giới thiệu tổng quan về ngôn ngữ truy vấn có cấu trúc (SQL) và hệ quản trị cơ sở dữ liệu quan hệ, một trong những nền tảng kỹ thuật quan trọng trong ngành công nghiệp máy tính SQL được công nhận là ngôn ngữ chuẩn cho cơ sở dữ liệu, và các hệ quản trị cơ sở dữ liệu thương mại như Oracle, SQL Server, Informix, và DB2 đều lựa chọn SQL làm ngôn ngữ chính cho sản phẩm của họ.

SQL là ngôn ngữ truy vấn cấu trúc, đóng vai trò quan trọng trong quản lý cơ sở dữ liệu Nó cho phép người dùng thực hiện các thao tác như truy xuất, chèn, cập nhật và xóa dữ liệu trong các hệ quản trị cơ sở dữ liệu quan hệ Chương này sẽ cung cấp cái nhìn tổng quan về SQL, bao gồm chức năng, ứng dụng và tầm quan trọng của nó trong việc quản lý dữ liệu.

Chương này sẽ giới thiệu về cài đặt SQL Server 2000 và các thành phần của nó, giúp người dùng hiểu rõ hơn về hệ quản trị cơ sở dữ liệu (DBMS) này Việc nắm vững SQL Server 2000 sẽ hỗ trợ chúng ta trong việc khai thác và phát triển ứng dụng một cách hiệu quả.

Cơ sở dữ liệu (CSDL) là một kho dữ liệu được tổ chức theo nguyên tắc nhất định, bao gồm các tập tin liên quan nhằm giảm thiểu sự dư thừa và đảm bảo tính tin cậy khi truy xuất thông tin Những tập tin này chứa dữ liệu biểu diễn các đối tượng trong ứng dụng thực tế.

CSDL lưu giữ thông tin của một trường đại học như : khoa, giảng viên, sinh viên, khóa học,…

Một ứng dụng thường chỉ nên sử dụng một cơ sở dữ liệu duy nhất để lưu trữ tất cả thông tin liên quan, tránh việc đặt hai cơ sở dữ liệu vào cùng một ứng dụng.

Hệ quản trị cơ sở dữ liệu (DBMS) là một hệ thống bao gồm cơ sở dữ liệu và các thao tác liên quan đến nó Đây là công cụ cho phép người dùng quản lý, tương tác, định nghĩa và xử lý dữ liệu trong cơ sở dữ liệu, từ đó tạo ra thông tin có ý nghĩa.

Một hệ quản trị cơ sở dữ liệu (DBMS) có khả năng quản lý các cơ sở dữ liệu đa dạng, từ cơ sở dữ liệu của một trường đại học đến các hệ thống dữ liệu quan trọng khác như cơ sở dữ liệu tổng thu nhập quốc gia và cơ sở dữ liệu của Liên Hợp Quốc về thông tin địa lý toàn cầu.

- Một hệ cơ sở dữ liệu (HCSDL/ DBS: DataBase System) là một phần mềm cho phép xây dựng một HQTCSDL.

Các vấn đề cần xử lý của hệ cơ sở dữ liệu

Một số điểm bất lợi chính của việc lưu giữ thông tin có tổ chức trong hệ thống xử lý file thông thường mà hệ HCSDL cần lưu ý:

Dư thừa dữ liệu và tính không nhất quán xảy ra do các file và ứng dụng được phát triển bởi các lập trình viên khác nhau, dẫn đến định dạng và ngôn ngữ lập trình không đồng nhất Điều này khiến cùng một thông tin có thể được lưu trữ trong nhiều file khác nhau, gây ra sự không nhất quán và dư thừa dữ liệu Hệ quả là chi phí truy xuất và lưu trữ tăng cao, đồng thời các bản sao của dữ liệu có thể không nhất quán, ảnh hưởng đến tính chính xác và tin cậy của thông tin.

Trong môi trường hệ thống xử lý file thông thường, việc truy xuất dữ liệu gặp nhiều khó khăn do thiếu các công cụ hỗ trợ hiệu quả và thuận lợi.

Sự cô lập dữ liệu đề cập đến việc các giá trị dữ liệu lưu trữ trong cơ sở dữ liệu cần tuân thủ các ràng buộc nhất định nhằm đảm bảo tính nhất quán của dữ liệu Các ràng buộc này đóng vai trò quan trọng trong việc duy trì sự chính xác và tin cậy của thông tin trong hệ thống cơ sở dữ liệu.

Trong hệ thống xử lý file truyền thống, việc điều chỉnh chương trình để đáp ứng các yêu cầu thay đổi ràng buộc gặp nhiều khó khăn Tình huống trở nên phức tạp hơn khi các ràng buộc này liên quan đến các hạng mục dữ liệu nằm rải rác trong nhiều file khác nhau.

• Các vấn đề về tính nguyên tử (Atomicity problems):

Tính nguyên tử của giao dịch là đặc tính cho phép hoạt động được thực hiện hoàn toàn hoặc không có gì, tức là chỉ khi giao dịch hoàn tất thành công, dữ liệu bền vững mới được thay đổi; nếu không, không có dấu vết nào được để lại trong cơ sở dữ liệu Trong các hệ thống xử lý file thông thường, việc đảm bảo tính nguyên tử này thường gặp khó khăn.

Trong môi trường truy xuất cạnh tranh, tính bất thường có thể xảy ra khi nhiều người dùng cập nhật dữ liệu đồng thời, dẫn đến việc dữ liệu trở nên không nhất quán Để khắc phục vấn đề này, cần có sự giám sát chặt chẽ, trong khi các hệ thống xử lý file thông thường không đáp ứng được yêu cầu này.

Vấn đề an toàn trong hệ cơ sở dữ liệu là một thách thức lớn, khi người sử dụng không cần thiết và không có quyền truy xuất tất cả dữ liệu Điều này yêu cầu hệ thống phải đảm bảo tính phân quyền và ngăn chặn truy xuất trái phép Những bất lợi này đã thúc đẩy sự phát triển của các hệ quản trị cơ sở dữ liệu (DBMS) Phần tiếp theo của giáo trình sẽ trình bày các khái niệm và thuật toán cần thiết để phát triển một hệ cơ sở dữ liệu hiệu quả nhằm giải quyết những vấn đề an toàn này.

Hầu hết các hệ quản trị CSDL đều thực hiện các chức năng sau :

Tạo ra và duy trìCSDL

Cho phép nhiềungười dùngtruy xuất đồngthời

Hỗ trợ tính bảo mật và riêng tư

Cho phép xem và xử lý dữ liệu lưu trữ

Cho phép cập nhật và lưu trữ dữ liệu sau khi cập nhật

Cung cấp một cơ chế chỉ mục (index) hiệu quả để truy cập nhanh các dữ liệu lựa chọn

Cung cấp tính nhất quán giữa các bản ghi khác nhau

Bảo vệ dữ liệu khỏi mất mát bằng các quá trình sao lưu (backup) và phục hồi (recovery)

1.2 Tổng quan vềcơ sở dữ liệu quan hệ

Mô hình dữ liệu quan hệ

Sơ lược về SQL

SQL không phải là một hệ quản trị cơ sở dữ liệu độc lập, mà thực chất là một phần thiết yếu của hệ quản trị cơ sở dữ liệu Nó đóng vai trò là ngôn ngữ giao tiếp giữa người sử dụng và hệ quản trị cơ sở dữ liệu, giúp thực hiện các thao tác quản lý dữ liệu hiệu quả.

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ữ truy vấn tương tác, cho phép người dùng gửi yêu cầu đến cơ sở dữ liệu thông qua các câu lệnh SQL dễ dàng và nhận kết quả trả về một cách nhanh chóng.

SQL là ngôn ngữ lập trình dành cho cơ sở dữ liệu, cho phép lập trình viên tích hợp các câu lệnh SQL vào trong các ngôn ngữ lập trình khác Điều này giúp xây dựng các ứng dụng có khả năng giao tiếp hiệu quả với cơ sở dữ liệu.

SQL là ngôn ngữ quản trị cơ sở dữ liệu, cho phép người quản trị quản lý và định nghĩa cấu trúc lưu trữ dữ liệu, cũng như kiểm soát quyền truy cập vào cơ sở dữ liệu.

SQL là ngôn ngữ được sử dụng trong các hệ thống cơ sở dữ liệu khách/chủ, giúp giao tiếp hiệu quả giữa các ứng dụng phía máy khách và máy chủ cơ sở dữ liệu.

SQL là ngôn ngữ chính để truy cập và tương tác với dữ liệu trên Internet Hiện nay, hầu hết các máy chủ web và máy chủ trực tuyến đều sử dụng SQL để quản lý và xử lý dữ liệu trong các cơ sở dữ liệu.

SQL là ngôn ngữ chính được sử dụng trong các hệ quản trị cơ sở dữ liệu phân tán, cho phép các hệ thống giao tiếp và trao đổi yêu cầu truy xuất dữ liệu qua mạng.

SQL là ngôn ngữ chuẩn được sử dụng để giao tiếp với các hệ quản trị cơ sở dữ liệu trong mạng máy tính Trong một hệ thống có nhiều loại cơ sở dữ liệu khác nhau, SQL đóng vai trò quan trọng trong việc kết nối và tương tác giữa chúng Các lệnh SQL cơ bản bao gồm khoảng 40 câu lệnh thường được sử dụng, giúp người dùng thực hiện các thao tác quản lý dữ liệu hiệu quả.

Các bảng dưới đây trình bày danh sách các câu lệnh SQL Mặc dù các câu lệnh này có cấu trúc và mục đích tương tự trong các hệ quản trị cơ sở dữ liệu khác nhau, nhưng mỗi hệ thống có thể có những thay đổi nhất định Điều này có thể dẫn đến sự khác biệt trong cú pháp chi tiết của các câu lệnh giữa các hệ quản trị cơ sở dữ liệu.

Câu l ệ nh t hao tác dữ li ệ u C h ứ c n ă n g

SELECT Truy xuất dữ liệu

INSERT Bổ sung dữ diệu

UPDATE Cập nhật dữ liệu

TRUNCATE Xoá toàn bộ dữ liệu trong bảng

Câu l ệnh định nghĩa dữ liệu C h ứ c n ă n g

ALTER TABLE Sửa đổi bảng

CREATE VIEW Tạo khung nhìn

ALTER VIEW Sửa đổi khung nhìn

DROP VIEW Xoá khung nhìn

CREATE INDEX Tạo chỉ mục

DROP INDEX Xoá chỉ mục

CREATE SCHEMA Tạo lược đồ cơ sở dữ liệu

DROP SCHEMA Xoá lược đồ cơ sở dữ liệu

Các câu lệnh SQL bắt đầu bằng từ lệnh, là từ khóa xác định chức năng của câu lệnh như SELECT, DELETE, hay COMMIT Tiếp theo sau từ lệnh là các mệnh đề, mỗi mệnh đề cũng được khởi đầu bằng từ khóa như FROM, WHERE, v.v.

SELECT masv,hodem,ten FROM sinhvien WHERE malop=’C24102’

CREATE PROCEDURE Tạo thủ tục lưu trữ

ALTER PROCEDURE Sửa đổi thủ tục lưu trữ

DROP PROCEDURE Xoá thủ tục lưu trữ

CREATE FUNCTION Tạo hàm (do người sử dụng định nghĩa)

ALTER FUNCTION Sửa đổi hàm

ALTER TRIGGER Sửa đổi trigger

Câu l ệnh điều khiển truy cập C h ứ c n ă n g

GRANT Cấp phát quyền cho người sử dụng

REVOKE Thu hồi quyền từ người sử dụng

Câu l ệnh quản lý giao dịch C h ứ c n ă n g

COMMIT Uỷ thác (kết thúc thành công) giao dịch

ROLLBACK Quay lui giao dịch

SAVE TRANSACTION Đánh dấu một điểm trong giao dịch

DECLARE Khai báo biến hoặc định nghĩa con trỏ

OPEN Mở một con trỏ để truy xuất kết quả truy vấn

FETCH Đọc một dòng trong kết quả truy vấn (sử dụng con trỏ)

CLOSE Đóng một con trỏ

Để truy xuất dữ liệu từ bảng SINHVIEN, bạn cần thực thi một câu lệnh SQL bắt đầu bằng từ khóa SELECT Câu lệnh này bao gồm hai mệnh đề quan trọng: mệnh đề FROM, dùng để chỉ định tên bảng cần truy xuất, và mệnh đề WHERE, dùng để xác định điều kiện truy vấn dữ liệu.

Qui tắc sử dụng tên trong SQL

Trong cơ sở dữ liệu SQL, các đối tượng được xác định thông qua tên duy nhất của chúng trong mỗi cơ sở dữ liệu Tên này đóng vai trò quan trọng trong các truy vấn SQL, với tên bảng và tên cột là nền tảng chính trong cơ sở dữ liệu quan hệ.

Trong các cơ sở dữ liệu lớn, khi sử dụng câu lệnh SQL, tên bảng được chỉ định sẽ mặc định là bảng do người dùng sở hữu Hệ quản trị cơ sở dữ liệu cho phép nhiều người dùng tạo bảng trùng tên mà không gây xung đột Để truy cập bảng của người dùng khác, cần viết tên bảng theo định dạng: tên_người_sở_hữu.tên_bảng, với dấu chấm phân cách.

Một số đối tượng cơ sở dữ liệu khác (như khung nhìn, thủ tục, hàm), việc sử dụng tên cũng tương tự như đối với bảng

Trong SQL, chúng ta có thể sử dụng tên cột bình thường bằng cách chỉ định tên cột trong bảng Tuy nhiên, khi có hai cột trở lên với cùng tên từ các bảng khác nhau, cần phải thêm tên bảng trước tên cột, với tên bảng và tên cột được phân cách bởi dấu chấm.

Ví dụ dưới đây minh hoạ cho ta thấy việc sử dụng tên bảng và tên cột trong câu lệnh SQL

SELECT masv,hodem,ten,sinhvien.malop,tenlop FROM dbo.sinhvien,dbo.lop WHERE sinhvien.malop = lop.malop

Chuẩn ANSI/ISO SQL cung cấp nhiều kiểu dữ liệu cho các cơ sở dữ liệu và ngôn ngữ SQL, cho phép các hệ quản trị cơ sở dữ liệu thương mại hiện nay sử dụng các dạng dữ liệu đa dạng trong sản phẩm của họ Dưới đây là bảng 1.2 liệt kê một số kiểu dữ liệu thông dụng trong SQL.

Một số kiểu dữ liệu thông dụng trong SQL

CHAR (n) Kiểu chuỗi với độ dài cố định

NCHAR (n) Kiếu chuỗi với độ dài cố định hỗ trợ UNICODE

VARCHAR (n) Kiểu chuỗi với độ dài chính xác

NVARCHAR (n) Kiểu chuỗi với độ dài chính xác hỗ trợ UNICODE

INTEGER Số nguyên có giá trị từ -231 đến 231 - 1

TINYTINT Số nguyên có giá trị từ 0 đến 255

SMALLINT Số nguyên có giá trị từ -215 đến 215 – 1

BIGINT Số nguyên có giá trị từ -263 đến 263-1

NUMERIC (p,s) Kiểu số với độ chính xác cố định

DECIMAL (p,s) Tương tự kiểu Numeric

FLOAT Số thực có giá trị từ -1.79E+308 đến 1.79E+308

REAL Số thực có giá trị từ -3.40E + 38 đến 3.40E + 38

BIT Kiểu bit (có giá trị 0 hoặc 1)

DATETIME Kiểu ngày giờ (chính xác đến phần trăm của giây)

SMALLDATETIME Kiểu ngày giờ (chính xác đến phút)

BINARY Dữ liệu nhị phân với độ dài cố định (tối đa 8000 bytes)

VARBINARY Dữ liệu nhị phân với độ dài chính xác (tối đa 8000 bytes)

Dữ liệu nhị phân với độ dài chính xác (tối đa 2,147,483,647

TEXT Dữ liệu kiếu chuỗi với độ dài lớn (tối đa 2,147,483,647 ký tự)

Dữ liệu kiếu chuỗi với độ dài lớn và hỗ trợ UNICODE (tốiđa

Câu lệnh dưới đây định nghĩa bảng với kiểu dữ liệu được qui định cho các cột trong bảng

CREATE TABLE NHANVIEN ( MANV NVARCHAR(10) NOT NULL, HOTEN

NVARCHAR(30) NOT NULL, GIOITINH BIT, NGAYSINH

Ngôn ngữ định nghĩa dữ liệu

Ngôn ngữ định nghĩa dữ liệu

Trong chương này, chúng ta sẽ khám phá ngôn ngữ định nghĩa dữ liệu (DDL), bao gồm các câu lệnh SQL dùng để định nghĩa và quản lý các đối tượng cơ sở dữ liệu như bảng, khung nhìn và chỉ mục Điều này bổ sung cho các thao tác đã được thảo luận trong chương 2, nơi chúng ta đã tìm hiểu về ngôn ngữ thao tác dữ liệu (DML) để thực hiện các thao tác bổ sung, cập nhật, loại bỏ và xem dữ liệu.

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ó

Sau khi hiểu cách tổ chức các tập tin vật lý trong Microsoft SQL Server, bạn có thể tự tạo một cơ sở dữ liệu để lưu trữ và khai thác dữ liệu riêng biệt Cách đơn giản nhất để tạo cơ sở dữ liệu là sử dụng tiện ích Enterprise Manager, và chỉ những người có vai trò quản trị hệ thống (sysadmin) mới có quyền thực hiện điều này Bạn có thể đăng nhập bằng tài khoản người dùng "sa" để tạo cơ sở dữ liệu mới cho ứng dụng của mình Trước khi hướng dẫn từng bước tạo cơ sở dữ liệu, chúng tôi sẽ trình bày các thuộc tính của cơ sở dữ liệu trong Microsoft SQL Server, giúp bạn hiểu rõ hơn về cấu trúc bên trong của nó.

Tên cơ sở dữ liệu trong Microsoft SQL Server phải là duy nhất và có độ dài tối đa 123 ký tự Chúng tôi khuyên bạn nên chọn tên cơ sở dữ liệu dễ nhớ để thuận tiện trong việc quản lý.

QLBanhang (Quản lý bán hàng), QLHocsinh (Quản lý học sinh)

Vị trí tập tin trong Microsoft SQL Server là tên và đường dẫn vật lý của các tập tin dữ liệu dùng để lưu trữ cơ sở dữ liệu, thường được lưu tại thư mục C:\MSSQL\DATA.

Tên tập tin trong hệ thống Microsoft SQL Server là tên logic của từng loại tập tin dữ liệu, giúp quản lý và phân biệt các loại tập tin Mỗi loại tập tin dữ liệu sẽ có một tên tập tin riêng biệt, đảm bảo tính tổ chức và dễ dàng truy cập.

Kích thước ban đầu (Initial size) là kích thước khởi tạo của tập tin dữ liệu khi cơ sở dữ liệu mới được tạo lập, được đo bằng MegaByte (MB) Thông thường, kích thước ban đầu của một cơ sở dữ liệu mới tối thiểu phải bằng với kích thước của cơ sở dữ liệu Model, vì Microsoft SQL Server sử dụng cơ sở dữ liệu Model làm khuôn mẫu khi tạo ra cơ sở dữ liệu mới.

Việc tăng trưởng kích thước tập tin dữ liệu (File growth) là quy định cho việc tự động mở rộng kích thước tập tin dữ liệu khi lưu trữ ngày càng nhiều thông tin Khi dung lượng lưu trữ trong Microsoft SQL Server gần đầy, kích thước tập tin sẽ tự động tăng lên theo từng MB hoặc theo tỷ lệ phần trăm so với kích thước hiện tại Mặc định, kích thước tập tin dữ liệu sẽ được tăng tự động 10% khi dung lượng lưu trữ gần đầy.

Kích thước tối đa tập tin dữ liệu quy định sự tăng trưởng của các tập tin dữ liệu với giới hạn cụ thể hoặc không giới hạn Nếu chọn giới hạn kích thước, bạn cần thêm tập tin dữ liệu mới khi đạt kích thước tối đa, gọi là tập tin thứ yếu, có thể lưu trữ trên các đĩa cứng khác trong Microsoft SQL Server, đặc trưng cho mô hình cơ sở dữ liệu phân tán Việc xác định kích thước ban đầu cho cơ sở dữ liệu rất quan trọng để đảm bảo đủ không gian lưu trữ và tránh ảnh hưởng đến tốc độ do cần mở rộng kích thước tập tin nhiều lần khi có dữ liệu mới Hơn nữa, dữ liệu trong cơ sở dữ liệu thường cần được lưu trữ lại, và kích thước tập tin cũng ảnh hưởng đến khả năng sao lưu và phục hồi, đảm bảo đủ nhỏ để lưu trên các đĩa CD-ROM hay băng từ Các bước dưới đây sẽ hướng dẫn bạn tạo cơ sở dữ liệu mới bằng tiện ích Enterprise Manager.

Bước1: Khởi động ứng dụng Enterprise Manager, chọn một (1) Microsoft SQL

Server đã được đăng ký quản trị trước đó Chọn chức năng New Database trong thực đơn tắt sau khi nhấn chuột phải trên đối tượng Database

Chọn chức năng New Database

Bước 2: Trong màn hình các thuộc tính của cơ sở dữ liệu (Database Properties) tại trang General gõ vào tên cơ sở dữ liệu muốn tạo mới

Trang Genneral với các thuộc tính của CS DL

Trong bước 3, tại màn hình thuộc tính cơ sở dữ liệu, bạn cần chỉ định kích thước ban đầu của tập tin dữ liệu chính trên trang Data Files Sau đó, hãy điều chỉnh các thuộc tính khác nếu cần thiết Tiếp theo, chuyển sang trang Transaction Log để thay đổi các thuộc tính của tập tin lưu vết theo cách tương tự.

Các thuộc tính trong trang Transaction Log

Thời gian tạo cơ sở dữ liệu phụ thuộc vào kích thước của nó, có thể nhanh hoặc lâu Để tạo một cơ sở dữ liệu mới, bạn sử dụng câu lệnh CREATE DATABASE trong tiện ích Query Analyzer Câu lệnh này bao gồm các thành phần tương tự như thuộc tính của cơ sở dữ liệu đã được giới thiệu trước đó Ví dụ, để tạo cơ sở dữ liệu có tên QLBanHang với kích thước khởi tạo 50MB, tự động tăng 10% khi đầy và tối đa 200MB, cùng với tập tin lưu vết khởi tạo 10MB, tự động tăng 5MB mà không giới hạn, bạn sẽ thực hiện câu lệnh CREATE DATABASE như sau:

Xoá cơ sở dữ liệu đã có

Khi không còn khai thác dữ liệu trong một cơ sở dữ liệu, bạn có thể hủy bỏ nó để tăng dung lượng đĩa trống Tuy nhiên, hãy chắc chắn rằng dữ liệu trong cơ sở dữ liệu sẽ không còn hữu ích trong tương lai, vì việc xóa sẽ không thể khôi phục Để hủy bỏ cơ sở dữ liệu trong Microsoft SQL Server, bạn có thể sử dụng câu lệnh DROP DATABASE, nhấn phím Delete hoặc nhấp chuột vào biểu tượng Delete trong tiện ích Enterprise Manager Ví dụ, để hủy bỏ cơ sở dữ liệu QLBanHang, bạn thực hiện câu lệnh: DROP DATABASE QLBanHang.

Để hủy bỏ cơ sở dữ liệu QLBanHang trong tiện ích Enterprise Manager, bạn cần nhấn phím Delete trên tên cơ sở dữ liệu và xác nhận bằng cách chọn Yes Lưu ý rằng hệ thống Microsoft SQL Server không cho phép xóa các cơ sở dữ liệu hệ thống như Master, Model và Tempdb, vì chúng là cần thiết cho hoạt động của hệ thống Để thực hiện việc hủy bỏ một cơ sở dữ liệu thành công, bạn phải đảm bảo rằng không còn người dùng nào đang truy cập vào cơ sở dữ liệu đó Nếu có người dùng đang truy cập, hệ thống sẽ hiển thị thông báo cảnh báo.

Không bao giờ xóa cơ sở dữ liệu bằng cách sử dụng Windows Explorer hoặc Windows Commander để xóa các tệp dữ liệu trong thư mục C:\MSSQL\DATA\, vì điều này sẽ ảnh hưởng nghiêm trọng đến hệ thống cơ sở dữ liệu Microsoft SQL Server.

Bảng dữ liệu là cấu trúc quan trọng nhất trong cơ sở dữ liệu quan hệ, nơi toàn bộ dữ liệu được tổ chức Các bảng này có thể bao gồm bảng hệ thống tự động tạo khi thiết lập cơ sở dữ liệu, cũng như các bảng do người dùng định nghĩa.

Hình 2.4: Bảng trong CSDL quan hệ

Trong cơ sở dữ liệu, dữ liệu được tổ chức thành các bảng với các dòng và cột, trong đó mỗi dòng đại diện cho một bản ghi duy nhất và mỗi cột là một trường thông tin Các bảng này dùng để biểu diễn thông tin và lưu trữ dữ liệu về các đối tượng trong thế giới thực cũng như mối quan hệ giữa chúng Ví dụ, bảng trong hình 3.1 có 10 bản ghi và 4 trường: MAKHOA, TENKHOA, DIENTHOAI và TRUONGKHOA.

Sửa đổi định nghĩa bảng

Sau khi một bảng được định nghĩa bằng câu lệnh CREATE TABLE, nó có thể được sửa đổi thông qua câu lệnh ALTER TABLE Câu lệnh này cho phép thực hiện nhiều thao tác khác nhau trên bảng.

• Bổ sung một cột vào bảng

• Xoá một cột khỏi bảng

• Thay đổi định nghĩa của một cột trong bảng.

• Xoá bỏ hoặc bổ sung các ràng buộc cho bảng Cú pháp của câu lệnh ALTER TABLE như sau: ALTER TABLE tên_bảng

ADD định_nghĩa_côt | ALTER COLUMN tên_cột kiểu_dữ_liêu

[NULL | NOT NULL] | DROP COLUMN tên_cột | ADD

CONSTRAINT tên_ràng_buộc định_nghĩa_ràng_buộc | DROP

Các ví dụ dưới đây minh hoạ cho ta cách sử dụng câu lệnh ALTER TABLE trong các trường hợp.

Giả sử ta có hai bảng DONVI và NHANVIEN với định nghĩa như sau:

CREATE TABLE donvi ( madvINTNOT NULLPRIMARY KEY, tendvNVARCHAR(30)NOT NULL ) CREATE TABLE nhanvien ( ma

NVARCHAR(10) hoten NVARCHAR(30) ngaysinh DATETIME, diachiCHAR(30)NOT NULL )

Bổ sung vào bảng NHANVIEN cột DIENTHOAI với ràng buộc CHECK nhằm qui định điện thoại của nhân viên là một chuỗi 6 chữ số:

ALTER TABLE nhanvien ADD dienthoai NVARCHAR(6)

CONSTRAINT chk_nhanvien_dienthoai CHECK (dienthoai LIKE '[09][09][09][09][09][09]')

Bổ sung thêm cột MADV vào bảng NHANVIEN:

ALTER TABLE nhanvien ADD madv INT NULL Định nghĩa lại kiểu dữ liệu của cột DIACHI trong bảng NHANVIEN và cho phép cột này chấp nhận giá trị NULL:

ALTER TABLE nhanvien ALTER COLUMN diachi NVARCHAR(100)

Xoá cộtngày sinh khỏi bảng NHANVIEN :

ALTER TABLE nhanvien DROP COLUMN ngaysinh Định nghĩa khoá chính (ràng buộc PRIMARY KEY) cho bảng NHANVIEN là cột MANV:

ALTER TABLE nhanvien ADD CONSTRAINT pk_nhanvien

KEY(manv) Định nghĩa khoá ngoài cho bảng NHANVIEN trên cột MADV tham chiếu đến cột MADV của bảng DONVI :

ALTER TABLE nhanvien ADD CONSTRAINT_nhavien_madv

KEY(madv) REFERENCES donvi(madv) ON DELETE CASCADE ON UPDATE CASCADE

Xoá bỏ ràng buộc kiểm tra số điện thoại của nhân viên

ALTER TABLE nhanvien DROP CONSTRAINT

Khi thêm một cột mới vào bảng đã có ít nhất một bản ghi, cột này cần phải cho phép giá trị NULL hoặc có một giá trị mặc định để đảm bảo tính toàn vẹn dữ liệu.

Để xóa một cột đang bị ràng buộc hoặc tham chiếu bởi khóa ngoài, trước tiên cần phải xóa các ràng buộc hoặc khóa ngoài liên quan Điều này đảm bảo rằng cột không còn bất kỳ ràng buộc nào và không bị tham chiếu bởi khóa ngoài nào khác.

Khi bổ sung ràng buộc cho một bảng đã có dữ liệu, nếu các bản ghi hiện tại không đáp ứng yêu cầu của ràng buộc mới, lệnh ALTER TABLE sẽ không thể thực hiện.

Xoá bảng

Khi một bảng không còn cần thiết , ta có thể xoá nó ra khỏi cơ sở dữ liệu bằng câu lệnh

DROP TABLE Câu lệnh này cũng đồng thời xoá tất cả những ràng buộc, chỉ mục, trigger liên quan đến bảng đó

Câu lệnh có cú pháp như sau:

Khi sử dụng lệnh DROP TABLE trong các hệ quản trị cơ sở dữ liệu, bảng và dữ liệu của nó sẽ bị xóa vĩnh viễn và không thể khôi phục Vì vậy, người dùng cần hết sức cẩn trọng khi thực hiện lệnh này.

Câu lệnh DROP TABLE không thể thực hiện nếu bảng cần xoá đang bị ràng buộc bởi một FOREIGN KEY Để thực hiện việc xoá bảng, cần phải xoá ràng buộc FOREIGN KEY hoặc bảng đang tham chiếu đến bảng cần xoá trước.

Khi một bảng bị xoá, tất cả các ràng buộc, chỉ mục và trigger liên quan cũng sẽ bị xóa theo Vì vậy, khi tạo lại bảng, cần phải khôi phục các đối tượng này.

Để xóa bảng DONVI khỏi cơ sở dữ liệu, cần thực hiện hai câu lệnh, vì cột MADV trong bảng này đang được tham chiếu bởi khóa ngoài fk_nhanvien_madv trong bảng NHANVIEN.

Xoá bỏ ràng buộc fk_nhanvien_madv khỏi bảng NHANVIEN:

ALTER TABLE nhanvien DROP CONSTRAINT fk_nhanvien_madv Xoá bảng DONVI:

Ngôn ngữ thao tác dữ liệu

Bảo mật trong SQL

Ngày đăng: 26/12/2021, 17:28

HÌNH ẢNH LIÊN QUAN

Hình 1.1 minh hoạ cho ta thấy được 3 bảng trong một cơ sở dữ liệu - Giáo trình môn họcmô đun Hệ quản trị cơ sở dữ liệu SQL Server
Hình 1.1 minh hoạ cho ta thấy được 3 bảng trong một cơ sở dữ liệu (Trang 7)
Bảng SINHVIEN tương ứng với một sinh viên), và mỗi một cột biểu diễn cho một tính  chất của thực thể (chẳng hạn cột NGAYSINH trong bảng SINHVIEN biểu diễn cho  ngày sinh của các sinh viên được lưu trữ trong bảng) - Giáo trình môn họcmô đun Hệ quản trị cơ sở dữ liệu SQL Server
ng SINHVIEN tương ứng với một sinh viên), và mỗi một cột biểu diễn cho một tính chất của thực thể (chẳng hạn cột NGAYSINH trong bảng SINHVIEN biểu diễn cho ngày sinh của các sinh viên được lưu trữ trong bảng) (Trang 8)
Như đã nói đến ở chương 1, bảng dữ liệu là cấu trúc có vai trò quan trọng nhất  trong cơ sở dữ liệu quan hệ - Giáo trình môn họcmô đun Hệ quản trị cơ sở dữ liệu SQL Server
h ư đã nói đến ở chương 1, bảng dữ liệu là cấu trúc có vai trò quan trọng nhất trong cơ sở dữ liệu quan hệ (Trang 25)
Hình dưới đây cho ta thấy được mối quan hệ giữa 3 bảng DIEMTHI, SINHVIEN - Giáo trình môn họcmô đun Hệ quản trị cơ sở dữ liệu SQL Server
Hình d ưới đây cho ta thấy được mối quan hệ giữa 3 bảng DIEMTHI, SINHVIEN (Trang 32)
Bảng LOP - Giáo trình môn họcmô đun Hệ quản trị cơ sở dữ liệu SQL Server
ng LOP (Trang 50)
Bảng DONVI Bảng NHANVIEN - Giáo trình môn họcmô đun Hệ quản trị cơ sở dữ liệu SQL Server
ng DONVI Bảng NHANVIEN (Trang 57)
Bảng NHANVIEN - Giáo trình môn họcmô đun Hệ quản trị cơ sở dữ liệu SQL Server
ng NHANVIEN (Trang 79)
Sơ đồ dưới đây (bạn tự lựa chọn kiểu dữ liệu cho phù hợp) - Giáo trình môn họcmô đun Hệ quản trị cơ sở dữ liệu SQL Server
Sơ đồ d ưới đây (bạn tự lựa chọn kiểu dữ liệu cho phù hợp) (Trang 81)
Bảng MATHANG - Giáo trình môn họcmô đun Hệ quản trị cơ sở dữ liệu SQL Server
ng MATHANG (Trang 104)
Bảng NHATKYBANHANG - Giáo trình môn họcmô đun Hệ quản trị cơ sở dữ liệu SQL Server
ng NHATKYBANHANG (Trang 105)

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

TÀI LIỆU LIÊN QUAN

w