Mô tả chi tiết các bảng

Một phần của tài liệu Hệ thống tư vấn lựa chọn bất động sản kết hợp chatbox (báo cáo cuối kì đồ án 2) (Trang 59 - 86)

Chương 4 PHÂN TÍCH THIẾT KẾ HỆ THỐNG

4.2. Thiết kế cơ sở dữ liệu

4.2.2. Mô tả chi tiết các bảng

4.2.2.1. Bảng “user” – Tài Khoản người Dùng

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính ID định danh của bảng

user

2 username varchar Bắt buộc nhập Tên đăng nhập của người dùng

3 password varchar Bắt buộc nhập Mật khẩu của người dùng

40

5 last_name varchar Họ người dùng

6 full_name varchar Họ tên đầy đủ của

người dùng

7 gender varchar Giới tính của người

dùng

8 email varchar Email của người dùng

9 avatar varchar Ảnh đại diện của

người dùng

10 description varchar Mô tả người dùng

11 phone varchar Số điện thoại người

12 role_id int Khóa ngoại Role của người dùng

13 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

14 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

15 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

16 created_at date Thời gian khởi tạo đối

tượng

17 updated_at date Thời gian cập nhật đối

41

Bảng 4.2.1. Mô tả bảng “user” – Thông tin người dùng

4.2.2.2. Bảng “role” – Vai trò của người dùng

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id varchar Khóa chính ID định danh của bảng

role

2 description varchar Mơ tả chi tiết vai trị

3 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

4 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

5 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

6 created_at date Thời gian khởi tạo đối

tượng

7 updated_at date Thời gian cập nhật đối

tượng

Bảng 4.2.2. Mơ tả bảng “role” – Vai trị của người dùng

4.2.2.3. Bảng “privilege” – Quyền hạn có trong hệ thống

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id varchar Khóa chính ID định danh của bảng

42

2 description varchar Mô tả chi tiết quyền

hạn

3 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

4 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

5 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

6 created_at date Thời gian khởi tạo đối

tượng

7 updated_at date Thời gian cập nhật đối

tượng

Bảng 4.2.3. Mơ tả bảng “privilege” – Quyền hạn có trong hệ thống

4.2.2.4. Bảng “role_privilege” – Quyền hạn của vai trị

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 role_id varchar Khóa chính, Khóa ngoại

ID định danh của bảng role_privilege, khóa ngoại trỏ tới bảng role 2 privilege_id varchar Khóa chính, Khóa

ngoại

ID định danh của bảng role_privilege, khóa ngoại trỏ tới bảng privilege

43

3 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

4 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

5 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

6 created_at date Thời gian khởi tạo đối

tượng

7 updated_at date Thời gian cập nhật đối

tượng

Bảng 4.2.4. Mô tả bảng “role_privilege” – Quyền hạn của vai trò

4.2.2.5. Bảng “user_address” – Địa chỉ của người dùng

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính, Khóa

ngoại

ID định danh của bảng user_address, quan hệ 1-1 với bảng user 2 address varchar Bắt buộc nhập Mô tả chi tiết địa chỉ

người dùng 3 country_id varchar Khóa Ngoại, Bắt

buộc nhập

Khóa ngoại trỏ đến bảng country, cho biết người dùng thuộc quốc gia nào

44

4 province_id int Khóa Ngoại, Bắt buộc nhập

Khóa ngoại trỏ đến bảng province, cho biết người dùng thuộc tỉnh, thành phố nào 5 district_id int Khóa Ngoại, Bắt

buộc nhập

Khóa ngoại trỏ đến bảng district, cho biết người dùng thuộc xã, huyện nào

Bảng 4.2.5. Mô tả bảng “user_address” – Địa chỉ của người dùng

4.2.2.6. Bảng “country” – Quốc gia

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 code varchar Khóa chính ID định danh của bảng

country

2 name varchar Bắt buộc nhập Tên quốc gia

3 phone_code int Bắt buộc nhập Mã code điện thoại của quốc gia

