Автор работы: Пользователь скрыл имя, 27 Марта 2011 в 09:22, курсовая работа
Данная курсовая есть результат работы, выполненной в ходе изучения дисциплины “Базы данных”. В качестве задания необходимо создать программу, предназначенную для работы с базой данных, содержащей в себе информацию об учебных планах. На мой взгляд, были выполнены все требования и пожелания преподавателя касаемо функционирования и представления данных.
1.Введение………………………………………………………………………...3
2.Задача
a.Предметная область и ER-диаграмма……………….………………………………………………..4
b.Физическая модель данных (макеты таблиц)…………………………. 5
c.Список явных ограничений целостности……………………………………………………………….6
3.Описание приложения
a.Функции и процедуры, а так же связи.......………………………...……7
b.Классы, их методы и поля класса………………………………………25
4.Описание функционирования базы данных
a.Процедуры и функции по реализации ограничений целостности, включая SQL запросы……………………………………………….......28
b.SQL запросы по ведению электронного аналога документа…………………………………………………………….…..29
5.Описание экранных форм……………………………………………………...30
6.Руководство по эксплуатации………………………………………………....31
7.Заключение…………………………………………………………………..….32
8.Список литературы………………………………………………………..……33
9.Приложение……………………………………………………………….….…34
Пояснительная записка к курсовой работе
по дисциплине «Базы данных»
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО
ПРОФЕССИОНАЛЬНОГО
ОБРАЗОВАНИЯ
ТИХООКЕАНСКИЙ
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Хабаровск 2010
Выполнил: | Ермаков А.В. ВМ-81 |
Проверил: | Федосеев А. А. |
Содержание
Данная курсовая есть результат работы, выполненной в ходе изучения дисциплины “Базы данных”. В качестве задания необходимо создать программу, предназначенную для работы с базой данных, содержащей в себе информацию об учебных планах. На мой взгляд, были выполнены все требования и пожелания преподавателя касаемо функционирования и представления данных. Работа была сопряжена с «двигателем» базы данных SQLite, средой QT, и генератором отчётов eXaro. Были реализованы необходимые запросы для функционирования базы, а также реализована возможность отображения в отчёте только тех данных, которые попали в результат поиска, что значительно повышает ценность данного приложения.
Разработанное
приложение предназначено для ведения
базы данных, содержащей в себе информацию
об учебных планах. С помощью этого приложения
можно добавлять и удалять из базы дисциплины,
преподавателей, студентов и учебные планы,
диски, просматривать содержимое базы
данных и многое др. Выходным документом
является отчёт, который формируется в
зависимости от выбранного студента. База
отвечает на вопросы: какие дисциплины
будет вести преподаватель у студентов,
обучающихся по индивидуальному плану
в 2003 году? С какими студентами, обучающимися
по индивидуальному плану, предстоит работать
преподавателю по предмету «Компьютерная
графика»? Нужно ли проводить прием экзамена
по дисциплине «БД» у студента Сидорова
К.Н.? Сколько часов лаб.работ необходимо
провести со студентом Петровым В.С. по
дисциплине «БД»?
Объекты обладают следующими связями:
Студент
может иметь только один учебный план,
а план может иметь неограниченное количество
студентов.
Студент
Учебный план
Дисциплина-преподаватель
У дисциплины может быть только один преподаватель, а преподаватель может преподавать несколько дисциплин.
Дисциплина
Преподаватель
У учебного
плана может быть до шести
одинаковых дисциплин (в
Учебные планы
Дисциплины
Объекты обладают следующими связями:
Disciplina | |
Код | Название |
ID_disc* | a_ disc |
I | A(20) |
Student | |||
Код | ФИО | Форма обуч. | Год поступления |
ID_stud* | a_stud | b_stud | year_stud |
I | A(30) | A(5) | I |
Prepodavatel | |
Код | ФИО |
ID_prep* | а_prep |
I | A(30) |
Plan | |||
Код | Название | Год | Продолжит. обуч. |
ID_plan* | b_plan | year_plan | prod_year |
I | A(30) | I | I |
Inf_Stud | |
Код студента | Код плана |
ID_stud* | ID_plan |
I | I |
Inf_Disc | |
Код дисциплины | Код преподавателя |
ID_disc * | ID_prep |
I | I |
Inf_Plan | |||||||
Код
дисциплины |
Код
плана |
Курс | Лекц. | Лаб. | Практ. | Зачёт | Экзамен |
ID_disc * | ID_prep* | kurs | lec | labs | prakt | zach | exam |
I | I | I | I | I | I | I | I |
Основной
класс MainWindow отвечает за соединение с
базой данных, а также за правильное
отображение, редактирование и поиск
данных. Пять зависимых класса визуально
облегчают представление и редактирование
данных. Основной класс содержит главные
функции и процедуры для работы с базой.
Соединение с базой выполняется следующим образом:
db=QSqlDatabase::addDatabase("
db.setDatabaseName("baza.db ");
db.open();
Отображение таблиц:
//Вывод таблицы Disciplina
Disciplina=new QSqlTableModel(0,db);
Disciplina->setTable("
Disciplina->select();
Disciplina->setEditStrategy(
ui->disc_viev->setModel(
ui->disc_viev->
//Вывод таблицы Prepodavatel
Prepodavatel=new QSqlTableModel(0,db);
Prepodavatel->setTable("
Prepodavatel->select();
Prepodavatel->
ui->prep_viev->setModel(