You are on page 1of 15

Bc 2: Nhn vo nt RUN hoc phm tt F5 thc thi on SCRIPT c

nh khi.
Bc 3: Xem kt qu tr v
1.2 To c s d liu
C php

V d

To c s d liu:

To c s d liu HocSinhDB: CREATE

CREATE DATABASE [Tn CSDL]

DATABASE HocSinhDB

Chn CSDL thao tc: USE [Tn CSDL]

Chn CSDL HocSinhDB thao tc: USE

Xo c s d liu:
DROP DATABASE [Tn CSDL]

HocSinhDB
Xo c s d liu HocSinhDB:
DROP DATABASE HocSinhDB

Lu :
1.

Sau khi thc thi nhng cu lnh lm thay i c s d liu (to, xo):

cn REFRESH li ca s Object Browser thy c ni dung mi nht.


2.

thc thi c cu lnh to c s d liu th ngi dng phi c

phn quyn chc nng ny.

1.3 To bng
Mt s c php to bng thng dng:

C php

V d

CREATE TABLE [Tn Bng]

CREATE TABLE GIAOVIEN

(
[Thuc tnh 1] [Kiu d liu 1],

MAGV char (5),

[Thuc tnh 2] [Kiu d liu 2],

HOTEN nvarchar(40),

[Thuc tnh 2] [Kiu d liu 3]

LUONG float,

PHAI nchar(3),
NGSINH

datetime,

MANQL

char(5),

MABM char(5)
)
Cc kiu d liu c bn c SQL Server h tr1:
#

D liu

Kiu d liu tng ng

S nguyn

int, bigint, smallint, tinyint

S thc

float, real

Tin t

money, smallmoney

Ngy gi

datetime, smalldatetime

Chui

Chui k t 1 byte: char, varchar;


Chui k t 2 byte (k t UNICODE): nchar, nvarchar

Chui nh phn

binary

Bit [0,1]

bit

C php to bng trn khng khai bo cc loi rng buc ton vn cho bng, do

Sinh vin tra cu Book Onlines bit min gi tr ca cc kiu d liu cng nh mt
s kiu d liu khc

vy n thng c s dng kt hp vi cc cu lnh khc (to kha chnh trong khi


to bng, to kha ngoi trong khi to bng).
1.4. Xa bng
C php

V d

DROP TABLE [Tn Bng]

Xa bng GIAOVIEN:
DROP TABLE GIAOVIEN

Lu :
1. Nu bng tn ti hoc trong c s d liu c mt i tng no trng
tn vi tn bng mun to th cu lnh to bng s b li.
2. Nu bng khng tn ti th cu lnh xa bng s b li.
Hai quy tc trn cng p dng i vi tt c cc i tng khc trong c s d
liu (kha chnh, kha ngoi, c s d liu, ...)
1.5 Khai bo (to) kha chnh, kha ngoi v cc rng buc ton vn khc
To kho chnh:
C php

V d

To kha chnh trong cu lnh to

To bng GIAOVIEN km theo to kha

bng:

chnh:

CREATE TABLE [Tn Bng]

CREATE TABLE GIAOVIEN

(
[Thuc tnh 1] [Kiu d liu 1],

MAGV char (5),

[Thuc tnh 2] [Kiu d liu 2],

HOTEN nvarchar(40) NOT NULL,

[Thuc tnh 3] [Kiu d liu 3]

LUONG float,

PRIMARY KEY ([Cc thuc tnh

PHAI nchar(3),

kha chnh ca bng])

NGSINH

datetime,

MANQL

char(5),

MABM char(5)
PRIMARY KEY (MAGV)
)

C php

V d

To kha chnh ngoi cu lnh to bng:

To kho chnh cho bng GIAOVIEN:

ALTER TABLE [Tn Bng]

ALTER TABLE GIAOVIEN

ADD CONSTRAINT [Tn kha chnh]

ADD CONSTRAINT PK_GIAOVIEN

