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

Báo cáo cơ sở dữ liệu nhóm

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 (1.53 MB, 29 trang )

<span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

2

<b>MỤC LỤC</b>

<b>Chương 1: Giới thiệu ... 3</b>

<b>Chương 2: Bài toán thực tế ... 4</b>

<b>Chương 3: Các chức năng hệ thống ... 6</b>

<b>Chương 4: Mơ hình thực thể liên kết ... 7</b>

<b>Chương 5: Thiết kế cơ sở dữ liệu ... 8</b>

<b>I.Mơ hình dữ liệu quan hệ ... 8</b>

<b>II.Mô tả cấu trúc bảng ... 9</b>

<b>III.Thao tác tạo lập trong SQL Server ... 10</b>

<b>IV.Mối quan hệ giữa các bảng ... 21</b>

<b>V.Các ràng buộc dữ liệu ... 22</b>

<b>Chương 6: Đại số quan hệ ... 24</b>

<b>Chương 7: Đánh giá kết quả ... 28</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

3

Chương 1: Giới thiệu

Trong bối cảnh ngày nay, ngành công nghiệp ô tô đang trải qua sự biến động mạnh mẽ do sự phát triển của công nghệ và nhu cầu thị trường ngày càng đa dạng. Để đáp ứng được những yêu cầu ngày càng cao của khách hàng cũng như nắm bắt cơ hội trong một môi trường cạnh tranh khốc liệt, việc quản lý thông tin hiệu quả trở thành một yếu tố then chốt. Trong bối cảnh này, việc xây dựng một cơ sở dữ liệu đồng nhất và linh hoạt là bước cơ bản và quan trọng trong q trình quản lý kinh doanh ơ tơ.

Báo cáo này tập trung vào việc thiết kế cơ sở dữ liệu để quản lý thông tin liên quan đến kinh doanh ô tô. Mục tiêu của chúng em là đề xuất một mơ hình cơ sở dữ liệu phù hợp, phản ánh chính xác các khía cạnh quản lý và vận hành trong ngành ô tô, từ việc quản lý thông tin sản phẩm đến hệ thống bán hàng và dịch vụ hậu mãi. Cơ sở dữ liệu chúng em tập trung chủ yếu vào việc quản lý quá trình hậu mua xe ơ tơ, cũng như là tập trung vào việc kiểm sốt q trình nhập và xuất ơ tơ. Kiểm sốt các hoạt động của các phịng ban trong việc quản lý vận hành kinh doanh ô tô.

Bằng cách này, chúng em hy vọng rằng báo cáo sẽ cung cấp một cơ sở tương đối vững chắc để tổ chức thơng tin và tối ưu hóa q trình quản lý, từ đó nâng cao hiệu suất và cạnh tranh cho các doanh nghiệp trong ngành ô tơ.

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

4

Chương 2: Bài tốn thực tế

Một công ty kinh doanh ô tô cần xây dựng 1 cơ sở dữ liệu để lưu trữ thơng tin của cơng ty nhằm mục đích quản lý các hoạt động của cơng ty của mình.

<b>Mơ tả cơ sở dữ liệu: </b>

Xét CSDL Quản lý Kinh doanh ô tô của công ty, cụ thể các thông tin như sau:

<small> </small> <b>Ơ tơ: Mỗi ơ tơ có một mã xe riêng để phân biệt, bao gồm các thông tin cơ bản: tên xe, </b>

loại xe, nơi sản xuất, năm sản xuất, giá niêm yết, phân khúc, số lượng, ngày nhập về. Ơ tơ được lưu trữ các thông tin về thông số kỹ thuật như: Động cơ, công suất, momen xoắn, hộp số, số chỗ ngồi.

<small> </small> <b>Bảo trì: Ngồi ra, ơ tơ cũng cần được bảo trì, mỗi lần bảo trì sẽ có mã bảo trì và mã xe </b>

riêng để phân biệt, bao gồm các thông tin: ngày thực hiện, đơn vị thực hiện.

<small> </small> <b>Ưu đãi: Mỗi ô tô khi mua sẽ có ưu đãi, mỗi ưu đãi có mã ưu đãi riêng để phân biệt, </b>

<b>bao gồm các thông tin: tên ưu đãi, tổng giá trị ưu đãi, mô tả. </b>

<small> </small> <b>Kho: Mỗi kho lưu trữ ơ tơ có mã kho riêng để phân biệt, bao gồm các thông tin: tên </b>

