1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thảo luận học phần quản trị cơ sở dữ liệu đề tài xây dựng và quản trị cơ sở dữ liệu thị trường chứng khoánngân hàng

29 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng và quản trị cơ sở dữ liệu thị trường chứng khoán/ngân hàng
Tác giả Nguyễn Thị Phương Thảo, Nguyễn Thị Thơm, Nguyễn Kim Thư, Vũ Thị Kim Thư, Lưu Hoài Thương
Người hướng dẫn Nghiêm Thị Lịch
Trường học Trường Đại Học Thương Mại
Chuyên ngành Quản trị cơ sở dữ liệu
Thể loại Bài thảo luận
Năm xuất bản 2020
Thành phố Hà Nội
Định dạng
Số trang 29
Dung lượng 1,78 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Thông tin về tài khoản được lưu trữ bao gồm: Mã tài khoản duy nhất, mã khách hàng, ngày tạo tài khoản, loại thẻ liên kết và số dư trong tài khoản.. -Một tài khoản có thể thực hiện nhi

Trang 1

TRƯỜNG ĐẠI HỌC THƯƠNG MẠI Khoa: HTTT Kinh Tế & TMĐT

Trang 2

BẢNG PHÂN CÔNG NHIỆM VỤ NHÓM 14

66 17D190031 Nguyễn Thị Phương Thảo Phân quyền

67 18D190103 Nguyễn Thị Thơm Nhập dữ liệu, trigger

69 18D190105 Vũ Thị Kim Thư (NT) Đặt bài toán, phân công việc,

Stored procedure, function

70 18D190106 Lưu Hoài Thương (TK) Vẽ mô hình ER, quan hệ, view

Trang 3

BẢNG ĐÁNH GIÁ KẾT QUẢ THẢO LUẬN NHÓM 14

Trang 4

Cộng hòa xã hội chủ nghĩa Việt Nam Độc lập – Tự do – Hạnh phúc

Hà Nội, ngày 10 tháng 10 năm 2020

BIÊN BẢN THẢO LUẬN NHÓM

Hôm nay, đúng vào lúc 8h10 ngày 10/10/2020, nhóm 14 tiến hành thảo luận nhóm học phần Quản trị cơ sở dữ liệu với những nội dung sau đây:

Thành phần tham dự: tất cả thành viên nhóm

14 Nội dung thảo luận :

- Các thành viên thảo luận online

- Lên ý tưởng bài thảo luận

- Phân chia công việc

Cả nhóm đều tham gia thảo luận và thống nhất ý kiến phân công để hoàn thành

bài thảo luận

Nhóm trưởng chốt ý tưởng cũng như nhiệm vụ sau đó phân chia cụ thể cho từng thành viên trong nhóm

Buổi thảo luận kết lúc vào lúc 20h30 cùng ngày

Biên bản thảo luận đọc trước tất cả các thành viên trong nhóm Cả nhóm đồng ý với những gì đã viết

Trang 5

Cộng hòa xã hội chủ nghĩa Việt Nam Độc lập – Tự do – Hạnh phúc

Hà Nội, ngày 19 tháng 10 năm

2020 BIÊN BẢN THẢO LUẬN NHÓM

Hôm nay, đúng vào lúc 19h30 ngày 19/10/2020, nhóm 14 tiến hành thảo luận nhóm học phần Quản trị cơ sở dữ liệu với những nội dung sau đây:

Thành phần tham dự: tất cả thành viên nhóm

14 Nội dung thảo luận :

- Các thành viên thảo luận online

- Thêm ý tưởng cho bài thảo luận

- Các thành viên trình bày bài làm hôm trước đã thống nhất

Nhóm trưởng chỉnh sửa , tổng hợp bài làm nhỏ của các thành viên thành bài hoànchỉnh

Buổi thảo luận kết lúc vào lúc 22h cùng ngày

Biên bản thảo luận đọc trước tất cả các thành viên trong nhóm Cả nhóm đồng ý với những gì đã viết

MỤC LỤC

Trang 6

CHƯƠNG I: MÔ TẢ VÀ XÁC ĐỊNH CÁC CHỨC NĂNG CỦA BÀI TOÁN 1

1.1 Mô tả bài toán 1

1.2 Mô hình phân cấp chức năng 2

1.3 Quá trình thiết kế mô hình thực thể liên kết (ER) 2

1.4 Mô hình quan hệ 7

CHƯƠNG 2: CÀI ĐẶT CSDL TRÊN HỆ QUẢN TRỊ CSDL 8

