Thiết kế hệ dữ liệu cho bài toán

Một phần của tài liệu Xây dựng mạng xã hội du lịch tại thành phố Đà Nẵng. (Trang 23 - 59)

a. Xây dựng các bảng dữ liệu (Khóa chính được thể hiện bằng gạch dưới)

Tên bảng Các trường Kiểu dữ liệu Null Mô tả các trường Chú thích

UserInfo

Email Nvarchar(50) Email

Mô tả các thông tin của người dùng.

Type = 1(user), Type = 2(Admin) Password Nvarchar(50) Mật khẩu

Firstname Nvarchar(50) Tên Lastname Nvarchar(50) Họ Gentle Nvarchar(10) x Giới tính Birthday Datetime x Ngày sinh nhật Address Nvarchar(50) x Địa chỉ

Phone Nvarchar(20) x Số điện thoại

Type Int Chức vụ trong website

Report

EmailReport Nvarchar(50) Email gởi phản hồi

Phản hồi khi có bài viết xấu Target Nvarchar(50) Email bị phản hồi

Reason Ntext Lý do phản hồi

Approve Int x Xác nhận xử lý

NoteCode Nvarchar(50) Bài viết bị phản hồi

Tour

TourCode Int Mã dịch vụ

Lưu các thông tin về dịch vụ của nhóm

GrCode Int Mã nhóm chứa dịch vụ

Title Nvarchar(50) Tiêu đề

tDescription Ntext Mô tả

tSchedule Ntext Lịch trình

tPrice Money x Giá

tFrom Date x Ngày bắt đầu đăng kí

tTo Date x Ngày kết thúc đăng kí

Lê Đình Thọ | Trang 19

tSlot Int x Số lƣợng đƣợc phép đặt

FGroup

GrCode Int Mã nhóm

Lưu thông tin nhóm

Name Nvarchar(50) Tên nhóm

Slogan Ntext x Tiêu chí nhóm

GrRule Ntext x Luật nhóm đặt ra

Type Int x Trình trạng nhóm

(1: không khóa, 2: khóa)

Job Int

Thể loại dịch vụ (1: Travel

2 : Diner & restaurant 3: Hotel & motel )

NoteGroup

GrCode Int Mã nhóm chứa bài đăng Lưu liên kết

những bài đăng có trong nhóm

NoteCode Int Mã bài đăng

Email Nvarchar(50) Email của người dùng đăng bài đăng

NotePost

NoteCode int Mã bài đăng

Lưu thông tin của bài đăng NoteTitle Nvarchar(50) Tiều đề

NoteContent Ntext Nội dung

NoteEmail Nvarchar(50) Email người đăng Like

Manageme nt

NoteCode Int Mã bài đăng được like Lưu thông

tin người like Email Nvarchar(50) Email thích bài đăng

BookTour

BookCode Int Mã đặt dịch vụ

Lưu thông tin đặt dịch vụ từ người dùng (khách hàng)

TourCode Int Mã dịch vụ

Email Nvarchar(50) Email người đặt dịch vụ

Slot Int Số lƣợng đặt

CheckTour Int x Xử lý (0: chƣa xử lý, 1:

Chấp nhận, 2: Từ chối)

Lê Đình Thọ | Trang 20

GroupUser

Email Nvarchar(50) Email người dùng trong

nhóm Lưu thông

tin của người dùng trong một nhóm

GrCode Int Mã nhóm

Type Int Chức vụ người dùng

(0: User, 1: Admin)

Block Boolean Tình trạng người dùng

(0: bình thường, 1: khóa)

Comment

CmCode Int Mã bình luận Lưu các

bình luận trong các bài viết

NoteCode Int Mã bài đã bình luận

Email Nvarchar(50) Email người bình luận

CmContent Ntext Nội dung bình luận

FMessage

EmailRevice Nvarchar(50) Email người nhận

Lưu tin nhắn giữa 2 người dùng EmaiSend Nvarchar(50) Email người gởi

MContent Ntext Nội dung tin nhắn

CheckMess Bit x Kiểm tra tin nhắn đã đọc

Friend

FriendId Nvarchar(50) Email bạn người dùng

Lưu thông tin bạn bè giữa 2 người dùng UserId Nvarchar(50) Email người dùng

Block Bloolean x

Trình trạng bạn bè (0: bình thường

1: Người dùng khóa bạn) Like

Comment

CMCode Int Mã bình luận Người dùng

thích bình luận Email Nvarchar(50) Email của người thích

bình luận

Feedback

FeedCode Int Mã phản hồi Gởi phản