kho, địa điểm.

<small> </small> <b>Nhà cung cấp: Mỗi nhà cung cấp có mã cơng ty riêng để phân biệt, bao gồm thông tin </b>

về tên công ty và địa điểm.

<small> </small> <b>Hợp đồng: Mỗi hợp đồng có mã HĐ riêng để phân biệt, lưu trữ các thông tin: địa điểm, </b>

<b>số tiền cọc, thời gian, nội dung… </b>

<small> </small> <b>Nhân viên: Mỗi nhân viên có mã NV riêng để phân biệt, bao gồm các thông tin về họ </b>

<b>tên, địa chỉ, năm sinh, giới tính, email, SDT, tình trạng cơng việc, số lượng (xe đã bán). </b>

<small> </small> <b>Phịng ban: Mỗi phịng ban có tên phịng ban riêng để phân biệt, gồm các thông tin về </b>

<b>mã trưởng phòng và ngày nhận chức. </b>

<small> </small> <b>Đối tác: Mỗi đối tác có tên đối tác riêng để phân biệt, gồm thông tin về lĩnh vực hợp </b>

<b>tác. </b>

<small> </small> <b>Khách hàng: Mỗi khách hàng có mã KH để phân biệt, gồm các thông tin: họ tên, ngày </b>

sinh, địa chỉ, giới tính, nghề nghiệp, SĐT.

Và để đảm bảo các vấn đề về sau, CSDL cũng lưu trữ các thông tin về thân nhân bao gồm thông tin: họ tên, địa chỉ, tuổi, mối quan hệ với khách hàng.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

5

<small> </small> Ngoài ra ta cũng cần lưu trữ các thông tin về ngày, số lượng khi nhập ô tô từ nhà sản xuất; số lượng xe lưu trữ trong kho; khi mua xe ta cũng cần lưu ý tới hình thức thanh tốn; ngày bắt đầu, ngày kết thúc ưu đãi của ô tô. Ta cũng sẽ quản lý dữ liệu về ngày nhận chức của nhân viên trưởng phòng.

<small> </small> Mỗi ô tô (khác nhau về tên xe) chỉ có một thông số kỹ thuật duy nhất, mỗi thông số kỹ thuật chỉ có trên một ơ tơ.

<small> </small> Mỗi xe có một/nhiều ưu đãi, mỗi ưu đãi dành cho một/nhiều xe.

<small> </small> Mỗi ơ tơ có thể chưa có lịch sử bảo trì, hoặc đã có một hoặc nhiều lần bảo trì. Mỗi lần bảo trì chỉ cho một ô tô duy nhất.

<small> </small> Mỗi kho lưu trữ nhiều ô tô, mỗi ô tô lưu trữ ở một/ nhiều kho.

<small> </small> Mỗi nhà cung cấp cung cấp nhiều xe, mỗi xe chỉ được cung cấp bởi một nhà cung cấp duy nhất.

<small> </small> Một ô tơ có thể chưa được mua bởi khách hàng nào, chưa được bán bởi nhân viên nào, chưa thuộc hợp đồng nào, hoặc chỉ được mua bởi một khách hàng duy nhất, được bán bởi một nhân viên duy nhất và thuộc duy nhất một hợp đồng

<small> </small> Mỗi hợp đồng được ký bởi một khách hàng, một nhân viên, một ơ tơ duy nhất; mỗi khách hàng có thể mua một/ nhiều xe, ký một/nhiều hợp đồng

<small> </small> Một nhân viên có thể khơng ký hợp đồng, bán chiếc xe nào do khơng thuộc phịng bán hàng, hoặc ký một/nhiều hợp đồng, bán một/nhiều xe.

<small> </small> Mỗi khách hàng có một/nhiều thân nhân, mỗi thân nhân chỉ có mối quan hệ với một khách hàng duy nhất

<small> </small> Mỗi nhân viên làm việc cho một phịng ban duy nhất

<small> </small> Mỗi phịng ban có một trưởng phịng duy nhất, có nhiều nhân viên làm việc, hợp tác với một đối tác duy nhất

<small> </small> Mỗi đối tác chỉ hợp tác với một phòng ban.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

6

Chương 3: Các chức năng hệ thống

<i>Sơ đồ phân rã chức năng hệ thống </i>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

7

Chương 4: Mơ hình thực thể liên kết

Mơ hình thực thể liên kết của bài tốn như sau:

