Premier League Database

Photo Credit: Leo Hsieh

Premier League Database

Online instant database

I am a soccer fan, I would love to follow my favorite team and players performance. In order to that, I built a simple database for track all the teams and players performance for entire season, anyone who are sport enthusiasm will definitely love this one just like me.

I provided some functionality for users to track their favorite teams or players performance, such as the top scorers or best offensive teams etc. The entire application structure is simple, I have a simple web server built with Python, then connect to the Oracle database to fetch any information by SQL statement. After that, all the request function from users will output results as a HTML web page.

Program structure

  • use base http server library to create simple server on the local host
  • execute basic GET and POST request
  • distinguish what kind of POST request received and execute relative action
  • connect to oracle database and execute particular SQL statement
  • parse the output result from oracle database
  • combine well-organized result from database with HTML file to pass to the front-end

SQL datatables

enroll: player ID and belonging team ID

player_ID team_ID
397 37
1 2
player_ID team_ID
397 1
37 2

game: single match information including match teams, total scores, time

game_ID home away home_score away_score time
2 Fulham Liverpool 4 0 11-OCT-2010
3 Blackpool Manchester City 1 1 21-OCT-2010

player: player information

player_ID player_name age nation position
38 Bob 17 English MF
39 Carter 22 English MF

precord: single player records per game

  • player_ID
  • game_ID
  • goal
  • assist
  • yellow_card
  • red_card
  • steal_success
  • pass_success
  • steal_total
  • pass_total
  • offside
  • foul
  • starter
  • appearance

Top scorer

Sorting by most scorer int the league

Top offensive team

Sorting by team which score the goals most

Matched history

Enter two team names to seach the match history

Average age

Average age of all player for a specific team

Yellow card list

Sorting player and team who got yellow cards most

Selected player record

Looking for a specific player’s record

Python, HTML, CSS, Oracle database.