Tải bản đầy đủ (.pdf) (45 trang)

Hệ Quản Trị Cơ Sở Dữ Liệu Quản Lý Thu Tiền Điện Hàng Tháng.pdf

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 (863.91 KB, 45 trang )

lOMoARcPSD|38544120

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

----------------------

BÁO CÁO BÀI TẬP LỚN
MÔN: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

<NHÓM 1>

Đề tài: Quản Lý Thu Tiền Điện Hàng Tháng

Giáo Viên Hướng Dẫn: Nguyễn Thị Tâm
Sinh Viên Thực Hiện: Trần Phi Hùng – 2010A03

Đinh Diệu Thúy – 2010A05
Nguyễn Thị Ngọc Anh – 2010A05

Năm 2021 - 2022

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

MỤC LỤC

I.PHÁT TRIỂN BÀI TỐN ................................................................................ 3
II. MƠ HÌNH THỰC THỂ LIÊN KẾT .............................................................. 4


1.Xác định đối tượng thực thể:......................................................................... 4
2 .Mơ hình thực thể liên kết.............................................................................. 4
3. Mơ hình CSDL quan hệ:............................................................................... 6
4. Diagram ......................................................................................................... 8
III. TẠO CƠ SỞ DỮ LIỆU ................................................................................. 8
IV. Thực hiện các truy vấn.................................................................................16
1.Truy vấn dữ liệu............................................................................................16
2. Xây dựng VIEW cho CSDL ........................................................................20
3. Tạo Procedure ..............................................................................................26
4. Tạo Trigger ..................................................................................................38
V. Tạo login, user, phân quyền...........................................................................43

1

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

PHÂN CÔNG VÀ KẾ HOẠCH THỰC HIỆN

HỌ VÀ TÊN CÔNG VIỆC ĐÁNH GIÁ
Trần Phi Hùng - Nhập dữ liệu vào bảng Hoàn thành
- Tạo PROCEDURE
Đinh Diệu Thúy - Tạo Login, User, Phân Hoàn thành
Nguyễn Thị Ngọc Anh Hoàn thành
quyền
- Tạo Database
- Nhập dữ liệu vào bảng
- Tạo VIEW
- Tạo PROCEDURE


- Tạo TRIGGER

2

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

I.PHÁT TRIỂN BÀI TOÁN

Công ty quản lý hệ thống tiền điện sinh hoạt:
- Một cơng ty điện lực có nhu cầu quản lý việc tính, in hóa đơn và thu

tiền điện hóa đơn.
- Hệ thống quản lý tiền điện sinh hoạt gồm nhiều công ty, mỗi công ty

gồm có : Mã công ty,số điện thoại ,địa chỉ, tên công ty ,
- Mỗi cơng ty có các nhân viên: Mã nhân viên, tên nhân viên, địa

chỉ,giới tính, số điện thoại,trình độ học vấn, lương
- Ở mỗi cơng ty lại có các chủ hộ sử dụng điện sẽ có một: Mã khách

hàng, địa chỉ, số điện thoại, họ tên, giới tính.
- Mỗi chủ hộ lại có mộthoặc nhiều hóa đơn riêng sẽ có : Mã hóa đơn,

ngày lập, mã khách hàng, họ tên, số điện thoại, địa chỉ, mã lượng
điện, số điện cũ ,số điện mới, mã nhân viên.
- Số lượng điện tiêu thụ sẽ có: Mã lượng điện, ngày tháng năm, số điện
cũ, số điện mới.

Cứ sau mỗi tháng các cơng ty điện sẽ gửi hóa đơn thanh toán tiền điện cho
các chủ hộ(Khách hàng).
Mỗi khách hàng khi thanh toán tiền điện xong sẽ được nhận hóa đơn bằng
giấy được các công ty gửi về tận nhà. Mỗi hóa đơn sẽ có thơng tin giống như
các thông tin trên hóa đơn điện tử.

