Tải bản đầy đủ (.docx) (29 trang)

Xây dựng và quản trị CSDL thị trường ngân hàng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.68 MB, 29 trang )

TRƯỜNG ĐẠI HỌC THƯƠNG MẠI
Khoa: HTTTKT & TMĐT
...................

BÀI THẢO LUẬN

Môn: Quản trị Cơ sở dữ liệu

Đề tài:
Xây dựng và Quản trị CSDL thị trường ngân hàng

Nhóm 22
Lớp học phần: 2005ECIT2521
Giảng viên hướng dẫn: Nghiêm Thị Lịch


I.

Bài tốn

Ngân Hàng Nơng Nghiệp Và Phát Triển Nơng Thơn Việt Nam có nhu cầu quản lý
dịch vụ gửi tiền có kỳ hạn, khơng kỳ hạn và cho vay đối với các cá nhân, tổ chức và
doanh nghiệp có nhu cầu, bao gồm: nhân viên, khách hàng, phiếu đăng ký, phiếu dịch
vụ.
 Nhân viên gồm những thông tin: mã nhân viên, tên nhân viên, ngày sinh, địa
chỉ, giới tính, mã chức vụ, số điện thoại. Mỡi nhân viên có mợt mã nhân viên
duy nhất.
 Khách hàng gồm những thông tin: mã khách hàng, tên khách hàng, số CMND,
ngày cấp, địa chỉ, giới tính. Mỡi khách hàng có mợt mã khách hàng duy nhất.
 Phiếu đăng ký gồm những thông tin: mã phiếu đăng ký, mã khách hàng, mã
nhân viên, tên phiếu đăng ký, ngày lập.


 Phiếu dịch vụ gồm: mã phiếu dịch vụ, mã phiếu đăg ký, mã khách hàng, tên
dịch vụ, số tiền.
 Chức vụ gồm những thông tin: mã chức vụ, tên chức vụ.
II.

Xác định chức năng bài tốn
a. Mơ tả chức năng
Ngân Hàng Nơng Nghiệp Và Phát Triển Nông Thôn Việt Nam là ngân hàng cung
cấp các dịch vụ dịch vụ gửi tiền có kỳ hạn, khơng kỳ hạn và cho vay đối với các cá
nhân, tổ chức và doanh nghiệp có nhu cầu muốn xây dựng hệ thống để quản lý các
hoạt động gửi tiền và cho vay. Hệ thống phải đáp ứng các yêu cầu sau:
Quá trình cung ứng dịch vụ diễn ra như sau: khách hàng đăng ký trực tiếp tại
chi nhánh ngân hàng, nhân viên sẽ lập phiếu dịch vụ theo mẫu của Agribank
và tiến hành kiểm tra số CMND của khách hàng sau đó tùy vào dịch vụ
khách hàng yêu cầu mà nhận tiền hoặc đưa tiền theo số tiền trên phiếu dịch
vụ. Hệ thống nhân viên sẽ kiểm tra số tiền và ngày lập.
 Q trình quản lý thơng tin khách hàng được diễn ra như sau: Khi đến thực
hiện giao dịch, khách hàng cung cấp các thông tin như: tên khách hàng, số
CMND, ngày cấp, địa chỉ, giới tính. Khi khách hàng thực hiện giao dịch, hệ
thống sẽ lưu các thông tin về khách hàng và dịch vụ mà khách hàng yêu cầu:
mã khách hàng, mã phiếu đăng ký, mã phiếu dịch vụ, nhân viên lập phiếu, …
Mỗi tháng nhân viên sẽ viết báo cáo gửi cho giám đốc.
b. Mô hình phân cấp chức năng



QUẢN LÝ DỊCH VỤ GỬI VÀ CHO VAY TIỀN

Cung ứng dịch
vụ


Quản lý thông tin
khách hàng

QL TT nhân viên

Báo cáo, thống


Lưu thơng tin
khách hàng

QL phiếu đăng ký

QL phiếu dịch
vụ
III. Mơ hình ER
1. Xây dựng mơ hình thực thể ER
a. Các tḥc tính
 Thực thể: NhanVien
Tḥc tính: MaNV, TenNV, Ngaysinh, Diachi, GioiTinh, SDT


Thực thể: KhachHang
Tḥc tính: MaKH, TenKH, Diachi, SDT, So CMND, NgayCap



Thực thể: PhieuDangKy
Tḥc tính: MaPDK, TenPDK, NgayLap




