Skip to content

Designed and implemented a comprehensive FIFA Women's World Cup database using SQL and Python, featuring advanced queries, stored procedures, and a programming interface for data retrieval and manipulation.

License

Notifications You must be signed in to change notification settings

RJTLM/FIFA-World-Cup-Database-SQL-Python-Advanced-Queries

Repository files navigation

FIFA Women's World Cup Database System

Developed By

  • Ryan Mackintosh

Introduction

This repository contains the implementation of a database system for the FIFA Women's World Cup. It demonstrates advanced SQL features, such as stored procedures and triggers, and includes a Python interface for database connectivity.

Repository Structure

  • Data/: Contains CSV files with match and event data.
  • ERModelling/: Entity-Relationship (ER) model files.
  • Program/: SQL scripts and Python programs for database operations.
  • Documentation/: Detailed project documentation and images.

Features

  • ER Modeling: Detailed ER diagrams representing the database structure.
  • Relational Schema: Normalized tables with primary and foreign keys.
  • Data Description: Definitions for each attribute with constraints.
  • Database Implementation: MySQL implementation with integrity constraints.
  • Queries: Basic and advanced SQL queries for data retrieval.
  • Advanced Database Features: Stored procedures, views, and indexes for enhanced capabilities.
  • Programming Language Interface: Python scripts for database operations.

Part 1: Database Design

  • ER Diagram: Visual representation of entities, relationships, and constraints.
  • Relational Schema: Conversion of the ER model to a relational schema.

Part 2: Database Implementation

  • MySQL Database: Creation of fifa_womens_world_cup_21171466 database.
  • Sample Data Loading: Insertion of data with integrity enforcement.

Part 3: Queries

  • Basic Queries: Data retrieval using SQL SELECT statements.
  • Advanced Queries: Complex queries using joins, sub-queries, and aggregate functions.

Part 4: Advanced Database Features

  • Stored Procedures: Encapsulation of complex SQL queries.
  • Views: Simplification of complex queries.
  • Indexes: Improvement of record retrieval speed.

Part 5: Programming Language Interface

  • Python3 Environment: Execution of queries and database operations.

User Guide

  • Installation: Instructions for setting up the database and running Python scripts.
  • Usage: Guide to using the menu-driven Python interface for database operations.

Reflection

  • Documentation: Reflection on design decisions, challenges, and improvement suggestions.

Setup and Usage

  • Ensure Python 3 and MySQL Connector for Python are installed.
  • Download and navigate to the project directory.
  • Run python3 ./Program/menu.py to start the program.
  • Follow the on-screen prompts for various database operations.

Contributing

Contributions to this project are welcome. Please fork the repository and submit a pull request with your changes.

About

Designed and implemented a comprehensive FIFA Women's World Cup database using SQL and Python, featuring advanced queries, stored procedures, and a programming interface for data retrieval and manipulation.

Topics

Resources

License

Stars

Watchers

Forks

Languages