1. Trang chủ
  2. » Công Nghệ Thông Tin

Quản lý bán ô tô Cơ sở dữ liệu phân tán UTT

30 44 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 đề Quản Lý Bán Ô Tô
Tác giả Lại Khánh Nam, Đinh Quốc Khánh, Nguyễn Thế Khoan
Người hướng dẫn Bùi Thị Như
Trường học Trường Đại Học Công Nghệ Giao Thông Vận Tải
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo Cáo Bài Tập Lớn
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 30
Dung lượng 1,79 MB
File đính kèm Quản lý bán ô tô.rar (2 MB)

Cấu trúc

  • I. THIẾT KẾ CÁC HỆ CSDL PHÂN TÁN (4)
    • 1.1. Mô hình cơ sở dữ liệu (4)
      • 1.1.1. Nhân Viên (4)
      • 1.1.2. Lương (4)
      • 1.1.3. Khách hàng (4)
      • 1.1.4. Loại sản phẩm (5)
      • 1.1.5. Sản phẩm (5)
      • 1.1.6. Nhà cung cấp (5)
      • 1.1.7. Đơn hàng (5)
      • 1.1.8. Chi tiết đơn hàng (6)
    • 1.2. Mô hình cơ sở dữ liệu tập trung (7)
    • 1.3. Thiết lập cơ sở dữ liệu (7)
    • 1. Tạo CSDL Websitebanoto (7)
    • 2. Tạo bảng Nhân viên (7)
    • 3. Tạo bảng Lương (8)
    • 4. Tạo bảng Khách hàng (8)
    • 5. Tạo bảng Loại sản phẩm (8)
    • 6. Tạo bảng Nhà cung cấp (8)
    • 7. Tạo bảng Sản phẩm (9)
    • 8. Tạo bảng Đơn hàng (9)
    • 9. Tạo bảng Chi tiết đơn hàng (9)
    • 10. Tạo Liên Kết Giữa Các Bảng Dữ Liệu (10)
      • 1.4. Cơ sở dữ liệu (10)
        • 1.4.1. Nhân Viên (10)
        • 1.4.2. Lương (11)
        • 1.4.3. Nhà cung cấp (11)
        • 1.4.4. Loại sản phẩm (11)
        • 1.4.5. Sản phẩm (11)
        • 1.4.6. Khách hàng (12)
        • 1.4.7. Đơn hàng (12)
        • 1.4.8. Chi tiết đơn hàng (12)
  • II. PHÂN MẢNH DỮ LIỆU (12)
    • 2.1. Phân mảnh ngang (12)
    • 2.2. Phân mảnh dọc (13)
    • 2.3. Phân mảnh hỗn hợp (14)
    • 2.4. Đồ thị phân mảnh và ảnh vật lý của quan hệ tổng thể (15)
  • III. TRUY VẤN PHÂN MẢNH VÀ TRUY VẤN TÁI THIẾT (16)
    • 3.1. Truy vấn phân mảnh (16)
      • 3.1.1. Truy vấn phân mảnh ngang (16)
      • 3.1.2. Truy vấn phân mảnh dọc (19)
      • 3.1.3. Truy vấn phân mảnh hỗn hợp (19)
  • IV. TỐI ƯU TRUY VẤN BẰNG THUẬT TOÁN INGRES (21)
    • 4.1. Cho biết tên loại sản phẩm Madaz và có giá tiền = 500000000 (21)
    • 4.2. Cho biết tên sản phẩm được nhập từ nhà cung cấp tại Hà Nội (21)
  • V. XÂY DỰNG CÂY ĐẠI SỐ QUAN HỆ VÀ RÚT GỌN CÂU TRUY VẤN20 1. Cho biết tên sản phẩm thuộc loại Rolls Roys và có giá > 400000000 (22)
    • 2. Đưa ra tên sản phẩm của NCC ở Hà Nội và được bán trong năm 202023 3. Đưa ra tên sản phẩm thuộc loại Honda, đã được bán ra ngày '19/10/2020' tổng hóa đơn >200000000 (25)

Nội dung

Quản lý bán ô tô Cơ sở dữ liệu phân tán UTT. Báo cáo môn cơ sở dữ liệu phân tán tại trường đại học công nghệ giao thông vận tải UTT. Chúc các bạn gặt hái được nhiều điểm cao trong kỳ thi của mình. Thân ái

THIẾT KẾ CÁC HỆ CSDL PHÂN TÁN

Mô hình cơ sở dữ liệu

Tên trường Kiểu Độ rộng Giải thích

Manv Varchar 50 Khóa chính, Mã nhân viên

Ngaylamviec Date Ngày làm việc

Sdt Varchar 50 Số điện thoại

Tên trường Kiểu Độ rộng Giải thích

Luongcoban Money Lương cơ bản