Thực thể: PhieuDichVu
Tḥc tính: MaPDV, TenPV, SoTien



Thực thể: ChucVu
Tḥc tính: MaCV, TenCV


b. Các quan hệ
 Nhân viên lưu thông tin của khách hàng:
n

n

Lưu thông tin

NhanVien




KhachHang

Khách hàng điền phiếu đăng ký;
Nhân viên nhận phiếu đăng ký:
n


1

n

Điền

KhachHang

PhieuDangKy
n

Đươc nhân

1

NhanVien



Nhân viên nhận phiếu đăng ký, lưu vào phiếu dịch vụ:
1

Lưu

NhanVien



n

PhieuDichVu

Nhân viên đảm nhiệm chức vụ:

c. Mơ hình ER

NhanVien

TenPDV

n

n

Đam nhiêm

ChucVu


MaPDV

PhieuDichVu
n

SoTien
Lưu

Ten NV

Ma KH

Ten KH

ĐiaChi

Ma NV

So CMND

1
GioiTinh
1

NhanVien

SDT

n

Nhân
1
y/c

KhachHang

NgayCap

n
NgaySinh

Địa chi


GioiTinh

1
n
Nhân

Điền

n Đam nhiêm

n
n
PhieuDangKy

n
ChucVu
MaPDK

TenPDK
Ten CV

MaCV

2. Chuyển đổi mơ hình ER sang mơ hình quan hệ
Chuyển đổi các mối quan hệ
Bước 1: Tên của quan hệ trùng với tên của thực thể kèm theo tḥc tính:
 NhanVien (MaNV, TenNV, GioiTinh, Ngaysinh, SDT, Diachi)

NgayLap








KhachHang (MaKH, TenKH, Diachi, GioiTinh, So CMND, DiaChi, NgayCap)
PhieuDangKy (MaPDK, TenPDK, NgayLap)
PhieuDichVu (MaPDV, TenDV, SoTien)
ChucVu (MaCV, TenCV)

Bước 2: Mối quan hệ


Quan hệ n-n:

=> NhanVien (MaNV, MaCV, TenNV, Ngaysinh, Diachi, GioiTinh, SDT)


Quan hệ 1-n:

=> PhieuDangKy (MaPDK, MaKH, TenPDK, NgayLap)
=> PhieuDichVu (MaPDV, MaNV, MaKH, TenDV, SoTien)
=>Như vậy ta có các mơ hình quan hệ sau:
NhanVien (MaNV, MaCV, TenNV, GioiTinh, NgaySinh, SDT, DiaChi)
KhachHang (MaKH, TenKH, Diachi, GioiTinh, So CMND, DiaChi, NgayCap)
PhieuDangKy (MaPDK, MaNV, MaKH, TenPDK, NgayLap)
PhieuDichVu (MaPDV, MaPDK, MaKH, TenDV, SoTien)
ChucVu (MaCV, TenCV)

IV.

Cài đặt cơ sở dữ liệu trên hệ Quản trị cơ sở dữ liệu SQL Server
1. Tạo database, bảng, khóa chính, khóa ngoại, nhập dữ liệu
--Tạo bảng ChucVu
create table ChucVu
(
MaCV char(5) primary key not null,
TenCV nvarchar(50),
)
--tạo bảng NhanVien
create table NhanVien
(
MaNV char(5) not null primary key,
MaCV char(5) not null,
TenNV nvarchar(50),
GioiTinh nvarchar(10),
NgaySinh datetime,
Sdt char(12),
DiaChi nvarchar(50),
foreign key (MaCV) references ChucVu


)
-- Tạo bảng KhachHang
create table KhachHang
(
MaKH char(5) not null primary key,
TenKH nvarchar(50),
GioiTinh nvarchar(10),

SoCMND char(20),
DiaChi nvarchar(50),
NgayCap datetime
)
--Tạo bảng PhieuDangKy
create table PhieuDangKy
(MaPDK char(5) not null ,
MaNV char(5) not null,
MaKH char(5) not null,
TenPDK nvarchar(50),
NgayLap datetime,
primary key (MaPDK),
foreign key (MaKH) references KhachHang,
foreign key (MaNV) references NhanVien
)
-- Tạo bảng PhieuDichVu
create table PhieuDichVu
(
MaPDV char(5) not null ,
MaPDK char(5) not null ,
TenPDV nvarchar(50),
SoTien money,
primary key (MaPDV),
foreign key (MaPDK) references PhieuDangKy,
)
--Thêm dữ liêu vào bảng ChucVu
insert into ChucVu values ('CV01',N'Tiếp tân')
insert into ChucVu values ('CV02',N'Kế toán')
insert into ChucVu values ('CV03',N'Hành chính')
--Thêm dữ liêu vào bảng NhanVien

