Professional Documents
Culture Documents
KT-QTCSLT-PHẠM-VĂN-DŨNG - NGUYỄN THỊ THẢO DUNG
KT-QTCSLT-PHẠM-VĂN-DŨNG - NGUYỄN THỊ THẢO DUNG
Giảng viên
Hoàng Hữu Trung
Để hoàn thành bản phân tích thiết kế này, em xin tỏ lòng biết ơn sâu
sắc đến Thầy Hoàng Hữu Trung, đã tận tình hướng dẫn em trong suốt quá
trình học tập vừa qua.
Với vốn kiến thức được tiếp thu trong quá trình học không chỉ là nền
tảng cho quá trình nghiên cứu khóa luận mà còn là hành trang quí báu để em
bước vào đời một cách vững chắc và tự tin.
Được sự giúp đỡ của Thầy Cô và bạn bè, cùng với những nỗ lực của bản
thân, em đã hoàn thành bản phân tích “ Xây dựng cơ sở dữ liệu quản lý cửa
hàng nước hoa Nomad Perfume ”
Do trình độ nghiên cứu và thời gian có hạn, bản phân tích thiết kế này
chắc chắn không tránh khỏi có thiếu sót và hạn chế. Rất mong được sự góp ý
và chỉ dẫn của Thầy.
Cuối cùng em kính chúc Thầy dồi dào sức khỏe và thành công trong sự
nghiệp cao quý.
- Nomad Perfume là một tiệm nước hoa nho nhỏ bắt nguồn từ đam mê
về mùi hương cũng như mong muốn chia sẻ với tất cả mọi người về sở thích
của tụi mình. Nomad Perfume là một nơi để mọi người đến với đam mê
cũng như sắc đẹp, là nơi giúp mọi người dễ dàng sở hữu bất cứ chai nước
hoa nào bạn muốn. Và rồi cứ thế, với mục tiêu lan toả hương thơm và niềm
đam mê lớn lên Nomad Perfume được yêu thích, tin tưởng và lớn lên mỗi
ngày.
- Nomad Perfume hướng đến đối tượng thường xuyên tiếp xúc ngoài xã hội,
có cá tính riêng, thích sở hữu những mùi nước hoa đặc biệt hoặc muốn thu
hút đối phương, hương thơm của nước hoa giúp tâm trạng của họ trở nên tốt
hơn và tự tin hơn.
- Nomad Perfume hướng đến những người muốn giấu đi mùi cơ thể. Nomad
Perfume dùng cho những người thích việc chăm sóc bản thân
Mã nhân viên Ngày kết thúc Ngày bắt đầu Vai trò
Giá Chi tiết đơn hàng Phân loại Thẻ thành viên
Mã khách hàng Tên nhân viên Tên khách hàng Hàng tồn
Mã nhân viên Ngày kết thúc Ngày bắt đầu Vai trò
Giá Chi tiết đơn hàng Phân loại Thẻ thành viên
Mã khách hàng Tên nhân viên Tên khách hàng Hàng tồn
Nước hoa có Mã nước hoa, Tên nước hoa, Số lượng, Giá nhập, Giá bán,
IDCty, Mã gian hàng Nước hoa được Công ty cung cấp thông qua những
phiếu xuất , mỗi phiếu xuất chỉ thuộc một công ty.
Một Công ty có thể sản xuất nhiều sản phẩm nước hoa, mỗi loại nước hoa
nhập tại một công ty.Thông tin về công ty bao gồm: Mã công ty, tên công ty,
địa chỉ, SDT
Nước hoa được nhập thông qua những phiếu xuất. Các phiếu xuất lưu trữ lại số
lượng nước hoa và loại nước hoa Mỗi phiếu xuất có ghi : Mã phiếu xuất, Ngày
xuất, Mã công ty, tên nước hoa, số lượng.
Khi Khách hàng mua nước hoa thì sẽ nhận được Dịch vụ ở cửa hàng bao gồm
có Tên dịch vụ, Mã dịch vụ, Giá dịch vụ, mã gian hàng, tên khách hàng
Cửa hàng nước hoa được phân chia thành những gian hàng khác nhau thông
qua những loại nước hoa được bày bán trong gian hàng .Thông tin về gian hàng
gồm : Mã cửa hàng,tên cửa hàng .
Tại mỗi gian hàng đều có hơn một nhân viên làm việc Mỗi nhân viên đều gồm
những thông tin IDNV, Họ tên,Ngày sinh ,địa chỉ ,Số giờ làm ,Ca làm, số điện
thoại, mã quản lý.
Cả cửa hàng chỉ có một quản lý gồm những thông tin: Mã quản lý, Họ
tên,Năm sinh ,địa chỉ, Số điện thoại,Email
Bước 3: Xác định các thực thể và các thuộc tính tương ứng của thực thể:
- Nước hoa có Mã nước hoa, Tên nước hoa, Số lượng, Giá nhập, Giá bán,
IDCty, Mã gian hàng Nước hoa được Công ty cung cấp thông qua những
phiếu xuất , mỗi phiếu xuất chỉ thuộc một công ty.
1 n
NUOCHOA Sản xuất PHIEUXUAT
Một Công ty có thể sản xuất nhiều sản phẩm nước hoa, mỗi loại nước hoa
nhập tại một công ty.Thông tin về công ty bao gồm: Mã công ty, tên công ty,
địa chỉ, SDT
Nước hoa được nhập thông qua những phiếu xuất. Các phiếu xuất lưu trữ lại
số lượng nước hoa và loại nước hoa Mỗi phiếu xuất có ghi : Mã phiếu xuất,
Ngày xuất, Mã công ty, tên nước hoa, số lượng.
1 n
NUOCHOA Nhập PHIEUXUAT
Cửa hàng cung cấp nhiều dịch vụ khi mua sản phẩm tại cửa hàng . Khi
Khách hàng mua nước hoa thì sẽ nhận được Dịch vụ ở cửa hàng bao gồm có
Tên dịch vụ, Mã dịch vụ, Giá dịch vụ, mã gian hàng, tên khách hàng
1 n
CUAHANG Cung cấp DICHVU
Cửa hàng nước hoa được phân chia thành những gian hàng khác nhau thông
qua những loại nước hoa được bày bán trong gian hàng .Thông tin về gian hàng
gồm : Mã cửa hàng,tên cửa hàng
1 n
CUAHANG Trưng bày NUOCHOA
n n
GIANHANG Quản lý NHANVIEN
Cả cửa hàng chỉ có một quản lý gồm những thông tin: Mã quản lý, Họ
tên,Năm sinh ,địa chỉ, Số điện thoại,Email
n 1
NHANVIEN ISA QUANLY
Phiếu xuất
Công ty
1 n
Sản xuất
Nhập n
Nước hoa Sử
Khách hàng
n dụng
n 1
n n
1 n 1 n
1
Cho dịch Hóa đơn
Gian hàng Cung cấp Dịch vụ
vụ
n
n
Quản lý Quản lý
n 1
n 1
Nhân viên ISA Người Quản lý
NUOCHOA(MaNuocHoa,TenNH,Soluong,Gianhap,Giaban,IDCty,
Magianhang)
KHACHHANG (IDKH, TenKH,DiaChi,Email,Gioitinh,SDT)
NHANVIEN(IDNV,Hoten,Ngaysinh,Diachi,Sogiolam,Calam,SDT,Maquanly)
b) Chuẩn hóa:
Hai bảng KHACHHANG và HOADON có mối liên hệ 1-n nên ta để khóa chính
của bảng KHACHHANG qua làm khóa phụ của bảng HOADON.
HOADON (MaHD, Manuochoa,Ngayban , IDKH, IDNV, Soluong)
1 n
CUAHANG Trưng bày NUOCHOA
Hai bảng NUOCHOA và CUAHANG có mối liên hệ 1-n nên ta để khóa chính
của bảng CUAHANG qua làm khóa phụ của bảng NUOCHOA.
NUOCHOA (Manuochoa, TenNH, Soluong, Gianhap, Giaban, IDCty,
Magianhang)
1 n
GIANHANG Cung cấp DICHVU
Hai bảng CUAHANG và DICH VUcó mối liên hệ 1-n nên ta để khóa chính của
bảng CUA HANG qua làm khóa phụ của bảng DICHVU.
DICHVU (MaDV,TenDV,GiaDV,Magianhang,TenKH)
Hai bảng HOADON và DICHVU có mối liên hệ 1-n nên ta để khóa chính của
bảng DICH VU qua làm khóa phụ của bảng HOADON
HOADON (MaHD, Manuochoa,Ngayban , IDKH, IDNV, Soluong)
CONGTY 1 n NUOCHOA
Sản xuất
Hai bảng CONGTY và NUOCHOA có mối liên hệ 1-n nên ta để khóa chính của
bảng CONGTY qua làm khóa phụ của bảng NUOCHOA
NUOCHOA (Manuochoa, TenNH, Soluong, Gianhap, Giaban, IDCty,
Magianhang)
Hai bảng NHANVIEN va QUANLY có mối liên hệ 1-n nên ta để khóa chính
của bảng QUANLY qua làm khóa phụ của bảng NHANVIEN
NHANVIEN (IDNV, Hoten,Ngaysinh
,Diachi,Sogiolam,Calam,SDT,Maquanly)
1 n
NGUOIQUANLY Quản lý DICHVU
Hai bảng NGUOIQUANLY va DICHVUcó mối liên hệ 1-n nên ta để khóa chính
của bảng NGUOIQUANLY qua làm khóa phụ của bảng DICHVU
DICHVU (MaDV,TenDV,GiaDV,Magianhang,TenKH)
Quan hệ n-n:
n n
DICHVU Sử dụng KHACHHANG
n n
GIANHANG Quản lý NHANVIEN
n n
PHIEUXUAT Nhập NUOCHOA
IDKH int
Hoten nvarchar(50)
Ngaysinh date
Soluong float
DICHVUSUDUNG *
Column Name Data Type Allow Nulls
NUOCHOA *
Column Name Data Type Allow Nulls IDKH int
Soluong float
Gianhap int
Giaban int
IDCty int
HOADON *
Column Name Data Type Allow Nu
MaHĐ int
DICHVU *
Column Name Data Type Allow Nulls MaNuochoa int
GIANHANG *
Column Name Data Type Allow Nulls MaDV nchar(10) Ngayban date
GIANHANGCONV *
Column Name Data Type Allow Nulls
Magianhang int
IDNV nvarchar(50)
Gia int
Soluong float
QUANLY *
NHANVIEN * Column Name Data Type Allow Nulls
Column Name Data Type Allow Nulls
Maquanly int
IDNV nvarchar(50)
Hoten nvarchar(50)
Hoten nvarchar(50)
Namsinh date
Ngaysinh date
Diachi nvarchar(50)
DiaChi nvarchar(50)
SDT nvarchar(10)
SoGiolam int
Calam nvarchar(12)
WHERE IDKH=@IDKH
END
WHERE IDKH=@IDKH
END
END
--kiểm tra
DECLARE @Dnh Nvarchar(50);
exec KT1 '4', 'XO nel', @Dongnuochoa = @Dnh output;
Tạo Function để in ra thông tin của nhân viên có số giờ làm cao nhất (đầu vào sẽ là ca làm)
CREATE FUNCTION Maxtime2
(
@Calam nvarchar(50)
)
RETURNS TABLE AS
RETURN
Select NHANVIEN.IDNV, NHANVIEN.HoTen, NHANVIEN.NgaySinh, NHANVIEN.Diachi,
NHANVIEN.Sogiolam, NHANVIEN.Calam, NHANVIEN.SDT
From dbo.NHANVIEN
Where NHANVIEN.Calam = @Calam
and NHANVIEN.Sogiolam = (Select max(Sogiolam) from NHANVIEN where Calam = @Calam)
-- Tạo Function để in ra danh sách các nhân viên làm ca nào (đầu vào sẽ là ca làm)
Create FUNCTION PointA
(
RETURN
Select NHANVIEN.IDNV, NHANVIEN.HoTen, NHANVIEN.NgaySinh, NHANVIEN.Diachi,
NHANVIEN.Sogiolam, NHANVIEN.Calam, NHANVIEN.SDT
From dbo.NHANVIEN
Where NHANVIEN.Calam = @Calam
and NHANVIEN.Sogiolam >= 15
----IN RA
Select * From PointA(N'Tối')
----- Tạo TRIGGER để lưu trữ thông tin Khách Hàng vào bảng KH_audit sau khi xóa thông tin của khách hàng
CREATE TRIGGER updateKH
ON KHACHHANG
FOR DELETE
AS
BEGIN
Insert into [KH_Audit]
(
[IDKH] ,
[Hoten] ,
[Ngaysinh],
[SDT] ,
[DiaChi] ,
[Email]
)
---- Thêm một trường sữ liệu SoTienTB (Số tiền trung bình) vào bảng Khách hàng. Sau đó tại Trigger để tính số
tiền trung bình của khách hàng,
-- trigger này sẽ tự động cập nhập số tiền trung bình của khách hàng đến thời điểm hiện tại dựa vào số tiền đó để
chi trả cho các dịch vụ trước đó (GiaDV ở bảng DICHVU)
---Trigger này được tạo để bắt sự kiện thêm dữ liệu vào bảng KHACHHANG
-- thêm bảng --
ALTER TABLE KHACHHANG
ADD SoTienTB FLOAT
-- tạo trigeer --
CREATE TRIGGER UpdateST_Insert
ON KHACHHANG
FOR INSERT
AS
BEGIN
Declare @ST float
Declare @IDKH INT
Declare @MaDV INT
Select @IDKH = IDKH
MY SQL
Dữ liệu của bảng nhân viên
-- Cau2
Select*from DICHVUSUDUNG;
Alter table DICHVUSUDUNG ADD
Check ( SolLuong >= 1);
delimiter //
create procedure tim_email( keyword nvarchar(50))
-- Tạo bảng để giữ những thay đổi dữ liệu của khách hàng
-- tạo trigger để lưu trữ thông tin KHÁCH HÀNG vào bảng
khachhang_audit
-- Tạo Trigger để tính tổng số giờ làm của nhân viên bằng cách cộng
số giờ làm với giờ làm (Giolam trong bảng nhanvien)
DELIMITER //
Create TRIGGER UpdateTongsogiolam
BEFORE UPDATE ON nhanvien
FOR EACH ROW
BEGIN
IF NEW.Giolam > 0000 THEN
SET NEW.Sogiolam = OLD .Sogiolam + NEW. Giolam;
END IF;
END //
DELIMITER ;
-- update
UPDATE nhanvien
-- in ra ---
select * from nhanvien ;