Tên trường Kiểu Độ rộng Giải thích

Makh Varchar 50 Khóa chính, Mã khách hàng

Sdt Varchar 50 Số điện thoại

Tên trường Kiểu Độ rộng Giải thích

Maloaisp Varchar 50 Khóa chính, Mã loại sản phẩm

Max Tên loại sản phẩm

Tên trường Kiểu Độ rộng Giải thích

Masp Varchar 50 Khóa chính, Mã sản phẩm

Max Tiêu đề sản phẩm

Maloaisp Varchar 50 Mã loại sản phẩm

Mancc Varchar 50 Mã nhà cung cấp gia Money Mã giá

Soluong Int Số lượng sản phẩm

Tên trường Kiểu Độ rộng Giải thích

Mancc Varchar 50 Khóa chính, Mã nhà cung cấp

Sdt Varchar 50 Số điện thoại

Tên trường Kiểu Độ rộng Giải thích

Madh Varchar 50 Khóa chính, Mã đơn hàng

Manv Varchar 50 Mã nhân viên

Makh Varchar 50 Mã khách hàng

Diachi Nvarcha Max Địa chỉ r

Tên trường Kiểu Độ rộng Giải thích

50 Khóa chính, Mã đơn hàng

50 Khóa chính, Mã sản phẩm

Gia Money Gía sản phẩm

Soluong Int Số lượng sản phẩm

Giamgia Money Tiền giảm giá

Tạo CSDL Websitebanoto

CREATE DATABASE Website_ bán ô tô

Tạo bảng Nhân viên