<i>Mơ hình thực thể liên kết </i>

Link: Mơ hình thực thể liên kết

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

8

Chương 5: Thiết kế cơ sở dữ liệu

<b>I. Mơ hình dữ liệu quan hệ </b>

<b> 1. ThanNhan (HoTen, MaKH, DiaChi, GioiTinh, Quanhe, Tuoi) </b>

<b>(MaKH vừa là khóa chính vừa là khóa ngoại) </b>

<b>2. KhachHang (MaKH, HoVaTen, NgheNghiep, NgaySinh, DiaChi, GioiTinh) 3.HopDong(MaHopDong,MaKH,MaNV,Sotiencoc,NoiDung,DiaDiem,Thoigian) 4. NhanVien (MaNV, TenPhongBan, HoTen, DiaChi, NgaySinh, Email, </b>

TinhTrangCongViec, GioiTinh)

<b>5. PhongBan (TenPhongBan, MaTruongPhong, NgayNhanChuc) 6. DoiTac (TenDT, LinhVuc, TenPB) </b>

<b>7. Oto (MaXe, MaCongTyCC, LoaiXe, NoiSanXuat, GiaNiemYet, NamSanXuat, TenXe, </b>

PhanKhuc, SoLuong, NgayNhapVe)

<b>8. KhachHang_MuaXe (MaXe, MaKH, SoLuong, PhuongThucThanhToan) </b>

<b>(MaXe, MaKH vừa là khóa chinh vừa là khóa ngoại tham chiếu đến các bảng có liên quan) </b>

<b>9. HopDong_Xe (MaXe, MaHopDong, SoLuong) (n-n giữa hợp đồng và Oto ) </b>

<b>(MaXe, MaHD vừa là khóa chinh vừa là khóa ngoại tham chiếu đến các bảng có liên quan) </b>

<b>10. NhanVien_BanXe (MaXe, MaNV, SoLuongXe) (n-n giữa Nhân viên và ô tơ ) </b>

<b>(MaXe, MaNhanVien vừa là khóa chinh vừa là khóa ngoại tham chiếu đến các bảng có liên quan) </b>

<b>11. BaoTriBaoDuong (MaBaoTri, MaXe, NgayThucHien, DonViSuaChua) 12. UuDai (MaUuDai, TenUuDai, MoTa, TongGiatri) </b>

<b>13. UuDai_Xe (MaUuDai, MaXe, NgayBatDau, NgayKetThuc) ( n-n giữa Ưu đãi và Ơ tơ ) </b>

<b>(MaXe, MaUuDai vừa là khóa chinh vừa là khóa ngoại tham chiếu đến các bảng có liên quan) </b>

<b>14. NhaCungCap (MaCongTy,TenCongTy, DiaDiem) </b>

<b>15. ThongSoKyThuat (MaXe,SoCho, DongCo, HopSo,CongSuat,MomenXoan) </b>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>(MaNV vừa là khóa chính vừa là khóa ngoại) </b>

<b>18. Kho (MaKho, TenKho, DiaDiem) </b>

<b>19. Kho_LuuTru (MaXe, MaKho, SoLuongXe) </b>

<b>(MaXe,MaKho vừa là khóa chính vừa là khóa ngoại tham chiếu đến các bảng tương ứng) </b>

II. <b>Mô tả cấu trúc bảng </b>

Dựa vào quy trình nghiệp vụ đã nêu, chúng ta cần thiết kế CSDL để lưu trữ các thông tin sau: 1. Bảng Thơng tin chính của ơ tô: Lưu trữ thông tin tên xe, mã xe, ngày nhập về, loại xe,

năm sản xuất, giá niêm yết, nơi sản xuất, phân khúc, số lượng, mã công ty cung cấp. 2. Bảng Thông số kỹ thuật của ô tô: Lưu trữ thông tin mã xe, động cơ, công suất (mã lực),

momen xoắn(Nm), hộp số, số chỗ.

3. Bảng Hợp đồng: mã hợp đồng, mã khách hàng, mã nhân viên, nội dung, thời gian, địa điểm, số tiền cọc.

4. Bảng Ơ tơ_Hợp đồng: Lưu trữ thông tin mã xe, mã hợp đồng, số lượng.

5. Bảng Thơng tin chính của khách hàng: Lưu trữ thông tin mã khách hàng, họ tên, nghề nghiệp, giới tính, ngày sinh, địa chỉ.

