1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề tài 14 xây dựng csdl cho phần mềm quản lý dịch vụ cho thuê Áo cưới

48 5 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Xây Dựng CSDL Cho Phần Mềm Quản Lý Dịch Vụ Cho Thuê Áo Cưới
Tác giả Trần Kim Cương, Phạm Minh Hiếu, Đoàn Duy Đường, Đặng Phúc Đình, Trần Quang Huy
Người hướng dẫn Nguyễn Thị Thúy Nga
Trường học Trường Đại Học Công Nghệ Đông Á
Chuyên ngành Công Nghệ Thông Tin
Thể loại bài tập lớn
Năm xuất bản 2024-2025
Thành phố Bắc Ninh
Định dạng
Số trang 48
Dung lượng 661,21 KB

Cấu trúc

  • Chương 1: Tổng quan về đề tài (8)
    • 1.1. Giới thiệu đề tài (8)
    • 1.2. Kế hoạch thực hiện đề tài: Xây dựng CSDL cho phần mềm quản lý dịch vụ cho thuê áo cưới (8)
    • 1.3. Các công nghệ sử dụng (10)
    • 1.4. Kết luận (11)
  • Chương 2: Khảo sát và phân tích (13)
    • I. Mô tả ứng dụng thực tế (13)
    • II. Mô tả chức năng của ứng dụng (15)
    • III. Danh sách các thực thể và thuộc tính (20)
    • IV. Sơ đồ liên kết ER (24)
    • V. Mô tả cấu trúc chi tiết các bảng dữ liệu (27)
  • Chương 3: Xây dựng các câu lệnh (30)
    • I. Tạo các bảng (30)
    • II. Các câu lệnh (32)
    • III. Kết quả thực nghiệm chương trình (38)
  • Chương 4: Kết luận (46)
    • I. Kết quả đạt được (46)
    • II. Nội dung chưa đạt được (46)
  • Kết luận (47)
  • Tài liệu tham khảo (47)

Nội dung

Hệ thống sẽ hỗ trợ lưu trữ thông tin về áo cưới, khách hàng, hợp đồng thuê, lịch trình giao nhận, và các hoạt động bảo dưỡng áo cưới.Mục tiêu chính của đề tài bao gồm: 1.. Xây dựng các b

Tổng quan về đề tài

Giới thiệu đề tài

Trong bối cảnh ngành dịch vụ cưới phát triển mạnh mẽ, việc tối ưu hóa quy trình quản lý dịch vụ cho thuê áo cưới trở nên cấp thiết Các cửa hàng cần quản lý hiệu quả lượng lớn sản phẩm và khách hàng, đồng thời đảm bảo quy trình đặt thuê, trả áo và bảo dưỡng diễn ra chính xác Điều này tạo ra thách thức lớn trong việc giảm thiểu sai sót, tiết kiệm thời gian và nâng cao trải nghiệm khách hàng Đề tài "Xây dựng cơ sở dữ liệu cho phần mềm quản lý dịch vụ cho thuê áo cưới" nhằm giải quyết vấn đề này bằng cách thiết kế hệ thống quản lý dữ liệu chặt chẽ, minh bạch và dễ sử dụng, hỗ trợ lưu trữ thông tin về áo cưới, khách hàng, hợp đồng thuê, lịch trình giao nhận và các hoạt động bảo dưỡng Mục tiêu chính của đề tài bao gồm việc cải thiện hiệu quả quản lý và nâng cao sự hài lòng của khách hàng.

1 Thiết kế cấu trúc cơ sở dữ liệu: Đảm bảo tính nhất quán, hiệu quả và khả năng mở rộng của hệ thống.

2 Xây dựng các bảng dữ liệu và mối quan hệ: Phù hợp với các yêu cầu nghiệp vụ thực tế, bao gồm quản lý áo cưới, khách hàng, nhân viên, và các giao dịch thuê.

3 Tích hợp các chức năng quản lý dữ liệu: Phục vụ việc tra cứu, cập nhật và báo cáo thông tin một cách nhanh chóng.

4 Tăng cường khả năng bảo mật dữ liệu: Đảm bảo quyền truy cập phù hợp và bảo vệ thông tin quan trọng của cửa hàng và khách hàng.

Hệ thống cơ sở dữ liệu được thiết kế trong đề tài sẽ hỗ trợ phần mềm quản lý dịch vụ cho thuê áo cưới, giúp doanh nghiệp hoạt động hiệu quả hơn, nâng cao chất lượng phục vụ và tăng cường tính cạnh tranh trên thị trường.

Kế hoạch thực hiện đề tài: Xây dựng CSDL cho phần mềm quản lý dịch vụ cho thuê áo cưới

vụ cho thuê áo cưới Để đảm bảo đề tài được triển khai hiệu quả, kế hoạch thực hiện được chia thành các giai đoạn như sau:

Trong giai đoạn chuẩn bị, nhóm nghiên cứu tài liệu về quản lý dịch vụ cho thuê áo cưới và thực hiện khảo sát tại các cửa hàng để thu thập yêu cầu nghiệp vụ Họ phân tích các chức năng chính cần quản lý, bao gồm áo cưới, khách hàng, nhân viên, hợp đồng thuê và lịch sử giao dịch Kết quả cuối cùng của giai đoạn này là tài liệu yêu cầu và đặc tả hệ thống.

Giai đoạn phân tích và thiết kế bao gồm việc phân tích các thực thể và mối quan hệ, từ đó xây dựng mô hình ERD (Entity Relationship Diagram) Quá trình này cũng chú trọng vào việc chuẩn hóa cơ sở dữ liệu nhằm giảm thiểu dư thừa dữ liệu Ngoài ra, việc lập sơ đồ dữ liệu vật lý với các bảng, trường và kiểu dữ liệu tương ứng là rất quan trọng, đồng thời đánh giá thiết kế để đảm bảo đáp ứng đầy đủ yêu cầu nghiệp vụ.

