Lý thuyết hệ quản trị cơ sở dữ liệu (KMA)

10 0 0
Lý thuyết hệ quản trị cơ sở dữ liệu (KMA)

Đang tải... (xem toàn văn)

Thông tin tài liệu

Tổng hợp những câu hỏi cần thiết và quan trọng của môn Hệ quản trị cơ sở dữ liệu (KMA). Tài liệu này giúp các bạn sinh viên có thể vượt qua các bài kiểm tra giữa kỳ, cuối kỳ và đạt kết quả cao nhất. Xin cảm ơn các bạn đã xem và tải tài liệu.

Trang 1

Các kiểu dữ liệu trong T – SQL

trợ Unicode nên viết

được tiếng Việt Bộ

nhớ cấp phát tĩnh Ví dụ:

Khai báo: Truong Nếu khai báo bằng Unicode nên viết

được tiếng Việt Bộ nhớ cấp phát động

text Lưu văn bản lớn Cấp phát bộ nhớ động theo chiều dài

• Khởi tạo Database trong SQL Server:

- Cách 1: Tạo Database bằng giao diện (UI): Chuột phải vào Database/ New Database - Cách 2: Tạo Databse bằng code

Trang 2

Bước 1: Kết nối SQL Server với SQL Server 2019 Management Studio Bước 2: Chọn New Query hoặc (Ctrl + N)

Bước 3: Gõ code

o Tạo Database theo yêu cầu: Cú pháp

create database tên_csdl on primary Tạo file data

Ví dụ Tạo Database QLSV với tập tin dữ liệu chính là QLSV.mdf, đặt tại thư

mục D:\ với dung lượng khởi tạo là 5MB, tối đa là 50MB và độ gia tăng kích

Trang 3

➢ Đổi tên Database

ALTER DATABASE <ten_Database> MODIFY NAME = <ten_moi>

Ví dụ Đổi tên CSDL “QLSV” thành “QL_SV”

ALTER DATABASE QLSV MODIFY NAME = QL_SV

➢ Xóa Database Khi sử dụng lệnh xóa, CSDL sẽ bị xóa khỏi vùng lưu trữ, muốn

tạo thì phải thực thi lại lệnh

Cú pháp DROP DATABASE <ten_Database>

<Tên trường 1> <Kiểu dữ liệu> [RBTV] [, ], <Tên trường 2> <Kiểu dữ liệu> [RBTV] [, ], <Tên trường n> <Kiểu dữ liệu> [RBTV] [, ]

MaSV char(10) primary key, HotenSV nvarchar(50) not null,

GioiTinh nchar(7) check (Gioitinh = N'Nam' or Gioitinh = N'Nữ'),

Trang 4

NgaySinh date not null,

ALTER TABLE Tên_bảng

ADD Tên_cột Kiểu_dữ_liệu [RBTV] [, ]

Ví dụ

alter table sinhvien add email char(30) unique

Chú ý Cột mới luôn được thêm vào cuối bảng 2 Xoá một cột khỏi bảng

Cú pháp

ALTER TABLE Tên_bảng DROP COLUMN Tên_cột

Ví dụ

alter table sinhvien drop column lop

Lưu ý: Muốn xóa được cột thì phải xóa ràng buộc của cột đó trước 3 Sửa đổi kiểu dữ liệu của cột

Cú pháp

ALTER TABLE Tên_bảng ALTER COLUMN Tên_cột

SP_RENAME 'Tên_bảng_cũ', 'Tên_bảng_mới'

Lưu ý Có dấu nháy hoặc không đều được 6 Xem cấu trúc của bảng

Trang 5

Ví dụ:

