You are on page 1of 5

THỰC HÀNH ĐỊNH NGHĨA CƠ SỞ DỮ LIỆU

VÀ THAO TÁC CƠ SỞ DỮ LIỆU


Phần 1: Định nghĩa cơ sở dữ liệu

Cho cơ sở dữ liệu QuanLyDuAn có cấu trúc như sau

Tên bảng Tên trường Kiểu Not Null constraint

MaPB char(10) X Primary Key

PhongBan Tenpb nvarchar(50) X

Nguoiquanly char(10) X

NhanVien MaNV char(10) X Primary Key

TenNV nvarchar(50) X

DiaChi Nvarchar(50) Defaul ‘Không rõ’

Ngaysinh Date

Luong Money X

MaPB Char(10) X FK reference on PhongBan


GioiTinh int 0 hoặc 1, default 1

MaDA Char(10) X Primary Key

TenDA Nvarchar(50) X

DuAn NgayKC date X Default now()

NgayKT date

DiaDiem Nvarchar(50) X Default ‘Tru sở chính’

MaDA Char(10) X FK reference on DuAn


ThamGia
MaNV Char(10) X FK reference on NhanVien

Soluongngaycong int

-- To database
USE master
CREATE DATABASE QuanLyDuAn
Go
-- To bng Phòng ban
USE QuanLyDuAn
CREATE TABLE PhongBan(
MaPB char (10) not null Primary key,
Tenpb nvarchar(50) not null,
Nguoiquanly char(10) not null
)
Go

-- Tao bang nhan vien


CREATE TABLE NhanVien(
MaNV char(10) not null Primary key,
TenNV nvarchar(50) not null,
DiaChi nvarchar(50) default 'Khong biet',
Ngaysinh Date null,
Luong Money,
MaPB char (10) not null,
gt int,
CONSTRAINT fk_MAPB FOREIGN KEY (MaPB)
REFERENCES PhongBan(MaPB),
constraint check_dt check ((gt=0) or (gt=1))
)
-- Tao bang DuAn
CREATE TABLE DuAn(
MaDA char (10) not null Primary key,
TenDA nvarchar(50) not null,
NgayKC Date ,
NgayKT Date null,
DiaDiem Nvarchar(50) default 'Tru so chinh',
)
CREATE TABLE ThamGia(
MaDA char (10) not null,
MaNV char(10) not null,
SoLuoNgayCong int ,
CONSTRAINT fk_MADA FOREIGN KEY (MaDA)
REFERENCES DuAn(MaDA),
CONSTRAINT fk_MANV FOREIGN KEY (MaNV)
REFERENCES NhanVien(MaNV),
)

--chen du lieu
USE QuanLyDuAn
-- Chèn d liu vào bng phòng ban
INSERT INTO PhongBan (MaPB,Tenpb,Nguoiquanly)
VALUES ('TCKT', 'Tài chính k toán' ,'0000000001');
INSERT INTO PhongBan (MaPB,Tenpb,Nguoiquanly)
VALUES ('QTTB', 'Qun tr thit b' ,'0000000002');
INSERT INTO PhongBan (MaPB,Tenpb,Nguoiquanly)
VALUES ('CNPM', 'Công ngh phn mm' ,'0000000003');
INSERT INTO PhongBan (MaPB,Tenpb,Nguoiquanly)
VALUES ('KT', 'Kim th' ,'0000000004');
INSERT INTO PhongBan (MaPB,Tenpb,Nguoiquanly)
VALUES ('VH', 'Vn Hành' ,'0000000005');

-- Chèn d liu vào bng Nhân viên