hồi về website đến admin Email Nvarchar(50) Email người phản hồi

FbContent ntext Nội dung phản hồi

Bảng 1: Xây dựng các bảng dữ liệu

Lê Đình Thọ | Trang 21

b. Sơ đồ thực thể quan hệ

o Kết bạn giữa 2 người dùng

Một người có thể có nhiều bạn và có thể là bạn của nhiều người Friend(FriendID) là khóa ngoại tham chiếu đến UserInfor(Email)

Friend(UserId) là khóa ngoại tham chiếu đến tham chiếu UserInfor(Email)

Hình 1: Sơ đồ quan hệ giữa 2 bảng Friend và UserInfor

o Người dùng gởi yêu cầu về website cho admin

Người dùng có thể gởi nhiều yêu, 1 yêu cầu được tạo ra gởi 1 người dùng Feedback(Email) là khóa ngoại tham chiếu đến UserInfo(Email)

Hình 2: Sơ đồ quan hệ giữa 2 bảng UserInfor và FeedBack

o Người dùng gởi phản hồi về bài viết xấu

Một người dùng có thể gởi nhiều report phản ánh cho admin và cũng có thể bị nhiều report từ người dùng khác.

Report(Email) là khóa ngoại tham chiếu đến UserInfor(Email)

Lê Đình Thọ | Trang 22 Hình 3: Sơ đồ quan hệ giữa 2 bảng Report và UserInfor

o Người dùng gởi tin nhắn cho nhau

Một người có thể gởi và nhận nhiều tin nhắn đến người dùng khác

FMessage(EmailReceive) là khóa ngoại tham chiếu đến UserInfor(Email) Fmessage(EmailSend) là khóa ngoại tham chiếu đến UserInfor(Email)

Hình 4: Sơ đồ quan hệ giữa 2 bảng FMessage và UserInfor

o Người dùng thích comment của người dùng khác

Người dùng có thể thích nhiều bình luận và được nhiều người thích bình luận mà mình đã đăng.

LikeComment(CmCode) là khóa ngoại tham chiếu đến Comment(CmCode) LikeComment(Email) là khóa ngoại tham chiếu đến UserInfo(Email)

Hình 5: Sơ đồ quan hệ giữa 2 bảng UserInfor và Comment

o Tất cả bình luận của một bài viết Một bài viết có thể có nhiều bình luận

Comment(NoteCode) là khóa ngoại tham chiếu đến NotePost(NoteCode)

Lê Đình Thọ | Trang 23 Hình 6: Sơ đồ quan hệ giữa 2 bảng NotePost và Comment

o Tất cả bài viết của một nhóm

Một nhóm có thể có nhiều bài viết, và đƣợc liên kết từ bản NoteGroup.

NoteGroup(GrCode) là khóa ngoại tham chiếu đến Fgroup(GrCode) NoteGroup(NoteCode) là khóa ngoại tham chiếu đến NotePost(NoteCode)

Hình 7: Sơ đồ quan hệ giữa 2 bảng FGroup và NotePost

o Người dùng thích các bài viết, và tất cả các người dùng đã thích bài viết

Người dùng có thể thích nhiều bài viết, một bài viết có thể được nhiều người dùng thích.

LikeMangement(NoteCode) là khóa ngoại tham chiếu đến NotePost(NoteCode) LikeMangement(Email) là khóa ngoại tham chiếu đến UserInfor(Email)

Hình 8: Sơ đồ quan hệ giữa các bảng UserInfor, LikeManagerment và NotePost

o Các dịch vụ trong Nhóm

Một nhóm có thể có nhiều dịch vụ, 1 dịch vụ chỉ có thể ở 1 nhóm Tour(GrCode) là khóa ngoại tham chiếu đến Fgroup(GrCode)

Lê Đình Thọ | Trang 24 Hình 9: Sơ đồ quan hệ giữa 2 bảng Tour và FGroup

o Người dùng đặt dịch vụ

Người dùng có thể đặt nhiều dịch vụ.

BookTour(TourCode) là khóa ngoại tham chiếu đến Tour(TourCode) BookTour(Email) là khóa ngoại tham chiếu đến GroupUser(Email)

Hình 10: Sơ đồ quan hệ giữa các bảng Tour, BookToour và GroupUser

Lê Đình Thọ | Trang 25

o Thành viên trong Nhóm

Một nhóm có thể có nhiều người dùng, người dùng có thể vào nhiều nhóm GroupUser(Email) là khóa ngoại tham chiếu đến UserInfor(Email)

GroupUser(GrCode) là khóa ngoại tham chiếu đến Fgroup(GrCode)

