Курсовая работа: База данных "Чемпионат авто"
Первичный ключ уникально определяет отношение. После выбора первичного ключа из набора потенциальных ключей, оставшиеся ключи называются альтернативными.
Пусть даны отношения R1 и R2 . Пусть k1 , - это первичный ключ отношения R1 .
Если в отношении R2 присутствуют атрибуты k1 , то для отношения R2 , k1 – это внешний ключ.
2.3.3 Правила целостности
Пусть даны отношения R1 и R2 . Пусть k1 , - это первичный ключ отношения R1 .
Если в отношении R2 присутствуют атрибуты k1 , то для отношения R2 , k1 – это внешний ключ. Если базовое отношение R2 содержит внешний ключ k1 , то каждое значение k1 в R2 должно быть либо равным какому-либо значению R1 , либо полностью неопределенным.
Рассмотрим математическое представление целостности данных
Целостность имеет место, так как первичные ключи всех отношений не принимают и не могут принимать неопределённые значения.
По описанным выше алгоритмам получаем реляционную модель
3. РЕАЛИЗАЦИЯ БАЗЫ ДАННЫХ «ЧЕМПИОНАТ АВТО»
Рассмотрим реализацию базы данных на одной таблице «Мастерская». На главной форме кнопки вызова соответствующих таблиц.
Событие для кнопки Мастерская:
procedure Tmainform.btnmasterskClick(Sender: TObject);
begin
masterform.Show;
end;
На форму соответствующую таблице Мастерская помещаем элементы: ADOConnection, ADOQuery, DataSource, ADODataSet, DBNavigator. При помощи этих элементов подключаем БД и отображаем её в DBGrid. Затем добавляем кнопки для добавления, удаления, редактирования записей и соответствующие поля для ввода данных.
Событиедлякнопки «Добавить»:
procedure Tmasterform.btnaddmastClick(Sender: TObject);
begin
qrymaster.SQL.Clear;
try
qrymaster.SQL.Add('INSERT INTO Мастерская');
qrymaster.SQL.Add('( ID, Автомобиль, СтоимостьРемонта,
ДатаОкончанияРемонта, НомерБокса, ФамилияМастера) VALUES');
qrymaster.SQL.Add('( :IDmast, :Avtomast, :Stoimmast, :Datemast,
:Boxmast, :Fammast)');
qrymaster.Parameters.ParamByName('IDmast').Value:=edtidmast.Text;