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

HE QUAN TRI CSDL SQL sever

161 1,2K 2

Đ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

Định dạng
Số trang 161
Dung lượng 4,46 MB

Nội dung

SQL Struct query langue Server là hệ thống quản trị cơ sở dữ liệu quan hệ Relational DataBase Management System- RDBMS sử dụng các lệnh SQL để trao đổi dữ liệu giữa Client và Server...

Trang 1

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

– SQL SERVER

Nguyễn Thị Tuyết – Khoa CNTT

Đại học Quy Nhơn tuyetdhqn@gmail.com

Trang 2

NỘI DUNG

 Bài 1: Tổng quan về SQL Server

 Bài 2: Bảng dữ liệu - Table

 Bài 3: Truy vấn dữ liệu

Trang 3

Thời lượng & Tài liệu tham khảo

 60 tiết: 40 tiết lý thuyết+20 tiết thực hành

 Thi kiểm tra trên máy.

Phong – ĐH Huế

Trang 4

Bài 1: Tổng quan về SQL Server

Trang 5

1 Giới thiệu Hệ QTCSDL-SQL Server

a Hệ QTCSDL quan hệ là gì?

Mỗi cơ sở dữ liệu quan hệ là một tập hợp dữ liệu được

tổ chức trong những bảng hai chiều có quan hệ với nhau

Một RDBMS có nhiệm vụ:

- Lưu trữ và tạo dữ liệu sẵn có trong các bảng

- Duy trì quan hệ giữa các bảng trong cơ sở dữ liệu

- Bảo đảm tích hợp dữ liệu bằng cách tạo các qui tắc quản lý giá trị dữ liệu

- Khôi phục mọi dữ liệu trong trường hợp hệ thống có

sự cố

Trang 6

1 Giới thiệu Hệ QTCSDL-SQL Server

b SQL (Struct query langue) Server là

hệ thống quản trị cơ sở dữ liệu quan hệ (Relational DataBase Management System- RDBMS) sử dụng các lệnh SQL để trao đổi dữ liệu giữa Client và Server.

Trang 7

 Sử dụng câu lệnh truy vấn dữ liệu Transaction-SQL (Access là SQL, Oracle là PL/SQL)

Trang 8

3 Các ấn bản của SQL Server

 Enterpise Manager: Là ấn bản đầy đủ của SQL Server có thể chạy trên 32CPU và 64GB RAM

Có các dịch vụ phân tích dữ liệu Analysis Service.

 Standard: Giống như Enterprise nhưng bị hạn chế một số tính năng cao cấp, có thể chạy trên 2CPU, 4GB RAM.

 Personal: Phiên bản này chủ yếu để chạy trên PC, nên có thể chạy trên các hệ điều hành Windows 9x, Windows XP, Windows 2000, Windows 2003…

Trang 9

 Win CE: Sử dụng cho các ứng dụng chạy trên Windows CE.

Trang 10

3 Các ấn bản của SQL Server

 Trial: Phiên bản dùng thử, bị giới hạn bởi thời gian.

 SQL Client: Là phiên bản dành cho máy khách, khi thực hiện khai thác sẽ thực hiện kết nối đến phiên bản SQL Server, phiên bản này cung cấp giao diện GUI khai thác cho người sử dụng.

 SQL Connectivity only: Là phiên bản sử dụng chỉ cho các ứng dụng để kết nối đến SQL Server, phiên bản này không cung cấp công cụ GUI cho người dùng khai thác SQL Server

Trang 11

4 Các thành phần của SQL server

- Database : CSDL của SQL server

- Tập tin log : tập tin lưu trữ những chuyển tác của SQL

- Tables : bảng dữ liệu

- Filegroups : tập tin nhóm

- Diagrams : sơ đồ quan hệ

- Views : khung nhìn (hay bảng ảo) số liệu dự trên bảng

- Stored procedure : thủ tục và hàm nội

- User defined function : hàm do người dùng định nghĩa

- Users : người sử dụng cơ sở dữ liệu

- Roles : các quy định vai trò và chức năng trong HT

- Rules : những quy tắc

- Defaults : các giá trị mặc nhiên

- User-defined data types: kiểu dữ liệu do người dùng tự định nghĩa

Trang 12

5 Cài đặt

 Thực hành

Trang 13

6 Quản trị SQL Server

a Khởi động

 StartPrograms Microsoft SQL Server 2008