create table SINHVIEN (

MaSV char(10) primary key, HotenSV nvarchar(50) not null,

GioiTinh nchar(7) check (Gioitinh = N'Nam' or

Các bảng lưu trữ dữ liệu theo các dòng;

Câu lệnh INSERT INTO dùng để thêm một dòng mới vào bảng

➢ Cú pháp

INSERT INTO tenbang(cot1, cot2, cot3, ,) VALUES (gt1, gt2, gt3, )

➢ Ví dụ

insert into SINHVIEN values ('AT1', N'Cao Thu Huyền', N'Nữ’,'AT16A', N'Hà Nội', '10/10/1998','abc@gmail.com')

➢ Lưu ý

- Nếu dữ liệu kiểu text và kiểu Date, khi chèn phải có ‘ ’, nếu là kiểu

nvachar thì phải có tiếp đầu ngữ N’

- Dữ liệu kiểu Date yêu cầu nhập tháng/ngày/năm hoặc năm/tháng/ngày hoặc nhập dưới dạng chuỗi

- Dữ liệu dạng tự tăng thì không cần nhập

- Cột nhập dữ liệu có thể thay đổi nhưng phải tương ứng với cột đưa giá trị vào

Xem dữ liệu trên bảng

➢ Cú pháp SELECT * FROM <tenbang> SELECT * FROM Sinhvien

Trang 6

Cập nhật dữ liệu trên bảng – UPDATE

➢ Ý nghĩa

1 UPDATE là truy vấn được sử dụng để chỉnh sửa những bản ghi đã tồn tại trong bảng

2 Có thể sử dụng mệnh đề WHERE với lệnh UPDATE để cập nhật các hàng được chọn, nếu không muốn tất cả các hàng trong bảng bị ảnh hưởng

DELETE FROM SINHVIEN WHERE MaSV = ‘DT1’

➢ Yêu cầu So sánh DROP, DELETE VÀ TRUNCATE

- Câu lệnh Drop Table không thể thực hiện nếu bảng cần xóa được tham chiếu

bởi một Foreign Key

- Các ràng buộc, chỉ mục, trigger, đều bị xóa, nếu tạo lại bảng thì cũng phải tạo lại các đối tượng này

- Sau khi xóa không thể khôi phục lại bảng và dữ liệu bảng

Trang 7

Cách khai báo RBTV

➢ Cú pháp

1 Khai báo ở mức cột

✓ Khai báo không đặt tên cho ràng buộc

<Tencot> <kieudulieu> <loairangbuoc>

✓ Khai báo đặt tên cho ràng buộc

<Tencot> <kieudulieu> constraint <tenrangbuoc> <loairangbuoc>

2 Khai báo ở mức bảng

constraint <tenrangbuoc> <loairangbuoc> (dscot)

Thêm ràng buộc mới vào bảng

➢ Ý nghĩa

✓ Dùng để thêm ràng buộc (constraint) mới vào bảng đã được tạo sẵn ✓ Sử dụng từ khóa Alter table\

➢ Cú pháp:

ALTER TABLE <tenbang>

ADD CONSTRAINT <tenrangbuoc> <loairangbuoc> (dscot)

Default

➢ Ý nghĩa

DEFAULT là ràng buộc mặc định Khi nhập dữ liệu cho bảng mà cột đó không được cung cấp giá trị thì giá trị mặc định sẽ được sử dụng

Cách 1: Không đặt tên cho ràng buộc

create table MONHOC (

MaMH char(4) primary key,

TenMH nvarchar(40) default 'Tên môn học', DVHT tinyint

)

Cách 2: Đặt tên cho ràng buộc

create table MONHOC (

MaMH char(4) primary key,

TenMH nvarchar(40) constraint default_MH default('Tên môn học'), DVHT tinyint,

)

Trang 8

Check

➢ Ý nghĩa: CHECK là ràng buộc kiểm tra Yêu cầu cột tương ứng phải thỏa mãn một biểu

thức logic

Khai báo ràng buộc CHECK ở mức cột:

create table KETQUA (

MaSV char(3) not null, MaMH char(4) not null,

MaSV char(3) not null, MaMH char(4) not null,

Khai báo ràng buộc CHECK ở mức bảng:

khi muốn đặt tên cho ràng buộc và định nghĩa ràng buộc CHECK trên nhiều cột CREATE TABLE Persons (

ID int NOT NULL,

LastName varchar(255) NOT NULL,

Khai báo ràng buộc CHECK sau khi tạo bảng (ràng buộc mức bảng)

alter table KETQUA add constraint Chk_KQ check(diem>=0 and diem <=10)

Khoá chính

Tạo khoá chính sau khi tạo bảng thành công:

alter table KETQUA

add constraint PK_KQ primary key (MaSV, MaMH)

Trang 9

Khoá ngoại

Cách tạo khoá ngoại:

➢ Tạo khóa ngoại trong lúc tạo bảng

create table KETQUA (

MaSV char(3) foreign key references SINHVIEN, MaMH char(4) foreign key references MONHOC , Diem tinyint check(diem>=0 and diem <=10), constraint PK_KQ primary key (MaSV, MaMh) )

➢ Tạo khóa ngoại sau khi tạo bảng

alter table KETQUA add constraint FK_SV foreign key (MaSV) references

alter table KETQUA drop constraint PK_KQ alter table SINHVIEN drop constraint Unique_SV

Identity

Cú pháp

IDENTITY(seed, increment)

Trong đó seed là giá trị khởi tạo increment là giá trị tăng cho mỗi lần

Khi không khởi tạo thì seed và increment đều có giá trị bằng 1

Ví dụ ID int IDENTITY(1000,5)

ID int IDENTITY(-10,-5)

Ngày đăng: 08/04/2024, 23:50

Tài liệu cùng người dùng

Tài liệu liên quan