/*============================================================================*/ /* DDL SCRIPT */ /*============================================================================*/ /* Title: XTOSS */ /* Filename: xtoss.hf */ /* Platform: MySQL 3 */ /* Generated: Tuesday, June 13, 2006 */ /*============================================================================*/ /*============================================================================*/ /* Tables */ /*============================================================================*/ CREATE TABLE addresses ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, location_id INTEGER NOT NULL, language VARCHAR(255), suite VARCHAR(255), floor VARCHAR(255), building VARCHAR(255), street_number VARCHAR(255), street_prefix VARCHAR(255), street VARCHAR(255), street_suffix VARCHAR(255), neighborhood VARCHAR(255), district VARCHAR(255), locality VARCHAR(255), county VARCHAR(255), region VARCHAR(255), postal_code VARCHAR(255), country VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE affiliations ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, affiliation_key VARCHAR(255) NOT NULL, tier VARCHAR(255), parent_id INTEGER, start_season_id VARCHAR(255), start_date_time VARCHAR(255), end_season_id VARCHAR(255), end_date_time VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE document_classes ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, name VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE publishers ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, publisher_key VARCHAR(255) NOT NULL, publisher_name VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE document_fixtures ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, fixture_key VARCHAR(255), publisher_id INTEGER NOT NULL, name VARCHAR(255), document_class_id INTEGER NOT NULL, PRIMARY KEY (id) ); CREATE TABLE documents ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, doc_id VARCHAR(255) NOT NULL, publisher_id INTEGER NOT NULL, date_time DATETIME, title VARCHAR(255), language VARCHAR(255), priority VARCHAR(255), revision_id VARCHAR(255), stats_coverage VARCHAR(255), document_fixture_id INTEGER NOT NULL, source_id INTEGER NOT NULL, db_loading_date_time VARCHAR(255), 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, location_id INTEGER, PRIMARY KEY (id) ); CREATE TABLE events ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, event_key VARCHAR(255), publisher_id INTEGER NOT NULL, start_date_time DATETIME, site_id INTEGER NOT NULL, site_alignment VARCHAR(255), event_status VARCHAR(255), duration VARCHAR(255), attendance VARCHAR(255), 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 locations ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, timezone VARCHAR(255), latitude VARCHAR(255), longitude VARCHAR(255), country_code VARCHAR(255), PRIMARY KEY (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(255), end_date_time VARCHAR(255), 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(255), start_season_id INTEGER NOT NULL, end_date_time VARCHAR(255), end_season_id INTEGER NOT NULL, person_role VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE positions ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, affiliation_id INTEGER NOT NULL, abbreviation VARCHAR(20) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE teams ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, team_key VARCHAR(255) NOT NULL, publisher_id INTEGER NOT NULL, home_site_id INTEGER NOT NULL, league_id INTEGER NOT NULL, 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(255), regular_position_id INTEGER NOT NULL, start_date_time VARCHAR(255), start_season_id INTEGER NOT NULL, end_date_time VARCHAR(255), end_season_id INTEGER NOT NULL, height VARCHAR(255), weight VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE persons ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, person_key VARCHAR(255) NOT NULL, publisher_id INTEGER NOT NULL, gender VARCHAR(255), current_injury_phase_id INTEGER, current_team_phase_id INTEGER, current_league_phase_id INTEGER, birth_date VARCHAR(255), death_date VARCHAR(255), birth_location_id INTEGER, hometown_location_id INTEGER, residence_location_id INTEGER, death_location_id INTEGER, PRIMARY KEY (id) ); CREATE TABLE roles ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, role_key VARCHAR(255) NOT NULL, role_name VARCHAR(255), comment VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE injury_phases ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, person_id INTEGER NOT NULL, injury_status VARCHAR(255), injury_type VARCHAR(255), injury_comment VARCHAR(255), disabled_list VARCHAR(255), start_date_time VARCHAR(255), end_date_time VARCHAR(255), season_id INTEGER NOT NULL, PRIMARY KEY (id) ); CREATE TABLE media ( id VARCHAR(255) NOT NULL, object_id VARCHAR(255), source_id VARCHAR(255), revision_id VARCHAR(255), media_type VARCHAR(255), publisher_id VARCHAR(255) NOT NULL, date_time VARCHAR(255), credit_id VARCHAR(255) NOT NULL, db_loading_date_time VARCHAR(255), creation_location_id VARCHAR(255) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE affiliations_media ( affiliation_id INTEGER NOT NULL, media_id INTEGER NOT NULL ); CREATE TABLE affiliations_teams ( affiliation_id INTEGER NOT NULL, team_id INTEGER NOT NULL, PRIMARY KEY (affiliation_id, team_id) ); CREATE TABLE am_football_event_states ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, chronology VARCHAR(255) NOT NULL, event_id INTEGER NOT NULL, publisher_key VARCHAR(255) NOT NULL, period_value INTEGER, period_time_elapsed VARCHAR(255), period_time_remaining VARCHAR(255), clock_state VARCHAR(255), down INTEGER, team_in_possession_id INTEGER NOT NULL, distance_for_1st_down INTEGER, field_side VARCHAR(255), field_line INTEGER, PRIMARY KEY (id) ); CREATE TABLE am_football_action_plays ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, american_football_event_state_id INTEGER NOT NULL, sequence_number INTEGER, play_type VARCHAR(255), score_attempt_type VARCHAR(255), drive_result VARCHAR(255), points INTEGER, comment VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE am_football_action_participants ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, play_id INTEGER NOT NULL, person_id INTEGER NOT NULL, participant_role VARCHAR(255) NOT NULL, score_type VARCHAR(255), field_line INTEGER, yardage INTEGER, PRIMARY KEY (id) ); CREATE TABLE am_football_defensive_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, tackles_total VARCHAR(255), tackles_solo VARCHAR(255), tackles_assists VARCHAR(255), interceptions_total VARCHAR(255), interceptions_yards VARCHAR(255), interceptions_average VARCHAR(255), interceptions_longest VARCHAR(255), interceptions_touchdown VARCHAR(255), quarterback_hurries VARCHAR(255), sacks_total VARCHAR(255), sacks_yards VARCHAR(255), passes_defensed VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE am_football_down_progress_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, first_downs_total VARCHAR(255), first_downs_pass VARCHAR(255), first_downs_run VARCHAR(255), first_downs_penalty VARCHAR(255), conversions_third_down VARCHAR(255), conversions_third_down_attempts VARCHAR(255), conversions_third_down_percentage VARCHAR(255), conversions_fourth_down VARCHAR(255), conversions_fourth_down_attempts VARCHAR(255), conversions_fourth_down_percentage VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE am_football_fumbles_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, fumbles_committed VARCHAR(255), fumbles_forced VARCHAR(255), fumbles_recovered VARCHAR(255), fumbles_lost VARCHAR(255), fumbles_yards_gained VARCHAR(255), fumbles_own_committed VARCHAR(255), fumbles_own_recovered VARCHAR(255), fumbles_own_lost VARCHAR(255), fumbles_own_yards_gained VARCHAR(255), fumbles_opposing_committed VARCHAR(255), fumbles_opposing_recovered VARCHAR(255), fumbles_opposing_lost VARCHAR(255), fumbles_opposing_yards_gained VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE am_football_offensive_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, offensive_plays_yards VARCHAR(255), offensive_plays_number VARCHAR(255), offensive_plays_average_yards_per VARCHAR(255), possession_duration VARCHAR(255), turnovers_giveaway VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE am_football_passing_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, passes_attempts VARCHAR(255), passes_completions VARCHAR(255), passes_percentage VARCHAR(255), passes_yards_gross VARCHAR(255), passes_yards_net VARCHAR(255), passes_yards_lost VARCHAR(255), passes_touchdowns VARCHAR(255), passes_touchdowns_percentage VARCHAR(255), passes_interceptions VARCHAR(255), passes_interceptions_percentage VARCHAR(255), passes_longest VARCHAR(255), passes_average_yards_per VARCHAR(255), passer_rating VARCHAR(255), receptions_total VARCHAR(255), receptions_yards VARCHAR(255), receptions_touchdowns VARCHAR(255), receptions_first_down VARCHAR(255), receptions_longest VARCHAR(255), receptions_average_yards_per VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE am_football_penalties_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, penalties_total VARCHAR(255), penalty_yards VARCHAR(255), penalty_first_downs VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE am_football_rushing_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, rushes_attempts VARCHAR(255), rushes_yards VARCHAR(255), rushes_touchdowns VARCHAR(255), rushing_average_yards_per VARCHAR(255), rushes_first_down VARCHAR(255), rushes_longest VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE am_football_sacks_against_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, sacks_against_yards VARCHAR(255), sacks_against_total VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE am_football_scoring_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, touchdowns_total VARCHAR(255), touchdowns_passing VARCHAR(255), touchdowns_rushing VARCHAR(255), touchdowns_special_teams VARCHAR(255), touchdowns_defensive VARCHAR(255), extra_points_attempts VARCHAR(255), extra_points_made VARCHAR(255), extra_points_missed VARCHAR(255), extra_points_blocked VARCHAR(255), field_goal_attempts VARCHAR(255), field_goals_made VARCHAR(255), field_goals_missed VARCHAR(255), field_goals_blocked VARCHAR(255), safeties_against VARCHAR(255), two_point_conversions_attempts VARCHAR(255), two_point_conversions_made VARCHAR(255), touchbacks_total VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE am_football_special_teams_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, returns_punt_total VARCHAR(255), returns_punt_yards VARCHAR(255), returns_punt_average VARCHAR(255), returns_punt_longest VARCHAR(255), returns_punt_touchdown VARCHAR(255), returns_kickoff_total VARCHAR(255), returns_kickoff_yards VARCHAR(255), returns_kickoff_average VARCHAR(255), returns_kickoff_longest VARCHAR(255), returns_kickoff_touchdown VARCHAR(255), returns_total VARCHAR(255), returns_yards VARCHAR(255), punts_total VARCHAR(255), punts_yards_gross VARCHAR(255), punts_yards_net VARCHAR(255), punts_longest VARCHAR(255), punts_inside_20 VARCHAR(255), punts_inside_20_percentage VARCHAR(255), punts_average VARCHAR(255), punts_blocked VARCHAR(255), touchbacks_total VARCHAR(255), touchbacks_total_percentage VARCHAR(255), touchbacks_kickoffs VARCHAR(255), touchbacks_kickoffs_percentage VARCHAR(255), touchbacks_punts VARCHAR(255), touchbacks_punts_percentage VARCHAR(255), touchbacks_interceptions VARCHAR(255), touchbacks_interceptions_percentage VARCHAR(255), fair_catches VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE baseball_event_states ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, chronology VARCHAR(255) NOT NULL, event_id INTEGER NOT NULL, publisher_id VARCHAR(255) NOT NULL, inning_value INTEGER, inning_half VARCHAR(255), 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(255), PRIMARY KEY (id) ); CREATE TABLE baseball_action_plays ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, baseball_event_state_id INTEGER NOT NULL, sequence_number INTEGER, play_type VARCHAR(255), notation VARCHAR(255), notation_yaml TEXT, baseball_defensive_group_id INTEGER, 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(255), PRIMARY KEY (id) ); CREATE TABLE baseball_action_pitches ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, sequence_number INTEGER, baseball_action_play_id INTEGER NOT NULL, baseball_defensive_group_id INTEGER, umpire_call VARCHAR(255), pitch_location VARCHAR(255), pitch_type VARCHAR(255), pitch_velocity INTEGER, comment TEXT, trajectory_coordinates VARCHAR(255), trajectory_formula VARCHAR(255), 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(255), strength VARCHAR(255), velocity INTEGER, comment TEXT, trajectory_coordinates VARCHAR(255), trajectory_formula VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE baseball_action_substitutions ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, baseball_event_state_id INTEGER NOT NULL, sequence_number INTEGER, person_type VARCHAR(255), person_original_id INTEGER, person_original_position_id INTEGER NOT NULL, person_original_lineup_slot INTEGER, person_replacing_id INTEGER, person_replacing_position_id INTEGER NOT NULL, person_replacing_lineup_slot INTEGER, substitution_reason VARCHAR(255), comment VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE baseball_defensive_group ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY (id) ); CREATE TABLE baseball_defensive_players ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, baseball_defensive_group_id INTEGER, player_id INTEGER, position_id INTEGER, PRIMARY KEY (id) ); CREATE TABLE baseball_defensive_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, double_plays VARCHAR(255), triple_plays VARCHAR(255), putouts VARCHAR(255), assists VARCHAR(255), errors VARCHAR(255), fielding_percentage VARCHAR(255), defensive_average VARCHAR(255), errors_passed_ball VARCHAR(255), errors_catchers_interference VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE baseball_offensive_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, average VARCHAR(255), runs_scored VARCHAR(255), at_bats VARCHAR(255), hits VARCHAR(255), rbi VARCHAR(255), total_bases VARCHAR(255), slugging_percentage VARCHAR(255), bases_on_balls VARCHAR(255), strikeouts VARCHAR(255), left_on_base VARCHAR(255), left_in_scoring_position VARCHAR(255), singles VARCHAR(255), doubles VARCHAR(255), triples VARCHAR(255), home_runs VARCHAR(255), grand_slams VARCHAR(255), at_bats_per_rbi VARCHAR(255), plate_appearances_per_rbi VARCHAR(255), at_bats_per_home_run VARCHAR(255), plate_appearances_per_home_run VARCHAR(255), sac_flies VARCHAR(255), sac_bunts VARCHAR(255), grounded_into_double_play VARCHAR(255), moved_up VARCHAR(255), on_base_percentage VARCHAR(255), stolen_bases VARCHAR(255), stolen_bases_caught VARCHAR(255), stolen_bases_average VARCHAR(255), hit_by_pitch VARCHAR(255), defensive_interferance_reaches VARCHAR(255), on_base_plus_slugging VARCHAR(255), plate_appearances VARCHAR(255), hits_extra_base VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE baseball_pitching_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, runs_allowed VARCHAR(255), home_runs_allowed VARCHAR(255), innings_pitched VARCHAR(255), hits VARCHAR(255), earned_runs VARCHAR(255), unearned_runs VARCHAR(255), bases_on_balls VARCHAR(255), bases_on_balls_intentional VARCHAR(255), strikeouts VARCHAR(255), strikeout_to_bb_ratio VARCHAR(255), number_of_pitches VARCHAR(255), era VARCHAR(255), inherited_runners_scored VARCHAR(255), pick_offs VARCHAR(255), errors_hit_with_pitch VARCHAR(255), errors_wild_pitch VARCHAR(255), balks VARCHAR(255), wins VARCHAR(255), losses VARCHAR(255), saves VARCHAR(255), shutouts VARCHAR(255), games_complete VARCHAR(255), games_finished VARCHAR(255), winning_percentage VARCHAR(255), event_credit VARCHAR(255), save_credit VARCHAR(255), 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(255), 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(255), field_goals_per_game VARCHAR(255), field_goals_attempted_per_game VARCHAR(255), field_goals_percentage_adjusted VARCHAR(255), three_pointers_made INTEGER, three_pointers_attempted INTEGER, three_pointers_percentage VARCHAR(255), 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 NOT NULL, PRIMARY KEY (id) ); CREATE TABLE core_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, score VARCHAR(255), score_opposing VARCHAR(255), score_attempts VARCHAR(255), score_attempts_opposing VARCHAR(255), score_percentage VARCHAR(255), score_percentage_opposing VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE display_names ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, language VARCHAR(255) NOT NULL, entity_id VARCHAR(255) NOT NULL, entity_type VARCHAR(255) NOT NULL, full_name VARCHAR(255), first_name VARCHAR(255), middle_name VARCHAR(255), last_name VARCHAR(255), alias VARCHAR(255), abbreviation VARCHAR(255), short_name VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE document_contents ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, document_id VARCHAR(255) 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 document_packages ( id VARCHAR(255) NOT NULL, package_key VARCHAR(255), package_name VARCHAR(255), date_time DATETIME, PRIMARY KEY (id) ); CREATE TABLE document_package_entry ( id VARCHAR(255) NOT NULL, document_package_id VARCHAR(255) NOT NULL, rank VARCHAR(255), document_id VARCHAR(255) NOT NULL, headline VARCHAR(255), short_headline VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE media_captions ( id VARCHAR(255) NOT NULL, media_id VARCHAR(255) NOT NULL, caption_type VARCHAR(255), caption VARCHAR(255), caption_author_id VARCHAR(255) NOT NULL, language VARCHAR(255), caption_size VARCHAR(255), PRIMARY KEY (id) ); /* identifies the relationship between a document and its zero-or-more Media Objects */ CREATE TABLE documents_media ( id VARCHAR(255) NOT NULL, document_id VARCHAR(255) NOT NULL, media_id VARCHAR(255) NOT NULL, media_caption_id VARCHAR(255) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE events_documents ( event_id INTEGER NOT NULL, document_id INTEGER NOT NULL ); CREATE TABLE events_media ( event_id INTEGER NOT NULL, media_id INTEGER NOT NULL ); CREATE TABLE sub_seasons ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, sub_season_key VARCHAR(255), season_id INTEGER NOT NULL, sub_season_type VARCHAR(255) NOT NULL, start_date_time VARCHAR(255), end_date_time VARCHAR(255), 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(255), 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(255), key_value VARCHAR(255), id_value INTEGER, common_key VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE latest_revisions ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, revision_id INTEGER NOT NULL, latest_document_id INTEGER NOT NULL, PRIMARY KEY (id) ); CREATE TABLE media_contents ( id VARCHAR(255) NOT NULL, media_id VARCHAR(255) NOT NULL, object VARCHAR(255), format VARCHAR(255), mime_type VARCHAR(255), height VARCHAR(255), width VARCHAR(255), duration VARCHAR(255), file_size VARCHAR(255), resolution VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE media_keywords ( id VARCHAR(255) NOT NULL, keyword VARCHAR(255), media_id VARCHAR(255) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE standings ( id INTEGER NOT NULL, affiliation_id VARCHAR(255) NOT NULL, standing_type VARCHAR(255), sub_season_id VARCHAR(255) NOT NULL, last_updated VARCHAR(255), duration_scope VARCHAR(255), competition_scope VARCHAR(255), competition_scope_id VARCHAR(255), alignment_scope VARCHAR(255), site_scope VARCHAR(255), scoping_label VARCHAR(255), publisher_id INTEGER NOT NULL, source VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE standing_subgroups ( id VARCHAR(255) NOT NULL, standing_id VARCHAR(255) NOT NULL, affiliation_id VARCHAR(255) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE outcome_totals ( id VARCHAR(255) NOT NULL, standing_subgroup_id VARCHAR(255) NOT NULL, outcome_holder_type VARCHAR(255), outcome_holder_id VARCHAR(255), rank VARCHAR(255), wins VARCHAR(255), losses VARCHAR(255), ties VARCHAR(255), undecideds VARCHAR(255), winning_percentage VARCHAR(255), points_scored_for VARCHAR(255), points_scored_against VARCHAR(255), points_difference VARCHAR(255), standing_points VARCHAR(255), streak_type VARCHAR(255), streak_duration VARCHAR(255), streak_total VARCHAR(255), streak_start DATE, streak_end DATE, PRIMARY KEY (id) ); CREATE TABLE participants_events ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, participant_id INTEGER, participant_type VARCHAR(255), event_id INTEGER, alignment VARCHAR(255), score VARCHAR(255), event_outcome VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE periods ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, participant_event_id INTEGER, period_value VARCHAR(255), score VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE person_event_metadata ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, status VARCHAR(255), weight VARCHAR(255), 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_media ( person_id INTEGER NOT NULL, media_id INTEGER NOT NULL ); CREATE TABLE stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, stat_repository_type VARCHAR(100), stat_repository_id INTEGER NOT NULL, stat_holder_type VARCHAR(255), stat_holder_id INTEGER, stat_coverage_type VARCHAR(255), stat_coverage_id INTEGER, stat_stage VARCHAR(255) NOT NULL, PRIMARY KEY (id) ); /* Especially for Tennis. sub_period is for game, period is for set, score is for total number of sets won. */ CREATE TABLE sub_periods ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, period_id INTEGER, sub_period_value VARCHAR(255), score VARCHAR(255), PRIMARY KEY (id) ); 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(255), end_date_time VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE team_am_football_stats ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, yards_per_attempt VARCHAR(255), average_starting_position VARCHAR(255), timeouts VARCHAR(255), time_of_possession VARCHAR(255), turnover_ratio VARCHAR(255), 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_media ( team_id INTEGER NOT NULL, media_id INTEGER NOT NULL ); CREATE TABLE tennis_action_points ( id CHAR(100) NOT NULL, sub_period_id CHAR(20), sequence_number CHAR(100), win_type CHAR(255), PRIMARY KEY (id) ); /* One row per time the ball makes contact with a racquet. Including the first serve and the second serve. */ CREATE TABLE tennis_action_volleys ( id CHAR(100) NOT NULL, sequence_number CHAR(100), tennis_action_points_id CHAR(255), landing_location VARCHAR(255), swing_type VARCHAR(255), result VARCHAR(255), spin_type VARCHAR(255), trajectory_details VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE tennis_event_states ( id CHAR(100) NOT NULL, tennis_set CHAR(20), game CHAR(100), server_person_id CHAR(255), server_score CHAR(20), receiver_person_id CHAR(20), receiver_score CHAR(20), service_number CHAR(255), PRIMARY KEY (id) ); CREATE TABLE tennis_return_stats ( id CHAR(255) NOT NULL, returns_played CHAR(20), matches_played CHAR(20), first_service_return_points_won CHAR(20), first_service_return_points_won_pct CHAR(20), second_service_return_points_won CHAR(20), second_service_return_points_won_pct CHAR(20), return_games_played CHAR(20), return_games_won CHAR(20), return_games_won_pct CHAR(20), break_points_played CHAR(20), break_points_converted CHAR(20), break_points_converted_pct CHAR(20) ); CREATE TABLE tennis_service_stats ( id CHAR(255) NOT NULL, services_played CHAR(20), matches_played CHAR(20), aces CHAR(20), first_services_good CHAR(20), first_services_good_pct CHAR(20), first_service_points_won CHAR(20), first_service_points_won_pct CHAR(20), second_service_points_won CHAR(20), second_service_points_won_pct CHAR(20), service_games_played CHAR(20), service_games_won CHAR(20), service_games_won_pct CHAR(20), break_points_played CHAR(20), break_points_saved CHAR(20), break_points_saved_pct CHAR(255) ); CREATE TABLE wagering_moneylines ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, bookmaker_key VARCHAR(255), event_id INTEGER NOT NULL, date_time VARCHAR(255), team_id INTEGER NOT NULL, person_id INTEGER NOT NULL, rotation_number VARCHAR(255), comment VARCHAR(255), vigorish VARCHAR(255), line VARCHAR(255), line_opening VARCHAR(255), prediction VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE wagering_odds_lines ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, bookmaker_key VARCHAR(255), event_id INTEGER NOT NULL, date_time VARCHAR(255), team_id INTEGER NOT NULL, person_id INTEGER NOT NULL, rotation_number VARCHAR(255), comment VARCHAR(255), numerator VARCHAR(255), denominator VARCHAR(255), prediction VARCHAR(255), payout_calculation VARCHAR(255), payout_amount VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE wagering_runlines ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, bookmaker_key VARCHAR(255), event_id INTEGER NOT NULL, date_time VARCHAR(255), team_id INTEGER NOT NULL, person_id INTEGER NOT NULL, rotation_number VARCHAR(255), comment VARCHAR(255), vigorish VARCHAR(255), line VARCHAR(255), line_opening VARCHAR(255), line_value VARCHAR(255), prediction VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE wagering_straight_spread_lines ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, bookmaker_key VARCHAR(255), event_id INTEGER NOT NULL, date_time VARCHAR(255), team_id INTEGER NOT NULL, person_id INTEGER NOT NULL, rotation_number VARCHAR(255), comment VARCHAR(255), vigorish VARCHAR(255), line_value VARCHAR(255), line_value_opening VARCHAR(255), prediction VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE wagering_total_score_lines ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, bookmaker_key VARCHAR(255), event_id INTEGER NOT NULL, date_time VARCHAR(255), team_id INTEGER NOT NULL, person_id INTEGER NOT NULL, rotation_number VARCHAR(255), comment VARCHAR(255), vigorish VARCHAR(255), line_over VARCHAR(255), line_under VARCHAR(255), total VARCHAR(255), total_opening VARCHAR(255), prediction VARCHAR(255), PRIMARY KEY (id) ); CREATE TABLE weather_conditions ( id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, event_id VARCHAR(255) NOT NULL, temperature VARCHAR(255), humidity VARCHAR(255), clouds VARCHAR(255), wind_direction VARCHAR(255), wind_velocity VARCHAR(255), PRIMARY KEY (id) ); /*============================================================================*/ /* Indexes */ /*============================================================================*/ ALTER TABLE sub_seasons ADD INDEX IDX_sub_seasons_1 (sub_season_key); /* -- END OF SCRIPT -- */