Курсовая работа по дисциплине «Базы данных» тема «Создание базы данных вуза»




Скачать 227.18 Kb.
НазваниеКурсовая работа по дисциплине «Базы данных» тема «Создание базы данных вуза»
Земляков А А
Дата конвертации01.10.2012
Размер227.18 Kb.
ТипКурсовая


МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ


Кафедра ЭФ-2 «Экономические информационные системы»


КУРСОВАЯ РАБОТА


по дисциплине «Базы данных»


ТЕМА «Создание базы данных ВУЗа»


Выполнил:

Студент ЭФ-2 0932в

Земляков А.А.


Принял:

доцент кафедры

Шилина Елена Михайловна


МГУПИ - 2010г.

Задание
Вариант 10

Порядковый номер студента

Номер сущности

Номер задачи

Примечание

10

4,5,7,9

22,11,13





Сущности

Номера

сущностей

Имена сущностей

Свойства сущности

4

Семестр

Номер семестра, название семестра

5

Дисциплина

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

7

Стаж

Код стажа, величина стажа (лет), надбавка

9

Преподаватель

Табельный номер преподавателя, ФИО, количество аспирантов, ученая степень, ученое звание



Задачи

Номера задач

Содержания задач

11

Определить число надбавок

13

Определить общее и среднее число аспирантов

22

Определить общее количество часов, читаемых в каждом семестре

Содержание


Введение 4

1. Задача 6

1.1 Постановка задачи 6

1.2 Нормализация 8

2.1 Описание среды программирования 13

Выбор СУБД 14

2.2 Методы 15

3. Инструкция пользователя 17

Листинг программы 21



Введение


Базы данных для заведений с большим количеством сотрудников и клиентов являются неотъемлемой частью в наше время. С их помощью значительно упрощается регистрация, учет, контроль и прочие необходимее процедуры, которые имеют место быть в данных заведениях.

Одним из примеров является ВУЗ. Численность студентов огромна, так же как и коллектив преподавателей. Есть немаловажная информация об учебном плане, группах, студентах, дисциплинах и прочем, перечислять можно практически до бесконечности.

В данной работе будет реализована база данных, состоящая из 4-х сущностей (семестр, дисциплина, стаж, преподаватель) для реализации указанного задания.

Администрирование баз данных является перспективным и жизненно важным направлением для организаций и компаний в наше время, время технологических и цифровых нововведений.

Microsoft Access – это система управления базами данных (СУБД),

предназначенная для создания и обслуживания баз данных, обеспечения доступак данным и их обработки. База данных (БД) представляет собой организованную структуру, используемую для хранения данных, т.е. любых сведений о явлениях, процессах, действиях и т.д. Данные несут в себе информацию о событиях, происходящих в материальном мире, и, по сути, являются зарегистрированными сигналами, возникшими в результате этих событий. Данные становятся информацией, если пользователь обработает их и осмыслит, применив при этом адекватные этим данным методы. Сегодня большинство СУБД размещают в своих структурах не только данные, но и методы (программные коды), поэтому можно утверждать, что Microsoft Access – это СУБД, предлагающая широкий диапазон средств для хранения информации и эффективного управления этой информацией. Базы данных содержат различные объекты, основными из которых являются таблицы. Структура простейшей базы данных соответствует структуре её двухмерной таблицы, содержащей столбцы и строки. Их аналогами в структуре простейшей базы данных являются поля и записи. При работе с Microsoft Access 2003 и Microsoft Access 2007

используются следующие типы данных:

. текстовый – тип данных, используемый для хранения простого

неформатированного текста, число символов в котором не должно

превышать 255;

. поле MEMO – специальный тип данных, применяемый для хранения

больших объёмов текста (до 65 535 символов);

. числовой – тип данных для хранения чисел;

. дата/время – тип данных для хранения значений даты и времени;

. денежный – тип данных для хранения денежных значений (длина поля

8 байт);

. счётчик – специальный тип данных, используемый для

автоматической нумерации записей;

. логический – для хранения логических данных, которые могут иметь

одно из двух возможных значений Да или Нет;

. поле объекта OLE – специальный тип данных, предназначенный для

хранения объектов OLE (электронных таблиц Microsoft Excel,

документов Microsoft Word, звукозаписей и др.);