Bảng 4.2.6. Mô tả bảng “country” – Quốc gia

4.2.2.7. Bảng “province” – Tỉnh, Thành Phố

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id id Khóa chính ID định danh của bảng

province

2 is_city boolean Bắt buộc nhập Kiểm tra đối tượng có phải thành phố hay không

45

3 name varchar Bắt buộc nhập Tên của tỉnh, thành phố

4 short_name varchar Bắt buộc nhập Tên rút gọn của tỉnh, thành phố

5 country_id varchar Khóa ngoại, Bắt buộc nhập

Khóa ngoại trỏ đến bảng country, cho biết tỉnh, thành phố thuộc quốc gia nào

Bảng 4.2.7. Mô tả bảng “province” – Tỉnh, Thành Phố

4.2.2.8. Bảng “district” – Xã, Huyện

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id id Khóa chính ID định danh của bảng

district

2 name varchar Bắt buộc nhập Tên của xã, huyện

3 short_name varchar Bắt buộc nhập Tên rút gọn của xã, huyện

4 province_id int Khóa ngoại, Bắt buộc nhập

Khóa ngoại trỏ đến bảng province, cho biết xã, huyện thuộc tỉnh, thành phố nào

Bảng 4.2.8. Mô tả bảng “district” – Xã, Huyện

4.2.2.9. Bảng “apartment” – Thông tin bất động sản

46

1 id int Khóa chính ID định danh của bảng

apartment

2 area double Bắt buộc nhập Diện tích bất động sản 3 title varchar Bắt buộc nhập Tiêu đề bất động sản 4 expired_date date Bắt buộc nhập Ngày hết hạn (đóng

bài viết) bất động sản

5 price_rent double Giá thuê bất động

sản(dành cho thể loại thuê)

6 unit_rent varchar Giá bất động sản kèm

đơn vị(dành cho thể loại thuê)(VD: 15 triệu/ tháng)

7 price double Giá bất động sản tính

theo đơn vị m2(dành cho thể loại bán)

8 total_price double Tổng giá của bất động

sản(dành cho thể loại bán)

9 type_apartment varchar Bắt buộc nhập Loại bất động sản (BUY/RENT)

47

11 status varchar Trạng thái bất động

sản

12 photos varchar Bắt buộc nhập Danh sách hình ảnh của bất động sản 13 author_id int Khóa ngoại Khóa ngoại trỏ đến

bảng user, tác giả của bất động sản

14 category_id int Khóa ngoại, Bắt buộc nhập

Khóa ngoại trỏ đến bảng category, thể loại bất động sản

15 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

16 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

17 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

18 created_at date Thời gian khởi tạo đối

tượng

19 updated_at date Thời gian cập nhật đối

tượng

Bảng 4.2.9. Mô tả bảng “apartment” – Thông tin bất động sản

48

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính, khóa ngoại ID định danh của bảng apartment_detail, quan hệ 1-1 với bảng apartment

2 bathroom_quantity int Số lượng phòng tắm

của bất động sản

3 bedroom_quantity int Số lượng phòng ngủ

của bất động sản

4 description varchar Mô tả chi tiết bất động

sản

5 floor_quantity int Số lượng tầng của bất

động sản

6 house_direction varchar Hướng nhà bất động

sản

7 toilet_quantity int Số phòng vệ sinh của

bất động sản

8 more_info varchar Thông tin thêm về bất

động sản

Bảng 4.2.10. Mô tả bảng “apartment_detail” – Thông tin chi tiết bất động sản

4.2.2.11. Bảng “apartment_address” – Địa chỉ bất động sản

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính, Khóa

ngoại

ID định danh của bảng apartment_address,

49

quan hệ 1-1 với bảng apartment

2 address varchar Bắt buộc nhập Mô tả chi tiết địa chỉ bất động sản

3 country_id varchar Khóa Ngoại, Bắt buộc nhập

Khóa ngoại trỏ đến bảng country, cho biết bất động sản thuộc quốc gia nào