SQL Server Management Studio

Chọn

Trang 14

a Khởi động Cửa sổ lệnh (nhấp chọn)

Trang 15

b Tạo CSDL

Chuột phải tại DatabaseNew Database

Gõ tên CSDL

Nhấn OK

Trang 16

c Quản trị CSDL

Trang 17

c Quản trị CSDL

Trang 18

c Quản trị CSDL: CSDL hệ thống gồm

- Master: Lưu trữ các thông tin login account, cấu hình hệ thống, thông tin quản trị các CSDL, là CSDL quan trọng nên thường được sao lưu để bảo đảm an toàn cho hệ thống.

- Tempdb: Chứa các table tạm thời và các thủ tục được lưu trữ tạm thời Các table và thủ tục nói trên được lưu trữ trong CSDL này phục vụ cho các user.

- Model: Được sử dụng khi template được sử dụng cho các CSDL được tạo trên một hệ thống.

- Msdb: Sử dụng bởi SQL Agent

Trang 19

 Tạo CSDL: trước khi tạo CSDL ta phải thực hiện phân tích các thông tin liên quan mục đích sử dụng CSDL cho bài toán của mình: Tên CSDL, các table, ràng buộc,… tuân theo các chuẩn CSDL.

 Tạo CSDL có 2 cách: theo công cụ wizard và câu lệnh SQL: CREATE DATABASE tencsdl

 Một câu lệnh có thể viết trên nhiều dòng, nhiều câu lệnh có thể viết trên một dòng

 Thực hiện câu lệnh bằng cách bôi đen rồi nhấn F5,

chú ý câu lệnh đang thực hiện trên Database nào.

d Tạo CSDL

Trang 21

Bài 2: BẢNG DỮ LIỆU – TABLE

Trang 22

1 Chuẩn trong CSDL

Chuẩn giúp cho việc quản trị dữ liệu có hiệu quả, khắc phục dư thừa, thuận lợi trong quản trị dữ liệu lớn, hiệu quả với dữ liệu phức tạp.

Chuẩn thứ nhất: Chuẩn thứ nhất xác định cấu trúc của một bảng

không thể chứa các trường lặp lại.

Ví dụ: giả sử muốn lưu trữ thông tin một quyển sách, mỗi quyển sách có thể có một hoặc nhiều tác giả tham gia biên soạn, nếu không tuân theo chuẩn thứ nhất như nếu trên thì trong một bảng dữ liệu sách có thể có nhiều trường dữ liệu xác định thông tin tác giả.

ID Tên sách NXB Tác giả 1 Tác giả 2

Trang 23

Chuẩn thứ hai: xác định trong các hàng dữ liệu, mỗi cột đều phụ

thuộc vào cột khóa chính Ta xem xét một trường hợp vi phạm chuẩn thứ hai như sau:

Giả sử xét tình huống sinh viên mượn sách trong một thư viện, việc mượn sách được nhật ký theo bảng như sau:

Id_sach Id_Sinhvien Ngày mượn Sức khỏe sinh

viên

1 Chuẩn trong CSDL (tiếp)

Trang 24

Chuẩn thứ ba: xác định bản ghi tuân thủ theo chuẩn thứ hai và

không có bất kỳ phần phụ thuộc chuyển tiếp nào Phần phụ thuộc chuyển tiếp tồn tại khi một bảng chứa một cột đặc trưng Cột này không phải là khóa nhưng vẫn xác định các cột khác.

Id_sach Id_Sinhvien Ngày mượn Số lượng đã

mượn

Trang 25

2 THIẾT KẾ BẢNG DỮ LIỆU.

 Table (bảng dữ liệu) là một thành phần cơ bản của CSDL, một CSDL được thiết kế từ một hoặc nhiều bảng dữ liệu.

 Mỗi bảng dữ liệu được cấu trúc từ các hàng và cột dữ liệu.

 Mỗi hàng dùng mô tả một đối tượng, vấn đề, sự kiện,

 Cột thể hiện thuộc tính của các đối tượng, sự kiện, của hàng

 Dữ liệu cùng cột có cùng kiểu (data type) Ngoài các hàng, cột bảng còn có các khóa, liên kết, ràng buộc,

Trang 26

2 THIẾT KẾ BẢNG DỮ LIỆU.

Trước khi bắt tay vào thiết lập bảng dữ liệu ta phải xác định một số thông tin sau:

- Kiểu dữ liệu trong bảng.

- Các cột, kiểu dữ liệu tương ứng (và độ dài nếu cần thiết).

- Cột nào cho phép giá trị NULL (là giá trị mà phần dữ liệu thuộc hàng, cột xác định không được gán giá trị nào, vì vậy nên 2 phần tử có cùng giá trị NULL là không bằng nhau).

- Giá trị ngầm định (là giá trị mà khi chưa nhập vào nó nhận giá trị này).

- Chỉ số Index, khóa chính, khóa ngoài.

Trang 28

3 Kiểu dữ liệu

Binary: dữ liệu dạng số ở hệ hexa, gồm Binary, Varbinary, Image.

Text: kiểu ký tự, chứa chữ cái, ký hiệu, số, gồm:

- Char: Kiểu ký tự, khi xác định độ dài thì độ dài trong CSDL sẽ xác định theo độ dài đặt trước mà không theo độ dài dữ liệu thực có, không

sử dụng với ký tự dạng Unicode, độ dài tối đa là 8000.

- Nchar: Tương tự như Char nhưng sử dụng với ký tự Unicode, độ dài tối đa 4000.

- Nvarchar: Tương tự như NChar nhưng kích thước trong CSDL sẽ là kích thước thực dữ liệu hiện có, không tính theo kích thước đặt trước, kích thước tối đa là 4000.

- Varchar: Tương tự như Nvarchar nhưng không hỗ trợ Unicode.

- Text: Kiểu văn bản, chứa cả ký tự xuống dòng, lưu trữ theo dạng văn bản, có kích thước lớn, có thể lên đến vài Gb, cơ chế quản lý kiểu dữ liệu theo dạng con trỏ và cách thức chèn và cập nhật sẽ khác, kiểu dữ liệu này không hỗ trợ cho Unicode.

- Ntext: Tương tự như Text nhưng có hỗ trợ Unicode.

Trang 29

3 Kiểu dữ liệu (tiếp)

Date/Time: Kiểu dữ liệu ngày, thời gian, ngày và thời

gian, gồm 2 kiểu:

- DateTime: Đầy đủ cả ngày và thời gian.

- SmallDataTime: Chỉ ngày hoặc thời gian.

Numeric: Dữ liệu kiểu số, gồm các kiểu dữ liệu sau:

- Int, smallint, tinyint, bigint: Số nguyên

- Float, real, decimal, numeric: Số thực.

Monetary: Tiền tệ:

- Money, Smallmoney.

Bit: Kiểu số 0, 1.

Trang 31

4 Ràng buộc dữ liệu

 Để có một CSDL khi lưu trữ dữ liệu có độ tin cậy,

độ chính xác cao, nhanh và thuận tiện trong khai thác dữ liệu thì toàn vẹn dữ liệu là vấn đề hết sức quan trọng Khi ràng buộc được thiết lập, dữ liệu khi nhập vào CSDL sẽ được kiểm soát, độ tin cậy thông tin sẽ được bảo đảm.

Trang 32

Domain integrity

(Toàn vẹn theo miền)

Giá trị ngầm định Default Ràng buộc khóa ngoài Foreign Key Ràng buộc Check

Thuộc tính NOT NULL Referential integrity

(Toàn vẹn tham chiếu)

Ràng buộc Forelgn Key Ràng buộc Check

User-defined integrity

(Toàn vẹn do người dùng định nghĩa)

Rules Stored procedures Triggers

Trang 33

4 Ràng buộc dữ liệu (tiếp)

Khóa chính – Primary Key.

Là một hoặc tổ hợp nhiều cột dữ liệu xác định duy nhất trong một bảng, giá trị khóa chính luôn khác NULL

Khóa ngoài.

- Cột dữ liệu là khóa ngoài nều có quan hệ với khóa chính ở bảng khác, một bảng có thể có nhiều khóa ngoài, khóa ngoài có thể có giá trị NULL, giá trị của khóa ngoài luôn nằm trong tập giá trị của khóa chính trong mối quan hệ đã thiết lập

- Khóa ngoài và khóa chính phải có cùng kiểu dữ liệu, cùng kích thước

- Bảng tham chiếu phải được định nghĩa trước

Trang 34

4 Ràng buộc dữ liệu (tiếp)

Khóa chính Khóa ngoài

Trang 35

4 Ràng buộc dữ liệu (tiếp)