. гиперссылка – специальное поле для хранения адресов URL Web-

объектов;

. мастер подстановок – тип данных, запускающий мастер подстановок,

что позволяет выбирать данные из раскрывающегося списка, а не

вводить их в поле вручную.

1. Задача

1.1 Постановка задачи



Создать базу данных для автоматизации учебно-методической деятельности подразделений ВУЗа.
Для создания базы данных используются 4 сущности (Таблица 1):

Таблица 1.

Номера

сущностей

Имена сущностей

Свойства сущности

4

Семестр

Номер семестра, название семестра

5

Дисциплина

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

7

Стаж

Код стажа, величина стажа (лет), надбавка

9

Преподаватель

Табельный номер преподавателя, ФИО, количество аспирантов, ученая степень, ученое звание


Приложение и база данных должны реализовывать следующие методы:


  • возможность модификации структуры БД;

  • удаление записей по заданному пользователем условию с обеспечением целостности данных связных таблиц;

  • очистка отдельных таблиц базы данных с сохранением их структуры;

  • просмотр БД или отдельных её таблиц;

  • добавление новых записей в базу с обеспечением целостности данных связных таблиц;

  • редактирование;

  • упорядочивание существующих записей в таблицах БД по одному или нескольким ключам;

  • поиск записей по ключу;

  • формирование отчётов;

  • обеспечение безопасности БД.


Так же приложение должно решать следующие задачи:


Номера задач

Содержания задач

11

Определить число надбавок

13

Определить общее и среднее число аспирантов

22

Определить общее количество часов, читаемых в каждом семестре

1.2 Нормализация



Базой данных называется один или несколько файлов данных для хранения, изменения, обработки больших объемов взаимосвязанной информации.
Чтобы созданная база данных была оптимальной, необходимо выполнить нормализацию добавленных таблиц. Нормализация базы данных – это процесс построения оптимальной структуры таблиц путем устранения избыточной (повторяющейся) информации. Всего существует пять нормальных форм таблицы. Для создания базы данных объема библиотеки достаточно первых трех нормальных форм.
Для удаления из базы данных избыточной информации выполняем нормализацию.

Первая нормальная форма:

    1. Поля содержат неделимую информацию;

    2. В таблице отсутствуют повторяющиеся группы полей.

Вторая нормальная форма:

    1. Выполняются требования первой нормальной формы;

    2. Любое неключевое поле должно однозначно идентифицироваться ключевыми полями.

Третья нормальная форма:

    1. Выполняются требования второй нормальной формы;

    2. Ни одно из неключевых полей не должно однозначно идентифицироваться значением другого неключевого поля.

Применяя условия третьей нормальной формы, разбиваем основную таблицу на четыре:
Произведя нормализацию базы данных, получаем 5 таблиц:


  • Семестр

  • Стаж

  • Дисциплина

  • Преподаватель

  • Дисциплина - Преподаватель





Инфологическое проектирование

ER-модель

Сущности:

    1. Семестр

    2. Дисциплина

    3. Стаж

    4. Преподаватели

1) семестр


№ семестра

Наз_семестра



2) дисциплина

Код дисциплины

Наз_ дисциплины

лекции

Практические

Кол_часов

Прочие

№ семестра


3)стаж

код стажа

величина стажа (лет)

надбавки


4) преподаватели


табельный номер

ФИО

кол_аспирантов

уч_степень

уч_ звание



5) дисциплина преподаватели

таб_номер преподавателя

код дисциплины

Построение ER-диаграммы




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

2.1 Описание среды программирования



Среда программирования Delphi представляет собой идеальную платформу для соз­дания интерфейсов с локальными и удаленными базами данных в среде Windows. С ее помощью можно быстро писать программы, не только выполняющие какие - либо вычисления или функции, но и надёжные приложения управления базами данных. Визуальные аспекты программирования в Delphi позволяют считать его великолепным инструмен­том скоростной разработки программ. Кроме того, Delphi является хорошим инстру­ментом для скоростной разработки приложений Windows. А также он содержит в себе всю мощь компилируемого языка программирования (Object Pascal), помещённого в оболочку средств скоростной разработки приложений (RAD) – Rapid Application Development. RAD резко повышает эффективность разработки приложений. Чтобы более наглядно это понять стоит привести отличительные особенности СУБД, содер­жащих RAD.

