У вас вопросы?
У нас ответы:) SamZan.net

на тему- Разработка прикладной информационной системы Соревнования по многоборью

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 28.12.2024

Министерство Образования и Науки РФ

Рязанский Государственный Радиотехнический университет

РГРТУ

Кафедра ИБ

К защите

Руководитель проекта

___________________

дата,подпись

Пояснительная записка к курсовой работе

по дисциплине

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

на тему:

«Разработка прикладной информационной системы «Соревнования по многоборью».

Выполнила студентка группы                                  ____________________

                                                                                дата сдачи на проверку, подпись

Руководитель

                                                            _________          _____________________

     оценка дата защиты, подпись

Рязань 2014

Оглавление

[1] Оглавление

[2] Введение

[3] Задание на курсовое проектирование и исходные данные

[3.1]  Описание предметной области «Спортивные соревнования»

[3.2] Вариант задания

[4] Проектирование концептуальной и логической модели данных

[4.1]  Анализ предметной области

[4.2] Определение сущностей и связей

[4.3] Построение ER – диаграммы

[4.4] Формирование  отношений

[4.5] Добавление не вошедших в ER – диаграмму атрибутов

[4.6] Распределение атрибутов по отношениям

[4.7] Нормализация отношений

[5]  Проектирование физической модели данных

[5.1]  Структура базы данных

[5.2] Создание таблиц базы данных

[6] Разработка SQL запросов к базе данных

[7] Описание работы клиентского приложения

[7.1] Выбор среды программирования

[7.2]  Разработка клиентского приложения

[7.3] Тестирование приложения

[8] Литература

[9] Приложение


Введение

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

Целью данного курсового проекта является приобретение навыков в области разработки прикладных информационных систем.

Для создания программной клиентской части используется среда разработки Delphi 7, для создания базы данных – MS SQL SERVER 2008.

Microsoft SQL Server  система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact–SQL. Используется для работы с небольшими и средними по размеру базами данных, а также крупными базами данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.

  1.  Задание на курсовое проектирование и исходные данные
    1.   Описание предметной области «Спортивные соревнования»

В выданном задании к курсовому проекту описывается предметная область  – спортивные соревнования.

Разработанная база данных должна хранить информацию о соревнованиях по многоборью. Спортсмены выступают в нескольких вида спорта, показывая определенные результаты. Каждый результат для данного вида спорта (метры, секунды и проч.) пересчитывается в очки, и победитель определяется по наибольшей сумме очков. Особенность этой проблемной области заключается в том, что для пересчета результатов в очки используются диапазоны результатов. Например, для бега на 100 м таблица пересчета может быть следующей:

менее 11.0 с  - 5 очков;

от 11.0 до 11.5 с  - 4 очка;

от 11.5 до 12.0 с  - 3 очка;

от 12.0 до 12.5 с  - 2 очка;

от 12.5 до 13.5 с  - 1 очко;

более 13.5 с  - 0 очков.

В связи с этим атрибут Результат в таблице пересчет участвует дважды: как РезультатОт и как РезультатДо.

  1.  Вариант задания

Вывести информацию о спортсменах и набранных ими очках по видам спорта.

  1.  Проектирование концептуальной и логической модели данных
    1.   Анализ предметной области

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

  1.  вывод информации о спортсменах;
  2.  вывод информации о видах спорта;
  3.  вывод таблицы пересчета;
  4.  вывод результатов спортсменов
  5.  вывод набранных очков и информации о каждом спортсмене по видам спорта.

В базе данных необходимо хранить следующую информацию:

  1.  фамилию каждого спортсмена и его порядковый номер;
  2.  наименование вида спорта и его порядковый номер;
  3.  в таблице пересчета такие значения как РезультатОТ и РезультатДО и количество очков соответственно;
  4.  результат каждого спортсмена по каждому виду спорта;
  5.  систему мер, то есть в чем измеряются значения результатов (метры, секунды и проч.).

  1.  Определение сущностей и связей

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

Таблица  – Набор сущностей

Сущность

Ключевой атрибут

Описание

Спортсмен

Номер спортсмена

Участник соревнования

Спорт

