LỜI NÓI ĐẦU Xây dựng website giao dịch bất động sản MỤC LỤC LỜI NÓI ĐẦU 4 DANH MỤC HÌNH VẼ 6 DANH MỤC BẢNG BIỂU 8 CHƯƠNG 1 MỞ ĐẦU 10 1 1 Giới Thiệu Đề Tài 10 1 1 1 Đặt vấn đề 10 1 1 2 Giải pháp 10 1 1[.]
CÔNG NGHỆ SỬ DỤNG (ISTRODUCTION TO TECHNOLOGIES/DEVELOPING TECHNOLOGIES)
Hệ quản trị cơ sở dữ liệu
Một số hệ quản trị cơ sở dữ liệu hiện nay là:
SQL Server: SQL Server là một hệ thống quản lý cơ sở dữ liệu (Database Management System – DBMS) sử dụng Transact – SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer Một DBMS bao gồm database, database engine và các ứng dụng dùng để quản lý các bộ phận khác nhau trong DBMS.
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Terabyte và có thể phục vụ cho hàng ngàn user cùng lúc SQL Server có thể kết hợp với các server khách như Microsoft Internet Information Services (IIS), E-commerce Server, Proxy Server…
SQL Server sử dụng SQL là ngôn ngữ dành cho các hệ quản trị cơ sở dữ liệu, với các ưu điểm:
- SQL là ngôn ngữ phi thủ tục
- SQL dễ dử dụng, dễ học.
- SQL là ngôn ngữ chuẩn được đưa ra bởi ANSI (American National Standards Institude).
- SQL có thể thực thi câu lệnh truy vấn với cơ sở dữ liệu, lấy dữ liệu ra từ cơ sở dữ liệu, chèn bản ghi, xóa bản ghi, cập nhật thêm bản ghi vào cơ sở dữ liệu.
- SQL có thể điều khiển việc truy nhập vào cơ sở dữ liệu và các đối tượng của cơ sở dữ liệu để đảm bảo tính bảo mật của cơ sở dữ liệu
MySQL là hệ quản trị cơ sở dữ liệu phổ biến trên thế giới MySQL có tốc độ cao, ổn định, dễ sử dụng, có thể hoạt động trên nhiều hệ điều hành khác nhau, có độ bảo mật cao MySQL miễn phí hoàn toàn MySQL có cộng đồng người sử dụng rộng lớn.
MySQL thường sử dụng với các ngôn ngữ như PHP, Perl…
Hệ quản trị cơ sở dữ liệu được chọn sử dụng cho đề tài này là SQL Server,với ưu điểm là được hỗ trợ từ Microsoft, sử dụng kết hợp tốt với nền tảng Net và ngôn ngữ ASP.Net.
Đánh giá các công nghệ khác
.Net framework, C# và ASP.Net
Net framework là môi trường cho việc xây dựng, triển khai và vận hành các ứng dụng Web cũng như Web server .Net framework chứa Common Language Runtime (CLR) và các thư viện cung cấp các dịch vụ cơ sở để xây dựng các ứng dụng .Net framwork giúp đơn giản hóa các quá trình phát triển cũng như tích hợp sản phẩm .Net framwork hỗ trợ nhiều ngôn ngữ: C++, C#, VB.Net và J# Các thành phần của Net framework:
- CLR: là một thành phần cốt lõi của net Nó cung cấp nền cơ sở mà trên đó các ứng dụng cho net được xây dựng CLR quản lý nhiều khía cạnh của chu trình phát triển, giúp người phát triển web chỉ phải tập trung vào việc xử lý các giao dịch logic CLR cung cấp một runtime chung có thể sử dụng với tất cả các ngôn ngữ mà net hỗ trợ
- Unified Programming Classes (UPC): những thư viện lớp lập trình hay các giao diện lập trình ứng dụng (API) được sử dụng bởi nhiều ngôn ngữ khác nhau Để sử dụng những ngôn ngữ lập trình khác nhau, các nhà phát triển nghiên cứu các bộ thư viện khác nhau Điều này làm chậm quá trình phát triển ứng dụng .Net cung cấp các lớp lập trình hợp nhất với một bộ API dùng chung cho mọi ngôn ngữ lập trình Điều này cho phép các nhà phát triển chọn nhiều ngôn ngữ cho ứng dụng của
- ASP.Net: là Active Server Page Net ASP.Net là công nghệ dùng để phát triển các ứng dụng web ASP.Net là kiểu mẫu lập trình phát động bằng sự kiện, với các câu lệnh xử lý được tách riêng với các câu lệnh đánh dấu ASP.Net hỗ trợ 2 ngôn ngữ lập trình: C#, VB.Net
C# là ngôn ngữ lập trình mới Nó được thiết kế riêng để chạy trên Net Framework C# hoàn toàn hướng đối tượng và được thiết kế dựa trên kinh nghiệm của các ngôn ngữ hướng đối tượng khác.
Microsoft Internet Information Services là dịch vụ dành cho máy chủ chạy hệ điều hành Windows nhằm cung cấp và phát tán thông tin trên mạng Nó bao gồm nhiều dịch vụ khác nhau như Web Server, FTP Server… Nó có thể được sử dụng để xuất bản nội dung của các trang web lên Internet/Intranet bằng việc sử dụng giao thức HTTP (Hypertext Transport Protocol)
Nhiệm vụ của IIS là tiếp nhận yêu cầu của máy trạm và đáp ứng yêu cầu đó bằng cách gửi về máy trạm những thông tin mà máy trạm yêu cầu IIS có thể dùng để:
- Xuất bản website lên internet/intranet.
- Tạo các giao dịch thương mại điện tử trên Internet.
- Chia sẻ file dữ liệu thông qua giao thức FTP.
- Cho phép người ở xa có thể truy xuất database.
- Và nhiều khả năng khác.
IIS hoạt động bằng cách: IIS sử dụng giao thức mạng phổ biến là HTTP và FTP cùng một số giao thức khác như SMTP, POP3… để tiếp nhận yêu cầu và truyền tải thông tin trên mạng với các định dạng khác nhau Một trong những dịch vụ phổ biến nhất của IIS là dịch vụ Wworld Wide Web (WWW), nói tắt là dịch vụ web Dịch vụ web sử dụng giao thức HTTP để tiếp nhân yêu cầu (Request) của trình duyệt web dưới dạng một địa chỉ URL (Uniform Resource Locator) của một trang web và IIS phản hồi lại các yêu cầu trên bằng cách gửi về cho trình duyệt web nội dung của trang web tương ứng.
PHP là một ngôn ngữ lập trình kịch bản được sử dụng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML PHP được tối ưu cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn với các ngôn ngữ khác.
Apache là một chương trình máy chủ HTTP, dùng cho máy chủ đối thoại với client qua giao thức HTTP Apache có thể chạy trên các hệ điều hành Unix, Windows, Linux… Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở Apach là chương trình máy chủ HTTP thông dụng nhất.
Các công nghệ được sử dụng trong đề tài này là Net framework, C#, IIS vàASP.Net, với ưu điểm là được hỗ trợ từ Microsoft, và sử dụng tốt với SQL Server.
PHÂN TÍCH HỆ THỐNG (SYSTEM ANALYSIS)
Phân tích các yêu cầu về xử lý của hệ thống hiện hành
-Tin tức của nhà đầu tư giao dịch bất động sản sau khi đăng lên web site sẽ được kiểm duyệt bởi 1 bộ phận chuyên lọc tin tức giao dịch Nếu tin của nhà giao dịch không bị lỗi , những thông tin điền vào mẫu biểu không bị sai lệch sẽ được đăng lên trang web ngay sau đó.
3.1.1.2 Bộ phận tư vấn môi giới khách hàng :
- Khách hàng có nhu cầu tư vấn tìm hiểu thêm về thị trường bất động sản , thể liên hệ trực tiếp với nhân viên tư vấn qua số điện thoại hoặc gửi email Trên cơ sở tổng hợp những tin tức và nhu cầu nhiều giữa người mua và người bán, bộ phận tư vấn khách hàng sẽ đưa ra những lựa chọn phù hợp nhất cho khách hàng
3.1.1.3 Bộ phận quảng cáo chứng thực thông tin đăng lên:
- Với những khách hàng không hiểu nhiều về tin học nhưng lại muốn quảng cáo địa ốc của mình 1 cách chuyên nghiệp nhất Chúng tôi có 1 đội ngũ chuyên chụp ảnh quảng cáo nhờ đó chi tiết căn nhà như mặt tiền căn hộ , phòng ngủ , phòng tắm , phòng ăn hay các tiện nghi khác của căn nhà nhanh chóng đến được với người đang có nhu cầu mua
3.1.1.4.Bộ phận quản lý giao dịch khách hàng :
- Dựa vào những tin đăng có nhu cầu tương đồng với nhau , bộ phận quản lý sẽ gửi tin đưa ra những gợi ý cho nhà giao dịch giúp cho nhà giao dịch có được sự lựa chọn tối ưu nhất.
- Trong mỗi tin đăng của nhà giao dịch có 1 mục để người xem nêu ra lời bình riêng của mình Để tránh cho người đăng tin khỏi sự phiền phức không đáng có , những lời bình này trước khi hiển thị trên trang web sẽ được kiểm duyệt bởi bộ phận quản lý này
- Nếu tin đăng đã có sự chấp thuận đồng ý giữa 2 bên mua bán thì giao dịch đó được cho là thành công Bộ phận quản lý giao dịch sẽ loại bớt những giao dịch đó.
Hệ thống hiện hành là sàn giao dịch thông tin bất động sản Sàn giao dịch có thể quảng bá giúp cho người bán và người mua dễ dàng tiếp cận thông tin bất động sản mới nhất trên thị trường, cũng như thỏa mãn nhu cầu giao dịch trong thời gian sớm nhất Đồng thời, hệ thống cũng có các chính sách chăm sóc khách hàng để tiếp nhận thông tin phản hồi cũng như đưa ra tư vấn cho khách hàng nếu có yêu cầu Ngoài ra, sàn giao dịch cũng cung cấp những thông tin về những dự án mới, quy hoạch và các tin tức khác.
Hệ thống hoạt động cần có các thông tin sau:
3.1.2.1 Người sử dụng đăng ký tài khoản cá nhân và đăng nhập vào hệ thống.
- Để đăng ký được tài khoản cá nhân thì người sử dụng cần cung cấp cho hệ thống các thông tin cần thiết như: địa chỉ hòm thư, mật khẩu, họ tên, số điện thoại, địa chỉ nơi ở …
- Sau khi đăng ký tài khoản cá nhân thì người dùng địa chỉ hòm thư và mật khẩu đã đăng ký để đăng nhập hệ thống.
3.1.2.2 Người sử dụng đăng thông tin bất động sản cần giao dịch
Sàn giao dịch trực tuyến cho phép người sử dụng đăng các thông tin về bất động Thông tin chi tiết về bất động sản được đưa lên sàn :
- Tiêu đề tin: do thành viên nhập vào
- Loại bất động sản, loại giao dịch bất động sản, loại tiền tệ sử dụng và tình trạng pháp lý thành viên sẽ được chọn sẵn.
- Địa chỉ : tỉnh/ thành phố , quận /huyện người sử dụng sẽ chọn sẵn và điền thông tin chi tiết địa chỉ dưới mức quận/ huyện.
- Các mô tả chi tiêt về BĐS: diện tích, giá, số phòng ngủ, số phòng tắm, số tầng, tổng số phòng, số ngày đăng, ảnh mặt tiền và các mô tả thêm khác do thành viên đăng tin cung cấp
- Một tin được đăng lên thì sẽ có : ngày đăng tin, tổng số lượt xem tin đó. 3.1.2.3 Lựa chọn đăng ký giao dịch trên sàn của thành viên.
3.1.2.4 Ý kiến phản hồi của người sử dụng
3.2 Sơ đồ chức năng nghiệp vụ của hệ thống
Với yêu cầu nghiệp vụ và thông tin đặt ra đối với hệ thống ta xây dựng được sơ đồ chức năng của hệ thống
Hình 3.1: Sơ đồ chức năng nghiệp vụ của hệ thống
3.2.1 Chức năng quản lý người dùng (1.0)
Hình 3.2: Sơ đồ phân rã chức năng quản lý người dùng
Trong chức năng quản lý người dùng bao gồm các chức năng con :
- Đăng ký thành viên(1.1): Chức năng này giúp cho người sử dụng cũng như các khách thăm website đăng ký tài khoản để đăng nhập trên website Chức năng này đòi hỏi người sử dụng nhập các thông tin cần thiết như : địa chỉ hòm thư, mật khẩu, họ tên, số điện thoại, địa chỉ nơi ở , ….
- Đăng nhập(1.2): Hệ thống sẽ cho người sử dụng truy cập website với tư cách là thành viên sau khi kiểm tra đúng địa chỉ hòm thư và password của người sử dụng.
- Quản lý thông tin cá nhân(1.3): Chức năng này giúp cho thành viên quản lý được tài khoản của mình khi họ đã đăng ký và đăng nhập vào website Thành viên có thể xem và sửa thông tin về tài khoản của mình, xem những tin họ đã đăng, cũng như xem các giao dịch mà họ đang quan tâm Khách hàng có thể lưu giao dịch họ chú ý vào mục giao dịch quan tâm
- Quản lý thành viên(1.4): Là chức năng thống kê, truy xuất thông tin của các thành viên.Ở đây người quản trị trang web có thể gán thêm hay cấm một số quyền từ danh sách quyền sử dụng trang web đã có sẵn trong cơ sở dữ liệu.
- Quản lý quyền(1.5): Chức năng quản lý quyền là chức năng đã được xây dựng sẵn và các quyền được xây dựng không thể sửa đổi mà chỉ có thể sử dụng nó để phân quyền, cấm quyền hay thêm quyền cho các nhóm người sử dụng, hay từng thành viên của website Chức năng này phục vụ cho người quản trị của trang web.
3.2.2 Chức năng quản lý thông tin bất động sản
Hình 3.3: Sơ đồ phân rã chức năng quản lý thông tin bất động sản Đây là một chức năng dành cho các thành viên của website Nơi mà người sử dụng có thể đăng những thông tin bất động sản của mình lên trên trang web Và từ đó mọi người có thể tìm hiểu, giao lưu, trao đổi thông tin và tìm kiếm các thông tin mà mình đang quan tâm về thị trường bất động sản.
3.2.3 Chức năng quản lý giao dịch bất động sản
Hình 3.4: Sơ đồ phân rã chức năng quản lý giao dịch bất động sản
Sơ đồ các luồng dữ liệu của hệ thống
Chức năng: là một tiến trình có nhiệm vụ biến đổi thông tin( thay đổi giá trị, cấu trúc, vị trí của một dữ liệu) để đưa ra những thông tin đáp ứng nhu cầu của hệ thống
Tên luồng dữ liệu: Là một tuyến truyền dẫn thông tin vào hay ra một chức năng nào đó
Kho dữ liệu: Là một dữ liệu đơn hay có cấu trúc được lưu lại để có thể được truy cập nhiều lần về sau Đối tác: Là một thực thể ngoài hệ thống, có trao đổi thông tin với hệ thống. ٠Sơ đồ luồng dữ liệu mức ngữ cảnh
Hình 3.8: Sơ đồ luồng dữ liệu mức đỉnh ngữ cảnh
Hình 3.9: Sơ đồ luồng dữ liệu mức đỉnh của hệ thống
3.3.1 Sơ đồ dòng dữ liệu mô tả chức năng đăng ký hệ thống
Hình 3.10: Sơ đồ dòng dữ liệu mô tả chức năng đăng ký hệ thống
3.3.2 Sơ đồ dòng dữ liệu mô tả chức năng đăng nhập hệ thống
Hình 3.11: Sơ đồ dòng dữ liệu mô tả chức năng đăng nhập hệ thống
Hình 3.12: Sơ đồ dòng dữ liệu mô tả chức năng quản lý quyền
3.3.4 Sơ đồ dòng dữ liệu mô tả chức năng quản lý thông tin cá nhân
Hình 3.13: Sơ đồ dòng dữ liệu mô tả chức năng quản lý thông tin cá nhân
3.3.5 Sơ đồ dòng dữ liệu mô tả chức năng quản lý thành viên
Hình 3.14: Sơ đồ dòng dữ liệu mô tả chức năng quản lý thành viên
3.3.6 Sơ đồ dòng dữ liệu mô tả chức năng quản lý thông tin giao dịch bất động sản
Hình 3.15: Sơ đồ dòng dữ liệu mô tả chức năng quản lý thông tin bất động sản
Hình 3.16: Sơ đồ dòng dữ liệu mô tả chức năng quản lý giao dịch bất động sản
3.3.8 Sơ đồ dòng dữ liệu mô tả chức năng tìm kiếm
Hình 3.17: Sơ đồ dòng dữ liệu mô tả chức năng tìm kiếm
3.3.9 Sơ đồ dòng dữ liệu mô tả chức năng quản lý tin tức
Hình 3.18: Sơ đồ dòng dữ liệu mô tả chức năng quản lý tin tức
3.3.10 Sơ đồ dòng dữ liệu mô tả chức năng quản lý ý kiến phản hồi
Hình 3.19: Sơ đồ dòng dữ liệu mô tả chức năng quản lý ý kiến phản hồi
Biểu diễn nhiều thực thể tham gia liên kết
Biểu diễn một thực thể tham gia liên kết
Biểu diễn liên kết PK_iNguoiDungI
D Biểu diễn khóa chính trong bảng
(System Design) 4.1 Thiết kế cơ sở dữ liệu
4.1.1 Thiết kế cơ sở dữ liệu cho việc quản lý website
Sau khi phân tích các danh mục dữ liệu của website, các danh mục dữ liệu được chuẩn hóa như sau:
Bảng 4.1: “Phân tích dữ liệu quản lý danh mục website mức 1” (UNF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK
Quyền ID Có PK_RG1
ID Danh mục cấp 1 Có PK _RG2
Vị trí bất động sản
ID danh mục cấp 2 Có PK_RG2.2
Chuẩn hóa về dạng 1NF
Nhận xét: Bảng 4.1 “Phân tích dữ liệu quản lý danh mục website mức 1” vẫn chưa đạt chuẩn 1NF do còn chứa các nhóm lặp Tiến hành loại bỏ 2 nhóm lặp là RG1 và RG2 thu được 3 bảng:
Bảng 4.3: Bảng “Tài khoản – Quyền”.
Bảng 4.4: Bảng “Phân tích dữ liệu quản lý danh mục website mức 2”
Bảng 4.2: Bảng “Tài khoản” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK
Tên đăng nhập Mật khẩu
Bảng 4.3: Bảng “Tài khoản – Quyền mức 1” (1NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.2
Bảng 4.4: Bảng “Phân tích dữ liệu quản lý danh mục website mức 2”
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK
ID Danh mục cấp 1 Có PK _RG2
Loại bất động sản ID Có PK_RG2.1
Vị trí bất động sản Giá
ID danh mục cấp 2 Có PK_RG2.2
Xét thấy bảng 4.4 Bảng “Phân tích dữ liệu quản lý danh mục website mức 2” chưa đạt chuẩn 1NF do còn chứa nhóm lặp.
Loại bỏ RG2.1 và RG2.2 từ bảng 4.4 thu được 3 bảng sau:
Bảng 4.5: Bảng “Tài khoản – Danh mục cấp 1”
Bảng 4.6: Bảng “Tài khoản – Danh mục cấp 1- Bất động sản”
Bảng 4.7: Bảng “Tài khoản – Danh mục cấp 1- Danh mục cấp 2”
Bảng 4.5: Bảng “Tài khoản – Danh mục cấp 1” (1NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.3
ID Danh mục cấp 1 Có PK
Bảng 4.6: Bảng “Tài khoản – Danh mục cấp 1- Bất động sản” (1NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.5
ID Danh mục cấp 1 Có PK
Bất động sản ID Có PK
Vị trí bất động sản Giá
Bảng 4.7: Bảng “Tài khoản – Danh mục cấp 1- Danh mục cấp 2 (1NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.5
ID Danh mục cấp 1 Có PK
ID danh mục cấp 2 Có PK
Chuẩn hóa cơ sở dữ liệu cho việc quản lý website về dạng 2NF
Sau quá trình chuẩn hóa ở trên có tổng số 4 bảng đã là dạng 1NF và 1 bảng ở dạng 3NF là bảng 4.2:
Bảng 4.2: Bảng “Tài khoản” (3NF)
Bảng 4.3: Bảng “Tài khoản – Quyền mức 1” (1NF)
Bảng 4.5: Bảng “Tài khoản – Danh mục cấp 1” (1NF)
Bảng 4.6: Bảng “Tài khoản – Danh mục cấp 1- Bất động sản” (1NF)
Bảng 4.7: Bảng “Tài khoản – Danh mục cấp 1- Danh mục cấp 2 (1NF)
Với các bảng có khóa chính được tạo bởi hơn một thuộc tính, các thuộc tính không nằm trong khóa chính phải phụ thuộc đầy đủ vào khóa chính mà không tồn tại các thuộc tính chỉ phụ thuộc một phần của khóa chính Nếu có thuộc tính nào chỉ phụ thuộc và một phần của khóa chính thì bảng đó chưa đạt chuẩn 2NF.
Bảng 4.3: Bảng “Tài khoản – Quyền cấp 1” (1NF) có thuộc tính chỉ phụ thuộc vào 1 phần của khóa chính Tách bảng 4.3 thành 2 bảng sau:
Bảng 4.8: Bảng “Tài khoản –Quyền”.(3NF)
Bảng 4.8: Bảng “Tài khoản – Quyền” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.2
STT Thuộc tính Thuộc tính bổ sung ?
Bảng 4.5: Bảng “Tài khoản – Danh mục cấp 1” (1NF) có thuộc tính chỉ phụ thuộc vào một phần của khóa chính vì thế ta tách làm 2 bảng sau:
Bảng 4.10: Bảng “Tài khoản- Danh mục cấp 1”
Bảng 4.11: Bảng “Danh mục cấp 1”
Bảng 4.10: Bảng “Tài khoản- Danh mục cấp 1” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.3
ID Danh mục cấp 1 Có PK 4.11
Bảng 4.11: Bảng “Danh mục cấp 1” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
ID Danh mục cấp 1 Có PK
- Bảng 4.6: Bảng “Tài khoản – Danh mục cấp 1- Bất động sản” (1NF) có thuộc tính chỉ phụ thuộc vào một phần của khóa chính vì thế ta tách làm 2 bảng sau: Bảng 4.12: Bảng “Tài khoản – Danh mục cấp 1-Bất động sản”
Bảng 4.13: Bảng “Bất động sản”
Bảng 4.12: Bảng “Tài khoản – Danh mục cấp 1-Bất động sản” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.10
ID Danh mục cấp 1 Có PK
Bất động sản ID Có PK 4.13
Bảng 4.13: Bảng “Bất động sản” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
Bất động sản ID Có PK
Vị trí bất động sản Giá
Bảng 4.7: Bảng “Tài khoản – Danh mục cấp 1- Danh mục cấp 2” (1NF) có thuộc tính chỉ phụ thuộc vào một phần của khóa chính vì thế ta tách làm 2 bảng sau: Bảng 4.14: Bảng “Tài khoản – Danh mục cấp 1- Danh mục cấp 2”
Bảng 4.15: Bảng “Danh mục cấp 2”
Bảng 4.14: Bảng “Tài khoản – Danh mục cấp 1- Danh mục cấp 2” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.10
ID Danh mục cấp 1 Có PK
ID danh mục cấp 2 Có PK 4.15
Bảng 4.15: Bảng “Danh mục cấp 2” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
ID danh mục cấp 2 Có PK
Chuẩn hóa cơ sở dữ liệu cho việc quản lý website về dạng 3NF Ở dạng 3NF, các thuộc tính phải thỏa mãn điều kiện không có phụ thuộc hàm vào thuộc tính không khóa.
Nhận thấy tất cả các bảng đã được chuẩn hóa về dạng 3NF
4.1.2.Thiết kế cơ sở dữ liệu cho việc quản lý hệ thống
Bảng 4.16: Bảng “Phân tích dữ liệu cho quản lý hệ thống mức 1” (UNF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK
Tin đăng ID Có PK_RG1
Câu hỏi ID Có PK_RG2
Trả lời ID Có PK_RG2.1
Nhóm giao dịch ID Có PK_RG3
Loại bất động sản ID Có PK_RG3.1
Mô tả bất động sản
Giá Ảnh bất động sản
Phản hồi ID Có PK_RG3.1.1
Chuẩn hóa về dạng 1NF
Nhận thấy Bảng 4.16: Bảng “Phân tích dữ liệu cho quản lý hệ thống mức 1” chưa đạt chuẩn 1NF do còn chứa nhóm lặp Tách bỏ RG1 , RG2, RG3 được 3 bảng sau: Bảng 4.17: Bảng “Tài khoản – Tin tức”
Bảng 4.18: Bảng “Tài khoản – Câu hỏi”
Bảng 4.19: Bảng “Tài khoản – Nhóm giao dịch”
Bảng 4.17: Bảng “Tài khoản – Tin tức” (1NF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK
Tin đăng ID Có PK
Bảng 4.18: Bảng “Tài khoản – Câu hỏi” (UNF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK
Câu hỏi ID Có PK_RG2
Trả lời ID Có PK_RG2.1
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK
Nhóm giao dịch ID Có PK_RG3
Loại bất động sản ID Có PK_RG3.1
Mô tả bất động sản
Giá Ảnh bất động sản
Phản hồi ID Có PK_RG3.1.1
Nhận xét bảng 4.18: Bảng ““Tài khoản – Câu hỏi” còn chưa đạt chuẩn 1NF do còn chứa nhóm lặp Loại bỏ RG2.1 thu được 2 bảng là :
Bảng 4.20: Bảng “Tài khoản – Câu hỏi”
Bảng 4.21: Bảng “Tài khoản – Câu hỏi- Trả lời”
Bảng 4.20: Bảng “Tài khoản – Câu hỏi” (1NF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK 4.2
Câu hỏi ID Có PK
Bảng 4.21: Bảng “Tài khoản – Câu hỏi- Trả lời” (1NF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK 4.20
Câu hỏi ID Có PK
Trả lời ID Có PK
Nhận xét Bảng 4.19: Bảng “Phân tích dữ liệu cho quản lý hệ thống mức 2” chưa đạt chuẩn 1NF do còn chứa nhóm lặp
Tiến hành loại bỏ RG3.1 thu được 2 bảng :
Bảng 4.22: Bảng “Tài khoản – Nhóm giao dịch”
Bảng 4.23: Bảng “Phân tích dữ liệu cho quản lý hệ thống mức 3”
Bảng 4.22: Bảng “Tài khoản – Nhóm giao dịch” (1NF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK 4.2
Nhóm giao dịch ID Có PK
Bảng 4.23: Bảng “Phân tích dữ liệu cho quản lý hệ thống mức 3”
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK 4.22
Nhóm giao dịch ID Có PK
Loại bất động sản ID Có PK
Mô tả bất động sản
Giá Ảnh bất động sản
Phản hồi ID Có PK_RG3.1.1
Nhận xét : Bảng 4.23: Bảng “Phân tích dữ liệu cho quản lý hệ thống mức 3”
Vẫn chưa đạt chuẩn 1NF do còn chứa nhóm lặp Loại bỏ RG3.1.1, RG3.1.2 và RG3.1.3 thu đuợc 3 bảng là :
Bảng 4.24: Bảng “Tài khoản –Nhóm giao dịch- Loại bất động sản”
Bảng 4.25: Bảng “Tài khoản- Nhóm giao dịch– Loại bất động sản– Phản hồi”
Bảng 4.26: Bảng “Phân tích dữ liệu cho quản lý hệ thống mức 4”
Bảng 4.24: Bảng “Tài khoản –Nhóm giao dịch- Loại bất động sản” (1NF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
1 Tài khoản ID Có PK 4.22
Nhóm giao dịch ID Có PK
Loại bất động sản ID Có PK
Mô tả bất động sản
Giá Ảnh bất động sản
Bảng 4.25: Bảng “Tài khoản- Nhóm giao dịch– Loại bất động sản– Phản hồi” (1NF) STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK 4.24
Nhóm giao dịch ID Có PK
Loại bất động sản ID Có PK
Phản hồi ID Có PK
Bảng 4.26: Bảng “Tài khoản- Nhóm giao dịch- Loại bất động sản- Tin đăng- Chi tiết Tin đăng” (1NF) có thuộc tính chỉ phụ thuộc vào một phần khóa chính vì thế tách thành 2 bảng sau:
Bảng 4.27: Bảng “Tài khoản- Nhóm giao dịch- Loại bất động sản- Tin đăng-
Bảng 4.27: Bảng “Tài khoản- Nhóm giao dịch- Loại bất động sản- Tin đăng- Chi tiết Tin đăng” (3NF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK 4.53
Nhóm giao dịch ID Có PK
Loại bất động sản ID Có PK
Tin đăng ID Có PK
Chi tiết Tin đăng ID Có PK 4.62
Bảng 4.28: Bảng “Chi tiết Tin đăng” (3NF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Chi tiết Tin đăng ID Có PK
4.1.3 Bảng dữ liệu của hệ thống
Dựa vào quá trình thiết kế cơ sở dữ liệu phần 4.1 cơ sở dữ liệu của hệ thống được thiết kế gồm 17 bảng sau.
- Bảng dữ liệu thành viên – tblUser: Chứa thông tin về các thành viên đã đăng ký.
Tên trường Kiểu dữ liệu Chú thích
UserID int Mã số khóa người sử dụng
UserName nvarchar(50) Tên truy nhập
UserPassWord nvarchar(25) Mật khẩu người dùng
UserMail nvarchar(50) Địa chỉ hòm thư điện tử
ActiveCode nvarchar(50) Mã kích hoạt
FullName nvarchar(50) Tên đầy đủ
Sodienthoai nvarchar(12) Số điện thoại
RightID int Mã quyền sử dụng
UserLastTime datetime Lần cuối đăng nhập
UserStatus bit Trạng thái đăng nhập
Newsletter bit Gửi thư điện tử tự động
UserAvar image Ảnh đại diện
Bảng 4.29: Bảng dữ liệu thành viên
- Bảng dữ liệu quyền – tblQuyen: Chứa thông tin các quyền đối với người sử dụng và người quản trị.
Tên trường Kiểu dữ liệu Chú thích
QuyenID int Mã số quyền
Mota nvarchar Mô tả quyền
Bảng 4.30: Bảng dữ liệu quyền
- Bảng dữ liệu nhóm người sử dụng – tblNhomnguoidung: Chứa thông tin về nhóm người sử dụng.
Tên trường Kiểu dữ liệu Chú thích
NhomnguoidungID int Mã số khóa của nhóm người sử dụng Tennhomnguoidung nvarchar(50) Tên nhóm người sử dụng
Bảng 4.31: Bảng dữ liệu nhóm người sử dụng
- Bảng dữ liệu quyền của nhóm người sử dụng – tblNhomquyen: Chứa thông tin về nhóm quyền của thành viên.
Tên trường Kiểu dữ liệu Chú thích
NhomquyenID int Mã số khóa nhóm quyền của người sử dụng NhomnguoidungID int Mã số khóa nhóm người dùng
RightID int Mã số khóa quyền
Bảng 4.32: Bảng dữ liệu nhóm quyền
- Bảng dữ liệu thêm quyền cho người sử dụng – tblThemquyen: Chứa thông tin người sử dụng và quyền được thêm.
Tên trường Kiểu dữ liệu Chú thích
ThemquyenID int Mã số khóa thêm quyền của người sử dụng
UserID int Mã số khóa người dùng
QuyenID int Mã số khóa quyền
Bảng 4.33: Bảng dữ liệu thêm quyền
- Bảng dữ liệu cấm quyền người sử dụng – tblCamquyen: Chứa thông tin về người sử dụng và quyền bị cấm.
Tên trường Kiểu dữ liệu Chú thích
CamquyenID int Mã số khóa cấm quyền của người sử dụng
UserID int Mã số khóa người dùng
QuyenID int Mã số khóa quyền
Bảng 4.34: Bảng dữ liệu cấm quyền
- Bảng dữ liệu tin đăng bất động sản – tblTindang: chứa các thông tin về bất động sản được đăng trên sàn giao dịch.
Tên trường Kiểu Dữ Liệu Chú thích
TindangID int Mã số khóa tin đăng
UserID int Mã số khóa người dùng
Ngaydangtin datetime Ngày đăng tin
Songaydang datetime Ngày hết hạn tin
TotalView int Tổng số lần xem tin
StreetName nvarchar(200) Tên đường phố và địa chỉ nhà cụ thể
LoaigiaodichID int Loại giao dịch
Loaibatdongsan int Loại bất động sản
TypeCurrecyID int Loại tiền giao dịch
Tổng số phòng int Tổng số phòng
SoPhongngu int Số phòng ngủ
SoPhongbep int Số phòng bếp
SoPhongtam int Số phòng tắm
AnhMattien nvarchar(200) Ảnh mặt tiền
Bảng 4.35: Bảng dữ liệu tin đăng
- Bảng dữ liệu tỉnh / thành phố - tblProvince: chứa tên các tỉnh thành / phố.
Tên trường Kiểu dữ liệu Chú thích
ProvinceID int Mã số khóa tỉnh/Tp
ProvinceName nvarchar(25) Tên tỉnh/Tp
Bảng 4.36: Bảng dữ liệu tỉnh / thành phố
- Bảng dữ liệu quận / huyện – tblDistrict: chứa tên các quận / huyện.
Tên trường Kiểu dữ liệu Chú thích
DistrictID int Mã số khóa quận /huyện
ProvinceID int Tên tỉnh/Tp
DistrictName nvarchar(50) Tên quận /huyện
Bảng 4.37: Bảng dữ liệu quận / huyện
- Bảng dữ liệu loại giao dịch bất động sản – tblLoaigiaodich
Tên trường Kiểu dữ liệu Chú thích
LoaigiaodichID int Mã loại giao dich
Tên Nvarchar(30) Tên loại giao dịch
Bảng 4.38: Bảng dữ liệu loại giao dịch bất động sản
- Bảng dữ liệu loại bất động sản – tblLoaibatdongsan
Tên trường Kiểu dữ liệu Chú thích
LoaibatdongsanID int Mã Loại bất động sản
Tên nvarchar(30) Tên loại bất động sản
Bảng 4.39: Bảng dữ liệu loại bất động sản
- Bảng dữ liệu loại tiền tệ - tblTypeCurency
Tên trường Kiểu dữ liệu Chú thích
TypeCurencyID int Mã Loại tiền
Tên nvarchar(30) Tên loại tiền
Bảng 4.40: Bảng dữ liệu loại tiền tệ
- Bảng dữ liệu tình trạng pháp lý – tblTinhtrangphaply
Tên trường Kiểu dữ liệu Chú thích
TinhtrangphaplyID int Mã tình trạng pháp lý
Tên nvarchar(30) Tên tình trạng pháp lý
Bảng 4.41 Bảng dữ liệu tình trạng pháp lý
- Bảng dữ liệu giao dịch – tblGiaodich: lưu thông tin các giao dịch đã được
GiaodichID int Mã số khóa giao dịch
TindangID int Mã số khóa tin đăng
UserID int Mã số khóa người đăng tin ngayluutin datetime Ngày lưu tin giao dịch
Status bit Trang thái giao dịch
Bảng 4.42 Bảng dữ liệu giao dich
- Bảng dữ liệu dự án – tblDuan: chứa thông tin về các dự án.
Tên trường Kiểu dữ liệu Chú thích
DuanID int Mã số khóa dự án
UserID int Mã số khóa người đăng
Tieude nvarchar(200) Tiêu đề dự án
Anh nvarchar(200) Ảnh mô tả dự án
Thoigian datetime Thời gian đăng dự án
Noidung nvarchar(max) Mô tả dự án
Bảng 4.43 Bảng dữ liệu dự án
- Bảng dữ liệu tin tức – tblTintuc: chứa thông tin về các tin tức.
Tên trường Kiểu dữ liệu Chú thích
DuanID int Mã số khóa tin tức
UserID int Mã số khóa người đăng
Tieude nvarchar(200) Tiêu đề tin tức
Anh nvarchar(200) Ảnh mô tả tin tức
Thoigian datetime Thời gian đăng tin tức
Noidung nvarchar(max) Mô tả tin tức
Bảng 4.44 Bảng dữ liệu tin tức
- Bảng dữ liệu liên hệ người sử dụng – tblLienhe: chứa ý kiến phản hồi của người sử dụng.
Tên trường Kiểu dữ liệu Chú thích
LienheID int Mã số khóa tin liên hệ
Tennguoigui nvarchar(30) Tên người gửi
Email nvarchar(30) Địa chỉ hòm thư người gửi
Dienthoai nvarchar(12) Số điện thoại liên hệ
Noidung nvarchar(max) Nội dung phản hồi
Bảng 4.45 Bảng dữ liệu liên hệ người sử dụng
4.1.4 Sơ đồ quan hệ giữa các bảng dữ liệu
Hình 4.1: Sơ đồ quan hệ giữa các bảng dữ liệu
Hình 4.2: Giao diện trang chủ
4.2.2 Xây dựng các trang con cho website
- Trang đăng ký thành viên :
Hình 4.4: Giao diện đăng ký thành viên
- Trang quản lý thông tin cá nhân:
Hình 4.5 : Giao diện trang quản lý thông tin cá nhân
- Trang đăng tin bất động sản
- Trang giao dịch bất động sản:
Hình 4.7: Trang giao dịch bất động sản
- Trang gợi ý giao dịch liên quan sau khi thành viên đăng tin
Hình 4.8: Trang gợi ý giao dịch sau khi đăng tin
- Trang tin chi tiết thông tin bất động sản
Hình 4.9: Trang chi tiết thông tin bất động sản
- Trang liên hệ người dùng:
Hình 4.12: Trang liên hệ người dùng
- Trang quản trị hệ thống
4.3.1 Input form của người dùng khi đăng kí vào hệ thống
Input form bao gồm các thông tin sau:
4.3.2 Input form của người dùng khi đăng nhập vào hệ thống
Input form bao gồm các thông tin sau:
4.3.3 Input form của người dùng khi đăng tin
Input form bao gồm các thông tin sau:
-Địa chỉ, tỉnh , thành phố, quận huyện
4.3.4 Input form của người dùng khi liên hệ
Input form bao gồm các thông tin sau:
4.3.5 Input form của người dùng khi quản lý thông tin tài khoản cá nhân
Input form bao gồm các thông tin sau:
- Output form của người dùng sau khi đăng tin được thông qua admin sẽ được kiểm duyệt , nếu không có sai xót gì sẽ được đăng tin trên website tại module bài viết mới nhất
-Output form của người dùng sau khi liên hệ sẽ được gửi vào cơ sở dữ liệu ,người quản trị thông qua trang thống kê sẽ có trách nhiệm trả lời cho khách hàng những thắc mắc cũng như mong muốn tư vấn dịch vụ
CHƯƠNG 5: HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG
5.1 Hướng dẫn cài đặt chương trình
Cài đặt website theo các bước:
- Đặt toàn bộ website vào thư mục của domain trên server Server phải hỗ trợ ASP.Net 3.5 hoặc cao hơn Cấu hình lại file web.config trong thư mục gốc của website nếu cần.
- Chạy file cơ sở dữ liệu tên Webnhadat.sql trong SQL Server để tạo một cơ sở dữ liệu mới trong SQL Server với tên Webnhadat.
5.2.Hướng dẫn sử dụng chương trình:
5.2.1 Hướng dẫn cho người dùng website a) Đăng kí tài khoản:
Hình 4.23: Trang đăng kí tài khoản.
- Để đăng kí tài khoản, điền đầy đủ thông tin vào cột bên trái :
- Độ dài email tối đa 320 kí tự.
- Mật khẩu từ 8 đến 32 kí tự.
- Sau khi điền đầy đủ thông tin, ấn nút Tôi đồng ý, người dùng sẽ tạo được tài khoản với thông tin đăng nhập là email và password đã khai báo ở bước trên, có thể tiến hành đăng nhập với thông tin đó. b) Đăng tin trên website:
Hình 4.24: Trang đăng tin Để đăng tin trên trang web người sử dụng cần đăng ký thành viên rồi dăng nhập mới được quyền đăng.
- Chọn Loại bất động sản
- Chọn Tình trạng pháp lý
- Điền số phòng ngủ(nếu có)
- Điền số phòng tắm (nếu có)
- Điền số tầng (nếu có)
- Điền địa chỉ, chọn quận/huyện ,tỉnh/thành phố.
- Chọn ảnh để đăng (nếu có)
Cuối cùng chọn cập nhật để đăng tin trên website. c) Tìm kiếm giao dịch đăng trên website:
Hình 4.25: chức năng tìm kiếm trên website
Người sử dụng có thể chọn tỉnh thành phố ,sau đó sẽ hiện ra các quận huyện tương ứng Tiếp theo người sử dụng lựa chọn quận huyện cần xem.
2) Tại module Tìm kiếm chi tiết:
Module này được thiết kế giúp người sử dụng tìm thông tin đúng với yêu cầu
1 cách chính xác nhất với nhiều cách tìm khác nhau như.
-Tìm theo loại giao dịch
-Tìm theo loại bất động sản
-Tìm theo tỉnh quận huyện
Hoặc tìm theo cụm từ bất kỳ d) Hướng dẫn liên hệ với ban quản trị
Hình 4.31: chức năng liên hệ quản trị
Mọi thắc mắc yêu cầu của người sử dụng đều có thể liên hệ dễ dàng thông qua moudule liên hệ Người sử dụng chỉ cần điền vài thông tin sau :
THIẾT KẾ HỆ THỐNG (SYSTEM DESIGN)
(System Design) 4.1 Thiết kế cơ sở dữ liệu
4.1.1 Thiết kế cơ sở dữ liệu cho việc quản lý website
Sau khi phân tích các danh mục dữ liệu của website, các danh mục dữ liệu được chuẩn hóa như sau:
Bảng 4.1: “Phân tích dữ liệu quản lý danh mục website mức 1” (UNF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK
Quyền ID Có PK_RG1
ID Danh mục cấp 1 Có PK _RG2
Vị trí bất động sản
ID danh mục cấp 2 Có PK_RG2.2
Chuẩn hóa về dạng 1NF
Nhận xét: Bảng 4.1 “Phân tích dữ liệu quản lý danh mục website mức 1” vẫn chưa đạt chuẩn 1NF do còn chứa các nhóm lặp Tiến hành loại bỏ 2 nhóm lặp là RG1 và RG2 thu được 3 bảng:
Bảng 4.3: Bảng “Tài khoản – Quyền”.
Bảng 4.4: Bảng “Phân tích dữ liệu quản lý danh mục website mức 2”
Bảng 4.2: Bảng “Tài khoản” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK
Tên đăng nhập Mật khẩu
Bảng 4.3: Bảng “Tài khoản – Quyền mức 1” (1NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.2
Bảng 4.4: Bảng “Phân tích dữ liệu quản lý danh mục website mức 2”
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK
ID Danh mục cấp 1 Có PK _RG2
Loại bất động sản ID Có PK_RG2.1
Vị trí bất động sản Giá
ID danh mục cấp 2 Có PK_RG2.2
Xét thấy bảng 4.4 Bảng “Phân tích dữ liệu quản lý danh mục website mức 2” chưa đạt chuẩn 1NF do còn chứa nhóm lặp.
Loại bỏ RG2.1 và RG2.2 từ bảng 4.4 thu được 3 bảng sau:
Bảng 4.5: Bảng “Tài khoản – Danh mục cấp 1”
Bảng 4.6: Bảng “Tài khoản – Danh mục cấp 1- Bất động sản”
Bảng 4.7: Bảng “Tài khoản – Danh mục cấp 1- Danh mục cấp 2”
Bảng 4.5: Bảng “Tài khoản – Danh mục cấp 1” (1NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.3
ID Danh mục cấp 1 Có PK
Bảng 4.6: Bảng “Tài khoản – Danh mục cấp 1- Bất động sản” (1NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.5
ID Danh mục cấp 1 Có PK
Bất động sản ID Có PK
Vị trí bất động sản Giá
Bảng 4.7: Bảng “Tài khoản – Danh mục cấp 1- Danh mục cấp 2 (1NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.5
ID Danh mục cấp 1 Có PK
ID danh mục cấp 2 Có PK
Chuẩn hóa cơ sở dữ liệu cho việc quản lý website về dạng 2NF
Sau quá trình chuẩn hóa ở trên có tổng số 4 bảng đã là dạng 1NF và 1 bảng ở dạng 3NF là bảng 4.2:
Bảng 4.2: Bảng “Tài khoản” (3NF)
Bảng 4.3: Bảng “Tài khoản – Quyền mức 1” (1NF)
Bảng 4.5: Bảng “Tài khoản – Danh mục cấp 1” (1NF)
Bảng 4.6: Bảng “Tài khoản – Danh mục cấp 1- Bất động sản” (1NF)
Bảng 4.7: Bảng “Tài khoản – Danh mục cấp 1- Danh mục cấp 2 (1NF)
Với các bảng có khóa chính được tạo bởi hơn một thuộc tính, các thuộc tính không nằm trong khóa chính phải phụ thuộc đầy đủ vào khóa chính mà không tồn tại các thuộc tính chỉ phụ thuộc một phần của khóa chính Nếu có thuộc tính nào chỉ phụ thuộc và một phần của khóa chính thì bảng đó chưa đạt chuẩn 2NF.
Bảng 4.3: Bảng “Tài khoản – Quyền cấp 1” (1NF) có thuộc tính chỉ phụ thuộc vào 1 phần của khóa chính Tách bảng 4.3 thành 2 bảng sau:
Bảng 4.8: Bảng “Tài khoản –Quyền”.(3NF)
Bảng 4.8: Bảng “Tài khoản – Quyền” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.2
STT Thuộc tính Thuộc tính bổ sung ?
Bảng 4.5: Bảng “Tài khoản – Danh mục cấp 1” (1NF) có thuộc tính chỉ phụ thuộc vào một phần của khóa chính vì thế ta tách làm 2 bảng sau:
Bảng 4.10: Bảng “Tài khoản- Danh mục cấp 1”
Bảng 4.11: Bảng “Danh mục cấp 1”
Bảng 4.10: Bảng “Tài khoản- Danh mục cấp 1” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.3
ID Danh mục cấp 1 Có PK 4.11
Bảng 4.11: Bảng “Danh mục cấp 1” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
ID Danh mục cấp 1 Có PK
- Bảng 4.6: Bảng “Tài khoản – Danh mục cấp 1- Bất động sản” (1NF) có thuộc tính chỉ phụ thuộc vào một phần của khóa chính vì thế ta tách làm 2 bảng sau: Bảng 4.12: Bảng “Tài khoản – Danh mục cấp 1-Bất động sản”
Bảng 4.13: Bảng “Bất động sản”
Bảng 4.12: Bảng “Tài khoản – Danh mục cấp 1-Bất động sản” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.10
ID Danh mục cấp 1 Có PK
Bất động sản ID Có PK 4.13
Bảng 4.13: Bảng “Bất động sản” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
Bất động sản ID Có PK
Vị trí bất động sản Giá
Bảng 4.7: Bảng “Tài khoản – Danh mục cấp 1- Danh mục cấp 2” (1NF) có thuộc tính chỉ phụ thuộc vào một phần của khóa chính vì thế ta tách làm 2 bảng sau: Bảng 4.14: Bảng “Tài khoản – Danh mục cấp 1- Danh mục cấp 2”
Bảng 4.15: Bảng “Danh mục cấp 2”
Bảng 4.14: Bảng “Tài khoản – Danh mục cấp 1- Danh mục cấp 2” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
Tài khoản ID Có PK 4.10
ID Danh mục cấp 1 Có PK
ID danh mục cấp 2 Có PK 4.15
Bảng 4.15: Bảng “Danh mục cấp 2” (3NF)
STT Thuộc tính Thuộc tính bổ sung ?
ID danh mục cấp 2 Có PK
Chuẩn hóa cơ sở dữ liệu cho việc quản lý website về dạng 3NF Ở dạng 3NF, các thuộc tính phải thỏa mãn điều kiện không có phụ thuộc hàm vào thuộc tính không khóa.
Nhận thấy tất cả các bảng đã được chuẩn hóa về dạng 3NF
4.1.2.Thiết kế cơ sở dữ liệu cho việc quản lý hệ thống
Bảng 4.16: Bảng “Phân tích dữ liệu cho quản lý hệ thống mức 1” (UNF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK
Tin đăng ID Có PK_RG1
Câu hỏi ID Có PK_RG2
Trả lời ID Có PK_RG2.1
Nhóm giao dịch ID Có PK_RG3
Loại bất động sản ID Có PK_RG3.1
Mô tả bất động sản
Giá Ảnh bất động sản
Phản hồi ID Có PK_RG3.1.1
Chuẩn hóa về dạng 1NF
Nhận thấy Bảng 4.16: Bảng “Phân tích dữ liệu cho quản lý hệ thống mức 1” chưa đạt chuẩn 1NF do còn chứa nhóm lặp Tách bỏ RG1 , RG2, RG3 được 3 bảng sau: Bảng 4.17: Bảng “Tài khoản – Tin tức”
Bảng 4.18: Bảng “Tài khoản – Câu hỏi”
Bảng 4.19: Bảng “Tài khoản – Nhóm giao dịch”
Bảng 4.17: Bảng “Tài khoản – Tin tức” (1NF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK
Tin đăng ID Có PK
Bảng 4.18: Bảng “Tài khoản – Câu hỏi” (UNF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK
Câu hỏi ID Có PK_RG2
Trả lời ID Có PK_RG2.1
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK
Nhóm giao dịch ID Có PK_RG3
Loại bất động sản ID Có PK_RG3.1
Mô tả bất động sản
Giá Ảnh bất động sản
Phản hồi ID Có PK_RG3.1.1
Nhận xét bảng 4.18: Bảng ““Tài khoản – Câu hỏi” còn chưa đạt chuẩn 1NF do còn chứa nhóm lặp Loại bỏ RG2.1 thu được 2 bảng là :
Bảng 4.20: Bảng “Tài khoản – Câu hỏi”
Bảng 4.21: Bảng “Tài khoản – Câu hỏi- Trả lời”
Bảng 4.20: Bảng “Tài khoản – Câu hỏi” (1NF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK 4.2
Câu hỏi ID Có PK
Bảng 4.21: Bảng “Tài khoản – Câu hỏi- Trả lời” (1NF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK 4.20
Câu hỏi ID Có PK
Trả lời ID Có PK
Nhận xét Bảng 4.19: Bảng “Phân tích dữ liệu cho quản lý hệ thống mức 2” chưa đạt chuẩn 1NF do còn chứa nhóm lặp
Tiến hành loại bỏ RG3.1 thu được 2 bảng :
Bảng 4.22: Bảng “Tài khoản – Nhóm giao dịch”
Bảng 4.23: Bảng “Phân tích dữ liệu cho quản lý hệ thống mức 3”
Bảng 4.22: Bảng “Tài khoản – Nhóm giao dịch” (1NF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK 4.2
Nhóm giao dịch ID Có PK
Bảng 4.23: Bảng “Phân tích dữ liệu cho quản lý hệ thống mức 3”
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK 4.22
Nhóm giao dịch ID Có PK
Loại bất động sản ID Có PK
Mô tả bất động sản
Giá Ảnh bất động sản
Phản hồi ID Có PK_RG3.1.1
Nhận xét : Bảng 4.23: Bảng “Phân tích dữ liệu cho quản lý hệ thống mức 3”
Vẫn chưa đạt chuẩn 1NF do còn chứa nhóm lặp Loại bỏ RG3.1.1, RG3.1.2 và RG3.1.3 thu đuợc 3 bảng là :
Bảng 4.24: Bảng “Tài khoản –Nhóm giao dịch- Loại bất động sản”
Bảng 4.25: Bảng “Tài khoản- Nhóm giao dịch– Loại bất động sản– Phản hồi”
Bảng 4.26: Bảng “Phân tích dữ liệu cho quản lý hệ thống mức 4”
Bảng 4.24: Bảng “Tài khoản –Nhóm giao dịch- Loại bất động sản” (1NF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
1 Tài khoản ID Có PK 4.22
Nhóm giao dịch ID Có PK
Loại bất động sản ID Có PK
Mô tả bất động sản
Giá Ảnh bất động sản
Bảng 4.25: Bảng “Tài khoản- Nhóm giao dịch– Loại bất động sản– Phản hồi” (1NF) STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK 4.24
Nhóm giao dịch ID Có PK
Loại bất động sản ID Có PK
Phản hồi ID Có PK
Bảng 4.26: Bảng “Tài khoản- Nhóm giao dịch- Loại bất động sản- Tin đăng- Chi tiết Tin đăng” (1NF) có thuộc tính chỉ phụ thuộc vào một phần khóa chính vì thế tách thành 2 bảng sau:
Bảng 4.27: Bảng “Tài khoản- Nhóm giao dịch- Loại bất động sản- Tin đăng-
Bảng 4.27: Bảng “Tài khoản- Nhóm giao dịch- Loại bất động sản- Tin đăng- Chi tiết Tin đăng” (3NF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Tài khoản ID Có PK 4.53
Nhóm giao dịch ID Có PK
Loại bất động sản ID Có PK
Tin đăng ID Có PK
Chi tiết Tin đăng ID Có PK 4.62
Bảng 4.28: Bảng “Chi tiết Tin đăng” (3NF)
STT Thuộc tính Là thuộc tính bổ sung?
PK FK nối với bảng
Chi tiết Tin đăng ID Có PK
4.1.3 Bảng dữ liệu của hệ thống
Dựa vào quá trình thiết kế cơ sở dữ liệu phần 4.1 cơ sở dữ liệu của hệ thống được thiết kế gồm 17 bảng sau.
- Bảng dữ liệu thành viên – tblUser: Chứa thông tin về các thành viên đã đăng ký.
Tên trường Kiểu dữ liệu Chú thích
UserID int Mã số khóa người sử dụng
UserName nvarchar(50) Tên truy nhập
UserPassWord nvarchar(25) Mật khẩu người dùng
UserMail nvarchar(50) Địa chỉ hòm thư điện tử
ActiveCode nvarchar(50) Mã kích hoạt
FullName nvarchar(50) Tên đầy đủ
Sodienthoai nvarchar(12) Số điện thoại
RightID int Mã quyền sử dụng
UserLastTime datetime Lần cuối đăng nhập
UserStatus bit Trạng thái đăng nhập
Newsletter bit Gửi thư điện tử tự động
UserAvar image Ảnh đại diện
Bảng 4.29: Bảng dữ liệu thành viên
- Bảng dữ liệu quyền – tblQuyen: Chứa thông tin các quyền đối với người sử dụng và người quản trị.
Tên trường Kiểu dữ liệu Chú thích
QuyenID int Mã số quyền
Mota nvarchar Mô tả quyền
Bảng 4.30: Bảng dữ liệu quyền
- Bảng dữ liệu nhóm người sử dụng – tblNhomnguoidung: Chứa thông tin về nhóm người sử dụng.
Tên trường Kiểu dữ liệu Chú thích
NhomnguoidungID int Mã số khóa của nhóm người sử dụng Tennhomnguoidung nvarchar(50) Tên nhóm người sử dụng
Bảng 4.31: Bảng dữ liệu nhóm người sử dụng
- Bảng dữ liệu quyền của nhóm người sử dụng – tblNhomquyen: Chứa thông tin về nhóm quyền của thành viên.
Tên trường Kiểu dữ liệu Chú thích
NhomquyenID int Mã số khóa nhóm quyền của người sử dụng NhomnguoidungID int Mã số khóa nhóm người dùng
RightID int Mã số khóa quyền
Bảng 4.32: Bảng dữ liệu nhóm quyền
- Bảng dữ liệu thêm quyền cho người sử dụng – tblThemquyen: Chứa thông tin người sử dụng và quyền được thêm.
Tên trường Kiểu dữ liệu Chú thích
ThemquyenID int Mã số khóa thêm quyền của người sử dụng
UserID int Mã số khóa người dùng
QuyenID int Mã số khóa quyền
Bảng 4.33: Bảng dữ liệu thêm quyền
- Bảng dữ liệu cấm quyền người sử dụng – tblCamquyen: Chứa thông tin về người sử dụng và quyền bị cấm.
Tên trường Kiểu dữ liệu Chú thích
CamquyenID int Mã số khóa cấm quyền của người sử dụng
UserID int Mã số khóa người dùng
QuyenID int Mã số khóa quyền
Bảng 4.34: Bảng dữ liệu cấm quyền
- Bảng dữ liệu tin đăng bất động sản – tblTindang: chứa các thông tin về bất động sản được đăng trên sàn giao dịch.
Tên trường Kiểu Dữ Liệu Chú thích
TindangID int Mã số khóa tin đăng
UserID int Mã số khóa người dùng
Ngaydangtin datetime Ngày đăng tin
Songaydang datetime Ngày hết hạn tin
TotalView int Tổng số lần xem tin
StreetName nvarchar(200) Tên đường phố và địa chỉ nhà cụ thể
LoaigiaodichID int Loại giao dịch
Loaibatdongsan int Loại bất động sản
TypeCurrecyID int Loại tiền giao dịch
Tổng số phòng int Tổng số phòng
SoPhongngu int Số phòng ngủ
SoPhongbep int Số phòng bếp
SoPhongtam int Số phòng tắm
AnhMattien nvarchar(200) Ảnh mặt tiền
Bảng 4.35: Bảng dữ liệu tin đăng
- Bảng dữ liệu tỉnh / thành phố - tblProvince: chứa tên các tỉnh thành / phố.
Tên trường Kiểu dữ liệu Chú thích
ProvinceID int Mã số khóa tỉnh/Tp
ProvinceName nvarchar(25) Tên tỉnh/Tp
Bảng 4.36: Bảng dữ liệu tỉnh / thành phố
- Bảng dữ liệu quận / huyện – tblDistrict: chứa tên các quận / huyện.
Tên trường Kiểu dữ liệu Chú thích
DistrictID int Mã số khóa quận /huyện
ProvinceID int Tên tỉnh/Tp
DistrictName nvarchar(50) Tên quận /huyện
Bảng 4.37: Bảng dữ liệu quận / huyện
- Bảng dữ liệu loại giao dịch bất động sản – tblLoaigiaodich
Tên trường Kiểu dữ liệu Chú thích
LoaigiaodichID int Mã loại giao dich
Tên Nvarchar(30) Tên loại giao dịch
Bảng 4.38: Bảng dữ liệu loại giao dịch bất động sản
- Bảng dữ liệu loại bất động sản – tblLoaibatdongsan
Tên trường Kiểu dữ liệu Chú thích
LoaibatdongsanID int Mã Loại bất động sản
Tên nvarchar(30) Tên loại bất động sản
Bảng 4.39: Bảng dữ liệu loại bất động sản
- Bảng dữ liệu loại tiền tệ - tblTypeCurency
Tên trường Kiểu dữ liệu Chú thích
TypeCurencyID int Mã Loại tiền
Tên nvarchar(30) Tên loại tiền
Bảng 4.40: Bảng dữ liệu loại tiền tệ
- Bảng dữ liệu tình trạng pháp lý – tblTinhtrangphaply
Tên trường Kiểu dữ liệu Chú thích
TinhtrangphaplyID int Mã tình trạng pháp lý
Tên nvarchar(30) Tên tình trạng pháp lý
Bảng 4.41 Bảng dữ liệu tình trạng pháp lý
- Bảng dữ liệu giao dịch – tblGiaodich: lưu thông tin các giao dịch đã được
GiaodichID int Mã số khóa giao dịch
TindangID int Mã số khóa tin đăng
UserID int Mã số khóa người đăng tin ngayluutin datetime Ngày lưu tin giao dịch
Status bit Trang thái giao dịch
Bảng 4.42 Bảng dữ liệu giao dich
- Bảng dữ liệu dự án – tblDuan: chứa thông tin về các dự án.
Tên trường Kiểu dữ liệu Chú thích
DuanID int Mã số khóa dự án
UserID int Mã số khóa người đăng
Tieude nvarchar(200) Tiêu đề dự án
Anh nvarchar(200) Ảnh mô tả dự án
Thoigian datetime Thời gian đăng dự án
Noidung nvarchar(max) Mô tả dự án
Bảng 4.43 Bảng dữ liệu dự án
- Bảng dữ liệu tin tức – tblTintuc: chứa thông tin về các tin tức.
Tên trường Kiểu dữ liệu Chú thích
DuanID int Mã số khóa tin tức
UserID int Mã số khóa người đăng
Tieude nvarchar(200) Tiêu đề tin tức
Anh nvarchar(200) Ảnh mô tả tin tức
Thoigian datetime Thời gian đăng tin tức
Noidung nvarchar(max) Mô tả tin tức
Bảng 4.44 Bảng dữ liệu tin tức
- Bảng dữ liệu liên hệ người sử dụng – tblLienhe: chứa ý kiến phản hồi của người sử dụng.
Tên trường Kiểu dữ liệu Chú thích
LienheID int Mã số khóa tin liên hệ
Tennguoigui nvarchar(30) Tên người gửi
Email nvarchar(30) Địa chỉ hòm thư người gửi
Dienthoai nvarchar(12) Số điện thoại liên hệ
Noidung nvarchar(max) Nội dung phản hồi
Bảng 4.45 Bảng dữ liệu liên hệ người sử dụng
4.1.4 Sơ đồ quan hệ giữa các bảng dữ liệu
Hình 4.1: Sơ đồ quan hệ giữa các bảng dữ liệu
Hình 4.2: Giao diện trang chủ
4.2.2 Xây dựng các trang con cho website
- Trang đăng ký thành viên :
Hình 4.4: Giao diện đăng ký thành viên
- Trang quản lý thông tin cá nhân:
Hình 4.5 : Giao diện trang quản lý thông tin cá nhân
- Trang đăng tin bất động sản
- Trang giao dịch bất động sản:
Hình 4.7: Trang giao dịch bất động sản
- Trang gợi ý giao dịch liên quan sau khi thành viên đăng tin
Hình 4.8: Trang gợi ý giao dịch sau khi đăng tin
- Trang tin chi tiết thông tin bất động sản
Hình 4.9: Trang chi tiết thông tin bất động sản
- Trang liên hệ người dùng:
Hình 4.12: Trang liên hệ người dùng
- Trang quản trị hệ thống
4.3.1 Input form của người dùng khi đăng kí vào hệ thống
Input form bao gồm các thông tin sau:
4.3.2 Input form của người dùng khi đăng nhập vào hệ thống
Input form bao gồm các thông tin sau:
4.3.3 Input form của người dùng khi đăng tin
Input form bao gồm các thông tin sau:
-Địa chỉ, tỉnh , thành phố, quận huyện
4.3.4 Input form của người dùng khi liên hệ
Input form bao gồm các thông tin sau:
4.3.5 Input form của người dùng khi quản lý thông tin tài khoản cá nhân
Input form bao gồm các thông tin sau:
- Output form của người dùng sau khi đăng tin được thông qua admin sẽ được kiểm duyệt , nếu không có sai xót gì sẽ được đăng tin trên website tại module bài viết mới nhất
-Output form của người dùng sau khi liên hệ sẽ được gửi vào cơ sở dữ liệu ,người quản trị thông qua trang thống kê sẽ có trách nhiệm trả lời cho khách hàng những thắc mắc cũng như mong muốn tư vấn dịch vụ
HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG CHƯƠNG TRÌNH
5.1 Hướng dẫn cài đặt chương trình
Cài đặt website theo các bước:
- Đặt toàn bộ website vào thư mục của domain trên server Server phải hỗ trợ ASP.Net 3.5 hoặc cao hơn Cấu hình lại file web.config trong thư mục gốc của website nếu cần.
- Chạy file cơ sở dữ liệu tên Webnhadat.sql trong SQL Server để tạo một cơ sở dữ liệu mới trong SQL Server với tên Webnhadat.
5.2.Hướng dẫn sử dụng chương trình:
5.2.1 Hướng dẫn cho người dùng website a) Đăng kí tài khoản:
Hình 4.23: Trang đăng kí tài khoản.
- Để đăng kí tài khoản, điền đầy đủ thông tin vào cột bên trái :
- Độ dài email tối đa 320 kí tự.
- Mật khẩu từ 8 đến 32 kí tự.
- Sau khi điền đầy đủ thông tin, ấn nút Tôi đồng ý, người dùng sẽ tạo được tài khoản với thông tin đăng nhập là email và password đã khai báo ở bước trên, có thể tiến hành đăng nhập với thông tin đó. b) Đăng tin trên website:
Hình 4.24: Trang đăng tin Để đăng tin trên trang web người sử dụng cần đăng ký thành viên rồi dăng nhập mới được quyền đăng.
- Chọn Loại bất động sản
- Chọn Tình trạng pháp lý
- Điền số phòng ngủ(nếu có)
- Điền số phòng tắm (nếu có)
- Điền số tầng (nếu có)
- Điền địa chỉ, chọn quận/huyện ,tỉnh/thành phố.
- Chọn ảnh để đăng (nếu có)
Cuối cùng chọn cập nhật để đăng tin trên website. c) Tìm kiếm giao dịch đăng trên website:
Hình 4.25: chức năng tìm kiếm trên website
Người sử dụng có thể chọn tỉnh thành phố ,sau đó sẽ hiện ra các quận huyện tương ứng Tiếp theo người sử dụng lựa chọn quận huyện cần xem.
2) Tại module Tìm kiếm chi tiết:
Module này được thiết kế giúp người sử dụng tìm thông tin đúng với yêu cầu
1 cách chính xác nhất với nhiều cách tìm khác nhau như.
-Tìm theo loại giao dịch
-Tìm theo loại bất động sản
-Tìm theo tỉnh quận huyện
Hoặc tìm theo cụm từ bất kỳ d) Hướng dẫn liên hệ với ban quản trị
Hình 4.31: chức năng liên hệ quản trị
Mọi thắc mắc yêu cầu của người sử dụng đều có thể liên hệ dễ dàng thông qua moudule liên hệ Người sử dụng chỉ cần điền vài thông tin sau :