Лабораторные работы (в ХГТУ)

Файл : Lab1.doc (размер : 32,256 байт)

Задание: Для модели базы данных, разработанной в первой самостоятельной работе [1], используя DataBase Desktop, дать описание системы соответствующих таблиц локальной базы данных в формате Paradox7.

Структура таблиц:

Таблица AVTOR:

Код автора (KOD)-ключевое, автоинкрементное поле;

Фамилия, имя, отчество (FIO)-строка до 50 символов, обязательного заполнения;

Год рождения (ROZD) – строка до 4 символов с маской “####”

Таблица CIKL:

Код цикла (KOD)-ключевое, автоинкрементное поле;

Название цикла (NAZV)- строка до 120 символов, обязательного заполнения;

Таблица DISCIP:

Код дисциплины (KOD)-ключевое, автоинкрементное поле;

Название дисциплины(NAZV)- строка до 120 символов, обязательного заполнения;

Код цикла (KCIKL) - содержит ссылку на таблицу подстановки CIKL, по полю KOD, типа Long Integer (установлена ссылочная целостность);

Таблица GRUP:

Код группы (KOD)-ключевое, автоинкрементное поле;

Код специальности (KSP) - содержит ссылку на таблицу подстановки SPEC, по полю KOD, типа Long Integer (установлена ссылочная целостность);

Название потока (POTOK) - строка до 20 символов, обязательного заполнения;

Год поступления (GOD) - строка до 4 символов с маской “####”, обязательного заполнения.

Таблица KNIGI:

Код книги (KOD)-ключевое, автоинкрементное поле;

Название книги (NAZV)- строка до 120 символов, обязательного заполнения;

Количество книг (KOLICH) – короткое целое типа SHORT;

Год издания (GOD) - строка до 4 символов с маской “####”, обязательного заполнения.

Таблица Recomend:

Код рекомендации (KOD)-ключевое, автоинкрементное поле;

На какой семестр рекомендация (SEMESTR) - короткое целое типа SHORT, обязательного заполнения;

Код книги (KKNIG) - содержит ссылку на таблицу подстановки KNIGI, по полю KOD, типа Long Integer (установлена ссылочная целостность);

Код специальности (KSPEC) - содержит ссылку на таблицу подстановки SPEC, по полю KOD, типа Long Integer (установлена ссылочная целостность);

Код дисциплины (KDISC) - содержит ссылку на таблицу подстановки DISCIP, по полю KOD, типа Long Integer (установлена ссылочная целостность);

Таблица SOOTV:

Код соответствия (KOD)-ключевое, автоинкрементное поле;

Код книги (KKNIG) - содержит ссылку на таблицу подстановки KNIGI, по полю KOD, типа Long Integer (установлена ссылочная целостность);

Код автора (KAVT) - содержит ссылку на таблицу подстановки AVTOR, по полю KOD, типа Long Integer (установлена ссылочная целостность);

Таблица SPEC:

Код специальности (KOD)-ключевое, автоинкрементное поле;

Название специальности (NAZV) - строка до 120 символов, обязательного заполнения;

Номер специальности (NOM) - строка до 10 символов, обязательного заполнения;

Файл : Lab2.doc (размер : 148,992 байт)

Таблицы, используемы в экранных формах

Создадим систему экранных форм для работы со сложной связью между таблицами «Книги» и «Авторы». Данные таблицы связываются между собой с помощью третьей таблицы – «Соответствие». Таким образом, один автор может быть привязан к нескольким книгам, в написании которых он принимал участие. Связь между таблицами можно посмотреть на схеме данных.

Связь книга->автор

Вид формы на этапе проектирования:

Вид формы работающего приложения:

Содержимое левой таблицы меняется при изменения указателя в правой таблице. За это отвечает процедура:

procedure TSvaz.Table1AfterScroll(DataSet: TDataSet);

begin

query1.Close;

query1.Params[0].Value:=table1.FieldByName('KOD').AsInteger;

query1.Open;

end;

Например при переходе на следующую запись мы меняем значение параметра “par” у компонента Query1 на значение поля “KOD” текущей записи компонента table1.

Сам текст запроса Query1:

select *

from AVTOR

where kod in(

select kavt

from SOOTV

where kknig=:par )

Для навигации по названиям книг можно пользоваться компонентом «DBNavigator», который привязан к тому же набору что и DBGrid1(левая таблица). Для добавления и удаления автора надо пользоваться кнопками «Добавить» и «Удалить».