3

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

II. MƠ HÌNH THỰC THỂ LIÊN KẾT

1. Xác định đối tượng thực thể:

• NhanVien: iMaNV , sTenNV, sGioiTinh, sSDT, fBacLuong, sDiaChi
• ChuHo: sMaKH, sTenKH, sDiachi, sSDT, sGioitinh
• LuongDienTieuThu: sMaluongdien, dNgaytinhluongdien, dSodiencu,

dSodienmoi
• HoaDon: sMaHD, iMaNV, dNgaylap, sMaKH, sTenKH, sSDT,

sDiachi, fDonGia
• CongTy: sMaCT, sTenCT, sSDT, sDiachi

2 .Mơ hình thực thể liên kết

Mọi liên kết quan hệ giữa các thực thể sẽ được mô tả ở sơ đồ ER


4

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

DiaChi DienThoai DiaChi
MaCongTy

MaNV

TenCongTy SoDienThoai

TenNV

NHANVIEN

MaCongTy HoTen

n 1

MaHoaDon

L숃⌀P MaKhachHang
n
1
DonGia HOADON
CONGTY
1 NgayLap
SoDienCu

n

C漃Ā
Maluongdien

n C伃Ā

LUONGDIENTIEUTHU

Maluongdien 1
CHUHO
SoDienMoi

MaKhach NamSinh
Hang

DiaChi HoTen

5
SoDienThoai

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

3. Mơ hình CSDL quan hệ:
- NhanVien: iMaNV , sTenNV, sGioiTinh, sSDT, fBacLuong, sDiaChi
- ChuHo: sMaKH, sTenKH, sDiachi, sSDT, sGioitinh
- LuongDienTieuThu: sMaluongdien, dNgaytinhluongdien, dSodiencu,
dSodienmoi

- HoaDon: sMaHD, iMaNV, dNgaylap, sMaKH, sTenKH, sSDT,
sDiachi, fDonGia
- CongTy: sMaCT, sTenCT, sSDT, sDiachi

❖ Các bảng xác định cấu trúc như sau :
• CongTy : Lưu trữ thơng tin của công ty

STT Tên thuộc Kiểu dữ liệu Ràng buộc Ghi chú

tính Mã công ty
Tên công ty
1 sMaCT Varchar(10) PK Số điện thoại Cty
Địa chỉ CTy
2 sTenCT Nvachar(50)

3 sSDT Varchar(12)

4 sDiachi Nvarchar(50)

• NhanVien: Lưu trữ thơng tin nhân viên

STT Tên thuộc Kiểu dữ liệu Ràng buộc Ghi chú

tính

1 iMaNV INT PK Mã nhân viên

2 sMaCT Varchar(10) FK,tham chiếu bảng Mã công ty

CONGTY


3 sTenNV Nvarchar(50) Tên nhân viên

4 sGioiTinh Bit Chỉ nhận giá trị true Giới tính

hoặc false

5 sSDT Vachar(12) Số điện thoại
Địa chỉ
6 sDiachi Nvarchar(50) Bậc lương

7 fBacLuong Float

• ChuHo: Lưu trữ thơng tin chủ hộ

6

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

STT Tên thuộc Kiểu dữ liệu Ràng buộc Ghi chú

tính

1 sMaKH Varchar(50) PK Mã khách

hang

2 sTenKH Nvarchar(30) Tên khách


hang

3 sGioiTinh Bit Chỉ nhận giá trị true Giới tính
hoặc false

4 sSDT Vachar(12) Số điện thoại

5 sDiaChi Nvarchar(50) Địa chỉ

• LuongDienTieuThu : lưu trữ thông tin lượng điện tiêu thụ

STT Tên thuộc Kiểu dữ liệu Ràng buộc Ghi chú
PK
tính Mã lượng
điện
1 sMaluongdien Varchar(10) Tính từ
ngày
2 dTungay Date Đến ngày
Số điện cũ
3 dDenngay Date Denngay>Tungay Số điện mới