2.1 Tạo Database và các Table 8

2.1.1 Tạo Database 8

2.1.2 Tạo bảng Khách hàng 8

2.1.3 Tạo bảng Tài khoản 8

2.1.4 Tạo bảng Giao dịch 8

2.1.5 Tạo bảng Loại giao dịch 8

2.2 Nhập dữ liệu cho bảng 8

2.2.1 Nhập dữ liệu cho bảng Khách hàng 9

2.2.2Nhập dữ liệu cho bảng Tài khoản 9

2.2.3Nhập dữ liệu cho bảng Giao dịch 10

2.2.4 Nhập dữ liệu cho bảng Loại giao dịch 10

2.3 Thiết lập các ràng buộc 10

CHƯƠNG 3: KHAI THÁC CSDL 11

3.1 Query 11

3.2 View 13

3.3 Trigger 15

3.4 Procedure 17

3.5 Function 19

3.6 Phân quyền 21

Trang 7

CHƯƠNG I: MÔ TẢ VÀ XÁC ĐỊNH CÁC CHỨC NĂNG CỦA BÀI TOÁN

1.1 Mô tả bài toán

Bài toán quản lý sử dụng dịch vụ Smart Banking của ngân hàng BIDV

Ngân hàng BIDV cung cấp dịch vụ Smart Banking tới khách hàng với các loại giaodịch khác nhau

Khi khách hàng có nhu cầu sử dụng dịch vụ, hệ thống sẽ gửi yêu cầu khách hàng điềnđầy đủ thông tin để đăng kí sử dụng dịch vụ qua app điện thoại Một khách hàng cóthể được tạo bởi nhiều tài khoản khác nhau, nhưng mỗi tài khoản chỉ được sử dụngbởi 1 khách hàng

- Thông tin của khách hàng được lưu trữ gồm: mã khách hàng, họ tên, giới tính, số

điện thoại, địa chỉ, ngày sinh, số CCCD

- Thông tin về tài khoản được lưu trữ bao gồm: Mã tài khoản (duy nhất), mã khách

hàng, ngày tạo tài khoản, loại thẻ liên kết và số dư trong tài khoản

-Một tài khoản có thể thực hiện nhiều giao dịch, nhưng một giao dịch chỉ được thực hiện bởi một tài khoản

- Thông tin về giao dịch bao gồm: Mã giao dịch (duy nhất), mã tài khoản, ngày giao

dịch, loại giao dịch, số tiền giao dịch Ngoài ra, mỗi một giao dịch sẽ tương ứng vớimột loại giao dịch, và một loại giao dịch sẽ được nhiều giao dịch sử dụng

KHACHHANG (MaKH, HoTen, GioiTinh, NgaySinh, DiaChi, SDT, CCCD)

TAIKHOAN (MaTK, Ngaylap, SoDuTK)

GIAODICH (MaGD, SoTienGD, NgayGD)

LOAIGIAODICH (MaLoaiGD, TenLoaiGD)

Trang 8

1.2 Mô hình phân cấp chức năng

Quản lý sử dụng dịch vụ của BIDV Smartbanking

2 Xóa tài khoản

3 Tìm kiếm tài khoản

Quản lý giao dịch

1.Tạo mới giao dịch

2.Cập nhật giao dịch

3 Tìm kiếm giao dịch

Báo cáo

1.bc Thông tin khách hàng

2 Thông tin tài khoản

3 Thông tin giao dịch

4.Thống kê giao dịch

Trang 9

1.3Quá trình thiết kế mô hình thực thể liên kết (ER)

Bước 3: Xác định tập thuộc tính, gắn các thuộc tính cho tập thực thể và mối liên kết.

KHACHHANG (MaKH, HoTen, GioiTinh, NgaySinh, DiaChi, SDT, CCCD)

TAIKHOAN (MaTK, Ngaylap, Loaithe, SoDuTK) GIAODICH (MaGD,

SoTienGD, NgayGD)

LOAIGIAODICH (MaLoaiGD, TenLoaiGD)

Bước 4: Xác định miền giá trị cho các thuộc tính.

Trang 10

DiaChi nvarchar(10) no Địa chỉ

CCCD char(15) no Căn cước công dân

Thực thể: Tài khoản

Column Name Data Type Allow Null Note

MaTK char(5) no Mã tài khoản

Loaithe nvarchar(10) No Tên tài khoản

Ngaylap date no Ngày lập

SoDuTK int no Số dư tài khoản