Номер вида спорта

Вид спорта, в котором соревнуются спортсмены

Результат

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

Результат в метрах, секундах и прочее

Очки

Номер вида спорта, результат

Количество очков по показанным результатам

Выделим следующие связи между  сущностями:

  1.  каждый спортсмен может участвовать в нескольких видах спорта;
  2.  в каждом виде спорта могут соревноваться несколько спортсменов;
  3.  каждый спортсмен может показывать только один результат для каждого вида, не являющегося уникальным;
  4.  каждый спортсмен по каждому виду спорту и показанному результату может иметь одно количество очков, не являющееся уникальным.

  1.  Построение ER – диаграммы

ER-диаграмма классов имеет следующий вид:

  1.  каждый спортсмен может участвовать в нескольких видах спорта (рисунок 1):

Рисунок 1 – Связь классов сущностей «Спортсмен» и «Вид спорта»

Таким образом  связь между классами сущностей «Спортсмены» и «Вид спорта»  1:N (один ко многим). Спортсмен может существовать без результата, результат без спортсмена нет.

  1.  в каждом виде спорта могут соревноваться несколько спортсменов, а следовательно для каждого вида спорта может существовать некоторое количество результатов (рисунок 2):

Рисунок 2 – Связь классов сущностей «Вид спорта» и «Результат»

Таким образом  связь между классами сущностей «Вид спорта» и «Результат»  1:N (один ко многим).

  1.   результаты по каждому виду спорта могут быть пересчитаны в число очков и они являются уникальными для каждого вида спорта и диапазона результатов (рисунок 3):

Рисунок 3 – Связь классов сущностей «Результат» и «Очки»

Таким образом  связь между классами сущностей «Результат» и «Очки»  1:1 (один к одному).

  1.  Формирование  отношений

Исходя из построенных ER-диаграмм получим следующие отношения:

  1.  «Спортсмены» (ID_Sportsmen, Фамилия спортсмена);
  2.  «Виды спорта» (ID_Sport, Вид спорта);
  3.  «Участие» (ID_Sportsmen, ID_Sport, Результат);
  4.  «Пересчет» (ID_Sport, РезультатОТ, РезультатДО, Очки).

  1.  Добавление не вошедших в ER – диаграмму атрибутов

Как было уже выше сказано результаты, которые показывают спортсмены могут соответствовать различным видам спорта. Поэтому целесообразно указать единицы измерения для каждого вида спорта. За этим включим дополнительный атрибут «Единицы измерения». Перечислим все атрибуты, которые будут добавлены в отношениям:

  1.  ID_Sportsmen  (№  спортсмена по порядку);
  2.  фамилия ;
  3.  ID_Sport (№ вида спорта);
  4.  вид спорта;
  5.  результат;
  6.  результатОТ;
  7.  результатДО;
  8.  очки;
  9.  единицы измерения.

  1.  Распределение атрибутов по отношениям

Рассмотренные выше атрибуты добавляются к отношениям следующим образом:

  •  «Спортсмены» (ID_Sportsmen, Фамилия спортсмена);
  •  «Виды спорта» (ID_Sport, Вид спорта);
  •  «Участие» (ID_Sportsmen, ID_Sport, Результат);
  •  «Пересчет» (ID_Sport, РезультатОТ, РезультатДО, Очки);
  •  «Система мер» (ID_Sport, Единицы измерения).

  1.  Нормализация отношений

Для начала дадим определения для каждой нормальной формы.

Отношения находятся в первой нормальной форме (1НФ), если на пересечении каждой строки и каждого столбца находится одно значение.

Отношения находятся во второй нормальной форме (2НФ), если они находятся в 1НФ и все неключевые атрибуты функционально полно зависят от потенциального ключа. Другими словами, отношения находятся в 2НФ, если отсутствуют частичные функциональные зависимости.

Отношения находятся в третьей нормальной форме (3НФ), если они находятся в 2НФ,  и в них нет транзитивных зависимостей неключевых атрибутов от любого потенциального ключа.

Отношения находятся в БКНФ, т. к. в них существует единственный потенциальный ключ, который является детерминантом всех функциональных зависимостей.

