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

Tổ chức xây dựng cơ sở dữ liệu quản lý tài chính tiền tệ cụ thể quản lý sổ tiết kiệm

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 (702.49 KB, 27 trang )

Trường Đại Học Thương Mại
Khoa Hệ Thống Thông Tin Kinh Tế
---o0o---

BÀI THẢO LUẬN
Đề tài: Tổ chức xây dựng cơ sở dữ liệu quản lý tài chính tiền tệ.
Cụ thể: Quản lý sổ tiết kiệm
Nhóm Thực Hiện: Nhóm 11.
Giảng Viên Hướng Dẫn: Nguyễn Thị Thu Thủy.
Hà Nội 2015


Đề tài: Tổ chức xây dựng cơ sở dữ liệu quản lý tài chính tiền tệ. Cụ thể: quản
lý sổ tiết kiệm.
I. Xây dựng cơ sở dữ liệu
1. Mô tả bài toán
Khi khách hàng có nhu cầu gửi tiết kiệm tại ngân hàng, nếu chưa có sổ tiết kiệm tại
ngân hàng thì nhân viên tại quầy hướng dẫn lập sổ tiết kiệm mới cho khách hàng. Nếu
thông tin đầy đủ và hợp lệ thì nhân viên sẽ mở sổ tiết kiệm cho khách hàng.
Sau khi lập sổ tiết kiệm, khách hàng có thể gửi thêm tiền vào tài khoản hoặc rút
tiền trong tài khoản. Khách hàng phải điền đầy đủ thông tin vào trong phiếu gửi tiền do
nhân viên cung cấp.Tương tự, nếu muốn rút tiền, khách hàng phải có phiếu rút tiền.
Ngân hàng quản lý và theo dõi số tài khoản của khách hàng sau mỗi lần mở sổ và
in báo cáo số tài khoản theo định kì.
Thông tin về sổ tiết kiệm bao gồm: Số tài khoản, số tiền, lãi suất, kỳ hạn
Thông tin về khách hàng bao gồm: Mã khách hàng, tên khách hàng, số chứng minh
thư nhân dân, địa chỉ, số điện thoại.
Thông tin về nhân viên bao gồm: Mã nhân viên, tên nhân viên, giới tính, địa chỉ, số
điện thoại.
Thông tin về phiếu gửi tiền bao gồm: Mã phiếu gửi, số tài khoản, ngày gửi, số tiền
gửi.


Thông tin về phiếu rút tiền bao gồm: Mã phiếu rút, số tài khoản, ngày rút, số tiền
rút.
- Xác định các mối quan hệ:
Mỗi sổ tiết kiệm chỉ được lập bởi một nhân viên, một nhân viên có thể lập nhiều sổ
tiết kiệm.


Mỗi khách hàng có thể có nhiều sổ tiết kiệm, nhưng một sổ tiết kiệm chỉ được sở
hữu bởi một khách hàng.
Mỗi phiếu gửi tiền được lập bởi một nhân viên, một nhân viên có thể lập nhiều
phiếu gửi
Mỗi phiếu rút tiền được lập bởi 1 một nhân viên, 1 nhân viên có thể lập nhiều
phiếu rút
2. Xác định các thực thể
- Khách hàng (Mã khách hàng, tên khách hàng, số chứng minh thư nhân dân, địa chỉ, số
điện thoại)
- Nhân viên (Mã nhân viên, tên nhân viên, giới tính, địa chỉ, số điện thoại)
- Sổ tiết kiệm (Số tài khoản, số tiền, lãi suất, kỳ hạn)
- Phiếu gửi tiền (Mã phiếu gửi, số tài khoản, ngày gửi, số tiền gửi)
- Phiếu rút tiền (Mã phiếu rút, số tài khoản, ngày rút, số tiền rút)
3. Tạo bảng với các ràng buộc
create table khachhang
(
makh int primary key,
tenkh nvarchar (30) not null,
socmnd int not null,
diachi nvarchar(50),
sdt int,
)
create table nhanvien

(
manv int primary key,
tennv nvarchar (30) not null,


gioitinh nvarchar(10),
diachi nvarchar(30),
sdt int,
)
create table sotietkiem
(
sotk float primary key,
sotien int not null,
constraint dk_sotien check (sotien>=100000),
laisuat decimal(4,2),
kyhan int,
makh int,
manv int,
constraint fk_sotietkiem_khachhang foreign key (makh) references khachhang(makh)
on delete cascade
on update cascade,
constraint fk_sotietkiem_nhanvien foreign key (manv) references nhanvien(manv)
on delete cascade
on update cascade,
)
create table phieuguitien
(
maphieugui int primary key,
makh int,
manv int,

sotk float,
ngaygui datetime,
sotiengui int,
constraint dk_phieuguitien_khachhang foreign key (makh) references khachhang(makh),
constraint dk_phieuguitien_nhanvien foreign key (manv) references nhanvien(manv)


)
create table phieuruttien
(
maphieurut int primary key,
makh int,
manv int,
sotk float,
ngayrut datetime,
sotienrut int,
constraint bk_phieuruttien_khachhang foreign key (makh) references khachhang(makh),
constraint bk_phieuruttien_nhanvien foreign key (manv) references nhanvien(manv)
)
4. Xác định liên kết

