Bảng User:
Đây là bảng lưu trữ các thông tin của tất cả người dùng trong hệ thống.
TT Tên cột Kiểu dữ liệu Null Constraint Mô tả
1 UserId Bigint, identity(1,1)
Khóa chính Id của người dùng
2 Email Nvarchar(1000) Unique Địa chỉ email của người dùng
3 Password Nvarchar(500) Mật khẩu của người dùng
4 Gender Tinyint x Giới tính của người dùng
0: Female 1: Male
2: Not Specified
5 Birthday Datetime x Ngày sinh của người
dùng
6 Username Nvarchar(1000) Unique Tên đăng nhập của người dùng
7 Address Nvarchar(1000) x Địa chỉ
8 PhoneNumber Nvarchar(20) x Số điện thoại
9 Avatar Nvarchar(500) x Đường dẫn ảnh đại diện 10 Description Nvarchar(MAX) x Mô tả bản thân
11 State tinyint Default: 1 Thiết lập trạng thái của tài khoản người dùng 0: inactive
1: active 2: banned
Bảng 3-1: Mô tả bảng User
Bảng Friend:
Lưu trữ về các mối quan hệ bạn bè của người dùng trong hệ thống
TT Tên cột Kiểu dữ liệu Null Constraint Mô tả
1 FriendId Bigint, identity(1,1)
Khóa chính Id của một mối quan hệ bạn bè
2 UserId1 Bigint Khóa ngoại Id của người dùng thứ nhất, tham chiếu đến bảng User
3 UserId2 Bigint Khóa ngoại Id người dùng thứ hai,là bạn của người dùng một, tham chiếu đến bảng User
4 isConfirmed bit Default: 0 Đã xác nhận là bạn chưa
0: chưa là bạn 1: đã là bạn của nhau
Bảng 3-2: Mô tả bảng Friend
Bảng SuggestFriend:
Bảng này lưu lại dữ liệu danh sách các gợi ý bạn bè của một người gửi đến một người dùng khác trong hệ thống
TT Tên cột Kiểu dữ liệu Null Constraint Mô tả
1 SuggestFriendI d
Bigint, identity(1,1)
Khóa chính Id của một gợi ý bạn bè
2 FromUserId Bigint Khóa ngoại Id của ngườigửi gợi ý,tham chiếu đến bảng User
3 ToUserId Bigint Khóa ngoại Id của người nhận gợi ý,tham chiếu đến bảng User
4 SuggestUserId Bigint Khóa ngoại Id của người được gợi ý, tham chiếu đến bảng User
Bảng 3-3: Mô tả bảng SuggestFriend
Bảng Challenge Question:
Bảng lưu lại các câu hỏi thử thách đưa ra cho người dùng với mục đích xác thực người dùng khi người dùng yêu cầu lấy lại mật khẩu.
1 QuestionId int Khóa chính Id của câu hổi
2 QuestionContent Nvarchar(1000) Nội dung câu hỏi
Bảng 3-4: Mô tả bảng ChallengeQuestion
Bảng Answer:
Bảng lưu lại câu trả lời của người dùng ứng với từng câu hỏi ở trong bảng Challenge Question.
TT Tên cột Kiểu dữ liệu Null Constraint Mô tả
1 AnswerId int Khóa chính Id của câu trả lời 2 UserId Bigint Khóa ngoại Id của người dùng có
câu trả lời, tham chiếu đến bảng User
3 QuestionId int FK Id của câu hỏi, tham
chiếu đến bảng Question
4 Answer Nvarchar(MAX) Câu trả lời của người
dùng ứng với câu hỏi
Bảng 3-5: Mô tả bảng Answer
Bảng PrivacyCategory:
Bảng lưu phân loại nhóm privacy của thiết lập về thông tin riêng tư của người dùng.
TT Tên cột Kiểu dữ liệu Null Constraint Mô tả
1 CategoryId Tinyint Khóa chính Id của nhóm
3 Description Nvarchar(1000) x Mô tả về nhóm privacy
Bảng 3-6: Mô tả bảng PrivacyCategory
Bảng UserPrivacyType:
Bảng này lưu các kiểu Privacy mà người dùng có thể thiết lập.
TT Tên cột Kiểu dữ liệu Null Constraint Mô tả
1 PrivacyTypeId Tinyint Khóa chính Id của kiểu privacy 2 PrivacyTypeNa
me
Nvarchar(100) Tên của kiểu Privacy
3 CategoryId Tinyint Khóa ngoại Id của nhóm mà kiểu privacy thuộc về. 4 Description Nvarchar(1000) x Mô tả về kiểu privacy
Bảng 3-7: Mô tả bảng UserPrivacyType
Bảng UserPrivacySetting:
Bảng này lưu các thiết lập riêng tư về thông tin của người dùng.
TT Tên cột Kiểu dữ liệu Null Constraint Mô tả
1 PrivacyId int Khóa chính Id của thiết lập
2 UserId Bigint Khóa ngoại Id của người dùng,tham chiếu đến bảng User 3 PrivacyTypeId Tinyint Khóa ngoại Kiểu Privacy, tham
chiếu đến bảng UserPrivacyType
4 PrivacyValue Tinyint Giá trị của Privacy
0: chỉ một mình người dùng có thể xem. 1: bạn bè người dùng có thể xem 2: tất cả người dùng trong hệ thống có thể
xem.
Bảng 3-8: Mô tả bảng UserPrivacySetting
Bảng Principal:
Bảng lưu lại tên cũng như mật khẩu của các dịch vụ có trong hệ thống.
TT Tên cột Kiểu dữ liệu Null Constraint Mô tả
1 PrincipalID Tinyint Khóa chính Id của dịch vụ 2 PrincipalName Nvarchar(50) Tên của dịch vụ 3 Password Nvarchar(1000) Mật khẩu của dịch vụ
Cài đặt, triển khai và thử nghiệm hệ thống
1.8. Cài đặt
1.8.1. Công cụ và công nghệ sử dụng
Ngôn ngữ lập trình: Java, javascript.
Nền tảng Web Service: Java EE6
IDE: Eclipse.
Server: Apache Tomcat version 6.
Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server 2005
1.8.2. Tổng quan hoạt động của hệ thống Foloyu
Hình 4-22: Sơ đồ hoạt động của Foloyu