0% found this document useful (0 votes)
30 views4 pages

SQL Data Mart for Airbnb Database

1. The document outlines the tasks for building a database modeled after Airbnb's system for renting accommodations. 2. It describes three phases for developing the database: a conception phase to design the database structure, a development phase to implement it using SQL, and a finalization phase to polish and document the completed database. 3. In the conception phase, the tasks are to write requirements and create an entity-relationship diagram defining at least 20 entities with relationships between them.

Uploaded by

shiza asghar
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views4 pages

SQL Data Mart for Airbnb Database

1. The document outlines the tasks for building a database modeled after Airbnb's system for renting accommodations. 2. It describes three phases for developing the database: a conception phase to design the database structure, a development phase to implement it using SQL, and a finalization phase to polish and document the completed database. 3. In the conception phase, the tasks are to write requirements and create an entity-relationship diagram defining at least 20 entities with relationships between them.

Uploaded by

shiza asghar
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Build a Data Mart in SQL

1. TOPICS AND TASKS


1.1. Task: Chatbot for booking a hotel room
1.1.2. Development phase/reflection phase
1.1.3. Finalization phase
1. TOPICS AND TASKS
1.1. Task: Chatbot for booking a hotel room
Within this section you will find a description for your tasks regarding the definition and creation
of a database for renting apartments and bedrooms. You know this use case from Airbnb.
According to the company’s founding legend, the idea was born in October 2007, based on
personal experience with an overpriced shared apartment and fully booked hotels due to a well-
attended con-ference in San Francisco. The original name Airbedandbreakfast was shortened
to Airbnb in 2009. As an online platform, the company establishes the contact between host and
guest and is solely responsible for handling the booking. The transaction takes place via the
platform. The guest pays the amount for his booking by credit card to Airbnb. The host is not
paid until 24 hours after arrival to ensure that the guest finds the accommodation as it is
described on the platform. In 2013, Airbnb earned 6-12% commission from guests, 3% from
hosts and a total of $150 million from about 10 million overnight stays. Further Details can be
found on [Link].
Each user, i.e. host and guest, presents himself on Airbnb with a profile page. Hosts have to
upload at least one picture and enter a phone number. Guests have to provide even more
information. Hosts can describe their accommodation textually and by using photos. Guest and
host can rate each other. Using the platform’s calculator function, you can calculate the
expected income with your own accommodation. Since 2011 it is possible to connect your
profile with social networks like Facebook. This enables the display of an Airbnb user's ratings
through social contacts.
Within the framework of this course, you have to build and document an appropriate database
including data, which is self-developed regarding the data model you build.

