1. Trang chủ
  2. » Trung học cơ sở - phổ thông

BẢNG ĐIỂM HỌC PHẦN SQL – LỚP CT15

39 12 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

Định dạng
Số trang 39
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ó thể khai báo ràng buộc trong lúc tạo bảng hoặc sau khi bảng đã tồn tại.. Rule[r]

Trang 1

Chương 2: Xây dựng, quản lý và khai

thác Cơ sở dữ liệu

Trang 2

Nội dung

• Khái niệm Database

• Tạo và quản lý Database

• Các kiểu dữ liệu

• Tạo và quản lý bảng

• Ràng buộc toàn vẹn đơn giản

• Các thao tác trên dữ liệu

Trang 3

CSDL - Logic

• Một database là một tập hợp chứa:

– Các bảng (tables) chứa dữ liệu có cấu trúc và các ràng

buộc(constraint) định nghĩa trên các bảng

Trang 4

CSDL – lưu trữ vật lý

• Một database của SQL Server được lưu trữ bởi 3 loại tập tin:

– Tập tin dữ liệu (data file)

1 tập tin dữ liệu chính (primary data file), thường có đuôi “mdf”

– Chứa các dữ liệu khởi đầu của database

 0-n tập tin dữ liệu thứ cấp (secondary data file), thường có đuôi “ndf”

– Chứa các dữ liệu không lưu trữ hết trong tập tin dữ liệu chính

Trang 5

CSDL – lưu trữ vật lý

– Tập tin nhật ký giao tác (transaction log file)

1-n tập tin nhật ký, thường có đuôi “ldf”

– Chứa các thông tin về nhật ký giao tác, dùng để phục hồi database sau khi xảy ra sự cố

Trang 6

Nội dung

• Khái niệm Database

• Tạo và quản lý Database

• Kiểu dữ liệu

• Tạo và quản lý bảng

• Ràng buộc toàn vẹn đơn giản

• Các thao tác trên dữ liệu

Trang 8

Tạo Database (tt)

Với file_spec :: = ( Name = logical_file_name ,

Filename = 'os_file_name '

[ , Size = size [ KB | MB | GB | TB ] ] [ , Maxsize = { max_size | Unlimited } ]

[ , Filegrowth = growth_increment ] )

• Mặc định, các tập tin dữ liệu và log được lưu trong thư mục

MSSQL\ Data của thư mục cài đặt SQL Server

Trang 9

Filegrowth = 10% )

Trang 10

( Name = QLSV_Log,

Filename = „D:\ \QLSV_Log.ldf‟ )

Trang 11

Thay đổi và xoá Database

• Xoá một CSDL đã tồn tại:

Drop Database database_name

• Thay đổi một CSDL

Alter Database database_name

– Thêm/xoá/ thay đổi các các tập tin

– Thay đổi các tùy chọn cho database

Trang 12

Nội dung

• Khái niệm Database

• Tạo và quản lý Database

• Kiểu dữ liệu

• Tạo và quản lý bảng

• Ràng buộc toàn vẹn đơn giản

• Các thao tác trên dữ liệu

Trang 13

Kiểu dữ liệu được SQL Server cung cấp

Fixed point

– Decimal(p,s) – Numeric(p,s)

Trang 14

Kiểu dữ liệu được SQL Server cung cấp (tt)

Trang 15

Kiểu người dùng tự định nghĩa

• Định nghĩa một kiểu dữ liệu:

sp_addtype type_name, system_type [, „null_type‟ ]

– Ví dụ:

Exec sp_addtype MyString, nvarchar(88), „NULL‟

• Xóa một kiểu dữ liệu người dùng định nghĩa:

sp_droptype „type_name’

Trang 16

Nội dung

• Khái niệm Database

• Tạo và quản lý Database

• Kiểu dữ liệu

• Tạo và quản lý bảng

• Ràng buộc toàn vẹn đơn giản

• Các thao tác trên dữ liệu

Trang 17

Tạo bảng

• Tạo bảng

– Xác định các cột (các thuộc tính) của bảng

– Xác định khóa chính

– Xác định các thuộc tính null/ not null

– Xác định thuộc tính identity (nếu có) (bắt buộc phải là kiểu số

nguyên mới có thuộc tính này)

• Lưu ý:

– Luôn tạo khóa chính cho một bảng

Trang 18

[, [constraint constraint_name] primary key ( Column_name [,…n] ) ]

[, [constraint constraint_name] foreign key ( Column_name [,…n] )

referencesTable_name ]

)

– Lưu ý có thể tạo khóa chính/khóa ngoại trực tiếp khi có một thuộc tính, e.g

“column_name type primary key” và “column_name type references

table_name”

– Tên constraint là không bắt buộc

– Có thể tạo khóa ngoại ngay khi tạo bảng

Trang 19

Tạo bảng – ví dụ

Create table HOCSINH

(

STT tinyint not null,

Lop char(5) not null default ‟11A1‟ ,

HoTen nvarchar(30) not null,

NgaySinh datetime not null,

DiaChi nvarchar(100),

constraint pk_HS primary key (STT, Lop)

)

Trang 20

Thay đổi cấu trúc bảng / xóa bảng

• Thay đổi cấu trúc bảng

Alter table…

– Thêm/ xoá/ cập nhật kiểu dữ liệu… của một cột (column)

– Thêm/ xoá/ kiểm tra/ không kiểm tra ràng buộc (constraint)

– Enable/ disable trigger

• Xóa bảng

Drop table … – Nếu không có bảng này sẽ báo lỗi bảng không tồn tại