Trong giai đoạn triển khai và thử nghiệm, nhóm sử dụng hệ quản trị cơ sở dữ liệu

Sử dụng MySQL, SQL Server hoặc PostgreSQL để triển khai bảng và mối quan hệ, đồng thời nhập dữ liệu thử nghiệm nhằm kiểm tra tính toàn vẹn và nhất quán Các truy vấn SQL cơ bản như INSERT, UPDATE, DELETE và SELECT được viết để kiểm tra hoạt động của hệ thống, bao gồm các trường hợp cụ thể như thêm mới, cập nhật, xóa và tìm kiếm dữ liệu.

Giai đoạn tích hợp và tối ưu hóa là rất quan trọng để hoàn thiện hệ thống và đảm bảo hiệu suất hoạt động tối ưu Nhóm thực hiện tích hợp cơ sở dữ liệu với giao diện phần mềm, tối ưu hóa truy vấn và cấu trúc bảng nhằm tăng tốc độ xử lý, đồng thời thiết lập cơ chế sao lưu và khôi phục dữ liệu, bảo đảm các tiêu chí bảo mật như phân quyền truy cập và mã hóa dữ liệu quan trọng Giai đoạn đánh giá và hoàn thiện là bước cuối cùng, trong đó nhóm viết báo cáo tổng kết đề tài với các phần mục tiêu, phương pháp, kết quả và đánh giá, thực hiện các chỉnh sửa cuối cùng dựa trên phản hồi từ giảng viên hướng dẫn, và chuẩn bị nội dung cùng tài liệu để thuyết trình và bảo vệ đề tài trước hội đồng.

Nguồn lực thực hiện dự án bao gồm nhân lực như thành viên nhóm và giảng viên hướng dẫn, công cụ như hệ quản trị cơ sở dữ liệu (MySQL, SQL Server, PostgreSQL) và phần mềm vẽ sơ đồ (Visio, Lucidchart), cùng với tài liệu tham khảo như sách và bài báo về thiết kế cơ sở dữ liệu cũng như tài liệu hướng dẫn sử dụng phần mềm quản lý cơ sở dữ liệu.

Kết quả dự kiến của kế hoạch là xây dựng một cơ sở dữ liệu toàn diện, đáp ứng hiệu quả các yêu cầu nghiệp vụ Bên cạnh đó, sẽ có báo cáo chi tiết về quá trình nghiên cứu, thiết kế và triển khai, kèm theo các đề xuất cải tiến và mở rộng hệ thống cho tương lai.

Các công nghệ sử dụng

1 SQL (Structured Query Language): o Là ngôn ngữ chính được sử dụng để thiết kế, triển khai, và quản lý cơ sở dữ liệu trên MySQL, SQL Server, hoặc PostgreSQL. o Bao gồm các câu lệnh cơ bản:

DDL (Data Definition Language): CREATE TABLE, ALTER TABLE, DROP TABLE để tạo và chỉnh sửa cấu trúc cơ sở dữ liệu.

DML (Data Manipulation Language): INSERT, UPDATE, DELETE để thao tác dữ liệu.

DQL (Data Query Language): SELECT để truy vấn dữ liệu từ cơ sở dữ liệu.

DCL (Data Control Language): GRANT, REVOKE để quản lý quyền truy cập vào dữ liệu.

2 Công cụ tích hợp: o MySQL Workbench (cho MySQL): Công cụ trực quan để thiết kế và quản lý cơ sở dữ liệu. o SQL Server Management Studio (SSMS) (cho SQL Server): Môi trường làm việc tích hợp để quản lý SQL Server. o pgAdmin (cho PostgreSQL): Công cụ phổ biến để thao tác với cơ sở dữ liệu PostgreSQL.

3 Ngôn ngữ lập trình hỗ trợ: o Các ngôn ngữ như Python, PHP, hoặc C# có thể được sử dụng để tạo ứng dụng kết nối cơ sở dữ liệu, giúp quản lý và hiển thị dữ liệu dễ dàng hơn. o Các thư viện hoặc framework hỗ trợ:

Python: psycopg2 (PostgreSQL), pyodbc (SQL Server), mysql- connector (MySQL).

4 Tích hợp bảo mật: o Sử dụng các chức năng bảo mật của MySQL, SQL Server, và PostgreSQL để phân quyền truy cập:

Tạo tài khoản người dùng và giới hạn quyền (chỉ đọc, thêm, sửa, xóa).

Mã hóa dữ liệu nhạy cảm như thông tin khách hàng, hợp đồng thuê.

5 Mô hình hóa và tối ưu hóa cơ sở dữ liệu: o Thiết kế mô hình quan hệ (Relational Model) với các công cụ như MySQL Workbench hoặc pgAdmin để vẽ sơ đồ ERD và chuẩn hóa dữ liệu. o Sử dụng các tính năng tối ưu hóa như chỉ mục (Indexes), bộ nhớ đệm (Caching) và tối ưu hóa truy vấn (Query Optimization) để tăng hiệu suất trên MySQL, SQL Server, hoặc PostgreSQL.

6 Triển khai thử nghiệm: o Cài đặt cơ sở dữ liệu trên một môi trường thử nghiệm để kiểm tra tính toàn vẹn và hiệu quả của các bảng, mối quan hệ, và truy vấn. o Thực hiện sao lưu (Backup) và khôi phục (Restore) để đảm bảo dữ liệu luôn an toàn trước các rủi ro.

Hệ thống cho thuê áo cưới sẽ được nâng cao khả năng quản lý dữ liệu nhờ vào sự hỗ trợ của MySQL, SQL Server, hoặc PostgreSQL, đảm bảo tính nhất quán và độ tin cậy cao Điều này cho phép hệ thống dễ dàng mở rộng để đáp ứng các yêu cầu thực tế của dịch vụ.

Kết luận