PRIMARY KEY ([Danh sch cc thuc

PRIMARY KEY (MAGV)

tnh ca kha chnh])


Lu : Khi to kha chnh cho bng
bn ngoi lnh to bng th cc thuc
tnh ca kha chnh phi c khai bo
l NOT NULL trong cu lnh to bng
To kho ngoi:
C php

V d

To kha ngoi bn ngoi cu lnh to

Thm kha ngoi cho bng BOMON tham

bng:

chiu n bng KHOA:

ALTER TABLE [Tn Bng]

ALTER TABLE BOMON

ADD CONSTRAINT [Tn kha ngoi]

ADD CONSTRAINT FK_BOMON_KHOA

FOREIGN KEY ([Danh sch cc thuc

FOREIGN KEY (MAKHOA)

tnh kho ngoi])

REFERENCES KHOA(MAKHOA)

REFERENCES [Tn bng tham chiu] (


[Danh sch cc thuc tnh kho chnh
ca bng tham chiu ti])
To rng buc min gi tr:
C php

V d

ALTER TABLE [Tn Bng]

Thm rng buc phi thuc Nam hoc

ADD CONSTRAINT [Tn rng buc]

N:

CHECK ([Biu thc iu kin])

ALTER TABLE GIAOVIEN


ADD CONSTRAINT C_PHAI

CHECK (PHAI IN ('Nam', N'N'))


To rng buc duy nht (kha ng vin)2
C php

V d

ALTER TABLE [Tn Bng]

Thm rng buc phi h tn duy nht

ADD CONSTRAINT [Tn rng buc duy nht]

ALTER TABLE GIAOVIEN

UNIQUE ([Danh sch cc thuc tnh])

ADD CONSTRAINT U_HOTEN


UNIQUE (HOTEN)

Xa rng buc kha chnh, kha ngoi hoc min gi tr


C php

V d

ALTER TABLE [Tn Bng] DROP

Xa kha chnh

CONSTRAINT [Tn rng buc]

ALTER TABLE GIAOVIEN DROP


CONSTRAINT PK_GIAOVIEN
Xa kha ngoi
ALTER TABLE BOMON DROP
CONSTRAINT FK_BOMON_KHOA

1.6 Thm, xa thuc tnh ca bng


Thm thuc tnh:
C php

V d

ALTER TABLE [Tn Bng]

Thm thuc tnh DIACHI

ADD [Tn thuc tnh] [Kiu d liu]

ALTER TABLE GIAOVIEN


ADD DIACHI nvarchar(20)

Xa thuc tnh:
C php
ALTER TABLE [Tn Bng]

V d
Xo thuc tnh DIACHI

Rng buc duy nht cng c xem l kho, v cc kho ngoi cng c th tham chiu
ti thuc tnh c ci t rng buc duy nht.

DROP COLUMN [Tn thuc tnh]

ALTER TABLE GIAOVIEN


DROP COLUMN DIACHI

Sa thuc tnh:
C php
ALTER TABLE [Tn Bng]

V d
Sa thuc tnh DIACHI ALTER
TABLE GIAOVIEN

ALTER COLUMN [Tn thuc tnh] [Kiu

ALTER COLUMN DiaChi nvarchar(100)

d liu mi]
1.7 Xo bng
C php
DROP TABLE [Tn Bng]

V d
Xa bng GIAOVIEN:
DROP TABLE GIAOVIEN

Lu cc trng hp xa bng c lin quan n kha ngoi:


Quy tc chung: Nu bng b tham chiu bi kho ngoi th khng xo c.
H qu:
1. Nu khng c tham chiu vng (kho vng) th tin hnh xa bng cha
kha ngoi trc sau ri xa bng cn li, hoc xa kha ngoi ri sau
tin hnh xa cc bng
2. Nu c kha vng th xa mt kha mt kha vng ri tin hnh lm
nh trng hp 1
1.8. Mt s c php h tr xem thng tin
C php
Xem cu trc bng:

