This project is a Football Database Management System (DBMS) developed to store, manage, and retrieve football-related data such as player details, team information, matches, statistics, and more. The system utilizes SQL (MySQL) for database creation and management, along with a Python-based command-line interface for interaction.
- Efficiently organize and manage data related to football.
- Implement ER diagrams and convert them to relational models.
- Use normalization techniques to optimize the database.
- Enable user interaction for querying and updating records.
- Database: MySQL
- Programming Language: Python
- Libraries: MySQL Connector for Python
- Entity-Relationship (ER) Design: Includes Players, Teams, Matches, Stadiums, etc.
- Normalization: Applied 1NF, 2NF, and 3NF for optimal structure.
- Functional Modules:
- Add/View Players, Matches, Teams
- Update and Delete functionalities
- Display statistics
- Search queries using joins and subqueries
- Entities:
- Player, Team, Match, Stadium, Manager, Referee, Fan, Tournament
- Relationships:
- Players play for Teams
- Matches occur in Stadiums
- Referees manage Matches
- Fans support Teams
- Normalization: Ensures removal of data redundancy and ensures data integrity.
- List players with more than 10 goals
- Find matches in a particular stadium
- Get teams with most wins
- Join queries for player-team mapping
-
Clone the repo:
git clone https://github.com/your-username/football-dbms.git cd football-dbms -
Set up MySQL:
- Import
schema.sqlinto your MySQL server. - Insert sample data using
sample_data.sql.
- Import
-
Run the Python CLI:
python main.py
- Add GUI using Tkinter or Flask for user-friendly interaction
- Implement authentication and role-based access
- Integration with live football API for real-time updates