Đề tài "Xây dựng cơ sở dữ liệu cho phần mềm quản lý dịch vụ cho thuê áo cưới" tập trung vào việc giải quyết các vấn đề quan trọng trong quản lý dữ liệu của ngành dịch vụ này Việc thiết kế và triển khai một hệ thống cơ sở dữ liệu chặt chẽ giúp doanh nghiệp tối ưu hóa quy trình vận hành và nâng cao hiệu quả quản lý thông tin sản phẩm, khách hàng và giao dịch Hệ thống cơ sở dữ liệu được xây dựng trên nền tảng MySQL, SQL Server, hoặc PostgreSQL, đảm bảo đáp ứng tốt các yêu cầu nghiệp vụ từ lưu trữ, truy xuất đến bảo mật dữ liệu Hệ thống không chỉ đảm bảo độ tin cậy và hiệu suất cao mà còn tạo điều kiện cho việc tích hợp với các phần mềm quản lý hiện đại, giúp doanh nghiệp dễ dàng mở rộng và phát triển dịch vụ.

Đề tài này mang lại giải pháp công nghệ tối ưu, giúp doanh nghiệp nâng cao quản lý, giảm sai sót, tiết kiệm chi phí và cải thiện trải nghiệm khách hàng Đồng thời, đây là nền tảng để phát triển các chức năng tiên tiến trong tương lai, góp phần thúc đẩy sự phát triển của ngành dịch vụ cho thuê áo cưới.

Khảo sát và phân tích

Mô tả ứng dụng thực tế

Lưu trữ thông tin khách hàng bao gồm tên, số điện thoại, email và địa chỉ giúp dễ dàng tra cứu dữ liệu của khách hàng cũ, phục vụ cho các chương trình ưu đãi và hỗ trợ sau thuê.

Ứng dụng thực tế của hệ thống quản lý khách hàng cho phép nhân viên tra cứu thông tin khách hàng nhanh chóng khi họ quay lại thuê dịch vụ Ngoài ra, việc tạo danh sách khách hàng thân thiết giúp doanh nghiệp áp dụng chính sách giảm giá hiệu quả, từ đó tăng cường mối quan hệ với khách hàng và khuyến khích họ quay lại sử dụng dịch vụ.

Theo dõi tình trạng váy cưới là rất quan trọng để quản lý kho hiệu quả Bạn nên lưu trữ thông tin chi tiết về từng chiếc váy như tên, kích cỡ, màu sắc, giá thuê và trạng thái (Còn hàng hoặc Hết hàng) Việc này giúp bạn biết chính xác chiếc váy nào đang được thuê hoặc cần sửa chữa, từ đó đảm bảo quy trình cho thuê diễn ra suôn sẻ.

Ứng dụng thực tế trong ngành thời trang cho phép nhân viên nhanh chóng kiểm tra tình trạng hàng hóa khi khách hàng yêu cầu váy với kích cỡ và màu sắc cụ thể Đồng thời, việc theo dõi mức độ phổ biến của từng loại váy giúp cửa hàng nhập hàng một cách hợp lý và đáp ứng nhu cầu thị trường hiệu quả hơn.

 Lưu trữ thông tin nhân viên: o Ghi lại tên, số điện thoại, email và chức vụ (quản lý hoặc nhân viên).

 Phân công nhiệm vụ: o Mỗi hợp đồng thuê váy được gắn với một nhân viên phụ trách.

Ứng dụng thực tế giúp dễ dàng theo dõi hiệu suất công việc của từng nhân viên, đồng thời quản lý lịch làm việc và phân công công việc một cách hiệu quả dựa trên số lượng hợp đồng.

4 Quản lý hợp đồng thuê váy

 Lưu thông tin hợp đồng: o Ngày thuê, ngày trả, tổng tiền thuê, và thông tin liên quan.

 Liên kết khách hàng và nhân viên: o Hợp đồng gắn kết thông tin khách hàng, nhân viên phụ trách, và chi tiết váy thuê.

Cửa hàng có thể quản lý hiệu quả bằng cách xem danh sách hợp đồng theo từng ngày, tháng hoặc theo từng khách hàng Điều này giúp theo dõi các hợp đồng còn hiệu lực, từ đó chuẩn bị váy trước khi khách hàng trả lại.

5 Chi tiết hợp đồng thuê váy

 Ghi nhận từng váy trong hợp đồng: o Chi tiết mã váy, số ngày thuê, và giá thuê cho từng váy.

Trong ứng dụng thực tế, người dùng có thể kiểm tra danh sách các váy đã thuê trong một hợp đồng để chuẩn bị giao hàng Bên cạnh đó, hệ thống tự động tính toán tổng tiền thuê dựa trên giá của từng váy và số ngày thuê, giúp tiết kiệm thời gian và nâng cao hiệu quả quản lý.

6 Báo cáo và thống kê

 Tổng doanh thu: o Hệ thống có thể tổng hợp doanh thu theo ngày, tuần, tháng, hoặc theo từng khách hàng.

 Phân tích hiệu suất: o Thống kê số lượng váy được thuê nhiều nhất, hoặc nhân viên nào ký nhiều hợp đồng nhất.

Chủ cửa hàng có thể sử dụng dữ liệu để đưa ra quyết định kinh doanh hiệu quả, như xác định mẫu váy nào được ưa chuộng nhất và thời điểm cao điểm trong năm để cho thuê váy.

7 Cải thiện trải nghiệm khách hàng

 Đặt chỗ trước: o Hệ thống có thể mở rộng để cho phép khách hàng đặt váy trước online.

 Nhắc nhở: o Gửi thông báo nhắc nhở ngày trả váy qua email hoặc tin nhắn.

 Ứng dụng thực tế: o Nâng cao trải nghiệm khách hàng bằng dịch vụ nhanh chóng và tiện lợi. o Giảm thiểu tình trạng trễ hạn trả váy.

Hệ thống có thể được mở rộng để hỗ trợ thêm các chức năng như:

 Thanh toán trực tuyến: Ghi nhận các khoản thanh toán qua thẻ hoặc ví điện tử.

 Quản lý bảo trì váy: Theo dõi lịch giặt ủi hoặc sửa chữa váy.

 Ứng dụng di động: Tạo app để khách hàng tra cứu thông tin và đặt thuê trực tuyến.