4 fSoDienCu Float Ghi chú

5 fSoDienMoi Float Mã hóa
đơn
• HoaDon: Lưu trữ thơng tin hóa đơn Mã nhân
STT viên
1 Tên thuộc Kiểu dữ liệu Ràng buộc Ngày
tính Varchar(10) PK lậpHĐ

Mã khách
sMaHD hàng
Họ tên KH
2 iMaNV Varchar(10) FK, tham chiếu bảng Số điện
thoại KH
NHANVIEN

3 dNgayLap Date

4 sMaKH Varchar(10) FK,tham chiếu bảng
KHACHHANG
Nvarchar(50)
5 sTenKH Varchar(12)

6 sSDT

7

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

7 sDiaChi Nvarchar(50) Địa chỉ

8 sMaluongdien Varchar(10) FK,tham chiếu bảng Mã lượng

LUONGDIENTIEUTHU điện

9 fDonGia Float Đơn giá


của hóa

đơn

4. Diagram

III. TẠO CƠ SỞ DỮ LIỆU

--Tao DATABASE

CREATE DATABASE BTL_QLThuTienDienHangThang
ON(

NAME = 'QLThuTienDienHangThang',
FILENAME = 'E:\BTL-SQLServer-
QLThuTienDienHangThang.mdf',
SIZE = 100MB,
MAXSIZE = unlimited,
FILEGROWTH = 10%

8

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

)

USE BTL_QLThuTienDienHangThang


-----------TẠO BẢNG---------------------
--CÔNG TY
CREATE TABLE tblCongTy
(
sMaCT VARCHAR(10) PRIMARY KEY,
sTenCT NVARCHAR(50),
sSDT VARCHAR(10),
sDiaChi NVARCHAR(50)
)

--NHÂN VIÊN
CREATE TABLE tblNhanVien
(
iMaNV INT NOT NULL,
sMaCT VARCHAR(10),
sTenNV NVARCHAR(50),
sGioiTinh BIT,
sSDT VARCHAR(10),
fBacLuong FLOAT
)
ALTER TABLE tblNhanVien
ADD CONSTRAINT PK_iMaNV PRIMARY KEY(iMaNV),
CONSTRAINT FK_nhanVien_congTy FOREIGN KEY(sMaCT)
REFERENCES dbo.tblCongTy

--CHỦ HỘ
CREATE TABLE tblChuHo
(
sMaKH VARCHAR(10) PRIMARY KEY,
sTenKH NVARCHAR(50),

sGioiTinh BIT,
sSDT VARCHAR(10),
sDiaChi NVARCHAR(50)
)

--LƯỢNG ĐIỆN TIÊU THỤ

9

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

CREATE TABLE tblLuongDienTieuThu KEY,
(
sMaLuongDien VARCHAR(10) PRIMARY
dTuNgay DATE,
dDenNgay DATE,
fSoDienCu FLOAT,
fSoDienMoi FLOAT,
sMaKH VARCHAR(10)
)

--HÓA ĐƠN
CREATE TABLE tblHoaDon
(
sMaHD VARCHAR(10) NOT NULL,
iMaNV INT NOT NULL,
dNgayLap DATE,
sMaKH VARCHAR(10),

sTenKH NVARCHAR(50),
sSDT VARCHAR(10),
sDiaChi NVARCHAR(50),
sMaLuongDien VARCHAR(10)
)
DROP TABLE dbo.tblHoaDon
ALTER TABLE tblHoaDon
ADD CONSTRAINT PK_sMaHD PRIMARY KEY(sMaHD),
CONSTRAINT FK_hoaDon_nhanVien FOREIGN KEY(iMaNV)
REFERENCES dbo.tblNhanVien(iMaNV),
CONSTRAINT FK_hoaDon_KH FOREIGN KEY(sMaKH)
REFERENCES dbo.tblChuHo,
CONSTRAINT FK_hoaDon_luongDien FOREIGN KEY(sMaLuongDien)
REFERENCES dbo.tblLuongDienTieuThu