4 province_id int Khóa Ngoại, Bắt buộc nhập

Khóa ngoại trỏ đến bảng province, cho biết bất động sản thuộc tỉnh, thành phố nào 5 district_id int Khóa Ngoại, Bắt

buộc nhập

Khóa ngoại trỏ đến bảng district, cho biết bất động sản thuộc xã, huyện nào

Bảng 4.2.11. Mô tả bảng “apartment_address” – Địa chỉ của bất động sản

4.2.2.12. Bảng “category” – Thể loại bất động sản

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id varchar Khóa chính ID định danh của bảng

category

2 name varchar Mô tả tên của thể loại

3 is_deleted boolean Xác định đối tượng đã

50

4 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

5 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

6 created_at date Thời gian khởi tạo đối

tượng

7 updated_at date Thời gian cập nhật đối

tượng

Bảng 4.2.12. Mô tả bảng “category” – Thể loại bất động sản

4.2.2.13. Bảng “favourite” – Danh sách bất động sản yêu thích của người dùng STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 apartment_id int Khóa chính, Khóa ngoại

ID định danh của bảng favourite, khóa ngoại trỏ tới bảng apartment

2 user_id int Khóa chính, Khóa

ngoại

ID định danh của bảng favourite, khóa ngoại trỏ tới bảng user

3 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

4 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

51

5 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

6 created_at date Thời gian khởi tạo đối

tượng

7 updated_at date Thời gian cập nhật đối

tượng

Bảng 4.2.13. Mô tả bảng “favourite” – Người dùng yêu thích bất động sản

4.2.2.14. Bảng “tracking_category” – Danh sách thông tin tracking của người dùng đối với thể loại

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính ID định danh của bảng

tracking_category 2 ip varchar Bắt buộc nhập Địa chỉ IP của người

dùng

3 rating int Bắt buộc nhập Tổng số điểm của

người dùng quan tâm đối với thể loại này

4 user_id int Khóa ngoại Khóa ngoại trỏ đến

bảng user

5 category_id int Khóa ngoại Khóa ngoại trỏ đến bảng category

6 is_deleted boolean Xác định đối tượng đã

52

7 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

8 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

9 created_at date Thời gian khởi tạo đối

tượng

10 updated_at date Thời gian cập nhật đối

tượng

Bảng 4.2.14. Mô tả bảng “tracking_category” – Thông tin tracking của người dùng đối với category

4.2.2.15. Bảng “tracking_district” – Danh sách thông tin tracking của người dùng đối với huyện/xã

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính ID định danh của bảng

tracking_ district 2 ip varchar Bắt buộc nhập Địa chỉ IP của người

dùng

3 rating int Bắt buộc nhập Tổng số điểm của

người dùng quan tâm đối với huyện, xã này

4 user_id int Khóa ngoại Khóa ngoại trỏ đến

53

5 district_id int Khóa ngoại Khóa ngoại trỏ đến bảng district

6 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

7 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

8 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

9 created_at date Thời gian khởi tạo đối

tượng

10 updated_at date Thời gian cập nhật đối

tượng

Bảng 4.2.15. Mô tả bảng “tracking_ district” – Thông tin tracking của người dùng đối với xã, huyện

4.2.2.16. Bảng “tracking_province” – Danh sách thông tin tracking của người dùng đối với quận/thành phố

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính ID định danh của bảng

tracking_province 2 ip varchar Bắt buộc nhập Địa chỉ IP của người

54

3 rating int Bắt buộc nhập Tổng số điểm của

người dùng quan tâm đối với quận. thành phố này

4 user_id int Khóa ngoại Khóa ngoại trỏ đến

bảng user

5 province_id int Khóa ngoại Khóa ngoại trỏ đến bảng province

6 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

7 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

8 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

9 created_at date Thời gian khởi tạo đối

tượng

10 updated_at date Thời gian cập nhật đối

tượng

Bảng 4.2.16. Mô tả bảng “tracking_ province” – Thông tin tracking của người dùng đối với tỉnh, thành phố

