Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
bd.doc
Скачиваний:
3
Добавлен:
01.11.2018
Размер:
119.81 Кб
Скачать

Санкт-Петербургский Институт Точной Механики и Оптики (Технический Университет)

Отчёт по построению базы данных Oracle.

Студенты: Лисянский М. Чурилов А.

Группа: 350

Санкт-Петербург, 2001г.

Постановка задачи

Каждый год в разных странах мира проводятся различные соревнования по автоспорту. Внутри автоспорта существует класс кольцевых гонок, когда всё машины одновременно ездят по одной замкнутой трассе. У кольцевых гонок есть два подкласса – кузовные и формульные гонки. В большинстве случаев соревнования, хотя и являются международными, проводятся внутри одной страны (исключение – Формула 1 и 3000). Самые престижные кузовные чемпионаты – DTC, STCC, BTC, а формульные – Формула-1 и Формула-3000.

В различных кольцевых соревнованиях принимают участие огромное количество пилотов (гонщиков) из различных команд. Они выступают на схожих по параметрам, но в целом, различных машинах с разнообразными настройками и наборами компонент – приводом, объёмом двигателя, моделью машины, резиной, мощностью и т.д., построенных в различные года.

Заезды проходят на разных трассах – с разной протяженностью, количеством кругов, местом расположения, количеством поворотов и т.д. На каждой трассе ведется своя летопись рекордов, поставленных различными пилотами в ходе проводимых соревнований.

Для того, чтобы объединить этот огромный поток информации о командах, пилотах, машинах и трассах и была создана данная база данных. Она грамотно группирует и связывает между собой все эти данные, превращаясь в удобный и оперативный источник информации, воспользоваться которым могут огромное количество людей. Это и комиссары – для занесения данных протоколов о соревнованиях и пилотах, и менеджеры команд – для занесения информации о команде, и журналисты – для получения полноценных сведений о ходе чемпионата и его участниках, и, наконец, зрители.

Структура базы данных

champ

champ_name

champ_country

num_race

team

champ_name

team_name

titul_sponsor

boss_name

racer

team_name

car_num

racer_soname

racer_name

racer_born

car

team_name

car_num

car_model

vol_eng

power

transmission

tyres

build_year

results

car_num

tr_name

result_time

result_place

result_points

record

car_num

tr_name

cycle_rec

mid_speed

truck

tr_name

champ_name

tr_country

length

rot_num

Примерная форма занесения данных

  1. Данные о пилоте

  1. Фамилия пилота _____________________________________

  2. Имя пилота __________________________

  3. Год рождения 19__

  4. Бортовой номер машины в чемпионате __

    1. Данные о команде

  1. Название команды _____________________________________

  2. Название чемпионата _____________

  3. Титульный спонсор команды ____________________________

  4. Глава команды ________________________________

    1. Данные о машине

  1. Модель машины ________________________________________

  2. Объём двигателя ____ см3

  3. Мощность ___ л.с.

  4. Привод ___ (fwd/rwd/4wd)

  5. Резина (производитель)______________________________

  6. Год постройки ____

Создание таблицы

create.sql:

CREATE TABLE champ (

champ_name VARCHAR2(4) PRIMARY KEY,

champ_country VARCHAR2(15),

num_race NUMBER(2));

CREATE TABLE team (

champ_name VARCHAR2(4) NOT NULL REFERENCES champ(champ_name),

team_name VARCHAR2(25) PRIMARY KEY,

titul_sponsor VARCHAR(20),

boss_name VARCHAR2(15));

CREATE TABLE racer (

team_name VARCHAR2(25) NOT NULL REFERENCES team(team_name),

car_num NUMBER(2) PRIMARY KEY,

racer_soname VARCHAR2(15),

racer_name VARCHAR2(15),

racer_born NUMBER(4));

CREATE TABLE car (

team_name VARCHAR2(25) NOT NULL REFERENCES team(team_name),

car_num NUMBER(2) NOT NULL REFERENCES racer(car_num),

car_model VARCHAR2(20),

vol_eng NUMBER(4),

power NUMBER(3),

transmission VARCHAR2(4),

tyres VARCHAR2(15),

build_year NUMBER(4));

CREATE TABLE truck (

tr_name VARCHAR2(25) PRIMARY KEY,

champ_name VARCHAR2(4) NOT NULL REFERENCES champ(champ_name),

tr_country VARCHAR(15),

length NUMBER(4),

rot_num NUMBER(2));

CREATE TABLE results (

car_num NUMBER(2) NOT NULL REFERENCES racer(car_num),

tr_name VARCHAR2(25) NOT NULL REFERENCES truck(tr_name),

result_time NUMBER(5),

result_place NUMBER(2),

results_points NUMBER(2));

CREATE TABLE record (

car_num NUMBER(2) NOT NULL REFERENCES racer(car_num),

tr_name VARCHAR2(25) NOT NULL REFERENCES truck(tr_name),

cycle_rec NUMBER(3),

mid_speed NUMBER(3));

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]