Разработка приложения базы данных «Приемная комиссия»

В начале 1970-х годов в одной из исследовательских лабораторий компании IBM была разработана експериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL, позволяв ший относительно просто управлять данными в этой СУБД.

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

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

Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своїм тексты SQL-запросов, содержащие DDL и DML, когут бать достаточно легко перенесены из одной СУБД в другую.

Объектом данного курсовогопроекта является приложение работающие с базой данных«Приемная комиссия».

Целью данного курсового проекта ставится получение практических навыков разработка программ в бреде візуального программирования VisualStudio 2010 C# путем разработка приложения «Приемная комиссия».

Задачи курсового проекта:

  • Выполнить обоснование и разработать инфологическую модель
  • Разработать даталогическую модель базы данных
  • Определить базовые таблицы
  • Выполнить нормализацию таблиц
  • Определить ограничения целостности
  • Установить связи между таблицами
  • Разработать SQL — запросы
  • Спроектировать отчеты
  • Создать пользовательский интерфейс
  • Разработать программный продукт
  • Выполнить описание алгоритмов
  • Составить инструкцию пользователю

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

1. Обоснование и разработка инфологической модели

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

12 стр., 5575 слов

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

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

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

Программная система, предназначенная для Деятельности учебных заведений

Набор сущностей.

Абитуриент, Расписание, Регистрация, Факультет, Поток, Группы, Кафедра, Паспортные данные.

1) Сущность «Абитуриент» необходима для хранения и просмотра данных об поступающих абитуриентах.

2) Сущность «Расписание» необходима для хранения и просмотра данных о экзаменах и консультаций абитуриентов.

3) Сущность «Регистрация» необходима для хранения и просмотра данных о группах и потоках.

4) Сущность «Факультет» необходима для хранения и просмотра данных о факультете.

5) Сущность «Поток» необходима для хранения и просмотра данных о потоке.

6) Сущность «Группы» необходима для хранения и просмотра данных о группе.

7) Сущность «Кафедра» необходима для хранения и просмотра данных о кафедре.

8) Сущность «Паспортные данные» необходима для хранения и просмотра данных о паспорте абитуриента.

Атрибуты:

Абитуриент. Атрибуты: IDАбитуриента, Фамилия, Имя, Отчество, Паспортные данные, Учебное заведение, Год окончания, Наличие золотой медали, Номер аттестата, Оценка за экзамен.

Расписание. Атрибуты: IDПредмет, Номер абитуриента, Название предмета, Номер потока, Занятия, Дата.

Регистрация. Атрибуты: IDРегистрация, IDАбитуриента Номер группы, Номер потока, Название кафедры, Название факультета.

Факультет. Атрибуты: IDФакультета, Название факультета.

Поток. Атрибуты: IDПотока, Количество групп.

Группы. Атрибуты: IDГруппы, Название группы.

Кафедра. Атрибуты: IDКафедра, Название кафедры.

Паспортные данные. Атрибуты: IDПаспорта, Кем выдан, Когда выдан, Номер, Серия.

Рисунок 1 ER-диаграмма

2. Обоснование выбора СУБД и программного обеспечения

База данных (БД) — это совокупность специальным образом организованных данных хранимых в памяти вычислительной системы отображающих состояние объектов и их взаимосвязи в рассматриваемой предметной области.

Предметной областью называется часть реальной системы, представляющая интерес для определенного исследования. Различать полную предметную область (предприятие) и организационную единицу этой предметной области (отделы).

Основные термины.

Объект — термин, обозначающий факт, лицо, событие, предмет, о котором могут быть собраны данные (каждая таблица представляет один объект);

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

Таблица базы данных (table) — регулярная структура, которая состоит из однотипных строк (записей, records), разбитых на столбцы (поля, fields).

В теории реляционных баз данных синоним таблицы — отношение (relation), в котором строка называется кортежем, а столбец называется атрибутом.

В концептуальной модели реляционной БД аналогом таблицы является сущность (entity), с определенным набором свойств — атрибутов, способных принимать определенные значения (набор допустимых значений — домен).