Отношения находятся в четвёртой нормальной форме (4НФ), если она находится в нормальной форме Бойса — Кодда и не содержит нетривиальных многозначных зависимостей.

Отношения находятся в пятой нормальной форме (5НФ) (иначе — в проекционно-соединительной нормальной форме) тогда и только тогда, когда каждая нетривиальная зависимость соединения в ней определяется потенциальным ключом (ключами) этого отношения.

Теперь рассмотрим отношение «Спортсмены». Построим диаграмму функциональной зависимости в данном отношении (рисунок 5):

Рисунок 5 – Функциональная зависимость в отношении «Спортсмены»

Проверим отношение «Спортсмены» на соответствие нормальным формам. Отношение удовлетворяет первой нормальной форме (1НФ), т.к. на пересечении каждой строки и каждого столбца находится одно значение. Отношение «Спортсмены» также удовлетворяет условиям второй нормальной формы (2НФ), т.к. видно, что оно находятся в 1НФ и все неключевые атрибуты (Фамилия) функционально полно зависят от потенциального ключа(ID_Sportsmen).

Проверим отношение «Спортсмены»  на соответствие третьей нормальной форме (3НФ), т.к. оно находятся в 2НФ,  и в нем нет транзитивных зависимостей неключевых атрибутов от любого потенциального ключа. М

Можно сделать вывод, что данное отношение находится в 3НФ и в дальнейшей нормализации не нуждается.

Рассмотрим отношение «Виды спорта». Построим диаграмму функциональной зависимости в данном отношении (рисунок 6):

Рисунок 6– Функциональная зависимость в отношении «Виды спорта»

Проверим отношение «Виды спорта» на соответствие нормальным формам. Отношение удовлетворяет первой нормальной форме (1НФ), т.к. на пересечении каждой строки и каждого столбца находится одно значение. Отношение «Виды спорта» также удовлетворяет условиям второй нормальной формы (2НФ), т.к. видно, что оно находятся в 1НФ и все неключевые атрибуты (Вид спорта) функционально полно зависят от потенциального ключа(ID_Sport).

Проверим отношение «Спортсмены»  на соответствие третьей нормальной форме (3НФ), т.к. оно находятся в 2НФ,  и в нем нет транзитивных зависимостей неключевых атрибутов от любого потенциального ключа.

Можно сделать вывод, что данное отношение находится в 3НФ и в дальнейшей нормализации не нуждается.

Рассмотри отношение «Участие». Построим диаграмму функциональной зависимости в данном отношении (рисунок 7):

Рисунок 7 – Функциональная зависимость в отношении «Участие»

Проверим отношение «Участие» на соответствие нормальным формам. Отношение удовлетворяет первой нормальной форме (1НФ), т.к. на пересечении каждой строки и каждого столбца находится одно значение. Отношение «Участие» также удовлетворяет условиям второй нормальной формы (2НФ), т.к. видно, что оно находятся в 1НФ и все неключевые атрибуты (Результат) функционально полно зависят от потенциального ключа(ID_Sport,ID_Sportsmen).

Проверим отношение «Участие»  на соответствие третьей нормальной форме (3НФ), т.к. оно находятся в 2НФ,  и в нем нет транзитивных зависимостей неключевых атрибутов от любого потенциального ключа.

Можно сделать вывод, что данное отношение находится в 3НФ и в дальнейшей нормализации не нуждается.

Рассмотрим отношение «Пересчет». Построим диаграмму функциональной зависимости в данном отношении (рисунок 8):

Рисунок 8 – Функциональная зависимость в отношении «Пересчет»

Проверим отношение «Участие» на соответствие нормальным формам. Отношение удовлетворяет первой нормальной форме (1НФ), т.к. на пересечении каждой строки и каждого столбца находится одно значение. Отношение «Пересчет» также удовлетворяет условиям второй нормальной формы (2НФ), т.к. видно, что оно находятся в 1НФ и все неключевые атрибуты (Результат) функционально полно зависят от потенциального ключа(ID_Sport,РезультаОТ,РезультатДО).

