Photo of Chris Hotten

On my homepage I state that I relish databases - to be more precise, relational databases. As the name implies, relational databases don’t just deal with information contained in tables, but the relationships between those tables. This makes them more complex than non-relational (or ‘flat-file’) databases, but can also be very rewarding to create and work on.

In order to really understand relational databases, I produced a project for my One Awards Computing Diploma, which would act as a demonstration of my understanding of the many different concepts behind creating an excellent relational database.

Database icon

The aim of the project was to create a relational database that would be used by a film rental chain with physical stores. It would contain obvious components such as records for each of the films and customers, but would also need to contain records for all the staff, their pay, ID badges etc.

I took this opportunity to go above and beyond the brief, adding and editing my own pictures in order to make the database appear more professional. Importantly, it would need to allow users to view, search and input data, and show evidence that a number of features had been implemented:

--- Features ---

  • Break down data into Atomic data for use in Normalisation Forms
  • --------
  • Data Dictionary
  • --------
  • Data types suited to different fields
  • --------
  • Different degrees of Cardinality:
    • One-to-One (1:1)
    • One-to-Many (1:M)
    • Many-to-Many (M:N)
  • --------
  • Different entity types containing relevant attributes
  • --------
  • Entity Relationship diagram
  • --------
  • Evidence of data being imported from/exported to external files
  • --------
  • Full layout of the database validations
  • --------
  • Fully functional navigation system
  • --------
  • Foreign Keys
  • --------
  • Logical field lengths
  • --------
  • Multiple fields stored in multiple records
  • --------
  • Multiple Input Masks and Validation Rules
  • --------
  • Multiple records stored in multiple tables
  • --------
  • Multiple tables with relationships to each other
  • --------
  • No compromises in referential integrity
  • --------
  • Practical front-end allowing users to:
    • Search for items within the database
    • Print off and search results
    • Input data while ensuring validity of data is maintained
  • --------
  • Primary Keys
  • --------
  • Queries performed using multiple tables and logical complex criteria
  • --------
  • Relationship optionalities:
    • Mandatory
    • Optional
    • Mixed
  • --------
  • Relationships between entities
  • --------
  • Schema showing the data has been normalised to:
    • Flat-file (0NF)
    • 1st Form (1NF)
    • 2nd Form (2NF)
    • 3rd Form (3NF)
  • --------
  • Test plan created to run and check all functions and stability
  • --------
  • User and password login using Visual Basic code

Reports

As part of the project, I produced a detailed 36-page report which explained all the features listed above. The report uses my own database for examples and illustrations. It also explained concepts that are relevant to relational databases but were not required in my own database, such as ‘Candidate’ and ‘Composite’ keys. The report is also useful as it demonstrates I have knowledge that can be very useful when creating SQL (Structured Query Language) statements.

Relational Databases Report

Screenshot of Functions Guide Screenshot of Functions Guide Screenshot of Functions Guide Screenshot of Functions Guide Screenshot of Functions Guide
Open as PDF

⇓ Downloads ⇓

File Type Information Download
Access Database created for Diploma course. Created using Access 2013
Excel Excel file demonstrating all validations used in my database
Excel Excel file demonstrating all functions have been fully tested
Folder Contains database, source images, entity relationsip diagram,
proof of external file imports and exports, test plan and
data validations

▶ Tutorials ▶

Listed below are all my self-produced tutorials relating specifically to relational databases

A full list of my tutorials for all subjects can be found here

My YouTube channel can be found here

*To open links in a new tab, hold down the Ctrl key and click on the link*

No. Description Link
1 Awaiting upload
2 Awaiting upload
3 Awaiting upload
4 Complete playlist