Разработка приложения для базы данных "Музыкальная школа"
Требования к функциональным характеристикам, надежности, параметрам технических средств, информационной и программной совместимости базы данных. Стадии и этапы разработки. Программа и методика испытаний. Назначение программы и условия применения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.01.2014 |
Размер файла | 1,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Пензенский государственный университет
Кафедра информационно-вычислительных технологий
Пояснительная записка к курсовому проекту по дисциплине "Базы данных"
Разработка приложения для базы данных "Музыкальная школа"
Выполнил:
студент гр. 11ЗВЭ31
Демидов Е.В.
Проверил:
к. т. н., доцент Еременко А.В.
2013
Содержание
Введение
1. Техническое задание
1.1 Основание для разработки
1.2 Назначение разработки
1.3 Требования к программе
1.3.1 Требования к функциональным характеристикам
1.3.2 Требования к надежности
1.3.3 Требования к составу и параметрам технических средств
1.3.4 Требования к информационной и программной совместимости
1.4 Требования к программной документации
1.5 Стадии и этапы разработки
1.6 Порядок контроля и приемки
2. Концептуальное проектирование системы
2.1 Разработка модели предметной области
2.1.1 Анализ предметной области
2.1.2 Описание контекстной диаграммы
2.1.3 Описание детализирующей диаграммы
2.1.4 Создание структур данных
2.2 Разработка концептуальной модели
3. Логическое проектирование БД
4. Физическое проектирование БД
5. Описание программы
5.1 Общие сведения
5.2 Функциональное назначение
5.3 Описание логической структуры
5.4 Используемые технические средства
5.5 Вызов и загрузка
5.6 Входные данные
5.7 Выходные данные
6. Программа и методика испытаний
6.1 Объект испытаний
6.2 Цель испытаний
6.3 Требования к программе
6.4 Требования к программной документации
6.5 Средства и порядок испытаний
6.6 Методы испытаний
7. Описание применения
7.1 Назначение программы
7.2 Условия применения
7.3 Описание задачи
7.4 Входные и выходные данные
Заключение
Приложение А
Приложение Б
Приложение В
Введение
Приложение баз данных предназначено для взаимодействия с некоторым источником данных -- базой данных (БД). Взаимодействие подразумевает получение данных, их представление в определенном формате для просмотра пользователем, редактирование в соответствии с реализованными в программе бизнес-алгоритмами и возврат обработанных данных обратно в базу данных.
Базы данных обслуживаются специальными программами -- системами управления базами данных (СУБД), которые делятся на локальные, преимущественно однопользовательские, предназначенные для настольных приложений, и серверные -- сетевые (часто удаленные), многопользовательские, функционирующие на выделенных компьютерах -- серверах. Главный критерий такой классификации -- объем базы данных и средняя нагрузка на СУБД.
В данной работе используется СУБД Firebird 2.5. В данной работе описывается автоматизированная система учета и контроля информации об учениках, преподавателях, специальностях музыкальной школы.
база данные программа
1. Техническое задание
1.1 Основание для разработки
Программа разрабатывается на основании задания на курсовое проектирование, выданного доцентом кафедры ИВС Еременко А.В. и утвержденного заведующим кафедрой ИВС Косниковым Ю.Н.
1.2 Назначение разработки
Разрабатываемая программа предназначена для учета и контроля информации о преподавателях, учениках, специальностях музыкальной школы.
1.3 Требования к программе
1.3.1 Требования к функциональным характеристикам
Разрабатываемая программа должна обеспечивать:
- Учет данных об учениках,
- Учет данных об преподавателях,
- Учет информации о специальностях.
1.3.2 Требования к надежности
Для достижения надежности системы должно осуществляться ее тестирование на выполнение заданных функций.
1.3.3 Требования к составу и параметрам технических средств
Приложение должно быть клиент-серверным. Локальный и серверный компьютеры должны иметь следующие минимальные характеристики: тактовая частота процессора - 166 МГц; оперативная память - 256 Мбайт; на жестком диске при установке используется около 475 Мбайт; объем жестокого диска зависит от размера информационной базы, но должен быть не менее 700 Мбайт.
1.3.4 Требования к информационной и программной совместимости
Разрабатываемое приложение должно работать как на локальном, так и в сети. Если приложение устанавливается на локальном компьютере, то на нем должны быть установлены СУБД Firebird и файл с базой данных. А если в сети, то на удаленном сервере должны быть файл с базой данных, СУБД Firebird, а на рабочей станции файл с приложением.
1.4 Требования к программной документации
Разрабатываемая программа должна сопровождаться следующими программными документами:
- Описание программы;
- Программа и методика испытаний;
- Описание применения;
- Текст программы.
1.5 Стадии и этапы разработки
Стадии и этапы разработки приведены в Таблице 1.
Таблица 1 Стадии и этапы разработки
Стадии |
Этапы |
Сроки выполнения |
|
1. Расчетная часть |
1.1 Разработка исходных данных 1.2 Разработка проекта БД с использованием CASE- средств Ореп- ModelSphere 1.3 Разработка программы с использованием среды Delphi 1.4 Написание пояснительной записки |
20.02.13г. 12.03.13г. 26.03.13г. 07.05.13г. |
|
2. Экспериментальная часть |
2.1 Создание демонстрационной БД для СУБД Firebird. 2.2 Отладка программы приложения и испытание системы |
09.04.13г. 23.04.13г. |
1.6 Порядок контроля и приемки
Контроль работоспособности программы должен осуществляться на основе тестовых наборов данных, которые должны охватывать выполнение всех функций конфигурации.
Приемка программы должна осуществляться при ее работоспособности и правильности выполнения всех ее функциональных возможностей.
2. Концептуальное проектирование системы
2.1 Разработка модели предметной области
2.1.1 Анализ предметной области
Для сбора и обработки информации возможно использование метода изучения школьной документации, в которой отражается количественная и качественная характеристика учебно-воспитательного процесса. К учебно-педагогической документации школы относятся: алфавитная книга записи учащихся, личные дела учащихся, классные журналы, журналы факультативных занятий, журналы групп продленного дня, книги учета выдачи аттестатов об образовании, книга учета выдачи золотых и серебряных медалей, книга протоколов заседаний совета школы и педагогического совета, книга приказов по школе, книга учета педагогических работников, журнал учета пропусков и замещения уроков и др. Даже сам факт изобилия школьной документации говорит о многообразии и богатстве информации, получаемой в процессе ее использования. Школьная документация содержит информацию за несколько лет, при необходимости можно обратиться в архив, что позволяет вести сравнительный анализ, особенно ценный для прогностической деятельности.
Необходимо также отметить возможность использования компьютерной обработки данных, что позволяет заносить данные исследования в электронные таблицы, создавать формулы, сортировать, фильтровать, группировать данные, проводить быстрые вычисления. С табличными данными также можно проводить статистические операции.
Таким образом, на этапе сбора и обработки, данных педагогического исследования компьютер сегодня можно считать незаменимым. Он в значительной мере облегчает работу проверяющего по регистрации, сортировке, хранению и переработке больших объёмов информации, полученных в ходе эксперимента, наблюдения, бесед, интервью, анкетирования и других методов исследовательской работы. Это позволяет проверяющему сэкономить время, избежать ошибок при расчётах и сделать объективные и достоверные выводы из экспериментальной части работе.
Порядок хранения материалов исследований определяется руководителем образовательного учреждения в соответствии с утвержденной номенклатурой дел.
Подводя итог, можно сказать, что общеобразовательное учреждение и проведение ни одного современного педагогического исследования не может обойтись сегодня без применения информационных технологий.
2.1.2 Описание контекстной диаграммы
На основе проведенного анализа предметной области разработана контекстная диаграмма, представленная на рисунке 1.
Рисунок 1 Контекстная диаграмма
На контекстной диаграмме модели системы выделено тривнешних объекта: "Ученик", "Руководство музыкальной школы", "Учитель".
В качестве компоненты выделен бизнес-процесс "Ведение учета учеников".
Входными данными компоненты являются:
- личные данные учителя
- личные данные об ученике
- личные данные о родителях ученика
- информация о расписании
- информация о классе
Выходными данными компоненты являются:
- список класса
- данные об учащемся
- данные об учителе
- сводные данные об учащихся
2.1.3 Описание детализирующей диаграммы
На основании контекстной диаграммы разработана детализирующая диаграмма, представленная на рисунке 2.
Рисунок 2 Диаграмма декомпозиции
Выполнение работы "Ведение учета учеников" осуществляется с помощью ресурса: "Руководство".
В результате декомпозиции бизнес-процесса "Ведение учета школьников" выделено три процесса:
- ведение учёта школьников, их личных данных и данных о родителях
- учёт данных для учителя
- формирование отчётных документов
Для реализации этих процессов определены хранилища данных:
- учитель;
- классное руководство;
- класс;
- ученик;
Входными данными для процесса "Ведение учёта приема и выпуска учеников" являются:
- личные данные родителей;
- личные данные учащихся;
- список класса;
- сведения об учащихся;
Выходными данными для процесса "Ведение учёта приема и выпуска учеников" являются:
- личные карточки учеников;
- сведения об учащихся;
- сводные данные об учащихся;
Входными данными для процесса "Формирование класса" являются:
- сведение об учащихся;
- данные о расписании;
- информация о классе;
Выходными данными для процесса "Формирование класса" являются:
- сведение о классе.
Входными данными для процесса "Корректировка сведений по классному руководству" являются:
- список класса;
- сведение об учителе;
Выходными данными для процесса "Корректировка сведений по классному руководству" являются:
- данные о классном руководстве.
Входными данными для процесса "Корректировка сведений по расписанию" являются:
- информация по расписанию.
Выходными данными для процесса "Корректировка сведений по расписанию" являются:
- расписание занятий.
Входными данными для процесса "Учет личных данных учителей" являются:
- сведения об учителе;
- сведения по классному руководству.
Выходными данными для процесса "Учет личных данных учителе" являются:
- сведения об учителе;
- личная карточка учителя.
Диаграмма, полученная в результате декомпозиции бизнес-процесса "Ведение учета школьников", представлена на рисунке 2.
Все процессы являются элементарными и их дальнейшая декомпозиция не требуется.
2.1.4 Создание структур данных
Определим следующие структуры данных:
- STUDENT
- SPECIALNOST
- PREPODAVATELI
Структуры данных системы, представлены в таблицах 2-4.
Таблица 2 Описание структуры данных STUDENT
Имя атрибута |
Назначение |
|
Name |
Имя ученика |
|
FirstName |
Фамилия ученика |
|
ParentName |
Отчество ученика |
|
Specialnost |
Специальность, на которой будет обучаться ученик |
|
Date |
Дата поступления |
|
HomeAdress |
Домашний адрес |
|
PhoneNumber |
Контактный телефон |
|
NamePrepod |
Фамилия преподавателя |
|
ID |
Уникальный номер записей таблицы STUDENT |
Таблица 3 Описание структуры данных SPECIALNOST
Имя атрибута |
Назначение |
|
Code |
Код специальности |
|
NaimSpec |
Наименование специальности |
|
NamePrepod |
Фамилия преподавателя |
|
ID |
Уникальный номер записей таблицы SPECIALNOST |
Таблица 4 Описание структуры данных PREPODAVATELI
Имя атрибута |
Назначение |
|
NamePrepod |
Имя преподавателя |
|
FNamePrepod |
Фамилия преподавателя |
|
Otchestvo |
Отчество преподавателя |
|
Specialnost |
Специальность |
|
ID |
Уникальный номер записей таблицы PREPODAVATELI |
Таким образом, были разработаны контекстная и детализирующая диаграммы, также структуры данных системы.
2.2 Разработка концептуальной модели
На основании разработанных контекстной и детализирующей диаграмм и структуры данных была спроектирована концептуальная модель данных, представленная на рисунке 3.
Концептуальная модель данных содержит 3 сущности: Student, Prepodavateli , Specialnost.
Рисунок 3 Концептуальная модель данных
Сущности Student и Specialnost соединены связью "учатся на". Так как у ученика не может быть 0 специальностей но и больше 1 специальности быть у него не может,то показатель кардинальности связи между сущностями Student и Specialnost равен 1:1. Бинарная связь с обязательным участием сущности Specialnost. Причем сущность Specialnost является сильной по отношению к сущности Student, на специальности в определенный момент может и не быть ни одного ученика. Сущности Prepodavateli и Specialnost соединены связью "Преподает на". Так как у преподавателя не может быть 0 специальностей но и больше 1 специальности быть у него не может, то показатель кардинальности связи между сущностями Prepodavateli и Specialnost равен 1:1. Бинарная связь с обязательным участием сущности Specialnost. Причем сущность Specialnost является сильной по отношению к сущности Student, на специальности в определенный момент может и не быть ни одного преподавателя.
Также на специальности может быть сколько угодно преподавателей и студентов, поэтому показатель кардинальности у Specialnost равен 1: N. Одна специальность ко многим студентам и многим преподавателям.
3. Логическое проектирование БД
На основании концептуальной модели данных была разработана логическая модель данных, представленная на рисунке 4.
Рисунок 4 Реляционная модель данных
Логическая модель данных создана путем преобразования концептуальной модели средствами системы OpenModelSphere. Для реляционной модели необходимо сгенерировать внешние ключи. В OpenModelSphere по умолчанию внешние ключи определяются с помощью первичных ключей. В результате генерации получаем внешний ключ сущности STUDENT:
- FK1 Specialnost ID -- внешний ключ на поле ID сущности Specialnost;
а также внешний ключ сущности Prepodavateli:
- FK1 Specialnost ID - внешний ключ на поле ID сущности Specialnost.
Также на данном этапе определяются правила поддержки ссылочной целостности (update rule) для всех ролей модели. Устанавливаем значение, откладывающее окончательное формирование правил ссылочной целостности до этапа разработки приложения для разрабатываемой информационной системы.
Определены физические имена и допустимость нулевых значений атрибутов сущностей, представленные в таблицах 5-7. Первичные ключи в таблицах выделены подчеркиванием.
Таблица 5 Сущность Student
Имя атрибута |
Значение NULL |
|
Name |
Допустимо |
|
FirstName |
Допустимо |
|
ParentName |
Допустимо |
|
Specialnost |
Недопустимо |
|
Date |
Допустимо |
|
HomeAdress |
Допустимо |
|
PhoneNumber |
Допустимо |
|
NamePrepod |
Допустимо |
|
ID |
Недопустимо |
Таблица 6 Сущность SPECIALNOST
Имя атрибута |
Значение NULL |
|
Code |
Недопустимо |
|
NaimSpec |
Допустимо |
|
NamePrepod |
Допустимо |
|
ID |
Недопустимо |
Таблица 7 Сущность PREPODAVATELI
Имя атрибута |
Значение NULL |
|
NamePrepod |
Допустимо |
|
FNamePrepod |
Допустимо |
|
Otchestvo |
Допустимо |
|
Specialnost |
Недопустимо |
|
ID |
Недопустимо |
4. Физическое проектирование БД
На основании логической модели была разработана физическая модель данных, представленная на рисунке 5.
Рисунок 5 Физическая модель данных FireBird 2.5
Этап физического проектирования базы данных предусматривает принятие разработчиком окончательного решения о способах реализации создаваемой базы. В качестве СУБД была задана Firebird 2.5. Соответственно для определения типов данных в столбцах таблиц физической модели используются встроенные типы данных, поддерживаемые СУБД Firebird 2.5.
Определены типы данных атрибутов сущностей, представленные в таблицах 8-10.
Таблица 8 Сущность Student
Имя атрибута |
Тип домена |
Длина поля |
Ключевые парам. |
|
Name |
Char |
30 |
||
FirstName |
Char |
20 |
||
ParentName |
Char |
40 |
||
Specialnost |
SmalInt |
|||
Date |
Date |
|||
HomeAdress |
Char |
60 |
||
PhoneNumber |
Char |
10 |
||
NamePrepod |
Char |
30 |
||
ID |
Integer |
PK, FK |
Таблица 9 Сущность SPECIALNOST
Имя атрибута |
Значение NULL |
Длина поля |
Ключевые парам. |
|
Code |
SmalInt |
Unique |
||
NaimSpec |
Char |
100 |
||
NamePrepod |
Char |
40 |
||
ID |
Integer |
PK |
Таблица 10 Сущность PREPODAVATELI
Имя атрибута |
Значение NULL |
Длина поля |
Ключевые парам. |
|
NamePrepod |
Char |
40 |
||
FNamePrepod |
Char |
20 |
||
Otchestvo |
Char |
30 |
||
Specialnost |
SmalInt |
|||
ID |
Integer |
PK |
Таким образом, на основании логической модели была создана физическая модель данных.
Создан SQL-скрипт базы данных, приведенный в приложении В.
База данных создана с помощью инструментального средства IBExpert и находится в файле MUSICSCHOOL.fdb. База данных создана для пользователя SYSDBA (пароль masterkey).
SQL-скрипт базы данных содержит разработанные генераторы и триггеры для каждой таблицы.
Список генераторов представлен в таблице 11.
Таблица 11 Список генераторов
Имя генератора |
Описание |
|
GEN_PREPOD_ID |
Создан для таблицы Prepod для реализации автоинкрементного поля ID. |
|
GEN_SPECIA_ID |
Создан для таблицы SPECIA для реализации автоинкрементного поля ID. |
|
GEN_STUDENT_ID |
Создан для таблицы STUDENT для реализации автоинкрементного поля ID. |
Таблица тригеров
Имя тригера |
Описание |
|
PREPOD_BI |
Создан для добавления записи в таблицу PREPOD |
|
SPECIA_BI |
Создан для добавления записи в таблицу SPECIA |
|
STUDENT_BI |
Создан для добавления записи в таблицу STUDENT |
Таблица хранимых процедур
Имя тригера |
Описание |
|
PROC_INTO_PREPOD |
Процедура создания или редактирования записей таблицы PREPOD, согласно входн. параметрам |
|
PROC_INTO_ STUDENT |
Процедура создания или редактирования записей таблицы STUDENT, согласно входн. параметрам |
|
PROC_INTO_ SPECIA |
Процедура создания или редактирования записей таблицы SPECIA, согласно входн. параметрам |
Таким образом, на этапе физического проектирования была создана база данных и определены пользователи.
5. Описание программы
5.1 Общие сведения
Приложение хранится в файле Project1.exe. Среда разработки приложения - Delphi 7.0. Для функционирования данного приложения, на компьютере необходимо установить операционную систему Windows ХР, программную среду Delphi 7.0, инструмент администрирования и разработки IBExpert, а также СУБД Firebird 2.5; база данных MusocSchool.FDB, для которой было разработано приложение, должна располагаться на сервере на диске C в каталоге BD. Текст модулей программы приведен в приложении А.
5.2 Функциональное назначение
Программа хранит информацию:
- о личных данных ученика (имя, фамилию, отчество, место жительства, телефон);
- о специальности ученика;
- о личных данных преподавателя (имя, фамилию, отчество);
- о специальности, на которой будет преподавать;
- о специальностях (код, наименование)
Также программа должна выводить данные на экран, выполнять ввод данных в базу, сохранять введенные и измененные данные, удалять данные из базы. Программа также должна выполнять выход из приложения.
5.3 Описание логической структуры
Программа является событийно - управляемой; структура программы ветвящаяся, причем переход по каждой из ветвей инициируется событием, генерируемым системой или поступающим от пользователя.
Программа имеет 1 модуль (Unit1), в котором управление разными таблицами данных, реализовано на отдельных вкладках. Вкладок создано 3 по числу таблиц. На каждой из вкладок реализована возможность создания, редактирования, удаления записей таблиц данных.
На модуле данных Unit1 расположены невизуальные компоненты для работы с базой данных. Он вызывается при запуске приложения.
Описания процедур, используемых в приложении Таблица 12.
Таблица 12 Описание модулей приложения
Имя процедуры |
Примечание |
|
procedure TForm1.FormCreate(Sender: TObject); |
Вызывается при создании формы. Отвечает за заполнение таблиц на формах из БД. Также за начальную активность кнопок. Устанавливает пусть к базе данных из файла config.ini. |
|
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); |
Закрывает соединение с базой данных. |
|
procedure TForm1.Button1Click(Sender: TObject); |
Нажатие кнопки "добавить" для таблицы Prepodavateli. Очищает поля ввода данных. Меняет активность кнопок (оставляет сохранить и отмена). Ставит признак того, что запись новая. |
|
procedure TForm1.Button3Click(Sender: TObject); |
Кнопка "Редактировать" для таблицы Prepodavateli. Заполняет поля ввода для последующего редактирования. Меняет активность кнопок (оставляет сохранить и отмена). Ставит признак того, что запись старая. |
|
procedure TForm1.Button4Click(Sender: TObject); |
Кнопка "Сохранить" для таблицы Prepodavateli. Сохраняет изменения для старой записи, либо добавляет новую запись в таблицу. |
|
procedure TForm1.Button2Click(Sender: TObject); |
Нажатие кнопки "Удалить" для таблицы Prepodavateli. Удаляет выбранную строку из БД. |
|
procedure TForm1.EnabledEdit(const AValue: Boolean); |
Процедура для включения и выключения активности кнопок и полей ввода. Для таблицы Prepodavateli. |
|
procedure TForm1.EnabledEditSp(const AValue: Boolean); |
Процедура для включения и выключения активности кнопок и полей ввода. Для таблицы Specialnosti. |
|
procedure TForm1.EnabledEditSt(const AValue: Boolean); |
Процедура для включения и выключения активности кнопок и полей ввода. Для таблицы Student. |
|
procedure TForm1.Button6Click(Sender: TObject); |
Нажатие кнопки "Добавить" для таблицы Student. Очищает поля ввода данных. Меняет активность кнопок (оставляет сохранить и отмена) и полей. Ставит признак того, что запись новая. |
|
procedure TForm1.Button7Click(Sender: TObject); |
Кнопка "Редактировать" для таблицы Student. Заполняет поля ввода для последующего редактирования. Меняет активность кнопок (оставляет сохранить и отмена) и полей. Ставит признак того, что запись старая. |
|
procedure TForm1.Button8Click(Sender: TObject); |
Нажатие кнопки "Удалить" для таблицы Student. Удаляет выбранную строку из БД. |
|
procedure TForm1.Button9Click(Sender: TObject); |
Кнопка "Сохранить" для таблицы Student. Сохраняет изменения для старой записи, либо добавляет новую запись в таблицу. |
|
procedure TForm1.Button10Click(Sender: TObject); |
Кнопка "Отмена" для таблицы Student. Меняет активность полей. Данные по изменения либо по добавлению записей БД не сохраняется. |
|
procedure TForm1.Button11Click(Sender: TObject); |
Нажатие кнопки "Добавить" для таблицы Specialnosti. Очищает поля ввода данных. Меняет активность кнопок (оставляет сохранить и отмена) и полей. Ставит признак того, что запись новая. |
|
procedure TForm1.Button12Click(Sender: TObject); |
Кнопка "Редактировать" для таблицы Specialnosti. Заполняет поля ввода для последующего редактирования. Меняет активность кнопок (оставляет сохранить и отмена) и полей. Ставит признак того, что запись старая. |
|
procedure TForm1.Button13Click(Sender: TObject); |
Нажатие кнопки "Удалить" для таблицы Specialnosti. Удаляет выбранную строку из БД. |
|
procedure TForm1.Button14Click(Sender: TObject); |
Кнопка "Сохранить" для таблицы Specialnosti. Сохраняет изменения для старой записи, либо добавляет новую запись в таблицу. |
|
procedure TForm1.Button15Click(Sender: TObject); |
Кнопка "Отмена" для таблицы Student. Меняет активность полей. Данные по изменения либо по добавлению записей БД не сохраняется. |
|
procedure TForm1.Button16Click(Sender: TObject); |
Завершение работы программы |
5.4 Используемые технические средства
Необходимо чтобы приложение было клиент-серверным. Для локального и серверного компьютеров необходимы следующие минимальные характеристики: тактовая частота процессора - 166 МГц; оперативная память- 256 Мбайт; на жестком диске при установке используется около 475 Мбайт; объем жестокого диска зависит от размера информационной базы, но необходимо не менее 700 Мбайт.
5.5 Вызов и загрузка
Для вызова программы на выполнения необходимо запустить файл Project1.exe. Для функционирования данного приложения, на компьютере необходимо установить операционную систему Windows ХР, программную среду Delphi 7.0, инструмент администрирования и разработки IBExpert, а также СУБД Firebird 2.5; база данных MusicSchool.FDB,для которой было разработано приложение, необходимо расположить на сервере на диске С в каталоге BD.
5.6 Входные данные
Параметры присоединения к базе данных: вид базы данных, имя сервера, имя пользователя, протокол, имя пользователя, пароль и адрес файла базы данных.
Входные данные извлекаются из базы данных или вводятся пользователем.
5.7 Выходные данные
Выходными данными являются сведения из таблиц базы данных, которая может изменяться пользователем.
6. Программа и методика испытаний
6.1 Объект испытаний
Объектом испытаний является программа Project1.exe. А так же файл базы данных MusicSchool.FDB, расположенный на удаленном сервере HOME57, на диске C в каталоге BD.
6.2 Цель испытаний
Испытания проводятся с целью проверки правильности выполнения приложением его функций.
6.3 Требования к программе
Приложение должно обеспечивать:
- Вывод, добавление, изменение, хранение и удаление данных об учениках,
- Вывод, добавление, изменение, хранение и удаление информации о специальностях,
- Вывод, добавление, изменение, хранение и удаление сведений о преподавателях.
6.4 Требования к программной документации
Пояснительная записка к курсовой работе должна содержать следующие документы:
- техническое задание,
- описание программы,
- текст программы,
- программу и методику испытаний,
- описание применения.
6.5 Средства и порядок испытаний
Для проведения испытаний нужен компьютер типа Pentium стандартной комплектации, с установленной операционной системой Windows ХР, подключенный в локальную сеть. На нём должен быть установлен файл project1 с расширением ехе, содержащий проверяемую программу. Файл MusicSchool с расширением fdb, содержащий базу данных, устанавливается на удалённом сервере HOME57, но может быть установлен на локальном компьютере. Для проверки правильности программы необходимо испытать ее функционирование на тестовом примере. Сравнивая полученный результат с контрольным, надо определить правильность работы программы.
6.6 Методы испытаний
Для проверки правильности работы и функционирования программы подготовим тестовые примеры.
Запускаем файл Project1.exe на выполнение, при этом на экране должна появиться главная форма приложения.
Проведем тестовый пример №1 функции "Добавить запись в таблицу Specialnosti" (Б.2).Далее необходимо заполнить поля ввода (Б.3).
Чтобы сохранить введенную информацию следует нажать кнопку "Сохранить". После этого, новая запись БД будет отражена в таблице (Б.4).
Проведем тестовый пример № 2 функции "Редактировать строку таблицы Prepodavateli". Для этого необходимо перейти на вкладку "Преподаватели" (Б.5),выбрать строку для редактирования из табличной части и нажать на кнопку "Редактировать" (Б.6), после изменения данных нужно нажать на кнопку "Сохранить". После всех действий внесенные изменения, отобразятся в табличке. (Б.7).
Проведем тестовый пример № 3 функции "Удалить строку таблицы Student". Для этого необходимо перейти на вкладку "Студенты" (Б.8),выбрать строку для удаления из табличной части и нажать на кнопку "Удалить" (Б.9), после этого нужно подтвердить удаление записи. После всех действий внесенные изменения отобразятся в табличке. (Б.10).
7. Описание применения
7.1 Назначение программы
Разрабатываемая программа предназначена для ввода, вывода, добавления, изменения, удаления, сохранения данных об учениках, преподавателях, специальностях музыкальной школы.
7.2 Условия применения
Программа написана для персонального компьютера стандартной комплектации. На компьютере должна быть установлена операционная система Windows ХР, инструмент администрирования и разработки IBExpert. Приложение должно работать как на одном компьютере, так и в сети. База данных должна быть установлена на удаленном сервере HOME57, на диске C, в каталоге BD, но может быть установлена и на локальном. Для функционирования приложения на сервере должна быть установлена СУБД Firebird 2.5, в которой должен быть зарегистрирован пользователь.
7.3 Описание задачи
После запуска программы на выполнение, на экране появляется главная форма приложения. На ней расположены вкладки "Преподаватели", "Студенты", "Специальности" (см. Рисунок Б.1).
Просмотр, правка и удаление информации о единицах измерения осуществляется нажатием на кнопки "Добавить", "Редактировать", "Удалить", "Сохранить", "Отменить". Внесенные изменения отобразятся в таблицах после нажатия кнопки "Сохранить".
7.4 Входные и выходные данные
Входные данные извлекаются из базы данных или вводятся пользователем. Выходными данными являются сведения из таблиц базы данных, содержащие информацию об учениках, преподавателях, специальностях музыкальной школы. Эти сведения могут изменяться пользователем.
Заключение
В результате проведенной работы была разработана база данных учета учеников, преподавателей, специальностей музыкальной школы, разработан алгоритм решения задачи, составлена и отлажено клиент-серверное приложение, оформлена документация на приложение. Проведенные испытания показали, что приложение работает правильно. Все требования технического задания выполнены полностью.
За время работы над курсовым проектом был значительно повышен уровень практических навыков программирования в среде Delphi, освоен процесс разработки приложений баз данных.
Список использованных источников
1. 1. Еременко А.В., Использование компонентов InterBase Express в приложениях баз данных - http://172.16.76.30/ivs/Database/ibexp.html
2. 2. Еременко А.В., Бобрышева Г.В.,Долгова И.А., Проектирование баз данных с помощью Open ModelSphere, - Пенза: Издательство ПТУ, 2011. - 76 с.
Приложение А
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IniFiles, DB, IBDatabase, IBCustomDataSet, IBQuery, Grids,
DBGrids, ComCtrls, StdCtrls;
type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
DBGrid1: TDBGrid;
IBQuery1: TIBQuery;
IBDatabase1: TIBDatabase;
IBTransaction1: TIBTransaction;
DataSource1: TDataSource;
TabSheet2: TTabSheet;
PageControl2: TPageControl;
TabSheet3: TTabSheet;
DBGrid2: TDBGrid;
TabSheet4: TTabSheet;
IBQuery2: TIBQuery;
IBTransaction2: TIBTransaction;
DataSource2: TDataSource;
TabSheet5: TTabSheet;
IBQuery3: TIBQuery;
IBTransaction3: TIBTransaction;
DataSource3: TDataSource;
PageControl3: TPageControl;
TabSheet7: TTabSheet;
TabSheet6: TTabSheet;
DBGrid3: TDBGrid;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
ComboBox1: TComboBox;
Button4: TButton;
Button5: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
IBQuery4: TIBQuery;
IBTransaction4: TIBTransaction;
StFname: TEdit;
StParentName: TEdit;
StPrepod: TEdit;
StAdress: TEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
IBQuery5: TIBQuery;
IBTransaction5: TIBTransaction;
StPhone: TEdit;
StName: TEdit;
ComboBox2: TComboBox;
DateTimePicker1: TDateTimePicker;
IBQuery6: TIBQuery;
IBTransaction6: TIBTransaction;
SpCode: TEdit;
SpNamePrepod: TEdit;
SpSpec: TEdit;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
private
FNew:Boolean;
FNewSt:Boolean;
FNewSp:Boolean;
procedure EnabledEdit(const AValue: Boolean);
procedure EnabledEditSt(const AValue: Boolean);
procedure EnabledEditSp(const AValue: Boolean);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
Var
FiniFile: TiniFile;
i:integer;
begin
Try
FiniFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'Config.ini');
TRy
IBDatabase1.DatabaseName := FiniFile.ReadString('Base','Path','');
Finally
FiniFile.Free;
end;
IBDatabase1.Connected := True;
with IBQuery1 do
Begin
Sql.Text := 'Select * From Prepod';
open;
end;
with IBQuery2 do
Begin
Sql.Text := 'Select * From Student';
open;
end;
with IBQuery3 do
Begin
Sql.Text := 'Select * From Specia';
open;
end;
DBGrid3.DataSource.DataSet.First;
While not DBGrid3.DataSource.DataSet.Eof do
begin
ComboBox1.Items.Add(DBGrid3.DataSource.DataSet.Fields[1].Value);
ComboBox2.Items.Add(DBGrid3.DataSource.DataSet.Fields[1].Value);
DBGrid3.DataSource.DataSet.Next;
end;
except
on E: Exception do
begin
Application. Message Box (PChar (E.Message), 'Ошибка', MB_ICONERROR);
Halt;
end;
end;
EnabledEdit(false);
EnabledEditSt(false);
EnabledEditSp(false);
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
IBQuery1.Close;
IBQuery2.Close;
IBQuery3.Close;
IBDatabase1.Connected:=False;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
FNew:=True;
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
ComboBox1.ItemIndex := -1;
EnabledEdit(true);
Edit1.SetFocus;
end;
procedure TForm1.Button3Click(Sender: TObject);
var ind:integer;
begin
FNew := False;
with IBQuery1 do
begin
Edit1.Text := FieldByName('Nameprepod').AsString;
Edit2.Text := FieldByName('fnameprepod').AsString;
Edit3.Text := FieldByName('Otchestvo').AsString;
Ind :=comboBox1.Items.IndexOf(FieldByName('specialnost').AsString);
ComboBox1.ItemIndex:=ind;
end;
EnabledEdit(true);
Edit1.SetFocus;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Try
With IBQuery4 do
Begin
If FNew Then
sql.Text := 'execute procedure proc_into_prepod(-1,'''+Edit1.Text+''','''+
Edit2.Text+''','''+Edit3.Text+''','+ComboBox1.Text+')'
else
sql.Text := 'execute procedure proc_into_prepod('+ibquery1.fieldByName('id').AsString+','''+Edit1.Text+''','''+Edit2.Text+
''','''+Edit3.Text+''','+ComboBox1.Text+')';
Transaction.StartTransaction;
ExecSQL;
Transaction.Commit;
Transaction.Active:=False;
end;
IBQuery1.Close;
IBQuery1.open;
Except
on E: Exception do
begin
if IBQuery4.Active Then IBQuery4.Transaction.Rollback;
Application.MessageBox(PChar(E.Message), 'Ошибка', MB_ICONERROR);
end;
End;
EnabledEdit(false);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if Application.MessageBox('Продолжить удаление?', 'Удаление',
MB_ICONQUESTION + MB_YESNO) = IDNO then
Exit;
Try
With IBQuery4 do
Begin
sql.Text := 'delete from prepod where id ='+ibquery1.fieldByName('id').AsString;
Transaction.StartTransaction;
ExecSQL;
Transaction.Commit;
Transaction.Active:=False;
end;
IBQuery1.Close;
IBQuery1.open;
Except
on E: Exception do
begin
if IBQuery4.Active Then IBQuery4.Transaction.Rollback;
Application.MessageBox(PChar(E.Message), 'Ошибка', MB_ICONERROR);
end;
End;
End;
procedure TForm1.Button5Click(Sender: TObject);
begin
EnabledEdit(false);
end;
procedure TForm1.EnabledEdit(const AValue: Boolean);
begin
Edit1.Enabled := AValue;
Edit2.Enabled := AValue;
Edit3.Enabled := AValue;
ComboBox1.Enabled := AValue;
Button1.Enabled := not AValue;
Button2.Enabled := not AValue;
Button3.Enabled := not AValue;
Button4.Enabled := AValue;
Button5.Enabled := AValue;
end;
procedure TForm1.EnabledEditSp(const AValue: Boolean);
begin
SpCode.Enabled := AValue;
SpNamePrepod.Enabled := AValue;
SpSpec.Enabled := AValue;
Button11.Enabled := not AValue;
Button12.Enabled := not AValue;
Button13.Enabled := not AValue;
Button14.Enabled := AValue;
Button15.Enabled := AValue;
end;
procedure TForm1.EnabledEditSt(const AValue: Boolean);
begin
StAdress.Enabled := AValue;
DateTimePicker1.Enabled := AValue;
StFname.Enabled := AValue;
StName.Enabled := AValue;
StParentName.Enabled := AValue;
StPhone.Enabled:=AValue;
StPrepod.Enabled:=AValue;
ComboBox2.Enabled := AValue;
Button6.Enabled := not AValue;
Button7.Enabled := not AValue;
Button8.Enabled := not AValue;
Button9.Enabled := AValue;
Button10.Enabled := AValue;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
FNewSt:=True;
StAdress.Text := '';
DateTimePicker1.Date := 30121899;
StFname.Text := '';
StName.Text := '';
StParentName.Text := '';
StPhone.Text:='';
StPrepod.Text:='';
ComboBox2.ItemIndex := -1;
EnabledEditSt(true);
StName.SetFocus;
end;
procedure TForm1.Button7Click(Sender: TObject);
var ind:integer;
begin
FNewSt := False;
with IBQuery2 do
begin
StAdress.Text := FieldByName('HomeAdress').AsString;
DateTimePicker1.Date := FieldByName('Date1').AsDateTime;
StFname.Text := FieldByName('FirstName').AsString;;
StName.Text := FieldByName('Name').AsString;;
StParentName.Text := FieldByName('ParentName').AsString;;
StPhone.Text := FieldByName('PhoneNumber').AsString;;
StPrepod.Text:= FieldByName('Nameprepod').AsString;;
Ind :=comboBox2.Items.IndexOf(FieldByName('specialnost').AsString);
ComboBox2.ItemIndex:=ind;
end;
EnabledEditSt(true);
StName.SetFocus;
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
if Application.MessageBox('Продолжить удаление?', 'Удаление',
MB_ICONQUESTION + MB_YESNO) = IDNO then
Exit;
Try
With IBQuery5 do
Begin
sql.Text := 'delete from student where id ='+ibquery2.fieldByName('id').AsString;
Transaction.StartTransaction;
ExecSQL;
Transaction.Commit;
Transaction.Active:=False;
end;
IBQuery2.Close;
IBQuery2.open;
Except
on E: Exception do
begin
if IBQuery5.Active Then IBQuery5.Transaction.Rollback;
Application.MessageBox(PChar(E.Message), 'Ошибка', MB_ICONERROR);
end;
End;
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
Try
With IBQuery5 do
Begin
If FNewSt Then begin
sql.Text := 'execute procedure proc_into_student(-1,'''+StName.Text+''','''+
StFname.Text+''','''+StParentName.Text+''','+ComboBox2.Text+','''+DateToStr(DateTimePicker1.date)+''','''+StAdress.Text+''','''+StPhone.Text+''','''+ StPrepod.Text+''')';
ShowMessage(sql.Text);
end
else
sql.Text := 'execute procedure proc_into_student('+ibquery2.fieldByName('id').AsString+','''+StName.Text+''','''+
StFname.Text+''','''+StParentName.Text+''','+ComboBox2.Text+','''+DateToStr(DateTimePicker1.date)+''','''+StAdress.Text+''','''+StPhone.Text+''','''+
StPrepod.Text+''')';
ShowMessage(sql.Text);
Transaction.StartTransaction;
ExecSQL;
Transaction.Commit;
Transaction.Active:=False;
end;
IBQuery2.Close;
IBQuery2.open;
Except
on E: Exception do
egin
if IBQuery5.Active Then IBQuery5.Transaction.Rollback;
Application.MessageBox(PChar(E.Message), 'Ошибка', MB_ICONERROR);
end;
End;
EnabledEditSt(false);
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
EnabledEditSt(false);
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
FNewSp:=True;
SpCode.Text := '';
SpSpec.Text := '';
SpNamePrepod.Text := '';
EnabledEditSp(true);
SpCode.SetFocus;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
FNewSp := False;
with IBQuery3 do
begin
SpCode.Text := FieldByName('CODE').AsString;
SpSpec.Text := FieldByName('NaimSpec').AsString;;
SpNamePrepod.Text := FieldByName('NamePrepod').AsString;;
end;
EnabledEditSp(true);
SpCode.SetFocus;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
if Application.MessageBox('Продолжить удаление?', 'Удаление',
MB_ICONQUESTION + MB_YESNO) = IDNO then
Exit;
Try
With IBQuery6 do
Begin
sql.Text := 'delete from specia where id ='+ibquery3.fieldByName('id').AsString;
Transaction.StartTransaction;
ExecSQL;
Transaction.Commit;
Transaction.Active:=False;
end;
IBQuery3.Close;
IBQuery3.open;
Except
on E: Exception do
begin
if IBQuery6.Active Then IBQuery6.Transaction.Rollback;
Application.MessageBox(PChar(E.Message), 'Ошибка', MB_ICONERROR);
end;
End;
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
Try
With IBQuery6 do
Begin
If FNewSp Then begin
sql.Text := 'execute procedure proc_into_specia(-1,'+SpCode.Text+','''+
SpSpec.Text+''','''+SpNamePrepod.Text+''')';
ShowMessage(sql.Text);
end
else
sql.Text := 'execute procedure proc_into_specia('+ibquery3.fieldByName('id').AsString+','+SpCode.Text+','''+
SpSpec.Text+''','''+SpNamePrepod.Text+''')';
//ShowMessage(sql.Text);
Transaction.StartTransaction;
ExecSQL;
Transaction.Commit;
Transaction.Active:=False;
end;
IBQuery3.Close;
IBQuery3.open;
Except
on E: Exception do
begin
if IBQuery6.Active Then IBQuery6.Transaction.Rollback;
Application.MessageBox(PChar(E.Message), 'Ошибка', MB_ICONERROR);
end;
End;
EnabledEditSp(false);
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
EnabledEditSp(false);
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
Close();
end;
end.
Приложение Б
Рисунок Б.1 Главное окно программы
Рисунок Б.2 Вкладка "Специальности"
Рисунок Б.3 Заполнение полей ввода данных
Рисунок Б.4 Результат добавления новой записи
Рисунок Б.5 Владка "Преподаватели"
Рисунок Б.6 Редактирование записи таблицы
Рисунок Б.7 Сохранение изменений
Рисунок Б.8 Вкладка "Студенты"
Рисунок Б.9 Подтверждение удаления записи
Рисунок Б.10 Таблица студенты после удаления записи
Приложение В
SQL - скрипт
/******************************************************************************/
/***Generated by IBExpert 2011.04.25 08.06.2013 2:01:54 ***/
/******************************************************************************/
SET SQL DIALECT 3;
SET NAMES WIN1251;
CONNECT 'HOME57:C:\BD\MusicSchool.fdb' USER 'SYSDBA' PASSWORD 'masterkey';
/******************************************************************************/
/***Domains ***/
/******************************************************************************/
CREATE DOMAIN VARCHAR2 AS
DATE;
/******************************************************************************/
/*** Generators ***/
/******************************************************************************/
CREATE GENERATOR GEN_PREPOD_ID;
SET GENERATOR GEN_PREPOD_ID TO 4;
CREATE GENERATOR GEN_SPECIA_ID;
SET GENERATOR GEN_SPECIA_ID TO 5;
CREATE GENERATOR GEN_STUDENT_ID;
SET GENERATOR GEN_STUDENT_ID TO 3;
SET TERM ^ ;
/******************************************************************************/
/*** Stored Procedures***/
/******************************************************************************/
CREATE PROCEDURE PROC_INTO_PREPOD (
FIN_ID INTEGER,
FIN_NAMEPREPOD VARCHAR(20),
FIN_FNAMEPREPOD VARCHAR(30),
FIN_OTCESTVO VARCHAR(40),
FIN_SPEC SMALLINT)
AS
BEGIN
EXIT;
END^
CREATE PROCEDURE PROC_INTO_SPECIA (
FIN_ID INTEGER NOT NULL,
FIN_CODE SMALLINT NOT NULL,
FIN_NAIMSPEC VARCHAR(100),
FIN_NAMEPREPOD VARCHAR(40))
AS
BEGIN
EXIT;
END^
CREATE PROCEDURE PROC_INTO_STUDENT (
FIN_ID INTEGER,
FIN_NAME VARCHAR(30),
FIN_FIRSTNAME VARCHAR(20),
FIN_PARENTNAME VARCHAR(40),
FIN_SPEC SMALLINT,
FIN_DATE1 DATE,
FIN_HOMEADRESS VARCHAR(60),
FIN_PHONENUMBER VARCHAR(10),
FIN_NAMEPREPOD VARCHAR(30))
AS
BEGIN
EXIT;
END^
SET TERM ; ^
/******************************************************************************/
/*** Tables ***/
/******************************************************************************/
CREATE TABLE PREPOD (
ID INTEGER NOT NULL,
NAMEPREPOD CHAR(30) NOT NULL,
FNAMEPREPODCHAR(20),
OTCHESTVOCHAR(40),
SPECIALNOSTSMALLINT NOT NULL);
CREATE TABLE SPECIA (
IDINTEGER NOT NULL,
CODESMALLINT NOT NULL,
NAIMSPECCHAR(100),
NAMEPREPODCHAR(40));
CREATE TABLE STUDENT (
ID INTEGER NOT NULL,
NAME CHAR(30),
FIRSTNAMECHAR(20),
PARENTNAME CHAR(40),
SPECIALNOSTSMALLINT,
DATE1VARCHAR2,
HOMEADRESS CHAR(60),
PHONENUMBERCHAR(10),
NAMEPREPOD CHAR(30));
INSERT INTO SPECIA (ID, CODE, NAIMSPEC, NAMEPREPOD) VALUES (1, 101, 'nak ', 'qd');
INSERT INTO SPECIA (ID, CODE, NAIMSPEC, NAMEPREPOD) VALUES (5, 32, '12 33 ', '21');
COMMIT WORK;
INSERT INTO PREPOD (ID, NAMEPREPOD, FNAMEPREPOD, OTCHESTVO, SPECIALNOST) VALUES (4, '12312 ', '12312 ', '123 ', 101);
COMMIT WORK;
INSERT INTO STUDENT (ID, NAME, FIRSTNAME, PARENTNAME, SPECIALNOST, DATE1, HOMEADRESS, PHONENUMBER, NAMEPREPOD) VALUES (3, '121 ', '121 ', '121 ', 101, '2013-05-31', '2 1 ', '12', '12');
COMMIT WORK;
/******************************************************************************/
/*** Unique Constraints ***/
/******************************************************************************/
ALTER TABLE SPECIA ADD CONSTRAINT UNQ1_SPECIA UNIQUE (CODE);
/******************************************************************************/
/***Primary Keys***/
/******************************************************************************/
ALTER TABLE PREPOD ADD CONSTRAINT PK_PREPOD_PRIMAR_K PRIMARY KEY (ID);
ALTER TABLE SPECIA ADD CONSTRAINT PK_SPECIA_PRIMAR_K PRIMARY KEY (ID);
ALTER TABLE STUDENT ADD CONSTRAINT PK_STUDEN_PRIMAR_K PRIMARY KEY (ID);
/******************************************************************************/
/***Foreign Keys***/
/******************************************************************************/
ALTER TABLE PREPOD ADD CONSTRAINT FK_STUDENT_1 FOREIGN KEY (SPECIALNOST) REFERENCES SPECIA (CODE);
ALTER TABLE STUDENT ADD CONSTRAINT FK_STUDENT_2 FOREIGN KEY (SPECIALNOST) REFERENCES SPECIA (CODE);
/******************************************************************************/
/***...
Подобные документы
Требования к функциональным характеристикам, составу и параметрам технических средств, информационной и программной совместимости. Описание программы: общие сведения, логическая структура. Средства и порядок испытаний. Входные и выходные данные.
курсовая работа [6,3 M], добавлен 12.01.2015Системный анализ предметной области. Требования к программе и программному изделию, к функциональным характеристикам, к надежности, составу и параметрам технических средств. Обоснование выбора средств выбора для хранения и обработки базы данных.
реферат [403,8 K], добавлен 02.02.2014Требования к функциональным характеристикам программы, составу и параметрам технических средств, программной совместимости. Особенности программирования в среде Access. Описание интерфейса программы, ввод и редактирование данных, добавление новых книг.
курсовая работа [1,5 M], добавлен 17.11.2010Разработка игровой программы "разгадывания кроссворда". Создание схемы хранения данных, изучение возможности среды программирования. Требования к функциональным характеристикам, составу и параметрам технических средств, информационной совместимости.
курсовая работа [403,9 K], добавлен 26.03.2015Развитие эффективных способов воспроизведения музыкальной информации без потери качества. Требования к функциональным характеристикам, к надежности и безопасности, к составу и параметрам технических средств, к информационной и программной совместимости.
курсовая работа [496,0 K], добавлен 03.12.2010Стадии и этапы разработки программного продукта для осуществления упрощенной работы с клиентами и учёта услуг оказываемых "Интернет-центром". Требования к функциональным характеристикам и надежности программы, к составу и параметрам технических средств.
лабораторная работа [29,4 K], добавлен 13.06.2014Разработка системы управления базой данных "Структура ВУЗа". Требования к программе: функциональным характеристикам, надежности, эксплуатации, составу и параметрам технических средств. Требования к программной документации. Порядок контроля и приемки.
курсовая работа [982,7 K], добавлен 08.06.2015Создание базы данных для управления мебельным магазином: постановка задачи, требования к информационно-программной совместимости, составу и параметрам технических средств, документации. Разработка базы данных: структура таблиц, клиентское приложение.
курсовая работа [1,8 M], добавлен 10.02.2013Понятие банка и базы данных, их назначение. Создание базы данных "Учет нарушений ПДД" с удобным пользовательским интерфейсом. Требования к функциональным характеристикам. Условия эксплуатации и программные требования. Описание входных и выходных данных.
курсовая работа [2,9 M], добавлен 22.09.2012Разработка программы, позволяющей реализовать шифрование и дешифрование текстового файла методом замены и методом перестановки. Требования к функциональным характеристикам, надежности, составу и параметрам технических средств ПО. Интерфейс пользователя.
курсовая работа [19,0 K], добавлен 30.04.2011Назначение и цели создания системы. Требования к программе или программному изделию, к информационной и программной совместимости, к составу и параметрам технических средств. Алгоритм Rijndael. Назначение и условия применения программного продукта.
дипломная работа [1,3 M], добавлен 01.03.2009Документ, на основании которого ведется разработка. Требования к составу и параметрам технических средств, к информационной и программной совместимости. Проработка программных средств. Переопределение стандартных операций для абстрактных типов данных.
курсовая работа [371,5 K], добавлен 21.02.2012Разработка эскизного и технического проектов программы, ее назначение и область применения, описание алгоритма, организация входных и выходных данных. Выбор состава технических и программных средств, разработка рабочего проекта, спецификация программы.
курсовая работа [700,6 K], добавлен 26.01.2010Главные составные части среды программирования. Требование к надежности, к составу и параметрам технических средств. Табличные базы данных. Выбор и обоснование выбора системы управления базами данных. Высокопроизводительный компилятор в машинный код.
курсовая работа [793,5 K], добавлен 31.01.2016Требования к функциональным характеристикам проектируемого интернет-магазина. Требования к составу и параметрам технических средств и программной документации. Стадии и этапы разработки интернет-магазина, проверка и контроль правильности ее работы.
курсовая работа [598,2 K], добавлен 17.05.2011Разработка структуры реляционной базы данных для информационной системы "Распределение учебной нагрузки". Требования к информации, надежности, составу и параметрам технических средств. Нормализация информационных объектов, логическая модель данных.
курсовая работа [2,3 M], добавлен 03.05.2015Назначение программного модуля (базы данных). Разработка информационной базы данных для колледжа. Поиск пользователями информации о преподавателях и дисциплинах. Анализ входной и выходной информации. Разработка алгоритма работы программы-приложения.
реферат [513,1 K], добавлен 22.10.2012Разработка структуры реляционной базы данных, предназначенной для отслеживания финансовой стороны работы компании. Требования к составу и параметрам технических средств. Нормализация информационных объектов. Физическая модель базы данных приложения.
курсовая работа [1,4 M], добавлен 11.11.2014Выбор программных и аппаратных средств для создания базы данных. Описание структуры программы. Описание разработки приложения. Подключение к базе данных, выполняемое с помощью компонента ADOConnectio. Создание средств защиты информации в программе.
курсовая работа [2,1 M], добавлен 16.02.2015Исследование особенностей проектирования и реализации автоматизированной системы "Учет товаров в сети продуктовых магазинов". Анализ требований к функциональным характеристикам, параметрам технических средств и надежности. Разработка моделей базы данных.
курсовая работа [1,2 M], добавлен 24.11.2013