-- Chèn d liu cho phòng TCKT
INSERT INTO NhanVien (MaNV,TenNV, DiaChi,NgaySinh, Luong,MaPB)
VALUES('0000000001', 'Nguyn Hoài Anh' , 'Hà Ni' , '1986-05-06',
20000000,'TCKT')
INSERT INTO NhanVien (MaNV,TenNV, DiaChi,NgaySinh, Luong,MaPB)
VALUES('0000000006', 'Nguyn Hoài An' , 'Hà Ni' , '1986-01-06', 12000000,'TCKT')
INSERT INTO NhanVien (MaNV,TenNV, DiaChi,NgaySinh, Luong,MaPB)
VALUES('0000000007', 'Trn Hoài An' , 'Hà Ni' , '1986-02-06', 12000000,'TCKT')
INSERT INTO NhanVien (MaNV,TenNV, DiaChi,NgaySinh, Luong,MaPB)
VALUES('0000000008', 'Nguyn Ngc Ánh' , 'Hà Ni' , '1986-03-06',
12000000,'TCKT')
INSERT INTO NhanVien (MaNV,TenNV, DiaChi,NgaySinh, Luong,MaPB)
VALUES('0000000009', 'Nguyn Trâm anh' , 'Hà Ni' , '1988-01-06',
12000000,'TCKT')
-- Chèn d liu cho Phòng Qun tr thit b
INSERT INTO NhanVien (MaNV,TenNV, DiaChi,NgaySinh, Luong,MaPB)
VALUES('0000000002', 'Nguyn Hoàng' , 'Hà Ni' , '1980-05-06', 20000000,'QTTB')
INSERT INTO NhanVien (MaNV,TenNV, DiaChi,NgaySinh, Luong,MaPB)
VALUES('0000000010', 'Nguyn Thanh An' , 'Hà Ni' , '1986-01-06',
12000000,'QTTB')
INSERT INTO NhanVien (MaNV,TenNV, DiaChi,NgaySinh, Luong,MaPB)
VALUES('0000000011', 'Trn Th Bình' , 'Hà Ni' , '1986-02-06', 12000000,'QTTB')

-- Chèn d liu cho phòng công ngh phn mm


INSERT INTO NhanVien (MaNV,TenNV, DiaChi,NgaySinh, Luong,MaPB)
VALUES('0000000003', 'Nguyn Nht Hoàng' , 'Hà Ni' , '1980-05-06',
20000000,'CNPM')
INSERT INTO NhanVien (MaNV,TenNV, DiaChi,NgaySinh, Luong,MaPB)
VALUES('0000000012', 'Nguyn Hoài Anh' , 'Hà Ni' , '1986-01-06',
12000000,'CNPM')
INSERT INTO NhanVien (MaNV,TenNV, DiaChi,NgaySinh, Luong,MaPB)
VALUES('0000000013', 'Trn Bình' , 'Hà Ni' , '1986-02-06', 12000000,'CNPM')
INSERT INTO NhanVien (MaNV,TenNV, DiaChi,NgaySinh, Luong,MaPB)
VALUES('0000000014','Nguyễn Văn Hải', 'Hà Ni' , '1980-05-06', 14000000,'CNPM')
INSERT INTO NhanVien (MaNV,TenNV, DiaChi,NgaySinh, Luong,MaPB)
VALUES('0000000015', 'Hoàng Th Bình' , 'Hà Nam', '1986-01-26', 12000000,'CNPM')
INSERT INTO NhanVien (MaNV,TenNV, DiaChi,NgaySinh, Luong,MaPB)
VALUES('0000000016','Trần Văn Mậu', 'Hi Dng' , '1990-02-06',
12000000,'CNPM')
-- Tng t nh vy chèn d liu cho các phòng còn li trong bng nhân viên
-- Và chèn d liu cho bng D Án và Tham Gia

Sửa bảng nhân viên them trường SDT char(11)


ALTER TABLE NhanVien
ADD SDT char(11)

Sửa dữ liệu:

Cú Pháp
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
- Cập nhật tên Phòng ban: Phòng Quản trị thiết bị thành phòng Quản trị hệ
thống, UPDATE PhongBan SET Tenpb= 'Qun tr h thng',
WHERE Tenpb= 'Qun tr thit b'

- Cập nhật nhật tên phòng bản Kiểm thử thành phòng Kiểm tra chất lượng và
người quản lý phòng này có mã là '0000000016'
UPDATE PhongBan SET Tenpb= 'Kim tra cht lng' ,
Nguoiquanly = '0000000016'
WHERE Tenpb = 'Kim th'

- Chuyển nhân viên Trần Văn Mậu sang phòng Kiểm thử
UPDATE NhanVien SET MaPB=(SELECT MaPB FROM PhongBan
WHERE Tenpb = 'Kim th' )
WHERE TenNV='Trần Văn Mậu'

Xóa dữ liệu

Cú Pháp
DELETE FROM table_name
WHERE some_column=some_value;

- Xóa nhân viên Nguyễn Văn Mậu ra khỏi danh sách nhân viên
DELETE NhanVien
WHERE TenNV='Nguyễn Văn Mậu'

- Xóa tt c các d án mà nhân viên 'Nguyn Nht Hoàng' đã tham ra

You might also like