Thực thể: Giao dịch

Column Name Data Type Allow Null Note

SoTienGD int yes Số tiền giao dịch

Thực thể: Loại giao dịch

Column Name Data Type Allow Null Note

MaLoaiGD char(10) no Mã loại giao dịchTenLoaiGD nvarchar(50) no Tên loại giao dịch

Bước 5: Xác định thuộc tính khóa.

KHACHHANG (MaKH, HoTen, GioiTinh, NgaySinh, DiaChi, SDT, CCCD)

TAIKHOAN (MaTK, MaKH ,Loaithe, Ngaylap, SoDuTK)

GIAODICH (MaGD, SoTienGD, NgayGD)

LOAIGIAODICH (MaLoaiGD, TenLoaiGD)

Bước 6: Xác định bậc tối thiểu và bậc tối đa cho các mối quan hệ.

Một tài khoản chỉ được sở hữu bởi một khách hàng

Một khách hàng có thể sở hữu một hoặc nhiêu tài khoản

Trang 11

Một giao dịch chỉ được thực hiện từ 1 tài khoản

Tài khoản

Giao dich

Một tài khoản có thể không được thực hiện giao dịch nào hoặc được thực hiện nhiều giao dịch

Tai khoan Thưc hiên (0,n) Giao dich

Một loại giao dịch có thể không được sử dụng trong một giao dịch nào hoặc được sử dụng trong nhiều giao dịch

Một giao dịch chỉ thuộc một loại giao dịch

(1,1)

Bước 7: Vẽ mô hình ER.

Trang 12

1.4 Mô hình quan hệ

Dựa vào các quy tắc chuyển đổi từ mô hình ER sang mô hình quan hệ, mô hình ER sau khi chuyển đổi thành mô hình quan hệ được thể hiện trong hình dưới:

Trang 13

Các thuộc tính của thực thể sau khi chuyển đổi cũng có một số thay đổi như sau:

KHACHHANG (MaKH, HoTen, GioiTinh, NgaySinh, DiaChi, SDT, CCCD)

TAIKHOAN (MaTK, Loaithe, Ngaylap, SoDuTK, MaKH) GIAODICH

(MaGD, SoTienGD, NgayGD, MaTK, MaloaiGD)

LOAIGIAODICH (MaLoaiGD, TenLoaiGD)

CHƯƠNG 2: CÀI ĐẶT CSDL TRÊN HỆ QUẢN TRỊ CSDL

2.1 Tạo Database và các Table

2.1.1 Tạo Database

CREATE DATABASE QLNH

Trang 14

2.1.2 Tạo bảng Khách hàng

USE QLNH

CREATE TABLE KHACHHANG(

MaKH char(5) Primary key,

HoTen nvarchar(35) NOT NULL,

NgaySinh date NOT NULL,

GT nvarchar(5) NOT NULL,

DiaChi nvarchar(10) NOT NULL,

SDT char(10) NOT NULL,

CCCD char(15)NOT NULL,

);

2.1.3 Tạo bảng Tài khoản

CREATE TABLE TAIKHOAN(

MaTK char(5) Primary key,

MaKH char(5) NOT NULL,

LoaiThe nvarchar(10) NOT NULL,

NgayLap date NOT NULL,

SoDu int,

);

2.1.4 Tạo bảng Giao dịch

CREATE TABLE GIAODICH(

MaGD char(5) Primary key,

MaTK char(5) NOT NULL,

MaLoaiGD char(10) NOT NULL,

SoTienGD int,

NgayGD date NOT NULL,

);

2.1.5 Tạo bảng Loại giao dịch

CREATE TABLE LOAIGIAODICH(

MaLoaiGD char(10) Primary key,

TenLoaiGD nvarchar(50) NOT NULL,

);

2.2 Nhập dữ liệu cho bảng

Trang 15

2.2.1 Nhập dữ liệu cho bảng Khách hàng

2.2.2 Nhập dữ liệu cho bảng Tài khoản

Trang 16

2.2.3 Nhập dữ liệu cho bảng Giao dịch

2.2.4 Nhập dữ liệu cho bảng Loại giao dịch

2.3 Thiết lập các ràng buộc

Trang 17

CHƯƠNG 3: KHAI THÁC CSDL 3.1Query

1.Đưa ra thông tin về số lần được thực hiện của mỗi loại giao dịch trong năm

2020, sắp xếp theo thứ tự tăng dần của số lần được thực hiện, nếu trùng nhau thì sắp xếp theo thứ tự tăng dần của trường tên loại giao dịch.