Mô tả chức năng của ứng dụng

1 Quản lý khách hàng Ứng dụng hỗ trợ quản lý toàn bộ thông tin liên quan đến khách hàng, giúp việc lưu trữ, tìm kiếm và chăm sóc khách hàng trở nên thuận tiện.

Các chức năng chi tiết:

1 Thêm khách hàng mới: o Nhập thông tin khách hàng bao gồm:

 Tên khách hàng (bắt buộc).

 Số điện thoại (bắt buộc, định dạng số).

 Địa chỉ (tùy chọn). o Thông tin được lưu vào bảng KHACH_HANG.

2 Sửa thông tin khách hàng: o Cho phép chỉnh sửa các thông tin đã lưu, chẳng hạn:

 Thay đổi số điện thoại khi khách hàng cập nhật.

 Bổ sung email hoặc địa chỉ khi cần.

3 Xóa khách hàng: o Loại bỏ thông tin khách hàng không cần thiết hoặc không còn sử dụng. o Ràng buộc để không xóa khách hàng nếu liên quan đến các hợp đồng hiện tại.

4 Tìm kiếm khách hàng: o Tìm kiếm thông tin khách hàng nhanh chóng theo các tiêu chí:

 Tên khách hàng (hoặc một phần tên).

 Email. o Hỗ trợ tìm kiếm không phân biệt chữ hoa/thường.

Chức năng giúp quản lý danh mục váy cưới, theo dõi tình trạng và giá thuê của từng sản phẩm.

Các chức năng chi tiết:

1 Thêm váy cưới mới: o Nhập thông tin váy cưới bao gồm:

 Kích cỡ (bắt buộc, ví dụ: S, M, L).

 Giá thuê mỗi ngày (bắt buộc).

 Trạng thái (Còn hàng hoặc Hết hàng). o Lưu thông tin vào bảng VAY_CUOI.

2 Cập nhật thông tin váy: o Chỉnh sửa thông tin váy khi có thay đổi:

 Cập nhật trạng thái váy:

 Còn hàng: Váy có sẵn để thuê.

 Hết hàng: Váy đang thuê hoặc cần bảo trì.

3 Xóa váy cưới: o Xóa váy không còn sử dụng, với ràng buộc không xóa nếu váy liên quan đến hợp đồng hiện tại.

4 Tìm kiếm váy cưới: o Tìm váy theo các tiêu chí:

 Khoảng giá thuê. o Hiển thị danh sách váy phù hợp cùng trạng thái.

5 Theo dõi tình trạng váy: o Hiển thị danh sách váy theo trạng thái:

 Váy còn trong kho. Ứng dụng quản lý thông tin nhân viên, đảm bảo phân quyền và theo dõi hiệu suất làm việc.

Các chức năng chi tiết:

1 Thêm nhân viên mới: o Nhập thông tin nhân viên bao gồm:

 Tên nhân viên (bắt buộc).

 Số điện thoại (bắt buộc).

 Chức vụ (Quản lý, Nhân viên). o Lưu vào bảng NHAN_VIEN.

2 Sửa thông tin nhân viên: o Cập nhật thông tin nhân viên khi có thay đổi, như:

 Thay đổi số điện thoại.

3 Xóa nhân viên: o Xóa nhân viên không còn làm việc, với ràng buộc không xóa nếu nhân viên liên quan đến hợp đồng hiện tại.

Chức năng chính để tạo và theo dõi hợp đồng thuê váy cưới.

Các chức năng chi tiết:

1 Tạo hợp đồng mới: o Nhập thông tin hợp đồng bao gồm:

 Khách hàng thuê (liên kết với ID trong bảng KHACH_HANG).

 Nhân viên phụ trách (liên kết với ID trong bảng NHAN_VIEN).

 Ngày thuê và ngày trả váy.

 Tổng tiền thuê. o Lưu vào bảng HOP_DONG.

2 Sửa hợp đồng: o Cập nhật thông tin hợp đồng khi cần, như:

 Thay đổi ngày trả váy.

 Cập nhật tổng tiền thuê.

3 Xem danh sách hợp đồng: o Hiển thị danh sách hợp đồng hiện tại và đã hoàn thành, bao gồm:

5 Quản lý chi tiết hợp đồng

Chức năng quản lý từng váy cưới trong hợp đồng.

Các chức năng chi tiết:

1 Thêm chi tiết váy thuê: o Ghi nhận từng váy trong hợp đồng, bao gồm:

 ID váy (liên kết với bảng VAY_CUOI).

2 Xem chi tiết hợp đồng: o Hiển thị danh sách váy trong từng hợp đồng:

3 Tính tổng tiền hợp đồng: o Tự động tính tổng tiền thuê dựa trên thông tin váy trong bảng

Giúp quản lý theo dõi hiệu quả hoạt động kinh doanh.

Các chức năng chi tiết:

1 Doanh thu: o Báo cáo doanh thu theo:

2 Hiệu suất nhân viên: o Thống kê số hợp đồng xử lý bởi từng nhân viên.

3 Tình trạng váy cưới: o Báo cáo số váy còn hàng, đang thuê, hoặc bảo trì.

Danh sách các thực thể và thuộc tính

1 Thực thể: KHÁCH HÀNG (KHACH_HANG)

Thực thể này lưu trữ thông tin về khách hàng thuê váy cưới, cho phép mỗi khách hàng có thể thực hiện nhiều hợp đồng thuê váy khác nhau.

Bài viết mô tả các thuộc tính của thông tin khách hàng trong cơ sở dữ liệu Mỗi khách hàng được xác định bằng một ID duy nhất (int, khóa chính) và tên khách hàng (TEN) là thông tin bắt buộc, lưu dưới dạng chuỗi ký tự Unicode với tối đa 100 ký tự Số điện thoại của khách hàng (SO_DIEN_THOAI) cũng là thông tin bắt buộc, với độ dài tối đa 15 ký tự, giúp liên lạc dễ dàng Địa chỉ email (EMAIL) và địa chỉ (DIA_CHI) là những thông tin tùy chọn, trong đó địa chỉ email có tối đa 100 ký tự và địa chỉ có thể chứa đến 255 ký tự, cả hai đều được lưu dưới dạng chuỗi ký tự.