4.2.2.17. Bảng “tracking_area” – Danh sách thơng tin tracking của người dùng đối với diện tích

55

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính ID định danh của bảng

tracking_province 2 ip varchar Bắt buộc nhập Địa chỉ IP của người

dùng

3 rating int Bắt buộc nhập Tổng số điểm của

người dùng quan tâm đối với quận. thành phố này

4 user_id int Khóa ngoại Khóa ngoại trỏ đến

bảng user

5 area double Thông tin tracking về

diện tích

6 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

7 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

8 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

9 created_at date Thời gian khởi tạo đối

56

10 updated_at date Thời gian cập nhật đối

tượng

Bảng 4.2.17. Mô tả bảng “tracking_ area” – Thông tin tracking của người dùng đối với diện tích

4.2.2.18. Bảng “tracking_bathroom” – Danh sách thơng tin tracking của người dùng đối với phòng tắm

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính ID định danh của bảng

tracking_province 2 ip varchar Bắt buộc nhập Địa chỉ IP của người

dùng

3 rating int Bắt buộc nhập Tổng số điểm của

người dùng quan tâm đối với quận. thành phố này

4 user_id int Khóa ngoại Khóa ngoại trỏ đến

bảng user

5 bathroom int Thông tin tracking về

số lượng phòng tắm

6 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

7 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

57

8 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

9 created_at date Thời gian khởi tạo đối

tượng

10 updated_at date Thời gian cập nhật đối

tượng

Bảng 4.2.18. Mô tả bảng “tracking_ bathroom” – Thơng tin tracking của người dùng đối với phịng tắm

4.2.2.19. Bảng “tracking_bedroom” – Danh sách thông tin tracking của người dùng đối với phòng ngủ

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính ID định danh của bảng

tracking_province 2 ip varchar Bắt buộc nhập Địa chỉ IP của người

dùng

3 rating int Bắt buộc nhập Tổng số điểm của

người dùng quan tâm đối với quận. thành phố này

4 user_id int Khóa ngoại Khóa ngoại trỏ đến

bảng user

5 bedroom int Thông tin tracking về

58

6 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

7 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

8 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

9 created_at date Thời gian khởi tạo đối

tượng

10 updated_at date Thời gian cập nhật đối

tượng

Bảng 4.2.19. Mô tả bảng “tracking_ bedroom” – Thông tin tracking của người dùng đối với phòng ngủ

4.2.2.20. Bảng “tracking_direction” – Danh sách thông tin tracking của người dùng đối với hướng nhà

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính ID định danh của bảng

tracking_province 2 ip varchar Bắt buộc nhập Địa chỉ IP của người

dùng

3 rating int Bắt buộc nhập Tổng số điểm của

59

đối với quận. thành phố này

4 user_id int Khóa ngoại Khóa ngoại trỏ đến

bảng user

5 direction varchar Thông tin tracking về

hướng nhà

6 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

7 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

8 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

9 created_at date Thời gian khởi tạo đối

tượng

10 updated_at date Thời gian cập nhật đối

tượng

Bảng 4.2.20. Mô tả bảng “tracking_ province” – Thông tin tracking của người dùng đối với hướng nhà

4.2.2.21. Bảng “tracking_floor” – Danh sách thông tin tracking của người dùng đối với số lượng tầng

60

1 id int Khóa chính ID định danh của bảng

tracking_province 2 ip varchar Bắt buộc nhập Địa chỉ IP của người

dùng

3 rating int Bắt buộc nhập Tổng số điểm của

người dùng quan tâm đối với quận. thành phố này

4 user_id int Khóa ngoại Khóa ngoại trỏ đến

bảng user

5 floor int Thông tin tracking về

số lượng tầng

6 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

7 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

8 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối

Một phần của tài liệu Hệ thống tư vấn lựa chọn bất động sản kết hợp chatbox (báo cáo cuối kì đồ án 2) (Trang 59 - 86)