/*============================================================================*/ /* DDL SCRIPT */ /*============================================================================*/ /* Title: XTOSS */ /* Filename: xtoss.hf */ /* Platform: MySQL 3 */ /* Generated: Thursday, March 02, 2006 */ /*============================================================================*/ DROP INDEX IDX_sub_seasons_1; DROP TABLE weather_conditions; DROP TABLE wagering_total_score_lines; DROP TABLE wagering_straight_spread_lines; DROP TABLE wagering_runlines; DROP TABLE wagering_odds_lines; DROP TABLE wagering_moneylines; DROP TABLE teams_events_subscores; DROP TABLE teams_events; DROP TABLE teams_documents; DROP TABLE team_american_football_stats; DROP TABLE team_affiliation_phases; DROP TABLE stats; DROP TABLE persons_events_subscores; DROP TABLE persons_events; DROP TABLE persons_documents; DROP TABLE person_event_metadata; DROP TABLE locations; DROP TABLE latest_revisions; DROP TABLE key_aliases; DROP TABLE ice_hockey_offensive_stats; DROP TABLE ice_hockey_event_states; DROP TABLE ice_hockey_defensive_stats; DROP TABLE events_sub_seasons; DROP TABLE sub_seasons; DROP TABLE events_documents; DROP TABLE document_fixtures_events; DROP TABLE document_contents; DROP TABLE core_stats; DROP TABLE core_person_stats; DROP TABLE basketball_rebounding_stats; DROP TABLE basketball_offensive_stats; DROP TABLE basketball_event_states; DROP TABLE basketball_defensive_stats; DROP TABLE baseball_pitching_stats; DROP TABLE baseball_offensive_stats; DROP TABLE baseball_defensive_stats; DROP TABLE baseball_action_substitutions; DROP TABLE baseball_action_contact_details; DROP TABLE baseball_action_pitches; DROP TABLE baseball_action_plays; DROP TABLE baseball_event_states; DROP TABLE american_football_special_teams_stats; DROP TABLE american_football_scoring_stats; DROP TABLE american_football_sacks_against_stats; DROP TABLE american_football_rushing_stats; DROP TABLE american_football_penalties_stats; DROP TABLE american_football_passing_stats; DROP TABLE american_football_offensive_stats; DROP TABLE american_football_fumbles_stats; DROP TABLE american_football_down_progress_stats; DROP TABLE american_football_defensive_stats; DROP TABLE american_football_action_play_participants; DROP TABLE american_football_action_plays; DROP TABLE american_football_event_states; DROP TABLE injury_phases; DROP TABLE roles; DROP TABLE person_names; DROP TABLE persons; DROP TABLE team_phases; DROP TABLE positions; DROP TABLE person_league_phases; DROP TABLE seasons; DROP TABLE affiliations_teams; DROP TABLE teams; DROP TABLE affiliations_events; DROP TABLE events; DROP TABLE sites; DROP TABLE affiliations_documents; DROP TABLE documents; DROP TABLE document_fixtures; DROP TABLE publishers; DROP TABLE document_classes; DROP TABLE affiliations; DROP TABLE addresses; /*============================================================================*/ /* Tables */ /*============================================================================*/ CREATE TABLE addresses ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, location_id INTEGER NOT NULL, language VARCHAR(40), suite VARCHAR(40), floor VARCHAR(40), building VARCHAR(40), street_number VARCHAR(40), street_prefix VARCHAR(40), street VARCHAR(40), street_suffix VARCHAR(40), neighborhood VARCHAR(40), district VARCHAR(40), locality VARCHAR(40), county VARCHAR(40), region VARCHAR(40), postal_code VARCHAR(40), country VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE affiliations ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, affiliation_key VARCHAR(40) NOT NULL, name VARCHAR(40), alias VARCHAR(40), abbreviation VARCHAR(40), tier VARCHAR(40), parent_id INTEGER, start_season_id VARCHAR(40), start_date_time VARCHAR(40), end_season_id VARCHAR(40), end_date_time VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE document_classes ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, name VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE publishers ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, publisher_key VARCHAR(40) NOT NULL, publisher_name VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE document_fixtures ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, fixture_key VARCHAR(40), publisher_id INTEGER NOT NULL, name VARCHAR(40), document_class_id INTEGER NOT NULL, PRIMARY KEY (id) ); CREATE TABLE documents ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, doc_id VARCHAR(40) NOT NULL, publisher_id INTEGER NOT NULL, date_time DATETIME, title VARCHAR(40), language VARCHAR(40), priority VARCHAR(40), revision_id VARCHAR(40), stats_coverage VARCHAR(40), document_fixture_id INTEGER NOT NULL, source_id INTEGER, db_loading_date_time VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE affiliations_documents ( affiliation_id INTEGER NOT NULL, document_id INTEGER NOT NULL, PRIMARY KEY (affiliation_id, document_id) ); CREATE TABLE sites ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, site_key INTEGER NOT NULL, publisher_id INTEGER NOT NULL, name VARCHAR(40), alias VARCHAR(40), location_id INTEGER, PRIMARY KEY (id) ); CREATE TABLE events ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, event_key VARCHAR(40), name VARCHAR(80), publisher_id INTEGER NOT NULL, start_date_time DATETIME, site_id INTEGER NOT NULL, site_alignment VARCHAR(40), event_status VARCHAR(40), duration VARCHAR(40), attendance VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE affiliations_events ( affiliation_id INTEGER NOT NULL, event_id INTEGER NOT NULL, PRIMARY KEY (affiliation_id, event_id) ); CREATE TABLE teams ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, team_key VARCHAR(40) NOT NULL, publisher_id INTEGER NOT NULL, first_name VARCHAR(40), last_name VARCHAR(40), full_name VARCHAR(40), alias VARCHAR(40), abbreviation VARCHAR(40), short_name VARCHAR(40), home_site_id INTEGER, league_id INTEGER NOT NULL, PRIMARY KEY (id) ); CREATE TABLE affiliations_teams ( affiliation_id INTEGER NOT NULL, team_id INTEGER NOT NULL, PRIMARY KEY (affiliation_id, team_id) ); CREATE TABLE seasons ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, season_key INTEGER NOT NULL, publisher_id INTEGER NOT NULL, league_id INTEGER NOT NULL, start_date_time VARCHAR(40), end_date_time VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE person_league_phases ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, person_id INTEGER NOT NULL, league_id INTEGER NOT NULL, start_date_time VARCHAR(40), start_season_id INTEGER NOT NULL, end_date_time VARCHAR(40), end_season_id INTEGER NOT NULL, role VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE positions ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, affiliation_id INTEGER NOT NULL, abbreviation VARCHAR(20) NOT NULL, name VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE team_phases ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, person_id INTEGER NOT NULL, role_id INTEGER NOT NULL, team_id INTEGER NOT NULL, uniform_number VARCHAR(40), regular_position_id INTEGER, start_date_time VARCHAR(40), start_season_id INTEGER NOT NULL, end_date_time VARCHAR(40), end_season_id INTEGER NOT NULL, height VARCHAR(40), weight VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE persons ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, person_key VARCHAR(40) NOT NULL, publisher_id INTEGER NOT NULL, gender VARCHAR(40), default_person_name_id INTEGER NOT NULL, current_injury_phase_id INTEGER, current_team_phase_id INTEGER, current_league_phase_id INTEGER, birth_date VARCHAR(40), death_date VARCHAR(40), birth_location_id INTEGER, hometown_location_id INTEGER, residence_location_id INTEGER, death_location_id INTEGER, PRIMARY KEY (id) ); CREATE TABLE person_names ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, person_id INTEGER NOT NULL, language VARCHAR(40), given_name VARCHAR(40), middle_name VARCHAR(40), family_name VARCHAR(40), nickname VARCHAR(40), full_name VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE roles ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, role_key VARCHAR(40) NOT NULL, role_name VARCHAR(40), comment VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE injury_phases ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, person_id INTEGER NOT NULL, injury_status VARCHAR(40), injury_type VARCHAR(40), injury_comment VARCHAR(40), disabled_list VARCHAR(40), start_date_time VARCHAR(40), end_date_time VARCHAR(40), season_id INTEGER NOT NULL, PRIMARY KEY (id) ); CREATE TABLE american_football_event_states ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, chronology VARCHAR(40) NOT NULL, event_id INTEGER NOT NULL, publisher_key VARCHAR(40) NOT NULL, period_value INTEGER, period_time_elapsed VARCHAR(40), period_time_remaining VARCHAR(40), clock_state VARCHAR(40), down INTEGER, team_in_possession_id INTEGER, distance_for_1st_down INTEGER, field_side VARCHAR(40), field_line INTEGER, PRIMARY KEY (id) ); CREATE TABLE american_football_action_plays ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, american_football_event_state_id INTEGER NOT NULL, sequence_number INTEGER, play_type VARCHAR(40), score_attempt_type VARCHAR(40), drive_result VARCHAR(40), points INTEGER, comment VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE american_football_action_play_participants ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, play_id INTEGER NOT NULL, person_id INTEGER NOT NULL, role VARCHAR(40) NOT NULL, score_type VARCHAR(40), field_line INTEGER, yardage INTEGER, PRIMARY KEY (id) ); CREATE TABLE american_football_defensive_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, tackles_total VARCHAR(40), tackles_solo VARCHAR(40), tackles_assists VARCHAR(40), interceptions_total VARCHAR(40), interceptions_yards VARCHAR(40), interceptions_average VARCHAR(40), interceptions_longest VARCHAR(40), interceptions_touchdown VARCHAR(40), quarterback_hurries VARCHAR(40), sacks_total VARCHAR(40), sacks_yards VARCHAR(40), passes_defensed VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE american_football_down_progress_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, first_downs_total VARCHAR(40), first_downs_pass VARCHAR(40), first_downs_run VARCHAR(40), first_downs_penalty VARCHAR(40), conversions_third_down VARCHAR(40), conversions_third_down_attempts VARCHAR(40), conversions_third_down_percentage VARCHAR(40), conversions_fourth_down VARCHAR(40), conversions_fourth_down_attempts VARCHAR(40), conversions_fourth_down_percentage VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE american_football_fumbles_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, fumbles_committed VARCHAR(40), fumbles_forced VARCHAR(40), fumbles_recovered VARCHAR(40), fumbles_lost VARCHAR(40), fumbles_yards_gained VARCHAR(40), fumbles_own_committed VARCHAR(40), fumbles_own_recovered VARCHAR(40), fumbles_own_lost VARCHAR(40), fumbles_own_yards_gained VARCHAR(40), fumbles_opposing_committed VARCHAR(40), fumbles_opposing_recovered VARCHAR(40), fumbles_opposing_lost VARCHAR(40), fumbles_opposing_yards_gained VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE american_football_offensive_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, offensive_plays_yards VARCHAR(40), offensive_plays_number VARCHAR(40), offensive_plays_average_yards_per VARCHAR(40), possession_duration VARCHAR(40), turnovers_giveaway VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE american_football_passing_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, passes_attempts VARCHAR(40), passes_completions VARCHAR(40), passes_percentage VARCHAR(40), passes_yards_gross VARCHAR(40), passes_yards_net VARCHAR(40), passes_yards_lost VARCHAR(40), passes_touchdowns VARCHAR(40), passes_touchdowns_percentage VARCHAR(40), passes_interceptions VARCHAR(40), passes_interceptions_percentage VARCHAR(40), passes_longest VARCHAR(40), passes_average_yards_per VARCHAR(40), passer_rating VARCHAR(40), receptions_total VARCHAR(40), receptions_yards VARCHAR(40), receptions_touchdowns VARCHAR(40), receptions_first_down VARCHAR(40), receptions_longest VARCHAR(40), receptions_average_yards_per VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE american_football_penalties_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, penalties_total VARCHAR(40), penalty_yards VARCHAR(40), penalty_first_downs VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE american_football_rushing_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, rushes_attempts VARCHAR(40), rushes_yards VARCHAR(40), rushes_touchdowns VARCHAR(40), rushing_average_yards_per VARCHAR(40), rushes_first_down VARCHAR(40), rushes_longest VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE american_football_sacks_against_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, sacks_against_yards VARCHAR(40), sacks_against_total VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE american_football_scoring_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, touchdowns_total VARCHAR(40), touchdowns_passing VARCHAR(40), touchdowns_rushing VARCHAR(40), touchdowns_special_teams VARCHAR(40), touchdowns_defensive VARCHAR(40), extra_points_attempts VARCHAR(40), extra_points_made VARCHAR(40), extra_points_missed VARCHAR(40), extra_points_blocked VARCHAR(40), field_goal_attempts VARCHAR(40), field_goals_made VARCHAR(40), field_goals_missed VARCHAR(40), field_goals_blocked VARCHAR(40), safeties_against VARCHAR(40), two_point_conversions_attempts VARCHAR(40), two_point_conversions_made VARCHAR(40), touchbacks_total VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE american_football_special_teams_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, returns_punt_total VARCHAR(40), returns_punt_yards VARCHAR(40), returns_punt_average VARCHAR(40), returns_punt_longest VARCHAR(40), returns_punt_touchdown VARCHAR(40), returns_kickoff_total VARCHAR(40), returns_kickoff_yards VARCHAR(40), returns_kickoff_average VARCHAR(40), returns_kickoff_longest VARCHAR(40), returns_kickoff_touchdown VARCHAR(40), returns_total VARCHAR(40), returns_yards VARCHAR(40), punts_total VARCHAR(40), punts_yards_gross VARCHAR(40), punts_yards_net VARCHAR(40), punts_longest VARCHAR(40), punts_inside_20 VARCHAR(40), punts_inside_20_percentage VARCHAR(40), punts_average VARCHAR(40), punts_blocked VARCHAR(40), touchbacks_total VARCHAR(40), touchbacks_total_percentage VARCHAR(40), touchbacks_kickoffs VARCHAR(40), touchbacks_kickoffs_percentage VARCHAR(40), touchbacks_punts VARCHAR(40), touchbacks_punts_percentage VARCHAR(40), touchbacks_interceptions VARCHAR(40), touchbacks_interceptions_percentage VARCHAR(40), fair_catches VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE baseball_event_states ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, chronology VARCHAR(40) NOT NULL, event_id INTEGER NOT NULL, publisher_id VARCHAR(40) NOT NULL, inning_value INTEGER, inning_half VARCHAR(40), outs INTEGER, balls INTEGER, strikes INTEGER, runner_on_first_id INTEGER, runner_on_second_id INTEGER, runner_on_third_id INTEGER, runs_this_inning_half INTEGER, pitcher_id INTEGER, batter_id INTEGER, batter_side VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE baseball_action_plays ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, baseball_event_state_id INTEGER, sequence_number INTEGER, play_type VARCHAR(40), notation VARCHAR(40), notation_yaml TEXT, comment VARCHAR(255), runner_on_first_advance INTEGER, runner_on_second_advance INTEGER, runner_on_third_advance INTEGER, outs_recorded INTEGER, rbi INTEGER, runs_scored INTEGER, earned_runs_scored VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE baseball_action_pitches ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, sequence_number INTEGER, baseball_action_play_id INTEGER, umpire_call VARCHAR(40), pitch_location VARCHAR(40), pitch_type VARCHAR(40), pitch_velocity INTEGER, comment TEXT, trajectory_coordinates VARCHAR(40), trajectory_formula VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE baseball_action_contact_details ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, baseball_action_pitch_id INTEGER NOT NULL, location VARCHAR(40), strength VARCHAR(40), velocity INTEGER, comment TEXT, trajectory_coordinates VARCHAR(40), trajectory_formula VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE baseball_action_substitutions ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, baseball_event_state_id INTEGER, sequence_number INTEGER, person_type VARCHAR(40), person_original_id INTEGER, person_original_position_id INTEGER, person_original_lineup_slot INTEGER, person_replacing_id INTEGER, person_replacing_position_id INTEGER, person_replacing_lineup_slot INTEGER, substitution_reason VARCHAR(255), comment VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE baseball_defensive_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, double_plays VARCHAR(40), triple_plays VARCHAR(40), putouts VARCHAR(40), assists VARCHAR(40), errors VARCHAR(40), fielding_percentage VARCHAR(40), defensive_average VARCHAR(40), errors_passed_ball VARCHAR(40), errors_catchers_interference VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE baseball_offensive_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, average VARCHAR(40), runs_scored VARCHAR(40), at_bats VARCHAR(40), hits VARCHAR(40), rbi VARCHAR(40), total_bases VARCHAR(40), slugging_percentage VARCHAR(40), bases_on_balls VARCHAR(40), strikeouts VARCHAR(40), left_on_base VARCHAR(40), left_in_scoring_position VARCHAR(40), singles VARCHAR(40), doubles VARCHAR(40), triples VARCHAR(40), home_runs VARCHAR(40), grand_slams VARCHAR(40), at_bats_per_rbi VARCHAR(40), plate_appearances_per_rbi VARCHAR(40), at_bats_per_home_run VARCHAR(40), plate_appearances_per_home_run VARCHAR(40), sac_flies VARCHAR(40), sac_bunts VARCHAR(40), grounded_into_double_play VARCHAR(40), moved_up VARCHAR(40), on_base_percentage VARCHAR(40), stolen_bases VARCHAR(40), stolen_bases_caught VARCHAR(40), stolen_bases_average VARCHAR(40), hit_by_pitch VARCHAR(40), defensive_interferance_reaches VARCHAR(40), on_base_plus_slugging VARCHAR(40), plate_appearances VARCHAR(40), hits_extra_base VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE baseball_pitching_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, runs_allowed VARCHAR(40), home_runs_allowed VARCHAR(40), innings_pitched VARCHAR(40), hits VARCHAR(40), earned_runs VARCHAR(40), unearned_runs VARCHAR(40), bases_on_balls VARCHAR(40), bases_on_balls_intentional VARCHAR(40), strikeouts VARCHAR(40), strikeout_to_bb_ratio VARCHAR(40), number_of_pitches VARCHAR(40), era VARCHAR(40), inherited_runners_scored VARCHAR(40), pick_offs VARCHAR(40), errors_hit_with_pitch VARCHAR(40), errors_wild_pitch VARCHAR(40), balks VARCHAR(40), wins VARCHAR(40), losses VARCHAR(40), saves VARCHAR(40), shutouts VARCHAR(40), games_complete VARCHAR(40), games_finished VARCHAR(40), winning_percentage VARCHAR(40), event_credit VARCHAR(40), save_credit VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE basketball_defensive_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, steals_total CHAR(20), steals_per_game CHAR(20), blocks_total CHAR(20), blocks_per_game CHAR(20), PRIMARY KEY (id) ); CREATE TABLE basketball_event_states ( id CHAR(100) NOT NULL, chronology CHAR(20), event_id CHAR(100), publisher_key CHAR(40), period_value CHAR(20), period_time_elapsed CHAR(20), period_time_remaining CHAR(20), PRIMARY KEY (id) ); CREATE TABLE basketball_offensive_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, field_goals_made INTEGER, field_goals_attempted INTEGER, field_goals_percentage VARCHAR(40), field_goals_per_game VARCHAR(40), field_goals_attempted_per_game VARCHAR(40), field_goals_percentage_adjusted VARCHAR(40), three_pointers_made INTEGER, three_pointers_attempted INTEGER, three_pointers_percentage VARCHAR(40), three_pointers_per_game CHAR(20), three_pointers_attempted_per_game CHAR(20), free_throws_made CHAR(20), free_throws_attempted CHAR(20), free_throws_percentage CHAR(20), free_throws_per_game CHAR(20), free_throws_attempted_per_game CHAR(20), points_scored_total CHAR(20), points_scored_per_game CHAR(20), assists_total CHAR(20), assists_per_game CHAR(20), turnovers_total CHAR(20), turnovers_per_game CHAR(20), points_scored_off_turnovers CHAR(20), points_scored_in_paint CHAR(20), points_scored_on_second_chance CHAR(20), points_scored_on_fast_break CHAR(20), PRIMARY KEY (id) ); CREATE TABLE basketball_rebounding_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, rebounds_total CHAR(20), rebounds_per_game CHAR(20), rebounds_defensive CHAR(20), rebounds_offensive CHAR(20), team_rebounds_total CHAR(20), team_rebounds_per_game CHAR(20), team_rebounds_defensive CHAR(20), team_rebounds_offensive CHAR(20), PRIMARY KEY (id) ); CREATE TABLE core_person_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, time_played INTEGER, events_played INTEGER, events_started INTEGER, position_id INTEGER, PRIMARY KEY (id) ); CREATE TABLE core_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, score VARCHAR(40), score_opposing VARCHAR(40), score_attempts VARCHAR(40), score_attempts_opposing VARCHAR(40), score_percentage VARCHAR(40), score_percentage_opposing VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE document_contents ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, document_id VARCHAR(40) NOT NULL, sportsml MEDIUMTEXT, abstract TEXT, PRIMARY KEY (id) ); CREATE TABLE document_fixtures_events ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, document_fixture_id INTEGER NOT NULL, event_id INTEGER NOT NULL, latest_document_id INTEGER NOT NULL, PRIMARY KEY (id) ); CREATE TABLE events_documents ( event_id INTEGER NOT NULL, document_id INTEGER NOT NULL ); CREATE TABLE sub_seasons ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, sub_season_key VARCHAR(40), season_id INTEGER NOT NULL, type VARCHAR(40) NOT NULL, start_date_time VARCHAR(40), end_date_time VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE events_sub_seasons ( event_id INTEGER NOT NULL, sub_season_id INTEGER NOT NULL, PRIMARY KEY (event_id, sub_season_id) ); CREATE TABLE ice_hockey_defensive_stats ( id CHAR(255) NOT NULL, shots_power_play_allowed CHAR(20), shots_penalty_shot_allowed CHAR(20), goals_power_play_allowed CHAR(20), goals_penalty_shot_allowed CHAR(20), goals_against_average CHAR(20), saves CHAR(20), save_percentage CHAR(20), penalty_killing_amount CHAR(20), penalty_killing_percentage CHAR(20), shots_blocked CHAR(20), takeaways CHAR(20), shutouts CHAR(20), minutes_penalty_killing CHAR(20), hits CHAR(20) ); CREATE TABLE ice_hockey_event_states ( id CHAR(100) NOT NULL, chronology CHAR(20), event_id CHAR(100), publisher_key CHAR(40), period_value CHAR(20), period_time_elapsed CHAR(20), period_time_remaining CHAR(20), PRIMARY KEY (id) ); CREATE TABLE ice_hockey_offensive_stats ( id CHAR(255) NOT NULL, goals_game_winning CHAR(20), goals_game_tying CHAR(20), goals_power_play CHAR(20), goals_short_handed CHAR(20), goals_even_strength CHAR(20), goals_empty_net CHAR(20), goals_overtime CHAR(20), goals_shootout CHAR(20), goals_penalty_shot CHAR(20), assists CHAR(20), points CHAR(20), power_play_amount CHAR(20), power_play_percentage CHAR(20), shots_penalty_shot_taken CHAR(20), shots_penalty_shot_missed CHAR(20), shots_penalty_shot_percentage CHAR(20), giveaways CHAR(20), minutes_power_play CHAR(20), faceoff_wins CHAR(20), faceoff_losses CHAR(20), faceoff_win_percentage CHAR(20), scoring_chances CHAR(20) ); CREATE TABLE key_aliases ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, publisher_id INTEGER NOT NULL, key_type VARCHAR(40), key_value VARCHAR(40), id_value INTEGER, common_key VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE latest_revisions ( revision_id INTEGER NOT NULL, latest_document_id INTEGER NOT NULL ); CREATE TABLE locations ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, timezone VARCHAR(40), latitude VARCHAR(40), longitude VARCHAR(40), country_code VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE person_event_metadata ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, status VARCHAR(40), weight VARCHAR(40), role_id INTEGER NOT NULL, position_id INTEGER NOT NULL, PRIMARY KEY (id) ); CREATE TABLE persons_documents ( person_id INTEGER NOT NULL, document_id INTEGER NOT NULL, PRIMARY KEY (person_id, document_id) ); CREATE TABLE persons_events ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, person_id INTEGER NOT NULL, event_id INTEGER NOT NULL, score VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE persons_events_subscores ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, event_id VARCHAR(40), person_id INTEGER NOT NULL, period VARCHAR(40), score VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE stats ( stat_type VARCHAR(40), stat_id INTEGER NOT NULL, stat_holder_type VARCHAR(40), stat_holder_id INTEGER, stat_coverage_type VARCHAR(40), stat_coverage_id INTEGER, stat_stage VARCHAR(40) NOT NULL ); CREATE TABLE team_affiliation_phases ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, team_id INTEGER NOT NULL, start_season_id INTEGER NOT NULL, end_season_id INTEGER NOT NULL, affiliation_id INTEGER NOT NULL, start_date_time VARCHAR(40), end_date_time VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE team_american_football_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, yards_per_attempt VARCHAR(40), average_starting_position VARCHAR(40), timeouts VARCHAR(40), time_of_possession VARCHAR(40), turnover_ratio VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE teams_documents ( team_id INTEGER NOT NULL, document_id INTEGER NOT NULL, PRIMARY KEY (team_id, document_id) ); CREATE TABLE teams_events ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, team_id INTEGER NOT NULL, event_id INTEGER NOT NULL, alignment VARCHAR(40), score VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE teams_events_subscores ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, event_id INTEGER NOT NULL, team_id INTEGER NOT NULL, period VARCHAR(40), score VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE wagering_moneylines ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, bookmaker_key VARCHAR(40), event_id INTEGER NOT NULL, date_time VARCHAR(40), team_id INTEGER NOT NULL, person_id INTEGER NOT NULL, rotation_number VARCHAR(40), comment VARCHAR(40), vigorish VARCHAR(40), line VARCHAR(40), line_opening VARCHAR(40), prediction VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE wagering_odds_lines ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, bookmaker_key VARCHAR(40), event_id INTEGER NOT NULL, date_time VARCHAR(40), team_id INTEGER NOT NULL, person_id INTEGER NOT NULL, rotation_number VARCHAR(40), comment VARCHAR(40), numerator VARCHAR(40), denominator VARCHAR(40), prediction VARCHAR(40), payout_calculation VARCHAR(40), payout_amount VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE wagering_runlines ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, bookmaker_key VARCHAR(40), event_id INTEGER NOT NULL, date_time VARCHAR(40), team_id INTEGER NOT NULL, person_id INTEGER NOT NULL, rotation_number VARCHAR(40), comment VARCHAR(40), vigorish VARCHAR(40), line VARCHAR(40), line_opening VARCHAR(40), value VARCHAR(40), prediction VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE wagering_straight_spread_lines ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, bookmaker_key VARCHAR(40), event_id INTEGER NOT NULL, date_time VARCHAR(40), team_id INTEGER NOT NULL, person_id INTEGER NOT NULL, rotation_number VARCHAR(40), comment VARCHAR(40), vigorish VARCHAR(40), value VARCHAR(40), value_opening VARCHAR(40), prediction VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE wagering_total_score_lines ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, bookmaker_key VARCHAR(40), event_id INTEGER NOT NULL, date_time VARCHAR(40), team_id INTEGER NOT NULL, person_id INTEGER NOT NULL, rotation_number VARCHAR(40), comment VARCHAR(40), vigorish VARCHAR(40), line_over VARCHAR(40), line_under VARCHAR(40), total VARCHAR(40), total_opening VARCHAR(40), prediction VARCHAR(40), PRIMARY KEY (id) ); CREATE TABLE weather_conditions ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, event_id VARCHAR(40), temperature VARCHAR(40), humidity VARCHAR(40), clouds VARCHAR(40), wind_direction VARCHAR(40), wind_velocity VARCHAR(40), PRIMARY KEY (id) ); /*============================================================================*/ /* Foreign keys */ /*============================================================================*/ ALTER TABLE person_league_phases ADD FOREIGN KEY (league_id) REFERENCES affiliations (id); ALTER TABLE team_affiliation_phases ADD FOREIGN KEY (affiliation_id) REFERENCES affiliations (id); ALTER TABLE affiliations_teams ADD FOREIGN KEY (affiliation_id) REFERENCES affiliations (id); ALTER TABLE seasons ADD FOREIGN KEY (league_id) REFERENCES affiliations (id); ALTER TABLE affiliations_documents ADD FOREIGN KEY (affiliation_id) REFERENCES affiliations (id); ALTER TABLE affiliations_events ADD FOREIGN KEY (affiliation_id) REFERENCES affiliations (id); ALTER TABLE teams ADD FOREIGN KEY (league_id) REFERENCES affiliations (id); ALTER TABLE document_fixtures ADD FOREIGN KEY (document_class_id) REFERENCES document_classes (id); ALTER TABLE sites ADD FOREIGN KEY (publisher_id) REFERENCES publishers (id); ALTER TABLE teams ADD FOREIGN KEY (publisher_id) REFERENCES publishers (id); ALTER TABLE persons ADD FOREIGN KEY (publisher_id) REFERENCES publishers (id); ALTER TABLE seasons ADD FOREIGN KEY (publisher_id) REFERENCES publishers (id); ALTER TABLE documents ADD FOREIGN KEY (publisher_id) REFERENCES publishers (id); ALTER TABLE documents ADD FOREIGN KEY (source_id) REFERENCES publishers (id); ALTER TABLE document_fixtures ADD FOREIGN KEY (publisher_id) REFERENCES publishers (id); ALTER TABLE events ADD FOREIGN KEY (publisher_id) REFERENCES publishers (id); ALTER TABLE key_aliases ADD FOREIGN KEY (publisher_id) REFERENCES publishers (id); ALTER TABLE documents ADD FOREIGN KEY (document_fixture_id) REFERENCES document_fixtures (id); ALTER TABLE document_fixtures_events ADD FOREIGN KEY (document_fixture_id) REFERENCES document_fixtures (id); ALTER TABLE document_contents ADD FOREIGN KEY (document_id) REFERENCES documents (id); ALTER TABLE latest_revisions ADD FOREIGN KEY (latest_document_id) REFERENCES documents (id); ALTER TABLE persons_documents ADD FOREIGN KEY (document_id) REFERENCES documents (id); ALTER TABLE teams_documents ADD FOREIGN KEY (document_id) REFERENCES documents (id); ALTER TABLE events_documents ADD FOREIGN KEY (document_id) REFERENCES documents (id); ALTER TABLE affiliations_documents ADD FOREIGN KEY (document_id) REFERENCES documents (id); ALTER TABLE document_fixtures_events ADD FOREIGN KEY (latest_document_id) REFERENCES documents (id); ALTER TABLE teams ADD FOREIGN KEY (home_site_id) REFERENCES sites (id); ALTER TABLE events ADD FOREIGN KEY () REFERENCES sites (); ALTER TABLE events ADD FOREIGN KEY (site_id) REFERENCES sites (id); ALTER TABLE affiliations_events ADD FOREIGN KEY (event_id) REFERENCES events (id); ALTER TABLE teams_events ADD FOREIGN KEY (event_id) REFERENCES events (id); ALTER TABLE teams_events_subscores ADD FOREIGN KEY (event_id) REFERENCES events (id); ALTER TABLE wagering_total_score_lines ADD FOREIGN KEY (event_id) REFERENCES events (id); ALTER TABLE wagering_moneylines ADD FOREIGN KEY (event_id) REFERENCES events (id); ALTER TABLE events_sub_seasons ADD FOREIGN KEY (event_id) REFERENCES events (id); ALTER TABLE persons_events_subscores ADD FOREIGN KEY (event_id) REFERENCES events (id); ALTER TABLE events_documents ADD FOREIGN KEY (event_id) REFERENCES events (id); ALTER TABLE weather_conditions ADD FOREIGN KEY (event_id) REFERENCES events (id); ALTER TABLE persons_events ADD FOREIGN KEY (event_id) REFERENCES events (id); ALTER TABLE wagering_runlines ADD FOREIGN KEY (event_id) REFERENCES events (id); ALTER TABLE wagering_odds_lines ADD FOREIGN KEY (event_id) REFERENCES events (id); ALTER TABLE wagering_straight_spread_lines ADD FOREIGN KEY (event_id) REFERENCES events (id); ALTER TABLE document_fixtures_events ADD FOREIGN KEY (event_id) REFERENCES events (id); ALTER TABLE team_affiliation_phases ADD FOREIGN KEY (team_id) REFERENCES teams (id); ALTER TABLE affiliations_teams ADD FOREIGN KEY (team_id) REFERENCES teams (id); ALTER TABLE team_phases ADD FOREIGN KEY (team_id) REFERENCES teams (id); ALTER TABLE teams_documents ADD FOREIGN KEY (team_id) REFERENCES teams (id); ALTER TABLE teams_events ADD FOREIGN KEY (team_id) REFERENCES teams (id); ALTER TABLE teams_events_subscores ADD FOREIGN KEY (team_id) REFERENCES teams (id); ALTER TABLE wagering_odds_lines ADD FOREIGN KEY (team_id) REFERENCES teams (id); ALTER TABLE wagering_straight_spread_lines ADD FOREIGN KEY (team_id) REFERENCES teams (id); ALTER TABLE wagering_moneylines ADD FOREIGN KEY (team_id) REFERENCES teams (id); ALTER TABLE wagering_total_score_lines ADD FOREIGN KEY (team_id) REFERENCES teams (id); ALTER TABLE wagering_runlines ADD FOREIGN KEY (team_id) REFERENCES teams (id); ALTER TABLE american_football_event_states ADD FOREIGN KEY (team_in_possession_id) REFERENCES teams (id); ALTER TABLE injury_phases ADD FOREIGN KEY (season_id) REFERENCES seasons (id); ALTER TABLE sub_seasons ADD FOREIGN KEY (season_id) REFERENCES seasons (id); ALTER TABLE team_phases ADD FOREIGN KEY (start_season_id) REFERENCES seasons (id); ALTER TABLE team_phases ADD FOREIGN KEY (end_season_id) REFERENCES seasons (id); ALTER TABLE team_affiliation_phases ADD FOREIGN KEY (start_season_id) REFERENCES seasons (id); ALTER TABLE team_affiliation_phases ADD FOREIGN KEY (end_season_id) REFERENCES seasons (id); ALTER TABLE person_league_phases ADD FOREIGN KEY (start_season_id) REFERENCES seasons (id); ALTER TABLE person_league_phases ADD FOREIGN KEY (end_season_id) REFERENCES seasons (id); ALTER TABLE persons ADD FOREIGN KEY (current_league_phase_id) REFERENCES person_league_phases (id); ALTER TABLE team_phases ADD FOREIGN KEY (regular_position_id) REFERENCES positions (id); ALTER TABLE core_person_stats ADD FOREIGN KEY (position_id) REFERENCES positions (id); ALTER TABLE person_event_metadata ADD FOREIGN KEY (position_id) REFERENCES positions (id); ALTER TABLE baseball_action_substitutions ADD FOREIGN KEY (person_original_position_id) REFERENCES positions (id); ALTER TABLE baseball_action_substitutions ADD FOREIGN KEY (person_replacing_position_id) REFERENCES positions (id); ALTER TABLE persons ADD FOREIGN KEY (current_team_phase_id) REFERENCES team_phases (id); ALTER TABLE person_names ADD FOREIGN KEY (person_id) REFERENCES persons (id); ALTER TABLE injury_phases ADD FOREIGN KEY (person_id) REFERENCES persons (id); ALTER TABLE persons_documents ADD FOREIGN KEY (person_id) REFERENCES persons (id); ALTER TABLE persons_events_subscores ADD FOREIGN KEY (person_id) REFERENCES persons (id); ALTER TABLE persons_events ADD FOREIGN KEY (person_id) REFERENCES persons (id); ALTER TABLE team_phases ADD FOREIGN KEY (person_id) REFERENCES persons (id); ALTER TABLE wagering_moneylines ADD FOREIGN KEY (person_id) REFERENCES persons (id); ALTER TABLE person_league_phases ADD FOREIGN KEY (person_id) REFERENCES persons (id); ALTER TABLE wagering_total_score_lines ADD FOREIGN KEY (person_id) REFERENCES persons (id); ALTER TABLE wagering_runlines ADD FOREIGN KEY (person_id) REFERENCES persons (id); ALTER TABLE wagering_odds_lines ADD FOREIGN KEY (person_id) REFERENCES persons (id); ALTER TABLE american_football_action_play_participants ADD FOREIGN KEY (person_id) REFERENCES persons (id); ALTER TABLE wagering_straight_spread_lines ADD FOREIGN KEY (person_id) REFERENCES persons (id); ALTER TABLE persons ADD FOREIGN KEY (default_person_name_id) REFERENCES person_names (id); ALTER TABLE team_phases ADD FOREIGN KEY (role_id) REFERENCES roles (id); ALTER TABLE person_event_metadata ADD FOREIGN KEY (role_id) REFERENCES roles (id); ALTER TABLE persons ADD FOREIGN KEY (current_injury_phase_id) REFERENCES injury_phases (id); ALTER TABLE american_football_action_plays ADD FOREIGN KEY (american_football_event_state_id) REFERENCES american_football_event_states (id); ALTER TABLE american_football_action_play_participants ADD FOREIGN KEY (play_id) REFERENCES american_football_action_plays (id); ALTER TABLE baseball_action_plays ADD FOREIGN KEY (baseball_event_state_id) REFERENCES baseball_event_states (id); ALTER TABLE baseball_action_substitutions ADD FOREIGN KEY (baseball_event_state_id) REFERENCES baseball_event_states (id); ALTER TABLE baseball_action_pitches ADD FOREIGN KEY (baseball_action_play_id) REFERENCES baseball_action_plays (id); ALTER TABLE baseball_action_contact_details ADD FOREIGN KEY (baseball_action_pitch_id) REFERENCES baseball_action_pitches (id); ALTER TABLE events_sub_seasons ADD FOREIGN KEY (sub_season_id) REFERENCES sub_seasons (id); /*============================================================================*/ /* Indexes */ /*============================================================================*/ ALTER TABLE sub_seasons ADD INDEX IDX_sub_seasons_1 (sub_season_key); /* -- END OF SCRIPT -- */