Во-первых, это, конечно же, наличие объектно-ориентированного языка программи­рования, эффективно использующего модульный принцип построения программ. Мо­дульный принцип основан на следующих понятиях:

  • Объект – тип данных, характеризующийся тем, что элементами данного типа могут быть как данные, так и методы. Объектно-ориентированное программирование представляет собой способ программирования, кото­рый напоминает процесс человеческого мышления. Он возник в результа­те естественной эволюции более ранних нововведений в разработке язы­ков программирования. Оно является более структурированным, чем дру­гие способы программирования и позволяет создавать модульные про­граммы с представлением данных на определённом уровне абстракции. Характеризуется тремя основными свойствами:

  • Инкапсуляция – это объединение записей процедурами и функциями, рабо­тающими с полями этих записей, которая формулирует новый тип данных, называемый объектом классом;

  • Наследование – это определение нового объекта и дальнейшее использова­ние всех его свойств объекта-предка. Далее может быть построена иерар­хия порождённых объектов с возможностью для каждого порождённого объекта доступа к коду и данным порождающих объектов;

  • Полиморфизм – присваивание определённому действию одного имени, которое затем совместно используется во всей иерархии объектов, причём, каждый объект иерархии выполняет это действие характерным для него способом.

Во-вторых, это наличие визуальных средств разработки, заменяющих написание кодов программ, размещением графических объектов на рабочем столе.

В-третьих, должна обеспечиваться поддержка стандартных протоколов обмена данными между приложениями.

Выбор СУБД



Выбор системы управления баз данных (СУБД) представляет собой сложную многопараметрическую задачу и является одним из важных этапов при разработке приложений баз данных. Выбранный программный продукт должен удовлетворять как текущим, так и будущим потребностям предприятия, при этом следует учитывать финансовые затраты на приобретение необходимого оборудования, самой системы, разработку необходимого программного обеспечения на ее основе, а также обучение персонала. Кроме того, необходимо убедиться, что новая СУБД способна принести предприятию реальные выгоды.


2.2 Методы



Для реализации поставленной задачи, были использованы следующие программные методы.
Отображение данных
Для отображения данных использовался компонент dbGrid. Навигация по базе данных осуществляется перемещением курсора в главной таблице и компонентом bdNavigator.
Добавление/редактирование/удаление данных и навигация
Компонент DBNavigator обеспечивает перемещение указателя текущей записи, активизацию режима редактирования, добавление и удаление записей

Сортировка данных
Сортировка предназначена для удобства просмотра данных.

Сортировка данных организована средствами компонента dbGrid по нажатию на заголовок столбца.

procedure TFMain.DBGrid1TitleClick(Column: TColumn);

var

i:integer;

order, field:string;
begin

i:= Column.Index;

sort[i]:=not sort[i];

if(sort[i]) then order:=' ASC '

else order:=' DESC ';

case Column.Index of

0:field:=' nomer ';

1:field:=' FIO';

2:field:=' kol ';

3:field:=' uch st ';

4:field:=' uch zv ';

5:field:=' prochee ';

end;

DM.ADOQSvodnaya.Close;

DM.ADOQSvodnaya.SQL.Text:=SQL+'ORDER BY '+field+order;

DM.ADOQSvodnaya.Open;

Поиск в наборе данных
Поиск в наборе данных осуществляется в таблице «Дисциплина», по кнопке «искать»:
procedure TFDisc.Button1Click(Sender: TObject);

begin

if not DM.ADOQDisciplina.Locate('nazvanie',LabeledEdit1.Text,[loCaseInsensitive,loPartialKey])

then showmessage('Запись не обнаружена');

end;

Вывод отчетов
Вывод отчетов организован средствами компонента dbGrid.
procedure TFChReport.Button1Click(Sender: TObject);

begin

if(ComboBox1.Text = '')then

begin

ShowMessage('Группа не выбрана');

exit;

end;

QuickReport1.QRLabel6.Caption:=ComboBox1.Text;

DM.ADOQRep.close;