Ключевой элемент таблицы (ключ, regularkey) — такое ее поле (простой ключ) или строковое выражение, образованное из значений нескольких полей (составной ключ), по которому можно определить значения других полей для одной или нескольких записей таблицы. На практике для использования ключей создаются индексы — служебная информация, содержащая упорядоченные сведения о ключевых значениях. В реляционной теории и концептуальной модели понятие «ключ» применяется для атрибутов отношения или сущности.

9 стр., 4451 слов

Документация, необходимая для получения разрешения на строительство

... работе мы поговорим более подробно о документации, необходимой для разрешения на строительство. 1. Документация, необходимая для получения разрешения на строительство Согласно п. 2 ст. 48 <garantF1://12038258.4802> ГрК ... и земельных участков в их пределах, подготовки данных по обоснованию материалов, необходимых для территориального планирования, планировки территории и архитектурно- ...

Первичный ключ (primarykey) — главный ключевой элемент, однозначно идентифицирующий строку в таблице. Могут также существовать альтернативный (candidatekey) и уникальный (uniquekey) ключи, служащие также для идентификации строк в таблице.

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

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

Связь (relation) — функциональная зависимость между объектами. В реляционных базах данных между таблицами устанавливаются связи по ключам, один из которых в главной (parent, родительской) таблице — первичный, второй — внешний ключ — во внешней (child, дочерней) таблице, как правило, первичным не является и образует связь «один ко многим» (1:N).

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

Информация о связях сохраняется в базе данных.

Внешний ключ (foreignkey) — ключевой элемент подчиненной (внешней , дочерней)

Для работы с БД используются системы управления базами данных

(СУБД).

СУБД — комплекс языковых и программных средств, предназначенных для создания, ведения и совместного использования БД несколькими пользователями. СУБД позволяет: создавать БД; вставлять, обновлять, удалять и извлекать информацию из БД; предоставляет контролируемый доступ к базе данных.

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

SQL — это стандартный язык доступа и управления базами данных (БД).

Язык структурированных запросов — это универсальный язык для создания, модификации и управления информацией, которая входит в состав реляционных баз данных.

Первоначально SQL был основным способом работы с данными. С помощью него пользователь мог выполнять следующие действия: создание новой таблицы в базе данных (БД); добавление новых записей в существующие таблицы; редактирование записей; полное удаление записей; выбор записи из разных таблиц, в соответствии с заданными условиями; изменение вида и структур одной или нескольких таблиц.

По мере своего развития, SQL сильно преобразился и обогатился новыми полезными функциями, в результате чего, все больше стал походить на настоящий язык программирования. На сегодняшний день, SQL — это единственный механизм, который способен связать прикладное программное обеспечение и базу данных. Вот, что такое SQL. SQL обладает несколькими видами запросов.

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

Немного о преимуществах и недостатках данной системы работы с данными. Преимущества SQL Независимость от существующей в данной системе СУБД. Тексты SQL являются универсальными для многих СУБД.

Однако это правило распространяется на простые задачи, связанные с обработкой данных в таблицах. Наличие стандартов SQL способствует «стабилизации» языка. Декларативность. Это преимущество заключается в том, что при работе с данными, программист выбирает только ту информацию, которая должна быть изменена или модифицирована. То, каким образом это будет сделано, в автоматическом режиме решается на программном уровне самой СУБД. Недостатки SQL SQL не соответствует реляционной модели построения данных. В этом плане, SQL замещает язык Tutorial D, который является истинно реляционным.

Сложность SQL определяет его предназначение. Язык настолько сложен, что им может пользоваться только программист. Хотя изначально он задумывался как средство управления, с которым будет работать обычный пользователь.

На современном рынке средств разработки ИС достаточно много систем, в той или иной степени удовлетворяющих перечисленням требованиям. CASE-средства ERwin и BPwin, разработанные фирмой PLATINUM, входят в число лучших на сегодняшний день.

ERwin — средство разработка структуры базы данных (БД).

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

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

C# (произносится «си шарп») — объектно-ориентированный язык программирования. Разработан в 1998—2001 годахгруппой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеетстатическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