Trang 36

4 Ràng buộc dữ liệu (tiếp)

Ràng buộc Check.

Là ràng buộc khống chế dữ

liệu nằm trong một phạm

vi nào đó Ràng buộc này

sẽ kiểm tra dữ liệu khi

nhập vào

Nhấn chuột phải Chọn

Check Constranints

Trang 37

4 Ràng buộc dữ liệu (tiếp)

Nhấn vào dấu …

Gõ biểu thức điều kiện ràng buộc

Thêm, xóa ràng buộc

Tạo ràng buộc Check bằng công cụ

Trang 38

4 Ràng buộc dữ liệu (tiếp)

Giá trị ngầm định –

Default.

Giá trị gán cho cột dữ liệu

khi thêm bản ghi và chưa

nhập dữ liệu vào cột này

Trang 39

5 TẠO BẢNG DỮ LIỆU

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

Trang 40

và nhấn chuột -> nhấn chuột phải -> chọn Set primary key

Trang 41

5 Tạo bảng dữ liệu.

Trang 42

5 TẠO BẢNG DỮ LIỆU

Tạo bảng bằng câu lệnh

CREATE TABLE tên_bảng

( tên_cột thuộc_tính_cột các_ràng_buộc [,…,tên_cột thuộc_tính_cột các_ràng_buộc] [,các_ràng_buộc_trên_bảng])

Ví dụ: Câu lệnh dưới đây định nghĩa bảng

NHANVIEN với các trường MANV(mã nhân viên), HOTEN (họ và tên), NGAYSINH (ngày sinh của nhân viên), DIENTHOAI (điện thoại) và HSLUONG (hệ số lương)

Trang 43

5 TẠO BẢNG DỮ LIỆU

Tạo bảng bằng câu lệnh

CREATE TABLE nhanvien

Trang 44

6 SỬA, XÓA CẤU TRÚC BẢNG

6.1 Sửa cấu trúc bảng

Sử dụng công cụ.

- Chọn bảng cần sửa đổi của CSDL đang dùng.

- Nhấp chuột phải -> chọn Modify.

- Thực hiện sửa cấu trúc bảng.

Trang 45

6 SỬA, XÓA CẤU TRÚC BẢNG

Trang 46

6 SỬA, XÓA CẤU TRÚC

BẢNG

6.1 Sửa cấu trúc bảng

Sử dụng câu lệnh

- Thêm ràng buộc Check

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

- Thêm ràng buộc Khóa

[CONSTRAINT tên_ràng_buộc] PRIMARY KEY [(danh_sách_cột)]

- Thêm ràng buộc Unique

[CONSTRAINT tên_ràng_buộc] UNIQUE [(danh_sách_cột)]

- Thêm ràng buộc FOREIGN KEY

[CONSTRAINT tên_ràng_buộc] FOREIGN KEY [(danh_sách_cột)] REFERENCEStên_bảng_tham_chiếu(danh_sách_cột_tham_chiếu)

[ON DELETE CASCADE | NO ACTION | SET NULL | SET DEFAULT]

[ON UPDATE CASCADE | NO ACTION | SET NULL | SET DEFAULT]

Trang 47

6 SỬA, XÓA CẤU TRÚC BẢNG

6.1 Sửa cấu trúc bảng

Sử dụng câu lệnh

- Nếu bảng Nhanvien chưa tạo trong CSDL thì:

CREATE TABLE nhanvien

(manv NVARCHAR(10)

CONSTRAINT pk_mavv PRIMARY KEY,

hoten NVARCHAR(50) NOT NULL,

Ngaysinh DATETIME

CONSTRAINT chk_ngaysinh

CHECK (2007-YEAR(NGAYSINH)>24),

Dienthoai NVARCHAR(10) NULL,

CONSTRAINT unique_nv UNIQUE(dienthoai),

Hsluong DECIMAL(3,2) DEFAULT(2.16))

Trang 48

6 SỬA, XÓA CẤU TRÚC BẢNG

ADD CONSTRAINT tên_ràng_buộc

định_nghĩa_ràng_buộc / DROP CONSTRAINT

tên_ràng_buộc

Trang 49

6.1 SỬA CẤU TRÚC BẢNG

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

 CREATE TABLE donvi

( Madv INT NOT NULL PRIMARY KEY,

Tendv NVARCHAR(30)NOT NULL)

 CREATE TABLE nhanvien