insert into NhanVien values ('NV01','CV01',N'Nguyễn Ánh
Vân',N'Nữ','19750208','0948001567',N'731 Trần Hưng Đạo, Q5,
TpHCM')
insert into NhanVien values ('NV02','CV02',N'Trần Văn
Nam','Nam','19900223','0948001887',N'45 Trần Hưng Đạo, Q1,
TpHCM')


insert into NhanVien values ('NV03','CV01',N'Trần Ngọc
Hân',N'Nữ','19951208','0856001567',N'23/5 Nguyễn Trãi, Q5, TpHCM')
insert into NhanVien values ('NV04','CV02',N'Trần Minh
Long','Nam','19910213','0838441887',N'45 Trần Hưng Đạo, Q1,
TpHCM')
insert into NhanVien values ('NV05','CV03',N'Trần Minh
Long','Nam','19910213','0838411887',N'50/34 Lê Đại Hành, Q10,
TpHCM')
insert into NhanVien values ('NV06','CV01',N'Nguyễn Ánh
Vân',N'Nữ','19950128','0984001567',N'610 Trần Hưng Đạo, Q5,
TpHCM')
insert into NhanVien values ('NV07','CV03',N'Trần Bình
Minh','Nam','19940223','0948007777',N'115 Trần Hưng Đạo, Q1,
TpHCM')
--Thêm dữ liêu vào bảng KhachHang
insert into KhachHang values ('KH01',N'Nguyễn Vân
Ánh',N'Nữ','0948001567496798',N'731 , Q5, Nguyễn Trãi
TpHCM','20200123')
insert into KhachHang values ('KH02',N'Nguyễn Ngọc
Anh',N'Nữ','0948042377496798',N'124 , Q5, Nguyễn Trãi
TpHCM','20200125')
insert into KhachHang values ('KH03',N'Hà Huy

Lâp',N'Nam','0363401567496798',N'34/34B Lê Đại Hành, Q10,
TpHCM','20200130')
insert into KhachHang values ('KH04',N'Trần Văn
Nam',N'Nam','0363401567435468',N'34/34B Nguyễn Trãi, Q1,
TpHCM','20200213')
insert into KhachHang values ('KH05',N'Nguyễn Bình
Nguyên',N'Nam','0948001567496798',N'126 An Dương Vương, Q5
TpHCM','20200323')
insert into KhachHang values ('KH06',N'Nguyễn Ngọc
Bình',N'Nữ','0479042377496798',N'54 , Q5, Nguyễn Trãi
TpHCM','20200325')
insert into KhachHang values ('KH07',N'Hà Huy
Hùng',N'Nam','0698765496798',N'34B Lê Đại Hành, Q10,
TpHCM','20200429')
insert into KhachHang values ('KH08',N'Vũ Minh
Hiếu',N'Nam','07962101567435468',N'45/2 An Dương Vương, Q5,
TpHCM','20200501')
insert into KhachHang values ('KH09',N'Ngô Anh
Quyên',N'Nữ','076246001567496798',N'731 , Q5, Nguyễn Trãi
TpHCM','20200503')
insert into KhachHang values ('KH10',N'Nguyễn Minh
Thanh',N'Nữ','0979324677496798',N'46 , Q5, Nguyễn Trãi
TpHCM','20200504')


insert into KhachHang values ('KH11',N'Thân Văng
Tùng',N'Nam','0465401567496798',N'34 Trần Hưng Đạo, Q1,
TpHCM','20200504')
insert into KhachHang values ('KH12',N'Trần Văn
Thịnh',N'Nam','0363401567435468',N'34 Trương Định, Q3,

TpHCM','20200505')
--Thêm dữ liêu vào bảng PhieuDangKy
insert into PhieuDangKy values ('PDK01','KH01','NV01',N'Phiếu
gửi tiền','20200103')
insert into PhieuDangKy values ('PDK02','KH03','NV06',N'Phiếu
gửi tiền','20200130')
insert into PhieuDangKy values ('PDK03','KH05','NV03',N'Phiếu
vay tiền','20200223')
insert into PhieuDangKy values ('PDK04','KH10','NV01',N'Phiếu
vay tiền','20200304')
insert into PhieuDangKy values ('PDK05','KH11','NV03',N'Phiếu
gửi tiền','20200426')
insert into PhieuDangKy values ('PDK06','KH06','NV01',N'Phiếu
gửi tiền','20200427')
insert into PhieuDangKy values ('PDK07','KH04','NV01',N'Phiếu
vay tiền','20200428')
insert into PhieuDangKy values ('PDK08','KH04','NV06',N'Phiếu
vay tiền','20200501')

--Thêm dữ liêu vào bảng PhieuDichVu
insert into PhieuDichVu values ('PDV01','PDK01',N'Phiếu
tiền',56000000)
insert into PhieuDichVu values ('PDV02','PDK02',N'Phiếu
tiền',12300000)
insert into PhieuDichVu values ('PDV03','PDK03',N'Phiếu
tiền',4000000)
insert into PhieuDichVu values ('PDV04','PDK04',N'Phiếu
tiền',4890000)
insert into PhieuDichVu values ('PDV05','PDK05',N'Phiếu
tiền',5090000)

insert into PhieuDichVu values ('PDV06','PDK06',N'Phiếu
tiền',1500000)
insert into PhieuDichVu values ('PDV07','PDK07',N'Phiếu
tiền',1200000)
2. Ngôn ngữ thao tác dữ liệu
--1: in ra danh sách nhân viên

gửi
gửi
vay
vay
gửi
gửi
vay

đăng ký
đăng ký
đăng ký
đăng ký
đăng ký
đăng ký
đăng ký
đăng ký


select *
from NhanVien
-- 2: in ra danh sách nhân viên có chức vụ là tiếp tân
select *
from NhanVien

inner join ChucVu
on NhanVien.MaCV=ChucVu.MaCV
where ChucVu.TenCV=N'Tiếp tân'
--3: in ra danh sách nhân viên có chức vụ là Kế toán
select *
from NhanVien
inner join ChucVu
on NhanVien.MaCV=ChucVu.MaCV
where ChucVu.TenCV=N'Kế tốn'
--4: in ra danh sách nhân viên có chức vụ là Hành chính
select *
from NhanVien
inner join ChucVu
on NhanVien.MaCV=ChucVu.MaCV
where ChucVu.TenCV=N'Hành chính'
--5: in ra danh sách khách hàng được cấp phiếu trong tháng 5
select MaKH,TenKH,SoCMND,DiaChi
from KhachHang
where MONTH(NgayCap)=5
--6: in ra danh sách các khách hàng có phiếu đăng ký gửi tiền và xắp
xếp tên tăng dần và giảm dần theo số tiền gửi
select KhachHang.MaKH,TenKH,SoCMND,DiaChi
from KhachHang
inner join PhieuDangKy
on KhachHang.MaKH=PhieuDangKy.MaKH


inner join PhieuDichVu
on KhachHang.MaKH=PhieuDichVu.MaKH
where PhieuDangKy.TenPDK=N'Phiếu đăng ký gửi tiền'

order by KhachHang.MaKH, PhieuDichVu.SoTien desc
--7: in ra khách hàng gửi tiền nhiều nhất
select top 1
KhachHang.MaKH,KhachHang.TenKH,KhachHang.SoCMND,KhachHang.
DiaChi
from KhachHang
inner join PhieuDichVu
on KhachHang.MaKH=PhieuDichVu.MaKH
where PhieuDichVu.TenPDV=N'Phiếu gửi tiền'
order by PhieuDichVu.TenPDV desc
--8: in ra tổng tiền các khách hàng đã gửi vào tháng 5
select sum(SoTien) as Tongtienguithang5
from PhieuDichVu
inner join PhieuDangKy
on PhieuDichVu.MaPDK=PhieuDangKy.MaPDK
where PhieuDichVu.TenPDV=N'Phiếu gửi tiền' and
month(PhieuDangKy.NgayLap)=5
--9: in ra danh sách khách hàng có số tiền vay hơn 10 triêu
select
KhachHang.MaKH,KhachHang.TenKH,KhachHang.SoCMND,KhachHang.
DiaChi
from KhachHang
inner join PhieuDichVu
on KhachHang.MaKH=PhieuDichVu.MaKH
where PhieuDichVu.TenPDV=N'Phiếu vay tiền'
and PhieuDichVu.SoTien>10000000


V. Khai thác cơ sở dữ liệu
1. Query

--1: in ra danh sách nhân viên
select *
from NhanVien

-- 2: in ra danh sách nhân viên có chức vụ là tiếp tân
select *
from NhanVien
inner join ChucVu
on NhanVien.MaCV=ChucVu.MaCV
where ChucVu.TenCV=N'Tiếp tân'


--3: in ra danh sách nhân viên có chức vụ là Kế toán
select *
from NhanVien
inner join ChucVu
on NhanVien.MaCV=ChucVu.MaCV
where ChucVu.TenCV=N'Kế toán'


--4: in ra danh sách nhân viên có chức vụ là Hành chính
select *
from NhanVien
inner join ChucVu
on NhanVien.MaCV=ChucVu.MaCV
where ChucVu.TenCV=N'Hành chính'

--5: in ra danh sách khách hàng được cấp phiếu trong tháng 5
select MaKH,TenKH,SoCMND,DiaChi
from KhachHang

where MONTH(NgayCap)=5


2. View
--6: tạo view in ra danh sách 5 khách hàng có phiếu đăng ký gửi tiền
nhiều nhất
go
CREATE VIEW KHDKVAY
as
select top 5 KhachHang.MaKH,TenKH,SoCMND,DiaChi
from KhachHang
inner join PhieuDangKy
on KhachHang.MaKH=PhieuDangKy.MaKH
inner join PhieuDichVu
on PhieuDangKy.MaPDK=PhieuDichVu.MaPDK
where PhieuDangKy.TenPDK=N'Phiếu đăng ký gửi tiền'
order by KhachHang.MaKH, PhieuDichVu.SoTien desc
select * from KHDKVAY

--7:tạo view in ra khách hàng có phiếu vay nhiều nhất
go
CREATE VIEW KHTHANTHIEN
as
select top 1
KhachHang.MaKH,KhachHang.TenKH,KhachHang.SoCMND,KhachHang.D
iaChi
from KhachHang
inner join PhieuDangKy
on KhachHang.MaKH=PhieuDangKy.MaKH
inner join PhieuDichVu

on PhieuDangKy.MaPDK=PhieuDichVu.MaPDK
where PhieuDichVu.TenPDV=N'Phiếu vay tiền'
order by PhieuDichVu.SoTien desc


select * from KHTHANTHIEN
--8: tạo view in ra tổng tiền các khách hàng đã gửi vào tháng 1
go
CREATE VIEW KHGUIT1
as
select sum(SoTien) as Tongtienguithang1
from PhieuDichVu
inner join PhieuDangKy
on PhieuDichVu.MaPDK=PhieuDangKy.MaPDK
where PhieuDichVu.TenPDV=N'Phiếu gửi tiền' and
month(PhieuDangKy.NgayLap)=1

select * from KHGUIT1
--9: in ra danh sách khách hàng có số tiền vay hơn 10 triêu
go
CREATE VIEW KHVAY
as
select
KhachHang.MaKH,KhachHang.TenKH,KhachHang.SoCMND,KhachHang.D
iaChi
from KhachHang
inner join PhieuDangKy
on KhachHang.MaKH=PhieuDangKy.MaKH



inner join PhieuDichVu
on PhieuDangKy.MaPDK=PhieuDichVu.MaPDK
where PhieuDichVu.TenPDV=N'Phiếu vay tiền'
and PhieuDichVu.SoTien>10000000

select * from KHVAY

3. Procedure
a. -- Lấy ra danh sách phiếu dịch vụ theo mã khách hàng (MaKH) do nhân
viên nhâp vào gồm các thông tin:MaKH, TenKH, SoCMND, TenPDK,
NgayLap, MaPDV, TenPDV, SoTien
use quanlynganhang
go
create proc usp_pdv
@MaKH char (5)
as
select
KhachHang.MaKH,TenKH,SoCMND,TenPDK,NgayLap,MaPDV,TenPDV,So
Tien
from (KhachHang inner join PhieuDichVu on
KhachHang.MaKH=PhieuDichVu.MaKH)
inner join dbo.PhieuDangKy on
PhieuDangKy.MaPDK=PhieuDichVu.MaPDK
where KhachHang.MaKH=@MaKH
go
exec usp_pdv'KH01'


b. --tạo thủ tục chèn khách hàng mới cho bảng Khách hàng
use quanlynganhang

go
create proc themkhachhang11
@MaKH char(5),
@TenKH nvarchar (50),
@GioiTinh nvarchar (10),
@SoCMND char(20),
@DiaChi nvarchar(50),
@NgayCap datetime
as
begin
insert into dbo.KhachHang values
(@MaKH,@TenKH,@GioiTinh,@SoCMND,@DiaChi,@NgayCap)
end
go
exec themkhachhang11 'KH13',N'Đặng Hoàng
Anh',N'Nam','091856175',N'28 Lê Đại Hành, Q10, TPHCM','20200101'
select * from dbo.KhachHang


c. -- Câp nhât thông tin nhân viên
create proc NhanVien_UPDATE
(@MaNV char(5),
@MaCV char (5),
@TenNV nvarchar(50),
@GioiTinh nvarchar(10),
@NgaySinh datetime,
@Sdt char (12),
@DiaChi nvarchar(50)
)
as

Begin
UPDATE NhanVien set MaNV=@MaNV, MaCV=@MaCV,TenNV=@TenNV ,
GioiTinh=@GioiTinh,NgaySinh=@NgaySinh, Sdt=@Sdt, DiaChi=@DiaChi
where MaNV=@MaNV
end


4. Trigger
--tạo trigger đảm bảo người vay tiền không được vay số tiền trên
100000000
create trigger max_vay_tiền
on PhieuDichVu
for insert,update
as
begin
declare @tiền_vay money;
select @tiền_vay = SoTien from inserted where
inserted.TenPDV=N'Phiếu vay tiền'
if (@tiền_vay > 1000000000 )
begin
PRint N'không được vay số tiền trên 1000000000'
rollback tran
end
end
insert into PhieuDichVu values ('PDV08','PDK08',N'Phiếu vay
tiền',12000000000)


--tạo trigger đảm bảo người gửi gửi số tiền trên 100000
go

create trigger min_gửi_tiền1
on PhieuDichVu
for insert,update
as
begin
declare @tiền_gửi money;
select @tiền_gửi = SoTien from inserted where
inserted.TenPDV=N'Phiếu gửi tiền'
if (@tiền_gửi <= 100000 )
begin
PRint N'số tiền gửi không đủ'
rollback tran
end
end
insert into PhieuDichVu values ('PDV08','PDK08',N'Phiếu gửi
tiền',10000)


--tạo trigger đảm bảo nhân viên hành chính là người tạo phiếu
go
create trigger nv
on PhieuDangKy
for insert,update
as
begin
declare @MaNV char(5)= (select MaNV from inserted )
if (@MaNV not in (select MaNV from NhanVien inner join ChucVu on
ChucVu.MaCV= NhanVien.MaCV where ChucVu.TenCV= N'Hành chính'))
begin
print N'nhân viên này khơng có thẩm quyền tạo phiếu'

rollback tran
end
end
insert into PhieuDangKy (MaPDK ,MaKH,MaNV ,TenPDK ,NgayLap)
values ('PDK10','KH01','NV01',N'Phiếu đăng ký gửi tiền','20200503')


--tạo trigger tự động thông báo tổng số tiền gửi hoặc vay của khách
hàng sau khi nhâp thông tin PhieuDichVu
go
create trigger summoney
on PhieuDichVu
for insert,update
as
begin
declare @tenphieu nvarchar(50)= (select TenPDV from inserted )
declare @tien money=(select SoTien from inserted )
begin
select @tenphieu, @tien+sum(SoTien) as 'Tổng tiền'
from PhieuDichVu
where @tenphieu=PhieuDichVu.TenPDV
end
end
insert into PhieuDichVu values ('PDV08','PDK08',N'Phiếu gửi
tiền',10000000)


5. Function
--câu 1: chon nhan vien theo manv -CREATE FUNCTION F_ChonNV
(@MaNV nvarchar(50))

returns table
as
return (select*from Nhanvien where MaNV=@MaNV)
--thuc hien ham-select * from f_ChonNV('NV01')

--xoa ham-DROP FUNCTION f_ChonNV
--câu 2: Đưa ra danh sách tất cả sinh viên
CREATE FUNCTION UF_SelectAlllNhanvien()


RETURNS TABLE
AS RETURN SELECT * FROM dbo.Nhanvien
GO
SELECT * FROM UF_SelectAlllNhanvien()

--câu 3: xuất ra tuổi của nhân viên
CREATE FUNCTION tuoi_nv(@MaNV nvarchar(50))
RETURNS nvarchar(50)
AS
BEGIN
DECLARE @tuoi date
SELECT @tuoi = Ngaysinh
FROM dbo.Nhanvien WHERE MaNV =@MaNV
RETURN year(getdate()) - year(@tuoi)
END
--Thực hiên hàm-SELECT dbo.tuoi_nv('NV01') AS 'tuoi'


×