Hình 11: Sơ đồ quan hệ giữa 2 bảng FGroup và UserInfor

c. Sơ quan hệ cơ sở dữ liệu tổng quá (Database Diagrams)

Hình 12: Sơ đồ quan hệ cơ sở dữ liệu

Lê Đình Thọ | Trang 26

4. Phân tích các chức năng của chương trình A. Sơ đồ Usercase

Hình 13: Sơ đồ UserCase của Actor Admin

Hình 14: Sơ đồ UserCase của Actor User

Lê Đình Thọ | Trang 27

B. Mô tả Actors

# Tên Actor Định nghĩa

1 Admin Sử dụng tất cả các chức năng trong và quản lý trong website

2 User Sử dụng các chức năng của người dùng

Bảng 2: Mô tả các Actors

C. Danh sách các Use case

# Code Tên use case Mô tả tổng quát

1 UC01 Login Đăng nhập

2 UC02 Logout Đăng xuất

3 UC03 Confirm Report Xác nhận đã xử lý Report

4 UC04 Delete Report Xóa report

5 UC05 Lock User Khóa người dùng vi phạm

6 UC06 Upgrade User Cập nhập người dùng lên quyền admin

7 UC07 Create Note Tạo bài viết

8 UC08 Delete Note Xóa bài viết

9 UC09 Lock Group Khóa nhóm bởi admin

10 UC10 Delete Group Xóa nhóm bởi admin

11 UC11 Sign Up Đăng kí

12 UC12 Chat Friend Chat với bạn bè

13 UC13 Add Friend Thêm bạn

14 UC14 Remove Friend Xóa bạn

Lê Đình Thọ | Trang 28

15 UC15 Feedback Gởi phản hồi về website

16 UC16 Report Gởi phản hồi về bài đăng vi phạm

17 UC17 Show Message Hiển thị tin nhắn từ bạn bè 18 UC18 Setting Profile Sửa đổi thông tin người dùng

19 UC19 Upload Bài viết Viết bài viết mới

20 UC20 Delete Bài viết Xóa bài viết

21 UC21 Like Thích bài viết hoặc comment

22 UC22 Comment Bình luận về bài viết đang đọc

23 UC23 Filter Phân chia tìm kiếm các nhóm

24 UC24 Create Group Tạo nhóm mới

25 UC25 Join Group Gia nhập vào nhóm

26 UC26 Lock Group Khóa nhóm (admin của nhóm)

27 UC27 Leave Group Rời khỏi nhóm

28 UC28 Manager Book Service Phản hồi cho khách (admin của nhóm) 29 UC29 Delete Group Xóa nhóm(admin của nhóm) 30 UC30 Upload Note Tạo bài viết mới trong group 32 UC33 Upload Service Đăng dịch vụ(admin của nhóm) 33 UC34 Book Service Đặt dịch vụ trong nhóm 34 UC35 View Full Service Chi tiết và đặt dịch vụ 35 UC36 View Full Note Chi tiết của bài viết

Bảng 3: Mô tả các Use Case

Lê Đình Thọ | Trang 29

5. Hoàn thiện các chức năng và giao diện 2.1. Login

Hình 15: Chức năng login

Màn hình Login

Mô tả Người dùng đăng nhập tài khoản

Màn hình Truy xuất Màn hình login

Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Login button Đăng nhập và tài khoản Vào trang chủ Trở về trang đăng nhập Email Text Người dùng nhập tài

khoản email đã đăng kí.

Password Người dùng nhập mật khẩu đã đăng kí

2.2. Log out

Hình 16: Chức năng đăng xuất

Lê Đình Thọ | Trang 30

Màn hình Logout

Mô tả User đăng xuất tài khoản

Màn hình Truy xuất User nhấn nút Logout Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Logout button Đăng xuất tài khoản Trở về trang đăng nhập

2.3. Confirm report

Hình 17: Chức năng xác nhận “phản hồi bài viết xấu”

Màn hình Confirm Report

Mô tả Xử lý các report nhận đƣợc từ users

Màn hình Truy xuất Để xóa report, Administrator nhấn hình Thùng rác và nhấn nút submit Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Submit Button Xác nhận Confirm Confirm

Cancel Button Hủy Confirm Đóng

2.4. Delete report (Admin)

Lê Đình Thọ | Trang 31 Hình 18: Chức năng xóa "phản hồi bài viết xấu"

Màn hình Report Management

Mô tả Show up report list received from users Màn hình

Truy xuất

Administrator nhấn nút radio button in the delete column to delete report

Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Delete Button Yêu cầu xóa Report