( Manv NVARCHAR(10) NOT NULL,

Hoten NVARCHAR(30) NOT NULL,

Ngaysinh DATETIME,

Diachi CHAR(30) NOT NULL)

 ALTER TABLE nhanvien

ADD dienthoai NVARCHAR(6)

CONSTRAINT chk_nhanvien_dienthoai

CHECK (dienthoai LIKE '[0-9][0-9][0-9][0-9][0-9][0-9]')

 ALTER TABLE nhanvien

ADD madv INT NULL

Trang 50

 Xoá cột ngà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 PRIMARY KEY(manv)

Trang 51

6.1 SỬA CẤU TRÚC BẢNG

 Đị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 nhanvienADD CONSTRAINT fk_nhanvien_madvFOREIGN 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ênALTER TABLE nhanvien

DROP CONSTRAINT CHK_NHANVIEN_DIENTHOAI

Trang 52

hệ thì không xóa được

Phải xóa ràng buộc trước khi xóa bảng.

Trang 53

6.2 Xóa bảng

Sử dụng lệnh DROP TABLE tên_bảng

 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:

DROP TABLE donvi

Trang 56

7 Nhập dữ liệu vào bảng

Sử dụng câu lệnh.

- INSERT INTO tên_bảng[(danh_sách_cột)]

VALUES(danh_sách_giá trị)

- Có thể không cần ghi danh_sách _cột sau

tên_bảng nếu danh_sách_giá_trị phải đủ và theo

thứ tự trong bảng.

- Nếu cột dữ liệu hỗ trợ Unicode thì trước giá trị

nhập vào bạn phải thêm kèm ký tự N

Trang 57

7 Nhập dữ liệu vào bảng

Sử dụng lệnh

 Insert into NXB(Ten, Dia_chi)

values(N’Kim Đồng’, N’Hà Nội’)

 INSERT INTO nhanvien

VALUES('NV01','Le Van A', '2/4/75', ‘896963', 2.14)

 INSERT INTO nhanvien(manv,hoten)

VALUES('NV02','Mai Thi B')

 INSERT INTO nhanvien(manv,hoten,dienthoai) VALUES('NV03','Tran Thi C','849290')

Trang 58

7 Nhập dữ liệu vào bảng

INSERT vào bảng lấy giá trị từ bảng khác

- Các giá trị dữ liệu được bổ sung vào bảng không được chỉ định tường minh mà thay vào đó là một câu lệnh SELECT truy vấn dữ liệu từ bảng khác.

Trang 59

8 Cập nhật dữ liệu bằng câu lệnh UPDATE

Trang 60

8 Cập nhật dữ liệu bằng câu lệnh UPDATE

END

Trang 61

8 Cập nhật dữ liệu bằng câu lệnh UPDATE

Trang 62

8 Cập nhật dữ liệu bằng câu lệnh UPDATE

*Câu lệnh UPDATE với truy vấn con

Tương tự như trong câu lệnh SELECT, truy vấn con có thể được sử dụng trong mệnh đề WHERE của câu lệnh UPDATE nhằm chỉ định điều kiện đối với các dòng dữ liệu cần cập nhật dữ liệu

Ví dụ: Câu lệnh trên có thể được viết như sau:

Trang 63

9 Xóa dữ liệu bằng câu lệnh DELETE

DELETE FROM tên_bảng

[FROM danh_sách_bảng]

[WHERE điều_kiện]

Ví dụ: Câu lệnh dưới đây xoá khỏi bảng SINHVIEN

những sinh viên sinh tại Huế

DELETE FROM sinhvien

WHERE noisinh LIKE ‘%Huế%’

Ví dụ: Xoá dữ liệu khi điều kiện liên quan đến nhiều bảng, ví dụ xoá ra khỏi bảng SINHVIEN những sinh

Trang 64

9 Sử dụng truy vấn con trong câu lệnh

DELETE

ví dụ: xóa khỏi bảng LOP những lớp không có sinh viên nào học

DELETE FROM lop

WHERE malop NOT IN (SELECT DISTINCT malop FROM sinhvien)

Ví dụ: Xoá toàn bộ dữ liệu trong bảng

DELETE FROM diemthi

có tác dụng tương tự với câu lệnh

TRUNCATE TABLE diemthi

Ngày đăng: 04/10/2016, 00:27

TỪ KHÓA LIÊN QUAN

w