5. Cơ sở dữ liệu
- Bảng khách hàng


Makh (Mã
Tenkh (Tên khách Socmnd (Số chứng
khách hàng)
hàng)
minh nhân dân)

1
Lê Thị Linh
152048104
2
Nguyễn Thị Hoa
31913559
3
Trần Nam Anh
45822313
4
Hoàng Văn Đạt
122094470
5
Lê Thị Thảo
126755432
6
Lê Thị Linh
31446352
7
Đặng Thị Thu
31536272
8
Hoàng Văn Long
34533224
9
Nguyễn Văn Ninh
87687977
10
Nguyễn Bích Ngọc
43235665

11
Trần Thế Quân
31744355
12
Hoàng Thu Trang
127643214
13
Vũ Kim Anh
372877723

Diachi (Địa
chỉ)
Thái Bình
Hải Phòng
Hòa Bình
NULL
Quảng Ninh
Hải Phòng
Hưng Yên
Thái Bình
NULL
Nam Định
Hà Nội
Bắc Giang
Hải Phòng

Sdt (Số điện
thoại)
963219644
963140301

989940320
122094470
963296653
1215239869
1632966528
916395765
962156372
313509389
936404058
1656041891
1699875505

Diachi (Địa chỉ)

Sdt (Số điện
thoại)
936404058
969744160
983864534
965643758
963140301

- Bảng nhân viên
Manv (Mã
nhân viên)
111
112
113
114
115


Tennv (Tên nhân viên)
Nguyễn Mai Trang
Lê Thùy Linh
Trần Thị Hồng
Nguyễn Văn Nam
Cao Thị Thủy

Gioitinh
(Giới tính)
nữ
nữ
nữ
nam
nữ

Hà Nội
Hà Nội
Nam Định
Hải Dương
Hải Phòng

- Bảng sổ tiết kiệm
Sotk (Số tài
khoản)
2105601650102
2430008754323
3619604044723
3755667812135
4344760123435

4537489293844
5013604003117
21510001084437
31823000123466

Sotien (Số
tiền)
65000000
175000000
100000000
210000000
80000000
10000000
120000000
115000000
50000000

Laisuat
(Lãi suất)
0.04
0.06
0.06
0.05
0.43
0.43
0.05
0.45
0.05

Kyhan

(Kỳ hạn)
1
12
12
6
2
2
6
3
6

Makh (Mã
khách hàng)
7
13
1
5
3
4
2
9
11

Manv (Mã
nhân viên)
111
112
111
111
113

114
112
115
114


- Bảng Phiếu gửi tiền
Maphieugui
(Mã phiếu
gửi)
202015
212015
222015
232015
242015

Makh (Mã
khách
hàng)
1
4
5
7
11

Manv (Mã
nhân viên)

Sotk (Số tài
khoản)


Ngaygui
(Ngày gửi)

Sotiengui
(Số tiền gửi)

111
113
112
114
113

5013604003117
4537489293844
3755667812135
2105601650102
31823000123466

02/05/2014
12/06/2014
04/02/2014
15/08/2014
23/11/2014

15000000
10000000
55000000
50000000
10000000


- Bảng Phiếu rút tiền
Maphieurut
(Mã phiếu
rút)
112000
122001
132002

Makh (Mã
khách hàng)

Manv (Mã
nhân viên)

Sotk (Số tài
khoản)

Ngayrut
(Ngày rút)

Sotienrut
(Số tiền rút)

1
3
2

113
112

112

03/07/2014
12/09/2014
02/10/2014

12000000
9000000
5000000

142003

9

115

3619604044723
4344760123435
5013604003117
2151000108443
7

15/11/2014

25000000

II. Các thao tác làm việc với hệ cơ sở dữ liệu
1. Lệnh Select
a. Hiển thị danh sách khách hàng có địa chỉ ở Hải Phòng.
select makh, tenkh, diachi

from khachhang
where diachi = N'Hải Phòng'


b. Lọc ra danh sách các khách hàng có họ là “Nguyễn”
select *
from khachhang
where tenkh like (N'Nguyễn%')


c. Hiển thị danh sách những khách hàng rút số tiền > 5000000
select kh.makh, tenkh, sotienrut
from khachhang kh inner join phieuruttien prt on kh.makh = prt.makh
where sotienrut > 5000000

d. Hiển thị danh sách khách hàng đc sắp xếp giảm dần theo số tiền trong sổ tiết kiệm
select kh.makh, tenkh, sotk, sotien
from khachhang kh inner join sotietkiem stk on kh.makh=stk.makh
order by sotien DESC


