CSDL Lab2 Định nghĩa cơ sở dữ liệu - Trường Cao đẳng Quốc tế KENT

CSDL Lab2 Định nghĩa cơ sở dữ liệu/Trường Cao đẳng Quốc tế KENT. Tài liệu được biên soạn dưới dạng file PDF gồm 15 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!

lOMoARcPSD|41967345
c 2: Nhn vào nút RUN hoc phím tắt F5 để thực thi đoạn SCRIPT đã được đánh
khi.
c 3: Xem kết qu tr v 1.2
Tạo cơ sở d liu
Cú pháp
Ví d
Tạo cơ sở d liu:
CREATE DATABASE [Tên CSDL] Chn
CSDL để thao tác: USE [Tên CSDL] Xoá
cơ sở d liu:
DROP DATABASE [Tên CSDL]
Tạo sở d liu HocSinhDB: CREATE
DATABASE HocSinhDB
Chn CSDL HocSinhDB để thao tác: USE
HocSinhDB
Xoá cơ sở d liu HocSinhDB:
DROP DATABASE HocSinhDB
Lưu ý:
1. Sau khi thc thi nhng câu lệnh làm thay đổi cơ sở d liu (to, xoá): cn REFRESH
li ca s Object Browser để thấy được ni dung mi nht.
2. Để thực thi được câu lnh tạo cơ sở d liệu thì người dùng phải được phân quyn
chức năng này.
1.3 To bng
Mt s cú pháp to bảng thường dùng:
lOMoARcPSD|41967345
Cú pháp
Ví d
CREATE TABLE [Tên Bng]
(
[Thuc tính 1] [Kiu d liu 1],
[Thuc tính 2] [Kiu d liu 2],
[Thuc tính 2] [Kiu d liu 3]
)
(
)
CREATE TABLE GIAOVIEN
MAGV char (5),
HOTEN nvarchar(40),
LUONG float, PHAI
nchar(3),
NGSINH datetime,
MANQL char(5),
MABM char(5)
Các kiu d liệu cơ bản được SQL Server h tr
1
:
D liu
Kiu d liệu tương ứng
S nguyên
int, bigint, smallint, tinyint
S thc
float, real
Tin t
money, smallmoney
Ngày gi
datetime, smalldatetime
Chui
Chui ký t 1 byte: char, varchar;
Chui ký t 2 byte (ký t UNICODE): nchar, nvarchar
Chui nh phân
binary
1
Sinh viên tra cứu Book Onlines để biết min giá tr ca các kiu d liu cũng như một
s kiu d liu khác
lOMoARcPSD|41967345
Bit [0,1]
bit
Cú pháp to bng trên không khai báo các loi ràng buc toàn vn cho bng, do
vậy nó thường được s dng kết hp vi các câu lnh khác (to khóa chính trong khi to
bng, to khóa ngoi trong khi to bng).
1.4. Xóa bng
Cú pháp
Ví d
DROP TABLE [Tên Bng]
Xóa bng GIAOVIEN:
DROP TABLE GIAOVIEN
Lưu ý:
1. Nếu bảng đã tồn ti hoặc trong cơ sở d liu có một đối tượng nào trùng tên
vi tên bng mun to thì câu lnh to bng s b li.
2. Nếu bng không tn ti thì câu lnh xóa bng s b li.
Hai quy tắc trên cũng áp dụng đối vi tt c các đối tượng khác trong cơ sở d liu
(khóa chính, khóa ngoại, cơ sở d liu, ...)
1.5 Khai báo (to) khóa chính, khóa ngoi và các
ràng buc toàn vn khác To khoá chính:
Cú pháp
Ví d
lOMoARcPSD|41967345
To khóa chính trong câu lnh to bng:
CREATE TABLE [Tên Bng]
(
[Thuc tính 1] [Kiu d liu 1],
[Thuc tính 2] [Kiu d liu 2],
[Thuc tính 3] [Kiu d liu 3]
PRIMARY KEY ([Các thuc tính
khóa chính ca bng])
)
To bng
chính:
(
)
GIAOVIEN kèm theo to khóa
CREATE TABLE GIAOVIEN
MAGV char (5),
HOTEN nvarchar(40) NOT NULL,
LUONG float,
PHAI nchar(3),
NGSINH datetime,
MANQL char(5),
MABM char(5)
PRIMARY KEY (MAGV)
Cú pháp
Ví d
To khóa chính ngoài câu lnh to bng:
ALTER TABLE [Tên Bng]
ADD CONSTRAINT [Tên khóa chính]
PRIMARY KEY ([Danh sách các thuc tính
ca khóa chính])
Lưu ý: Khi to khóa chính cho bng bên
ngoài lnh to bng thì các thuc tính ca
khóa chính phải được khai báo là NOT
NULL trong câu lnh to bng
To khoá chính cho bng GIAOVIEN: ALTER
TABLE GIAOVIEN
ADD CONSTRAINT PK_GIAOVIEN
PRIMARY KEY (MAGV)
To khoá ngoi:
Cú pháp
Ví d
lOMoARcPSD|41967345
To khóa ngoi bên ngoài câu lnh to
bng:
ALTER TABLE [Tên Bng]
ADD CONSTRAINT [Tên khóa ngoi]
FOREIGN KEY ([Danh sách các thuc
tính khoá ngoi])
REFERENCES [Tên bng tham chiếu]
( [Danh sách các thuc tính khoá chính
ca bng tham chiếu ti])
Thêm khóa ngoi cho bng BOMON tham
chiếu đến bng KHOA:
ALTER TABLE BOMON
ADD CONSTRAINT FK_BOMON_KHOA
FOREIGN KEY (MAKHOA)
REFERENCES KHOA(MAKHOA)
To ràng buc min giá tr:
Cú pháp
Ví d
ALTER TABLE [Tên Bng]
ADD CONSTRAINT [Tên ràng buc]
CHECK ([Biu thức điều kin])
Thêm ràng buc phái thuc Nam hoc N:
ALTER TABLE GIAOVIEN
ADD CONSTRAINT C_PHAI
CHECK (PHAI IN ('Nam', N'N'))
To ràng buc duy nht (khóa ng viên)
2
Cú pháp
Ví d
ALTER TABLE [Tên Bng]
ADD CONSTRAINT [Tên ràng buc duy nht]
UNIQUE ([Danh sách các thuc tính])
Thêm ràng buc phái h tên duy nht
ALTER TABLE GIAOVIEN
ADD CONSTRAINT U_HOTEN
UNIQUE (HOTEN)
Xóa ràng buc khóa chính, khóa ngoi hoc min giá tr
Cú pháp
Ví d
2
Ràng buc duy nhất cũng đưc xem là khoá, và các khoá ngoại cũng có thể tham chiếu
ti thuộc tính đã được cài đặt ràng buc duy nht.
lOMoARcPSD|41967345
ALTER TABLE [Tên Bng] DROP
CONSTRAINT [Tên ràng buc]
Xóa khóa chính
ALTER TABLE GIAOVIEN DROP
CONSTRAINT PK_GIAOVIEN
Xóa khóa ngoi
ALTER TABLE BOMON DROP
CONSTRAINT FK_BOMON_KHOA
1.6 Thêm, xóa thuc tính ca bng Thêm thuc tính:
Cú pháp
Ví d
ALTER TABLE [Tên Bng]
ADD [Tên thuc tính] [Kiu d liu]
Thêm thuc tính DIACHI
ALTER TABLE GIAOVIEN
ADD DIACHI nvarchar(20)
Xóa thuc tính:
Cú pháp
Ví d
ALTER TABLE [Tên Bng]
Xoá thuc tính DIACHI
DROP COLUMN [Tên thuc tính]
ALTER TABLE GIAOVIEN
DROP COLUMN DIACHI
Sa thuc tính:
Cú pháp
Ví d
ALTER TABLE [Tên Bng]
ALTER COLUMN [Tên thuc tính] [Kiu
d liu mi]
Sa thuc tính DIACHI ALTER TABLE
GIAOVIEN
ALTER COLUMN DiaChi nvarchar(100)
1.7 Xoá bng
Cú pháp
Ví d
DROP TABLE [Tên Bng]
Xóa bng GIAOVIEN:
DROP TABLE GIAOVIEN
Lưu ý các trường hp xóa bảng có liên quan đến khóa ngoi:
lOMoARcPSD|41967345
Quy tc chung: Nếu bng b tham chiếu bi khoá ngoại thì không xoá được.
H qu:
1. Nếu không tham chiếu vòng (khoá vòng) thì tiến hành xóa bng cha khóa
ngoại trước sau đó rồi xóa bng còn li, hoc xóa khóa ngoi rồi sau đó tiến
hành xóa các bng
2. Nếu có khóa vòng thì xóa một khóa để mt khóa vòng ri tiến hành làm như
trường hp 1
1.8. Mt s cú pháp h tr xem thông tin
Cú pháp
Ví d
Xem cu trúc bng: sp_help
[Tên Bng]
sp_help GIAOVIEN
Xem thông tin khóa chính ca bng:
sp_pkeys [Tên Bng]
sp_pkeys GIAOVIEN
Xem thông tin khóa ngoi ca bng:
sp_fkeys [Tên Bng]
sp_fkeys GIAOVIEN
1.9 Mt s điểm lưu ý
- Mt bng ch th khai báo tối đa một khóa chính, nhưng th khai báo được
nhiu khóa ng viên (candidate key).
- Khóa ng viên chính là ràng buc duy nht (UNIQUE).
- Khóa ngoi phi tham chiếu đến mt khóa, trong các d trên thì khóa ngoi
tham chiếu đến khóa chính nhưng bên cạnh đó khóa ngoại th tham chiếu đến
mt khóa ng viên.
- Tên khoá chính, khóa ngoi ch mang tính gi nh nhưng sinh viên cần đặt theo
quy tắc để d dàng nhn biết. d: Tên khoá chính bắt đầu bng PK_, tên khoá
ngoi bắt đầu bng FK_.
- Trong trường hp khoá chính hoc khoá ngoi nhiu thuc tính thì các thuc
tính cách nhau bng du phy.
lOMoARcPSD|41967345
2 Nhp và cp nht d liu
2.1 Cú pháp để nhp mt dòng d liu vào mt bng
Cú pháp
Ví d
Cú pháp nhp d liệu không tường
minh:
INSERT INTO [Tên Bng]
VALUES ([gt1], [gt2], ..., [gtn])
Lưu ý : Các [gt1], [gt2], ..., [gtn] đưa vào
tương ng vi các ct ca bảng, người
nhp phi biết trình t các ct ca bng
để truyn giá tr cho đúng.
Gi s có bng: GIAOVIEN (MAGV,
HOTEN, NGSINH, LUONG)
Nhp 1 dòng d liu cho bng GIAOVIEN vi
đầy đủ giá tr:
INSERT INTO GIAOVIEN VALUES ('GV01',
'Nguyen Van An', '12/1/2008', 10000)
Nhp 1 dòng d liu cho bng NHANVIEN vi
giá tr luong là NULL:
INSERT INTO GIAOVIEN VALUES ('GV02',
'Tran Thi Be, '12/1/2008', NULL)
Cú pháp nhp d liệu tường minh:
INSERT INTO [Tên Bng] ([tt1], [tt2],
..., [ttn])
VALUES ([gt1], [gt2], ..., [gtn])
Lưu ý: Các giá tr đưa vào phải tương ứng
vi các thuộc tính đã khai báo.
Nhp 1 dòng d liu cho bng GIAOVIEN vi
đầy đủ giá tr:
INSERT INTO NHANVIEN (MAGV, HOTEN,
NGSINH, LUONG) VALUES ('NV03',
'Nguyen Manh Hung', '12/1/2008', 40000)
Nhp 1 dòng d liu cho bng NHANVIEN vi
giá tr LUONG NULL:
INSERT INTO GIAOVIEN (MAGV,
HOTEN, NGSINH) VALUES ('NV04',
'Nguyen Manh Hung', '12/1/2008')
Nhp d liu t mt ngun sn:
INSERT INTO ... SELECT ...
Đặc điểm: th nhp mt lúc nhiu dòng
d liu.
2.2 Nhp d liu chui, ngày tháng
Cú pháp
Ví d
lOMoARcPSD|41967345
Nhp d liu Unicode:
Thêm N kí t trước chui Unicode
INSERT INTO GIAOVIEN VALUES ('NV01',
N'Nguyễn Văn Trường', '12/30/1955',5000)
Nhp d liu ngày tháng
Định dng nhp ngày tháng mặc định :
'mm/dd/yyyy'
INSERT INTO GIAOVIEN VALUES ('NV01',
N'Nguyễn Văn Trường', '12/30/1955', 5000)
Nhp b d liu có giá tr NULL
3
Dùng t khóa NULL
INSERT INTO GIAOVIEN VALUES ('NV01',
'Tran Thi Be', '12/1/2008', NULL)
2.3 Nhp d liu có khóa ràng buc
Trường hp 1:
Cách 1:
1. c 1 : Nhp KHOA
2. c 2 : Nhp BOMON Cách 2:
1. c 1 : Nhp BOMON vi MAKHOA= NULL
2. c 2 : Nhp KHOA
3. c 3 : Cp nht thuc tính MAKHOA ca
BOMON
Trường hp 2:
3
Nếu thuộc tính được khai báo trong cú pháp to bng là NOT NULL thì bt buc phi có giá
tr khi nhp 1 b vào bng.
lOMoARcPSD|41967345
Cách 1:
c 1 : Nhp GIAOVIEN, vi MABM =NULL
c 2 : Nhp BOMON
c 3 : Cp nht thuc tính MABM ca GIAOVIEN
Cách 2 :
c 1 : Nhp BOMON, vi TRBOMON = NULL
c 2 : Nhp GIAOVIEN
c 3 : Cp nht thuc tính TRBOMON ca
BOMON
Trường hp 3:
Cách 1 :
- Nhng GIAOVIEN MANQL null thì
nhập trước
- Sau đó nhp những GIAOVIEN đã nhập
thông tin v NQL của giáo viên đó.
Cách 2 :
c 1. Nhp tt c các GIAOVIEN, đặt thuc
tính MANQL là null
c 2 Cp nht MANQL ca GIAOVIEN
2. 4 Xem và xoá d liu
Cú pháp
Ví d
Xem ni dung ca mt bng:
SELECT * FROM [Tên bng]
Xem d liu ca bng GIAOVIEN
SELECT * FROM GIAOVIEN
lOMoARcPSD|41967345
Xóa ni dung ca mt bng:
DELETE FROM [Tên bng]
WHERE [Biu thức điều kin]
Xóa nhân viên NV01 ca bng GIAOVIEN
DELETE FROM GIAOVIEN WHERE MAGV
= 'GV01'
Xóa tt c d liu bng GIAOVIEN
DELETE FROM NHANVIEN
2. 5 Cp nht d liu
Cú pháp
Ví d
UPDATE TABLE [Tên Bng]
SET [tt1] = [gt1], [tt2] = [gt2], ..., [ttn] =
[gtn]
WHERE ([Biu thức điều kiện để quy định
phm vi cp nht])
Lưu ý: Nếu không có mệnh đề WHERE
Cp nht tt c các giáo viên lương <
50000 tăng thêm 10%:
UPDATE TABLE GIAOVIEN
SET LUONG=LUONG * 1.1
WHERE LUONG < 50000
Cp nht tên và ngày sinh ca nhân viên có
thì toàn b các dòng d liu ca bảng đều
b cp nht.
MAGV='001' thành tên 'Hùng' và ngày sinh là
'1/1/1984' :
UPDATE TABLE GIAOVIEN
SET HOTEN = N'Hùng',
NGSINH='1/1/1984' WHERE
MAGV='001'
2.6 Li khuyên
Thông thường trình t ca vic to cấu trúc sở d liu nhp liệu được thc
hiện theo các bước như sau:
c 1: To bng kèm theo to ràng buc khóa chính
c 2: To ràng buc khóa ngoi và các ràng buc khác
c 3: Nhp d liu
2.7 Xem/Tạo lược đồ sở d liu s dng Management Studio Mc
đích: Xem các bảng và mi quan h các bng mt cách trc quan
c 1: Click phi chut và chn New Database Diagram như hình vẽ
lOMoARcPSD|41967345
c 2: Chn Next
c 3: Chn (Add) các bảng để hin th trong lược đồ
lOMoARcPSD|41967345
c 4: Chọn Finish để hoàn tt
c 5: Xem kết qu
lOMoARcPSD|41967345
3. Bài tp ti lp
Yêu cu: Viết script to cu trúc nhp d liu cho bng GIAOVIEN, BOMON KHOA
trong bài tp Quản lý Giáo viên tham gia đề tài.
4. Bài tp v nhà Yêu
cu:
1. Hoàn chnh script to cu trúc nhp d liệu cho cơ sở d liu Qun Giáo viên
tham gia đề tài.
2. Viết script to cu trúc và nhp d liệu cho cơ sở d liu Qun lý Chuyến bay.
| 1/15

Preview text:

lOMoARcPSD| 41967345
Bước 2: Nhấn vào nút RUN hoặc phím tắt F5 để thực thi đoạn SCRIPT đã được đánh khối.
Bước 3: Xem kết quả trả về 1.2
Tạo cơ sở dữ liệu Cú pháp Ví dụ Tạo cơ sở dữ liệu:
Tạo cơ sở dữ liệu HocSinhDB: CREATE
CREATE DATABASE [Tên CSDL] Chọn DATABASE HocSinhDB
CSDL để thao tác: USE [Tên CSDL] Xoá
Chọn CSDL HocSinhDB để thao tác: USE cơ sở dữ liệu: HocSinhDB DROP DATABASE [Tên CSDL]
Xoá cơ sở dữ liệu HocSinhDB: DROP DATABASE HocSinhDB Lưu ý:
1. Sau khi thực thi những câu lệnh làm thay đổi cơ sở dữ liệu (tạo, xoá): cần REFRESH
lại cửa sổ Object Browser để thấy được nội dung mới nhất.
2. Để thực thi được câu lệnh tạo cơ sở dữ liệu thì người dùng phải được phân quyền chức năng này. 1.3 Tạo bảng
Một số cú pháp tạo bảng thường dùng: lOMoARcPSD| 41967345 Cú pháp Ví dụ CREATE TABLE [Tên Bảng] CREATE TABLE GIAOVIEN (
[Thuộc tính 1] [Kiểu dữ liệu 1], MAGV char (5),
[Thuộc tính 2] [Kiểu dữ liệu 2], HOTEN nvarchar(40),
[Thuộc tính 2] [Kiểu dữ liệu 3] ( LUONG float, PHAI ) nchar(3), NGSINH datetime, MANQL char(5), MABM char(5) )
Các kiểu dữ liệu cơ bản được SQL Server hỗ trợ1: # Dữ liệu
Kiểu dữ liệu tương ứng 1 Số nguyên
int, bigint, smallint, tinyint 2 Số thực float, real 3 Tiền tệ money, smallmoney 4 Ngày giờ datetime, smalldatetime 5 Chuỗi
Chuỗi ký tự 1 byte: char, varchar;
Chuỗi ký tự 2 byte (ký tự UNICODE): nchar, nvarchar 6 Chuỗi nhị phân binary
1 Sinh viên tra cứu Book Onlines để biết miền giá trị của các kiểu dữ liệu cũng như một số kiểu dữ liệu khác lOMoARcPSD| 41967345 7 Bit [0,1] bit 8 …
Cú pháp tạo bảng trên không khai báo các loại ràng buộc toàn vẹn cho bảng, do
vậy nó thường được sử dụng kết hợp với các câu lệnh khác (tạo khóa chính trong khi tạo
bảng, tạo khóa ngoại trong khi tạo bảng). 1.4. Xóa bảng Cú pháp Ví dụ DROP TABLE [Tên Bảng] Xóa bảng GIAOVIEN: DROP TABLE GIAOVIEN Lưu ý:
1. Nếu bảng đã tồn tại hoặc trong cơ sở dữ liệu có một đối tượng nào trùng tên
với tên bảng muốn tạo thì câu lệnh tạo bảng sẽ bị lỗi.
2. Nếu bảng không tồn tại thì câu lệnh xóa bảng sẽ bị lỗi.
Hai quy tắc trên cũng áp dụng đối với tất cả các đối tượng khác trong cơ sở dữ liệu
(khóa chính, khóa ngoại, cơ sở dữ liệu, .. )
1.5 Khai báo (tạo) khóa chính, khóa ngoại và các
ràng buộc toàn vẹn khác Tạo khoá chính: Cú pháp Ví dụ lOMoARcPSD| 41967345
GIAOVIEN kèm theo tạo khóa
Tạo khóa chính trong câu lệnh tạo bảng: Tạo bảng CREATE TABLE [Tên Bảng] CREATE TABLE GIAOVIEN chính: (
[Thuộc tính 1] [Kiểu dữ liệu 1], MAGV char (5), (
[Thuộc tính 2] [Kiểu dữ liệu 2], HOTEN nvarchar(40) NOT NULL,
[Thuộc tính 3] [Kiểu dữ liệu 3] LUONG float,
PRIMARY KEY ([Các thuộc tính PHAI nchar(3), khóa chính của bảng]) NGSINH datetime, ) MANQL char(5), MABM char(5) PRIMARY KEY (MAGV) ) Cú pháp Ví dụ
Tạo khoá chính cho bảng GIAOVIEN: ALTER
Tạo khóa chính ngoài câu lệnh tạo bảng: TABLE GIAOVIEN ALTER TABLE [Tên Bảng]
ADD CONSTRAINT PK_GIAOVIEN
ADD CONSTRAINT [Tên khóa chính] PRIMARY KEY (MAGV)
PRIMARY KEY ([Danh sách các thuộc tính của khóa chính])
Lưu ý: Khi tạo khóa chính cho bảng ở bên
ngoài lệnh tạo bảng thì các thuộc tính của
khóa chính phải được khai báo là NOT
NULL
trong câu lệnh tạo bảng Tạo khoá ngoại: Cú pháp Ví dụ lOMoARcPSD| 41967345
Thêm khóa ngoại cho bảng BOMON tham
Tạo khóa ngoại bên ngoài câu lệnh tạo chiếu đến bảng KHOA: bảng: ALTER TABLE BOMON ALTER TABLE [Tên Bảng] ADD CONSTRAINT FK_BOMON_KHOA
ADD CONSTRAINT [Tên khóa ngoại] FOREIGN KEY (MAKHOA)
FOREIGN KEY ([Danh sách các thuộc tính khoá ngoại]) REFERENCES KHOA(MAKHOA)
REFERENCES [Tên bảng tham chiếu]
( [Danh sách các thuộc tính khoá chính
của bảng tham chiếu tới])
Tạo ràng buộc miền giá trị: Cú pháp Ví dụ ALTER TABLE [Tên Bảng]
Thêm ràng buộc phái thuộc Nam hoặc Nữ:
ADD CONSTRAINT [Tên ràng buộc] ALTER TABLE
CHECK ([Biểu thức điều kiện]) GIAOVIEN ADD CONSTRAINT C_PHAI
CHECK (PHAI IN ('Nam', N'Nữ'))
Tạo ràng buộc duy nhất (khóa ứng viên)2 Cú pháp Ví dụ ALTER TABLE [Tên Bảng]
Thêm ràng buộc phái họ tên duy nhất
ADD CONSTRAINT [Tên ràng buộc duy nhất] ALTER TABLE GIAOVIEN
UNIQUE ([Danh sách các thuộc tính]) ADD CONSTRAINT U_HOTEN UNIQUE (HOTEN)
Xóa ràng buộc khóa chính, khóa ngoại hoặc miền giá trị Cú pháp Ví dụ
2 Ràng buộc duy nhất cũng được xem là khoá, và các khoá ngoại cũng có thể tham chiếu
tới thuộc tính đã được cài đặt ràng buộc duy nhất. lOMoARcPSD| 41967345
ALTER TABLE [Tên Bảng] DROP Xóa khóa chính
CONSTRAINT [Tên ràng buộc]
ALTER TABLE GIAOVIEN DROP CONSTRAINT PK_GIAOVIEN Xóa khóa ngoại ALTER TABLE BOMON DROP CONSTRAINT FK_BOMON_KHOA
1.6 Thêm, xóa thuộc tính của bảng Thêm thuộc tính: Cú pháp Ví dụ ALTER TABLE [Tên Bảng] Thêm thuộc tính DIACHI
ADD [Tên thuộc tính] [Kiểu dữ liệu] ALTER TABLE GIAOVIEN ADD DIACHI nvarchar(20) Xóa thuộc tính: Cú pháp Ví dụ ALTER TABLE [Tên Bảng] Xoá thuộc tính DIACHI
DROP COLUMN [Tên thuộc tính] ALTER TABLE GIAOVIEN DROP COLUMN DIACHI Sửa thuộc tính: Cú pháp Ví dụ
Sửa thuộc tính DIACHI ALTER TABLE ALTER TABLE [Tên Bảng] GIAOVIEN
ALTER COLUMN DiaChi nvarchar(100)
ALTER COLUMN [Tên thuộc tính] [Kiểu dữ liệu mới] 1.7 Xoá bảng Cú pháp Ví dụ DROP TABLE [Tên Bảng] Xóa bảng GIAOVIEN: DROP TABLE GIAOVIEN
Lưu ý các trường hợp xóa bảng có liên quan đến khóa ngoại: lOMoARcPSD| 41967345
Quy tắc chung: Nếu bảng bị tham chiếu bởi khoá ngoại thì không xoá được. Hệ quả:
1. Nếu không có tham chiếu vòng (khoá vòng) thì tiến hành xóa bảng chứa khóa
ngoại trước sau đó rồi xóa bảng còn lại, hoặc xóa khóa ngoại rồi sau đó tiến hành xóa các bảng
2. Nếu có khóa vòng thì xóa một khóa để mất khóa vòng rồi tiến hành làm như trường hợp 1
1.8. Một số cú pháp hỗ trợ xem thông tin Cú pháp Ví dụ sp_help GIAOVIEN
Xem cấu trúc bảng: sp_help [Tên Bảng]
Xem thông tin khóa chính của bảng: sp_pkeys [Tên Bảng] sp_pkeys GIAOVIEN
Xem thông tin khóa ngoại của bảng: sp_fkeys [Tên Bảng] sp_fkeys GIAOVIEN
1.9 Một số điểm lưu ý -
Một bảng chỉ có thể khai báo tối đa một khóa chính, nhưng có thể khai báo được
nhiều khóa ứng viên (candidate key). -
Khóa ứng viên chính là ràng buộc duy nhất (UNIQUE). -
Khóa ngoại phải tham chiếu đến một khóa, trong các ví dụ ở trên thì khóa ngoại
tham chiếu đến khóa chính nhưng bên cạnh đó khóa ngoại có thể tham chiếu đến một khóa ứng viên. -
Tên khoá chính, khóa ngoại chỉ mang tính gợi nhớ nhưng sinh viên cần đặt theo
quy tắc để dễ dàng nhận biết. Ví dụ: Tên khoá chính bắt đầu bằng PK_, tên khoá
ngoại bắt đầu bằng FK_. -
Trong trường hợp khoá chính hoặc khoá ngoại có nhiều thuộc tính thì các thuộc
tính cách nhau bằng dấu phẩy. lOMoARcPSD| 41967345 2
Nhập và cập nhật dữ liệu
2.1 Cú pháp để nhập một dòng dữ liệu vào một bảng Cú pháp Ví dụ
Cú pháp nhập dữ liệu không tường
Giả sử có bảng: GIAOVIEN (MAGV, minh: HOTEN, NGSINH, LUONG) INSERT INTO [Tên Bảng]
Nhập 1 dòng dữ liệu cho bảng GIAOVIEN với
VALUES ([gt1], [gt2], .. , [gtn])
đầy đủ giá trị:
Lưu ý : Các [gt1], [gt2], . ., [gtn] đưa vào
INSERT INTO GIAOVIEN VALUES ('GV01',
tương ứng với các cột của bảng, người
nhập phải biết trình tự các cột của bảng
'Nguyen Van An', '12/1/2008', 10000)
để truyền giá trị cho đúng.
Nhập 1 dòng dữ liệu cho bảng NHANVIEN với
giá trị luong là NULL:

INSERT INTO GIAOVIEN VALUES ('GV02',
'Tran Thi Be, '12/1/2008', NULL)
Cú pháp nhập dữ liệu tường minh:
Nhập 1 dòng dữ liệu cho bảng GIAOVIEN với
INSERT INTO [Tên Bảng] ([tt1], [tt2], đầy đủ giá trị: . ., [ttn])
INSERT INTO NHANVIEN (MAGV, HOTEN,
VALUES ([gt1], [gt2], .. , [gtn])
NGSINH, LUONG) VALUES ('NV03',
Lưu ý: Các giá trị đưa vào phải tương ứng
'Nguyen Manh Hung', '12/1/2008', 40000)
với các thuộc tính đã khai báo.
Nhập 1 dòng dữ liệu cho bảng NHANVIEN với
giá trị LUONG NULL: INSERT INTO GIAOVIEN (MAGV,
HOTEN, NGSINH) VALUES ('NV04',
'Nguyen Manh Hung', '12/1/2008')
Nhập dữ liệu từ một nguồn có sẳn: INSERT INTO . . SELECT ...
Đặc điểm: Có thể nhập một lúc nhiều dòng dữ liệu.
2.2 Nhập dữ liệu chuỗi, ngày tháng Cú pháp Ví dụ lOMoARcPSD| 41967345
Nhập dữ liệu Unicode:
INSERT INTO GIAOVIEN VALUES ('NV01',
Thêm N kí tự trước chuổi Unicode
N'Nguyễn Văn Trường', '12/30/1955',5000)
INSERT INTO GIAOVIEN VALUES ('NV01',
Nhập dữ liệu ngày tháng
N'Nguyễn Văn Trường', '12/30/1955', 5000)
Định dạng nhập ngày tháng mặc định : 'mm/dd/yyyy'
Nhập bộ dữ liệu có giá trị NULL 3
INSERT INTO GIAOVIEN VALUES ('NV01', Dùng từ khóa NULL
'Tran Thi Be', '12/1/2008', NULL)
2.3 Nhập dữ liệu có khóa ràng buộc Trường hợp 1: Cách 1: 1. Bước 1 : Nhập KHOA
2. Bước 2 : Nhập BOMON Cách 2:
1. Bước 1 : Nhập BOMON với MAKHOA= NULL 2. Bước 2 : Nhập KHOA
3. Bước 3 : Cập nhật thuộc tính MAKHOA của BOMON Trường hợp 2:
3 Nếu thuộc tính được khai báo trong cú pháp tạo bảng là NOT NULL thì bắt buộc phải có giá
trị khi nhập 1 bộ vào bảng. lOMoARcPSD| 41967345 Cách 1:
Bước 1 : Nhập GIAOVIEN, với MABM =NULL Bước 2 : Nhập BOMON
Bước 3 : Cập nhật thuộc tính MABM của GIAOVIEN Cách 2 :
Bước 1 : Nhập BOMON, với TRBOMON = NULL Bước 2 : Nhập GIAOVIEN
Bước 3 : Cập nhật thuộc tính TRBOMON của BOMON Trường hợp 3: Cách 1 : -
Những GIAOVIEN mà có MANQL là null thì nhập trước -
Sau đó nhập những GIAOVIEN mà đã nhập
thông tin về NQL của giáo viên đó. Cách 2 :
Bước 1. Nhập tất cả các GIAOVIEN, đặt thuộc tính MANQL là null
Bước 2 Cập nhật MANQL của GIAOVIEN 2. 4 Xem và xoá dữ liệu Cú pháp Ví dụ
Xem nội dung của một bảng:
Xem dữ liệu của bảng GIAOVIEN SELECT * FROM [Tên bảng] SELECT * FROM GIAOVIEN lOMoARcPSD| 41967345
Xóa nội dung của một bảng:
Xóa nhân viên NV01 của bảng GIAOVIEN DELETE FROM [Tên bảng]
DELETE FROM GIAOVIEN WHERE MAGV
WHERE [Biểu thức điều kiện] = 'GV01'
Xóa tất cả dữ liệu bảng GIAOVIEN DELETE FROM NHANVIEN 2. 5 Cập nhật dữ liệu Cú pháp Ví dụ UPDATE TABLE [Tên Bảng]
Cập nhật tất cả các giáo viên có có lương <
SET [tt1] = [gt1], [tt2] = [gt2], .. , [ttn] = 50000 tăng thêm 10%: [gtn] UPDATE TABLE GIAOVIEN
WHERE ([Biểu thức điều kiện để quy định SET LUONG=LUONG * 1.1 phạm vi cập nhật]) WHERE LUONG < 50000
Lưu ý: Nếu không có mệnh đề WHERE
Cập nhật tên và ngày sinh của nhân viên có
thì toàn bộ các dòng dữ liệu của bảng đều
MAGV='001' thành tên 'Hùng' và ngày sinh là bị cập nhật. '1/1/1984' : UPDATE TABLE GIAOVIEN SET HOTEN = N'Hùng', NGSINH='1/1/1984' WHERE MAGV='001' 2.6 Lời khuyên
Thông thường trình tự của việc tạo cấu trúc cơ sở dữ liệu và nhập liệu được thực
hiện theo các bước như sau:
Bước 1: Tạo bảng kèm theo tạo ràng buộc khóa chính
Bước 2: Tạo ràng buộc khóa ngoại và các ràng buộc khác
Bước 3: Nhập dữ liệu
2.7 Xem/Tạo lược đồ cơ sở dữ liệu sử dụng Management Studio Mục
đích: Xem các bảng và mối quan hệ các bảng một cách trực quan
Bước 1: Click phải chuột và chọn New Database Diagram như hình vẽ lOMoARcPSD| 41967345
Bước 2: Chọn Next
Bước 3: Chọn (Add) các bảng để hiển thị trong lược đồ lOMoARcPSD| 41967345
Bước 4: Chọn Finish để hoàn tất
Bước 5: Xem kết quả lOMoARcPSD| 41967345
3. Bài tập tại lớp
Yêu cầu: Viết script tạo cấu trúc và nhập dữ liệu cho bảng GIAOVIEN, BOMON và KHOA
trong bài tập Quản lý Giáo viên tham gia đề tài.
4. Bài tập về nhà Yêu cầu:
1. Hoàn chỉnh script tạo cấu trúc và nhập dữ liệu cho cơ sở dữ liệu Quản lý Giáo viên tham gia đề tài.
2. Viết script tạo cấu trúc và nhập dữ liệu cho cơ sở dữ liệu Quản lý Chuyến bay.