ALTER TABLE dbo.tblLuongDienTieuThu
ADD CONSTRAINT FK_Chuho_luongdien FOREIGN KEY(sMaKH)
REFERENCES dbo.tblChuHo

ALTER TABLE dbo.tblLuongDienTieuThu
ADD CHECK (dTuNgay < dDenNgay)

10

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

ALTER TABLE dbo.tblLuongDienTieuThu
ADD CHECK (fSoDienCu < fSoDienMoi)


ALTER TABLE dbo.tblNhanVien
ADD Diachi NVARCHAR(50)

ALTER TABLE tblHoaDon
ADD fDonGia FLOAT

- Thêm bản ghi cho các bảng

--THÊM DỮ LIỆU CHO BẢNG CÔNG TY
INSERT INTO tblCongTy

VALUES('CT1', N'Lazzer Electric', '0834563458', N'Minh Khai
N'Quận 7 -
- Hà Nội'),

('CT2', N'Emate', '0942348635',

TP Hồ Chí Minh')

--THÊM DỮ LIỆU CHO CHỦ HỘ
INSERT INTO tblChuHo
VALUES('KH1', N'Trần Phi Hùng', 0, '0356489645', N'Hải
Dương'),

('KH2', N'Nguyễn Đức Nghĩa', 0, '0356778896', N'Nam
Định'),

11


Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

('KH3', N'Đinh Diệu Thúy', 1, '0335931718', N'Hà
Nội'),
N'Nguyễn Ngọc Anh', 1, '0245346534', N'Hà
('KH4',
Nội'), N'Lê Thanh Hà', 1, '0991823711', N'Ninh

('KH5', N'Nguyễn Văn Đức', 0, '0982913237', N'TP Hồ
Bình'),
N'Phạm Gia Hưng', 0, '0391823619', N'Bắc
('KH6',
Chí Minh'), N'Đặng Phương Thảo', 1, '0981273981', N'Hà

('KH7',
Giang'),

('KH8',

Nội')

--THÊM DỮ LIỆU BẢNG NHÂN VIÊN
INSERT INTO tblNhanVien
VALUES(1, 'CT1', N'Nguyễn Thị Lan', 1, '0345823759', 3.0,
N'Hải Phòng'),

(2, 'CT1', N'Nguyễn Văn Trường', 0, '0269857759', 3.0,
N'Quảng Ninh'),


12

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

(3, 'CT2', N'Nguyễn Kim Anh', 1, '0145859379', 3.0,
N'Hải Dương'), 0, '0348937920', 3.0,
0, '0929313277', 3.0,
(4, 'CT2', N'Trần Văn Dũng', 1, '0928371276', 3.0,
N'Bắc Ninh'), 0, '0391283719', 3.0,
0, '0823971987', 3.0,
(5, 'CT1', N'Phạm Hoàng Giang',
N'Hà Nội'),

(6, 'CT1', N'Nguyễn Hà Linh',
N'Hà Nội'),

(7, 'CT2', N'Nguyễn Tiến Đạt',
N'TP Hồ Chí Minh'),

(8, 'CT2', N'Vũ Minh Hiếu',

N'An Giang')

--THÊM DỮ LIỆU VÀO BẢNG LƯỢNG ĐIỆN
--tháng 7
INSERT INTO tblLuongDienTieuThu
VALUES('MD10', '2021-6-28', '2021-7-28', 48, 100, 'KH2'),


('MD11', '2021-6-28', '2021-7-28', 67, 128, 'KH1'),
('MD12', '2021-6-28', '2021-7-28', 53, 133, 'KH3'),
('MD13', '2021-6-28', '2021-7-28', 24, 90, 'KH4'),
('MD14', '2021-6-28', '2021-7-28', 35, 100, 'KH5'),

13

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

('MD15', '2021-6-28', '2021-7-28', 46, 130, 'KH6'),
('MD16', '2021-6-28', '2021-7-28', 50, 102, 'KH7'),
('MD17', '2021-6-28', '2021-7-28', 54, 109, 'KH8')

--tháng 8
INSERT INTO tblLuongDienTieuThu
VALUES('MD20', '2021-7-28', '2021-8-28', 100, 102, 'KH2'),

('MD21', '2021-7-28', '2021-8-28', 128, 138, 'KH1'),
('MD22', '2021-7-28', '2021-8-28', 133, 136, 'KH3'),
('MD23', '2021-7-28', '2021-8-28', 90, 100, 'KH4'),
('MD24', '2021-7-28', '2021-8-28', 100, 123, 'KH5'),
('MD25', '2021-7-28', '2021-8-28', 130, 135, 'KH6'),
('MD26', '2021-7-28', '2021-8-28', 102, 110, 'KH7'),
('MD27', '2021-7-28', '2021-8-28', 109, 111, 'KH8')

--THÊM DỮ LIỆU BẢNG HÓA ĐƠN
--tháng 7


14

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

INSERT INTO tblHoaDon

VALUES('HD10', 1, '2021-7-29', 'KH2', N'Nguyễn Đức Nghĩa',
'0356778896', N'Nam Định','MD10',10000),

('HD11', 2, '2021-7-29', 'KH1', N'Trần Phi Hùng',
'0356489645', N'Hải Dương','MD11',20000),

('HD12', 5, '2021-7-29', 'KH3', N'Đinh Diệu Thúy',
'0335931718', N'Hà Nội', 'MD12',15000),

('HD13', 6, '2021-7-29', 'KH4', N'Nguyễn Ngọc Anh',
'0245346534', N'Hà Nội', 'MD13',17000),

('HD14', 3, '2021-7-29', 'KH5', N'Lê Thanh Hà',

'0991823711', N'Ninh Bình','MD14',30000),

('HD15', 4, '2021-7-29', 'KH6', N'Nguyễn Văn Đức',
'0982913237', N'TP Hồ Chí Minh', 'MD15',40000),

('HD16', 7, '2021-7-29', 'KH7', N'Phạm Gia Hưng',
'0391823619', N'Bắc Giang','MD16',22000),


('HD17', 8, '2021-7-29', 'KH8', N'Đặng Phương Thảo',
'0391823619', N'Hà Nội', 'MD17',37000)

--tháng 8

INSERT INTO tblHoaDon

VALUES('HD20', 1, '2021-8-29', 'KH2', N'Nguyễn Đức Nghĩa',

'0356778896', N'Nam Định', 'MD20',34000),

('HD21', 2, '2021-8-29', 'KH1', N'Trần Phi Hùng',

'0356489645', N'Hải Dương', 'MD21',50000),

('HD22', 5, '2021-8-29', 'KH3', N'Đinh Diệu Thúy',

'0335931718', N'Hà Nội', 'MD22',19000),

('HD23', 6, '2021-8-29', 'KH4', N'Nguyễn Ngọc Anh',

'0245346534', N'Hà Nội', 'MD23',16000),

('HD24', 3, '2021-8-29', 'KH5', N'Lê Thanh Hà',

'0991823711', N'Ninh Bình', 'MD24',23000),

('HD25', 4, '2021-8-29', 'KH6', N'Nguyễn Văn Đức',


'0982913237', N'TP Hồ Chí Minh', 'MD25',14000),

('HD26', 7, '2021-8-29', 'KH7', N'Phạm Gia Hưng',

'0391823619', N'Bắc Giang', 'MD26',11000),

('HD27', 8, '2021-8-29', 'KH8', N'Đặng Phương Thảo',

'0391823619', N'Hà Nội', 'MD27',11000)

15

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

IV. Thực hiện các truy vấn

1. Truy vấn dữ liệu

C, Truy vấn lấy dữ liệu từ một bảng (1 bảng: 5 câu) &
(nhiều bảng: 5 câu)*/

-- Câu 1 : Lấy thông tin nhân viên có giới tính là nữ
SELECT * FROM dbo.tblNhanVien
WHERE sGioiTinh = 1

16

Downloaded by Uy vu Nguyen ()


lOMoARcPSD|38544120

-- Câu 2 : lấy thông tin họ tên nhân viên của công ty 1
SELECT * FROM dbo.tblNhanVien
WHERE sMaCT = 'CT1'

-- Câu 3: lấy thông tin họ tên nhân viên của cơng ty 2 và
giới tính là nam

SELECT * FROM dbo.tblNhanVien
WHERE sGioiTinh = 0 AND sMaCT = 'CT2'

--Câu 4 : Lấy thơng tin hóa đơn được lập bởi nhân viên có
mã là 2 và lập vào tháng 8
SELECT * FROM dbo.tblHoaDon

WHERE iMaNV = 2 AND MONTH(dNgayLap)= 8

-- Câu 5: Đếm số lần lập hóa đơn của nhân viên 1
SELECT iMaNV,COUNT(*) AS 'Số lần lập hóa đơn' FROM
dbo.tblHoaDon
WHERE iMaNV = 1

GROUP BY iMaNV

17

Downloaded by Uy vu Nguyen ()


lOMoARcPSD|38544120

-- Câu 6 Xuất ra mã và tên khách hàng được lập hóa đơn bởi
nhân viên 1

SELECT tblChuHo.sMaKH,tblChuHo.sTenKH FROM
dbo.tblNhanVien ,dbo.tblChuHo,dbo.tblHoaDon
WHERE tblChuHo.sMaKH =tblHoaDon.sMaKH AND tblHoaDon.iMaNV
= tblNhanVien.iMaNV
AND tblNhanVien.iMaNV = 1

-- Câu 7: Xuất ra thông tin khác hàng và lượng điện tiêu thụ
trong tháng 7

SELECT tblChuHo.sMaKH,sTenKH,(fSoDienMoi-fSoDienCu)AS
'Lượng điện tiêu thụ' FROM dbo.tblChuHo JOIN
dbo.tblLuongDienTieuThu

ON tblLuongDienTieuThu.sMaKH = tblChuHo.sMaKH AND
MONTH(dTuNgay) = 6

18

Downloaded by Uy vu Nguyen ()

lOMoARcPSD|38544120

---- Câu 8: Xuất ra thông tin khác hàng và lượng điện tiêu
thụ trong tháng 8 và sắp xếp theo thứ tự giảm dần


SELECT tblChuHo.sMaKH,sTenKH,(fSoDienMoi-fSoDienCu)AS
'Lượng điện tiêu thụ' FROM dbo.tblChuHo JOIN
dbo.tblLuongDienTieuThu
ON tblLuongDienTieuThu.sMaKH = tblChuHo.sMaKH AND
MONTH(dTuNgay) = 7
ORDER BY [Lượng điện tiêu thụ] DESC

-- Câu 9: Xuất ra khách hàng có lượng điện tiêu thụ cao nhất
trong tháng 8

SELECT tblChuHo.sMaKH, sTenKH,(fSoDienMoi-fSoDienCu) AS
thụ'
'Lượng điện tiêu thụ' FROM dbo.tblChuHo,
dbo.tblLuongDienTieuThu

WHERE tblLuongDienTieuThu.sMaKH = tblChuHo.sMaKH

AND (fSoDienMoi-fSoDienCu)=
(SELECT MAX(fSoDienMoi-fSoDienCu)AS 'Lượng điện tiêu

FROM dbo.tblLuongDienTieuThu )

19

Downloaded by Uy vu Nguyen ()


×