The task: You have to build a database for storing and processing information regarding the
Airbnb use case. Therefore, the first step is to develop an entity relationship model (ERM),
which describes the single data tables with its attributes and the relations between these
entities. This ERM is the basis for developing a database with a state-of-the-art database
management system (e. g.: [Link] You are free to choose every database
management system which uses SQL as a basic language. Define a database structure and
certain reasonable dummy data by yourself, to ensure an appropriate usage of the database
and some feasible queries to present the results in a document. Please ensure that every step
and written SQL Statement is being documented as described in the implementation phase.
Furthermore, the database has to be normalized in an appropriate way to ensure only
necessary data storage.
Make sure that you have filled up your database with appropriate dummy data, to ensure testing
and results are showing up. Use reasonable data of your own choice.
Your database management system needs to be built, documented and delivered according to
the following three phases:

1.1.1. Conception phase


This part of the database design process is called database modelling and represents the most
important part of the database design. Anything that is overlooked or forgotten in this phase has
a negative effect on the implementation later and will lead, in the worst case, to a useless
database.
The first step is to create a requirements specification for your project Airbnb. The
specification document must contain a requirements analysis, which addresses the following
aspects in more detail:
• o What roles (person/user groups) are there?
• o What actions do these roles perform?
• o Which data and functions are required?

The requirements specification should not exceed two pages in 12-point font.
In addition to the specification document, create an Entity Relationship Model (ERM). Create
a meaningful ER-Model from your requirements specification. The requirements for the ER-
Model are:
• o The model should contain at least 20 entities.
• o The model should contain 2-3 triple relationships (Join over three tables.).
• o The model may also contain recursive relationships. Assign suitable attributes to the
entities and mark the key attributes.
• o Specify all cardinality specifications in a notation of your choice (e. g. Chen notation)
• o Short description of your current attributes in a data dictionary (short description of the
data attributes and data types are appropriate).

Remember that your ER model must be consistent with the roles, actions and data described in
the requirements specification.
Please also provide a half-page description (summary or abstract) of your work and the
single working steps within this phase. A brief description of the existing problem, your
solution approaches regarding the database development.

1.1.2. Development phase/reflection phase

Within this phase you will start to implement your own database management system for
the Airbnb Use Case. Please ensure, that every SQL-Statement is written down in your
database file and is well documented.
• o Ensure that you deliver tables and relations for the database in a sql-datafile as you
outline the concept in your ER-Diagram
• o Document every SQL-Statement regarding the creation process
• o Ensure that every table has at least a minimum of 20 entries
• o To test your first development, ensure that you have at least one test case for your
database regarding the ER-Model

In this phase you must submit an explanation of your database design and implementation
procedure as a composite presentation PDF with at least 20 slides (regarding you ER
model). The slides should contain the documentation of the sql-statements (for each Entity one
slide) with the corresponding test case (sql-statement)
and a screenshot of the result shown in the database management system. Please also provide
a brief summary of the implementation (approx. 1/2 page).

1.1.3. Finalization phase


In this final phase, your goal is to polish and refine your database management system

In a final step you write a 2-page abstract PDF document in which you highlight and describe
your database management functionality and also provide metadata stored in the system:
number of tables and corresponding entries and the size of the database regarding its volume.
You have finished your product (database system for Airbnb) once you have delivered all the
files, SQL-files (including documentation and installation manual) and presentations as a single
ZIP-File and put it into a folder.

Common questions

Powered by AI

Effective testing strategies for the Airbnb database system include unit testing for individual database components, integration testing to ensure that different database parts interact correctly, and load testing to assess performance under expected traffic volumes. Additionally, employing test cases derived from the ER model helps validate that the implemented structures and relationships perform as designed. Mock data can simulate real-world conditions to further test the system's robustness, stability, and scalability under various scenarios .

User roles and actions are fundamental to the design of a database for Airbnb as they define the data structure and relationships necessary to model real-world interactions within the platform. Identifying roles such as hosts and guests, and actions like booking, reviewing, and listing accommodations, helps in defining the entities, relationships, and attributes in the ER model. Such a detailed analysis ensures that all potential user interactions are captured accurately in the database design, leading to a functional and user-centric database system .

Using SQL as a basic language in building a database for Airbnb is significant due to SQL's ability to manage and manipulate structured data efficiently. SQL provides a standardized way to perform operations like querying, updating, and managing the data, which is crucial for handling intricate relationships and large datasets typical in an Airbnb system. It facilitates ensuring that the database structure aligns with the ER model and that operations on the data can be performed effectively and efficiently .

Integrating social networks within the Airbnb platform benefits the database system by expanding the amount of data available on user interactions and trust levels. For users, it provides enhanced transparency and trust, as users can view ratings and reviews from their social connections, potentially increasing user engagement and satisfaction. For the database, this integration allows leveraging social data to refine recommendations and personalization, as well as enhancing the accuracy of user profiles with additional data points .

Implementing recursive relationships in the Airbnb database can present challenges such as ensuring correct self-referencing data linkage and maintaining data integrity across various scenarios. These relationships must be managed carefully to avoid anomalies during data transactions. Challenges can be addressed by thoroughly analyzing the use case to establish clear constraints and rules, using appropriate data types that best capture the recursive nature, and testing scenarios to ensure reliability and accuracy of data relations .

The database conception phase is crucial because it represents the most important part of the database design process, and anything overlooked here can lead to significant issues during implementation, potentially resulting in a useless database. Key elements to be addressed during this phase include creating a requirements specification document, conducting a requirements analysis to identify roles, actions, data, and functions needed, ensuring the ER model contains at least 20 entities with specified relationships and attributes, and providing cardinality specifications using a chosen notation .

Normalization plays a critical role in database development by ensuring that data is stored efficiently, reducing redundancy, and improving data integrity. By organizing the database into tables according to normalization rules, only necessary data is stored, which optimizes storage and retrieval performance. For the Airbnb database, normalization ensures that complex relationships between hosts, guests, and bookings are captured without unnecessary repetition, enhancing the system’s efficiency and accuracy .

The finalization phase requires providing a polished database management system and a 2-page abstract PDF document that highlights and describes the database functionality. This document should include metadata about the system, such as the number of tables, corresponding entries, and the database's size regarding its volume. Additionally, all files including SQL files, documentation, an installation manual, and presentations must be delivered in a single ZIP file .

The development phase directly impacts the quality and usability of the final database product as it involves implementing the database management system according to the conceptual plans outlined in the ER model. The phase includes writing and documenting SQL statements for each table and relation accurately, testing the database with at least one test case to ensure functionality aligns with the ER model, and maintaining a minimum of 20 entries for each table to validate data handling capabilities. Proper documentation during this phase ensures that the development steps and logical structure are clear, which enhances the product's usability and maintenance .

Including a calculator function for income expectation in the Airbnb platform database is important as it provides hosts with a tool to estimate potential earnings based on various factors like booking frequency, pricing, and seasonality. This aids hosts in strategic pricing and income planning. The data requirements for such a feature would include historical booking data, pricing data, occupancy rates, seasonality factors, and user demographics, which together would help generate accurate income predictions .

You might also like