Báo cáo Thực tập chuyên môn Thiết kế cơ sở dữ liệu: Xây dựng Website studio trình bày và phân tích hệ thống Website studio; thiết kế cơ sở dữ liệu cho Website studio.
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN- ĐIỆN TỬ
BÁO CÁO
TTCM Thiết kế Cơ sở dữ liệu
GVHD : Lê Thị Bích Tra
SVTH : Nguyễn Thị Hồng Ngọc
Đà Nẵng tháng 6/2019
Trang 2MỤC LỤC
CHƯƠNG I PHÂN TÍCH HỆ THỐNG 4
1 Đặc tả hệ thống 4
1.1 Quản trị viên (Admin): Là người điều hành, có quyền quản trị cao nhất trên Website 4
1.2 Người sử dụng 4
1.3 Khách hàng 4
1.4 Người chụp (Photographer) 4
2 Sơ đồ Usecase 4
3 Đặc tả usecase 5
3.1 Usecase quản lí đăng nhập 5
3.2 Usecase Đặt lịch 5
3.3 Usecase kiểm tra tình trạng ngày trống 6
3.4 Usecase tìm thông tin đặt lịch 6
4 Phác thảo giao diện 7
4.1 Đăng nhập khách hàng và của nhà cung cấp 7
4.2 Đăng kí tài khoản thành viên 7
4.3 Đăng kí tài khoản Người chụp 8
4.4 Đặt lịch chụp 9
4.5 Thanh toán 10
CHƯƠNG II THIẾT KẾ CSDL 12
1 Sơ đồ ERD 12
2 Thiết kế bảng 12
2.1 Bảng Quyền 12
2.2 Bảng Sản phẩm 13
2.3 Bảng Ảnh 13
2.4 Bảng Chủ Đề 14
2.5 Bảng Admin 14
2.6 Bảng Khách Hàng 15
2.7 Bảng Người Chụp( Photographer) 16
2.8 Bảng Đặt Lịch 17
2.9 Bảng Chi Tiết Đặt Lịch 17
2.10 Bảng Hóa Đơn 18
3 Xây dựng Store procedure 19
3.1 Hàm tính tổng tiền 19
Trang 33.3 Thống kê doanh thu theo ngày 19
3.4 Thống kê doanh thu theo tháng 20
3.5 Thống kê doanh thu theo năm 20
3.6 Cập nhật số lượng ảnh trong chủ đề 21
3.7 Tính tiền mỗi hóa đơn – Hiển thị tiền chụp 21
3.8 Procedure hiển thị danh sách số lượng ảnh mỗi chủ đề 22
3.9 Hiện danh sách sản phẩm của 1 người chụp bất kì 22
3.10 Xem đơn đặt lịch của 1 khách hàng bất kì 23
3.11 Xem đơn đặt lịch của khách hàng với 1 người chụp bất kì 23
3.12 Hiện danh sách sản phẩm với 1 người chụp bất kì 23
Trang 4CHƯƠNG I PHÂN TÍCH HỆ THỐNG
1 Đặc tả hệ thống
- Website này hoạt động chủ yếu phục vụ cho ba đối tượng chính : Admin(Quản trị viên), Photographer (Người chụp), Khách hàng (Người sử dụngkhi chưa đăng kí thành viên)
1.1.Quản trị viên (Admin): Là người điều hành, có quyền quản trị cao nhất
trên Website
- Quản lí thông tin lịch chụp, quản lí khách hàng
- Quản lí Photographer (lịch chụp khi khách đặt)
- Quản lí các phản hồi của khách hàng
- Quản lí danh mục (cập nhật album, giá, …)
1.2.Người sử dụng
- Xem thông tin Album – giá cả và các thông tin khác về Studio
- Tìm kiếm, xem các chủ đề, ưu đãi,
- Đăng kí thành viên trong web
- Có thể đăng, chỉnh sửa, xóa thông tin của mình trên web
- Đóng góp ý kiến bằng cách bình luận trực tiếp vào trang web, được
hỗ trợ tư vấn trực tiếp trên trang web
- Thanh toán(trực tiếp, chuyển khoản)
- Quản lí thông tin riêng của nhà cung cấp
- Xử lý lịch chụp riêng của mỗi nhà cung cấp
- Hỗ trợ
- Xem lịch chụp
2 Sơ đồ Usecase
Trang 5Hình 1.1 Sơ đồ Use-case
3 Đặc tả usecase
3.1.Usecase quản lí đăng nhập
Đối tượng sử dụng: Admin, Người chụp, Khách hàng
Usecase này mô tả các bước đăng nhập của actor vào hệ thống
Các bước thực hiện:
o Hệ thống yêu cầu actor cung cấp thông tin đăng nhập gồm tên đăng nhập
và mật khẩu
o Hệ thống hiển thị yêu cầu xác nhận từ actor
o Actor dùng xác nhận đăng xuất
o Hệ thống đăng xuất tài khoản actor khỏi hệ thống Nếu actor không xácnhận đăng xuất thì hệ thống giữ nguyên hiện trạng
3.2.Usecase Đặt lịch
Đối tượng sử dụng: Admin, Người chụp, Khách hàng
Usecase này cho phép admin và Người chụp tiếp nhận việc đặt lịch của kháchhàng Khách hàng cũng có thể đặt lịch chụp trực tiếp trên web thông qua tàikhoản thành viên
Trang 6o Admin và Người chụp nhập thông tin và ngày chụp của khách nếu kháchđặt trực tiếp tại studio Khách hàng tự điền form theo yêu cầu của hệ thốngnếu đặt lịch trực tiếp trên web.
o Hệ thống tự động kiểm tra thông tin lịch chụp mà khách đã đặt, đồng thờilọc danh sách photographer và ngày chụp mà khách hàng đặt vào ngày đó
- TH1: Ngày chụp trống và photographer không bận mà khách yêu cầu:
o Admin chọn ngày chụp trống theo yêu cầu khách đặt
o Nhấn nút”Đăng kí” để hoàn tất việc đặt lịch của khách
o Hệ thống kiểm tra dữ liệu vừa đặt và lưu lại thông tin đặt lịch Nếuthông tin khách đã tồn tại trong hệ thống thì sẽ báo lỗi lịch trùng
o Hệ thống thông báo và yêu cầu thực hiện lại
3.3 Usecase kiểm tra tình trạng ngày trống
Đối tượng sử dụng: Admin và Người chụp
Usecase này cung cấp thông tin về tình trạng ngày chụp còn trống và lịchchụp của photographer cho actor
3.4.Usecase tìm thông tin đặt lịch.
Đối tượng sử dụng: Admin và Người chụp
Usecase này cho phép lấy thông tin đặt lịch của 1 khách hàng nào đó đếnchụp tại studio mà khách đã đặt trước đó
Các bước thực hiện:
Trang 7o Actor thực hiện chức năng đăng kí đặt lịch trước, chọn chức năng “Tìm
thông tin đặt lịch”
o Actor nhập id của khách hoặc thông tin liên quan của khách để tiến
hành tìm thông tin đặt lịch
o Hệ thống tìm kiếm thông tin đặt lịch của khách trả về kết quả
4 Phác thảo giao diện
4.1 Đăng nhập khách hàng và của nhà cung cấp
Tác nhân: Photographer (Người chụp), Khách hàng, Admin
Input: Người dùng điền thông tin đăng nhập vào form đăng nhập
Xử lý:
- Hệ thống yêu cầu nhập thông tin đăng nhập gồm: Email và mật khẩu của mỗitài khoản
- Nhập xong thông tin nhấn nút đăng nhập
- Hệ thống kiểm tra thông tin đăng nhập và thông báo đăng nhập thành công haythất bại
Output: Hệ thống trả về kết quả đăng nhập cho người dùng:
- Nếu thành công: Thông báo thành công và đưa người dùng vào cửa sổ làmviệc khác nhau tùy theo từng tác nhân
- Nếu thất bại: Thông báo thất bại và yêu cầu kiểm tra lại tên đăng nhập và mậtkhẩu
Phát thảo giao diện:
Hình 1.2 Giao diện đăng nhập
4.2.Đăng kí tài khoản thành viên
Tác nhân: Người sử dụng (Khách vãng lai)
Input: Người dùng điền thông tin chi tiết vào form đăng kí
Xử lý:
- Hệ thống yêu cầu nhập thông tin đăng ký gồm: Họ và tên, email, mật khẩu
- Nhập xong thông tin nhấn nút tạo tài khoản hoặc đăng nhập bằng facebook
- Hệ thống kiểm tra thông tin đăng kí và thông báo đăng kí thành công hay thấtbại
Trang 8 Output: Hệ thống trả về kết quả đăng kí cho người dung: thông báo đăng kí thànhcông hay yêu cầu nhập lại nếu thông tin không hợp lệ.
Giao diện đăng kí tài khoản thành viên
Hình 1.4 Giao diện đăng kí tài khoản thành viên
4.3 Đăng kí tài khoản Người chụp
Tác nhân: Người chụp (Photographer and Admin)
Input: Người dung điền thông tin chi tiết vào form đăng kí
Xử lý:
- Hệ thống yêu cầu nhập thông tin đăng ký gồm: Họ và tên, email, mật khẩu,lĩnh vực hợp tác, điểm mạnh/ điểm yếu, …
- Nhập xong thông tin nhấn nút tạo tài khoản
- Hệ thống kiểm tra thông tin đăng kí và thông báo đăng kí thành công hay thấtbại
Output: Hệ thống trả về kết quả đăng kí cho người dung: thông báo đăng kí thànhcông hay yêu cầu nhập lại nếu thông tin không hợp lệ
Giao diện đăng kí tài khoản thành viên của người chụp
Trang 9Hình 1.5 Giao diện đăng kí tài khoản thành viên của người chụp
4.4 Đặt lịch chụp
Tác nhân: Thành viên (Đã đăng kí tài khoản)
Input: Thành viên sẽ được đặt Photographer mà mình muốn hợp tác, chọn góichụp, chi phí gói chụp, không gian chụp, giờ hẹn
Xử lý:
- Nhấn vào biểu tượng đặt lịch bên cạnh những sản phẩm của Photographerhoặc bên cạnh những album mà admin đăng
- Chỉnh sửa thông tin xong nhấn nút tiếp theo
- Hệ thống hiển thị lại thông tin mà thành viên đã đặt
Output: Thông tin đặt lịch bao gồm gói chụp, chi phí gói chụp, photographer màthành viên đã chọn,…
Giao diện đặt lịch chụp:
Trang 10Hình 1.6 Giao diện đặt lịch
Hình 1.7 Sơ đồ use case đặt lịch
Trang 11 Tác nhân: Thành viên.
Input: Thông tin thanh toán sẽ hiển thị sau khi thành viên đặt lịch chụp
- Khách hàng sẽ chọn hình thức thanh toán như thanh toán trực tiếp hoặcchuyển khoản
- Hệ thống sẽ hiển thị lại toàn bộ thông tin mà khách hàng đã đặt và hình thứcthanh toán
Output: Hệ thống sẽ thông báo đặt lịch thành công
Giao diện thanh toán:
Hình 1.8 Giao diện thanh toán
Hình 1.9 Giao diện thanh toán
Trang 12STT Thuộc tính Mô tả Kiểu dữ liệu Ghi chú
1 Ma_Quyen Mã quyền Char(5) Khóa chính
2 Tenquyen Tên quyền nvarchar(255)
Trang 132.2.Bảng Sản phẩm
STT Thuộc tính Mô tả Kiểu dữ liệu Ghi chú
1 Ma_sp Mã album Char(5) Khóa chính
2 Ma_chude Mã chủ đề Char(5) Khóa ngoại
3 Ma_NC Mã người
chụp
Char(5) Khóa ngoại
4 Soluong Số lượng Int
5 Tensp Tên sản phẩm nvarchar(255)
6 Ma_anh Mã ảnh Char(5) Khóa ngoại
Trang 142.3.Bảng Ảnh
STT Thuộc tính Mô tả Kiểu dữ liệu Ghi chú
1 Ma_anh Mã ảnh Char(5) Khóa chính
2 Ma_chude Mã chủ đề Char(5) Khóa ngoại
2.4.Bảng Chủ Đề
STT Thuộc tính Mô tả Kiểu dữ liệu Ghi chú
1 Ma_chude Mã chủ đề Char(5) Khóa chính
2 Tenchude Tên loại Varchar(255)
3 Dongia Dongia decimal
Trang 152.5.Bảng Admin
STT Thuộc tính Mô tả Kiểu dữ liệu Ghi chú
1 Ma_admin Mã admin Char(5) Khóa chính
2 Hoten_admin Họ tên admin nvarchar(255)
3 Tendangnhap_admin Tên đăng
Char(5) Khóa Ngoại
6 Sdt Số điện thoại int
7 Email Email nvarchar(255)
2.6.Bảng Khách Hàng
STT Thuộc tính Mô tả Kiểu dữ liệu Ghi chú
1 Ma_KH Tên tài khoản
Char(5) Khóa ngoại
4 Tentaikhoan Tên tài khoản Nvarchar(50)
5 Matkhau_kh Mật khẩu
khách hàng
Varchar(255)
Trang 166 Email Email Varchar(255)
7 Sdt Số điện thoại int
8 Diachi Địa chỉ nvarchar(255)
Char(5) Khóa ngoại
4 Matkhau_nc Mật khẩu nc Char(255)
5 Email Email nvarchar(255)
6 Diachi Địa chỉ nvarchar(255)
Trang 172.8.Bảng Đặt Lịch
STT Thuộc tính Mô tả Kiểu dữ liệu Ghi chú
1 Ma_dl Mã đặt lịch Char(5) Khóa chính
Char(5) Khóa ngoại
4 Ngaydat Ngày đặt lịch Date
5 Giohen Giờ hẹn chụp Time
6 Sdt Số điện thoại int
7 Email Email nvarchar(255)
8 Trangthai Trạng thái
lịch chụp
Nvarchar(255)
Trang 182.9.Bảng Chi Tiết Đặt Lịch
STT Thuộc tính Mô tả Kiểu dữ liệu Ghi chú
1 Ma_chude Mã chủ đề Char(5) Khóa chính
2 Ma_hd Mã hóa đơn Char(5) Khóa chính
3 Ma_NC Mã NC Char(5) Khóa ngoại
4 Ma_dl Mã đặt lịch Char(5) Khóa ngoại
5 Ma_KH Mã khách
hàng
Char(5) Khóa ngoại
6 Khuyenmai Khuyến mãi Varchar(255)
7 Dongia Đơn giá decimal
8 Thanhtien Thành tiền decimal
2.10 Bảng Hóa Đơn
STT Thuộc tính Mô tả Kiểu dữ liệu Ghi chú
1 Ma_hd Mã hóa đơn Char(5) Khóa chính
2 Ma_NC Mã nc Char(5) Khóa ngoại
3 Ma_Admin Mã admin Char(5) Khóa ngoại
Trang 194 Ma_KH Mã khách
hàng
Char(5) Khóa ngoại
5 Dongia Đơn giá Decimal(18,2)
Trang 203.4.Thống kê doanh thu theo tháng
3.5.Thống kê doanh thu theo năm
Trang 213.6.Cập nhật số lượng ảnh trong chủ đề
3.7.Tính tiền mỗi hóa đơn – Hiển thị tiền chụp
Trang 223.8.Procedure hiển thị danh sách số lượng ảnh mỗi chủ đề
3.9.Hiện danh sách sản phẩm của 1 người chụp bất kì
Trang 233.10 Xem đơn đặt lịch của 1 khách hàng bất kì
3.11 Xem đơn đặt lịch của khách hàng với 1 người chụp bất kì
3.12 Hiện danh sách sản phẩm với 1 người chụp bất kì