V d
sp_help GIAOVIEN

sp_help [Tn Bng]


Xem thng tin kha chnh ca bng:
sp_pkeys [Tn Bng]
Xem thng tin kha ngoi ca bng:

sp_pkeys GIAOVIEN

sp_fkeys [Tn Bng]

sp_fkeys GIAOVIEN

1.9 Mt s im lu
-

Mt bng ch c th khai bo ti a mt kha chnh, nhng c th khai bo c


nhiu kha ng vin (candidate key).

Kha ng vin chnh l rng buc duy nht (UNIQUE).

Kha ngoi phi tham chiu n mt kha, trong cc v d trn th kha ngoi
tham chiu n kha chnh nhng bn cnh kha ngoi c th tham chiu n
mt kha ng vin.

Tn kho chnh, kha ngoi ch mang tnh gi nh nhng sinh vin cn t theo
quy tc d dng nhn bit. V d: Tn kho chnh bt u bng PK_, tn kho
ngoi bt u bng FK_.

Trong trng hp kho chnh hoc kho ngoi c nhiu thuc tnh th cc thuc
tnh cch nhau bng du phy.

2
Nhp v cp nht d liu
2.1 C php nhp mt dng d liu vo mt bng
C php

V d

C php nhp d liu khng tng

Gi s c bng: GIAOVIEN (MAGV,

minh:

HOTEN, NGSINH, LUONG)

INSERT INTO [Tn Bng]

Nhp 1 dng d liu cho bng GIAOVIEN

VALUES ([gt1], [gt2], ..., [gtn])

vi y gi tr:

Lu : Cc [gt1], [gt2], ..., [gtn] a


vo tng ng vi cc ct ca bng,

INSERT INTO GIAOVIEN VALUES ('GV01',

ngi nhp phi bit trnh t cc ct

Nhp 1 dng d liu cho bng NHANVIEN

ca bng truyn gi tr cho ng.

vi gi tr luong l NULL:

'Nguyen Van An', '12/1/2008', 10000)