6. Bảng Khách hàng_Mua: Lưu trữ thông tin mã khách hàng, mã xe, số lượng, phương thức thanh toán.

7. Bảng KH_SĐT: Lưu trữ thông tin mã khách hàng, số điện thoại.

8. Bảng Thân nhân: Lưu trữ thông tin họ tên, quan hệ, mã khách hàng, tuổi, địa chỉ, giới tính.

9. Bảng Thơng tin chính của Nhân viên: Lưu trữ thông tin mã nhân viên, họ tên, địa chỉ, ngày sinh, email, tình trạng cơng việc, giới tính, tên phịng ban.

10. Bảng Nhân viên_Bán: Lưu trữ thông tin mã nhân viên, mã xe, số lượng. 11. Bảng Nhân viên_SĐT: Lưu trữ thông tin mã nhân viên, số điện thoại.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

10 12. Bảng Bảo trì: Lưu trữ thơng tin mã bảo trì, mã xe, ngày thực hiện, đơn vị sửa chữa. 13. Bảng Thơng tin chính của phịng ban: Lưu trữ thông tin tên phòng ban, mã trưởng

phòng, ngày nhận chức.

14. Bảng đối tác: Lưu trữ thông tin tên của công ty đối tác, lĩnh vực, tên phịng ban. 15. Bảng Kho lưu trữ: Lưu trữ thơng tin mã xe, mã kho, số lượng xe.

16. Bảng Thơng tin chính của kho: Lưu trữ thơng tin mã kho, tên kho, địa điểm.

17. Bảng Thơng tin chính của ưu đãi: Lưu trữ thông tin mã ưu đãi, tên ưu đãi, mô tả, tổng giá trị.

18. Bảng Ưu đãi_Áp dụng: Lưu trữ thông tin mã xe, mã ưu đãi, ngày bắt đầu, ngày kết thúc.

19. Bảng Nhà cung cấp: Lưu trữ thông tin mã công ty, tên công ty, địa điểm.

<b>III. Thao tác tạo lập trong SQL Server </b>

Bước đầu, tạo lược đồ để chuẩn bị tạo lập các bảng:

<b>1. Bảng Thông tin chính của ơ tơ </b>

 ThongTinChinh (OTO) (MaXe, TenXe, LoaiXe, NamSanXuat, NoiSanXuat,

<b>PhanKhuc, GiaNiemYet, NgayNhapVe, SoLuong, MaCTyCungCap) </b>

 Tạo bảng bằng SQL Server

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

13

 Thông số bảng

<b>5. Bảng Thơng tin chính của khách hàng </b>

 ThongTinChinh (KH) (MaKH, HoVaTen, NgheNghiep, NgaySinh, GioiTinh, DiaChi)

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

15

 Thông số bảng

<b>9. Bảng Thơng tin chính của Nhân viên </b>

 ThongTinChinh (NV) (MaNV, HoTen, GioiTinh, NgaySinh, DiaChi, Email,

<b>TinhTrangCongViec, PhongBan) </b>

 Tạo bảng bằng SQL Server

 Thông số bảng

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

DoiTac (PB)- ThongTinChinh (PB).

 <b>(1,n) </b>

NhaCungCap (OTO)-ThongTinChinh (OTO), ThongTinChinh (OTO)- ThongTinChinh (KHO), ThongTinChinh (KHO)- ThongTinChinh (OTO), ThanNhan(KH)-ThongTinChinh (KH),

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

22 ThongTinChinh (KH)- ThongTinChinh (OTO),

2. Ràng buộc khóa phụ: đảm bảo sự liên kết giữa các bảng

- VD: trong bảng HopDong (NV) có khóa phụ là MaKH và MaNV  hai thuộc tính giúp bảng HopDong (NV) có thể liên kết thông tin với hai bảng ThongTinChinh (NV) và ThongTinChinh (KH) cũng như hai bảng đó có thể liên kết thơng tin với nhau qua bảng HopDong (NV).

3. Ràng buộc NULL: giá trị trong cột có thể được để rỗng như NgheNghiep, PhuongThucThanhToan, …

4. Ràng buộc UNIQUE: tất cả giá trị trong một cột phải khác nhau ngồi các khoa chính cịn một số thuộc tính khác như SDT, Email, …

5. Ràng buộc miền logic:

 Tuoi > 0

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