Hiện ra dialog xóa hỏi có xóa Report không Submit Button Xóa Report Xóa Report đƣợc chọn

Cancel Button Hủy thao tác Đóng

2.5. Lock User

Hình 19: Chức năng khóa người dùng

Lê Đình Thọ | Trang 32

Màn hình User Management

Mô tả Khóa tài khoản User vi phạm

Màn hình Truy xuất Administrator nhấn nút Khóa để khóa user Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Nút Block Yêu cầu khóa tài khoản User Hiện dialog xác thực khóa tài khoản

Nút Submit Khóa tài khoản Khóa tài khoản

Nút Cancel Hủy yêu cầu Đóng

2.6. Upgrade User

Hình 20: Chức năng cập nhập người dùng thành Admin

Màn hình Upgrade User

Mô tả Upgrade user thành Admin, Mod, Super-Mod,…

Màn hình Truy xuất Administrator nhấn nút Upgrade -> Selected Role -> Submit

Lê Đình Thọ | Trang 33

Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Sprinner Yêu cầu update tài khoản Hiện dialog xác thực Nút Submit Update tài khoản thành admin Upgrade

Nút Cancel Hủy yêu cầu Đóng

2.7. Delete Bài viết(Admin)

Hình 21: Chức năng xóa bài viết

Màn hình Quản lý bài viết

Mô tả Hiển thị danh sách các Bài viết, Admintrator có thể xem nội dung hoặc xóa bài báo

Màn hình Truy xuất Admintrator nhấn vào menu ManagerNote -> DeleteNote Màn hình Content

Item Type Dữ liệu Mô tả

Delete Button Hiển thị nút thùng rác trong manager bài viết Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Nút Delete Yêu cầu xóa Bài viết Hiện dialog xác thực Nút Submit Xóa Bài viết đƣợc chọn Xóa

Lê Đình Thọ | Trang 34

Nút Cancel Hủy yêu cầu Đóng

2.8. LockGroup (admin)

Hình 22: Chức năng khóa nhóm (Admin)

Màn hình Khóa nhóm từ admin nhóm

Mô tả Khóa nhóm

Màn hình Truy xuất Người dùng vào chính của nhóm, Setting -> Lock group Màn hình Content

Item Type Dữ liệu Mô tả

LockGroup List item Hiện LockGroup trong Setting Màn hình Actions

Tên Action Mô tả Thành công Thất bại

LockGroup Yêu cầu khóa nhóm Hiện “Sorry, group was locked” trong trang chủ của nhóm.

Hiện nút UnlockGroup nếu admin nhóm .

Hiện thông báo lỗi

Lê Đình Thọ | Trang 35

2.9. Delete Group (Admin)

Hình 23: Chức năng xóa nhóm(Admin)

Màn hình Xóa nhóm từ Admin nhóm

Mô tả

Màn hình Truy xuất Người dùng vào chính của nhóm, Setting -> Delete group Màn hình Content

Item Type Dữ liệu Mô tả

DeleteGroup List item Hiện DeleteGroup trong Setting

Màn hình Actions

Tên Action Mô tả Thành công Thất bại

DeleteGroup Yêu cầu xóa nhóm Trở về chủ Hiện thông báo

lỗi

Lê Đình Thọ | Trang 36

2.10. Sign Up

Hình 24: Chức năng đăng kí

Màn hình Login

Mô tả Tạo tài khoản mới.

Màn hình Truy xuất Người dùng vào trang login Màn hình Content

Item Type Dữ liệu Mô tả

First name Text - Nhập tên

Last name Text - Nhập họ

Email Text - Nhập email

Password Password - Nhập password

Lê Đình Thọ | Trang 37

Re-Password Password - Xác nhận password

Sign up Submit button - Đồng ý tạo tài khoản

Màn hình Actions

Tên Action Mô tả Thành công Thất bại

SignUp Kiểm tra tài khoản, thêm vào Dữ liệubasse.

Hiện thông báo

“Register accepted”

trong Message Area.

Hiện thông báo lỗi với những cụm nhập sai

2.11. Add Friend

Hình 25: Chức năng thêm bạn

Màn hình Guest’ s Home page

Mô tả Kết bạn

Màn hình Truy xuất Người dùng kích nút Add Friend trong Guest’s Home page Màn hình Content

Lê Đình Thọ | Trang 38

Item Type Dữ liệu Mô tả

Add Friend Button

Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Add Friend Hiện danh sách

vào friend list

2.12. Remove Friend

Hình 26: Chức năng xóa bạn

Màn hình Friend list – Remove Friend

Mô tả Xóa friend khỏi danh sách của người dùng Màn hình Truy