INSERT INTO GIAOVIEN VALUES ('GV02',


'Tran Thi Be, '12/1/2008', NULL)
C php nhp d liu tng minh:

Nhp 1 dng d liu cho bng GIAOVIEN

INSERT INTO [Tn Bng] ([tt1], [tt2],

vi y gi tr:

..., [ttn])

INSERT INTO NHANVIEN (MAGV, HOTEN,

VALUES ([gt1], [gt2], ..., [gtn])

NGSINH, LUONG) VALUES ('NV03',

Lu : Cc gi tr a vo phi tng
ng vi cc thuc tnh khai bo.

'Nguyen Manh Hung', '12/1/2008', 40000)


Nhp 1 dng d liu cho bng NHANVIEN
vi gi tr LUONG l NULL:
INSERT

INTO

GIAOVIEN

(MAGV,

HOTEN, NGSINH) VALUES ('NV04',


'Nguyen Manh Hung', '12/1/2008')
Nhp d liu t mt ngun c sn:
INSERT INTO ... SELECT ...
c im: C th nhp mt lc nhiu
dng d liu.
2.2 Nhp d liu chui, ngy thng
C php

V d

Nhp d liu Unicode:

INSERT INTO GIAOVIEN VALUES ('NV01',

Thm N k t trc chui Unicode

N'Nguyn Vn Trng', '12/30/1955',5000)

Nhp d liu ngy thng

INSERT INTO GIAOVIEN VALUES ('NV01',

nh dng nhp ngy thng mc nh :

N'Nguyn Vn Trng', '12/30/1955', 5000)

'mm/dd/yyyy'
Nhp b d liu c gi tr NULL 3

INSERT INTO GIAOVIEN VALUES ('NV01',

Dng t kha NULL

'Tran Thi Be', '12/1/2008', NULL)

2.3 Nhp d liu c kha rng buc


Trng hp 1:
Cch 1:
1.

Bc 1 : Nhp KHOA

2.

Bc 2 : Nhp BOMON

Cch 2:
1.

Bc 1 : Nhp BOMON vi MAKHOA= NULL

2.

Bc 2 : Nhp KHOA

3.

Bc 3 : Cp nht thuc tnh MAKHOA ca


BOMON

Trng hp 2:
Cch 1:
Bc 1 : Nhp GIAOVIEN, vi MABM =NULL
Bc 2 : Nhp BOMON
Bc 3 : Cp nht thuc tnh MABM ca
GIAOVIEN
Cch 2 :
Bc 1 : Nhp BOMON, vi TRBOMON = NULL
Bc 2 : Nhp GIAOVIEN
Bc 3 : Cp nht thuc tnh TRBOMON ca
BOMON

Nu thuc tnh c khai bo trong c php to bng l NOT NULL th bt buc phi c gi tr
khi nhp 1 b vo bng.

Trng hp 3:
Cch 1 :
-

Nhng GIAOVIEN m c MANQL l null th


nhp trc

Sau nhp nhng GIAOVIEN m nhp


thng tin v NQL ca gio vin .

Cch 2 :
Bc 1. Nhp tt c cc GIAOVIEN, t
thuc tnh MANQL l null
Bc 2 Cp nht MANQL ca GIAOVIEN
2. 4 Xem v xo d liu
C php

V d

Xem ni dung ca mt bng:

Xem d liu ca bng GIAOVIEN

SELECT * FROM [Tn bng]

SELECT * FROM GIAOVIEN

Xa ni dung ca mt bng:

Xa nhn vin NV01 ca bng GIAOVIEN

DELETE FROM [Tn bng]

DELETE FROM GIAOVIEN WHERE

WHERE [Biu thc iu kin]

MAGV = 'GV01'
Xa tt c d liu bng GIAOVIEN
DELETE FROM NHANVIEN

2. 5 Cp nht d liu
C php

V d

UPDATE TABLE [Tn Bng]

Cp nht tt c cc gio vin c c lng <

SET [tt1] = [gt1], [tt2] = [gt2], ..., [ttn] =

50000 tng thm 10%:

[gtn]

UPDATE TABLE GIAOVIEN

WHERE ([Biu thc iu kin quy

SET LUONG=LUONG * 1.1

nh phm vi cp nht])

WHERE LUONG < 50000

Lu : Nu khng c mnh WHERE

Cp nht tn v ngy sinh ca nhn vin c

th ton b cc dng d liu ca bng

MAGV='001' thnh tn 'Hng' v ngy sinh

u b cp nht.

l '1/1/1984' :
UPDATE TABLE GIAOVIEN
SET HOTEN = N'Hng',
NGSINH='1/1/1984' WHERE
MAGV='001'

2.6 Li khuyn
Thng thng trnh t ca vic to cu trc c s d liu v nhp liu c thc
hin theo cc bc nh sau:
Bc 1: To bng km theo to rng buc kha chnh
Bc 2: To rng buc kha ngoi v cc rng buc khc
Bc 3: Nhp d liu
2.7 Xem/To lc c s d liu s dng Management Studio
Mc ch: Xem cc bng v mi quan h cc bng mt cch trc quan
Bc 1: Click phi chut v chn New Database Diagram nh hnh v

Bc 2: Chn Next

Bc 3: Chn (Add) cc bng hin th trong lc

Bc 4: Chn Finish hon tt

Bc 5: Xem kt qu

3. Bi tp ti lp
Yu cu: Vit script to cu trc v nhp d liu cho bng GIAOVIEN, BOMON v KHOA
trong bi tp Qun l Gio vin tham gia ti.
4. Bi tp v nh
Yu cu:
1. Hon chnh script to cu trc v nhp d liu cho c s d liu Qun l Gio
vin tham gia ti.
2. Vit script to cu trc v nhp d liu cho c s d liu Qun l Chuyn bay.

You might also like