Проверим отношение «Пересчет»  на соответствие третьей нормальной форме (3НФ), т.к. оно находятся в 2НФ,  и в нем нет транзитивных зависимостей неключевых атрибутов от любого потенциального ключа.

Можно сделать вывод, что данное отношение находится в 3НФ и в дальнейшей нормализации не нуждается.

Рассмотрим отношений «Система мер». Построим диаграмму функциональной зависимости в данном отношении (рисунок 9):

Рисунок 9 – Функциональная зависимость в отношении «Пересчет»

Проверим отношение «Участие» на соответствие нормальным формам. Отношение удовлетворяет первой нормальной форме (1НФ), т.к. на пересечении каждой строки и каждого столбца находится одно значение. Отношение «Пересчет» также удовлетворяет условиям второй нормальной формы (2НФ), т.к. видно, что оно находятся в 1НФ и все неключевые атрибуты (Результат) функционально полно зависят от потенциального ключа(ID_Sport,РезультаОТ,РезультатДО).

Проверим отношение «Пересчет»  на соответствие третьей нормальной форме (3НФ), т.к. оно находятся в 2НФ,  и в нем нет транзитивных зависимостей неключевых атрибутов от любого потенциального ключа.

Можно сделать вывод, что данное отношение находится в 3НФ и в дальнейшей нормализации не нуждается.

Таким образом все построенные отношения нормализованы по третей нормально  форме.

  1.   Проектирование физической модели данных
    1.   Структура базы данных

На рисунке 10 покажем структуру разработанной базы данных "Соревнования по многоборью".

Рисунок 10 – Структура базы данных

На это схеме также показаны связи между таблицами базы данных и их первичные ключи.

  1.  Создание таблиц базы данных

В разработанной базе данных, как видно из рисунка 20, используется несколько таблиц. Рассмотрим структуры каждой таблицы более подробно с описанием полей.  

Таблица  – Таблица "Спортсмены"

Ключ

Атрибут

Тип атрибута

Первичный

ID_Sportsmen

int

Фамилия

nvarchar(50)

Таблица 3 – Таблица "Виды спорта"

Ключ

Атрибут

Тип атрибута

Первичный

ID_Sport

int

Виды спорта

nvarchar(50)

Таблица 4 – Таблица "Система мер"

Ключ

Атрибут

Тип атрибута

Первичный

ID_Sport

int

Единицы измерения

Nvarchar(50)

Таблица 5 – Таблица "Пересчет"

Ключ

Атрибут

Тип атрибута

Внешний 1

ID_Sport

int

Первичный 1

РезультатОТ

float

Первичный 2

РезультатДО

float

Кол-во очков

int

Таблица 6 – Таблица "Участие"

Ключ

Атрибут

Тип атрибута

Внешний 1

ID_Sportsmen

int

Внешний 2

ID_Sport

int

Результат

float

  1.  Разработка SQL запросов к базе данных

В соответствие с заданием, указанном в пункте 1.2 был разработан следующий SQL-запрос:

SELECT [Виды спорта].[Вид спорта],

      Спортсмены.Фамилия,

      Участие.Результат,

      Пересчет.[Кол-во очков]

FROM Пересчет

 JOIN [Виды спорта] ON [Виды спорта].ID_Sport = Пересчет.ID_Sport

 JOIN Участие ON Участие.ID_Sport = [Виды спорта].ID_Sport

 JOIN Спортсмены ON Спортсмены.ID_Sportsmen = Участие.ID_Sportsmen

 WHERE (Участие.Результат >= Пересчет.[Результат ОТ (>=)]

       and Участие.Результат< Пересчет.[Результат ДО (<)])

       or (Участие.Результат >= Пересчет.[Результат ОТ (>=)]

       and Пересчет.[Результат ДО (<)]='0')