– Có thể kiểm tra nếu có thì mới xóa để tránh lỗi bằng lệnh if

exists(SFW) dùng table hệ thống SysObjects

Trang 21

Thay đổi cấu trúc bảng – ví dụ

Alter table HOCSINH

Add DanToc nvarchar(20) null default „Kinh‟

Alter table HOCSINH

Alter column NgaySinh SmallDatetime not null

Trang 22

– Ví dụ: đọc thông tin về các bảng trong database hiện hành:

Select * from sysobjects where type = „U‟

Trang 24

Nội dung

• Khái niệm database

• Tạo và quản lý database

• Kiểu dữ liệu

• Tạo và quản lý bảng

• Ràng buộc toàn vẹn đơn giản

• Các thao tác trên dữ liệu

Trang 25

Ràng buộc toàn vẹn đơn giản

• SQL cung cấp sẵn cơ chế để kiểm tra

– Khoá ngoại (foreign key constraint)

– Giá trị duy nhất (unique constraint)

Hữu dụng khi cài đặt thêm các khóa ứng viên khác ngoài khóa chính

– Check constraint ( Kiểm tra ràng buộc miền giá trị hoặc ràng buộc liên

thuộc tính trên một quan hệ)

Trang 26

Khai báo ràng buộc trong lúc tạo bảng

Trang 27

Khai báo ràng buộc trong lúc tạo bảng – Ví dụ

Create table SinhVien

(

MaSV char(10) not null,

HoTen nvarchar(30) not null,

Nam tinyint,

CMND char(10),

Khoa char(5),

constraint pk_SV primary key (MaSV),

constraint u_CMND unique (CMND),

Trang 28

Khai báo ràng buộc trên bảng đã tồn tại

• Cú pháp:

Alter table table_name

[with check| with nocheck] Add

{ constraint constraint_name

Trang 29

Khai báo ràng buộc trên bảng đã tồn tại – Ví dụ

Alter table SINHVIEN

with check add

constraint u_CMND unique (CMND),

constraint chk_Nam check (Nam in (1, 2, 3, 4) ),

constraint fk_SV_maKhoa foreign key (Khoa),

references KHOA(MaKhoa)

/* giả sử đã tồn tại bảng KHOA( MaKhoa, …) */

Trang 30

Kiểm tra / không kiểm tra ràng buộc

• Cú pháp :

Alter table Table_name {Check| Nocheck} constraint { All | constraint_name [,…n] }

• Ví dụ

alter table SINHVIEN

nocheck constraint u_CMND, chk_Nam

Trang 31

Alter table SINHVIEN

drop constraint u_CMND, chk_Nam

Trang 33

Tạo rule

• Cú pháp:

Create rule rule_name

as logical_expression

– “logical_expression” phải chứa một biến Biến này tương

ứng với đối tượng sẽ được áp dụng rule

• Ví dụ:

create rule r_SoDuong

as @value >0

Trang 34

Kết buộc/ gỡ kết buộc rule

• Kết buộc rule

sp_bindrule „rule_name‟, „object‟, [ „futureonly‟ ]

Tùy chọn futureonly chỉ dùng khi kết buộc rule với kiểu dữ liệu người

dùng định nghĩa, có nghĩa các cột thuộc kiểu dữ liệu này trước đó không bị ảnh hưởng bởi rule

Ví dụ:

sp_bindrule „r_SoDuong‟, „SinhVien.Nam‟

Rule mới kết buộc sẽ ngầm gỡ rule cũ trên đối tượng

• Gỡ kết buộc

sp_unbindrule „object‟, [ „futureonly‟ ]

Ví dụ:

Trang 35

Xoá rule

Cú pháp

Chỉ xóa được rule khi nó không còn kết buộc với đối

tượng nào

Nếu ngược lại, khi còn đang kết buộc nhưng vẫn còn

xóa đi, phải gỡ hết các kết buộc mới có thể xóa

Trang 36

Nội dung

• Khái niệm database

• Tạo và quản lý database

• Kiểu dữ liệu

• Tạo và quản lý bảng

• Ràng buộc toàn vẹn đơn giản

• Các thao tác trên dữ liệu

Trang 37

Thêm/ xoá/ cập nhật dữ liệu

• Chú ý khi thêm/ xóa / cập nhật

– Dữ liệu nhập phải phù hợp với kiểu dữ liệu

– Đảm bảo các ràng buộc toàn vẹn

– Chú ý định dạng của các giá trị:

kiểu chuỗi unicode N‟giá trị chuỗi Tiếng Việt có dấu hoặc Unicode‟

kiểu datetime „13 Jan 09‟ hay ‟13/01/09‟ hay „01/13/09‟ biểu thức nào

đúng? Nên dùng set dateformat dmy; để định dạng kiểu ngày tháng

dùng ở Việt Nam

– Nhập giá trị rỗng dùng từ khóa null (không phải chuỗi „null‟)

Trang 38

Các dạng lệnh insert

• Thêm từng dòng dữ liệu vào bảng

Insert [into] Table_name[ (column_name[,…n] )]

values ( value [,…n] ) [, values (value [,…n] ), [,…n] ]

• Thêm các dòng dữ liệu từ bảng khác

Insert [into] Table_name

Select_statement

• Lưu ý: trong câu select, ta có thể đọc dữ liệu từ các

bảng trong database khác Khi đó, tên bảng được viết đầy đủ như sau:

Database_name.Owner.Table_name

– Ví dụ:

select * from QLSinhVien.dbo.SinhVien

Trang 39

Truy vấn

Ngày đăng: 04/04/2021, 07:04

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w