Phuc Truong Gia Thuan Huynh Van Truong Nguyen Lam
Approved by Huy Nguyen Dang Quang M.Sc
Proposal Review Panel Representative:
Capstone Project 2-Mentor:
Trang 2Capstone Database Design v2.0 – OSM
PROJECT INFORMATION Project
acronym Online Service Market System
Project Tittle A marketplace that connects Customers & Service Providers in mservice categories Start Date 21 Feb 2023 End Date 20 May 2023
25211200029 Quan Tran Anh anhquan74.dev@gmail.com 0362474855 25211203121 Khiem Le Do Hoang ledohoangkhiem3k@gmail.com 0348597672 25211217162 Phuc Truong Gia katanan257@gmail.com 0981864173 25214302052 Thuan Huynh Van huynhvanthuan.140921@gmail.com0824644573 25211217426 Truong
Nguyen Lam truongnguyen13052001@gmail.com0353373477
Trang 3Capstone Database Design v2.0 – OSM
PROJECT PLAN DOCUMENT Document Title Project Plan
Quan Tran Anh, Scrum Master Role Khiem Le Do Hoang Member Phuc Truong Gia Member Thuan Huynh Van Member Truong Nguyen Lam Member Date 28 Apr 2023 Filename
Trang 4Capstone Database Design v2.0 – OSM
DOCUMENT HISTORY
V1.0 20 Mar 2023 Draft for comment V2.0 28 Apr 2023 Update database V3.0 05 May 2023 Update database
Trang 5Capstone Database Design v2.0 – OSM
2.1 Database Management System Configuration 2
2.2 Database Software Utilities 3
2.3 Support Software 3
3 Database-Wide Design Decisions 3
3.1 Key Factors Influencing Design 3
3.2 Performance And Availability Decisions 3
4 Database Administrative Functions 3
Trang 6Capstone Database Design v2.0 – OSM
LIST OF TABLES
Table 1: System Overview 2
Table 2: Acronyms And Abbreviations 2
Table 3: Database Software 3
Table 4: Support Software 3
Trang 7Capstone Database Design v2.0 – OSM
TABLE OF FIGURES
Figure 1 Entity Mapping 14
Trang 8Capstone Database Design v2.0 – OSM
• Provides database tables and the relationship between them
• Description designing a database (DB), a collection of data related to storage on a computer through database management system as a basis for data query related software
• Provide the entire needed database for OSM web application 1.2 Document Objectives
The Database Design Document has the following objectives
• To describe the design of a database, that is, a collection of related data stored in one or more computerized files that can be accessed by users or developers via a DBMS
• To serve as a basis for implementing the database and related software units It provides the acquirer visibility into the design and provides information necessary for software development
1.3 Intended Audience
• This document is intended for the following audiences
• Technical developers, who must evaluate the quality of this document • Developer including:
o Architects, whose overall architecture design must meet the requirements specified in this document
o Designers, whose design must meet the requirements specified in this document
o Developers, whose software must implement the requirements specified in this document Quality Assurance personnel, whose test cases must validate the requirements specified in this document
1.4 Scope
• This Database Design Document provides the basic database design of OSM web application
Trang 9Capstone Database Design v2.0 – OSM
• It describes both logical and physical definition, non-functional, database interfaces, tables, code create tables
• It includes the tables and performance considerations and requirements The following topics are covered in this document:
o Assumptions and decisions on database design o Entity – mapping
o Table, column definitions
o Column and row level validation rules (check constraints) o Interfaces and dependencies with other components
• This Database Design Document of Online Service Market web application is composed of definitions for database objects derived by mapping entities to tables, attributes to columns, unique identifiers to unique keys and relationship to foreign keys
1.5 System Overview
Table 1: System Overview System Overview Details
System Name Online Service Market System Type Web application Operational Status In development 1.6 Acronyms And Abbreviations
Table 2: Acronyms And Abbreviations Acronym/Abbreviation Meaning
OSM Online Service Market
RDMS Relational atabase Management System D DBMS Database Management ystem S
Trang 10Capstone Database Design v2.0 – OSM
- Services enabled: Linux Virtual Machine 2.2 Database Software Utilities
Table 3: Database Software
Vendor Product Version Comments Oracle
Corporation
MySQL
Workbench 8.0
This application enables the ability to manage MySQL database usin GUI
2.3 Support Software
Table 4: Support Software Product Version Purpose MySQL
Workbench 8.0 Generate ERD diagram of MySQL database 3 Database-Wide Design Decisions
3.1 Key Factors Influencing Design
- The database should be designed independent when the frontend and backend are still being developed
- The database should be designed to meet the data warehouse principles 3.2 Performance And Availability Decisions
We use common dimensional tables for all the fact tables for better performance 4 Database Administrative Functions
4.2 Applications/Systems Using the Database
Table 6: Systems Using the Database
Trang 11Capstone Database Design v2.0 – OSM
The id is the primary key for User record email varchar,
unique False The email of the user password varchar False The password of the
user
full_name varchar False The full name of the user
birthday timestamp True The birthday of the user gender varchar True The gender of the user.
Trang 12Capstone Database Design v2.0 – OSM
total_rate bigInt True total_star bigInt True
click_rate float True
is_valid tinyInt True User account status (so delete)
created_at timestamp False Date and time the record was created updated_at timestamp False Date and time the
record was last updated
PK False The id is the primary key for location record
user_id bigInt FK False User identification number. Foreign key to User.id province_id bigInt True The id of the province province_nam
e varchar False The name of the province district_id bigInt True The id of the district
Trang 13Capstone Database Design v2.0 – OSM
district_name varchar True The name of the district ward_id bigInt Tue The id of the ward ward_name varchar True The name of the ward
The longitude of the user’s location
is_primary bit
created_at timestamp False Date and time the record was created
updated_at timestamp False Date and time the record was last updated
The id is the primary key for image record asset_type varchar True Type of file (image) parent_type varchar True Describe what model
this image belongs to parent_id varchar True Id of parent model
Trang 14Capstone Database Design v2.0 – OSM
file_name varchar True Name of the file mime varchar True Type of image file created_at timestamp False Date and time the
record was created
updated_at timestamp False
Date and time the record was last
The id is the primary key for banner record
author_id bigInt FK False
User identification number Foreign key to User.id
title varchar True The title of the post content text True The content of the post date timestamp True Post creation date tags varchar True The tags of the post is_valid
tinyInt True Post status (soft delete)
created_at timestamp False Date and time the record was created
updated_at timestamp False Date and time the record was last updated
Trang 15Capstone Database Design v2.0 – OSM
The id is the primary key for category record name varchar True The name of the category
updated_at timestamp False Date and time the record was last updated
The id is the primary key for service record
category_id bigInt FK False
Category identification number Foreign key to Category.id
Trang 16Capstone Database Design v2.0 – OSM
avg_price bigInt True Average price of service max_price bigInt True The highest price of the
total_rate bigInt True total_star bigInt True
packages bigInt True
is_valid tinyInt True Service status (soft delete created_at timestamp False Date and time the record
was created updated_at timestamp False Date and time the record
was last updated
The id is the primary key for service record
Trang 17Capstone Database Design v2.0 – OSM
name varchar True The name of the package description text True The description of the
package
price bigInt True The price of the package total_rate bigInt True
total_star bigInt True
is_negotiable tinyInt True updated_at timestamp False Date and time the record
was last updated
The id is the primary key for appointment record
Trang 18Capstone Database Design v2.0 – OSM
complete_date timestamp True
The time that the appointment is completed
cancel_date timestamp True
The time when the appointment was rejected
Trang 19Capstone Database Design v2.0 – OSM
offer_date timestamp True The time on which the appointment is offered created_at timestamp False Date and time the
record was created
updated_at timestamp False
Date and time the record was last
The id is the primary key for feedback
Number of star for appointment (customer’s rate)
Trang 20Capstone Database Design v2.0 – OSM
created_at timestamp False Date and time the record was created
updated_at timestamp False
Date and time the record was last updated 5 Entity Mapping
Trang 21C2SE.08
Figure 1 Entity Mapping
Trang 22Capstone Database Design v2.0 – OSM
6 References
- [SDA] 006 Database Design.docx (Man, Nguyen Duc) - https://drawsql.app/teams/dac-1/diagrams/osm