More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
post
page
Python IDE Dashboard

EasyFlights – Entity Relationship Diagram (ERD)

easyflights-logoEasyFlights is an international airline company operating all over the world. As part of a total rollout of all their IT systems, they would like you to suggest the most suitable ERD to be used to design the relational database of their new Management Information System.

They would like the EasyFlights database to be the central place to store information about:

    Store information about the different airports they serve,
    Store information about their fleet of aircrafts,
    Store information about their employees (e.g. pilots, flight attendants, mechanics, admin staff etc.),
    Store information about their direct flights,
    Store information about their customers,
    Store information about tickets being booked.

When a customer books a flight (buys a ticket) the following rules apply:

    Customers can only book one direct flight at a time. This means that to book a round trip, a customer will have to make two distinct bookings (buy two tickets).
    All bookings are for direct flights only. If a customer wants to embark on an “indirect flight” (e.g. London – Sydney via Singapore) they will have to book two or more direct flights separately. (e.g. Book a ticket for a direct flight between London and Singapore and another ticket for a direct flight between Singapore and Sydney.)
    There is no option for group bookings: When a family or a group (2 or more customers) want to fly together, each member of the family/group will have to make a separate booking for their flight.

The database will be used to find out all the key information about the different flights such as:

    Date & Time of the flight,
    Departure Airport,
    Destination Airport,
    Aircraft being used for this flight,
    List of all passengers expected on board,
    List of all members of staff expected on board.

Entity Relationship Diagram

Your task is to use our online ERD tool to design the Entity Relationship Diagram for this airline company. Note that you have not been given any information about the pieces of information to store about the customers, employees, planes, airports, flights and bookings so you will have to decide of the most relevant fields to include on your ERD.

Design Your ERD Online paper-plane
unlock-access

Solution...

The solution for this challenge is available to full members!
Find out how to become a member:
➤ Members' Area
Tagged with: , , ,

web2.0 – Entity Relationship Diagrams (ERD)

client-side-scriptingHave you ever created a website using HTML, CSS and JavaScript? These three languages are client-side languages which run on your computer through the web-browser and are used to create static websites. HTML is used to add content to a webpage (text, headings, pictures etc.). CSS is used to update the look & feel and the layout of the page and JavaScript is often used to make the page more interactive.

In the early days of the Web (back in the 90s), the World Wide Web was only made of static websites. The pages of such websites were always displaynig the same content.

Web 2.0

server-side-scripting
Progressively, the internet evolved to more dynamic websites. We call this web2.0.

Web2.0 Websites such as Wikipedia, Twitter, Facebook, Amazon, Vinted etc. are database-driven dynamic websites. Their content changes constantly based on the user interactions with the site. They rely on storing information on back-end (server-side) relational databases. They use server-side technologies/languages such as PHP, ASP, .Net, C#, Python to process user requests and access or update data stored in the database.

Your Task…

In this challenge we are going to investigate the design of the relational databases that could be used by popular web2.0 websites such as:

  • E-commerce websites (e.g. Amazon)
  • Social networks (e.g. Twitter)
  • Auction Websites (e.g. eBay)

Our aim will be to try to recreate the Entity Relationship Diagrams (ERD) used by these types of websites. Your task is to use the following tabs to find out about the main characteristics of these different types of dynamic websites to then attempt to draw a relevant ERD for each type of websites.

Client/Server TechnologiesE-Commerce WebsitesAuction WebsitesTwitter vs Facebook
The following diagram summarises some of the key concepts of client-server web-based applications:

client-server-technologies

Most e-commerce websites use a similar database structure (ERD) in order to:

  • Store information about the products they sell,
  • Organise products into categories,
  • Store information about customers,
  • Store information about orders being raised by customers.
  • Store information about reviews left by customers on different products.

Use our online tool to design an ERD for a relational database that would meet the above requirements:
Design Your ERD Online

Most auction websites such as eBay use a similar database structure (ERD) in order to:

  • Store information about the members which can be buyers or sellers,
  • Store information about the products being sold,
  • Store information the bids being raised,
  • Store information about reviews left by buyers on different sellers.

Use our online tool to design an ERD for a relational database that would meet the above requirements:
Design Your ERD Online

We will now investigate the ERDs to be used to replicate the key functionalities of social networks like Facebook and Twitter. We will base our social network on a relational database to:

  • Store information about members,
  • Store information about friendship for Facebook (who is friend with who?) or Follows for Twitter (who follows who?),
  • Store information about posts/tweets,
  • Store information about likes (on posts/tweets).

Use our online tool to design an ERD for a relational database that would meet the above requirements:
Design Your ERD Online

Tagged with: , , ,

Rent-A-Bike – Entity Relationship Diagram (ERD)

rent-a-bikeRent-a-Bike is a company offering a bike rental service in the London area.​ They would like a new IT system to replace their existing booking system.​ You have been asked to investigate their requirements in order to design the Entity Relationship Diagram (ERD) for this system.

For more information about relational databases and Entity Relationship Diagrams, visit the following pages:


The requirements of Rent-A-Bike are as follows:

  • The new system will need to store information about the customers, the bikes, the bookings and the payments made by customers.​
  • In most cases, a customer will book a single bike at a time, however Rent-a-Bike also allows for group bookings. This means that a customer can rent several bikes as part of a single booking,
  • Each booking can be paid in either one or several payments/instalments.