Рисунок 11 – Пример работы SQL-запрос

  1.  Описание работы клиентского приложения
    1.  Выбор среды программирования

 Клиентское приложение "Соревнования по многоборью" было разработано в среде программирования Delphi 7 на языке программирования Delphi.

  1.   Разработка клиентского приложения

 Разработка приложения "Соревнования по многоборью" была осуществлена с использование стандартных компонент Delphi. Для соединения с базой данных использовались такие компоненты как ADOConnection (непосредственно для подключения базы данных), ADOTable  и DateSource(для работы с таблицами базы данных), ADOQuery (для выполненияSQL запроса в приложении). В качестве запроса использовался статистический запрос  – текст запроса полностью формируется на этапе разработки приложения.

  1.  Тестирование приложения

 Для начала покажем нормальную работу приложения.  Перед запуском приложения на некоторое время появляется заставка следующего вида (рисунок 12):

Рисунок 12 – Заставка приложения

Далее открывается главное окно программы (рисунок 13):

Рисунок 13 – Главное окно программы

Использую панель меню можно просмотреть различные таблицы базы данных (рисунок 14):

Рисунок 14 – Пункт меню Таблицы

Двойным нажатием мыши по ячейке базы данных или вызовом из меню команды Редактировать (Файл –> Редактировать) открывается окно редактирования базы с возможностями изменения, сохранения, удаления записей базы данных, а также создания новой записи (рисунок 15):

Рисунок 16 – Форма редактирования содержимого базы данных

Теперь проверим работу нашего запроса в приложении. Для сортировки по видам спорта в окно вводу необходимо ввести нужный вид спорта учитывая регистр и нажать кнопку "Выполнить запрос" (рисунок 17):

Рисунок 17 – Выполнение запроса

Результат работы можно сравнить с результатом работы запроса, сформированного в MS SQL SERVER 2008 (рис. 11).

Если пользователь попытается ввести какие-то другие данные, то появится сообщение об ошибке следующего вида (рисунок 18):

Рисунок 18 – Сообщение об ошибке

  1.  Литература
  2.  ГОСТ 2.105 — 95. ЕСКД. «Общие требования к текстовым документам»
  3.  В. Фаронов  – Программирование баз данных в Delphi 7. Учебный курс, Питер 2006
  4.  А. Зубов – Программирование на DELPHI. Трюки и эффекты , Питер
  5.  Методические указания к курсовой работе по курсу СУБД, Калинкина Т. И.

  1.  Приложение

 unit SUBD;

interface

uses

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

 Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, DB, ADODB, Menus;