2 Thực thể: VÁY CƯỚI (VAY_CUOI)

 Mô tả: Thực thể này chứa thông tin về các mẫu váy cưới mà cửa hàng cho thuê.

Váy cưới có các thuộc tính quan trọng như sau: Mỗi chiếc váy cưới được xác định bằng một mã ID duy nhất, là số nguyên tự động tăng Tên váy cưới (TEN_VAY) được lưu trữ dưới dạng chuỗi ký tự Unicode và là thông tin bắt buộc Kích cỡ váy (KICH_CO) cũng là thông tin bắt buộc, với các kích cỡ như S, M, L Màu sắc (MAU_SAC) là thuộc tính tùy chọn, ví dụ như Trắng, Hồng, hoặc Be Cuối cùng, giá thuê váy cưới (GIA_THUE) trong một ngày được định nghĩa là số thập phân với hai chữ số sau dấu phẩy và là thông tin bắt buộc.

Số thập phân có tối đa 10 chữ số, bao gồm 2 chữ số sau dấu thập phân Trạng thái của váy cưới được lưu trữ dưới dạng nvarchar (10), với tùy chọn cho người dùng.

3 Thực thể: NHÂN VIÊN (NHAN_VIEN)

 Mô tả: Thực thể này lưu trữ thông tin về các nhân viên làm việc tại cửa hàng, bao gồm quản lý và nhân viên cho thuê.

Bài viết mô tả các thuộc tính của nhân viên trong hệ thống quản lý, bao gồm ID (int, khóa chính) là mã định danh duy nhất và tự động tăng, TEN_NV (nvarchar (100), bắt buộc) là tên của nhân viên, và SO_DIEN_THOAI (varchar (15), tùy chọn) giúp khách hàng liên lạc nhanh chóng Ngoài ra, EMAIL (varchar (100), tùy chọn) lưu trữ địa chỉ email của nhân viên, và CHUC_VU (nvarchar (50), bắt buộc) xác định chức vụ của nhân viên trong cửa hàng, chẳng hạn như "Quản lý" hoặc "Nhân viên".

4 Thực thể: HỢP ĐỒNG (HOP_DONG)

