1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo môn cơ sơ dữ liệu phân tán

45 1 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

Định dạng
Số trang 45
Dung lượng 1,32 MB

Nội dung

Báo cáo bài tập lớn cuối môn Cơ sở dữ liệu phân tán, chia rõ nội dung các chương học, phân tích thiết kế quán cafe, vẽ đầy đủ, đủ các dạng tối ưu truy vấn của 1 website bán hàng các mức câu hỏi từ dễ đến khó

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT KHOA CÔNG NGHỆ THÔNG TIN Học phần: CƠ SỞ DỮ LIỆU PHÂN TÁN Đề tài: QUẢN LÝ BÁN HÀNG ĐIỆN TỬ Giảng viên hướng dẫn: Lớp: Nhóm Sinh viên thực hiện: Hà Nội, tháng 12 năm 2022 Nhóm 02 TRƯỜNG ĐẠI HỌC CƠNG NGHỆ GTVT KHOA CÔNG NGHỆ THÔNG TIN Giảng viên hướng dẫn: Lớp: Nhóm gồm thành viên: Hà Nội, tháng 12 năm 2022 MỤC LỤC LỜI MỞ ĐẦU Với bùng nổ cách mạng công nghiệp 4.0 giới Việt Nam, Công nghệ thông tin trở thành ngành công nghiệp mũi nhọn, ngành khoa học kĩ thuật khơng thể thiếu việc áp dụng vào hoạt động xã hội: Quản lý, kinh tế, thông tin, … Một thực trạng diễn quan, công ty thường mời chuyên viên phần mềm vi tính viết chương trình, họ khơng hiểu chương trình viết nào, ứng dụng phân tích Họ khơng biết làm ngồi việc ấn nút theo hướng dẫn công ty phần mềm sử dụng chương trình họ viết Khi muốn thay đổi nho nhỏ chương trình lại phải mời chuyên viên, người điều hành biết ấn nút mà thơi, mà thay đổi phân tích vấn đề khơng để ý khách hàng quên không yêu cầu chuyên viên khắc phục chương trình Sự hạn chế việc phân tích vấn đề, quản lý không phát huy hết tác dụng máy tính Với mong muốn cho thấy tầm quan trọng việc phân tích thiết kế hệ thống thơng tin tự động hóa lĩnh vực quản lý Nhóm chúng em cố gắng tìm hiểu mạnh dạn đưa mơ hình sở liệu toán quản lý bán hàng xây dựng hệ quản trị sở liệu SQL Server, phương pháp nhiều phương pháp, chưa hồn thiện, phần làm rõ vai trò việc thiết kế sở liệu toán quản lý chung PHÂN CÔNG CÔNG VIỆC ST T HỌ TÊN CÔNG VIỆC MỨC ĐỘ HOÀN THÀNH CHƯƠNG I THIẾT KẾ MƠ HÌNH CƠ SỞ DỮ LIỆU 1.1 Các thực thể thuộc tính tương ứng 1.1.1 Loại hàng: LoaiHang (MaLoaiHang, TenLoaiHang) - MaLoaiHang: thuộc tính khóa phân biệt loại hàng với - TenLoaiHang: tên loại hàng 1.1.2 Mặt hàng: MatHang (MaMatHang, TenMatHang, MaLoaiHang, DonViTinh) - MaMatHang: thuộc tính khóa phân biệt mặt hàng với - TenMatHang: tên mặt hàng - MaLoaiHang: mã loại hàng - DonViTinh: đơn vị tính 1.1.3 Nhân viên: NhanVien (MaNhanVien, HoTen, DiaChi, DienThoai, NgaySinh, Email) - MaNhanVien: thuộc tính khóa phân biệt nhân viên với - HoTen: họ tên nhân viên - DiaChi: địa nhân viên - DienThoai: điện thoại nhân viên - NgaySinh: ngày sinh nhân viên - Email: email nhân viên 1.1.4 Khách hàng: KhachHang (MaKhachHang, HoTen, DiaChi, Email, DienThoai) - MaKhachHang: thuộc tính khóa phân biệt khách hàng với - HoTen: họ tên khách hàng - DiaChi: địa khách hàng - Email: email khách hàng - DienThoai: điện thoại khách hàng 1.1.5 Nhà cung cấp: NhaCungCap (MaNhaCungCap, TenNhaCungCap, DiaChi, DienThoai, Email) - MaNhaCungCap: thuộc tính khóa phân biệt nhà cung cấp với - TenNhaCungCap: tên nhà cung cấp - DiaChi: địa nhà cung cấp - DienThoai: điện thoại nhà cung cấp - Email: email nhà cung cấp 1.1.6 Nhập: NgayNhap) Nhap (MaNhap, MaNhaCungCap, MaNhanVien, - MaNhap: mã nhập hàng - MaNhaCungCap: mã nhà cung cấp nhập hàng - MaNhanVien: mã nhân viên nhập hàng - NgapNhap: thời gian nhập hàng 1.1.7 Chi tiết nhập: ChiTietNhap SoLuongNhap, DonGiaNhap) (MaNhap, MaMatHang, - MaNhap: mã nhập hàng - MaMatHang: mã mặt hàng - SoLuongNhap: số lượng nhập - DonGiaNhap: đơn giá nhập 1.1.8 Xuất: Xuat (MaXuat, MaKhachHang, MaNhanVien, NgayXuat) - MaXuat: mã xuất hàng - MaKhachHang: mã khách hàng mua hàng - MaNhanVien: mã nhân viên bán hàng - NgayXuat: thời gian xuất hàng 1.1.9 Chi tiết xuất: ChiTietXuat (MaXuat, MaMatHang, SoLuongXuat, DonGiaXuat) - MaXuat: mã xuất hàng - MaMatHang: mã mặt hàng - SoLuongXuat: số lượng xuất - DonGiaXuat: đơn giá xuất 1.2 Cơ sở liệu quản lý bán hàng 1.2.1 Mơ hình sở liệu 1.2.1.1 Bảng Loại Hàng Tên cột Ý nghĩa MaLoaiHang Mã loại hàng TenLoaiHang Tên loại hàng 1.2.1.2 Bảng Mặt Hàng Kiểu CHAR NVARCHAR Độ rộng 50 Tên cột Ý nghĩa MaMatHang Mã mặt hàng TenMatHang Tên mặt hàng MaLoaiHang Mã loại hàng DonViTinh Đơn vị tính 1.2.1.3 Bảng Nhân Viên Kiểu CHAR NVARCHAR CHAR NVARCHAR Độ rộng 100 10 Tên cột Ý nghĩa MaNhanVien Mã nhân viên HoTen Họ tên DiaChi Địa DienThoai Số điện thoại NgaySinh Ngày sinh Email Email 1.2.1.4 Bảng Khách Hàng Kiểu CHAR NVARCHAR NVARCHAR VARCHAR DATE VARCHAR Độ rộng 50 200 20 Tên cột Ý nghĩa MaKhachHang Mã khách hàng HoTen Họ tên DiaChi Địa Email Email DienThoai Số điện thoại 1.2.1.5 Bảng Nhà Cung Cấp Kiểu CHAR NVARCHAR NVARCHAR VARCHAR VARCHAR Độ rộng 50 200 100 20 Tên cột MaNhaCungCap TenNhaCungCap DiaChi DienThoai Email Kiểu CHAR NVARCHAR NVARCHAR VARCHAR VARCHAR Độ rộng 100 200 20 100 Ý nghĩa Mã nhà cung cấp Tên nhà cung cấp Địa Số điện thoại Email 100 1.2.1.6 Bảng Nhập Tên cột Ý nghĩa MaNhap Mã phiếu nhập MaNhaCungCap Mã nhà cung cấp MaNhanVien Mã nhân viên NgayNhap Ngày nhập 1.2.1.7 Bảng Chi Tiếp Nhập Kiểu CHAR CHAR CHAR DATETIME Độ rộng 4 Tên cột MaNhap MaMatHang SoLuongNhap DonGiaNhap 1.2.1.8 Bảng Xuất Kiểu CHAR CHAR INT DECIMAL Độ rộng 4 Kiểu CHAR CHAR CHAR DATETIME Độ rộng 4 Ý nghĩa Mã phiếu nhập Mã mặt hàng Số lượng nhập Đơn giá nhập Tên cột Ý nghĩa MaXuat Mã phiếu xuất MaKhachHang Mã khách hàng MaNhanVien Mã nhân viên NgayXuat Ngày xuất 1.2.1.9 Bảng Chi Tiết Xuất Tên cột MaXuat MaMatHang SoLuongXuat DonGiaXuat Ý nghĩa Mã xuất Mã mặt hàng Số lượng xuất Đơn giá xuất Kiểu CHAR CHAR INT DECIMAL 16,2 Độ rộng 4 16,2 1.2.2 Mơ hình liên kết thực thể 1.2.3 Thiết lập sở liệu 1.2.3.1 Tạo CSDL Bán Hàng CREATE DATABASE BanHang GO USE BanHang 1.2.3.2 Tạo bảng Loại Hàng CREATE TABLE LoaiHang ( MaLoaiHang CHAR(2), TenLoaiHang NVARCHAR(50), CONSTRAINT PRK_LoaiHang_MaLoaiHang PRIMARY KEY (MaLoaiHang) ) 1.2.3.3 Tạo bảng Mặt Hàng CREATE TABLE MatHang ( MaMatHang CHAR(4), TenMatHang NVARCHAR(100), MaLoaiHang CHAR(2), DonViTinh NVARCHAR(10), CONSTRAINT PRK_MatHang_MaMatHang PRIMARY KEY (MaMatHang) ) 1.2.3.4 Tạo bảng Nhân Viên CREATE TABLE NhanVien ( MaNhanVien CHAR(4), HoTen NVARCHAR(50), DiaChi NVARCHAR(200), DienThoai VARCHAR(20), NgaySinh DATE, Email VARCHAR(100), CONSTRAINT PRK_NhanVien_MaNhanVien PRIMARY KEY (MaNhanVien), CONSTRAINT CHK_NhanVien_DienThoai CHECK (DienThoai LIKE '[0-9] [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'), CONSTRAINT CHK_NhanVien_NgaySinh CHECK (NgaySinh BETWEEN '1900-01-01' AND GETDATE()), CONSTRAINT CHK_NhanVien_Email CHECK (Email LIKE '%_@ %. %') ) 1.2.3.5 Tạo bảng Khách Hàng CREATE TABLE KhachHang ( MaKhachHang CHAR(4), HoTen NVARCHAR(50), DiaChi NVARCHAR(200), Email VARCHAR(100), DienThoai VARCHAR(20), CONSTRAINT PRK_KhachHang_MaKhachHang PRIMARY KEY (MaKhachHang), CONSTRAINT CHK_KhachHang_Email CHECK (Email LIKE '%_@ %. %'), CONSTRAINT CHK_KhachHang_DienThoai CHECK (DienThoai LIKE '[0-9] [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') ) 1.2.3.6 Tạo bảng Nhà Cung Cấp 10 p4: Select TenMatHang from MatHang m, ptg3 where m.MaMatHang = ptg3.MaMatHang Quan hệ định nghĩa biến ptg3 có thuộc tính MaMatHang Biến ptg3 có MaMatHang nên phép cho ptg3 ta thu truy vấn đơn quan hệ p41: select TenMatHang from MatHang where MaMatHang=’TV32’ p42: select TenMatHang from MatHang where MaMatHang=’TV42’ p43: select TenMatHang from MatHang where MaMatHang=’TV65’ CHƯƠNG V XÂY DỰNG CÂY ĐẠI SỐ QUAN HỆ VÀ RÚT GỌN CÂU TRUY VẤN 5.1 Phân chia mảnh a.Quan hệ MatHang phân mảnh ngang thành mảnh: MH1 = (MatHang) MH2 = (MatHang) 31 MH3 = (MatHang) • Từ mảnh MH1 tiếp tục phân thành mảnh nhỏ MH11 = (MH1) MH12 = (MH1) • Từ mảnh MH2 tiếp tục phân thành mảnh nhỏ MH21 = (MH2) MH22 = (MH2) MH23 = (MH2) MH24 = (MH2) b Quan hệ KhachHang phân mảnh thành mảnh: KH1 = (KhachHang) KH2 = (KhachHang) KH3 = (KhachHang) c.Quan hệ NhaCungCap phân mảnh thành mảnh: NCC1 = (NhaCungCap) NCC2 = (NhaCungCap) NCC3 = (NhaCungCap) d.Quan hệ NhanVien phân mảnh dọc thành mảnh: NV1 = (NhanVien) NV2 = (NhanVien) 32 NV3 = (NhanVien) • Từ mảnh NV1 tiếp tục phân thành mảnh nhỏ NV11 = NV12 = NV13 = • Từ mảnh NV2 tiếp tục phân thành mảnh nhỏ NV21 = NV22 = • Từ mảnh NV3 tiếp tục phân thành mảnh nhỏ NV31 = (NV3) NV32 = (NV3) 5.2 Rút gọn câu truy vấn, xây dựng đại số quan hệ 5.2.1 Cho biết tên mặt hàng có ký tự Sony thuộc loại Ti vi Câu truy vấn trước rút gọn select TenMatHang from MatHang m, LoaiHang l where m.MaLoaiHang = l.MaLoaiHang and l.TenLoaiHang = N‘Ti vi’ and m.TenMatHang like N’%Sony%’ Cây đại số quan hệ ban đầu Cây đại số quan hệ rút gọn 33 Câu truy vấn sau rút gọn select MH24.TenMatHang from MH24, LH2 where MH24.MaLoaiHang = LH2.MaLoaiHang and MH24.TenMatHang like N’%Sony%’ and LH2.TenLoaiHang=’Ti vi’ 5.2.2 Đưa tên mặt hàng có ký tự Oppo nhập vào tháng năm 2021 nhà cung cấp có địa Hải Phịng Câu truy vấn trước rút gọn 34 select m.TenMatHang from MatHang m, Nhap n, NhaCungCap ncc, ChiTietNhap ctn where m.MaMatHang = ctn.MaMatHang and n.MaNhap = ctn.MaNhap and n.MaNhaCungCap = ncc.MaNhaCungCap and year(n.NgayNhap) = 2021 and month(n.NgayNhap) = and ncc.DiaChi = N’Hải Phòng’ and m.TenMatHang like N’%Oppo%’ Cây đại số quan hệ ban đầu Cây đại số quan hệ rút gọn 35 Câu truy vấn sau rút gọn select MH11.TenMatHang from MH11, ChiTietNhap ctn, Nhap n, NCC2 where ctn.MaNhap = n.MaNhap and NCC2.MaNhaCungCap = n.MaNhaCungCap and MH11.MaMatHang = ctn.MaMatHang and MH11.TenMatHang like N‘%Oppo%’ and NCC2.DiaChi = N’Hải Phòng’ and year(n.NgayNhap) = 2021 and month(n.NgayNhap) = 36 5.2.3 Cho biết tên khách hàng, địa cụ thể, ngày mua hàng vào tháng năm 2021 tỉnh Thanh Hóa Câu truy vấn trước rút gọn select HoTen, k.DiaChi, day(x.NgayXuat) as Ngay from KhachHang k, Xuat x where k.MaKhachHang = x.MaKhachHang and year(x.NgayXuat) = 2021 and month(x.NgayXuat) = and k.DiaChi like N‘%Thanh Hóa%’ Cây đại số quan hệ ban đầu Cây đại số quan hệ rút gọn 37 Câu truy vấn sau rút gọn select KH1.HoTen, KH1.DiaChi, day(NgayXuat) as Ngay from KH1, Xuat2 where KH1.MaKhachHang = Xuat2.MaKhachHang and month(Xuat2.NgayXuat) = 5.2.4 Cho biết tên nhân viên từ 20 tuổi trở lên bán đơn có đơn giá mặt hàng 2600000 vào năm 2021 Câu truy vấn trước rút gọn select HoTen 38 from NhanVien nv, Xuat x, ChiTietXuat ctx where x.MaXuat = ctx.MaXuat and nv.MaNhanVien = x.MaNhanVien and ctx.DonGiaXuat = 2600000 and (year(getdate()) – year(nv.NgaySinh)) >= 20 and year(x.NgayXuat) = 2021 Cây đại số quan hệ ban đầu Cây đại số quan hệ rút gọn 39 Câu truy vấn sau rút gọn select NhanV.HoTen from Xuat2, ChiTietXuat ctx, (select NV13.MaNhanVien from NV13, (select * from NV11 union select * from NV12) as NV where NV13.MaNhanVien = NV.MaNhanVien and (year(getdate()) – year(NV.NgaySinh)) >= 20) as NhanV where NhanV.MaNhanVien = Xuat2.MaNhanVien and ctx.MaXuat = Xuat2.MaXuat and ctx.DonGiaXuat = 2600000 40 KẾT LUẬN Phía tất nội dung hệ thống nhóm tìm hiểu tổng hợp lại Nhóm hi vọng người biết thêm kiến thức bổ ích qua đề tài Tuy nhiên vốn kiến thức số điều kiện khách quan nên viết cịn nhiều thiếu xót, em mong thầy (cô) bạn đọc coi tham khảo để lại góp ý cho đề tài nhóm 41 TÀI LIỆU THAM KHẢO Giáo trình sở liệu phân tán (Nguyen, n.d.) 42

Ngày đăng: 04/05/2023, 17:33

w