type

 TForm1 = class(TForm)            Panel2: TPanel;

   DBGrid1: TDBGrid;

   Panel3: TPanel;

   DBGrid2: TDBGrid;

   MainMenu1: TMainMenu;

   N1: TMenuItem;

   N2: TMenuItem;

   N3: TMenuItem;

   N5: TMenuItem;

   N6: TMenuItem;

   N8: TMenuItem;

   N9: TMenuItem;

   Panel1: TPanel;

   Edit1: TEdit;

   Button1: TButton;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   N4: TMenuItem;

   Label4: TLabel;

   N7: TMenuItem;

   N10: TMenuItem;

   N11: TMenuItem;

   N12: TMenuItem;

   procedure N2Click(Sender: TObject);

   procedure N8Click(Sender: TObject);

   procedure N9Click(Sender: TObject);

   procedure N6Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure N4Click(Sender: TObject);

   procedure N7Click(Sender: TObject);

   procedure N10Click(Sender: TObject);

   procedure N11Click(Sender: TObject);

   procedure N12Click(Sender: TObject);

   procedure DBGrid1DblClick(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

uses DM, Editor;

{$R *.dfm}

procedure TForm1.N2Click(Sender: TObject);

begin

close;

end;

procedure TForm1.N8Click(Sender: TObject);

begin

DBGrid1.DataSource:=fDM.DSSportsmen;

end;

procedure TForm1.N9Click(Sender: TObject);

begin

DBGrid1.DataSource:=fDM.DSCount;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

DBGrid1.DataSource:=fDM.DSSports;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

DBGrid1.DataSource:=fDM.DSSM;

end;

procedure TForm1.N10Click(Sender: TObject);

begin

DBGrid1.DataSource:=fDM.DSParticipation;

end;

procedure TForm1.N6Click(Sender: TObject);

var R:Word;

begin

R:=MessageDLG('Курсовой проект по дисциплине'+#13#10#13#10+'СУБД'+#13#10#13#10+'Разработчик Старкова И.А.'+#13#10#13#10+'Рязань 2014',mtInformation,[mbOK],0);

end;

procedure TForm1.Button1Click(Sender: TObject);

var R:Word; s1:string; i:integer; p:boolean;

begin

fDM.TSports.First;

p:=false;

for i:=1 to fDM.TSports.RecordCount do

 begin

  s1:=fDM.TSports.FieldByName('Вид спорта').asString;

  if Edit1.Text = s1

   then

    begin

     p:=true;

     fDM.ADOQuery2.Close;

     fDM.ADOQuery2.Parameters.ParamByName('name').Value :=Edit1.Text;

     fDM.ADOQuery2.Open;

    end

   else

  fDM.TSports.Next;

 end;

if p=false then R:=MessageDLG('Такой вид спорта не зарегистрирован',mtError,[mbYes],0);

end;

procedure TForm1.N11Click(Sender: TObject);

begin

fDM.TSportsmen.Append;

fDM.TSports.Append;

fDM.TSM.Append;

fDM.TParticipation.Append;

fDM.TCount.Append;

fEditor.ShowModal;

end;

procedure TForm1.N12Click(Sender: TObject);

begin

 fEditor.ShowModal;

end;

procedure TForm1.DBGrid1DblClick(Sender: TObject);

begin

 fEditor.ShowModal;

end;

end.

unit DM;

interface

uses

 SysUtils, Classes, DB, ADODB;

type

 TfDM = class(TDataModule)

   ADOConnection1: TADOConnection;

   DSSportsmen: TDataSource;

   DSSports: TDataSource;

   DSCount: TDataSource;

   DataSource2: TDataSource;

   ADOQuery2: TADOQuery;

   TParticipation: TADOTable;

   TSM: TADOTable;

   DSParticipation: TDataSource;

   DSSM: TDataSource;

   TSportsmen: TADOTable;

   TSports: TADOTable;

   TCount: TADOTable;

   TSportsmenID_Sportsmen: TIntegerField;

   TSportsmenDSDesigner: TWideStringField;

   TParticipationID_Sport: TIntegerField;

   TParticipationID_Sportsmen: TIntegerField;

   TParticipationDSDesigner: TFloatField;

   TSportsID_Sport: TIntegerField;

   TSportsDSDesigner: TWideStringField;

   TCountID_Sport: TIntegerField;

   TCountDSDesigner: TFloatField;

   TCountDSDesigner2: TFloatField;

   TCountDSDesigner3: TIntegerField;

   ADOQuery2ID_Sport: TIntegerField;

   ADOQuery2DSDesigner: TWideStringField;

   ADOQuery2DSDesigner2: TWideStringField;

   ADOQuery2DSDesigner3: TFloatField;

   ADOQuery2DSDesigner4: TIntegerField;

   TSMID_Sport: TIntegerField;

   TSMDSDesigner: TWideStringField;

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 fDM: TfDM;

implementation

uses SUBD;

{$R *.dfm}

end.

unit Editor;

interface

uses

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

 Dialogs, StdCtrls, Mask, DBCtrls, ExtCtrls;

type

 TfEditor = class(TForm)

   GroupBox1: TGroupBox;

   GroupBox2: TGroupBox;

   GroupBox3: TGroupBox;

   GroupBox4: TGroupBox;

   GroupBox5: TGroupBox;

   DBEdit1: TDBEdit;

   DBEdit2: TDBEdit;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   DBEdit3: TDBEdit;

   DBEdit4: TDBEdit;

   DBEdit5: TDBEdit;

   DBEdit6: TDBEdit;

   Label5: TLabel;

   Label6: TLabel;

   Label7: TLabel;

   DBEdit7: TDBEdit;

   Label8: TLabel;

   DBEdit8: TDBEdit;

   Label9: TLabel;

   DBEdit9: TDBEdit;

   DBEdit10: TDBEdit;

   DBEdit11: TDBEdit;

   DBEdit12: TDBEdit;

   DBEdit13: TDBEdit;

   Label10: TLabel;

   Label11: TLabel;

   Label12: TLabel;

   Label13: TLabel;

   Button1: TButton;

   Button2: TButton;

   DBNavigator1: TDBNavigator;

   DBNavigator2: TDBNavigator;

   Label14: TLabel;

   Label15: TLabel;

   DBNavigator3: TDBNavigator;

   DBNavigator4: TDBNavigator;

   DBNavigator5: TDBNavigator;

   Label16: TLabel;

   Label17: TLabel;

   Label18: TLabel;

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 fEditor: TfEditor;

implementation

uses DM;

{$R *.dfm}

procedure TfEditor.Button1Click(Sender: TObject);

begin

if fDM.TSportsmen.Modified then

   fDM.TSportsmen.Post;

if fDM.TSports.Modified then

   fDM.TSports.Post;

if fDM.TSM.Modified then

   fDM.TSM.Post;

if fDM.TParticipation.Modified then

   fDM.TParticipation.Post;

if fDM.TCount.Modified then

   fDM.TCount.Post;

close;

end;

procedure TfEditor.Button2Click(Sender: TObject);

begin

fDM.TSportsmen.Append;

fDM.TSports.Append;

fDM.TSM.Append;

fDM.TParticipation.Append;

fDM.TCount.Append;

 DBEdit1.SetFocus;

end;

end.

program SUBD1;

uses

 Forms,

 SUBD in 'SUBD.pas' {Form1},

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

 Editor in 'Editor.pas' {fEditor},

 Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

begin

 Application.Initialize;

 Form2 := TForm2.Create(Application);

 Form2.Show;

 Form2.Update;

 while Form2.Timer1.Enabled do

   Application.ProcessMessages;

 Application.CreateForm(TForm1, Form1);

 Application.CreateForm(TfDM, fDM);

 Application.CreateForm(TfEditor, fEditor);

  Form2.Hide;

 Form2.Free;

 Application.Run;

end.

unit Unit2;

interface

uses

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

 Dialogs, ExtCtrls, jpeg;

type

 TForm2 = class(TForm)

   Timer1: TTimer;

   Image1: TImage;

   procedure Timer1Timer(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Timer1Timer(Sender: TObject);

begin

Timer1.Enabled := false;

end;

end.

PAGE   \* MERGEFORMAT 1


1     
   1                                 N

Спортсмен

Вид спорта

Участвует

1         1                                 N

Вид спорта

Результат

Имеет

1         1                                 1

Результат

Очки

Пересчитан  в

ID_Sportsmen

Фамилия

ID_Sport

Вид спорта

Результат

ID_Sport,

ID_Sportsmen

ID_Sport,

РезультатОТ,

РезультатДО

Результат

ID_Sport

Единицы измерения




1. БИЗНЕС 2004 ББК 65
2. Прогноз социально экономического развития Краснодарского края
3. Корабль невест - роман - Джоджо Мойес- Иностранка АзбукаАттикус; Москва; 2014 ISBN 9785389070738 Аннотация
4. методические рекомендации предназначены для использования в отделениях реабилитации реабилитированных и л
5. Особенности ответственности у мужчин со страхом интимности
6. Моно и дизиготные близнецы
7. на тему- Методы планирования персонала и виды планов по персоналу Студент- Шершакова Т
8. участниками. Преемница в политическом организационном и юридическом отношениях Организации европейского э
9. на тему Как компьютер помогает в учебе
10. Введение3 I РОЛЬ И ЗНАЧЕНПИЕ МОТИВАЦИИ ТИПЫ МОТИВАЦИЙ
11. Повторнородящая 32 г
12. Основные пути снижения издержек при осуществлении процесса хранения продукции
13.  20 р
14. лекция и др.В научных работах основной тип речи рассуждение доказательство
15. Тема 1 Університетська освіта як наука та система знань Відповідно до
16. темами капельного орошения ГЛАВА II
17. Сущность, основы организации и задачи учета оплаты труд
18. Тема Собственность права и формыЧастная индивидуальная собственность не предполагает
19. это период раскрытия природных способностей особых талантов и положительных черт характера человека
20. тема живлення карбюраторних двигунівРозділ- Технічні науки Система живлення карбюраторних двигунів Карб