Thực thể này ghi lại thông tin chi tiết về hợp đồng thuê váy của khách hàng, bao gồm ngày thuê, ngày trả và tổng số tiền thuê, giúp quản lý quy trình cho thuê hiệu quả hơn.

 Thuộc tính: o ID (int, khóa chính): Mã hợp đồng Là số nguyên tự động tăng. o ID_KHACH_HANG (int, khóa ngoại, tham chiếu đến

Hợp đồng cho thuê váy được xác định bằng các thông tin quan trọng như mã khách hàng (KHACH_HANG.ID) tham gia hợp đồng, mã nhân viên (NHAN_VIEN_ID) phụ trách, ngày bắt đầu thuê (NGAY_THUE) và ngày trả váy (NGAY_TRA) Ngày thuê mặc định là ngày hiện tại nếu không có giá trị cụ thể Tổng tiền (TONG_TIEN) mà khách hàng phải thanh toán cho hợp đồng này là bắt buộc và được ghi rõ dưới dạng số thập phân.

5 Thực thể: CHI TIẾT HỢP ĐỒNG (HOPDONGCHITIET)

Thực thể này lưu trữ thông tin chi tiết về các mẫu váy cho thuê trong từng hợp đồng, và mỗi hợp đồng có thể chứa nhiều mẫu váy khác nhau.

Bài viết mô tả các thuộc tính của bảng chi tiết hợp đồng cho thuê váy cưới, bao gồm các trường sau: ID là mã chi tiết hợp đồng, được định nghĩa là số nguyên tự động tăng và là khóa chính; MA_HOP_DONG là mã hợp đồng, là khóa ngoại tham chiếu đến bảng HOP_DONG.ID; MA_VAY_CUOI là mã váy cưới, cũng là khóa ngoại tham chiếu đến bảng VAY_CUOI.ID; SO_NGAY_THUE là số ngày thuê váy, thuộc loại tùy chọn; và GIA_THUE là giá thuê của từng mẫu váy cho mỗi ngày, là trường bắt buộc với kiểu dữ liệu decimal (10,2).

Mối quan hệ giữa các thực thể:

1 KHÁCH HÀNG ↔ HỢP ĐỒNG: o Một khách hàng có thể ký nhiều hợp đồng thuê váy cưới (1: N). o HOP_DONG.ID_KHACH_HANG là khóa ngoại tham chiếu đến

2 NHÂN VIÊN ↔ HỢP ĐỒNG: o Mỗi hợp đồng được một nhân viên xử lý, có thể là nhân viên quản lý hoặc nhân viên cho thuê (1: N). o HOP_DONG.NHAN_VIEN_ID là khóa ngoại tham chiếu đến NHAN_VIEN.ID.

3 HỢP ĐỒNG ↔ CHI TIẾT HỢP ĐỒNG: o HOPDONGCHITIET.MA_HOP_DONG là khóa ngoại tham chiếu đến

4 VÁY CƯỚI ↔ CHI TIẾT HỢP ĐỒNG: o Một mẫu váy cưới có thể được thuê trong nhiều hợp đồng (1: N). o HOPDONGCHITIET.MA_VAY_CUOI là khóa ngoại tham chiếu đến

Sơ đồ liên kết ER

Thống kê từ các mối quan hệ giữa các tập thực thể trên thì chúng em đã triển khai được sơ đồ ER (Entity - Relationship) dưới đây:

Mối quan hệ giữa các bảng:

1 Khách hàng và Hợp đồng: o Mỗi khách hàng có thể có nhiều hợp đồng thuê váy cưới. o Quan hệ giữa KHACH_HANG và HOP_DONG là quan hệ 1: N (1 khách hàng có thể có nhiều hợp đồng).

2 Nhân viên và Hợp đồng: o Mỗi hợp đồng sẽ được quản lý bởi một nhân viên. o Quan hệ giữa NHAN_VIEN và HOP_DONG là quan hệ 1: N (1 nhân viên có thể quản lý nhiều hợp đồng).

3 Hợp đồng và Chi tiết hợp đồng: o Mỗi hợp đồng có thể có nhiều mẫu váy cưới thuê. o Quan hệ giữa HOP_DONG và HOPDONGCHITIET là quan hệ 1: N (1 hợp đồng có thể có nhiều chi tiết hợp đồng).

4 Váy cưới và Chi tiết hợp đồng: o Mỗi váy cưới có thể được thuê trong nhiều hợp đồng khác nhau. o Quan hệ giữa VAY_CUOI và HOPDONGCHITIET là quan hệ 1: N (1 mẫu váy có thể xuất hiện trong nhiều chi tiết hợp đồng).

 1 Bảng KHACH_HANG (Khách hàng)

 2 Bảng VAY_CUOI (Váy cưới)

 3 Bảng NHAN_VIEN (Nhân viên)

 4 Bảng HOP_DONG (Hợp đồng)

 5 Bảng HOPDONGCHITIET (Chi tiết hợp đồng)

 Tổng số thuộc tính trong toàn bộ cơ sở dữ liệu:

 Tổng số thuộc tính = 5 (KHACH_HANG) + 6 (VAY_CUOI) + 5 (NHAN_VIEN) + 6 (HOP_DONG) + 5 (HOPDONGCHITIET)

Chuyển đổi sơ đồ ER sang sơ đồ quan hệ

Mô tả cấu trúc chi tiết các bảng dữ liệu

1 Bảng KHACH_HANG (Khách hàng)

Tên Cột Kiểu Dữ Liệu Miêu Tả

ID INT IDENTITY (1,1) Khóa chính, tự động tăng, định danh khách hàng

TEN NVARCHAR (100) Tên khách hàng, không null

SO_DIEN_THOAI VARCHAR (15) Số điện thoại của khách hàng, không null EMAIL VARCHAR (100) Email khách hàng, có thể null

DIA_CHI NVARCHAR (255) Địa chỉ khách hàng, có thể null

2 Bảng VAY_CUOI (Váy cưới)

Tên Cột Kiểu Dữ Liệu Miêu Tả

ID INT IDENTITY (1,1) Khóa chính, tự động tăng, định danh váy cướiTEN_VAY NVARCHAR (100) Tên váy cưới, không null

Tên Cột Kiểu Dữ Liệu Miêu Tả

KICH_CO VARCHAR (10) Kích cỡ váy, không null

MAU_SAC NVARCHAR (50) Màu sắc váy, có thể null

GIA_THUE DECIMAL (10, 2) Giá thuê váy cưới, không null

TRANG_THAI NVARCHAR (10) Trạng thái váy (Còn hàng, Hết hàng), có thể null

3 Bảng NHAN_VIEN (Nhân viên)

Tên Cột Kiểu Dữ Liệu Miêu Tả

ID INT IDENTITY (1,1) Khóa chính, tự động tăng, định danh nhân viên

TEN_NV NVARCHAR (100) Tên nhân viên, không null

SO_DIEN_THOAI VARCHAR (15) Số điện thoại nhân viên, có thể null

EMAIL VARCHAR (100) Email nhân viên, có thể null

CHUC_VU NVARCHAR (50) Chức vụ nhân viên (Quản lý, Nhân viên), có thể null

4 Bảng HOP_DONG (Hợp đồng)

Tên Cột Kiểu Dữ Liệu Miêu Tả

ID INT IDENTITY (1,1) Khóa chính, tự động tăng, định danh hợp đồng

ID_KHACH_HANG INT Khóa ngoại, tham chiếu đến bảng KHACH_HANG(ID) NHAN_VIEN_ID INT Khóa ngoại, tham chiếu đến bảng NHAN_VIEN(ID)

NGAY_THUE DATE Ngày bắt đầu thuê, giá trị mặc định là ngày hiện tại

NGAY_TRA DATE Ngày trả váy cưới, không null

TONG_TIEN DECIMAL (10, 2) Tổng tiền thuê váy cưới, không null

5 Bảng HOPDONGCHITIET (Chi tiết hợp đồng)

Tên Cột Kiểu Dữ Liệu Miêu Tả

ID INT IDENTITY (1,1) Khóa chính, tự động tăng, định danh chi tiết hợp đồng

Tên Cột Kiểu Dữ Liệu Miêu Tả

Bảng hợp đồng chứa các trường dữ liệu quan trọng, bao gồm mã hợp đồng (MA_HOP_DONG) là khóa ngoại tham chiếu đến bảng HOP_DONG, mã vay cưới (MA_VAY_CUOI) là khóa ngoại tham chiếu đến bảng VAY_CUOI, và số ngày thuê (SO_NGAY_THUE) thể hiện số ngày thuê váy cưới trong chi tiết hợp đồng.

GIA_THUE DECIMAL (10, 2) Giá thuê váy cưới trong chi tiết hợp đồng

Các Mối Quan Hệ Giữa Các Bảng:

 KHACH_HANG và HOP_DONG: Một khách hàng có thể ký nhiều hợp đồng (mối quan hệ

 NHAN_VIEN và HOP_DONG: Mỗi hợp đồng được quản lý bởi một nhân viên (mối quan hệ

 HOP_DONG và HOPDONGCHITIET: Một hợp đồng có thể có nhiều chi tiết hợp đồng (mối quan hệ 1:N).

 VAY_CUOI và HOPDONGCHITIET: Một chi tiết hợp đồng liên quan đến một loại váy cưới cụ thể (mối quan hệ 1:N).

Xây dựng các câu lệnh

Tạo các bảng

ID INT IDENTITY(1,1) PRIMARY KEY,

SO_DIEN_THOAI VARCHAR(15) NOT NULL,

ID INT IDENTITY(1,1) PRIMARY KEY,

TEN_VAY NVARCHAR(100) NOT NULL,

KICH_CO VARCHAR(10) NOT NULL,

GIA_THUE DECIMAL(10, 2) NOT NULL,

ID INT IDENTITY(1,1) PRIMARY KEY,

TEN_NV NVARCHAR(100) NOT NULL,

ID INT IDENTITY(1,1) PRIMARY KEY,

ID_KHACH_HANG INT FOREIGN KEY REFERENCES KHACH_HANG(ID), NHAN_VIEN_ID INT FOREIGN KEY REFERENCES NHAN_VIEN(ID), NGAY_THUE DATE DEFAULT GETDATE() NOT NULL,

NGAY_TRA DATE NOT NULL,

TONG_TIEN DECIMAL(10, 2) NOT NULL

5 Tạo bảng chi tiết hợp đồng

ID INT IDENTITY(1,1) PRIMARY KEY,

MA_HOP_DONG INT NOT NULL,

MA_VAY_CUOI INT NOT NULL,

GIA_THUE DECIMAL(10, 2) NOT NULL,

FOREIGN KEY (MA_HOP_DONG) REFERENCES HOP_DONG(ID),

FOREIGN KEY (MA_VAY_CUOI) REFERENCES VAY_CUOI(ID)

Các câu lệnh

1 Các câu lệnh rằng buộc dữ liệu trong cột

Ví dụ: Bảng chi tiết hợp đồng

ID INT IDENTITY(1,1) PRIMARY KEY,

MA_HOP_DONG INT NOT NULL,

MA_VAY_CUOI INT NOT NULL,

GIA_THUE DECIMAL(10, 2) NOT NULL,

FOREIGN KEY (MA_HOP_DONG) REFERENCES HOP_DONG(ID),

FOREIGN KEY (MA_VAY_CUOI) REFERENCES VAY_CUOI(ID)

Dùng NOTNULL ở những cột MA_HOP_DONG, MA_VAY_CUOI, GIA_THUE để ràng buộc dữ liệu tại các cột là không được để trống.

2 Các câu lệnh khóa ngoại

Các câu lệnh ràng buộc khóa ngoại giữa các bảng:

 ID_KHACH_HANG INT FOREIGN KEY REFERENCES KHACH_HANG(ID),

 NHAN_VIEN_ID INT FOREIGN KEY REFERENCES NHAN_VIEN(ID),

 FOREIGN KEY (MA_HOP_DONG) REFERENCES HOP_DONG(ID),

 FOREIGN KEY (MA_VAY_CUOI) REFERENCES VAY_CUOI(ID)

3 Xây dựng dữ liệu ban đầu

3.1 Thêm dữ liệu cho bảng KHACH_HANG:

INSERT INTO KHACH_HANG (TEN, SO_DIEN_THOAI, EMAIL, DIA_CHI)

(N'Nguyễn Văn An', '0901234567', 'an.nguyen@example.com', N'Hà Nội'),

(N'Trần Thị Bích', '0912345678', 'bich.tran@example.com', N'TP Hồ Chí Minh'), (N'Lê Hoàng Cường', '0923456789', 'cuong.le@example.com', N'Đà Nẵng'),

(N'Phạm Thị Dung', '0934567890', 'dung.pham@example.com', N'Hải Phòng'), (N'Hoàng Minh Đức', '0945678901', 'duc.hoang@example.com', N'Cần Thơ');

3.2 Thêm dữ liệu cho bảng VAY_CUOI:

INSERT INTO VAY_CUOI (TEN_VAY, KICH_CO, MAU_SAC, GIA_THUE, TRANG_THAI)

(N'Váy trắng công chúa', 'M', N'Trắng', 3000000, N'Còn hàng'),

(N'Váy đuôi cá ren', 'S', N'Be', 3500000, N'Còn hàng'),

(N'Váy trễ vai đính đá', 'L', N'Hồng', 4000000, N'Còn hàng'),

(N'Váy xòe cổ điển', 'M', N'Trắng', 2800000, N'Hết hàng'),

(N'Váy voan tầng', 'S', N'Trắng', 3200000, N'Còn hàng');

3.3 Thêm dữ liệu cho bảng NHAN_VIEN:

INSERT INTO NHAN_VIEN (TEN_NV, SO_DIEN_THOAI, EMAIL, CHUC_VU) VALUES

(N'Lê Thị Hoa', '0956789012', 'hoa.le@example.com', N'Quản lý'),

(N'Nguyễn Văn Long', '0967890123', 'long.nguyen@example.com', N'Nhân viên'), (N'Phạm Minh Tú', '0978901234', 'tu.pham@example.com', N'Nhân viên'),

(N'Trần Thị Vân', '0989012345', 'van.tran@example.com', N'Nhân viên'),

(N'Hoàng Quốc Bảo', '0990123456', 'bao.hoang@example.com', N'Quản lý');

3.4 Thêm dữ liệu cho bảng HOP_DONG:

INSERT INTO HOP_DONG (ID_KHACH_HANG, NHAN_VIEN_ID, NGAY_THUE, NGAY_TRA, TONG_TIEN)

3.5 Thêm dữ liệu cho bảng HOPDONGCHITIET:

INSERT INTO HOPDONGCHITIET (MA_HOP_DONG, MA_VAY_CUOI,

SO_NGAY_THUE, GIA_THUE)

4 Câu lệnh SQL cho các chức năng thêm mới dữ liệu Để đưa thông tin mới vào cơ sở dữ liệu, chúng ta sử dụng câu lệnh INSERT INTO, giúp thêm các bản ghi vào các bảng trong cơ sở dữ liệu Việc này giúp cập nhật thông tin khi có sự thay đổi hoặc bổ sung dữ liệu mới Sau đây là một số ví dụ điển hình về câu lệnh

Thêm mới dữ liệu vào bảng VAY_CUOI:

INSERT INTO VAY_CUOI (TEN_VAY, KICH_CO, MAU_SAC, GIA_THUE,

VALUES (N'Váy trắng xòe đính ngọc', 'L', N'Trắng', 5000000, N'Còn hàng');

Thêm mới dữ liệu vào bảng KHACH_HANG:

INSERT INTO KHACH_HANG (TEN, SO_DIEN_THOAI, EMAIL, DIA_CHI)

VALUES (N'Nguyễn Thị Hồng', '0987654321', 'hong.nguyen@example.com', N'Hà Nội');

Thêm mới dữ liệu vào bảng NHAN_VIEN:

INSERT INTO NHAN_VIEN (TEN_NV, SO_DIEN_THOAI, EMAIL, CHUC_VU) VALUES (N'Hoàng Thị Linh', '0912345678', 'linh.hoang@example.com', N'Nhân viên');

5 Câu lệnh SQL cho chức năng sửa đổi dữ liệu

Câu lệnh UPDATE trong SQL cho phép người dùng thay đổi các bản ghi hiện có trong cơ sở dữ liệu, đóng vai trò quan trọng trong việc điều chỉnh và cập nhật thông tin khách hàng khi cần thiết Dưới đây là một số ví dụ tiêu biểu về cách sử dụng câu lệnh UPDATE.

Cập nhật thông tin của khách hàng có ID = 1:

SET SO_DIEN_THOAI = '0999999999', DIA_CHI = N'Quảng Ninh'

Cập nhật thông tin cho trạng thái của váy cưới:

SET TRANG_THAI = N'Hết hàng'

6 Câu lệnh SQL cho chức năng tìm kiếm dữ liệu

Khi cần truy xuất thông tin từ cơ sở dữ liệu, câu lệnh SELECT kết hợp với mệnh đề WHERE giúp xác định điều kiện tìm kiếm Phương pháp này cho phép lọc và lấy thông tin theo các tiêu chí cụ thể Các ví dụ dưới đây sẽ minh họa cách thực hiện rõ ràng hơn.

Tìm kiếm thông tin khách hàng theo họ:

Tìm kiếm thông tin hợp đồng theo ngày thuê:

WHERE NGAY_THUE BETWEEN '2024-01-01' AND '2024-01-05’.

7 Câu lệnh SQL cho chức năng xóa dữ liệu Đôi khi, việc xóa bỏ thông tin không còn cần thiết hoặc đã lỗi thời trong cơ sở dữ liệu là điều không thể tránh khỏi Trong trường hợp này, câu lệnh DELETE FROM sẽ giúp xóa các bản ghi không còn hữu ích, từ đó giúp cơ sở dữ liệu trở nên gọn gàng và dễ quản lý hơn. Dưới đây là các ví dụ về việc sử dụng DELETE:

Xóa thông tin khách hàng dựa trên ID:

Xóa thông tin váy cưới theo trạng thái ‘Hết Hàng’:

WHERE TRANG_THAI = N'Hết hàng’.

8 Câu lệnh SQL tổng hợp dữ liệu Để thực hiện các phép toán tổng hợp, như tính tổng, trung bình hay tìm giá trị lớn nhất/nhỏ nhất trong dữ liệu, chúng ta sử dụng các hàm tổng hợp như COUNT (), AVG (), SUM (), MAX (), MIN () Những hàm này giúp phân tích và thống kê dữ liệu một cách hiệu quả Các ví dụ dưới đây sẽ minh họa rõ hơn cách sử dụng các hàm này:

Tính tổng tiền từ các hợp đồng

SELECT SUM(TONG_TIEN) AS Tong_Doanh_Thu

Tính tổng doanh thu theo nhân viên

NV.TEN_NV AS Nhan_Vien,

SUM (HD TONG_TIEN) AS Doanh_Thu

JOIN NHAN_VIEN NV ON HD NHAN_VIEN_ID = NV.ID

GROUP BY NV.TEN_NV.

Kết quả thực nghiệm chương trình

1 Cấu trúc các bảng và sơ đồ quan hệ trên hệ quản trị CSDL

Cấu trúc và dữ liệu bảng HOP_DONG

Cấu trúc và dữ liệu bảng HOPDONGCHITIET

Cấu trúc và dữ liệu bảng KHACH_HANG

Cấu trúc và dữ liệu bảng NHAN_VIEN

Cấu trúc và dữ liệu bảng VAY_CUOI

Sơ đồ quan hệ được tạo trên hệ quản trị CSDL

2 Kết quả khi chạy kiểm thử

Chạy câu lệnh thêm mới dữ liệu vào bảng VAY_CUOI

Chạy câu lệnh UPDATE thông tin khách hàng trong bảng KHACH_HANG

Chạy câu lệnh truy vấn thông tin của sản phẩm trong bảng VAY_CUOI

Chạy câu lệnh xóa thông tin của khách hàng trong bảng KHACH_HANG

Chạy câu lệnh tổng hợp dữ liệu đếm số khách hàng trong bảng KHACH_HANG

Ngày đăng: 14/01/2025, 21:26

HÌNH ẢNH LIÊN QUAN

1. Bảng KHACH_HANG (Khách hàng) - Đề tài 14 xây dựng csdl cho phần mềm quản lý dịch vụ cho thuê Áo cưới
1. Bảng KHACH_HANG (Khách hàng) (Trang 27)
4. Bảng HOP_DONG (Hợp đồng) - Đề tài 14 xây dựng csdl cho phần mềm quản lý dịch vụ cho thuê Áo cưới
4. Bảng HOP_DONG (Hợp đồng) (Trang 28)
Sơ đồ quan hệ được tạo trên hệ quản trị CSDL - Đề tài 14 xây dựng csdl cho phần mềm quản lý dịch vụ cho thuê Áo cưới
Sơ đồ quan hệ được tạo trên hệ quản trị CSDL (Trang 43)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w