xuất

Người dùng kích nút Remove Friend trong Guest’s Home page

Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Yes Đồng ý xóa Guest’s Home page. Xóa

friend, không còn trong danh sách bạn

No Không đồng ý xóa Trở về Guest’s Home page.

Lê Đình Thọ | Trang 39

2.13. Feedback

Hình 27: Chức năng gởi góp ý về website

Màn hình Feedback

Mô tả Góp ý của người dùng về website Màn hình Truy xuất Người dùng kích nút Feedback

Màn hình Content

Item Type Dữ liệu Mô tả

Comment Textbox Mô tả feedback

Submit Button Gởi feedback

Cancel Button Xóa feedback

Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Submit Gởi feedback tới Admintrator Thông báo

“Feedback sent”

Cancel Xóa feedback Trở về Home

page

Lê Đình Thọ | Trang 40

2.14. Report

Hình 28: Chức năng phản hồi bài viết xấu

Màn hình

Mô tả Người dùng gởi Report cho admin về nhuwgnx bài viết vi phạm Màn hình Truy xuất Nhấn nút Report bên cạnh bài Bài viết

Màn hình Content

Item Type Dữ liệu Mô tả

Reasons Text Arena Lý do report

Submit Button Gởi report

Cancel Button Hủy gởi report

Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Submit Gởi report tới cho admin Gởi report

Lê Đình Thọ | Trang 41

Cancel Hủy gởi Về lại mainpage

2.15. Delete Bài viết

Hình 29: Chức năng xóa bài viết

Màn hình User Interface

Mô tả Xóa bài hát từ User Profile

Màn hình Truy xuất Nút Delete bài hát trong playlist bài hát Màn hình Content

Item Type Dữ liệu Mô tả

Cross button button - Xóa bài viết

Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Sure Chấp nhận xóa Bài viết Bài viết bị xóa.

Cancel Exit – hủy yêu cầu xóa bài viết. Về trang hiện hành

Lê Đình Thọ | Trang 42

2.16. Like

Hình 30: Chức năng thich bài viết

Màn hình Note post

Mô tả Thích bài đăng

Màn hình Truy xuất Trong giap diện bài đặt, nhấn nút like Màn hình Content

Item Type Dữ liệu Mô tả

Image Avata của người post

Bài viết

“thole has post” Label Thông báo

“100 Likes” Label Số lƣợng like bài hát

“300 Comments”

Label Số lƣợng comment bài

hát

Bài viết Title Label Link đọc bài viết đầy đủ

Like Button Like bài viết

Comment Button Bình luận về bài viết

Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Like Thích bài viết đang đọc Tăng lƣợt like của bài viết

Lê Đình Thọ | Trang 43

2.17. Comment

Hình 31: Chức năng bình luận bài viết

Màn hình Note post - comment

Mô tả BÌnh luận về bài viết đƣợc đăng

Màn hình Truy xuất Trong giao diện danh sách bài viết, nhấn nút comment Màn hình Content

Item Type Dữ liệu Mô tả

Image Avata của người đã

comment về bài viết

“Tho lee” Label Tên của người comment

“blah blah blah” Label Nội dung comment

Textbox Textbox Nhập nội dung

comment

Comment Button Gởi comment

Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Comment Comment bài viết đang đọc

Tăng chỉ số comment và hiển thị commnet

mới nhập vào.

Lê Đình Thọ | Trang 44

2.18. Filter

Hình 32: Chức năng lọc nhóm

Màn hình Main page – filter interface

Mô tả Lọc và tìm kiếm những Group theo loại Màn hình Truy xuất Người dùng kích vào filter trong trang chủ

Màn hình Actions

Tên Action Mô tả Thành công Thất bại

Filter Lọc ra những group theo loại

Hiên rthij các group đƣợc lọc

Lê Đình Thọ | Trang 45

2.19. Create Group

Hình 33: Chức năng tạo nhóm mới

Màn hình Create group form

Mô tả Tạo Group

Màn hình Truy xuất

Kick nút “Create Group” ở navication bẩ hoặc ở trong setting của group

Màn hình Content

Item Type Dữ liệu Mô tả

Name Textbox Nhập tên của Group

Type of group Dropdown list

“Hotel & motel”

“Travel”

“Restauran & diner”

Chọn loại group

Rule Textbox Luật trong group

Slogan Textbox Slogan trong của group

Submit Button Tạo group

Một phần của tài liệu Xây dựng mạng xã hội du lịch tại thành phố Đà Nẵng. (Trang 23 - 59)

Tải bản đầy đủ (PDF)

(70 trang)