Переняв многое от своих предшественников — языков C++, Pascal, Модула, Smalltalk и, в особенности, Java — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от C++ не поддерживает множественное наследование классов (между тем допускается множественное наследование интерфейсов).

C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL.

Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем (однако, эта закономерность была нарушена с выходом C# 3.0, представляющего собой расширения языка, не опирающиеся на расширения платформы .NET).

3. Разработка даталогической модели базы данных

3.1 Определение базовых таблиц

Каждую сущность необходимо преобразовать в таблицу.

Таблица Абитуриент: предназначена для хранения информации о поступающем абитуриенте . , Таблица Расписание: предназначена для хранения информации о экзаменах и консультации. , Таблица Регистрация: предназначена для хранения информации о номерах групп и потоков. , Таблица Паспортные данные: предназначена для хранения информации о паспорте абитуриента. , Таблица Факультет: предназначена для хранения информации о факультетах. , Таблица Поток: предназначена для хранения информации о потоках. , Таблица Группы: предназначена для хранения информации о группах. , Таблица Кафедра: предназначена для хранения информации о кафедре. , Таблица Оценки: предназначена для хранения информации о оценках абитуриентов.

3.2 Выполнение нормализации таблиц

Нормализация — процесс уменьшения избыточности информации в таблицах реляционной БД и , как следствие, построения оптимальной структуры таблиц и связей.

Нормализация — это разбиение таблицы на две или более обладающих лучшими свойствами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта БД, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации. Это делается не только с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных.

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

Таблица 1 Абитуриент

Содержание поля

Имя поля

КодАбитуриента

IDАбитуриента

Фамилия

Фамилия

Имя

Имя

Отчество

Отчество

ПаспортныеДанные

IDПаспорта

Учебное заведени

Учебное заведение

Год Окончания

Год Окончания

Оценка за экзамен

ОценкаЗаЭкзамен

Наличие золотой медали

Наличие золотой медали

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

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

1НФ. Таблица 1 удовлетворяет требованиям, т.к. каждая ячейка в таблице содержит атомарное значение

2НФ. Таблица 1 удовлетворяет условию, т.к. все поля зависят от ключевого поля и выполняется условия 1НФ.

3НФ. Таблица 1 удовлетворяет условию, т.к. каждое ключевое поле не зависит от других не ключевых полей.

Таблица 2 Расписание

Содержание поля

Имя поля

IDПредмета

IDПредмета

Название предмета

Название

Номер потока

Номер потока

Занятия

Занятия

Дата

Дата

1НФ. Таблица 2 удовлетворяет требованиям, т.к. каждая ячейка в таблице содержит атомарное значение

2НФ. Таблица 2 удовлетворяет условию, т.к. все поля зависят от ключевого поля и выполняется условия 1НФ.

3НФ. Таблица 2 удовлетворяет условию, т.к. каждое ключевое поле не зависит от других не ключевых полей.

Таблица 3 Регистрация

Содержание поля

Имя поля

IDРегистрация

IDРегистрация

НомерАбитуриента

IDАбитуриента

Номер группы

НомерГруппы

Номер потока

НомерПотока

Название кафедры

НазваниеКафедры

Название факультета

НазваниеФакультета

1НФ. Таблица 3 удовлетворяет требованиям, т.к. каждая ячейка в таблице содержит атомарное значение

2НФ. Таблица 3 удовлетворяет условию, т.к. все поля зависят от ключевого поля и выполняется условия 1НФ.

3НФ. Таблица 3 удовлетворяет условию, т.к. каждое ключевое поле не зависит от других не ключевых полей.

Таблица 4 Факультет

Содержание поля

Имя поля

IDФакультета

IDФакультета

Название факультета

НазваниеФакультета

1НФ. Таблица 4 удовлетворяет требованиям, т.к. каждая ячейка в таблице содержит атомарное значение

2НФ. Таблица 4 удовлетворяет условию, т.к. все поля зависят от ключевого поля и выполняется условия 1НФ.

3НФ. Таблица 4 удовлетворяет условию, т.к. каждое ключевое поле не зависит от других не ключевых полей.

Таблица 5 Поток

Содержание поля

Имя поля

IDПотока

IDПотока

Количество групп

КоличествоГрупп

1НФ. Таблица 5 удовлетворяет требованиям, т.к. каждая ячейка в таблице содержит атомарное значение

2НФ. Таблица 5 удовлетворяет условию, т.к. все поля зависят от ключевого поля и выполняется условия 1НФ.

3НФ. Таблица 5 удовлетворяет условию, т.к. каждое ключевое поле не зависит от других не ключевых полей.

Таблица 6 Группы

Содержание поля

Имя поля

IDГруппы

IDГруппы

Название группы

НазваниеГруппы

1НФ. Таблица 6 удовлетворяет требованиям, т.к. каждая ячейка в таблице содержит атомарное значение

2НФ. Таблица 6 удовлетворяет условию, т.к. все поля зависят от ключевого поля и выполняется условия 1НФ.

3НФ. Таблица 6 удовлетворяет условию, т.к. каждое ключевое поле не зависит от других не ключевых полей.

Таблица 7 Кафедра

Содержание поля

Имя поля

IDКафедры

IDКафедры

Название кафедры

НазваниеКафедры

1НФ. Таблица 7 удовлетворяет требованиям, т.к. каждая ячейка в таблице содержит атомарное значение

2НФ. Таблица 7 удовлетворяет условию, т.к. все поля зависят от ключевого поля и выполняется условия 1НФ.

3НФ. Таблица 7 удовлетворяет условию, т.к. каждое ключевое поле не зависит от других не ключевых полей.

Таблица 8 Паспортные данные

Содержание поля

Имя поля

IDПаспорта

IDПаспорта

Кем выдан

КемВыдан

Где выдан

ГдеВыдан

Серия

Серия

Номер

Номер

1НФ. Таблица 8 удовлетворяет требованиям, т.к. каждая ячейка в таблице содержит атомарное значение

2НФ. Таблица 8 удовлетворяет условию, т.к. все поля зависят от ключевого поля и выполняется условия 1НФ.

3НФ. Таблица 8 удовлетворяет условию, т.к. каждое ключевое поле не зависит от других не ключевых полей.

Таблица 9 Оценки

Содержание поля

Имя поля

IDОценки

IDОценки

Номер Абитуриента

IDАбитуриента

Номер Предмета

IDПредмета

Оценка

Оценка

1НФ. Таблица 8 удовлетворяет требованиям, т.к. каждая ячейка в таблице содержит атомарное значение

2НФ. Таблица 8 удовлетворяет условию, т.к. все поля зависят от ключевого поля и выполняется условия 1НФ.

3НФ. Таблица 8 удовлетворяет условию, т.к. каждое ключевое поле не зависит от других не ключевых полей.

3.3 Определение ограничения целостности

При разработке БД необходимо принимать во внимание правила обеспечения целостности данных (обеспечивает каскадное обновление записей в связанных таблицах)

При создании БД большое внимание должно быть уделено средствам поддержания данных в целостном состоянии. Рассмотрим предусмотренные стандартом языка SQL функции, которые предназначены для поддержания целостности данных. Эта поддержка включает средства задания ограничений, они вводятся с целью защиты базы данных от нарушения согласованности сохраняемых в ней данных. К таким типам поддержки целостности данных относятся:

  • Обязательные данные;
  • Ограничения для доменов полей;
  • Целостность сущностей;
  • Ссылочная целостность;
  • Требования конкретного предприятия;
  • Суррогатные первичные ключи: IDАбитуриента, IDПредмет, IDРегистрация, IDФакультета, IDПотока, IDГруппы, IDКафедры, IDПаспорта.

В БД «Приемная комиссия» в первую очередь заполняются таблицы:

Паспортные данные, Поток, Группы, Факультет, Кафедра.

В таблице «Абитуриент» находится 1 внешний ключ: IDПаспорта. Его мы подставляем из таблицы «Паспортные данные».

В таблице «Расписание» присутствуют 2 внешних ключа: IDПотока и IDАбитуриента. IDПотока мы подставляем из таблицы «Поток», а IDАбитуриента из таблицы «Абитуриент».

В таблице «Оценки» присутствуют 2 внешних ключа: IDПредмета и IDАбитуриента. IDПредмета мы подставляем из таблицы «Расписание», а IDАбитуриента из таблицы «Абитуриент».

В таблице «Регистрация» находятся 5 внешних ключей: IDПотока, IDГруппы, IDФакультета, IDКафедра, IDАбитуриента. IDПотока мы подставляем из таблицы «Поток», IDГруппы мы подставляем из таблицы «Группы», IDАбитуриента мы подставляем из таблицы «Абитуриент», IDФакультета мы подставляем из таблицы «Факультет», IDКафедры мы подставляем из таблицы «Кафедра».

Таблица 10 Абитуриент

Содержание поля

Имя поля

Тип, длина

Ограничения

КодАбитуриента

IDАбитуриента

int

Суррогатный первичный ключ

Фамилия

Фамилия

VChar(20)

Обязательное поле

Имя

Имя

VChar(20)

Обязательное поле

Отчество

Отчество

VChar(20)

Обязательное поле

ПаспортныеДанные

IDПаспорта

int

Внешний ключ к таблице «Паспортные данные»

Учебное заведение

Учебное заведение

VChar(20)

Обязательное поле

Год Окончания

Год Окончания

DATE

Обязательное поле

Наличие золотой медали

Наличие золотой медали

VChar(20)

Обязательное поле

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

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

NChar(20)

Обязательное поле

Таблица 11 Расписание

Содержание поля

Имя поля

Тип, длина

Ограничения

IDПредмета

IDПредмета

int

Суррогатный первичный ключ

Название предмета

Название

VChar(20)

Обязательное поле

Номер потока

IDПотока

int

Внешний ключ к таблице «Поток»

Занятия

Занятия

VChar(20)

Обязательное поле

Дата

Дата

DATE

Обязательное поле

Таблица 12 Регистрация

Содержание поля

Имя поля

Тип, длина

Ограничения

IDРегистрация

IDРегистрация

int

Суррогатный первичный ключ

НомерАбитуриента

IDАбитуриента

int

Внешний ключ к таблице «Абитуриент»

Номер группы

НомерГруппы

int

Внешний ключ к таблице «Группы»

Номер потока

НомерПотока

int

Внешний ключ к таблице «Поток»

Название кафедры

НазваниеКафедры

int

Внешний ключ к таблице «Кафедра»

Название факультета

НазваниеФакультета

int

Внешний ключ к таблице «Факультет»

Таблица 11 Факультет

Содержание поля

Имя поля

Тип, длина

Ограничения

IDФакультета

IDФакультета

int

Суррогатный первичный ключ

Название факультета

НазваниеФакультета

VChar(50)

Обязательное поле

Таблица 12 Поток

Содержание поля

Имя поля

Тип, длина

Ограничения

IDПотока

IDПотока

int

Суррогатный первичный ключ

Количество групп

КоличествоГрупп

VChar(10)

Обязательное поле

Таблица 13 Группы

Содержание поля

Имя поля

Тип, длина

Ограничения

IDГруппы

IDГруппы

int

Суррогатный первичный ключ

Название группы

НазваниеГруппы

VChar(50)

Обязательное поле

Таблица 14 Кафедра

Содержание поля

Имя поля

Тип, длина

Ограничения

IDКафедры

IDКафедры

int

Суррогатный первичный ключ

Название кафедры

НазваниеКафедры

VChar(50)

Обязательное поле

Таблица 15 Паспортные данные

Содержание поля

Имя поля

Тип, длина

Ограничения

IDПаспорта

IDПаспорта

int

Суррогатный первичный ключ

Кем выдан

КемВыдан

VChar(50)

Обязательное поле

Когда выдан

КогдаВыдан

date

Обязательное поле

Серия

Серия

NChar(10)

Обязательное поле

Номер

Номер

NChar(10)

Обязательное поле

Таблица 16 Оценки

Содержание поля

Имя поля

Тип, длина

Ограничения

IDОценки

IDОценки

int

Суррогатный первичный ключ

Номер Абитуриента

IDАбитуриента

int

Внешний ключ к таблице «Абитуриент»

Номер Предмета

IDПредмета

int

Внешний ключ к таблице «Расписание»

Оценка

Оценка

NChar(10)

Обязательное поле

3.4 Установление связи между таблицами

Отношения — это правила, поддерживаемые на уровне механизма реализации СУБД. Различают три типа отношений:

  • Отношение «один-к-одному»: для каждой строки в одной таблице существует не более одной строки связанной таблицы.
  • Отношение «один-ко-многим» одна таблица не содержит вообще или имеет набор связанных «дочерних» записей из другой таблице.

— Отношение «многие-ко-многим» для каждой строки в первой таблицы может существовать набор строк в другой таблице и наоборот, такая связь организуется, как правило, при помощи третьей связующей таблицы, содержащей значения первичных ключей обеих таблицы в качестве внешних ключей

№ связи

Родительская сущность

Дочерняя сущность

Тип связи

1

Абитуриент

Расписание

1:М

2

Паспортные данные

Абитуриент

1:1

3

Поток

Расписание

1:М

4

Кафедра

Регистрация

1:М

5

Факультет

Регистрация

1:М

6

Группы

Регистрация

1:М

7

Поток

Регистрация

1:М

8

Абитуриент

Регистрация

1:1

9

Абитуриент

Оценка

1:1

10

Предмет

Оценка

1:М

4. SQL — запросы

Запрос1 «Абитуриенты, сдавшие экзамен на 5»

Данный запрос при выполнении дает информацию обо всех абитуриентах, сдавших экзамен на 5:

Данные для этого запроса берутся из таблицы Абитуриент, Оценки.

В режиме SQL запрос выглядит так:

SELECT dbo.Расписание.Занятия, dbo.Расписание.Название, dbo.Оценки.Оценка, dbo.Абитуриент.Фамилия, dbo.Абитуриент.Имя, dbo.Абитуриент.Отчество

FROM dbo.Абитуриент INNER JOIN

dbo.Оценки ON dbo.Абитуриент.IDАбитуриента = dbo.Оценки.IDАбитуриента AND dbo.Абитуриент.IDАбитуриента = dbo.Оценки.IDАбитуриента INNER JOIN

dbo.Расписание ON dbo.Оценки.IDПредмета = dbo.Расписание.IDПредмета

WHERE (dbo.Оценки.Оценка = N’5′)

Запрос 2 «Абитуриенты проживающие в Новгородской области»

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

Данные для этого запроса берутся из таблицы Клиенты, Тренеры.

В режиме SQL запрос выглядит так:

SELECT Тренеры.Id_тренера, Тренеры.Фамилия_имя_тренера, Count(Клиенты.Id_клиента) AS Количество

FROM Тренеры INNER JOIN Клиенты ON Тренеры.Id_тренера = Клиенты.Id_тренера

GROUP BY Тренеры.Id_тренера, Тренеры.Фамилия_имя_тренера;

Запрос 3 «Клиенты должники»

Данный запрос при выполнении дает информацию клиентах должниках.

Данные для этого запроса берутся из таблицы Клиенты, Учет.

В режиме SQL запрос выглядит так:

SELECT Клиенты.Код_клиента, Учет.Произведена_оплата

FROM Клиенты INNER JOIN Учет ON Клиенты.Код_клиента = Учет.Код_клиента

WHERE (((Учет.Произведена_оплата)=No));

Запрос4 «Однотабличный подзапрос»

Данный запрос при выполнении дает информацию обо всех клиентах купивших абонемент в июне.

Данные для этого запроса берутся из таблицы Клиенты, Учет.

В режиме SQL запрос выглядит так:

SELECT Клиенты.Код_клиента, Клиенты.Фамилия, Клиенты.Имя

FROM Клиенты

WHERE (((Клиенты.Код_клиента) In (SELECT Учет.Код_клиента

FROM Учет

WHERE (Учет.Месяц)=»июнь»)));

5. Физическое проектирование

5.1 Создание пользовательского интерфейса

Рисунок 2Form 1. Программа написана на языке C#.

На первой форме располагаются следующие компоненты:

dataGridView- Отображает базу данных.

MenuStrip — Для открытия и редактирования таблиц.