Trang 1 TRƯỜNG ĐẠI HỌC THƯƠNG MẠI Trang 2 Để hoàn thành đề tài này, ngoài sự cố gắng nỗ lực của cả nhóm 3, chúng emđã nhận được rất nhiều sự quan tâm giúp đỡ, động viên từ phía gia đình
GIỚI THIỆU BÀI TOÁN VÀ XÂY DỰNG MÔ HÌNH ER
Phát biểu bài toán
Siêu thị chia thành nhiều khu vực, mỗi khu vực có một mã số phân biệt và có
Một siêu thị chuyên bán một loại hàng cụ thể, với mỗi loại hàng được phân biệt bằng một mã số duy nhất và tên gọi riêng Mỗi mặt hàng trong siêu thị cũng có mã số riêng, tên, đơn vị tính và giá bán hiện hành Đặc biệt, mỗi mặt hàng có thể được cung cấp bởi nhiều nhà cung ứng khác nhau.
Mỗi nhân viên được phân công làm việc tại một khu vực cụ thể và có mã số nhận diện riêng Ngoài ra, cần lưu trữ thông tin quan trọng như họ tên, ngày sinh, địa chỉ, số điện thoại, ngày bắt đầu làm việc và số CMND.
Mỗi nhà cung cấp được phân biệt bằng một mã số riêng, bao gồm tên công ty, mã số thuế, địa chỉ, số điện thoại, email và danh sách các mặt hàng cung cấp Lưu ý rằng một nhà cung cấp có thể có nhiều số điện thoại khác nhau.
Khi khách hàng thực hiện giao dịch mua hàng, quầy tính tiền sẽ cung cấp một hóa đơn chi tiết Hóa đơn này bao gồm các thông tin quan trọng như số hóa đơn, ngày lập hóa đơn, tên nhân viên phục vụ, tên khách hàng, địa chỉ của khách hàng, cùng với danh sách các mặt hàng đã mua, số lượng, đơn giá và tổng số tiền thanh toán.
Xây dựng mô hình thực thể liên kết
1.2.1 Xác định các tập/kiểu thực thể và các thuộc tính tương ứng
- MATHANG: maMH, tenMH, donvitinh, dongia
KHUVUC maKV tenKV tenLH maLH LOAIHANG dongia maMH MATHANG tenMH donvitinh
- NHANVIEN: maNV, hoten, ngaysinh, diachi, dienthoai, ngayvaolam, CMND
- NHACUNGCAP: maNCC, tencongty, diachi, masothue, sodienthoai, email ngaysinh hoten maNV NHANVIEN diachi dienthoai ngayvaolam
CMND diachi tencongty masothue maNCC NHACUNGCAP email sodienthoai
- HOADON: sohoadon, ngaylap, hotenNV, hotenKH, diachi, tongtien, mathang hotenNV hotenKH diachi ngaylap
1.2.2 Xác định các liên kết và kiểu liên kết
Mối liên kết giữa tập thực thể khu vực và tập thực thể loại hàng là mối liên kết 1-1, trong đó mỗi khu vực chỉ bán một loại hàng duy nhất và mỗi loại hàng chỉ được bán tại một khu vực cụ thể.
Mối liên kết giữa tập thực thể loại hàng và tập thực thể mặt hàng là mối quan hệ 1-n, trong đó mỗi loại hàng có thể bao gồm nhiều mặt hàng, nhưng mỗi mặt hàng chỉ thuộc về một loại hàng duy nhất.
Mối liên kết giữa tập thực thể khu vực và tập thực thể nhân viên là mối quan hệ 1-n, trong đó mỗi khu vực có nhiều nhân viên, và mỗi nhân viên chỉ làm việc tại một khu vực cụ thể.
Mối quan hệ giữa nhà cung cấp và mặt hàng là mối liên kết m-n, trong đó mỗi nhà cung cấp có thể cung cấp nhiều mặt hàng, và mỗi mặt hàng có thể được cung cấp bởi nhiều nhà cung cấp khác nhau.
Mối liên kết giữa tập thực thể hóa đơn và tập thực thể mặt hàng là mối liên kết nhiều-nhiều (m-n), trong đó mỗi hóa đơn chứa thông tin về nhiều mặt hàng, đồng thời nhiều mặt hàng có thể xuất hiện trong nhiều hóa đơn khác nhau.
Mối liên kết giữa tập thực thể nhân viên và tập thực thể hóa đơn là mối liên kết 1-n, trong đó mỗi nhân viên có khả năng xuất nhiều hóa đơn cho khách hàng.
11 tenKV dienthoai maKV ngaysinh hoten
CMND maNV NHANVIEN m donvitinh maMH hotenKH ngaylap masothue tencongty maNCC diachi sodienthoai email NHACUNGCAP
XÂY DỰNG CƠ SỞ DỮ LIỆU
Xây dựng mô hình cơ sở dữ liệu quan hệ
2.1.1 Áp dụng lần lượt các quy tắc biến đổi mô hình thực thể liên kết về mô hình CSDL quan hệ: Áp dụng quy tắc 1: chuyển kiểu thực thể mạnh
R3: MATHANG (maMH, tenMH, donvitinh, dongia)
R4: NHANVIEN ( maNV, hoten, ngaysinh, diachi, dienthoai, ngayvaolam, CMND)
R5: NHACUNGCAP ( maNCC, tencongty, diachi, masothue, dienthoai, email)
R6: HOADON (sohoadon, ngaylap, hotenNV, hotenKH, diachi, tongtien, mathang) Áp dụng quy tắc 2: chuyển kiểu thực thể yếu Áp dụng quy tắc 3: chuyển các kiểu thực thể mạnh 1 – 1
- Xét liên kết khu vực có loại hàng 1 – 1, thêm maKV vào bảng
R2.1: LOAIHANG (maLH, tenLH, maKV) Áp dụng quy tắc 4: chuyển các kiểu thực thể mạnh 1-n
- Xét liên kết nhân viên lập hoá đơn 1 – n, thêm maNV vào bảng
R6: HOADON (sohoadon, ngaylap, hotenNV, hotenKH, diachi, tongtien,mathang)
R6.1: HOADON (sohoadon, ngaylap, hotenNV, hotenKH, diachi, tongtien, mathang, maNV)
- Xét liên kết loại hàng mặt hàng 1 - n: thêm maLH vào bảng MATHANG
R3: MATHANG (maMH, tenMH, donvitinh, dongia)
R3.1: MATHANG (maMH, tenMH, donvitinh, dongia, maLH)
- Xét liên kết nhân viên – khu vực 1 – n : thêm maKV vào bảng NHANVIEN
R4: NHANVIEN (maNV, hoten, ngaysinh, diachi, dienthoai, ngayvaolam, CMND)
R4.1: NHANVIEN (maNV, hoten, ngaysinh, diachi, dienthoai, ngayvaolam, CMND, maKV) Áp dụng quy tắc 5: chuyển kiểu thực thể m-n
- Xét liên kết mặt hàng và hóa đơn: m-n
- Liên kết sinh ra liên kết mới:
CTHD (sohoadon, maMH, soluong, dongia, thanhtien)
- Xét liên kết mặt hàng và nhà cung cấp: m-n
- Liên kết sinh ra liên kết mới:
PHIEUNHAP (maMH,maNCC, soluongnhap) Áp dụng quy tắc 6: chuyển đổi các liên kết có bậc lớn hơn 2 Áp dụng quy tắc 7: chuyển các liên kết “is – a”
2.1.2 Chốt lại cơ sở dữ liệu cuối cùng của bài toán
Cơ sở dữ liệu của bài toán:
NHANVIEN (maNV, hoten, ngaysinh, diachi, dienthoai, ngayvaolam, CMND, maKV)
NHACUNGCAP (maNCC, tencongty, diachi, masothue, email, dienthoai)
HOADON (sohoadon, ngaylap, hotenNV, hotenKH, diachi, tongtien, mathang, maNV )
MATHANG (maMH, tenMH, donvitinh, dongia, m aLH )
CTHD (sohoadon, maMH, soluong, dongia, thanhtien)
2.1.3 Xác định các ràng buộc bài toán a Ràng buộc toàn vẹn liên bộ : “Mỗi mặt hàng chỉ có một mã duy nhất”
+ Tự nhiên: mỗi mặt hàng có một mã duy nhất
+ Hình thức: ∀m1, m2 Mặt hàng, m1 ≠ m2 => m1.maMH ≠ m2 maMH. Bảng tầm ảnh hưởng:
MATHANG +(maMH) - +*(maMH) b Ràng buộc toàn vẹn liên bộ: “ Mỗi hóa đơn chỉ có một mã duy nhất”
+ Tự nhiên: Mỗi hóa đơn chỉ có một mã duy nhất
+ Hình thức: ∀h1, h2 Hóa đơn, h1 ≠ h2 => h1.sohoadon ≠ h2 sohoadon. Bảng tầm ảnh hưởng:
MATHANG +(sohoadon) - +*(sohoadon) c Ràng buộc toàn vẹn liên bộ: “Mỗi loại hàng chỉ có một mã duy nhất”
+ Tự nhiên: mỗi loại hàng có một mã duy nhất
+ Hình thức: ∀l1, l2 Loại hàng, l1 ≠ l2 => l1.maLH ≠ l2 maLH.
LOAIHANG +(maLH) - +*(maLH) d Ràng buộc toàn vẹn liên bộ: “Mỗi nhân viên chỉ có 1 mã nhân viên duy nhất.”
+Tự nhiên: Mỗi nhân viên có 1 mã nhân viên duy nhất.
NHANVIEN +(maNV) - +*(maNV) e Ràng buộc toàn vẹn liên bộ: “Mỗi nhà cung cấp chỉ có 1 mã duy nhất.”
+Tự nhiên: Mỗi nhà cung cấp có 1 mã duy nhất.
∀ncc1,ncc2 nhân viên:ncc1≠ ncc2
NHACUNGCAP +(maNCC) - +*(maNCC) f Ràng buộc toàn vẹn liên bộ: “Mỗi khu vực chỉ có 1 mã duy nhất.”
+Tự nhiên: Mỗi khu vực có 1 mã duy nhất.
∀kv1,kv2 Khu vực :kv1≠ kv2
KHUVUC +(maKV) - +*(maKV) g Ràng buộc toàn vẹn liên thuộc tính: “Ngày sinh của nhân viên phải nhỏ hơn ngày vào làm.”
- Hình thức: ∀n Nhân Viên (n.ngaysinh < n.ngayvaolam)
NHAN VIEN + - +(ngaysinh, ngayvaolam) h Ràng buộc toàn vẹn tham chiếu: “Họ tên nhân viên trong hóa đơn phải là một nhân viên trong siêu thị.”
- ∀h Hóa ơn, đơn, ∃n Nhân viên (h.hotenNV = n.maNV)
NHANVIEN - + -*(maNV) i Ràng buộc toàn vẹn tham chiếu: “Mặt hàng trong hóa đơn phải là mặt hàng trong siêu thị.”
- ∀h Hóa ơn, đơn, ∃m Mặt hàng (h.mathang = m.maMH)
MATHANG - + -*(maMH) j Ràng buộc toàn vẹn do thuộc tính tổng hợp: “Tổng tiền hóa đơn phải bằng tổng các thành tiền hóa đơn cộng lại.”
- ∀h Hóa ơn, h.tongtien = đơn, (ct CTHD ct.sohoadon h.sohoadon) (h.soluong * h.dongia)
Chuẩn hóa cơ sở dữ liệu của bài toán
Từ mô hình quan hệ ta suy ra các phụ thuộc hàm:
NHANVIEN (maNV, hoten, ngaysinh, diachi, dienthoai, ngayvaolam, CMND maKV)
NHACUNGCAP (maNCC, tencongty, diachi, masothue, email, dienthoai)
HOADON (sohoadon, ngaylap, hotenKH, diachi, tongtien, maNV )
MATHANG (maMH, tenMH, donvitinh, dongia, m aLH )
CTHD (sohoadon, maMH, soluong, dongia, thanhtien)
Từ các phụ thuộc hàm trên ta thấy:
Trong quan hệ CTHD, thuộc tính thành tiền được xác định dựa trên các thuộc tính số lượng và đơn giá Do đó, thuộc tính thành tiền sẽ được loại bỏ khỏi quan hệ CTHD.
CTHD (sohoadon, m aMH , soluong, dongia)
Một nhà cung cấp có thể có nhiều số điện thoại
NHACUNGCAP (maNCC, tencongty, diachi, masothue, email, dienthoai1) NHACUNGCAP (maNCC, tencongty, diachi, masothue, email, dienthoai2)
Mọi thuộc tính không khóa của quan hệ đều phụ thuộc hàm đầy đủ vào khóa chính.
Lược đồ quan hệ trên đã ở dạng chuẩn 2NF.
Mọi thuộc tính không khóa của quan hệ đều không phụ thuộc bắc cầu vào bất kì khóa chính của quan hệ.
Lược đồ quan hệ trên đã ở dạng chuẩn 3NF.
Như vậy, ta chốt lại CSDL cuối cùng của bài toán:
NHANVIEN (maNV, hoten, ngaysinh, diachi, dienthoai, maKV)
NHACUNGCAP (maNCC, tencongty, diachi, masothue, dienthoai, email)
HOADON (sohoadon, ngaylap, hotenKH, diachi, tongtien, maNV)
MATHANG (maMH, tenMH, donvitinh, dongia, m aLH )
CTHD (sohoadon, maMH, soluong, dongia)
2.3 Thiết kế vật lý của bài toán
THAO TÁC VỚI CƠ SỞ DỮ LIỆU
Tạo dựng cơ sở dữ liệu
Tạo cơ sở dữ liệu quản lý siêu thị ‘QLMB’ và các bảng của ‘QLMB’ use master go create database QLMB
GO use QLMB create table KHUVUC ( maKV varchar(5) not null primary key, tenKV varchar(20) not null
) create table LOAIHANG ( maLH varchar(5) not null primary key, tenLH varchar(20) not null, maKV varchar(5) not null, constraint FK_KHUVUC FOREIGN KEY (maKV) references KHUVUC(maKV)
) create table NHANVIEN ( maNV varchar(10) not null primary key, hoten text not null, ngaysinh date not null, diachi text not null, dienthoai text not null, ngayvaolam date not null,
CMND text not null, maKV varchar(5) not null foreign key references KHUVUC(maKV) )
CREATE TABLE NHACUNGCAP( maNCC varchar(10) not null primary key, tencongty text not null, diachi text not null, dienthoai text not null, masothue varchar(15) not null
ADD CONSTRAINT unique_dien_thoai UNIQUE (dienthoai)
The SQL command creates a table named "HOADON" that includes essential fields such as "sohoadon" for the invoice number, "ngaylap" for the date of issuance, "hotenKH" for the customer's name, "tongtien" for the total amount, and "diachi" for the address Additionally, it establishes a foreign key relationship with the "NHANVIEN" table through the "maNV" field, ensuring data integrity by linking each invoice to a specific employee.
CREATE TABLE MATHANG( maMH varchar(5) not null primary key, tenMH varchar(20) not null, donvitinh varchar(10) not null, dongia money not null, maLH varchar(5) foreign key references LOAIHANG(maLH)
) create table CTHD( sohoadon int foreign key references HOADON(sohoadon), maMH varchar(5) NOT NULL foreign key references MATHANG(maMH), soluong int not null, dongia money not null
) create table PHIEUNHAP( maMH varchar(5) NOT NULL foreign key references MATHANG(maMH),maNCC varchar(10) not null foreign key references NHACUNGCAP(maNCC),soluongnhap int not null
Sau khi nhập Lệnh, các bảng của database ‘QLMB’ được tạo với dữ liệu trống BẢNG KHUVUC maKV tenKV
BẢNG LOAIHANG maLH tenLH maKV
BẢNG NHANVIEN maNV hoten ngaysin h diachi dientho ai maKV ngayvaol am CMND
BẢNG NHACUNGCAP maNCC tencongty diachi masothue dienthoai email
BẢNG MATHANG maMH tenMH donvitinh dongia maLH
BẢNG HOADON sohoadon ngaylap hotenKH diachi maNV tongtien
BẢNG CTHD sohoadon maMH soluong dongia
BẢNG PHIEUNHAP maNCC maMH soluongnhap
Thêm dữ liệu vào các bảng
Tiến hành thêm dữ liệu vào các bảng của database ‘QLMB’ use qlmb go insert into KHUVUC (maKV, tenKV) values
('C0', 'Beauty') select maKV, tenKV from KHUVUC insert into LOAIHANG (maLH, tenLH, maKV) values
('B12', 'Do trang diem', 'C0') select * from LOAIHANG
INSERT INTO NHANVIEN (maNV, hoten, ngaysinh, diachi, dienthoai, ngayvaolam, CMND, maKV)
('N17', 'Tran Quoc Toan', '2000-04-14', 'Ha Noi', '0123456789', '2022-12-01', '0124', 'A1'),
('N36', 'Le Kim Danh', '1996-08-18', 'Phu Tho', '0246835791', '2017-05-16', '0693', 'A2'),
('N25', 'Mai Bao Ngoc', '1998-06-26', 'Hai Duong', '0965432187', '2019-01-02', '0156', 'B1'),
('N40', 'Nguyen Quoc Dat', '1974-12-29', 'Ha Giang', '0239578641', '2010-09-15', '0654', 'B2'),
('N23', 'Chu Duc Tien', '1992-06-19', 'TP HCM', '0369258147', '2012-04-17', '0512', 'C0') select * from NHANVIEN
INSERT INTO MATHANG (maMH, tenMH, donvitinh, dongia, maLH)
('B112', 'Phan', 'bo', '150000', 'B12') select * from MATHANG
INSERT INTO NHACUNGCAP (maNCC, tencongty, diachi, masothue, dienthoai, email)
The article presents a list of suppliers, including their contact details The first supplier is Thanh Dat from Ha Noi, reachable at 096-1234567890 or via email at cskhthanhdat@gmail.com Next is Van Hien from Binh Duong, with the phone number 231-3216549870 and email cskhvanhien@gmail.com The third supplier, Thanh Do, is located in Hoa Binh, and can be contacted at 679-0364785123 or cskhthanhdo@gmail.com Lastly, Mailisa from Ho Chi Minh can be reached at 632-19001918 or cskhmalisa@gmail.com.
INSERT INTO HOADON (sohoadon, ngaylap, hotenKH, diachi, tongtien, maNV) VALUES
('05', '2023-08-12', 'Nguyen Ba Nam', 'Ha Noi', '225000', 'N17'),
('07', '2023-07-12', 'Thu Hien', 'Ho Chi Minh', '250000', 'N40'),
INSERT INTO CTHD (sohoadon, maMH, soluong, dongia) VALUES
('8', 'A023', '2', '200000') select * from CTHD insert into PHIEUNHAP (maMH, MaNCC, soluongnhap) values
Sau khi thêm dữ liệu vào các bảng, ta có các bảng như sau: BẢNG KHUVUC maKV tenKV
BẢNG LOAIHANG maLH tenLH maKV
BẢNG NHANVIEN maNV hoten ngaysinh diachi dienthoai ngayvaola m CMND maKV
C tencongt y diachi masothu e dienthoai email
0 cskhthanhdat@gmail.com CV02 Van Hien
0 cskhvanhien@gmail.com CV04 Mailisa
BẢNG MATHANG maMH tenMH donvitinh dongia maLH
BẢNG HOADON sohoadon ngaylap hotenKH diachi tongtien maNV
BẢNG CTHD sohoadon maMH dongia soluong
BẢNG PHIEUNHAP maMH maNCC soluongnhap
Khai thác cơ sở dữ liệu
3.1 Sửa, xóa, thêm thông tin với các bảng được tạo 3.1.1 Thêm thông tin mặt hàng vào bảng MATHANG
CREATE PROCEDURE [dbo].[MATHANG_insert] @maMH nvarchar(5),@tenMH varchar(20),@donvitinh varchar(10), @dongia money,
(maMH, tenMH, donvitinh, dongia, maLH)
(@maMH, @tenMH, @donvitinh, @dongia, @maLH)
Sau khi thêm dữ liệu, bảng MATHANG cập nhật như sau: maMH tenMH donvitinh dongia maLH
3.1.2 Xóa phiếu nhập ra khỏi danh sách PHIEUNHAP
CREATE PROCEDURE [dbo].[PHIEUNHAP_delete]
Sau khi xóa dữ liệu, bảng PHIEUNHAP cập nhật như sau: maMH maNCC soluongnhap
3.1.3 Sửa thông tin mặt hàng trong bảng MATHANG
CREATE PROCEDURE [dbo].[MATHANG_update](@maMH nvarchar(5),@tenMH varchar(20),@donvitinh varchar(10), @dongia money,
Sau khi sửa thông tin, bảng MATHANG cập nhật như sau: maMH tenMH donvitinh dongia maLH
3.2 Xây dựng thủ tục tìm kiếm hóa đơn theo các tiêu chí: Số hóa đơn,
Họ tên khách hàng, Họ tên nhân viên, Tổng tiền
3.2.1 Tìm kiếm hóa đơn theo tiêu chí Số hóa đơn select * from HOADON where sohoadon = 1
Sau khi nhập lệnh, bảng kết quả hiển thị sohoadon ngaylap hotenKH diachi maNV tongtien
3.2.2 Tìm kiếm hóa đơn theo tiêu chí Họ tên khách hàng select * from HOADON where hotenKH like 'Trinh Dat'
Sau khi nhập lệnh, bảng kết quả hiển thị sohoadon ngaylap hotenKH diachi tongtien maNV
3.2.3 Tìm kiếm hóa đơn theo tiêu chí họ tên nhân viên select sohoadon, ngaylap, hotenKH, HOADON.diachi, tongtien,
HOADON.maNV, NHANVIEN.hoten ashotenNV from HOADON inner join NHANVIEN
ON NHANVIEN.maNV = HOADON.maNV where NHANVIEN.hoten like 'Tran Quoc Toan'
Sau khi nhập lệnh, bảng kết quả hiển thị sohoado n ngaylap hotenKH diachi tongtien maNV hotenNV
Ba Nam Ha Noi 225000.00 N17 Tran Quoc
3.2.4 Tìm kiếm hóa đơn theo tiêu chí Tổng tiền select * from HOADON where tongtien = 350000
Sau khi nhập lệnh, bảng kết quả hiển thị sohoadon ngaylap hotenKH diachi maNV tongtien
3.3 Xây dựng thủ tục Thống kê số lượng tiền bán hàng theo ngày select sum(tongtien) as tientheongay, ngaylap from HOADON group by ngaylap
Sau khi nhập lệnh, bảng kết quả hiển thị tientheongay ngaylap400000.00 2023-07-01250000.00 2023-07-12300000.00 2023-07-13225000.00 2023-08-12350000.00 2023-09-01220000.00 2023-09-28135000.00 2023-10-18
3.4 Xây dựng thủ tục Thống kê số lượng hàng tồn theo khu vực và mặt hàng
SELECT KHUVUC.tenKV, MATHANG.tenMH,
SUM(PHIEUNHAP.soluongnhap) - SUM(CTHD.soluong) AS soluongton
INNER JOIN LOAIHANG ON MATHANG.maLH = LOAIHANG.maLH
INNER JOIN KHUVUC ON LOAIHANG.maKV = KHUVUC.maKV
INNER JOIN PHIEUNHAP ON MATHANG.maMH = PHIEUNHAP.maMH LEFT JOIN CTHD ON MATHANG.maMH = CTHD.maMH
GROUP BY KHUVUC.tenKV, MATHANG.tenMH
Sau khi nhập lệnh, bảng kết quả hiển thị tenKV tenMH soluongton
3.5 Xây dựng thủ tục Tính số tiền bán hàng theo từng nhân viên và theo tháng
3.5.1 Xây dựng thủ tục Tính số tiền bán hàng theo từng nhân viên select sum(tongtien) as Tongtientheonv, maNV from HOADON group by maNV
Sau khi nhập lệnh, bảng kết quả hiển thị
3.5.2 Xây dựng thủ tục Tính số tiền bán hàng theo tháng select sum(tongtien) as Tongtientheothang, month(ngaylap) as Thang from HOADON group by month(ngaylap)
Sau khi nhập lệnh, bảng kết quả hiển thị
3.6 Phân quyền cơ sở dữ liệu
3.6.1 Xác định nhóm người dùng
-Nhân viên: Các nhân viên được phép truy cập dữ liệu về nhân viên, khu vực, mặt hàng, loại hàng, hóa đơn.
-Khách hàng: Các khách hàng được phép truy cập dữ liệu về hóa đơn, chi tiết hóa đơn.
-Nhà cung cấp: Các nhà cung cấp được phép truy cập dữ liệu về nhà cung cấp, phiếu nhập.
3.6.2 Xác định quyền truy cập
Bảng NHANVIEN: được phép đọc, thêm, sửa, xóa dữ liệu
Bảng KHUVUC: được phép đọc dữ liệu
Bảng MATHANG: được phép đọc dữ liệu
Bảng LOAIHANG: được phép đọc dữ liệu
Bảng HOADON: được phép đọc, thêm dữ liệu
Bảng HOADON: được phép đọc dữ liệu
Bảng CTHD: được phép đọc dữ liệu
Bảng NHACUNGCAP: được phép đọc, thêm, sửa, xóa dữ liệu
Bảng PHIEUNHAP: được phép đọc dữ liệu
3.6.3 Thực hiện phân quyền a Cấp quyền cho nhân viên đối với bảng NHANVIEN, KHUVUC, LOAIHANG, MATHANG, HOADON
CREATE LOGIN [Nhan vien] WITH PASSWORD = '000000'
CREATE USER [Nhan vien] FOR LOGIN [Nhan vien]
GRANT SELECT, INSERT, UPDATE, DELETE ON [NHANVIEN] to [Nhan vien]
GRANT SELECT ON [KHUVUC] TO [Nhan vien]
GRANT SELECT ON [MATHANG] TO [Nhan vien]
GRANT SELECT ON [LOAIHANG] TO [Nhan vien]
GRANT SELECT, insert on [HOADON] to [Nhan vien] b Cấp quyền cho khách hàng với bảng HOADON, CTHD
CREATE LOGIN [Khach hang] WITH PASSWORD = '000000'
CREATE USER [Khach hang] FOR LOGIN [Khach hang]
GRANT SELECT ON[HOADON] to [Khach hang]
GRANT SELECT ON [CTHD] to [Khach hang] c Cấp quyền cho nhà cung cấp với bảng NHACUNGCAP,
PHIEUNHAP CREATE LOGIN [Nha cung cap] WITH PASSWORD = '000000'
CREATE USER [Nha cung cap] FOR LOGIN [Nha cung cap]
GRANT SELECT, INSERT, UPDATE, DELETE ON[NHACUNGCAP] to [Nha cung cap]
GRANT SELECT ON [PHIEUNHAP] to [Nha cung cap]
TỔNG KẾT
Ưu điểm
4.1.1 Ưu điểm của cơ sở dữ liệu
Cơ sở dữ liệu (CSDL) giúp tổ chức dữ liệu một cách hiệu quả, tạo điều kiện thuận lợi cho người quản trị trong việc tìm kiếm, truy xuất và cập nhật thông tin.
- Bảo toàn tính nhất quán (Consistency): CSDL đảm bảo tính nhất quán của dữ liệu, ngăn chặn sự mâu thuẫn và xung đột trong thông tin lưu trữ.
An toàn dữ liệu là một yếu tố quan trọng trong quản lý cơ sở dữ liệu (CSDL), giúp bảo vệ thông tin nhạy cảm khỏi truy cập trái phép CSDL cung cấp các cơ chế bảo mật hiệu quả nhằm ngăn chặn mất mát hoặc thay đổi thông tin quan trọng, đảm bảo sự an toàn và tính toàn vẹn của dữ liệu.
- Dễ dàng mở rộng (Scalability): Hệ thống CSDL có thể dễ dàng mở rộng để đáp ứng nhu cầu ngày càng tăng của dữ liệu.
Cơ sở dữ liệu (CSDL) giúp tiết kiệm không gian lưu trữ bằng cách loại bỏ dữ liệu trùng lặp và tổ chức thông tin một cách tối ưu.
Cơ sở dữ liệu (CSDL) được tối ưu hóa để đảm bảo hiệu suất cao, cho phép truy xuất và xử lý dữ liệu nhanh chóng, đáp ứng kịp thời các yêu cầu từ ứng dụng.
Cơ sở dữ liệu (CSDL) hỗ trợ giao thức đa người dùng, cho phép quản lý đồng thời nhiều người dùng một cách hiệu quả Điều này đảm bảo tính nhất quán của dữ liệu trong môi trường đa người dùng, giúp duy trì sự chính xác và tin cậy của thông tin.
Cơ sở dữ liệu (CSDL) được thiết kế với các công cụ và giao diện người dùng thân thiện, giúp người dùng dễ dàng quản lý và duy trì hệ thống một cách hiệu quả.
Cơ sở dữ liệu (CSDL) cung cấp các công cụ và kỹ thuật cần thiết để hỗ trợ sao lưu và phục hồi dữ liệu, đảm bảo rằng người dùng có thể khôi phục thông tin quan trọng trong trường hợp xảy ra sự cố nghiêm trọng.
- Tích hợp dữ liệu (Data Integration): CSDL giúp tích hợp dữ liệu từ nhiều nguồn khác nhau, giúp tạo ra cái nhìn toàn diện về thông tin.
Hệ thống cơ sở dữ liệu mạnh mẽ và linh hoạt này tích hợp nhiều ưu điểm, nâng cao hiệu suất và tối ưu hóa quản lý thông tin một cách hiệu quả.
4.1.2 Ưu điểm của cơ sở dữ liệu quản lý siêu thị
Cơ sở dữ liệu trong tổ chức hàng hóa và kho hàng giúp siêu thị theo dõi thông tin về hàng hóa một cách hiệu quả, từ quản lý số lượng tồn kho, giá cả, mô tả sản phẩm cho đến vị trí của chúng trong kho.
Quản lý doanh số bán hàng (Point of Sale - POS) là hệ thống cơ sở dữ liệu ghi lại mọi giao dịch, bao gồm thông tin sản phẩm, giá cả, ngày giờ và thông tin khách hàng Hệ thống này hỗ trợ siêu thị trong việc phân tích doanh số, dự đoán nhu cầu và quản lý tồn kho hiệu quả.
Here is the rewritten paragraph:Quản lý khách hàng là nền tảng của siêu thị, cho phép lưu trữ và quản lý thông tin khách hàng một cách hiệu quả, bao gồm lịch sử mua hàng, thông tin liên hệ và các dữ liệu khác Nhờ đó, siêu thị có thể tạo và duy trì mối quan hệ khách hàng bền vững, đồng thời thực hiện các chiến lược tiếp thị được cá nhân hóa và hiệu quả hơn dựa trên dữ liệu có giá trị.
Cơ sở dữ liệu quản lý siêu thị cung cấp khả năng theo dõi và đánh giá hiệu suất của sản phẩm, nhân viên và các chi nhánh khác nhau, giúp quản lý đưa ra quyết định thông minh nhằm cải thiện hiệu quả hoạt động.
Quản lý chiến lược giảm giá và khuyến mãi là yếu tố quan trọng giúp doanh nghiệp thu hút và giữ chân khách hàng Cơ sở dữ liệu hỗ trợ theo dõi và quản lý hiệu quả các chương trình giảm giá, khuyến mãi và thưởng, từ đó tối ưu hóa chiến lược tiếp thị và nâng cao trải nghiệm khách hàng.
Bảo mật thông tin là yếu tố quan trọng trong cơ sở dữ liệu quản lý siêu thị, giúp bảo vệ dữ liệu khách hàng và thông tin tài khoản một cách an toàn và hiệu quả.
Nhược điểm
4.2.1 Nhược điểm của cơ sở dữ liệu
Mặc dù cơ sở dữ liệu mang lại nhiều lợi ích, nhưng cũng tồn tại một số nhược điểm cần được xem xét khi triển khai và quản lý:
Chi phí triển khai và duy trì cơ sở dữ liệu bao gồm nhiều yếu tố quan trọng, như chi phí phần mềm, phần cứng, và chi phí nhân sự cho quản trị và bảo trì Việc thiết lập và duy trì hệ thống này yêu cầu một nguồn lực lớn, ảnh hưởng đến ngân sách tổng thể của tổ chức.
Các cơ sở dữ liệu có thể trở nên phức tạp khi phát triển và mở rộng, gây ra thách thức cho các nhóm phát triển và quản lý trong việc quản lý cấu trúc, quan hệ cũng như tối ưu hóa hiệu suất.
Rủi ro mất dữ liệu là một vấn đề nghiêm trọng, mặc dù các cơ sở dữ liệu thường được trang bị các biện pháp bảo mật và sao lưu Tuy nhiên, vẫn tồn tại nguy cơ mất dữ liệu do sự cố hệ thống, lỗi của người dùng hoặc các cuộc tấn công mạng.
Khi chuyển đổi giữa các hệ thống cơ sở dữ liệu khác nhau, vấn đề tương thích và chuyển đổi dữ liệu thường phát sinh, đặc biệt khi các hệ thống này sử dụng định dạng dữ liệu khác nhau.
Hiệu suất cơ sở dữ liệu có thể gặp vấn đề không đồng đều, đặc biệt khi số lượng người dùng tăng cao hoặc khi thực hiện các truy vấn phức tạp.
Thay đổi cấu trúc dữ liệu có thể gây ra vấn đề cho ứng dụng sử dụng cơ sở dữ liệu, đặc biệt khi không có quy trình chuyển đổi hoặc nâng cấp thích hợp.
Rủi ro bảo mật là mối quan tâm lớn khi cơ sở dữ liệu lưu trữ thông tin quan trọng, khiến nó trở thành mục tiêu của các cuộc tấn công mạng Để bảo vệ dữ liệu, cần chú ý đặc biệt và áp dụng các biện pháp bảo mật hiệu quả.
Khả năng mở rộng của cơ sở dữ liệu là yếu tố quan trọng, vì nhiều hệ thống có thể gặp khó khăn trong việc đáp ứng nhu cầu ngày càng tăng của môi trường doanh nghiệp.