- Ryan Mackintosh
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.
- 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.
- 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.
- ER Diagram: Visual representation of entities, relationships, and constraints.
- Relational Schema: Conversion of the ER model to a relational schema.
- MySQL Database: Creation of
fifa_womens_world_cup_21171466
database. - Sample Data Loading: Insertion of data with integrity enforcement.
- Basic Queries: Data retrieval using SQL SELECT statements.
- Advanced Queries: Complex queries using joins, sub-queries, and aggregate functions.
- Stored Procedures: Encapsulation of complex SQL queries.
- Views: Simplification of complex queries.
- Indexes: Improvement of record retrieval speed.
- Python3 Environment: Execution of queries and database operations.
- Installation: Instructions for setting up the database and running Python scripts.
- Usage: Guide to using the menu-driven Python interface for database operations.
- Documentation: Reflection on design decisions, challenges, and improvement suggestions.
- 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.
Contributions to this project are welcome. Please fork the repository and submit a pull request with your changes.