Use our online ERD tool to design the Entity Relationship Diagram for this bike rental company. Note that you have not been given any information about the pieces of information to store about the customers, bikes, bookings or payments so you will have to decide of the most relevant fields to include on your ERD.

Design Your ERD Online

Extension Task

Rent-A-Bike is considering opening new branches to cover all the main UK cities including, but not limited to, Manchester, Leeds, Edinburgh, Glasgow, Cardiff, Belfast, Bristol, Birmingham and Cambridge.

They would like their IT system to store information of each one of their branches/rental shops. Each bike will be allocated to a shop/branch.

The system should also store information about all the employees working at a specific branch. When a booking is made, it will be assigned to an employee who will be in charge of preparing and collecting the bikes and chasing payments from customers.

Your task is to update your ERD to take into consideration these new customer requirements.

bicycle

unlock-access

Solution...

The solution for this challenge is available to full members!
Find out how to become a member:
➤ Members' Area
Tagged with: , , ,

Driving School – Entity Relationship Diagram (ERD)

learn-2-driveLearn2Drive is a driving school that consists of 5 driving instructors. They would like a new IT system that will be used to store information about their instructors, learners, lessons and vehicles used by the instructors.

When creating such a database driven system, one of the key tasks is to identify what data will need to be stored in the database to then design an ERD: Entity Relationship Diagram.

To do so, a business analyst will first collect lots of information about how the business works and about their requirements. This information will be used to:

  1. Identify the main entities for which the system will store data,
  2. For each entity, identify the pieces of data (fields) that will need to be stored on the system,
  3. Identify whether there are relationships between the different entities,
  4. Use primary keys, foreign keys and link tables when necessary to implement these relationships.

You can find out more about these key relational database concepts on this page.

road-signs-banner

Scenario

Here is the main information that should help you design the first draft of the ERD for the Learn2Drive new IT system:

  • L2D is a driving school consisting of 5 instructors. Each instructor gives driving lessons in their own car which is insured by the school.
  • Students can book lessons with any of the 5 instructors.
  • Most students will need around 30 lessons before passing their driving license.

Use our online ERD tool to design the Entity Relationship Diagram for this driving school. Note that you have not been given any information about the pieces of information to store about learners, instructors, cars and lessons so you will have to decide of the most relevant fields to include on your ERD.

Design Your ERD Online

Solution

You can view/edit our ERD for this scenario:
View Solution!

Extension Task

The driving school would like to use their system to record the attendance of learners to theory lessons. These theory lessons will take place every Monday and Wednesday at the driving school’s main office which can accommodate up to 20 students per lesson. Each lesson will be delivered to the group of students by one instructor.

Your task is to update your ERD to take into consideration these new requirements.

unlock-access

Solution...

The solution for this challenge is available to full members!
Find out how to become a member:
➤ Members' Area
Tagged with: , ,

07/02/22 Computing Challenge

As this post was published on the 7th of February 2022 (07/02/22), we would like to use a Python algorithm to solve the following arithmetic puzzle:

07-02-22-arithmetic-puzzleWrite an arithmetic expression using the number 2 exactly 7 times, using any of the following arithmetic operators: +, -, *, /, ^.

Your arithmetic expression will need to give a result of 22.

7th February 2022

Note that, for this challenge, we will not be using brackets: we will complete the operations from left to right without considering the rules of operator precedence.
So for instance:

  • Without operator precedence: 2 + 2 + 2 * 2 = 4 + 2 * 2 = 6 * 2 = 12
  • Whereas, when applying the rules of operator precedence: 2 + 2 + 2 * 2 = 2 + 2 + 4 = 4 + 4 = 8

Solution

Check the code below that uses the random library to try a range of arithmetic expressions until a solution is found…

Your task…

Write a different algorithm that does not rely on using the random library but instead tries every possible expression and outputs all the possible solutions!

In total, there should be 56 = 15,625 possible expressions to check!

unlock-access

Solution...

The solution for this challenge is available to full members!
Find out how to become a member:
➤ Members' Area

Exam Grade Boundaries Calculator

Here is a tool for teachers and students to help them automatically calculate exam grade boundaries for any exam paper. This tool can be used when the total number of marks a paper is based on is different from the official exam paper for which the grade boundaries have been defined.
Exam Grade Boundaires CalculatorOpen in New Window

Computer Networks – Noughts & Crosses

Test your knowledge of essential Computer Networks concepts by playing a game of noughts and crosses against the computer…

First you, may want to find out more about the purpose of some key network components using the following slideshow…

Need help? Check this blog post about network design to learn more about computer networks.

Take the Quiz! (open full screen)


Tagged with:

CSS Noughts & Crosses

Test your knowledge of essential CSS properties by playing a game of noughts and crosses against the computer…

Take the Quiz! (open full screen)


Tagged with:

Computer Network Acronyms – Quiz

Are you confident with your knowledge of key computer networks terminology? Check if you know what these acronyms stand for!
network-design-virtual-private-network-vpn

unlock-access

Solution...

The solution for this challenge is available to full members!
Find out how to become a member:
➤ Members' Area

Network Design Quiz

Before completing this quiz about key network design concepts including network hardware, network topology and types and characteristics of computer networks, you may want to read through the following blog post about network design.

Take the Quiz! (open full screen)


Check that your understanding of essential network design concepts by completing this quiz:

Tagged with: