В материале предлагаются поурочные разработки по теме "База данных - основа информационной системы" для 11 класса базового уровня обучения. Разработки даны для 6 учебных часов. Уроки ориентированы на проектную деятельность обучающихся, подразумевается самостоятельная домашняя работа обучающихся над проектами. Несомненно, как и любая проектная деятельность обучающихся, от преподавателя требуется доскональное знание материала этой области, для правильной помощи обучающимся при работе над проектами. Материал подготовлен на основе учебника для 10-11 класса Семакин (домашние задания ссылаются на него).

Скачать:


Предварительный просмотр:

Поурочные разработки по теме:

«База данных – основа информационной системы».

Информатика и ИКТ

11 класс

Учитель информатики и ИКТ

МБОУ СОШ №10

Алексеева Оксана Юрьевна

2012-2013 учебный год

Основные понятия:

Информационно-поисковая система (БД и СУБД); понятие информационных структур данных: реляционная (таблица), иерархическая (деревья) и сетевая; объекты базы данных: поле, з а пись, ключевое поле; форматы типов данных СУБД «MS Access» и ее и н терфейс.

Системный анализ. Инфологическая модель. Процесс создания структуры базы данных.

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

Понятие структуры базы данных.

Реда к тирование структуры базы данных: удаление поля, добавление нов о го поля; ввод данных; сохранение базы данных; форматирование базы данных; поиск/замена; сортировка; фильтрация и запрос; описание технологии создания отчета и формы.

Цели изучения темы:

  1. Образовательные:
  1. познакомить учащихся с понятиями: информационно-поисковая система, база данных, системный анализ и инфологическая модель, с классификацией БД;
  2. показать практическое применение теоретического материала;
  3. дать первоначальные умения по работе с системой управления базой данных Microsoft Access.
  1. Развивающие:
  1. развивать алгоритмическое мышление учащихся, развивать мировоззрение, то есть способствовать формированию взглядов на окружающий мир, на вклад человека в структурирование информации;
  2. развивать вкус к исследованию и поиску зависимостей;
  3. продолжить развитие таких познавательных процессов, как восприятие, внимание, память.
  1. Воспитательные:
  1. воспитывать устойчивый познавательный интерес к предмету информатика через показ практического применения темы;
  2. воспитывать такие качества личности, как активность, самостоятельность и аккуратность в работе;
  3. воспитывать у учащихся стремление к реализации себя в обществе.

Урок №1 База данных Microsoft Access

Элементы содержания: назначение БД, виды моделей данных, структура реляционной модели, СУБД. Практическая работа №1 «Знакомство с СУБД Microsoft Access».

Тип урока: урок изучения нового материала.

Вид урока: комбинированный.

Формы работы:

Оборудование:

  1. Схема № 1;
  2. Схема № 2;
  3. Схема № 3;
  4. Таблица №1;
  5. Листы с последовательностью построения структуры базы данных (по количеству учеников);
  6. Список классов школы;

ХОД УРОКА

I. Организационный момент. Приветствие учащихся.

Представьте себя в роли директора нашей школы. Смогли бы вы упомнить все сведения об успеваемости учащихся, общественной работе, поведении учеников. А домашний адрес, место работы родителей, состояние здоровья каждого ученика и т. д. Такая рутинная работа преследует каждого руководителя большого коллектива.
Кто из вас знает, а как раньше хранились данные о сотрудниках некоторого коллектива? (В картотеках: в виде выдвижных ящиков, где в алфавитном порядке стояли личные дела сотрудников).
С появлением компьютеров люди стали задумываться, а как бы занести в память компьютера данные и потом с ними работать (осуществлять поиск, дополнять и изменять сведения). Так были созданы специальные программы, которые позволяли осуществить все эти операции. Они получили название – информационно-поисковые системы. Сейчас они применяются во всех отраслях человеческой деятельности: в банках, магазинах, библиотеках и так далее. На уроке рассмотрим понятие информационно-поисковой системы, базы данных, основные элементы и виды баз данных, познакомимся с одной из систем управления базами данных – Microsoft Access.
II. Теоретическая часть.

Рассмотрим с вами ситуацию с руководителем большого коллектива. Каждый из вас, кто посещает библиотеку, знает, как приходится порой долго искать в каталоге необходимую книгу, особенно, если не знаешь точно название книги и автора.
Приведенные мной ситуации имеют много общего: в большом количестве данных мы ищем ту информацию, которая необходима в данный момент. В обеих ситуациях речь фактически идет о множестве однотипных объектов. Для каждого из этих объектов существенными являются значения лишь некоторых признаков.
Что вы считаете для учеников признаками? (Рост, фамилия, имя, отчество, адрес местожительства, год рождения и т. д.)
Для каждого ученика мы можем конкретизировать наши признаки и будем получать значения признаков.
Итак, поиск информации можно поручить компьютеру. Для этого были созданы программы – информационно-поисковые системы.

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

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

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

Рассмотрим схему № 1

Схема №1.

компоненты

организация

Иерархические Сетевые Реляционные

DBIG,

IDS RUC, SQL/DS, DB2,

IMS, OKA Банк, Сетор, DBASE, KAPAT,

Сеть, FOXBASE, RBASE,

Сиод PARADOX, Clarion

– Итак, мы рассмотрели понятия информационно-поисковая система, база данных, СУБД.

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

1, 3, 5; ТУ-154; Тюмень; 4, 7; Москва; 8-40; АН-24; Ижевск; 16-20; ТУ-134;320; 308; 3107; 17-35; 1, 3, 5, 7.

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

Рассматриваем таблицу №1

Таблица №1.

Аэропорт

назначения

Номер

рейса

Тип

самолета

Дни

отправления

Время

Отправления

Москва

ТУ-154

1,3,5

16-20

Ижевск

АН-24

17-35

Тюмень

3107

Ту-134

1,3,5,7

8-40

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

Схема №2.

На схеме № 2 представлен другой вид структурированной информации. Отображена информация о структуре института.
Дерево на этой схеме содержит три типа объектов: институт, факультет, кафедра. Каждый из этих объектов также описывается своими признаками, например: институт (название, адрес, ректор); факультет (название, количество студентов, декан); кафедра (название, количество преподавателей, заведующий кафедрой).
База данных, поддерживающая структуру в виде дерева называется иерархической (записать в тетрадь) .

– Третья разновидность структуры данных называется сетью.

Схема №3.

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

БД классифицируются : по характеру хранимой информации, по способу хранения данных, по структуре организации данных

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

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

Принципы, лежащие в основе разработки структуры БД:

  1. Правильность разработанной структуры (поля уникальны, тип, размер, формат):
  1. каждый элемент таблицы представляет собой один элемент данных, повторяющиеся элементы отсутствуют;
  2. все поля в таблице однородные;
  3. поля имеют уникальные идентификаторы.
  1. Соблюдается условие нормализации (поля таблицы должны отражать непосредственные характеристики (свойства, атрибуты) объекта, к которому относится запись).
  2. Полнота данных.
  3. Непротиворечивость данных (дублирование записей).
  4. Удобный доступ к данным.

Любая система данных может быть отражена с помощью таблиц. Простейшая реляционная БД содержит одну таблицу, более сложная может состоять из множества взаимосвязанных таблиц.

III. Практическая работа №1

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

На партах у учащихся лежит лист со списком классов в нашей школе.

– Строить мы будем в следующей последовательности (на партах разложены листы с последовательностью построения).

Построение структуры данных по следующей последовательности:

  1. Определяются объекты описания;
  2. Определяются признаки этих объектов;
  3. Выбирается тип структуры, отображающий связи между объектами (таблицы, деревья, сети);
  4. Строится конкретный экземпляр структуры.

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

  1. После того как загрузилась программа, компьютер предлагает Создать базу данных , Открыть уже ранее созданные базы данных . Мы выбираем Создать новую .
  2. Далее компьютер предлагает дать название вашей базе данных (назовем своей фамилией и именем ), после этого клавиша Создать .
  3. В диалоговом окне предлагаются варианты построения: Построение таблицы в режиме конструктора , Построение таблицы с помощью мастера , Построение таблицы путем ввода данных (о каждом варианте учитель сообщает его суть). Мы выбираем Построение таблицы с помощью конструктора .
  4. В диалоговом окне Новая таблица выбираем подменю Конструктор . Появляется окно, в котором заносятся признаки наших объектов и типы данных, то есть мы строим макет таблицы.
  5. Далее сохраняем эту таблицу под названием Классы и закрываем ее нажатием на крестик в верхнем правом углу окна.
  6. В диалоговом окне базы данных появится название вашей таблицы, двойным щелчком открываем эту таблицу. Предлагается макет таблицы и здесь вы уже можете вносить значения определенных нами признаков предложенного набора объектов.

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

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

  1. Больница (стационар)
  2. Больница (поликлиника)
  3. Расписание уроков своего класса
  4. Библиотека (книги, читатели)
  5. ДТП (участники, машины, обстоятельства ДТП)
  6. Футбольный чемпионат (команды, график игр, результаты игр, футболисты)
  7. Городская телефонная сеть (например, телефоны всех моих друзей)
  8. Авиарейсы (самолеты, пилоты, рейсы, пассажиры)
  9. Отдел кадров нашей школы (сотрудники, должности, стаж работы, …)
  10. Магазин (отделы, товары, продавцы, поставщики)
  11. Вступительные экзамены в ВУЗ (факультеты, специальности, абитуриенты, экзамены, оценки)
  12. Каталог музыки (диски, исполнители, названия песен)

§31 учебника, уметь отвечать на вопросы после §.

VI. Подведение итогов урока

  1. Информационно-поисковая система.
  2. База данных, система управления базой данных.
  3. Банк данных.
  4. Реляционная база данных.
  5. Запись.
  6. Поле записей.
  7. Иерархическая база данных.
  8. Сетевая база данных.

Выставление оценок .

Урок №2. Проектирование многотабличной базы данных

Элементы содержания : системный анализ предметной области, основные объекты и связи между ними , инфологическая модель .

Предметная область - РАСПИСАНИЕ УРОКОВ

Цель использования информационной системы – учебная.

Тип урока : урок изучения нового материала.

Вид урока : комбинированный.

Формы работы :

  1. Объяснение нового материала – фронтальная работа
  2. Практическая работа – индивидуальная работа.

Оборудование: Программное обеспечение: Microsoft Word.

ХОД УРОКА

I. Организационный момент. Приветствие учащихся. Проверка д/з и выставление оценок.

Дома каждый попробовал составить таблицу БД и, наверное, понял, что это не очень простое занятие. Таблицы БД содержат в себе упорядоченную информацию и являются частью информационной системы. Разработка информационной системы начинается с системного анализа предметной области и построения её инфологической (информационно-логической) модели. На сегодняшнем уроке построим модель расписания уроков в нашей школе, нарисуем её граф.

II. Фронтальный опрос :

Что называется моделю? (Новый объект, заменяющий исходный с какой-либо целью).

От чего зависят свойства модели? (Свойства модели зависят от её назначения).

Какие виды информационных моделей мы знаем? (Табличные и графы)

Какие виды табличных моделей мы знаем? (ОС, ООО, ООН, ОСО)

III. Теоретическая часть.

Записать в тетрадь:

Инфологическая модель – это структурная модель реальной системы, отражающая её основные составляющие и связи между ними. Системный анализ – процесс создания инфологической (информационно-логической) модели.

Свойства инфологической модели тоже зависят от её назначения.

Определим назначение нашей будущей информационной системы. Из неё мы должны узнать:

  1. В какие дни недели учимся
  2. Для каких классов составлено расписание
  3. Начало и конец каждого урока
  4. В каком кабинете и у какого учителя проходит урок

Построим граф нашей информационной системы (на доске). Основные объекты и связи между ними:

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

Какие еще связи мы здесь видим? Расписание «составлено для» дня недели, расписание «составлено для» классов, расписание «составлено для» кабинетов – тип «один ко многим». Уроки «проходят в» кабинетах – связь «один к одному». Уроки «проходят в» классах, классы «учатся в» кабинетах – связь «многие ко многим».

IV. Практическая работа №2.

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

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

V. Физкультминутка. Упражнения для расслабления глаз под музыкальное сопровождение.

VI. Постановка домашнего задания

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

§ 32 учебника, уметь отвечать на вопросы после §

VII. Подведение итогов урока

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

  1. Системный анализ.
  2. Инфологическая модель.

С помощью небольшого опроса устанавливается, как учащиеся усвоили материал данного урока.

Выставление оценок .

Урок №3 Создание БД

Цель урока: создание БД, создание связей в многотабличной БД

Тип урока: Урок закрепления изучаемого материала

Вид урока: комбинированный.

Формы работы:

  1. Проверка д/з и выставление оценок
  2. Опрос по закреплению нового материала – фронтальный опрос
  3. Практическая работа – индивидуальная работа.

Оборудование:

  1. Листы с тестовыми вопросами по теме «Базы данных» (по количеству учащихся);
  2. Программное обеспечение: СУБД Microsoft Access.

ХОД УРОКА

I. Организационный момент . Приветствие учащихся

II. Фронтальный опрос:

Что такое системный анализ? (процесс создания инфологической (информационно-логической модели)

Что называется инфологической моделью? (структурная модель реальной системы, отражающая её основные составляющие и связи между ними)

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

Из чего состоит информационно-поисковая система (БД, СУБД)

Как классифицируются БД ? (по характеру хранимой информации, по способу хранения данных, по структуре организации данных)

Что такое структура? (вид организации данных)

Какие виды структур БД мы знаем? (реляционная - таблицы, иерархическая - дерево, сетевая)

Что такое поле? (столбец таблицы БД)

Назовите основные характеристики поля

Что такое запись? (Строка таблицы БД)

(ее назначение)

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

Таблица «Классы» у нас уже есть. Создадим Неделя, Расписание, Уроки, Кабинеты с указанными в скобках полями (столбцами). Подчеркнутые снизу поля (столбцы) нам помогут позже связать наши таблицы между собой. Таким образом мы реализуем инфологическую модель «Расписание уроков» в реляционной БД. Наша БД будет удовлетворять I, II, III нормальным формам. Запишем в тетрадях.

Первая нормальная форма – каждое поле в отношении неделимое.

Вторая нормальная форма – все неключевые поля функционально зависят от полного ключа.

Третья нормальная форма – в отношении не должно быть транзитивных зависимостей.

III. Практическая работа №3.

База данных «Расписание уроков»

Отношения, составляющие данную базу:

Неделя (День , День недели)

Расписание (День , Класс , Урок , Кабинет, Предмет)

Классы (Класс , Число уч, Клас_рук)

Уроки (Урок , Начало урока, Конец урока)

Кабинеты (Кабинет , Этаж, Предмет, Учитель)

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

В специальном поле Счетчик каждой записи присваивается уникальный для этого поля номер, который автоматически увеличивается с каждой новой записью. Его можно использовать для нумерации записей по порядку.

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

Для связанных таблиц возможно три варианта типа связи: «один к одному», «один ко многим», «многие ко многим».

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

Для связывания таблиц надо выполнить команды

Сервис  Схема данных. Откроется окно Добавление таблицы .

Выделить название таблицы, выполнить команду Добавить . Закрыть.

В результате на поле окна Схема данных появятся образы 5 таблиц. Нажав левую клавишу мыши, перетащить ключевое поле Класс таблицы Расписание на поле Класс из таблицы Моя подгруппа. Откроется окно Связи. Последовательно активизировать флажки «Обеспечить целостность данных», «Каскадное обновление связанных полей», «Каскадное удаление связанных записей». Тип связи «Один ко многим» будет выбран автоматически.

IV. Физкультминутка. Упражнения для расслабления глаз под музыкальное сопровождение.

V. Постановка домашнего задания

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

§ 33 учебника, уметь отвечать на вопросы после §

VI. Подведение итогов урока

На доске выписаны все новые понятия, изученные на этом и прошлом уроках, и повторение материала с учениками ведется по ним.

  1. Системный анализ.
  2. Инфологическая модель.
  3. Связи между объектами («один к одному», «один ко многим», «многие ко многим»)
  4. Команды для связывания таблиц (Сервис  Схема данных  Добавление таблицы)
  5. Три нормальные формы
  6. Первичный ключ - виды (счетчик, простой, составной)
  7. Для чего используется первичный ключ (для связывания одной таблицы с другой).

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

Урок №4. Создание БД «Расписание уроков» .

Цели урока: заполнить данными многотабличную БД

Тип урока : Урок закрепления изучаемого материала

Вид урока: комбинированный.

Формы работы:

  1. Проверка д/з и выставление оценок
  2. Опрос по закреплению нового материала – фронтальная работа
  3. Практическая работа – индивидуальная работа.

Оборудование : Программное обеспечение: СУБД Microsoft Access.

ХОД УРОКА

I. Организационный момент: Приветствие учащихся.

На прошлом уроке мы создали связи между 5 таблицами, а сегодня займемся заполнением этих таблиц, т.е. добавлением данных. Вспомним:

II. Фронтальный опрос:

Что такое поле? (столбец таблицы БД)

Основные характеристики поля (поля уникальны, имеют тип, размер, формат)

Что такое запись? (Строка таблицы БД)

Что влияет на формирование структуры БД? (ее назначение)

Какие принципы необходимо соблюдать для формирования правильной структуры БД? (поля уникальны, имеют тип, размер, формат; поля отражают свойства и атрибуты записей; полнота; непротиворечивость; удобный доступ)

Первичный ключ – виды и использование (счетчик, простой, составной; используется для связывания одной таблицы с другой)

Какие команды надо выполнить для связывания таблиц (Сервис  Схема данных  Добавление таблицы)

III. Практическая работа №4.

Таблицы данных:

IV. Физкультминутка. Упражнения для расслабления глаз под музыкальное сопровождение.

V. Постановка домашнего задания

Дома ученикам необходимо заполнить таблицы в индивидуальной БД .

VI. Подведение итогов урока

Повторим понятия, изученные на прошлых уроках:

  1. Системный анализ.
  2. Инфологическая модель.
  3. Связи между объектами («один к одному», «один ко многим», «многие ко многим»)
  4. Три нормальные формы

Элементы содержания: Запросы приложения ИС, средства формирования запросов, структура запроса на выборку: список полей, условие выбора записей, ключи и порядок сортировки.

Цель урока: создать запросы в многотабличной БД

Тип урока: Урок изучения нового материала

Вид урока: комбинированный.

Формы работы:

  1. Проверка д/з и выставление оценок
  2. Вводная лекция с демонстрацией на мультимедиа-проекторе
  3. Практическая работа – индивидуальная работа.

Оборудование: Программное обеспечение: СУБД Microsoft Access, мультимедиа-проектор, карточки с заданиями для выполнения запросов (по количеству учащихся).

ХОД УРОКА

  1. Организационный момент: Приветствие учащихся.
  2. Теоретическая часть.

Если необходимо осуществить поиск в одной таблице БД, то используют пункт меню – “Поиск”, если необходимо искать в нескольких таблицах, используют Запрос.

Запрос – это бланк для поиска информации в многотабличной БД.

Для создания запроса необходимо открыть основное окно базы данных и выбрать пункт “Запросы” - Создание запроса в режиме конструктора. Появится окно диалога “Добавление таблицы”, в котором необходимо выбрать таблицы, которые будут использоваться для запроса (в нашем случае – таблицы Неделя, Расписание, Классы, Уроки, Кабинеты). Меню - Вид – Объекты БД.

Открывается окно “Запрос1: запрос на выборку”, где в верхней части представлены таблицы, используемые для запроса (ключевые поля выделены жирным шрифтом), а в нижней – конструктор запроса.

Чтобы сформировать поля запроса, необходимо их просто перетащить из списка полей исходных таблиц в строку “Поле”.

Просмотр таблицы: Меню – Запрос – Запуск.

Изменения в запросе: (например, если нужно создать запрос с условием)

Меню – Вид - Режим конструктора.

Конструктор запросов позволяет также:

А) сортировать выбранные данные в запросе по определенному полю;
Б) создавать запрос с условиями .

  1. Практическая работа №5.

Выполнить задания, полученные на карточке:

  1. Показать все уроки информатики за неделю
  2. Сколько уроков информатики в каждый из дней недели

Простые и сложные логические выражения в условиях выборки:

1. Есть ли по расписанию урок информатики во вторник после 3-го урока, в 101 кабинете?

2. Показать все уроки информатики за неделю:

3. Сколько уроков информатики в каждый из дней недели:

IV. Физкультминутка. Упражнения для расслабления глаз под музыкальное сопровождение.

V. Постановка домашнего задания

Придумать и выполнить запросы (не менее 2-х) в индивидуальной БД.

§ 34 учебника, уметь отвечать на вопросы после §

Примеры запросов в индивидуальных заданиях.

1 . БД из 2-х таблиц:

1) Книга (автор, название, краткое описание (сказка, роман, публицистика, детектив…), тираж).
2)
Склад (название книги, количество, цена).

2 . БД из 2-х таблиц:

1) Одежда (название модели одежды, название ткани для ее пошива, размер).
2)
Склад (название одежды, количество экземпляров, цена).

Найти:

Все модели, сшитые из шелка в единственном экземпляре,
- самую дорогую модель и ее размер.

3 . БД из 2-х таблиц:

1) Товар (наименование, цены, проданное количество).
2)
Склад (наименование, остаток на складе, нужно ли еще заказать(да/нет)).

Найти товары, которых было продано больше всего и определить, заказывать ли еще. Найти товары, начинающиеся на букву “К” с остатком больше 5 шт.

4. БД из 2-х таблиц:

1) Страна (название, столица, название материка, на котором расположена страна).
2)
Сведения (название, количества населения, гос. строй, основная специализация).

Найти:

Все страны, расположенные в Африке с населением более 100 тыс.,
- страну с монархией

VI. Подведение итогов урока.

Выставление оценок.

Урок №6. Технология формирования форм, отчётов в СУБД.

Цель урока: создать формы и отчеты в многотабличной БД

Тип урока: урок закрепления изученного и изучения нового материала

Вид урока: комбинированный.

Формы работы:

  1. Проверка д/з и выставление оценок
  2. Вводные определения
  3. Практическая работа – индивидуальная работа.

Оборудование: Программное обеспечение: СУБД Microsoft Access.

ХОД УРОКА

I. Организационный момент .

II. Теоретическая часть .

Формы - основное средство для создания диалогового интерфейса приложения с пользователем. Форма, к примеру, может создаваться для ввода и просмотра взаимосвязанных данных базы на экране в удобном виде.

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

III. Практическая работа №6.

На прошлом уроке мы создавали запросы. А сегодня займемся формами и отчетами.

Подготовьте отчет «Уроки информатики» для печати .

Порядок работы:

  1. Откройте закладку Отчеты, если находитесь в другом окне.
  2. Щелкните по кнопке Создать с помощью мастера
  3. С помощью серии диалоговых панелей задайте параметры внешнего вида отчета, щелкая по кнопке Далее
  4. Сохраните отчет с именем «Уроки информатики». Закройте отчет
  5. В окне БД щелкните по кнопке Просмотр (или откройте отчет). Появится документ в том виде, в котором он может быть распечатан.

Самостоятельно создайте форму для запроса Расписание за пн, вт, ср для 11 класса.

IV. Физкультминутка. Упражнения для расслабления глаз под музыкальное сопровождение.

V. Постановка домашнего задания

Придумать и выполнить отчеты и формы (не менее 2-х) в индивидуальной БД.

§ 35 учебника, уметь отвечать на вопросы после §

VI. Подведение итогов урока . Выставление оценок.


| Системный анализ (§§ 1 - 4). Практическая работа № 1.1 "Модели систем"

Уроки 2 - 5
Системный анализ (§§ 1 - 4)
Практическая работа № 1.1 "Модели систем"

§ 1. Что такое система





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

Обобщая все приведенные выше примеры, дадим следующее определение.

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

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

Таким образом, подсистема - это система, входящая в состав другой, более крупной системы .

В свою очередь АЛУ процессора тоже является системой. В его состав входят сумматоры, полусумматоры и другие элементы. Следовательно, АЛУ - это подсистема процессора . Таким путем можно продолжать углубляться дальше. Отсюда следует вывод: всякая система представляет собой иерархию составляющих ее подсистем (рис. 1.1).

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

Внешняя система по отношению к данной является средой ее существования. Средой существования Земли является Солнечная система; средой существования Солнечной системы является Галактика и т. д. Всякая система относительно обособлена от среды своего существования. Это значит, что, с одной стороны, ее можно выделить из среды (рассмотреть отдельно), но, с другой стороны, она постоянно связана со своей средой.

Системы бывают естественные и искусственные. Естественные системы - это природные системы. Примеры: системы звезд и планет, растительность и животный мир Земли, молекулы и атомы. Искусственные системы создаются людьми - это заводы, дороги, образование, культура, здравоохранение, компьютеры, самолеты и др. Некоторые системы объединяют в себе части естественного и искусственного происхождения. Например: гидроэлектростанция, городской парк.

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

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

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

Связи (отношения) в системе. Части системы всегда связаны между собой, находятся в определенных отношениях. Виды этих связей могут быть самыми разными. В естественных и технических системах они носят материальный характер. Например, планеты Солнечной системы связаны силами гравитации; детали автомобиля связаны между собой болтами, сваркой, шестеренками; части энергетической системы связаны линиями электропередач.

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

Большое значение информационные связи имеют для деятельности производственных коллективов. Если распоряжение руководителя не доходит до подчиненных или искажается в процессе передачи, то может быть нарушен производственный процесс с самыми серьезными последствиями, вплоть до катастрофы. Во время боевых действий в армии от работы информационной связи зависят жизни людей. Армия, лишенная связи, не может выполнять свое назначение - эффективно вести военные действия.

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

Структурой системы называется совокупность связей, существующих между частями системы . Наглядным примером отображения структуры системы являются схемы электрических цепей. Элементы электрического устройства соединяются между собой двумя способами: последовательным и параллельным соединением. От способа соединения зависит свойство всей цепи. Например, если три проводника, имеющие сопротивления R1, R2, R3, соединить последовательно, то общее сопротивление цепи будет равно R1 + R2 + R3. А если их соединить параллельно, то сопротивление цепи будет равно: (R1*R2*R3)/(R1*R2 + R1*RЗ + R2*R3). Первое сопротивление больше второго. Поэтому, например, при пропускании электрического тока в первой цепи будет выделяться больше тепла, чем во второй.

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

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

Обобщая всё сказанное о системах, сформулируем следующее определение.

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

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


Вопросы и задания

1. Что такое система? Приведите примеры.

2. Что такое структура системы? Приведите примеры.

3. Приведите примеры систем, имеющих одинаковый состав (одинаковые элементы), но разную структуру.

4. В чем суть системного эффекта? Приведите примеры.

5. Что такое подсистема?

6. Выделите подсистемы в следующих объектах, рассматриваемых в качестве систем:

Костюм; автомобиль; компьютер; городская телефонная сеть; школа; армия; государство.

7. Удаление каких элементов из систем, названных в задании 6, приведет к потере системного эффекта, т. е. к невозможности выполнения основного назначения систем? Попробуйте выделить существенные и несущественные с позиции системного эффекта элементы этих систем.

Следующая страница

Я всегда считал, что те, кто работает в футболе, являются привилегированными. Нам платят за работу, которую мы любим и которую нам нравится выполнять. А в моём случае я также был достаточно удачлив, так как работал в разных странах, сталкивался с различными культурами и методами работы, пополнял свой багаж знаний и опыта. И это помогает мне при анализе смотреть на вещи с разных сторон.

Когда люди обсуждают трансферы, рыночную стоимость игроков и причины, по которым вы покупаете или продаёте того или иного футболиста, легко заметить, что многие не видят истинного положения вещей. Ситуация может быть слишком сложной и запутанной для фанатов. И в этой статье я постараюсь изложить свой взгляд на подобные проблемы, опираясь на личный опыт.

Естественно, я сосредоточусь на своей зоне ответственности в клубе. Это футбол, руководство игрой, определяемое менеджером или тренером – в зависимости от ситуации.

Клубная структура

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

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

В Испании и Италии есть должность, которую называют «футбольный директор» (Director of Football) или «главный скаут» (Chief Scout). В теории он отвечает за подписание тренера и пополнение состава. В большинстве случаев, хотя и не всегда, он консультирует ответственного человека, либо президента/владельца (President/Owner), который отвечает за все процессы, где необходимо его последнее слово.

В Англии всем этим занимается менеджер (Manager). В числе его полномочий управление всеми футбольными делами, в том числе – определение состава на матч.

На практике обе типа структуры зависят от одного обстоятельства: доступных средств на трансферы и зарплаты игроков. Что «менеджер», что «тренер» неизбежно сталкиваются с тем, что они имеют возможность подписать только трёх-четырёх игроков из своего списка. Это на самом деле так. В последнем случае менеджер может выбрать тех, кого хочет.

Формирование состава

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

Кроме того, в разных странах разнятся подходы к составлению контрактов. Особые условия – в клубах, участвующих в международных турнирах. Есть лиги, где обязательно должны играть 5 игроков из этой страны, в других присутствует лимит на подписание иностранцев, в третьих игроков делят на списки «А» и «В»… В конце концов, каждая страна, каждая лига имеет свои особенности. И вы обязаны их полностью переварить, прежде чем присоединитесь к коллективу и решитесь изменять его.

У вас должен быть план, своеобразный «футбольный проект». Но в разговоре с владельцами, которые приходят в футбол из мира бизнеса, его нужно называть только «бизнес-планом».

И тут я снова обращусь к собственному опыту. Когда я приехал в Италию, там не было никакого «бизнес-плана». Я узнал об этом только в последний день трансферного окна, когда мне неожиданно сообщили, что клуб собирается следовать финансовому фэйр-плэй.

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

В Англии, в частности, в «Ливерпуле» во время моих первых 3-х сезонов, председатель и главный исполнительный директор держали меня в курсе всех ограничений и имевшихся вариантов. Позже клубная структура изменилась, и постепенно бизнес-план становился всё более и более важным, чем любой футбольный проект, когда дело доходило до принятия важных решений.

То, что также нельзя забывать, это деятельность юношеской академии. Наигрывание местных игроков существенно увеличивает ваше родство с клубом и значительно снижает затраты. В Испании и Италии молодёжная структура возложена на спортивного директора, главный тренер уделяет ей не так много времени. В Англии может случиться то же, что произошло со мной в последний год работы в Ливерпуле: менеджер получает полный контроль над всей молодёжной системой и может непрерывно следовать одному стилю игры во всех возрастных группах. Барселонская структура работы с молодёжью сейчас на пике популярности. Более очевидного и яркого примера в этом плане не сыскать.

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

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

Правила и виды регламентов

Что также необходимо рассмотреть, это различные международные нормы. Обычно заявка первой команды на сезон ограничена 25 футболистами. В ряде стран, как в Испании, например, вы можете выпустить юниора на поле в 5 матчах, после чего он должен быть внесён в основной состав.

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

У вас в распоряжении команда U18. Некоторые футболисты оттуда, особенно если они из-за границы, должны иметь профессиональные контракты. В противном случае другие клубы могут умыкнуть их прямо из-под вашего носа.

Во время моей работы в «Ливерпуле» болельщики часто говорили, что я подписал слишком много игроков, тогда так на самом деле многие из них тренировались в отдельных юниорских группах, и некоторых из них я даже не знал. В Испании такие футболисты присоединяются ко второй молодёжной команде, и не включаются в реестр приобретений основной команды. Тот же принцип действует в Италии.

[В комментариях к статье Рафа заметил, что испанская система лучше английской, так как игроки «молодёжки» не варятся среди своих сверстников, они играют во взрослый футбол в низших дивизионах, в связи с чем гораздо проще понять уровень их конкурентноспобности на высоком уровне]

Лига чемпионов

Ещё один набор правил, с которыми нам всегда приходится считаться, – включение в список собственных воспитанников и местных при составлении заявки на Лигу чемпионов. Это число достигло 4-х в графе «воспитанники своей академии», также требуется 4 местных игрока. Если футболист провёл в клубе более 3-х лет до достижения 21-летия, он считается собственным воспитанником.

Опять же есть различия. Тренер занимается только своей командой, состав – прерогатива спортивного директора. А вот менеджеру приходится составлять планы на будущее. В «Ливерпуле» перед нами ставилась следующая задача: привести из-за рубежа несколько молодых игроков, которым до 21-летия как минимум 3 года (Айяла, Пачеко, Инсуа).Таким образом, согласно правилам того времени, в дальнейшем они бы считались нашими воспитанниками, чем помогли бы клубу сохранить деньги на трансферах и контрактах, а также были бы внесены в заявку на Лигу чемпионов. В Испании и в Европе в целом как тренер вы вовлекаетесь в процесс формирования планов на следующие годы только в том случае, если работаете несколько лет и выигрываете трофеи. Сделать это удаётся немногим.

Чемпионат по футболу »

1. Постановка задачи.. 2

2. Проектирование базы данных.. 2

2.1. Основные понятия. 2

2.2. Нормализация баз данных. 3

3. Пояснения к проекту.. 6

4. Последовательность работы... 6

4.1. Создание таблиц.. 6

4.1.1. Средства для работы с базами данных. 6

4.1.2. Инструментальные средства. 7

4.1.3. Компоненты.. 7

4.1.4. Псевдоним базы данных. 7

4.1.5. Создание базы данных. 7

4.1.6. Создание псевдонима. 7

4.1.7. Создание таблиц. 9

4.2. Создание форм.. 11

4.3. Доступ к базе данных. 12

4.4. Использование модуля данных. 13

4.5. Навигация по таблицам базы данных. 14

4.5.1. Форма Список команд . 14

4.5.2. Перемещение по записям.. 15

4.5.3. Форма Список матчей . 16

4.5.4. Форма Список голов . 21

4.5.5. Задание для самостоятельной работы.. 21

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

6. Приложение. Пример реализации поиска.. 22

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

Создать базу данных Чемпионат по футболу , которая будет состоять из нескольких таблиц. Для заполнения таблиц создать формы. Предусмотреть возможность поиска информации по ключевым полям.

2. Проектирование базы данных

2.1. Основные понятия

База Данных – организованная совокупность данных, предназначенная для длительного хранения во внешней памяти ЭВМ, постоянного обновления и использования. (Ершов словарь по информатике).

Можно доказать, что любую структуру данных можно преобразовать в простую двумерную таблицу. Такое представление является наиболее удобным и для пользователя, и для машины.

Реляционная база данных - совокупность данных состоящих из связанных двумерных таблиц.

Примечание

Название произошло от английского слова «relation» - отношение.

Поле таблицы

Номер

Имя абонента

Адрес

Запись таблицы

Петров Евгений

Садовая ул., 18

Дядя Коля

Зеленая ул., 45-2-56

Химчистка

Киевская ул., 123

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

Любые совокупности данных представляются в виде двумерных таблиц , каждая из которых содержит информацию об объектах определенного типа. Каждая таблица состоит из фиксированного числа столбцов и переменного числа строк . Запись – строка таблицы.
Каждая запись содержит информацию об отдельном экземпляре объекта. Поле – столбец таблицы.
Каждый столбец представляет собой конкретное данное – одну характеристику объекта (атрибут). Для каждого поля разработчик должен определить:

· уникальное имя поля;

· тип поля;

· дополнительные характеристики (длину, формат) поля.

Ключ – одно или несколько полей для идентификации записей таблицы. Описание полей, определяемое разработчиком, называется структурой таблицы. Каждое поле может входить в несколько таблиц. Изменение количества полей и (или) их типов является особой операцией.

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

2.2. Нормализация баз данных

При проектировании структуры базы данных могут возникнуть проблемы:

· избыточность информации;

    противоречивость информации; потеря целостности (взаимосвязь между данными).

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

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

Таблица 1

Имя поля

Дата матча

Команда хозяев: название, город, тренер

Команда гостей: название, город, тренер

Игрок, забивший гол

Существуют основные правила нормализации структуры базы данных. Приведем только правила, с которыми будем работать.

Правило 1: В таблице необходимо разделить составные поля на отдельные элементы данных. Каждое поле таблицы должно представлять уникальный тип информации. Т. е. необходимо избавиться от повторяющихся полей (групп).

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

Правило 3: В таблице не должно быть данных, не относящихся к объекту, определяемому первичным ключом.

1 шаг (Правило 1)

В таблице 1 второе и третье поле являются составными, и содержат информацию о названии команды, города, фамилии тренера. В соответствии с Правилом 1 необходимо эти поля разделить. У нас получится новая таблица 2.

Таблица 2

Имя поля

Дата матча

Команда хозяев: название

Команда хозяев: город

Команда хозяев: тренер

Команда гостей: название

Команда гостей: город

Команда гостей: тренер

Игрок, забивший гол

Признак команды, к которой принадлежит игрок

Время (число минут от начала матча)

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

2 шаг (Правило 2)

Записи таблицы 2 не содержат уникального ключа, по которому однозначно можно определить проводимый матч. Поэтому введем в таблицу 2 дополнительное поле ключа – код матча. У нас получится новая таблица 3.

Таблица 3

Имя поля

Код матча (ключ)

Дата матча

Команда хозяев: название

Команда хозяев: город

Команда хозяев: тренер

Команда гостей: название

Команда гостей: город

Команда гостей: тренер

Игрок, забивший гол

Признак команды, к которой принадлежит игрок

Время (число минут от начала матча)

Для каждого гола в таблице 3 содержится повторяющаяся информация о дате матча, о командах. Поэтому разобьем эту таблицу на две таблицы, одна будет содержать данные о матчах, а другая – о голах, забитых в каждом конкретном матче. Структура этих таблиц приведена в таблицах 4 и 5.

Таблица 4

Имя поля

Код матча (ключ)

Дата матча

Команда хозяев: название

Команда хозяев: город

Команда хозяев: тренер

Команда гостей: название

Команда гостей: город

Команда гостей: тренер

Таблица 5

Имя поля

Код гола (ключ)

Код матча

Игрок, забивший гол

Признак команды, к которой принадлежит игрок

Время (число минут от начала матча)

Таблицы 4 и 5 связаны по полю Код матча , которое для таблицы 4 является уникальным. Чтобы обеспечить уникальность записей таблицы 5, в нее введен ключ Код гола .

3 шаг (Правило 3)

Для выполнения Правила 3 необходимо выделить в отдельную таблицу те поля, которые не зависят от ключа Код матча . В таблице 4 такими полями являются поля, которые определяют команду. Разобьем таблицу 4 на две таблицы: первая – информация о матчах, вторая – информация о командах (см. таблицы 6 и 7).

Таблица 6

Имя поля

Код матча (ключ)

Дата матча

Код команды хозяев

Код команды гостей

Таблица 7

Имя поля

Код команды (ключ)

Название

В результате наша база данных Чемпионат по футболу будет иметь структуру, показанную на рисунке 1.

3. Пояснения к проекту

Проект будет состоять из пяти форм:

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

4. Последовательность работы

4.1. Создание таблиц

4.1.1. Средства для работы с базами данных

Средства Delphi , предназначенные для работы с базами данных, можно разделить на два вида:

· Инструментальные средства – специальные программы, обеспечивающие обслуживание баз данных вне разрабатываемых приложений.

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

4.1.2. Инструментальные средства

· Borland Database Engine (BDE) – процессор баз данных, который представляет собой набор динамических библиотек и драйверов, предназначенных для организации доступа к базам данных из Delphi-приложений.

· BDE Administrator – утилита для настройки различных параметров BDE.

· Database Desktop – программа создания и редактирования таблиц, SQL-запросов.

· SQL Explorer – Проводник баз данных, позволяющий просматривать и редактировать базы данных.

4.1.3. Компоненты

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

Table – набор данных, основанный на таблице базы данных (страница BDE );

DataSource – источник данных (страница Data Access );

DBGrid – таблица (страница Data Controls );

DBNavigator – навигационный интерфейс (страница Data Controls );

DBEdit – однострочный редактор (страница Data Controls ).

4.1.4. Псевдоним базы данных

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

Примечание

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

4.1.5. Создание базы данных

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

1. Создание папки.

2. Создание псевдонима.

3. Создание таблиц.

Создадим папку для нашего проекта и подпапку для базы данных с помощью средств Windows. Имя папки – База Данных , имя папки – Данные .

4.1.6. Создание псевдонима

Псевдоним (alias) может быть создан при помощи утилиты BDE Administrator :

C:\Program Files\Common Files\Borland Shared\BDE\bdeadmin. exe

На Рисунке 2 приведен вид диалогового окна BDE Administrator после запуска утилиты.

В левой части окна, на вкладке Databases , перечислены псевдонимы, зарегистрированные на данном компьютере. Для создания нового псевдонима необходимо выбрать команду меню Object – New . Откроется новое диалоговое окно New Database Alias (Рисунок 3) из списка Database Driver Name выберем драйвер (тип базы данных) STANDARD , который обеспечивает доступ к таблицам в формате Paradox .

Для подтверждения выбора драйвера кликнем на клавише OK . В результате в список псевдонимов будет добавлен новый элемент (см. Рисунок 4).

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

Имя псевдонима можно изменить, щелкнув правой кнопкой мыши на имени псевдонима (на вкладке Databases ), в открывшемся контекстном меню выбрать команду Rename и ввести новое имя – SPORT .

Путь к файлам базы данных вводится на вкладке Definition в поле Path с клавиатуры или с помощью стандартного диалогового окна Select Directory, которое открывается щелчком на кнопке с тремя точками, находящейся в конце поля Path (см. Рисунок 5).

Для того чтобы созданный псевдоним был зарегистрирован в файле конфигурации (idapi. cfg ), необходимо выполнить команду в меню Object – Apple (Применить) . В открывшемся диалоговом окне Confirm следует подтвердить необходимость сохранения изменений в файле конфигурации.

4.1.7. Создание таблиц

Приступим к созданию таблиц базы данных Чемпионат по футболу : таблица матчей – Match , таблица команд – Team и таблица голов – Goal . Структура этих таблиц приведена в таблицах 8, 9 и 10 соответственно.

Таблица матчей – Match Таблица 8

(имя поля)

Примечание

Код матча (ключ)

Дата матча

Код команды хозяев

Код команды гостей

Таблица команд – Team Таблица 9

(имя поля)

Примечание

Код команды (ключ)

Название

Таблица голов – Goal Таблица 10

(имя поля)

Примечание

Код гола (ключ)

Код матча

Игрок, забивший гол

Признак команды, к которой принадлежит игрок: 1 – хозяин, 2 – гость.

Время (число минут от начала матча)

Таблицы создаются с помощью входящей в состав Delphi утилиты Database Desktop . Эта утилита позволяет создавать, просматривать и модифицировать таблицы баз данных различных форматов. Вызвать утилиту Database Desktop можно:

C:\Program Files\Common Files\Borland Shared\Database Desktop\dbd32.exe

Для создания таблицы в окне Database Desktop выполните команду File- New- Table ... Сначала в окне Create Table необходимо из раскрывающегося списка выбрать тип таблицы и нажать клавишу Ok . Пусть тип базы будет Paradox7 . После этого открывается новое окно (см. рисунок 5), в котором необходимо создать структуру таблицы Match .

Для каждого поля таблицы необходимо указать имя, тип, если нужно размер поля. Имя поля используется для доступа к данным. В качестве имени используется последовательность букв латинского алфавита и цифр длиной не более 25 символов. Для определения типа поля используйте клавишу пробел или правую клавишу мыши. Тип Alpha означает текстовый (строковый) тип поля. Для этого поля необходимо указать его длину. Для полей с типом Number , Date длину не указывают. Необходимо отметить признак ключевого поля ID_ M , установив символ «*» в графе Key .

Примечание

Ключевые поля должны быть сгруппированы в верхней части таблицы.

После завершения заполнения таблицы сохраните ее, нажав кнопку Save as ... В открывшемся окне Save Table As ... в поле Имя файла введите имя таблицы Match , а в поле Alias выберите созданный ранее псевдоним SPORT . Для завершения работы нажмите клавишу Save .

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

1. Требование обязательного ввода значений (Required Field );

2. Минимальное значение (Minimum value );

3. Максимальное значение (Maximum value );

4. Значение по умолчанию (Default value );

5. Маска ввода (Picture ).

На Рисунке 6 приведен пример заполнения поля PR_ G (Признак команды ), с указанием ограничений на значение поля.

Аналогично создайте и сохраните таблицы команд – Team и голов – Goal .

Таблицы базы данных созданы, и теперь их можно приступить к разработке программы, использующей эти таблицы.

4.2. Создание форм

Создайте проект.

Таблица 10

Выделенная компонента

Окно инспектора объектов

Имя свойства

Действие

База данных СПОРТ

Сохраните модуль и проект под именами UnitGlavn и ProjectGlavn в папке База данных .

Создайте четыре формы с помощью команды File-New-Other. В открывшемся окне New Item выберите на вкладке New объект Form . Дайте имена формам и сохраните модули под именами, указанными в таблице.

Таблица 11

Название формы

Имя формы

Имя модуля

Список матчей

Список команд

Список голов

Поиск

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

Список матчей , Список команд , Список голов, Поиск, Выход .

Для каждой кнопки напишите соответствующую процедуру для открытия окна (см. таблицу 12).

Таблица 12

Выделенная компонента

Окно инспектора объектов

Имя свойства

Действие

Список матчей

FormMatch. Show;

Список команд

Список голов

Поиск

FormPoisk. Show;

Выход

В модуле главной формы после служебного слова implementation надо записать:

Uses UnitMatch, UnitTeam, UnitGoal, UnitPoisk;

Вернитесь к проекту.

4.3. Доступ к базе данных

Доступ к базе данных обеспечивают компоненты Database , Table и DataSource .

Компонент Database представляет базу данных как единое целое, т. е. совокупность таблиц, компонента Table – одну из таблиц базы данных. Компонента DataSource обеспечивает связь таблицы и компонента отображения или редактирования данных (см. рисунок 7).

4.4. Использование модуля данных

При конструировании формы невизуальные компоненты, используемые для доступа к данным, такие как DataSource или Table , размещаются на форме, но при выполнении приложения эти компоненты не видны. Поэтому их можно размещать в любом удобном месте формы, выступающей для них контейнером – модулем. Для размещения невизуальных компонентов, через которые осуществляется доступ к данным, предназначен специальный объект – модуль данных (см. рисунок 8).

Создайте новый объект DataModule , выполнив команду File- New- Data Module. Сохраните его модуль под именем UnitDModul в папке База данных .

На лист окна DataModule1 вставьте компонент Database (связь с сервером) со страницы BDE . В свойстве AliasName (имя псевдонима) выберите из списка: SPORT .

Добавьте в окно DataModule1 компоненты Table (набор данных) со BDE и DateSource (источник данных) со страницы Data Access и расположите их рядом друг с другом (см. рисунок 8).

Активизируем таблицу Match . Для этого установим свойства компонент Table1 и DataSource1 в том порядке, в каком они перечислены в таблице 13.

Таблица 13

Выделенная компонента

Окно инспектора объектов

Имя свойства

Действие

Примечание

TableMatch

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

Match. db

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

Признак активизации файла данных (таблицы). True – открытие файла.

DS_Match

Имя компонента для доступа к его свойствам.

TableMatch

Имя компонента – входные данные.

Выполните аналогичные действия для таблиц Список команд Team и Список голов Goal . В результате окно DataModule1 будет выглядеть так, как приведено на рисунке 9.

4.5. Навигация по таблицам базы данных

4.5.1. Форма Список команд

Активизируйте форму Список команд . Поместите на нее компонент DBGrid (таблица данных) со страницы Data Controls (управление данными). Для этого объекта следует прописать DataSource (источник данных). Откройте это свойство. Вы увидите, что выбирать пока не из чего. В модуле формы Список команд после служебного слова implementation запишите:

Uses UnitDModul ;

Снова откройте свойство DataSource и выберите в нем единственную имеющуюся запись: DataModule1 . DS_Team . Теперь компонент DBGrid и компонент DataSource связаны друг с другом. В компоненте DBGrid появились названия полей созданной таблицы Team .

Перейдите в окно DataModule1 и щелкните два раза мышью по объекту TableTeam . Откроется небольшое окно DataModule1 . DS_ Team . Щелкните на поле этого окна правой кнопкой мыши и в контекстном меню выберите строку Add all fields (добавить все поля).

Перейдите к форме Список матчей и выполните двойной щелчок на объекте DBGrid . Открылось окно Editing DBGrid1. Columns (редактор столбцов). Щелкните на поле этого окна правой кнопкой мыши и в контекстном меню выберите строку Add All Fields (добавить все поля). В окне Editing DBGrid1. Columns появится список всех полей таблицы. Щелкните мышью на одном из появившихся названий полей. Откройте свойство Title (название) и для каждого поля в

свойстве Caption запишите название: Код команды, Название команды, Город, Тренер (см. рисунок 10).

В результате этих действий русские названия полей отразятся в таблице Список матчей . Закройте окно Editing DBGrid1. Columns .

4.5.2. Перемещение по записям

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

процедура First – установка на первую запись;

процедура Next – установка на следующую запись (для последней записи указатель не перемещается);

процедура Last – установка на последнюю запись;

процедура Prior – установка на предыдущую запись (для первой записи указатель не перемещается).

Delphi предоставляет возможность перемещаться по набору данных с помощью управляющих элементов, в качестве которых можно использовать компоненты DBGrid и DBNavigator . Управление этими элементами приводит к автоматическому вызову ранее перечисленных методов.

Перейдем на форму Список команд . Добавим на форму компонент DBNavigator (навигатор базы данных) со страницы Data Controls (управление данными). Навигатор содержит кнопки, обеспечивающие выполнение различных операций с набором данных путем автоматического вызова соответствующего метода. Состав кнопок определяется свойством VisibleButtons. На рисунке 11 представлен общий вид компоненты DBNavigator .

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

Таблица 14

Номер кнопки на рисунке

Обозначение кнопки

Действие

Перемещение к первой записи

Перемещение к предыдущей записи

Перемещение к следующей записи

Перемещение к последней записи

Вставка новой записи перед текущей

Удаление текущей записи

Редактирование текущей записи

Сохранение отредактированной информации в базе данных.

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

Внесите изменения в свойства компонента DBNavigator .

Таблица 15

Выделенная компонента

Окно инспектора объектов

Имя свойства

Действие

(источник данных)

DataModule1 .DS _Team

(установление связи объектов)

(показать подсказку)

(подсказка)

Щелкнуть на кнопке с тремя точками, расположенными справа. В появившемся окне встроенного редактора String List Editor заменить английские на русские названия кнопок:

Первая запись

Предыдущая запись

Следующая запись

Последняя запись

Вставка записи

Удаление записи

Редактирование записи

Сохранение изменений

Отменить изменения

Обновить изменения

Завершить работу, щелкнув на кнопке OK.

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

4.5.3. Форма Список матчей

Активизируйте форму Список матчей . Поместите на нее компонент DBGrid и выполните аналогичные действия п.4.5.1 для таблицы Match .

По таблице можно перемещаться программно, без использования компоненты DBNavigator . Для этого внесем изменения в этот компонент, становим свойства, которые позволят использовать для навигации по таблице Match только четыре кнопки First, Prior, Next, Last (см. таблицу 12). Установите эти свойства в соответствии с рисунком 12.

Добавьте на форму компоненты Button (Изменить, Добавить, Удалить, Подтвердить, Отменить) , Label для вывода состояния записи (Просмотр, Удаление, Редактирование, Вставка) и CheckBox для включения или выключения режима редактирования, как показано на рисунке 13. А так же разместите на форме компоненты меток и рядом с ними соответствующие компоненты для редактирования полей.

Рисунок 13

При заполнении полей Команда – хозяин , Команда – гость таблицы Список матчей , целесообразно значения этих полей выбирать из списка. Если для поля задана таблица выбора, то в него можно ввести только значение, содержащееся в таблице выбора. Это гарантирует, что в поле не будет введено недопустимое значение. Для этого воспользуемся компонентом DBLookupComboBox , с помощью которого можно выбирать нужную информацию из таблицы Team .

Выполните действия, приведенные в таблице 16.

Таблица 16

Выделенная компонента

Окно инспектора объектов

Имя свойства

Действие

Дата матча

DBEdit1 со страницы Data Control

DataModule1.DS_Match

Команда - хозяин

DBLookupComboBox1

DataModule1.Ds_Match

DataModule1.DS_Team

Команда - гость

DBLookupComboBox2

DataModule1.DS_Match

DataModule1.DS_Team

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

Таблица 17

Компонента

Условное обозначение

Свойство Name

Изменить

Добавить

Удалить

Подтвердить

Отменить

Закрыть

Состояние записи

Дата матча

TDBLookupComboBox

Команда - хозяин

TDBLookupComboBox

Команда - гость

Таблица

Режим редактирования

UnitMatch .

1. В разделе Use

DB, DBTables , Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Mask;

2. А в разделе описания переменных перед implementation должна быть запись:

FormSpisok: TFormSpisok;

3. После записи {$R *.dfm} вставим две вспомогательные процедуры:

procedure TFormMatch. StateChange(Sender: TObject);

btnEdit. Enabled:=false;

btnInsert. Enabled:=false;

btnDelete. Enabled:=false;

btnChangeOK. Enabled:=true;

procedure TFormMatch. StateBrowse(Sender: TObject);

cbCanEditClick(Sender);

btnChangeOK. Enabled:=False;

4. Перед разделом private { Private declarations }в раздел описания Type вставим две строки:

procedure StateChange(Sender: TObject);

procedure StateBrowse(Sender: TObject);

5. Для каждой кнопки напишите соответствующую процедуру.

BtnEdit – Изменить – OnClick

DataModule1.DS_Match. Dataset. Edit;

lblChangeKind. Font. Color:=clTeal;

lblChangeKind. Caption:="РЕДАКТИРОВАНИЕ ЗАПИСИ";

StateChange(Sender);

BtnInsert – Добавить OnClick

Var Nomer: Integer;

// Подтверждение в режим вставки

If MessageDlg("Добавить запись?",

<> mrYes then Exit;

DataModule1.DS_Match. Dataset. Last;

Nomer:=DataModule1.DS_Match. Dataset. FieldByName("ID_M").AsInteger;

DataModule1.DS_Match. Dataset. Append;

// Номер матча формируется автоматически, путем увеличения номера в последней записи

DataModule1.DS_Match. Dataset. FieldByName("ID_M").AsInteger:=Nomer+1;

lblChangeKind. Font. Color:=clGreen;

lblChangeKind. Caption:="ВСТАВКА ЗАПИСИ";

StateChange(Sender);

if DbeDat. CanFocus then DbeDat. SetFocus;

BtnDelete – Удалить – OnClick

// Запрос на подтверждение перехода в режим просмотра удаляемой записи

If MessageDlg("Удалить запись?",

mtConfirmation, , 0) <> mrYes then Exit;

lblChangeKind. Font. Color:=clRed;

lblChangeKind. Caption:="УДАЛЕНИЕ ЗАПИСИ";

StateChange(Sender);

if btnChangeCancel. CanFocus then btnChangeCancel. SetFocus;

B tnChangeOK – Подтвердить – OnClick

// Утверждение изменений в текущей записи (редактируемой или новой)

// или удаления текущей записи (просматриваемой)

If DataModule1.TableMatch. State in

// Проверка заполнения полей

If dbeDat. Text="" then

MessageDlg("Не задана дата матча", mtError, , 0);

if DbeDat. CanFocus then DbeDat. SetFocus;

If DBLHost. Text="" then

MessageDlg("Не задана команда - хозяин", mtError, , 0);

if DBLHost. CanFocus then DBLHost. SetFocus;

If DBLGuest. Text="" then

MessageDlg("Не задана команда - гость", mtError, , 0);

if DBLGuest. CanFocus then DBLGuest. SetFocus;

DataModule1.TableMatch. Post

else if lblChangeKind. Caption="УДАЛЕНИЕ ЗАПИСИ"

then DataModule1.TableMatch. Delete;

StateBrowse(Sender);

B tnChangeCancel – Отменить – OnClick

// Если набор данных находился в режиме просмотра (при удалении записи),

// то никаких действий метод Cancel не выполняет

DataModule1.TableMatch. Cancel

StateBrowse(Sender);

BtnClose – Закрыть OnClick

cbCanEdit – OnClick

var bm1: TBookmark;

// Запоминание положения текущей записи

bm1:=DataModule1.Ds_Match. Dataset. GetBookmark;

// Отключение отображения изменений данных в визуальных компонентах

DataModule1.Ds_Match. Dataset. DisableControls;

If not cbCanEdit. Checked then begin

DataModule1.TableMatch. ReadOnly:=true;

// Блокировка элементов, связанных с переходом

// в режиме изменения записей

btnEdit. Enabled:=false;

btnInsert. Enabled:=false;

btnDelete. Enabled:=false;

btnChangeCancel. Enabled:=false;

btnChangeOK. Enabled:=false;

lblChangeKind. Font. Color:=clBlue;

lblChangeKind. Caption:="ПРОСМОТР ЗАПИСИ";

DBEDat. Enabled:=false;

DBLHost. Enabled:=false;

DBLGuest. Enabled:=false;

DataModule1.TableMatch. Active:=false;

DataModule1.TableMatch. ReadOnly:=false;

DataModule1.TableMatch. Active:=true;

// Разблокирование элементов, связанных с переходом

// в режиме изменения записей

btnEdit. Enabled:=true;

btnInsert. Enabled:=true;

btnChangeCancel. Enabled:=true;

btnChangeOK. Enabled:=true;

DBEDat. Enabled:=true;

DBLHost. Enabled:=true;

DBLGuest. Enabled:=true;

// Если набор данных пуст, то удаление записей запрещено

If DataModule1.Ds_Match. Dataset. RecordCount>0

then btnDelete. Enabled:=true

else btnDelete. Enabled:=false;

// Возврат в текущую запись

then DataModule1.Ds_Match. Dataset. GotoBookmark(bm1);

If DataModule1.Ds_Match. Dataset. BookmarkValid(bm1)

then DataModule1.Ds_Match. Dataset. FreeBookmark(bm1);

// Включение отображения изменений данных в визуальных компонентах

DataModule1.Ds_Match. Dataset. EnableControls;

FormMatch OnCreate

// Первоначально изменение записей запрещено

cbCanEdit. Checked:=false;

// Запрет автоматического перехода в режим редактирования

DataModule1.DS_Match. AutoEdit:=false;

DBGridMatch. Columns.ReadOnly:=True;

FormMatch OnShow

// Исходное состояние управляющих элементов

StateBrowse(Sender);

4.5.4. Форма Список голов

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

4.5.5. Задание для самостоятельной работы

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

На оценку 5

Самостоятельно разработать форму поиска матчей:

1. по дате

2. по команде.

Для найденного матча показать список всех забитых голов и общий счет.

Описать процесс создания формы по примеру данного проекта.

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

В. Гофман, А. Хомоненко Работа с базами данных в Delphi, Санкт-Петербург «БХВ-Петербург», 2003 А. Желонкин Основы Программирования в интегрированной среде DELPHI. Практикум, М: Бином. Лаборатория базовых знаний, 2004 Н. Культин Основы программирования в Delphi 7, Санкт-Петербург «БХВ-Петербург», 2005

6. Приложение. Пример реализации поиска

Добавьте на форму компоненты DBGrid, GroupBox (Найти) , Button (Поиск, Выход) , CheckBox (По фамилии, По факультету) , Edit для ввода ключевых значений для поиска по полям DAT и FAK , как показано на рисунке 14.

Рисунок 14

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

Таблица 16

Компонента

Условное обозначение

Свойство Name

Поиск

Выход

Найти

По фамилии

По факультету

Для ввода фамилии

Для ввода факультета

Таблица

В окне редактора форм перейдите в форму UnitPoisk .

1. В разделе Use должны быть включены следующие стандартные модули:

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

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

2. Для поиска записей по полям служат методы Locate и Lookup, причем поля могут быть неиндексированными.

Функция Locate (const KeyFields: String;

const KeyValues: Variant;

Options: TLocateOptions): Boolean

ищет запись с заданными значениями полей. Если удовлетворяющие условиям поиска записи существуют, то указатель текущей записи устанавливается на первую из них и функция возвращает значение True. Список полей, по которым ведется поиск, задается в параметре KeyFields (поля разделяются точкой с запятой). Параметр KeyValues указывает значения полей для поиска. Параметр Options задает значения LoCaseInsensitive (регистр букв не учитывать) и LoPartialKey (допускается частичное совпадение значений).

3. Для кнопки Поиск напишите соответствующую процедуру.

BtnFind – Поиск – OnClick

procedure TFormPOISK. btnFindClick(Sender: TObject);

Var KeyFields: String;

KeyValues: Variant;

Options: TLocateOptions;

if not (cbFindDAT. Checked or cbFindFAK. Checked)

MessageDlg("Не заданы условия поиска!", mtInformation,,0);

//Поиск одновременно по двум полям DAT и FAK

if cbFindDAT. Checked and cbFindFAK. Checked

KeyFields:="DAT;FAK";

KeyValues:=VarArrayOf();

//Поиск по одному из полей

//По полю DAT

if cbFindDAT. Checked

KeyFields:="DAT";

KeyValues:=editDAT. Text;

//По полю FAK

if cbFindFAK. Checked

KeyFields:="FAK";

KeyValues:=editFAK. Text;

//Поиск выполняется независимо от регистра букв

//с возможностью частичного совпадения

Options:=;

//Запись не найдена

If not DataModule1.Ds_Spisok. Dataset. Locate(KeyFields, KeyValues, Options)

MessageDlg("Запись не найдена...", mtInformation, ,0);

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки Украины

Черниговский государственный технологический университет

Кафедра информационных и компьютерных систем

Программная система "Футбольный чемпионат"

Курсовая работа по дисциплине “Организация баз данных”

Выполнили

студенты гр. КИ-104А.Г. Войцеховский

А.Г. Райская

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

Ассистент М.В. Харченко

Чернигов 2013

Реферат

Курсовая работа, 86 с., рис.21, 9 источников, 2 приложения.

Цель разработки курсовой работы - реализовать приложение, которое позволит работать с БД, как посредсредством тонкого клиента, так и посредством настольного приложения.

Основным методом проектирования модулей приложения - использование UML - диаграмм. Таким образом, при наличии лицензионного программного обеспечения можно было экспортировать разработанные классы в среду Eclipse EE.

В процессе написания приложения были разработаны и созданы две фабрики DAOTourFirma и ServiceTourFirma для работы с сущностями. С помощью ServiceTourFirma была дополнительно реализована бизнес-логика.

Также была использована технология Servlet- и JSP-контейнера. Так как сервлеты и jsp-страницы вызываются через HTTP-протокол, то Servlet-контейнер и JSP-контейнер часто сопровождает еще один компонент - web-сервер, который тоже может быть написан на Java.

В качестве сервера был использован сервер Tomcat 6.0. Приложение было разработано с использованием комплекта JDK версии 1.7.

В ходе выполнения данной курсовой работы для работы с базой данных использовалась СУБД PostgerSQL 9.0. Была создана база данных, которая состоит из 9 таблиц. В каждой таблице уникальный первичный ключ является внешним. Это дополнительное служебное поле, добавленное к уже имеющимся информационным полям таблицы, единственное предназначение которого -- служить первичным ключом. Значения этого поля не образуется на основе каких-либо других данных из БД, а генерируются искусственно. Главное достоинство внешнего ключа состоит в том, что он никогда не изменяется, поскольку не является информативным полем таблицы

В ходе разработки было получено корпоративное приложение «Футбольный чемпионат» доведенное до уровня стабильной версии. Результат разработки оформлен в виде программного проекта, приводимого в приложении к курсовой работе.

Для своей работы корпоративное приложение требует минимально: 1024 Мб оперативной памяти, процессор не ниже Atom 1100 МГц и любой браузер. Требования к операционной системы - Windows, Unix.

Дальнейшее развитие работы возможно в сторону усовершенствования работы сессий.

Реферат

Курсовая работа, 86 с., 21 рис., 9 джерел, 2 додатка.

Об"єктом розробки є корпоративна програма, яка дозволяє працювати с БД, як за допомогою тонкого клієнту, так і за допомогою веб сервісів.

Основним методом проектування модулей програми - використання UML - діаграм. Таким чином при наявності ліцензійного програмного забезпечення можна було експортувати розлоблені класи в Eclipse EE.

В процесі написання програми були розроблені і створені дві фабрики DAOTourFirma и ServiceTourFirma для роботи із сутностями. З допомогою ServiceTourFirma була додатково реалізована бізнес-логіка.

Також була використана технологія Servlet- и JSP-контейнера. Так як сервлети и jsp-сторінки викликаються через HTTP-протокол, то Servlet-контейнер и JSP-контейнер часто супроводжує ще один компонент - web-сервер, який також може бути написан на Java.

В якості сервера був використаний сервер Tomcat 6.0. Программа була розроблена з використанням комплекта JDK версії 1.7.

У ході виконання даної курсової роботи для роботи з базою даних використовувалася СУБД PostgerSQL 9.0. Була створена база даних, яка складається з 9 таблиць. У кожній таблиці унікальний первинний ключ є зовнішнім. Це додаткове службове поле, додане до вже наявних інформаційних полях таблиці, єдине призначення якого - служити первинним ключем. Значення цього поля не утворюється на основі будь-яких інших даних з БД, а генеруються штучно. Головне достоїнство зовнішнього ключа полягає в тому, що він ніколи не змінюється, оскільки не є інформативним полем таблиці

В ході розробки було отримано корпоративну програму «Футбольний чемпіонат», яка була доведена до рівня стабільного релізу. Результат розробки оформлено у вигляді програмного проекту, який наводиться в додатку до курсової роботи.

Для своєї роботи корпоративна програма потребує мінімально: 1024 Мб оперативної памяті, процесор не нижче Atom 1100 МГц и будь-який браузер. Вимоги до операційної системи - Windows, Unix.

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

Java, C#, ORM, JSP, JPA, SQL, Servlet, HTML, TAG, JS

The Abstract

Course project, 86 p., Pic.21, 9 sources, 2 of the annex.

The object is to develop an application that enables you to work with the database, as through a thin client or through a desktop application.

The basic method of designing application modules - use UML - diagrams. Thus, if software could be developed to export the classes in the environment Eclipse EE.

During the writing of applications have been developed and set up two factories DAOTourFirma and ServiceTourFirma to work with the entities. With ServiceTourFirma have been further implemented business logic.

In the course of the course work for the operation of the database used DBMS PostgerSQL 9.0. A database, which consists of 9 tables. In each table a unique primary key is external. This is an optional service field, added to the already existing information fields of the table, the only purpose of which - to serve as a primary key. The values of this field is not formed on the basis of any other data from the database, and generated artificially. The main advantage of the foreign key is that it never changes, because it is an informative table field.

Also, the technology has been used, and Servlet-JSP-container. Because servlets and jsp-pages are invoked via HTTP-protocol, Servlet-JSP-container and the container is often accompanied by another component - web-server, which can also be written in Java.

During the development of enterprise applications have been received «Football championat» brought to the level of beta. The result of the development of the form of a software project, contained in the annex to the course work.

For its corporate application requires a minimum: 1024 MiB of RAM, the CPU is not Atom below 1100 MHz and a browser. Requirements for the operating system - Windows, Unix.

Further development work is possible to improve work with session.

Java, C#, ORM, JSP, JPA, SQL, Servlet, HTML, TAG, JS

Введение

1. Анализ решаемой задачи

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

1.2 Цели и задачи системы

1.3 Назначение системы

1.4 Требования к системе

2. Проектирование

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

2.1.1 Сервер базы данных

2.1.2 Технологии реализации системы

2.2 Проектирование архитектуры системы

2.2.1 Проектирование слоя бизнес логики и бизнес правил

2.2.2 Проектирование слоя доступа к данным

2.2.3 Проектирование слоя отображения

3. Разработка

3.1 Разработка базы данных системы

3.1.1 Разработка схемы базы данных

3.1.2 Обеспечение целостности данных

3.1.3 Разработка базовых запросов

3.1.4 Создание ролей, выбор индексов и представлений

3.1.5 Разработка хранимых процедур и триггеров

3.1.6 Организация защиты данных

3.1.7 Объектно-реляционное отображение

3.2 Разработка модулей системы

3.2.1 Разработка модулей слоя бизнес-логики и бизнес-правил

3.2.2 Разработка модулей слоя доступа к данным

3.2.3 Разработка модулей слоя сервиса

3.2.4 Разработка модулей слоя отображения

Список использованных источников

Введение

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

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

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

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

Множество пользователей обращаются к данным параллельно. Как правило, их количество не превышает сотни, но для систем, размещенных в среде Web, этот показатель возрастает на несколько порядков.

При больших объемах данных в приложении должен быть предусмотрен богатый пользовательский интерфейс.

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

Корпоративные приложения, как правило, являются сложными программными системами.

1. Анализ решаемой задачи

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

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

Футбольный чемпионат является массовым мероприятием, что в свою очередь гласит о необходимости наличия определенного внутреннего механизма, который бы координировал его прохождение. Таким образом можно выделить высший исполнительный орган - исполнительный комитет, который берет на себя всю ответственность по организации и проведению чемпионата. Он состоит из президента и других членов, избранных Конгрессом (высшим правящим органом определенного футбольного союза) чемпионата. Конгресс проводится ежегодно. Исполнительный комитет может инициировать второй Очередной Конгресс для решения финансовых вопросов и/или вопросов повышенной важности.

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

Срок полномочий для президента и членов исполкома начинается по окончании Конгресса, на котором они избраны, и заканчивается по окончании Конгресса, на котором избран его преемник. Назначение женщины в члены исполкома на четыре года производится на учредительном собрании Исполнительного комитета.

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

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

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

1.2 Цели и задачи системы

Целью системы «Футбольный чемпионат» является автоматизация процесса проведения чемпионатов. Данное приложение несёт информативный характер: позволяет автоматизировать подсчёт количества выигрышей, проигрышей и ничьей, а также начисление очков командам в соответствии с результатами проведения матча(3 очка - выигрыш, 2 - ничья, 1 - проигрыш). Приложение позволяет при помощи форм ввода-вывода добавлять новые, удалять и изменять данные турнирной таблицы. Есть возможность просмотра данных о работниках и о командах, а также просмотр 10 лучших команд и результаты матчем, которые были проведены в текучий день.

1.3 Назначение системы

Разрабатываемая в рамках данного курсового проекта система «Футбольный чемпионат» предназначена для всех пользователей, которые интересуются результатами проведённых матчей. Авторизация не является общей в нашей системе. Гость может не авторизироватся, а просто зайти и просмотреть информацию о чемпионате. Менеджер, президент и администратор должны ввести персональные данные для определения в системе. Под персональными данными подразумеваются логин и пароль. После подтверждения пользователем введенных данных программная система проверяет их истинность. Сначала проверяется логин, если он не найден в базе, система выдает сообщение о том, что пользователя с таким именем не существует. В случае, если имя корректно, проверяется контрольная сумма пароля. Если она не совпадает, то пароль неправильный. Для большей безопасности системы после вычисления контрольной суммы проверяется совпадение всего пароля. Если логин и пароль подлинные и подходящие и являются парой «значение-ключ», то пользователь входит в систему, при этом ему присваивается статус президента, администратора или же менеджера.

На рисунке 1.1 представлена диаграмма вариантов использования для роли Президент чемпионата

Рисунок 1.1 - Диаграмма вариантов использования для роли Президент чемпионата

После входа в систему президент имеет следующие возможности: управление кадрами и составления бюджета.

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

На рисунке 1.2 представлена диаграмма вариантов использования для роли Администратор

Рисунок 1.2 - Диаграмма вариантов использования для роли Администратор

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

Вариант использования «Управлять учётными записями» имеет следующий сценарий: Если это добавление нового пользователя, то заполнить соответствующую формулу и сохранить изменения; если это изменение или удаление пользователя, то нужно его сначала найти в базе, при удалении - уничтожить данные о пользователе, при изменении - скорректировать их и сохранить.

На рисунке 1.3 представлена диаграмма вариантов использования для роли Менеджер.

Рисунок 1.3 - Диаграмма вариантов использования для роли Менеджер

После входа в систему Менеджер имеет следующие возможности: заполнить, удалить или просмотреть записи в турнирной таблице.

На рисунке 1.4 представлена диаграмма вариантов использования для роли Гость.

Рисунок 1.4 - Диаграмма вариантов использования для роли Гость

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

1.4 Требования к системе

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

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

Согласно бизнес-логике системы необходимо реализовать: автоматическое начисление очков командам в зависимости от выигрыша, проигрыша или ничьи в данном матче.

2. Проектирование

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

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

2.1.1 Сервер базы данных

На данный момент существует огромное количество серверов баз данных таких как: MySQL, PostgreSQL, Microsoft Access и другие.

PostgreSQL - это объектно-реляционная система управления базами данных, работающая как клиент-серверная система. Основываясь на базовых понятиях реляционных БД, PostgreSQL поддерживает и ряд "объектных" операций, например, наследование. PostgreSQL соответствует базовой спецификации SQL99 и поддерживает большое число возможностей, описанных стандартом SQL92.

Oracle несколько превосходит PostgreSQL в таких вопросах как использование индексов, репликация и восстановление данных, да и вообще инструменты администрирования. Oracle более развиты (но вместе с тем и более сложны). С другой стороны, PostgreSQL предоставляет возможность использовать в качестве процедурного языка помимо PL/pgSQL (очень схожего с PL/SQL, используемым в Oralce), также PL/Perl, PL/Python, PL/Tcl, что позволяет разработчику выбрать более привычный инструмент.

В MySQL каждая таблица заносится в собственный файл (для большинства типов БД), организуея единую файловую структуру.

В MySQL акцент делается на наилучшую скорость чтения (выборки) данных, чем и объясняется популярность этой СУБД в среде веб-разработчиков, где выборка - основная операция. Достигается это отсутствием транзакций (они реализованы только для некоторых типов таблиц, например InnoDB, BerkleyDB) и многопоточной работой, однако это же и является причиной несколько меньшей надежности данной СУБД. В плане прав доступа MySQL позволяет задавать права доступа не только на уровне таблицы, но и на уровне столбца, однако в PostgreSQL это компенсируется возможностью создавать пользовательские представления.

Apache Derby это реляционная СУБД, написанная на Java, предназначенная для встраивания в Java-приложения или обработки транзакций в реальном времени. Занимает 2 MB на диске. Apache Derby разрабатывается как open source и распространяется на условиях лицензии Apache 2.0. Дерби был ранее известен как IBM Cloudscape. Sun распространяет те же бинарные файлы под именем Java DB.

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

2.1.2 Технологии реализации системы

JSP (JavaServer Pages) -- технология, позволяющая веб-разработчикам легко создавать содержимое, которое имеет как статические, так и динамические компоненты. По сути, страница JSP является текстовым документом, который содержит текст двух типов: статические исходные данные, которые могут быть оформлены в одном из текстовых форматов HTML, SVG, WML, или XML, и JSP элементы, которые конструируют динамическое содержимое. Кроме этого могут использоваться библиотеки JSP тегов, а также EL (Expression Language), для внедрения Java-кода в статичное содержимое JSP-страниц.

JSP -- одна из высокопроизводительных технологий, так как весь код страницы транслируется в java-код сервлета с помощью компилятора JSP страниц Jasper, и затем компилируется в байт-код виртуальной машины java (JVM). Контейнеры сервлетов, способные исполнять JSP страницы, написаны на языке Java, который может работать на различных платформах. JSP страницы загружаются на сервере и управляются из структуры специального Java server packet, который называется Java EE Web Application, в большинстве своём упакованные в файловые архивы.war и.ear.

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

JSP 2.0 это новая версия спецификации JSP дополнена функциональностью увеличивающей скорость работы программиста. А именно:

– Expression Language (EL) -- язык выражений, позволяет среди прочего создавать разработчикам шаблоны в стиле Velocity;

– более простой и быстрый способ создавать новые теги с помощью файлов.tag, теперь для создания новых тегов не обязательно знать Java;

– удобный способ управления вложеными бинами (JavaBeans);

– более быстрый и лёгкий способ отображения параметров переменных.

Сервлет является Java-интерфейсом, реализация которого расширяет функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ.

Хотя сервлеты могут обслуживать любые запросы, они обычно используются для расширения веб-серверов. Для таких приложений технология Java Servlet определяет HTTP-специфичные сервлет классы.

JSTL(JavaServer Pages Standard Tag Library) -- в переводе с английского «стандартная библиотека тегов JSP». Она расширяет спецификацию JSP, добавляя библиотеку JSP тегов для общих нужд, таких как разбор XML данных, условная обработка, создание циклов и поддержка интернационализации. JSTL -- конечный результат JSR 52, разработанного в рамках JCP(Процесса Java сообщества).

JSTL является альтернативой такому виду встроенной в JSP логики, как скриплеты, то есть прямые вставки Java кода. Использование стандартизованного множества тегов предпочтительнее, поскольку получаемый код легче поддерживать и проще отделять бизнес-логику от логики отображения.

Java Persistence API (JPA) -- API, входящий с версии Java 5 в состав платформ Java SE и Java EE, предоставляет возможность сохранять в удобном виде Java-объекты в базе данных.

Существует несколько реализаций этого интерфейса, одна из самых популярных использует для этого Hibernate.

Поддержка сохранности данных, предоставляемая JPA , покрывает области:

– непосредственно API, заданный в пакете javax.persistence;

– платформо-независимый объектно-ориентированный язык запросов Java Persistence Query Language;

– метаинформация, описывающая связи между объектами;

– генерация DDL для сущностей.

2.2 Проектирование архитектуры системы

слой база данных модуль servlet

Архитектура системы будет такой, какая приведена в анализе (рисунок 1.1) и методах решения задачи.

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

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

Поэтому он заслуживает наиболее тщательного осмысления. Нередко подобными решениями как раз и обусловливаются варианты компоновки бизнес - логики.

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

На сегодняшний день Java разработчики могут воспользоваться уже имеющимися средствами: сериализация, средства объектно - реляционного отображения, объектные базы данных и EJB. Каждое из этих средств имеет свои области применения и, следовательно, некоторые недостатки. JDO позволяет устранить эти недостатки и обеспечивает большую прозрачность.

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

Объектно-реляционное отображение(JPA). JPA не является новой технологией, а, скорее, это собрание идей лучших из имеющихся технологий, таких как Hibernate, TopLink и JDO. Как результат JPA является стандартизованной спецификацией входящей в J2EE5, что позволяет строить слой сохранения данных независимо от каких-либо конкретных провайдеров. Т.е. реализаций спецификации JPA может быть много, одной из таких, например, является фреймворк OpenJPA или тот же Hibernate.

Объектные базы данных . Объектные базы данных были специально разработаны для хранения объектов и полностью вписываются в концепцию объектно-ориентированного программирования. Object Database Management Group (ODMG) была создана для разработки единого API для работы с такими базами. Однако, многие поставщики баз данных все еще не решаются перейти с хорошо себя зарекомендовавшей реляционной системы на объектно - ориентированную. Так же меньшее число средств анализа данных доступно для объектных баз и очень большое количество данных уже сохранено в реляционных базах. По этим причинам, а так же по множеству других, объектные базы данных не нашли такого широкого применения, на которое надеялись их создатели;

Enterprise Java Beans (EJBs) . EJB представляют собой компоненты, которые хранят свое состояние в реляционной базе данных и обеспечивают объектно-ориентированное отображение постоянных данных. В отличие от продуктов объектно-реляционного отображения, EJB имеют жесткую спецификацию, что делает возможным использование продуктов от различных поставщиков. К сожалению, EJB стандарт ограничен в объектно-ориентированном отношении. Они не поддерживают наследование, полиморфизм и т.п. Так же EJB компоненты требуют больших затрат для их написания и часто специального программного обеспечения для их работы.

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

Hibernate, iBATIS, Java Data Objects (JDO), JPOX, Cayenne, TopLink, JPA.

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

2.2.1 Проектирование слоя бизнес логики и бизнес правил

Принцип работы данной системы:

Администратор заносит данные о работниках, чемпионатах, командах;

Пользователи просматривают турнирную таблицу и информацию о чемпионатах;

Регистрируются не обязательнаю, она необходима только для модификации данных;

Была созданная дополнительная таблица для реализации связи много-ко-многим. zakaz_dop_uslugi (связывает заказ с дополнительными услугами).

Следовательно, можно спроектировать такие классы домена (рисунок 2.4).

Рисунок 2.4 - Классы домена

Согласно бизнес-логике системы необходимо автоматически начислять очки за проигрыши, выигрыши и ничьи соответственно.

2.2.2 Проектирование слоя доступа к данным

Для доступа к данным, хранящимся во внешнем хранилище, удобнее всего определить отдельные интерфейсы с методами для манипуляции данными. Реализация этих интерфейсов может быть любая, например, использующая JDBC или JPA, JAXB или даже простые Java-коллекции. В качестве упращения данного курсового проекта был выбран JPA. Для того, чтобы можно было использовать разные реализации интерфейсов доступа к данным удобно применить шаблон проектирования "Абстрактная фабрика" или "Фабричный метод". В данном случае такой фабрикой выступает абстрактный класс DAOFactory, который содержит определение абстрактных методов, возвращающих реализации интерфейсов(рисунок 2.4).

Среди всех операций доступа к данным можно отчетливо выделить базовые CRUD (create, read, update, delete) опреации - создание объекта, удаление объекта, обновление объекта, получение объекта по идентификатору, и получение всех объектов. Вынесение таких операций в отдельный супер класс позволит избежать дублирования кода. Такие базовые операции также были вынесены в отдельный базовый интерфейс IGenericDao, который используя Java Generics позволяет указать класс объектов, с которыми будет проходить работа.

Рисунок 2.4 - Диаграмма классов DAO

2.2.3 Проектирование слоя отображения

Данный слой представляет собой тонкий клиент.

Для работы с приложением были созданы страниц, который обеспечивают вывод, добавление, редактирование и удаление данных. Главная страница, на которую попадает незарегестрированный пользователь, index.jsp. Также были созданы дополнительные странички для добавления и редактирования данных, но только на правах администратора.

3. Разработка

3.1 Разработка базы данных системы

3.1.1 Разработка схемы базы данных

Исходя из анализа, проектирования слоя бизнес логики и правил, структуру БД можно сделать следующей (рисунок 3.1)

Рисунок 3.1 - Логическая схема БД

Физическая схема БД показана на рисунке 3.2

Рисунок 3.2 - Физическая схема БД

В базе данных программной системы содержится вся информация относительно её объектов, а именно:

Турнирная таблица;

Команды;

Пользователь;

Работник;

Зарплата;

Чемпионат.

В каждой таблице уникальный первичный ключ является внешним. Это дополнительное служебное поле, добавленное к уже имеющимся информационным полям таблицы, единственное предназначение которого -- служить первичным ключом. Значения этого поля не образуется на основе каких-либо других данных из БД, а генерируются искусственно. Главное достоинство внешнего ключа состоит в том, что он никогда не изменяется, поскольку не является информативным полем таблицы (не несёт никакой информации об описываемом записью объекте). Использовать внешний ключ имеет смысл в случае, когда возможны изменения полей, составляющих (естественный) первичный ключ. В этом случае возникает проблема так называемых "каскадных изменений". При использовании же внешнего ключа в качестве первичного, изменять его не придётся. Также, при выполнении запросов, использующих внешние ключи, сравнение полей будет происходить быстрее, в особенности, если естественный первичный ключ представляет собой строку.

3.1.2 Обеспечение целостности данных

Ограничения целостности приведены в таблице 3.1

Таблица 3.1 - Описание таблиц БД

Название таблицы

Описание

Тип данных

Ограничение

идентификационный код работника

Первичный ключ

Адрес работника

строка, 20 символов

обязательное для ввода

Дата рождения

строка, 20 символов

обязательное для ввода

Фамилия, имя. Отчество работника

строка, 60 символов

обязательное для ввода;

Телефонный номер работника

Строка 20 символов

обязательное для ввода

Внешний ключ пользователя

целое число

Внешний ключ чемпионата

целое число

для ввода; уникальных значений

идентификационный код матча

Первичный ключ

Дата проведения матча

строка, 20 символов

обязательное для ввода

Команда играющая в гостях

строка, 20 символов

обязательное для ввода

Принимающая команда

строка, 20 символов

обязательное для ввода

Счет игры

строка, 20 символов

Номер тура

целое число

обязательное для ввода

Внешний ключ команды

целое число

для ввода; уникальных значений

идентификационный код пользователя

Первичный ключ

Логин для входа на сай

строка, 20 символов

обязательное для ввода

Пароль для входа на сай

строка, 20 символов

обязательное для ввода

Внешний ключ роли

целое число

для ввода; уникальных значений

идентификационный код таблицы

Первичный ключ

Количество матчей, сыгранных в ничью

целое число

обязательное для ввода

Количество очков за матч

целое число

обязательное для ввода

Количество проигранных матчей

целое число

обязательное для ввода

Количество выигранных матчей

целое число

обязательное для ввода

идентификационный код зарплаты

Первичный ключ

Количество выработанных часов

целое число

обязательное для ввода

Размер премии

Вещественный тип данных

Размер штрафа

Вещественный тип данных

Внешний ключ работника

целое число

для ввода; уникальных значений

идентификационный код права

Первичный ключ

Внешний ключ роли

целое число

для ввода; уникальных значений

Действие, которое может выполнять указанная роль

строка, 30 символов

для ввода; уникальных значений

идентификационный код роли

Первичный ключ

строка, 30 символов

обязательное для ввода

идентификационный код команды

Первичный ключ

Название города

строка, 20 символов

обязательное для ввода

Название команды

строка, 20 символов

обязательное для ввода

ФИО тренера

строка, 60 символов

обязательное для ввода

Внешний ключ таблицы

целое число

обязательное для ввода

идентификационный код чемпионата

Первичный ключ

Дата проведения чемпионата

обязательное для ввода

Название страны

строка, 40 символов

обязательное для ввода

Внешний ключ таблицы

целое число

обязательное для ввода

3.1.3 Разработка базовых запросов

При разработке базовых запросов, JPQL был выбран языком разработки.

Ниже приведено описание основных запросов, их реализация приведена в приложении А.

getKomandasByTablicaId - запрос на выборку значений из таблицы «Команда», где id таблицы - параметр для получения команды.

findKomandaByName- запрос на выборку команды, где name таблицы - параметр для получения команды.

getTablicaByChempionatId - запрос на выборку значений из таблицы «Таблица», где id чемпионата - параметр для получения таблицы.

getKomandasByTablicaId - запрос на выборку значений из таблицы «Команда», где id таблицы - параметр для получения таблицы.

findUserByNameAndPassword- запрос на выборку значений из таблицы «Пользователь», где login пользователя равно первому параметру, а password второму.

getWorkerByChempionatId- запрос на выборку значений из таблицы «Работник», где id чемпионата - параметр для получения работника.

getZarplatasByWorkerId - запрос на выборку значений из таблицы «Зарплата», где id работника - параметр для получения зарплаты.

3.1.4 Создание ролей, выбор индексов и представлений

Роли:

Были созданы несколько ролей с различными правами доступа к базам данных:

Create role "admin" LOGIN UNENCRYPTED PASSWORD "qwerty"

Create role "manager" LOGIN UNENCRYPTED PASSWORD "qwerty1"

Create role "director" LOGIN UNENCRYPTED PASSWORD "qwerty2"

Права доступа к отношениям chempionat, komanda, matchi, prava, "role", tablica, users, worker, zarplata могут быть описаны следующим образом:

grant select, delete, insert, update on chempionat, komanda, matchi, prava, "role", tablica, users, worker, zarplata to admin

grant select, delete, insert, update on tablica, matchi, komanda to manager

Индексы:

При выборе индексов главным критерием было, частое обращение к определенному полю

Для повышения эффективности работы с данными были созданы индексы для полей часто используемых при выборке данных:

create index i_worker on worker(id);

create index i_komanda on komanda(id);

create index i_matchi on matchi(id);

create index i_zarplata on zarplata(id)

Представления:

Для реализации частичного доступа к таблице tablica было создано следующее представление:

create view w_guest (kolnichiyih,kolocheck,kolproigrashey,kolviigrashey,idchampionata) as

select kolnichiyih, kolocheck, kolproigrashey, kolviigrashey, idchampionata from tablica ;

create role guest LOGIN UNENCRYPTED PASSWORD "qwerty3"

grant select on w_guest to guest

3.1.5 Разработка хранимых процедур и триггеров

Триггеры:

1) Триггер, который вносит значение в поле premiya при добавлении записи в таблицу Zarplata. Если значение поля kolChasov превышает определенное значение.

CREATE OR REPLACE FUNCTION ins()

RETURNS trigger AS

UPDATE "zarplata"

SET "premiya" =("kolchasov" - 176)*100

From "zarplata", "worker"

where ("kolchasov" >8);

LANGUAGE "plpgsql";

CREATE TRIGGER trig_11 AFTER INSERT ON "zarplata"

FOR EACH ROW EXECUTE PROCEDURE ins();

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

create or replace function addSumInZarplata()returns trigger as

declare shtr float:=(select shtraf from zarplata where id=new.id);

declare prem float:=(select premiya from zarplata where id=new.id);

declare s float:= (select summa from zarplata where id=new.id);

update zarplata set

summa = s+prem-shtr where id=new.id;

language plpgsql;

create trigger trigAddSumZarplat

on zarplata for each row

execute procedure addSumInZarplata();

Хранимые процедуры :

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

CREATE OR REPLACE FUNCTION func_1()

RETURNS TABLE(id integer, gost character varying(30), hozain character varying(30),

schet character varying(10), tur integer, idkomandy integer, data date) AS $$

SELECT * FROM "matchi" WHERE "data" = timenow()::date; $$

2) Разработать хранимую процедуру, которая будет возвращать название команды, которая набрала наименьшее количество очков в определённом чемпионате. Входные параметры - название страны. Выходным параметром будет название команды.

CREATE OR REPLACE FUNCTION func_2(strana character varying(40))

SELECT "name" FROM "komanda", "tablica", "chempionat" WHERE "komanda"."idtablici" = "tablica"."id" AND "kolocheck" IN (SELECT MIN("kolocheck") FROM "tablica") AND "idchampionata" IN (SELECT "id" FROM "chempionat" WHERE "strana" = $1); $$

3) Разработать хранимую процедуру, которая будет возвращать top-10 команд турнирной таблицы. Входные параметры - название страны. Выходным параметром будет таблица, состоящая из названий 10-ти лучших команд и их количества очков.

CREATE OR REPLACE FUNCTION func_3(strana character varying(40))

RETURNS TABLE(_name character varying(20), kolocheck integer) AS $$

WITH subquery AS (SELECT "name", "kolocheck" FROM "komanda", "tablica", "chempionat" WHERE "komanda"."idtablici" = "tablica"."id" AND "idchampionata" IN (SELECT "id" FROM "chempionat" WHERE "strana" = $1) GROUP BY 1, 2 ORDER BY "kolocheck" DESC)

SELECT * FROM "subquery" GROUP BY 1, 2 HAVING COUNT("name") <= 10; $$

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

CREATE OR REPLACE FUNCTION func_5(strana character varying(40))

RETURNS character varying(20) AS $$

SELECT "name" FROM "komanda", "tablica", "chempionat"

WHERE "komanda"."idtablici" = "tablica"."id" AND "kolocheck" IN (SELECT MAX("kolocheck") FROM "tablica") AND "idchampionata" IN (SELECT "id" FROM "chempionat" WHERE "strana" = $1); $$

3.1.6 Организация защиты данных

В разработанной системе имеется несколько ролей и для каждой них в программной системе «Футбольный чемпионат» разный функционал. Возможности каждого из видов пользователей в данной программной системе приведены в таблице 3.2

Таблица 3.2- Защита данных

Пользователь/

Страница

Администратор

Зарегистрированный пользователь

Незарегистрированный пользователь

Просмотр списка чемпионатов, список мачей, проведённых в текущий день,турнирной таблицы, переход по страницам, изменение данных таблицы чемпионата

Просмотр списка чемпионатов, список мачей, проведённых в текущий день турнирной таблицы, переход по страницам, переход на страницу личной информации

Просмотр списка чемпионатов, список мачей, проведённых в текущий день турнирной таблицы переход по страницам, возможность регистрации

Редактирование данных таблицы

Просмотр турнирной таблицы, детальной информации о команде, топ 10 команд, лучшую и худшую команду

Просмотр турнирной таблицы, детальной информации о команде, топ 10 команд, лучшую и худшую команду

addEdtKomanda.jsp

Редактирование данных о команде

Просмотр детальной информации о команде

Просмотр детальной информации о команде

Просмотр матчей, добавление, удаление, редактирование

Просмотр матчей, изменение данных матча

Просмотр матчей

Добавление, удаление, изменение прав

Просмотр зарплаты

Просмотр, редактирование зарплаты

3.1.7 Объектно-реляционное отображение

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

Объектно-реляционное отображение (ORM) - это техника программирования, которая связывает реляционную базу данных с концепциями объектно-ориентированного программирования и создает «виртуальную базу данных объектов».

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

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

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

Но ORM избавляет программиста от написания большого количества кода, часто однообразного и подверженного ошибкам, тем самым значительно повышая скорость разработки. Кроме того, большинство современных реализаций ORM позволяют программисту при необходимости самому жёстко задать код SQL-запросов, который будет использоваться при тех или иных действиях (сохранение в базу данных, загрузка, поиск и т. д.) с постоянным объектом.

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

Для её решения был выбран JPA(Java Persistence API).

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

Рисунок 3.3 - Архитектура JPA

Persistence - класс содержит вспомогательные статические методы для получения EntityManagerFactory независимым от поставщика способом.

EntityManagerFactory - интерфейс, реализация которого является фабрикой для создания объектов EntityManager.

EntityManager - является основным JPA интерфейсом используемый в приложениях. Каждый EntityManager управляет набором хранимых объектов и содержит API для вставки новых объектов и удаления существующих. С каждым EntityManager связан свой EntityTransaction и, также, EntityManager выступает фабрикой для объектов Query.

Entity - сущность, которая является хранимым объектом.

EntityTransaction - объект, который производит управления транзакциями при выполнении операций с хранимыми объектами Entity. Операции группируются и либо выполняются полностью, либо нет, оставляя хранилище данных в неизменном состоянии.

Query - интерфейс для выполнения запросов по нахождению хранимых объектов, которые удовлетворяют заданным критериям. JPA поддерживает запросы на объектном языке Java Persistence Query Language (JPQL) и стандартном структурированном языке Structured Query Language (SQL). Получить экземпляры Query можно из объекта EntityManager.

3.2 Разработка модулей системы

3.2.1 Разработка модулей слоя бизнес-логики и бизнес-правил

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

Matchi.java - класс, который описывает матчи. Содержит такую информацию: дата проведения матча, гость, хозяин, счёт матча, номер тура. Он содержит методы получения и записи полей.

Komanda.java - класс, который описывает команды. Содержит такую информацию: название команды, ФИО тренера, город команды. Он содержит методы получения и записи полей.

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

Chempionat.java - класс, который описывает чемпионат. В нём содержатся следующая информация: дата начала дата окончания мемпионата, название страны, в которой он проводится. Он содержит методы получения и записи полей.

Worker.java - класс, который описывает работника. В нём содержатся следующая информация: ФИО работника, дата рождения, телефон, адрес. Он содержит методы получения и записи полей.

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

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

Prava.java - класс, который описывает права пользователя. В нём содержатся следующая информация: права, под пользователь которыми он входит в систему

3.2.2 Разработка модулей слоя доступа к данным

Доступ к данным осуществляется с помощью DAO. Этот модуль представлен двумя пакетами с интерфейсами и их реализациями. В нём содержатся следующие интерфейсы:

– ITablicaDao.java - интерфейс, который содержит описания методов, для работы c таблицей. В нём описан следующий методы:

public Collection getTablicasByChempionatId(Integer chId) throws PersistenceException метод для получения всех таблиц для заданного чемпионата.

Реализация методов находится в классе TablicaDaoJpa.

– IKomandaDao.java - интерфейс, который содержит описания методов, для работы со списком команд. В нём описаны следующие методы:

a) public Collection getKomandasByTablicaId(Integer chId) throws PersistenceException метод для получения всех команд определенной турнирной таблицы;

b) public Komanda findKomandaByName(String name) throws PersistenceException метод для получения команды по имени.

c) getTheWorstKomandaByChampId(String name) throws PersistenceException метод для получения наихудшей команды в чемпионате;

d) public String getTheBestKomandaByChampId(String name) throws PersistenceException метод для получения наилучшей команды в чемпионате;

e) public Collection getTopTenKomandasByChampId(String name) throws PersistenceException метод для получения 10 наилучших команд в чемпионате;

...

Подобные документы

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

    курсовая работа , добавлен 03.11.2012

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

    курсовая работа , добавлен 29.11.2015

    Характеристика основных потоков данных, существующих на предприятии. Способы и средства для разработки программного обеспечения. Проектирование пользовательского интерфейса. Разработка слоя взаимодействия с базой данных. Разработка слоя бизнес сервисов.

    дипломная работа , добавлен 10.07.2017

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

    курсовая работа , добавлен 17.06.2014

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

    курсовая работа , добавлен 22.02.2011

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

    дипломная работа , добавлен 03.07.2011

    Разработка и отладка БД серверного типа с веб-интерфейсом "Учет продукции" для мебельного производства. Физическая модель данных. Описание индексов и ограничений, запросов и представлений данных, отчетов и диаграмм. Описание триггеров и хранимых процедур.

    курсовая работа , добавлен 20.02.2015

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

    лабораторная работа , добавлен 13.02.2013

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

    курсовая работа , добавлен 21.05.2013

    Понятие базы данных. Разработка таблиц, форм ввода и вывода информации, основных запросов, хранимых процедур и триггеров базы "Доска объявлений". Подготовка для вывода на печать. Анализ необходимости администрирования, средств защиты информации.


Close