SELECT LOAIGIAODICH MaLoaiGD, LOAIGIAODICH.TenLoaiGD,

COUNT(GIAODICH.MaGD) AS N' SỐ LẦN THỰC HIỆN'

FROM LOAIGIAODICH

INNER JOIN GIAODICH ON LOAIGIAODICH.MaLoaiGD

= GIAODICH.MaLoaiGD

WHERE YEAR(GIAODICH.NgayGD) = 2020

GROUP BY LOAIGIAODICH.MaLoaiGD, LOAIGIAODICH.TenLoaiGD

ORDER BY COUNT (GIAODICH.MaGD) asc, LOAIGIAODICH.TenLoaiGD ascGO

2 Hiển thị thông tin khách hàng có tài khoản được liên kết với thẻ “Ghi nợ” theo thứ tự tăng dần của số dư tài khoản được thực hiện trên mỗi tài khoản đó.

USE QuanlyDichVu2

SELECT KHACHHANG.MaKH, TAIKHOAN.MaTK, HoTen,SoDu, LoaiThe,

COUNT (MaGD) AS 'SỐ LẦN GIAO DỊCH'

FROM TAIKHOAN

INNER JOIN KHACHHANG ON TAIKHOAN.MaKH = KHACHHANG.MaKHINNER JOIN GIAODICH ON TAIKHOAN.MaTK = GIAODICH.MaTK

WHERE LoaiThe =N'Ghi nợ'

GROUP BY KHACHHANG.MaKH, HoTen, LoaiThe, SoDu,

TAIKHOAN.MaTK ORDER BY SoDu asc

Trang 18

3 Đưa ra thông tin giao dịch được thực hiện gần đây nhất với số tiền giao dịch từ

2 triệu trở nên Thông tin đưa ra bao gồm: mã giao dich, mã tài khoản, tên loại giao dịch, số tiền giao dịch, ngày giao dịch.

use QuanlyNH

SELECT TOP 1 PERCENT GIAODICH.MaGD, GIAODICH.MaTK,

LOAIGIAODICH.TenLoaiGD, GIAODICH.SoTienGD, GIAODICH.NgayGD

FROM dbo.GIAODICH

INNER JOIN dbo.LOAIGIAODICH on dbo.GIAODICH.MaLoaiGD =

dbo.LOAIGIAODICH.MaLoaiGD

WHERE dbo.GIAODICH.SoTienGD > 2000000

ORDER BY GIAODICH.NgayGD desc

4 Hiển thị thông tin top 3 khách hàng có tổng số tiền giao dịch lớn nhất ở Nam Định và Hà Nội

SELECT TOP 3 KHACHHANG.MaKH, HoTen, KHACHHANG.DiaChi, sum

(SoTienGD) AS N'TỔNG TIỀN GIAO DỊCH'

FROM TAIKHOAN

INNER JOIN KHACHHANG ON TAIKHOAN.MaKH = KHACHHANG.MaKHINNER JOIN GIAODICH ON TAIKHOAN.MaTK = GIAODICH.MaTK

WHERE DiaChi = N'Nam Định'

GROUP BY KHACHHANG.MaKH, HoTen, KHACHHANG.DiaChi

UNION

SELECT TOP 3 KHACHHANG.MaKH, HoTen, KHACHHANG.DiaChi, sum

(SoTienGD) AS N'TỔNG TIỀN GIAO DỊCH'

Trang 19

FROM TAIKHOAN

INNER JOIN KHACHHANG ON TAIKHOAN.MaKH = KHACHHANG.MaKHINNER JOIN GIAODICH ON TAIKHOAN.MaTK = GIAODICH.MaTK

WHERE DiaChi = N' Hà Nội'

GROUP BY KHACHHANG.MaKH, HoTen, KHACHHANG.DiaChi

ORDER BY sum (SoTienGD) desc

3.2 View

1.Tạo view với bảng khách hàng

create view khachhang_test

as

select MaKH, Hoten, Ngaysinh, SDT

FROM KHACHHANG

SELECT * FROM khachhang_test

2.Tạo view với bảng tài khoản

create view taikhoan_test

Trang 20

3.Tạo view chứa thông tin các khách hàng ở Nam Định tạo tài khoản trong năm

2018 Thông tin gồm có: MaKH, TenKH, GT, Diachi, MaTK, Ngaylap

create view khnd

as