e. Dùng nối ngoài trái hiển thị những tất cả thông tin khách hàng ở Hải Phòng có sổ tiết
kiệm
select *
from khachhang kh left outer join sotietkiem stk on kh.makh=stk.makh
where diachi = N'Hải Phòng'


2. Truy vấn con
a. Sử dụng truy vấn con hiển thị danh sách khách hàng có số dư trong sổ tiết kiệm >

75000000
select kh.makh, kh.tenkh, stk.sotien
from khachhang kh inner join sotietkiem stk on kh.makh=stk.makh
where kh.makh in
(select makh
from sotietkiem
where sotien> 75000000)


b. Sử dụng truy vấn con hiển thị danh sách khách hàng của những người có makh lớn hơn
tất cả các khách hàng không có địa chỉ.
select kh.makh, kh.tenkh, stk.sotk, stk.sotien
from khachhang kh left join sotietkiem stk on kh.makh=stk.makh
where kh.makh > ALL (select makh from khachhang where diachi IS NULL)


3. Tạo khung nhìn
- Tạo khung nhìn danh sách nhân viên đã lập phiếu gửi tiền
create view dsnv
as
select distinct nv.manv, nv.tennv
from nhanvien nv inner join phieuguitien pgt on nv.manv=pgt.manv

4. Tạo thủ tục lưu trữ
a. Tạo thủ tục liệt kê danh sách khách hàng từ 1 địa chỉ bất kì nhập từ bàn phím
- Câu lệnh tạo thủ tục
create proc lietkedskh(@diachi nvarchar(50))
as
select makh, tenkh, diachi
from khachhang

where diachi=@diachi


- Gọi thủ tục:
execute lietkedskh @diachi = N'Hải Phòng'

b. Tạo thủ tục hiển thị danh sách nhân viên có họ là “Nguyễn”


- Tạo thủ tục
create proc lietkedsnv (@tennv nvarchar(30))
as
select *
from nhanvien
where tennv like @tennv

- Gọi thủ tục
execute lietkedsnv @tennv = N'Nguyễn%'


c. Tạo thủ tục liệt kê danh sách khách hàng từ 1 địa chỉ nhập từ bàn phím mà có số tiền
trong sổ tiết kiệm > 100000000
- Tạo thủ tục
create proc dskh (@diachi nvarchar(50))
as
select kh.makh, kh.tenkh, stk.sotien
from khachhang kh inner join sotietkiem stk on kh.makh=stk.makh
where diachi=@diachi and stk.sotien > 100000000



- Gọi thủ tục
execute dskh @diachi= N'Hải Phòng'

5. Tạo hàm


Viết hàm tạo bảng danh sách khách hàng có makh> makh nhập từ bàn phím.
- Tạo hàm:
create function sp_dskh (@makh int)
returns table
as
return (select * from khachhang where makh > @makh)

- Thực hiện hàm:
select * from sp_dskh ('5')


6. Tạo trigger: Tạo trigger cho bảng khách hàng, kiểm tra khi cập nhật danh sách khách
hàng phải có độ dài của tên khách hàng > 1 kí tự, nếu độ dài tên <= 1 kí tự thì in ra: “Tên
không hợp lệ”
- Tạo trigger
if exists (select name from sysobjects
where name='t_tenkh'and type ='TR')
drop trigger t_tenkh
go
create trigger t_tenkh
on khachhang
after insert,update
as
begin

declare @lengthOfName nvarchar
select @lengthOfName=LEN(inserted.tenkh)


from inserted
if @lengthOfName <=1
print N'Tên không hợp lệ'
rollback tran
end
go

Khi chèn 1 khách hàng vào bảng khách hàng:
insert into khachhang values ('14', 'A', '123456789', 'Hà Nội', '345677897')
Tên khách hàng nhập vào là: A chỉ là 1 kí tự nên trên màn hình sẽ báo là: Tên không hợp
lệ.


III. Tạo form kết nối dữ liệu
- Form MENU


- Form Thông tin khách hàng
Chọn mục: Thông tin khách hàng trong form MENU để xem các thông tin của
khách hàng và thêm, sửa, xóa thông tin khách hàng.

- Form Thông tin nhân viên
Chọn mục: Thông tin nhân viên trong form MENU để xem thông tin nhân viên,
thêm, sửa, xóa nhân viên.



- Form Lập sổ tiết kiệm
Chọn mục: Lập sổ tiết kiệm trong form MENU để lập sổ tiết kiệm, thêm, sửa, xóa
sổ tiết kiệm.


- Form Lập Phiếu Gửi Tiền
Chọn mục: Lập Phiếu Gửi Tiền trong form MENU để lập phiếu gửi tiền, thêm,
sửa, xóa phiếu gửi tiền


- Form Lập Phiếu Rút Tiền
Chọn mục: Lập Phiếu Rút Tiền trong form MENU để lập phiếu rút và thêm, sửa,
xóa phiếu rút tiền


×