DM.ADOQRep.SQL.Text:=SQL+'WHERE G_nomer = '''+ComboBox1.Text+'''';

DM.ADOQRep.open;

QuickReport1.Preview;
end;
Обеспечение безопасности базы данных
Вход в базу данных осуществляется при вводе логина и пароля (по умолчанию: login –work, key – 963258741). Это предотвращает несанкционированный доступ к базе.
Так же сохранение записей в базе данных при наличии одного или несколько незаполненных полей невозможно, что способствует сохранению целостности данных и достоверности информации.
Правильность вводимых данный осуществляется методами компонента dbNavigator, он не позволяет добавить записи с пустыми полями, так же осуществляет проверку типа вводимых данный в соответствии с тем типом, который указан для полей в таблицах Access.

3. Инструкция пользователя


Приложение запускается файлом work.exe, располагающемся в папке программы.

При запуске откроется окно входа в приложение «Код безопасности»

Для авторизации в системе необходимо указать логин – work, пароль – 963258741. После этого Вам будет предоставлен доступ ко всем таблицам базы данных, первой откроется итоговая таблица «Дисциплина-Преподаватель» .

Навигация по таблицам осуществляется с помощью кликов мыши, либо кнопками компонента bdNavigator, расположенного под каждой из таблиц.

Открытие необходимых таблиц осуществляется через главное меню, расположенное в верхней части форм.

Добавление, редактирование, удаление записей осуществляется через bdNavigator, расположенный под каждой из таблиц.

Формирование отчета осуществляется через меню в верхней части экрана

Заключение
В результате проделанной работы была разработана база данных и приложение по работе с данной базой. Совокупность программных средств позволяет выполнять работу по учету, регистрации, поддержании актуального состояния сведений о группах, дисциплинах, формах обучения и специальностях, имеющихся в ВУЗе.

Простота навигации и управления базой позволяют работать с ней широкому кругу лиц вне зависимости от возрастной категории.
Есть возможность подсчета среднего количества студентов в группах для отслеживания потока студентов в разные периоды обучения.
Имеется быстрый способ просмотра общего числа студентов по специальностям.
Также доступна возможно печати отчета по перечню учебных дисциплин для выбранной студенческой группы.

Список литературы



              1. Фаронов В.В., Программирование баз данных в Delphi 7. Учебный курс, СПб.: Питер, 2003;

  1. Классификация основных средств, включаемых в амортизационные группы – М.: Налог-инфо, 2005;

  2. Гофман В.Э., Хомоненко А.Д., Работа с базами данных в Delphi. – 2-е изд, СПБ.: БХВ-Петербург, 2002;

  3. Бобровский С. И., Delphi 7. Учебный курс, СПБ.: Питер, 2003;

  4. электронный ресурс: delphisite.ru

  5. электронный ресурс: delphiexpert.ru

Листинг программы


unit chrep;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DBCtrls;
type

TFChReport = class(TForm)

Label1: TLabel;

Button1: TButton;

ComboBox1: TComboBox;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

FChReport: TFChReport;
implementation
uses datamod, report, main;
{$R *.dfm}
procedure TFChReport.Button1Click(Sender: TObject);

begin

if(ComboBox1.Text = '')then

begin

ShowMessage('Íå âûáðàíà ãðóïïà');

exit;

end;

QuickReport1.QRLabel6.Caption:=ComboBox1.Text;

DM.ADOQRep.close;

DM.ADOQRep.SQL.Text:=SQL+'WHERE G_nomer = '''+ComboBox1.Text+'''';

DM.ADOQRep.open;

QuickReport1.Preview;
end;
procedure TFChReport.FormCreate(Sender: TObject);

begin

ComboBox1.Clear;

DM.ADOQGruppa.First;

while not DM.ADOQGruppa.Eof do

begin

ComboBox1.Items.Add(DM.ADOQGruppaG_nomer.Value);

DM.ADOQGruppa.Next;

end

end;
end.
unit datamod;
interface
uses

SysUtils, Classes, DB, ADODB;
type

TDM = class(TDataModule)

ADOConnection1: TADOConnection;

ADOQGruppa: TADOQuery;

ADOQGruppaG_id: TAutoIncField;

ADOQGruppaG_nomer: TWideStringField;

ADOQGruppaG_chislennost: TIntegerField;

ADOQGruppaG_sred_proh_bal: TFloatField;

ADOQGruppaG_specialnost_id: TIntegerField;

ADOQGruppaG_forma_obucheniya_id: TIntegerField;

ADOQSpec: TADOQuery;

ADOQFormaOb: TADOQuery;

ADOQDisciplina: TADOQuery;

ADOQGruppaDisc: TADOQuery;

dsSpec: TDataSource;

dsGruppa: TDataSource;

dsFormaOb: TDataSource;

ADOQGruppaG_specialnost: TStringField;

ADOQGruppaG_forma_obuch: TStringField;

dsDisciplina: TDataSource;

dsGruppaDisc: TDataSource;

ADOQGruppaDiscGD_id: TAutoIncField;

ADOQGruppaDiscGD_gruppa_id: TIntegerField;

ADOQGruppaDiscGD_disciplina_id: TIntegerField;

ADOQGruppaDiscGD_Gruppa: TStringField;

ADOQGruppaDiscGD_disciplina: TStringField;

ADOQSvodnaya: TADOQuery;

dsSvodnaya: TDataSource;

ADOQRep: TADOQuery;

dsRep: TDataSource;

ADOQSred: TADOQuery;

ADOQuery: TADOQuery;

dsQuery: TDataSource;

private

{ Private declarations }

public

{ Public declarations }

end;
var

DM: TDM;
implementation
{$R *.dfm}
end.
unit disciplina;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, StdCtrls;
type

TFDisc = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

GroupBox1: TGroupBox;

LabeledEdit1: TLabeledEdit;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

FDisc: TFDisc;
implementation
uses datamod;
{$R *.dfm}
procedure TFDisc.Button1Click(Sender: TObject);

begin

if not DM.ADOQDisciplina.Locate('D_nazvanie',LabeledEdit1.Text,[loCaseInsensitive,loPartialKey])

then showmessage('Çàïèñü íå íàéäåíà');

end;
end.

unit Fobuch;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids;
type

TFObuchenie = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

private

{ Private declarations }

public

{ Public declarations }

end;
var

FObuchenie: TFObuchenie;
implementation
uses datamod;
{$R *.dfm}
end.
unit FSpec;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids;
type

TFSpecialnost = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

private

{ Private declarations }

public

{ Public declarations }

end;
var

FSpecialnost: TFSpecialnost;
implementation
uses datamod;
{$R *.dfm}
end.

unit gruppa;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids;
type

TFGruppa = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

private

{ Private declarations }

public

{ Public declarations }

end;
var

FGruppa: TFGruppa;
implementation
uses datamod;
{$R *.dfm}
procedure TFGruppa.FormClose(Sender: TObject; var Action: TCloseAction);

begin

DM.ADOQGruppa.Close;

DM.ADOQGruppa.Open;

end;
end.
unit gruppadisc;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids;
type

TFGruppaDisc = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

private

{ Private declarations }

public

{ Public declarations }

end;
var

FGruppaDisc: TFGruppaDisc;
implementation
uses datamod;
{$R *.dfm}
procedure TFGruppaDisc.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

DM.ADOQSvodnaya.Close;

DM.ADOQSvodnaya.Open;

end;
end.
unit login;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls;
type

TFLogin = class(TForm)

LabeledEdit1: TLabeledEdit;

LabeledEdit2: TLabeledEdit;

Button1: TButton;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

FLogin: TFLogin;
implementation
uses main;
{$R *.dfm}
procedure TFLogin.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if(not logged)then Fmain.Close;

end;
procedure TFLogin.Button1Click(Sender: TObject);

begin

if(LabeledEdit1.Text = 'Admin') and(LabeledEdit2.Text = '12345')

then begin logged:=true;

FMain.Show;

Close;

end;

end;
end.
unit main;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, XPMan;
type

TFMain = class(TForm)

MainMenu1: TMainMenu;

menu1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N1: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

N6: TMenuItem;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

N241: TMenuItem;

XPManifest1: TXPManifest;

procedure N1Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure DBGrid1TitleClick(Column: TColumn);

procedure FormCreate(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure N241Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure FormClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

FMain: TFMain;

sort:array[0..6] of boolean;

SQL:AnsiString;

logged:boolean;

implementation
uses FSpec, Fobuch, gruppa, disciplina, gruppadisc, datamod, chrep, qqqq,

login;
{$R *.dfm}
procedure TFMain.N1Click(Sender: TObject);

begin

FSpecialnost.ShowModal;

end;
procedure TFMain.N4Click(Sender: TObject);

begin

FObuchenie.ShowModal;

end;
procedure TFMain.N2Click(Sender: TObject);

begin

FGruppa.ShowModal;

end;
procedure TFMain.N3Click(Sender: TObject);

begin

FDisc.ShowModal;

end;
procedure TFMain.N5Click(Sender: TObject);

begin

FGruppaDisc.ShowModal;

end;
procedure TFMain.DBGrid1TitleClick(Column: TColumn);

var

i:integer;

order, field:string;
begin

i:= Column.Index;

sort[i]:=not sort[i];

if(sort[i]) then order:=' ASC '

else order:=' DESC ';

case Column.Index of

0:field:=' G_nomer ';

1:field:=' S_shifr ';

2:field:=' FO_kod ';

3:field:=' D_nazvanie ';

4:field:=' D_lekcii ';

5:field:=' D_prakticheskie ';

6:field:=' D_prochee ';

end;

DM.ADOQSvodnaya.Close;

DM.ADOQSvodnaya.SQL.Text:=SQL+'ORDER BY '+field+order;

DM.ADOQSvodnaya.Open;

end;
procedure TFMain.FormCreate(Sender: TObject);

var i:integer;

begin

for i:=0 to 6 do sort[i]:=true;

SQL:='SELECT Gruppa.G_nomer, Specialnost.S_shifr, Forma_obucheniya.FO_kod, Disciplina.D_nazvanie, Disciplina.D_lekcii, Disciplina.D_prakticheskie, Disciplina.D_prochee '+

' FROM Forma_obucheniya INNER JOIN (Specialnost INNER JOIN (Disciplina INNER JOIN (Gruppa INNER JOIN Gruppa_Disciplina ON Gruppa.G_id = Gruppa_Disciplina.GD_gruppa_id) ON Disciplina.D_id = Gruppa_Disciplina.GD_disciplina_id) ON '+

' Specialnost.S_id = Gruppa.G_specialnost_id) ON Forma_obucheniya.FO_id = Gruppa.G_forma_obucheniya_id ';

logged:=false;

end;
procedure TFMain.N6Click(Sender: TObject);

begin

FChReport.ShowModal;

end;
procedure TFMain.FormShow(Sender: TObject);

begin

Label2.Caption:=IntToStr(DM.ADOQSpec.RecordCount);

Label4.Caption:=IntToStr(DM.ADOQSred.FieldByName('SRED').AsInteger);

end;
procedure TFMain.N241Click(Sender: TObject);

begin

DM.ADOQuery.Close;

DM.ADOQuery.Open;

FQ.ShowModal;

end;
procedure TFMain.FormActivate(Sender: TObject);

begin

if(not logged)then begin

//Hide;

Label2.Caption:=IntToStr(DM.ADOQSpec.RecordCount);

Label4.Caption:=IntToStr(DM.ADOQSred.FieldByName('SRED').AsInteger);
FLogin.ShowModal;

end;

end;
procedure TFMain.FormClick(Sender: TObject);

begin

Label2.Caption:=IntToStr(DM.ADOQSpec.RecordCount);

Label4.Caption:=IntToStr(DM.ADOQSred.FieldByName('SRED').AsInteger);

end;
end.
program mydatabase;
uses

Forms,

main in 'main.pas' {FMain},

FSpec in 'FSpec.pas' {FSpecialnost},

datamod in 'datamod.pas' {DM: TDataModule},

Fobuch in 'Fobuch.pas' {FObuchenie},

gruppa in 'gruppa.pas' {FGruppa},

disciplina in 'disciplina.pas' {FDisc},

gruppadisc in 'gruppadisc.pas' {FGruppaDisc},

report in 'report.pas' {QuickReport1: TQuickRep},

chrep in 'chrep.pas' {FChReport},

qqqq in 'qqqq.pas' {FQ},

login in 'login.pas' {FLogin};
{$R *.res}
begin

Application.Initialize;

Application.CreateForm(TFMain, FMain);

Application.CreateForm(TFSpecialnost, FSpecialnost);

Application.CreateForm(TDM, DM);

Application.CreateForm(TFObuchenie, FObuchenie);

Application.CreateForm(TFGruppa, FGruppa);

Application.CreateForm(TFDisc, FDisc);

Application.CreateForm(TFGruppaDisc, FGruppaDisc);

Application.CreateForm(TQuickReport1, QuickReport1);

Application.CreateForm(TFChReport, FChReport);

Application.CreateForm(TFQ, FQ);

Application.CreateForm(TFLogin, FLogin);

Application.Run;

end.
unit qqqq;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids;
type

TFQ = class(TForm)

DBGrid1: TDBGrid;

private

{ Private declarations }

public

{ Public declarations }

end;
var

FQ: TFQ;
implementation
uses datamod;
{$R *.dfm}
end.
unit report;
interface
uses Windows, SysUtils, Messages, Classes, Graphics, Controls,

StdCtrls, ExtCtrls, Forms, QuickRpt, QRCtrls;
type

TQuickReport1 = class(TQuickRep)

QRBand1: TQRBand;

QRLabel1: TQRLabel;

QRBand2: TQRBand;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRLabel5: TQRLabel;

QRLabel6: TQRLabel;

QRBand3: TQRBand;

QRDBText1: TQRDBText;

QRDBText2: TQRDBText;

QRDBText3: TQRDBText;

QRDBText4: TQRDBText;

private
public
end;
var

QuickReport1: TQuickReport1;
implementation
uses datamod;
{$R *.DFM}
end.


Похожие:

Курсовая работа по дисциплине «Базы данных» тема «Создание базы данных вуза» iconКурсовая работа по Дисциплине: Базы данных Тема: Разработка реляционной базы данных
Необходимо разработать базу данных для web-сайта муниципального образования Фокинское сельское поселение Чайковского муниципального...
Курсовая работа по дисциплине «Базы данных» тема «Создание базы данных вуза» iconКурсовая работа по дисциплине «Базы Данных»
...
Курсовая работа по дисциплине «Базы данных» тема «Создание базы данных вуза» iconКурсовая работа по дисциплине “Базы данных” "Хранилища данных и технология olap"
Исходя из этого, все больше и больше внимания уделяется средствам реализации и построения систем аналитической обработки информации....
Курсовая работа по дисциплине «Базы данных» тема «Создание базы данных вуза» iconКонтрольная работа по теме «Базы данных. Создание таблиц и форм в режиме Конструктор»

Курсовая работа по дисциплине «Базы данных» тема «Создание базы данных вуза» iconКурсовая работа
Цель работы: Разработать программное обеспечения базы данных в соответствии с зада­
Курсовая работа по дисциплине «Базы данных» тема «Создание базы данных вуза» iconКурсовая работа выполняется по актуальным вопросам систем обработ
...
Курсовая работа по дисциплине «Базы данных» тема «Создание базы данных вуза» iconУчебно-тематический план программы профессиональной переподготовки
Создание, редактирование и использование базы данных, анализ ценообразующих характеристик объекта оценки и среды его обитания. Практика...
Курсовая работа по дисциплине «Базы данных» тема «Создание базы данных вуза» iconМетодические указания к выполнению контрольных, курсовых работ По дисциплине Базы данных Для специальности 080801. 65 «Прикладная информатика в экономике»
Базы данных : методические указания и задания к выполнению курсовой работы для студентов специальности «Прикладная информатика (в...
Курсовая работа по дисциплине «Базы данных» тема «Создание базы данных вуза» iconМетодические указания по выполнению курсовой работы по дисциплине «структуры и алгоритмы обработки данных»
Курсовая работа по дисциплине "Структуры и алгоритмы обработки данных" предполагает закрепление полученных теоретических знаний по...
Курсовая работа по дисциплине «Базы данных» тема «Создание базы данных вуза» iconОтчет по курсовой работе «Проектирование и разработка базы данных о театрах средствами субд mysql»
В качестве программного приложения использовалась Система управления реляционными базами данных Mysql. Для создания интерфейса использовался...
Разместите кнопку на своём сайте:
TopReferat


База данных защищена авторским правом ©topreferat.znate.ru 2012
обратиться к администрации
ТопРеферат
Главная страница