select KHACHHANG.MaKH, KHACHHANG.HoTen, KHACHHANG.GT,

KHACHHANG.DiaChi, TAIKHOAN.MaTK, TAIKHOAN.NgayLap

FROM KHACHHANG

INNER JOIN TAIKHOAN ON KHACHHANG.MaKH = TAIKHOAN.MaKH

WHERE KHACHHANG.DiaChi = N'Nam Định' and year(TAIKHOAN.NgayLap) =2018

SELECT * FROM khnd

4.Xóa view

Trang 21

Select KHACHHANG.MaKH,KHACHHANG.HoTen, TAIKHOAN.SoDu,

GIAODICH.MaGD, TAIKHOAN.MaTK

From KHACHHANG, TAIKHOAN, GIAODICH

Where KHACHHANG.MaKH=TAIKHOAN.MaKH

and MaGD='MGD01' and SoDu>2000000

3.3 Trigger

1.Tạo trigger hiển thị thông tin khách hàng sau khi thêm, xóa hoặc sửa dữ liệu

Trang 23

2.Kiểm tra số dư trong thẻ ngân hàng

create trigger trg_checkTK

print N'Số dư tối thiểu phải từ 5000000';

rollback transaction end

Trang 24

3.4 Function

1.Nhập vào tên khách hàng cho biết tuổi của khách hàng

CREATE FUNCTION fun_TinhtuoiKH ( @Hoten nvarchar(40))

RETURNS INT

AS

BEGIN

DECLARE @Tuoi INT

SELECT @Tuoi= year(getdate())-year(Ngaysinh)

2.Nhập vào 1 mã GD, tính tổng số tiền giao

dịch CREATE function f_tong_SotienGiaoDich

(@MaGD varchar(40))

returns int

begin

Trang 25

declare @tong int

select @tong=sum(SoTienGD)

3.Kiểm tra năm sinh của Khách hàng có phải năm nhuận không

CREATE FUNCTION KiemTraNamNhuan(@MaKH char(5))

if(@namsinh%400 = 0)

return N'Năm sinh của khách hàng này là năm nhuận'

else if(@namsinh%4=0 and @namsinh % 100 !=0 )

return N'Năm sinh của khách hàng này là năm nhuận'

else return N'Năm sinh không phải năm nhuận'

return N'null'

end

Thực

thi SELECT dbo.KiemTraNamNhuan(MaKH)as[KẾT QUẢ KIỂM TRA NĂM

SINH CỦA KHÁCH HÀNG] from dbo.KHACHHANG

Kết quả

Trang 26

3.5 Procedure

1.Tạo stored procedure dùng để thêm dữ liệu vào bảng Khachhang

DROP PROCEDURE Sp_ThemKhachHang

CREATE PROC Sp_ThemKhachHang(@MaKH char(5), @HoTen nvarchar(35),

@NgaySinh date, @GT nvarchar(5), @DiaChi nvarchar(10), @SDT char(10),

Trang 27

2 Cập nhật lại giao dịch có mã giao dịch

CREATE PROCEDURE UpDate_GiaoDich

@MaGD varchar(5),@MaGDM varchar(5), @NgayGD date

AS

BEGIN

IF NOT EXISTS (SELECT * FROM GIAODICH WHERE

MaGD=@MaGD) PRINT N'Giao dich nay khong ton tai'

CREATE PROCEDURE HIENTHI_SoTienGD

@SoTienGD INT

AS

IF NOT EXISTS (SELECT * FROM GIAODICH

WHERE SoTienGD <@SoTienGD)

PRINT N'khong co khách hàng nao'

ELSE

SELECT c.MaKH, c.HoTen, a.MaGD,

a.SoTienGD FROM GIAODICH a

INNER JOIN TAIKHOAN b ON a.MaTK = b.MaTK

INNER JOIN KHACHHANG c ON b.MaKH =

c.MaKHWHERE a.SoTienGD > @SoTienGD

GO

Trang 28

Thuc hien goi thu tuc

CREATE USER Thanhviennhom14 for login Nhom14

2.Trao quyền SELECT, INSERT, UPDATE và DELETE trên bảng GDV

cho người dùng tên là Thanhviennhom14

GRANT SELECT, INSERT, UPDATE ON GD to Thanhviennhom14

Trang 29

3.Thu hồi quyền DELETE trên bảng nhanvien của người dùng tên là

Thanhviennhom14:

REVOKE Insert ON GD to Thanhviennhom14

Ngày đăng: 15/04/2023, 04:36

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w