Информационная система для поддержки учебной деятельности ДЮСШ
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
>
CREATE TABLE ВЫПУСК УЧАЩИХСЯ
(ном_учINTEGER NOT NULL,
Дата_окончDATA
№прик_отч TEXT
№прик_разр_к TEXT),
PRIMARY KEY (ном_уч),
FOREIN KEY (ном_уч) REFERENCES СПИСОК УЧАЩИХСЯ
ON DELETE RESTRICT
ON UPDATE CASCADE
CREATE TABLE ЗАЧИСЛЕНИЕ УЧАЩИХСЯ
(ном_учINTEGER NOT NULL,
код_обр_уч INTEGER NOT NULL,
Дата_зач DATA
№прик_зач TEXT),
PRIMARY KEY (ном_уч)
FOREIN KEY (ном_уч) REFERENCES СПИСОК УЧАЩИХСЯ
ON DELETE RESTRICT
ON UPDATE CASCADE
FOREIN KEY (код_обр_уч) REFERENCES ОБРАЗОВАТЕЛЬНЫЕ УЧЕРЕЖДЕНИЯ
ON DELETE RESTRICT
ON UPDATE CASCADE
CREATE TABLE СЕМЬЯ УЧАЩЕГОСЯ
(ном_уч INTEGER NOT NULL
код_стат INTEGER NOT NULL)
PRIMARY KEY (ном_уч),
FOREIN KEY (ном_уч) REFERENCES СПИСОК УЧАЩИХСЯ
ON DELETE RESTRICT
ON UPDATE CASCADE
FOREIN KEY (код_стат) REFERENCES СОЦ СТАТУС СЕМЬИ
ON DELETE RESTRICT
ON UPDATE CASCADE;
CREATE TABLE АТТЕСТАЦИЯ ТРЕНЕРОВ
(таб_ном INTEGER NOT NULL
код_меропр INTEGER NOT NULL
месяц DATA
кат_заяв INTEGER
утв_кат INTEGER
дата_атт_трен DATA),
PRIMARY KEY (таб_ном, код_меропр),
FOREIN KEY (таб_ном) REFERENCES СПИСОК СОТРУДНИКОВ,
ON DELETE CASCADE
ON UPDATE CASCADE
FOREIN KEY (кат_заяв) REFERENCES КАТЕГОРИИ,
ON DELETE RESTRICT
ON UPDATE CASCADE
FOREIN KEY (утв_кат) REFERENCES КАТЕГОРИИ,
ON DELETE RESTRICT
ON UPDATE CASCADE
CREATE TABLE СОРЕВНОВАНИЯ
(код_сор INTEGER NOT NULL,
код_города INTEGER NOT NULL
ранг TEXT
код_ур INTEGER NOT NULL
прогр_сор TEXT
фин_сор LOGICAL
Дата_сор DATE),
PRIMARY KEY (код_сор),
FOREIN KEY (код_гор) REFERENCES ГОРОДА
ON DELETE RESTRICT
ON UPDATE CASCADE
FOREIN KEY (код_ур) REFERENCES УРОВЕНЬ СОРЕВНОВАНИЙ;
ON DELETE RESTRICT
ON UPDATE CASCADE
FOREIN KEY (код_прогр_сор) REFERENCES ПРОГРАММА СОРЕВНОВАНИЙ;
ON DELETE RESTRICT
ON UPDATE CASCADE
CREATE TABLE КОМПЛЕКТОВАНИЕ УЧ
(код_группы INTEGER NOT NULL
ном_уч INTEGER NOT NULL),
PRIMARY KEY (код_группы, ном_уч),
FOREIN KEY (ном_уч) REFERENCES СПИСОК УЧАЩИХСЯ,
ON DELETE RESTRICT
ON UPDATE CASCADE
FOREIN KEY (код_группы) REFERENCES СПИСОК ГРУПП;
ON DELETE RESTRICT
ON UPDATE CASCADE
CREATE TABLE РЕЗУЛЬТАТ ВЫСТУПЛЕНИЙ НА СОРЕВНОВАНИЯХ
(ном_уч INTEGER NOT NULL
код_сор INTEGER NOT NULL
кол_бал INTEGER
таб_ном INTEGER NOT NULL),
PRIMARY KEY (ном_уч, код_сор),
FOREIN KEY (таб_ном) REFERENCES СПИСОК СОТРУДНИКОВ,
ON DELETE RESTRICT
ON UPDATE CASCADE
FOREIN KEY (код_сор) REFERENCES СОРЕВНОВАНИЯ,
ON DELETE RESTRICT
ON UPDATE CASCADE
FOREIN KEY (ном_уч) REFERENCES СПИСОК УЧАЩИХСЯ;
ON DELETE RESTRICT
ON UPDATE CASCADE
CREATE TABLE СПОРТСМЕНЫ РАЗРЯДНИКИ
(код_с_р INTEGER NOT NULL
ном_уч INTEGER NOT NULL
ном_п_п INTEGER NOT NULL
разряд TEXT
код_отделения INTEGER NOT NULL
дата_разр DATA
таб_ном INTEGER NOT NULL
ном_прик INTEGER),
PRIMARY KEY (код_с_р),
FOREIN KEY (таб_ном) REFERENCES СПИСОК СОТРУДНИКОВ,
ON DELETE RESTRICT
ON UPDATE CASCADE
FOREIN KEY (ном_уч) REFERENCES СПИСОК УЧАЩИХСЯ
ON DELETE RESTRICT
ON UPDATE CASCADE
FOREIN KEY (код_отделения) REFERENCES ОТДЕЛЕНИЯ
ON DELETE RESTRICT
ON UPDATE CASCADE
CREATE TABLE ОЗДОРОВЛЕНИЕ УЧАЩИХСЯ
(ном_уч INTEGER NOT NULL
дата_з DATA
код_ур_здор TEXT),
PRIMARY KEY (ном_уч, дата_з),
FOREIN KEY (ном_уч) REFERENCES СПИСОК УЧАЩИХСЯ
ON DELETE CASCADE
ON UPDATE CASCADE
FOREIN KEY (код_ур_з) REFERENCES СПИСОК УЧАЩИХСЯ
ON DELETE RESTRICT
ON UPDATE RESTRICT
CREATE TABLE ЗАСЛУЖЕННЫЕ РАБОТНИКИ
(таб_ном INTEGER NOT NULL
код_звания INTEGER NOT NULL),
PRIMARY KEY (таб_ном, код_звания
FOREIN KEY (таб_ном) REFERENCES СПИСОК СОТРУДНИКОВ
ON DELETE CASCADE
ON UPDATE CASCADE
FOREIN KEY (код_звания) REFERENCES ЗВАНИЯ
ON DELETE RESTRICT
ON UPDATE CASCADE
CREATE TABLE ДОЛЖНОСТИ СОТРУДНИКОВ
(таб_ном INTEGER NOT NULL
Ф.И.О._сотр TEXT
Код_долж INTEGER NOT NULL
Должность TEXT
Дата_зач_должн DATA),
PRIMARY KEY (таб_ном, код_долж
FOREIN KEY (таб_ном) REFERENCES СПИСОК СОТРУДНИКОВ
ON DELETE CASCADE
ON UPDATE CASCADE
FOREIN KEY (код_долж) REFERENCES ДОЛЖНОСТИ
ON DELETE RESTRICT
ON UPDATE CASCADE
2.4 Проверка нормализации спроектированных таблиц
1. Таблицы, состоящие из 2х атрибутов находятся в НФБК.
Это таблицы:
СОЦ СТАТУС СЕМЬИ (код_стат, соц_стат);
ОБРАЗОВАТЕЛЬНЫЕ УЧЕРЕЖДЕНИЯ (код_обр_уч, обр_уч);
ОТДЕЛЕНИЯ (код_отделения, отделение);
ПОЧЕТНЫЕ ЗВАНИЯ (Код_звания, звание);
ДОЛЖНОСТИ (код_долж, должность);
ГОРОДА (код_города, город);
УРОВЕНЬ СОРЕВНОВАНИЙ (код_ур, ур_сор);
РАЗРЯД (код_разр, разряд);
УРОЕНЬ ЗДОРОВЬЯ (код_ур_з, уровень здор);
КАТЕГОРИИ (код_кат, категория);
ПРОГРАММА СОРЕВНОВАНИЙ (код_прогр_сор, прогр, сор);
ОБРАЗОВАНИЕ (код_образ, образование);
КОМПЛЕКТОВАНИЕ ТРЕНЕР (таб_ном, код_группы) [список сотрудников] [список групп];
КОМПЛЕКТОВАНИЕ УЧ (код_группы, ном_уч) [список групп] [список учащихся];
ОБРАЗОВАНИЕ СОТРУДНИКОВ (Ф.И.О._сотр, образование) [список сотрудников] [образование];
СЕМЬЯ УЧАЩЕГОСЯ (ном_уч, код_стат) [список учащихся] [Соц статус семьи];
ЗАСЛУЖЕННЫЕ РАБОТНИКИ (таб_ном, код_звания,) [список сотрудников] [почетные звания];
2. Все таблицы, имеющие несоставные PK, находятся во 2НФ. Проверим, нет ли в них транзитивных зависимостей.
СПИСОК СОТРУДНИКОВ (таб_ном, Ф.И.О._сотр, дата_р_с, телефон_с, пасп_дан, адрес_с, дата_нач_р, дата_оконч_р, №полиса, пол, ставка, штат_сотр);
СПИСОК УЧАЩИХСЯ (ном_уч, Ф.И.О._уч, дата_р_уч, тел_уч, адрес_уч, Ф.И.О._м, Ф.И.О._п, пол);
Очевидно, что таблицы СПИСОК СОТРУДНИКОВ и СПИСОК УЧАЩИХСЯ находятся в НФБК.
СПИСОК ГРУПП (группа, отделениие) [отделения];
ФЗ: отделение группа. Отделение возможный ключ. Значит таблица находится в НФБК
СОРЕВНОВАНИЯ (город, ранг, ур_сор, прогр_сор, фин_сор, дата_сор) [города] [уровень соревнований] [программа соревнований];
ФЗ: (город, ур_сор, прогр_сор, дата_сор)ранг, (город, ур_сор, прогр_сор, дата_сор)фин_сор. Но (город, ур_сор, прогр_сор, дата_сор) возможный ключ. Значит все ФЗ в таблице сводятся к полной ФЗ от возможного ключа. Т.о. таблица СОРЕВНОВАНИЯ находится в НФБК.
СПОРТСМЕНЫ РАЗРЯДНИКИ (Ф.И.О._уч, разряд, дата_разр, Ф.?/p>