( manv VARCHAR (50) PRIMARY KEY NOT NULL, tennv NVARCHAR (50), ngaysinh DATE, ngaylamviec DATE, dichi NVARCHAR (Max), sdt VARCHAR (50), chucvu NVARCHAR(50),

Tạo bảng Lương

( chucvu NVARCHAR(50) PRIMARY KEY NOT NULL, luongcoban MONEY, phucap MONEY

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

Makh VARCHAR (50) PRIMARY KEY NOT NULL, tenkh NVARCHAR (50), dichi NVARCHAR (Max), sdt VARCHAR (50), email VARCHAR (50)

Tạo bảng Loại sản phẩm

( maloaisp VARCHAR (50) PRIMARY KEY NOT NULL, tenloaisp NVARCHAR (Max),

Tạo bảng Nhà cung cấp

( mancc VARCHAR (50) PRIMARY KEY NOT NULL, dichi NVARCHAR (Max), sdt VARCHAR (50)

Tạo bảng Sản phẩm

( masp VARCHAR (50) PRIMARY KEY NOT NULL, tensp NVARCHAR (50), maloaisp VARCHAR (50) NOT NULL, mancc VARCHAR (50) NOT NULL, soluong INT, gia MONEY ,

Tạo bảng Đơn hàng

( madh VARCHAR (50) PRIMARY KEY NOT NULL, manv VARCHAR ( 50) NOT NULL, makh VARCHAR (50) NOT NULL, dichi NVARCHAR (Max), ngaydat DATE, ngaygiao DATE

Tạo bảng Chi tiết đơn hàng

( madh VARCHAR (50) NOT NULL, masp VARCHAR (50) NOT NULL, gia MONEY, soluong INT, giamgia MONEY,

CONSTRAINT pk_chitietdonhang PRIMARY KEY (madh,masp)

Tạo Liên Kết Giữa Các Bảng Dữ Liệu

To establish relationships between tables in a database, the following foreign key constraints are implemented: The 'sanpham' table adds a foreign key constraint, 'fk_nhacungcap', linking 'mancc' to 'nhacungcap(mancc)', and 'fk_loaisp', connecting 'maloaisp' to 'loaisp(maloaisp)' The 'donhang' table includes 'fk_donhang_khachhang', which associates 'makh' with 'khachhang(makh)', and 'fk_donhang_nhanvien', linking 'manv' to 'nhanvien(manv)' Additionally, the 'chitietdonhang' table enforces 'fk_chitiet_donhang', connecting 'madh' to 'donhang(madh)', and 'fk_chitiet_sanpham', which links 'masp' to 'sanpham(masp)'.

PHÂN MẢNH DỮ LIỆU

Phân mảnh ngang

- Phân mảnh ngang quan hệ Luong được phân mảnh 3 mảnh theo lương cơ bản:

- Phân mảnh ngang quan hệ NhaCungCap được phân mảnh 3 mảnh theo các chức vụ:

 NCC1= σ diachi=Hà Nội ( NhaCungCap)

 NCC2= σ diachi=Hà Nam (NhaCungCap)

 NCC3= σ diachi=Nam Định (NhaCungCap)

- Phân mảnh ngang nguyên thủy trên quan hệ LoaiSP thành 4 mảnh ngang như sau:

- Phân mảnh ngang dẫn xuất trên quan hệ SanPham theo quan hệ LoaiSP thành 4 mảnh:

Phân mảnh dọc

- Quan hệ NhanVien được phân thành 3 mảnh dọc

 NhanVien1(Manv, Tennv, Ngaysinh, Sdt)

NV1 = π MaNV ,TenNV , Ngaysinh ,SDT ( NhanVien )

NV2 = π MaNV , Ngaylamviec , Diachi ( NhanVien )

NV3 = π MaNV ,Chucvu , Luong ( NhanVien )

Phân mảnh hỗn hợp

- Quan hệ SanPham phân mảnh hỗn hợp thành 4 mảnh:

 SP3 (MaSP, TenSP, Gia, SoLuong) với Gia 400000000

SP4 = σ Gia> 400000000 ( π MaSP, TenSP, SoLuong, Gia ( SanPham ))

Đồ thị phân mảnh và ảnh vật lý của quan hệ tổng thể

Sơ đồ định vị tại các trạm làm việc được chia thành 3 trạm:

 SITE 1: NV1, NV2, NV3, Luong1, Luong2, NCC1, LoaiSP1, LoaiSP4, SP1, SP3, DH

 SITE 2: NV3, Luong3, NCC2, NCC3, LoaiSP2, LoaiSP3, SP1, KH

 SITE 3: NV3, Luong3, NCC3, LoaiSP2, LoaiSP4, SP2, SP4, KH, CTDH

TRUY VẤN PHÂN MẢNH VÀ TRUY VẤN TÁI THIẾT

Truy vấn phân mảnh

3.1.1 Truy vấn phân mảnh ngang

 Truy vấn trên bảng lương

Phân mảnh luong1: select * into Luong1 from Luong where Luongcoban> 16000000

Phân mảnh luong2: select * into Luong1 from Luong where Luongcoban000000

Phân mảnh luong3: select * into Luong1 from Luong where Luongcoban< 16000000

Dễ thấy cách mảnh thỏa mãn được tính tái thiết, đầy đủ và tách biệt

Luong1 ⊆ Luong, Luong2 ⊆ Luong, Luong3 ⊆ Luong

Luong1 ∩ Luong2 = ∅ , Luong1 ∩ Luong3 = ∅ , Luong2 ∩ Luong3 = ∅

 Truy vấn trên bảng NhaCungCap

Phân mảnh NCC1: select * into NCC1 from NhaCungCap where diachi = 'Hà Nội'

Phân mảnh NCC2: select * into NCC1 from NhaCungCap where diachi = 'Hà Nam'

Phân mảnh NCC3: select * into NCC1 from NhaCungCap where diachi = 'Nam Định'

Dễ thấy cách mảnh thỏa mãn được tính tái thiết, đầy đủ và tách biệt

NCC1 ⊆ NhaCungCap, NCC2 ⊆ NhaCungCap, NCC3 ⊆ NhaCungCap

NCC1 ∩ NCC2 = ∅ , NCC1 ∩ NCC3 = ∅ , NCC2 ∩ NCC3 = ∅

 Truy vấn trên bảng LoaiSP

Phân mảnh LoaiSP1: select * into LoaiSP1 from LoaiSP where maLoaisp = 'RR'

Phân mảnh LoaiSP2: select * into LoaiSP1 from LoaiSP where maLoaisp = 'HD'

Phân mảnh LoaiSP3: select * into LoaiSP1 from LoaiSP where maLoaisp = 'TYT'

Phân mảnh LoaiSP4: select * into LoaiSP1 from LoaiSP where maLoaisp = 'MD'

Dễ thấy cách mảnh thỏa mãn được tính tái thiết, đầy đủ và tách biệt

LoaiSP1 ⊆ LoaiSP, LoaiSP2 ⊆ LoaiSP, LoaiSP3 ⊆ LoaiSP, LoaiSP4 ⊆ LoaiSP LoaiSP1 ∩ LoaiSP2 = ∅ , LoaiSP1 ∩ LoaiSP3= ∅ , LoaiSP1 ∩ LoaiSP4= ∅

LoaiSP2 ∩ LoaiSP3 = ∅ , LoaiSP2 ∩ LoaiSP4= ∅ , LoaiSP3 ∩ LoaiSP4= ∅

LoaiSP = LoaiSP1 ∪ LoaiSP2 ∪ LoaiSP3 ∪ LoaiSP4

3.1.2 Truy vấn phân mảnh dọc

 Truy vấn trên bảng NhanVien

Phân mảnh NV1: select Manv, Tennv, Ngaysinh,Sdt into NV1 from NhanVien

Phân mảnh NV2: select MaNV, Ngaylamviec, Diachi into NV2 from NhanVien

Phân mảnh NV3: select MaNV, Chucvu,Luong into NV3 from NhanVien

Dễ thấy cách mảnh thỏa mãn được tính tái thiết, đầy đủ và tách biệt

NV1 ⊆ NhanVien, NV2 ⊆ NhanVien, NV3 ⊆ NhanVien

NV1 ∩ NV2 = ∅ , NV1 ∩ NV3 = ∅ , NV3 ∩ NV2 = ∅

3.1.3 Truy vấn phân mảnh hỗn hợp

Phân mảnh SP1: select MaSP, MaLoaiSP into SP1 from SanPham

Phân mảnh SP2: select MaSP, TenSP, MaNCC into SP2 from SanPham

Phân mảnh SP3: select MaSP, TenSP, Gia, SoLuong into SP3 from SanPham where Gia 400000000

Dễ thấy cách mảnh thỏa mãn được tính tái thiết, đầy đủ và tách biệt

SP1 ⊆ SanPham, SP2 ⊆ SanPham, SP3 ⊆ SanPham, SP4 ⊆ SanPham

SanPham = SP1 ⋈ SP2 ⋈ (SP3 ∪ SP4)

SP1 ∩ SP2 = ∅ , SP1 ∩ SP3 = ∅ , SP1 ∩ SP4 = ∅ , SP2 ∩ SP3 = ∅ ,

 Tái thiết bảng NhanVien select * into NhanVien from NV1, NV2, NV3 where NV1.MaNV= NV2.MaNV and NV1.MaNV= NV3.MaNV

 Tái thiết bảng NhaCungCap select * into NhaCungCap from NCC1, NCC2, NCC3

 Tái thiết bảng Luong select * into Luong from Luong1, Luong2, Luong3

 Tái thiết bảng LoaiSP select * into LoaiSP from LoaiSP1, LoaiSP2, LoaiSP3, LoaiSP4

 Tái thiết bảng SanPham select * into SanPham from SP1, SP2, ( Select * From SP3 Union

Select * From SP4) as SP where SP1.MaSP= SP2.MaSP

AND (SP1.MaSP= SP.MaSP)

TỐI ƯU TRUY VẤN BẰNG THUẬT TOÁN INGRES

Cho biết tên loại sản phẩm Madaz và có giá tiền = 500000000

q: select tenloaisp from sanpham a, loaisp b where a.maloaisp=b.maloaisp

AND *b.maloaisp= 'MD') q1: select a.maloaisp into TG1 from sanpham a where gia= 500000000 q2: select tenloaisp from TG1, loaisp b where TG1.maloaisp=b.maloaisp q21: select tenloaisp from loaisp b where b.maloaisp = ‘MD’

Truy vấn q đã được rút gọn thành chuỗi truy vấn q1q2q21.

Cho biết tên sản phẩm được nhập từ nhà cung cấp tại Hà Nội

q: select a.tensp, a.masp from sanpham a, nhacungcap b where a.mancc=b.mancc

The SQL queries retrieve product names from a specific supplier located in Hanoi The first query selects the supplier ID from the 'nhacungcap' table where the address matches Hanoi The second query uses this supplier ID to fetch product names from the 'sanpham' table Additionally, a third query retrieves product names for a specific supplier identified as 'NCC1'.

 Truy vấn p đã được rút gọn thành chuỗi truy vấn q1q2q21.

XÂY DỰNG CÂY ĐẠI SỐ QUAN HỆ VÀ RÚT GỌN CÂU TRUY VẤN20 1 Cho biết tên sản phẩm thuộc loại Rolls Roys và có giá > 400000000

Đưa ra tên sản phẩm của NCC ở Hà Nội và được bán trong năm 202023 3 Đưa ra tên sản phẩm thuộc loại Honda, đã được bán ra ngày '19/10/2020' tổng hóa đơn >200000000

From Sanpham a, Donhang b, Chitietdonhang c, nhacungcap d

Cây đại số quan hệ ban đầu

Cây đại số quan hệ rút gọn

 Câu truy vấn sau khi rút gọn

From SP2, Donhang b, Chitietdonhang c, NCC1

AND (SP2.mancc=NCC1.mancc)

AND (NCC1.diachi = N'Hà Nội')

3 Đưa ra tên sản phẩm thuộc loại Honda, đã được bán ra ngày '19/10/2020' tổng hóa đơn >20000000

From Sanpham a, Chitietdonhang b, donhang c, loaisp d

Cây đại số ban đầu

Cây đại số rút gọn

 Câu truy vấn sau khi rút gọn

From SP1, Chitietdonhang b, donhang c, LoaiSP2

AND (SP1.maloaisp= LoaiSP2.maloaisp)

Ngày đăng: 12/01/2024, 21:58

TỪ KHÓA LIÊN QUAN

w