23

 Ngày : từ 1  31

 Tháng: từ 1  12 6. Ràng buộc miền giá trị:

 Trong bảng ApDung (UuDai): NgayBatDau < NgayKetThuc

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

24

Chương 6: Đại số quan hệ

<b>1. Hãy liệt kê tên trưởng phòng và tên phòng ban tương ứng: </b>

Π<small>NhanVien.HoTen,PhongBan.TenPhongBan</small>(NhanVien ⋈ PhongBan))

<b>2. Liệt kê tên xe bán được trong tháng 3/2022: </b>

 SQL :

<small>OTT.TenXe </small>

<small>OTO.ThongTinChinh OTT </small>

<small>INNERJOIN OTO.TT_HopDong OTHD </small>

<small>ON OTT.MaXe = OTHD.MaXe </small>

<small>INNERJOIN NV.HopDong NVHD </small>

<small>ON NVHD.MaHopDong = OTHD.MaHopDong </small>

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

25

<small>OTT.MaXe,OTT.TenXe,K.SoLuong </small>

<small>OTO.ThongTinChinh OTT </small>

<small>INNERJOIN Kho.LuuTru K </small>

<small>ON K.MaXe = OTT.MaXe </small>

 ĐSQH:

Π<small>MaXe,TenXe,SoLuongXe</small> (Oto ⋈ Kho_LuuTru)

<b>4. Liệt kê tất cả những mã ưu đãi đã từng được áp dụng cho xe ơ tơ có mã là ‘X0001’: </b>

 SQL:

<small>SELECT </small>

<small>UD.MaSo </small>

<small>OTO.ThongTinChinh OTT </small>

<small>INNERJOIN UuDai.ApDung UD </small>

<small>ON OTT.MaXe = UD.MaXe </small>

<small>OTT.MaXe ='X0001' </small>

 ĐSQH:

Π<small>UuDai.MaUuDai</small>(ϭ<small>MaXe = ‘X0001’</small>(OTO ⋈ UuDai_Xe))

<b>5. Liệt kê những nhân viên không bán được xe nào hoặc là không bán xe </b>

<small>NV.HoTen </small>

<small>NV.ThongTinChinh NV </small>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

26

<small>INNERJOIN NV.Ban NVB </small>

<small>ON NV.MaNV = NVB.MaNV </small>

 ĐSQH:

(Π<small>HoTen</small>(NhanVien)) – (Π<small>HoTen</small>(NhanVien ⋈ NhanVien_BanXe)

<b>6. Liệt kê giá niêm yết cao nhất: </b>

Y<small>MaXe,Max(GiaNiemYet)Max(Gia)</small>(OTO)

<b>7. Lấy thơng tin các đối tác hợp tác với phịng ban ‘Marketing’: </b>

ϭ<small>TenCongTy,LinhVuc</small>(PhongBan ⋈ DoiTac)

<b>8. Liệt kê thông số kỹ thuật của xe: </b>

 SQL:

<small>SELECT </small>

<small>COUNT(*) </small>

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

27

<small>FROM </small>

<small>NV.ThongTinChinh </small>

 ĐSQH:

Y<small>COUNT(MaNhanVien)DemSoLuongNV</small> (NhanVien)

<b>9. Liệt kê tên khách hàng và tên những thân nhân có tuổi > 20: </b>

Π<small>KhachHang.HoTen,ThanNhan.HoTen</small>(ϭ<small>ThanNhan.Tuoi > 20</small>(KhachHang ⋈ ThanNhan))

<b>10. Sắp xếp bảng Nhân viên theo tên nhân viên: </b>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

28

Chương 7: Đánh giá kết quả

<b>hoàn thành </b>

1 20227264 Nguyễn Thế Thiện Trưởng nhóm, thiết kế cơ sở dữ liệu, đại số quan hệ

A 2 20227191 Nguyễn Tuấn Dũng Đại số quan hệ, tìm kiếm data A 3 20227248 Đặng Kim Ngân Thiết kế cớ sở dữ liệu, tìm

kiếm data, viết báo cáo

A 4 20227043 Nguyễn Thị Hương Giang Thiết kế cơ sở dữ liệu, viết báo

cáo

A 5 20227122 Trương Thị Hường Tìm kiếm dữ liệu A

1 20227264 Nguyễn Thế Thiện 2 20227191 Nguyễn Tuấn Dũng

4 20227043 Nguyễn Thị Hương Giang 5 20227122 Trương Thị Hường

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

29

</div>

×