close

Вход

Забыли?

вход по аккаунту

?

9778.Разработка и создание баз данных средствами СУБД Access и SQL Server

код для вставкиСкачать
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Министерство образования и науки Российской федерации
Федеральное государственное бюджетное образовательное
учреждение высшего профессионального образования
«Оренбургский государственный университет»
Кафедра программного обеспечения вычислительной техники
и автоматизированных систем
С.А. Щелоков
РАЗРАБОТКА И СОЗДАНИЕ БАЗ ДАННЫХ
СРЕДСТВАМИ СУБД ACCESS И SQL
SERVER
Рекомендовано к изданию Ученым советом федерального государственного
бюджетного образовательного учреждения высшего профессионального
образования «Оренбургский государственный университет» в качестве
учебно-методического пособия для студентов, обучающихся по программам
высшего профессионального образования по направлениям подготовки
231000.62
Программная инженерия и 230100.62
Информатика и
вычислительная техника
Оренбург
2014
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
УДК 004.65(075.8)
ББК 32.973-018.2я73
Щ46
Рецензент – доцент, кандидат технических наук А.С. Боровский
Щ46
Щелоков, С.А.
Разработка и создание баз данных средствами СУБД Access и SQL Server:
практикум / С.А.Щелоков; Оренбургский гос. ун-т. – Оренбург: ОГУ, 2014.
– 109 с.
Практикум «Разработка и создание баз данных средствами СУБД Access и
SQL Server» разработан к лабораторным работам по курсу «Базы данных» и
предназначен для учебно-методического обеспечения подготовки бакалавров по
направлениям подготовки 230100.62 Информатика и вычислительная техника
по профилю «Программное обеспечение средств вычислительной техники и
автоматизированных систем» и 231000.62 Программная инженерия
по
профилю «Разработка программно-информационных систем».
В практикуме изложены общие теоретические основы по системам
управления базами данных Access и SQL Server, методические основы по
этапам разработки и создания реляционных баз данных, варианты предметной
области, методические указания и примеры к выполнению лабораторных работ
по дисциплине «Базы данных».
УДК 004.65 (076.8)
ББК 32.973-018.2я73
© Щелоков С.А.,2014
© ОГУ, 2014
2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Содержание
Введение…………………………………………………………………....
4
1 Методические основы по разработке и созданию баз данных ……...
5
2 Разработка и создание базы данных средствами СУБД Access….….
13
2.1 Технология разработки таблиц базы данных ………………………..
13
2.2 Установление связей между таблицами ……………………………..
21
2.3 Технология разработки запросов …………………………………….
23
2.4 Методические указания по созданию запросов в СУБД Access……
31
2.5 Методические указания по созданию форм в СУБД Access……….
40
3
55
Разработка и создание базы данных средствами СУБД SQL Server..
3.1 Характеристика компонент и объектов СУБД SQL Server………..
55
3.2 Технология разработки базы данных средствами СУБД SQL Server
62
3.3 Методические указания по созданию базы данных в СУБД SQL
Server средствами Visual Studio и языка программирования C# ………
74
4 Задание на выполнение лабораторных работ и требования по
оформлению отчета ………………………………………………..………… 91
Список использованных источников………………………………………. 107
Приложение А (обязательное) Пример оформления задания на
лабораторную работу ………………………………………………………... 108
Приложение Б (обязательное) Пример оформления титульного листа
отчета по лабораторной работе ………………..……………………………
109
3
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Введение
Методические указания предназначены для выполнения лабораторных работ
по дисциплине «Базы данных».
Задачи, которые решаются при выполнении работ соответствуют рабочим
программам дисциплины:
- обучение технологии проектирования, производства и сопровождения баз
данных как объектов профессиональной деятельности;
- обучение технологии и инструментальных средств, применяемых на всех
этапах моделирования, проектирования, разработки и реализации баз данных;
- обучение методам, языкам и технологиям разработки корректных программ
SQL-запросов
информации
из
баз
данных,
интерфейсов
приложений
презентационной логики баз данных в соответствии с основными парадигмами
программирования;
- обучение методам разработки и анализа алгоритмов, моделей и структур
данных, объектов выбранной СУБД.
Выполнение
лабораторных
работ
позволяет
формировать
элементы
следующих компетенций в соответствии с ФГОС ВПО и ООП ВПО по данному
направлению подготовки:
владение
культурой
мышления,
способность
к
обобщению,
анализу,
восприятию информации, постановке цели и выбору путей её достижения (ОК–1);
понимание основных концепций, принципов, теорий и фактов, связанных с
информатикой (ПК-1);
способность формализовать предметную область программного проекта и
разработать спецификации для компонентов программного продукта (ПК-6);
способность создавать программные интерфейсы (ПК-14);
навыки
использования
средств
разработки
программного
интерфейса,
применения языков и методов формальных спецификаций, систем управления
базами данных (ПК-15).
4
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
1 Методические основы по разработке и созданию баз данных
Лабораторные работы по дисциплине «Базы данных» проводятся с целью
проведения исследований возможностей инструментальных средств СУБД Access,
SQL Server, программной системы MS Visual Studio, для разработки баз данных.
Для достижения поставленной цели студенты должны предварительно
провести анализ данных предметной области,
уяснить содержание и объем
обрабатываемой информации, построить схему информационных потоков, а затем
разработать:
1) Диаграммы структурного анализа данных предметной области по IDEFтехнологии (диаграммы IDEF0, IDEF3, DFD) с использованием САПР BPWin;
2) Информационно-логическую модель предметной области по нотациям
Ричарда Баркера (ER-диаграмма);
3) Даталогическую модель реляционной БД, нормализованную до НФБК в
СУБД SQL Server (в виде диаграммы схемы отношений);
4) Запросы к БД на уровне представлений в СУБД SQL Server (в виде
представлений View и параметрических запросов через функции пользователя или
хранимые процедуры);
5) Мероприятия по обеспечению целостности базы данных (разработка
триггеров);
6) Приложение интерфейса для SQL-сервера
базы данных на языке
программирования С# в программной среде Visual Studio (в структуре Windows
Form Application);
Отчет о проделанной работе представляется преподавателю поэтапно,
выполняется
на компьютере и сохраняется в файлах на внешнем диске студента
для дальнейшего оформления отчета по лабораторной работе.
Этап №1 - Анализ данных предметной области
Анализируется предметная область, определяется структура предприятия,
выявляются связи между структурными подразделениями по передаче и обработке
информации. Результаты анализа отображаются на схеме информационных потоков
(образец схемы показан на рисунке 1).
5
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Структура предприятия, информационные потоки
Руководство
предприятия
(Директор)
1,7
1,4
Бухгалтерия
3,4
,5,
6
4
3
Плановоэкономический
отдел
1
4
2, 3
Отдел кадров
Подразделение
2
6
Внешние
организации
1 – штатное расписание подразделения
2 – заявление о приеме/увольнении и пр.
3 – трудовой договор
4 – приказ о перемещении
5 – отчет о количественном составе контингента сотрудников
6 – внешний отчет
7 – отчет об исполнении штатного расписания
Рисунок 1 – Схема информационных потоков
Этап № 2 – Анализ информационных потоков с помощью средств
автоматизированного проектирования
Используя
САПР
BPWin,
разрабатывается
функциональная
модель
предметной области в виде диаграммы - IDEF0. Образец модели в виде контекстной
диаграммы и диаграммы декомпозиции показан на рисунках 2 и 3.
6
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 2 – Контекстная диаграмма IDEF0
Рисунок 3 – Диаграмма декомпозиции IDEF0
Используя
САПР
BPwin,
разрабатывается
информационная
модель
предметной области IDEF3 (Work Flow Diagram). Эту диаграмму называют
диаграммой последовательности по обработке информации. Образец модели
показан на рисунке 4.
7
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 4 – Диаграмма последовательности обработки информации
Используя
САПР
BPwin,
разрабаиывается
информационная
модель
предметной области DFD (DataFlow Diagram). Эту диаграмму называют диаграммой
потоков данных. Образец модели показан на рисунке 5.
Рисунок 5 – Диаграмма потоков данных
8
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Этап №3 – Построение инфологической модели (ИЛМ) по нотациям Ричарда
Баркера
После анализа информационных потоков в предметной области производится
определение сущностей в базе данных.
Кристофер Дейт предложил следующую классификацию сущностей. Он
определил
три основные класса сущностей: стержневые, ассоциативные и
характеристические, а также подкласс ассоциативных сущностей – обозначения.
Стержневая сущность
– это независимая, стержневая
сущность (студент,
преподаватель, кафедра). Названия сущностей помещаются в прямоугольники.
Ассоциативная сущность (ассоциация) – это связь между двумя или более
сущностями или экземплярами сущности.
Ассоциации
рассматриваются
как
полноправные сущности.
Характеристическая сущность (характеристика) – это связь, уточняющая
свойства основной сущности (частный случай ассоциации). Существование
характеристики полностью зависит от характеризуемой
сущности: если не будет
книги, то не будет и ее переизданий. Графическое изображение сущностей и
атрибутов показано на рисунке 6.
Обозначающая сущность или обозначение – это связь между двумя
сущностями и отличается от характеристики тем, что она не зависит от
обозначаемой сущности. Обозначения используют для хранения повторяющихся
значений больших текстовых атрибутов. Этот тип сущностей еще называют
кодификаторами, классификаторами.
Стержневая
Обозначение
Связь
Характеристика
Атрибут
Рисунок 6 – Графическое изображение сущностей и атрибутов
9
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Информационное проектирование ИЛМ производится по СDМ - методике
(Casting Developing Method) Ричарда
Баркера. Эту диаграмму еще называют
диаграммой «Сущность - связь». На рисунке 7 показан пример ER – диаграммы.
Типы инвентаря
Инвентарь
# * Код типа инвентаря
* Название
# * Код инвентаря
* Название
* Код типа инвентаря
Сотрудники
Должности
# * Код сотрудника
* Фамилия
* Имя
* Отчество
* Код должности
# * Код должности
* Название
* Описание
Склады
# * Код склада
* Название
* Телефон
Накладные
# * Код накладной
* Код типа накладной
* Дата
* Код склада
* Код сотрудника
* Код инвентаря
* Количество
Типы накладных
* Код типа накладной
* Название
Рисунок 7 – ER-диаграмма предметной области
К основным соглашениям правил графического отображения объектов
диаграммы относятся:
- классы объектов изображаются в прямоугольниках с закругленными углами;
- в названии класса первая буква заглавная, а в свойствах прописные буквы;
- связи обозначаются линиями;
- обозначение свойств:
- звездочка «*» - обозначает обязательное свойство;
- нолик
«о»
- обозначает необязательное свойство;
- решетка «#» - это ключевое свойство
10
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Этап №4 – Построение даталогической модели (схемы связей), выполнение
запросов
Используя
инструментальные
средства
СУБД
Access,
производится
построение шаблонов таблиц в режиме «Конструктор» и построение схемы связей
базы данных. Образец схемы связей показан на рисунке 8.
Рисунок 8 - Даталогическая модель в СУБД Access
Даталогическая модель (ДЛМ) в СУБД SQL Server разрабатывается на основе
объекта «Диаграмма». Вариант ДЛМ показан на рисунке 9.
11
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 9 - Даталогическая модель в СУБД SQL Server
12
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2 Разработка и создание базы данных средствами СУБД Access
2.1 Технология разработки таблиц базы данных
Процесс создания таблиц баз данных можно подразделить на следующие
этапы:
•
создание таблицы с помощью Конструктора таблиц;
•
установление связей между таблицами;
•
заполнение таблиц данными.
Прежде чем включить компьютер и запустить ACCESS, рекомендуется с
карандашом в руках составить обязательные характеристики объектов БД, т.е.
модель данных на физическом уровне:
•
установить номенклатуру признаков описания объекта (состав и число
полей);
•
установить характеристики каждого поля таблицы;
•
оформить результаты в табличном виде (таблица 1).
После
того
как
определен
состав
признаков
описания
объектов
и
соответствующие им характеристики полей продуманы, можно приступить к
созданию таблицы в среде ACCESS. В имеющихся версиях этой системы
последовательность действий практически одинакова. Отличия состоят лишь в
некоторой разнице оформления диалоговых окон.
Таблица 1 – Таблица для описания характеристик полей БД
Состав
признаков
Характеристики полей БД
объектов БД
№ п/п Признак
Имя поля
Тип
Количество Точность
данных
символов
Для создания таблицы с помощью Конструктора таблиц необходимо
выполнить следующие действия:
•
включить компьютер и загрузить программное обеспечение Windows и
Access;
13
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
•
после загрузки Access в появившемся диалоговом окне дважды щелкнуть
кнопкой по меню Файл и выбрать команду Создать;
•
в появившемся диалоговом окне Создание активизировать переключатель
База данных, а затем щелкнуть мышью по кнопке ОК (рисунок 10);
Рисунок 10 – Диалоговое окно Создание базы данных
•
в следующем появившемся диалоговом окне Файл новой базы данных
присвоить имя файлу, указав при этом имя директории (папки), где будет храниться
БД; щелкнуть мышью по кнопке Создать (рисунок 11).
В следующем появившемся диалоговом окне База данных активизировать
закладку Таблица и выбрать команду Создать в режиме конструктора.
В появившемся диалоговом окне Конструктор таблиц создать структуру
таблицы в соответствии с установленными составом и характеристиками полей.
14
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 11 – Диалоговое окно указания имени и места файла БД
Конструктор таблиц (рисунок 12) содержит четыре информационных блока:
• имя поля;
• тип данных;
• описание;
• свойства поля.
Рисунок 12 – Окно Конструктора таблиц
15
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В блоке Свойства поля имеется два окна (закладки): Общие и Подстановка.
Свойства поля Общие в начале работы используются в варианте «по
умолчанию», а затем, по мере необходимости, уточняются. В окне Подстановка
можно задать список значений, который будет выводиться при вводе данных
непосредственно в таблицу. Пользователь в этом случае должен будет щелкнуть
мышью по нужному значению. Такие поля называют полями со списком.
При
задании
имен
полям
таблицы
необходимо
руководствоваться
следующими рекомендациями:
• имя поля не должно начинаться с пробела;
• в имени поля не должно быть знаков препинания, скобок, восклицательных
знаков;
• не допускается повторение имен в таблице;
• имена полей могут содержать до 255 символов. Имя следует задавать имя
минимальным числом символов (это необходимо для минимизации объема памяти и
времени поиска информации). Желательно, чтобы имя поля представляло
аббревиатуру названия признака объекта, которое будет вводиться в ячейки поля.
Заполнение информационных блоков следует производить последовательно
для каждого поля. Рекомендуем следующий порядок заполнения информационных
блоков:
• ввести имя поля;
• выбрать тип данных;
• ввести в строку блока Описание комментарий, поясняющий характер
вводимых значений в ячейку данного поля (в дальнейшем при заполнении таблицы
этот комментарий выводится в строку подсказки в нижней части экрана);
• задать свойства поля;
• повторить указанные действия для всех остальных полей таблицы.
После того как имя поля введено в соответствии с изложенными выше
рекомендациями, выбираем для него тип данных. В Конструкторе таблиц Microsoft
Access выбор типа данных можно осуществить выбором из списка. В списке
предлагаются следующие типы данных.
16
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Текстовый. Поле данного типа может содержать до 255 символов. Это могут
быть любые символы, в том числе и цифры. В текстовое поле могут вводиться и
одни цифры, если с ними не предполагается производить вычислений.
MEMO. Поле MEMO называют полем текстовых примечаний. Этот тип поля
предназначен для ввода в него текстовой информации длиной более 255 символов (в
Access 2000 – до 65 535 символов).
Числовой. Этот тип данных для характеристик объектов базы данных, которые
могут участвовать в математических расчетах.
Дата/Время. Такой тип данных предназначен для указания даты и (или)
времени. Он характеризует конкретную запись таблицы по времени (например, дата
поступления товара на склад или время начала и окончания работы пользователя в
сети Интернет). В данное поле можно вводить даты с 100 по 9999 г.
Денежный. Этот тип данных аналогичен числовому. Отличается от него
только характеристиками вводимых чисел. Точность числа не превышает четырех
знаков после запятой. Целая часть может содержать до 15 десятичных разрядов. В
конце числа могут быть проставлены обозначения валюты (р. или $).
Счетчик. Поле содержит уникальный (не повторяющийся) номер записи
таблицы БД. Значения этого поля не обновляются.
Логический. Тип поля, параметры которого могут принимать только два
значения, интерпретированные как ДА или НЕТ (Да/ Нет), Истина/Ложь,
Включено/Выключено. Поля логического тина не могут быть ключевыми, но могут
быть индексными.
OLE (OLE-объект). В ячейки поля данного типа вводятся ссылки на
приложения, разработанные для Windows. Это могут быть текстовые, графические и
мультимедийные файлы. Объем хранимых данных в ячейках данного поля
ограничен только дисковым пространством компьютера.
Гиперссылка (Hyperlink). Этот тип данных позволяет вставлять в поле
гиперссылку, с помощью которой можно сослаться на любой файл или фрагмент
файла, находящегося на том же компьютере, на котором находится таблица БД, или
на любом компьютере в локальной сети или сети Интернет. Гиперссылка состоит из
17
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
трех частей: адрес, указывающий путь к файлу; дополнительный адрес,
указывающий
положение
фрагмента
внутри
файла
или
страницы
текста;
отображаемый текст. Каждая часть гиперссылки может содержать до 2048
символов.
Мастер подстановок. При выборе этого типа имеется возможность создать
фиксированный список значений, которые могут принимать данные, заносимые в
ячейки поля.
После установления имени и типа данных следует поместить курсор в
соответствующую строку блока Описание и ввести комментарий, позволяющий
пользователю правильно вводить информацию при заполнении таблицы.
Мы рекомендуем обязательно вводить комментарий, особенно для тех
случаев, когда в обозначении имени или подписи поля содержится недостаточно
информации для правильного ввода данных.
После ввода комментария необходимо перейти к блоку Свойства поля, разделу
Общие и задать полю необходимые свойства. В Конструкторе таблиц каждому ролю
в
зависимости
от
типа
данных автоматически
(по
умолчанию)
задается
определенный набор свойств. Конструируя таблицу, эти свойства можно изменять в
соответствии с конкретными требованиями к данным.
В таблице 2 перечислены характеристики свойств полей, задаваемые в
информационном блоке Свойства поля.
На рисунке 13 показан пример заполнения свойств полей таблицы.
После описания характеристик (свойств) всех полей таблицы конструктор
закрывают; при этом открываются диалоговые окна, в которых предлагается задать
имя таблицы и установить ключевые поля, если они не были заданы.
При задании имени таблицы необходимо учесть следующие рекомендации:
имя поля должно отражать содержание данных в таблице (класс объектов); не
должно быть знаков препинания, скобок, восклицательных знаков; имя таблицы не
должно начинаться с пробела.
18
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таблица 2 – Характеристики свойств полей таблиц БД
Свойство
Характеристика
поля
Размер поля
Устанавливает максимальный размер данных, вводимых в
ячейки данного поля. Размер данных текстовых (символьных)
полей не может превышать 255 знаков.
Формат поля
Для полей типа Текстовый и MEMO можно задавать формат
ввода данных, в соответствии с которым данные будут
выводиться на экран дисплея.
Для полей типов Числовой, Денежный могут быть выбраны
следующие
форматы:
стандартный;
денежный;
фиксированный;
с
разделителями;
процентный;
экспоненциальный.
Для полей логического типа могут применяться следующие
форматы: Да/Нет; Истина/Ложь; Вкл/Выкл.
Число десятичных Задается для полей типов Числовой и Денежный. Число
знаков (точность знаков – от 0 до 15
поля)
Маска ввода
Подпись поля
Маска устанавливает шаблон для ввода данных в поля типов
Текстовый, Числовой, Денежный, Дата/Время.
Предназначена для более описательного названия поля,
которое будет вводиться в заголовки («шапки») таблиц и
другие элементы форм, отчетов.
Условие на
значение
Устанавливает ограничения на значения вводимых данных.
Например, задание условия «<100» для числового поля
означает, что в это поле нельзя вводить данные более 100.
Сообщение об
ошибке
Текст, который будет выводиться на экран при
несоответствии заданным условиям значений вводимых
данных
Обязательное
поле
Если поле выбрано обязательным, то это значит, что при
заполнении таблицы в ячейки этого поля данные должны
вводиться обязательно
Пустые строки
Разрешение на ввод пустых строк для полей Текстовый и
Мемо
Индексированное Рекомендуется устанавливать это значение для полей, по
поле
значениям которых предполагается осуществлять поиск
данных в таблицах. Задание индекса значительно ускоряет
поиск данных.
19
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 13 - Пример заполнения свойств полей таблицы
Ключевые поля устанавливаются в тех случаях, когда данные таблицы БД
должны быть связаны с данными других таблиц. Ключевое поле должно однозначно
определять каждую запись в таблице. Значения данных ключевого поля не
повторяются (не должны повторяться). Ключевым может быть любое поле таблицы,
если значения данных этого поля могут однозначно определить всю запись. Если
запись нельзя однозначно определить по значению данных одного поля, то
устанавливают несколько ключевых полей. Ключевое поле создается при описании
свойств полей в Конструкторе таблиц. Для этого необходимо выделить необходимое
поле и на панели инструментов щелкнуть по соответствующей кнопке.
После того как структуры таблиц БД созданы, необходимо установить
логические связи между таблицами.
20
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2.2 Установление связей между таблицами
Установление
связей между таблицами необходимо для
обеспечения
целостности данных по ссылкам. Целостность данных гарантирует защиту
информации от случайных и нелогических изменений в связанных таблицах. В
связанных таблицах одна таблица является главной, а вторая – подчиненной.
Главная таблица должна обязательно содержать ключевое поле. Подчиненная
таблица должна содержать аналогичное поле, которое может быть неключевым.
Для установления связей между таблицами необходимо выполнить следующие
действия: на панели инструментов окна базы данных активизировать команду
(значок) Схема данных; в открывшееся окно построителя схемы данных ввести
главную и подчиненные таблицы (рисунок 14); связать таблицы по одинаковому
полю (рисунок 15) .
В процессе создания связи включен параметр Обеспечение целостности
данных. При этом параметре не допускается произвольное удаление или изменение
записей в главной таблице. Если установить (включить) параметры связи между
таблицами Каскадное обновление связанных полей и Каскадное удаление связанных
записей, то при любых изменениях данных в главной таблице произойдет
автоматическое изменение связанных данных в подчиненной таблице.
Рисунок 14 – Окно построителя схемы данных
21
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 15 – Пример установления связи «один ко многим»
На рисунке 16 показан пример схемы связи базы данных «Учебный процесс».
Рисунок 16 – Схема связи базы данных «Учебный процесс»
После того как состав таблиц базы данных установлен, структура каждой
таблицы разработана, определены и установлены связи между таблицами,
приступают к заполнению таблиц данными.
22
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2.3 Технология разработки запросов
Основное
назначение
любой
информационной
системы
состоит
в
предоставлении пользователю необходимой и достоверной информации. Обработка
информации, содержащейся в таблицах БД, осуществляется с помощью запросов.
Запросы представляют собой некоторый набор команд, предназначенных для
поиска и обработки информации в таблицах по заданным пользователем условиям
(значениям полей). В системе ACCESS в зависимости от выполняемых действий
можно создавать следующие виды запросов: на выполнение действий (на выборку);
обновление; добавление; удаление; создание таблиц.
Каждый из указанных видов запросов может отличаться технологией их
создания и формой представления информации. В зависимости от технологии
создания запросы можно подразделить на постоянные и параметрические.
Постоянные запросы – это запросы, условие выбора информации в которых не
меняется в течение длительного времени. Параметрические запросы – это запросы,
параметры выбора информации в которых меняются.
Перекрестные запросы – это запросы, которые применяются для выбора
информации с одновременным группированием данных по значениям отдельных
полей.
В ACCESS пользователю предлагается два способа создания запросов:
1) конструирование с помощью мастеров – в режиме Конструктор;
2) программирование – в режиме SQL.
Создание запроса в режиме Конструктор выполняется с помощью системы
мастеров. В этом случае пользователь должен указать параметры запроса в окне
конструирования, используя при этом предоставляемые мастером возможности.
ACCESS в этом случае автоматически формирует код программы в виде
специальной последовательности команд языка SQL.
При программировании запроса в режиме SQL пользователь должен описать
все выполняемые запросом действия с помощью команд языка SQL.
23
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Возможности конструирования запросов в режиме Конструктор достаточны
для создания практически любых задач обработки информации в таблицах БД.
При любом способе необходимо открыть окно элементов БД. При активизации
кнопки Запросы окна объектов БД открывается окно (рисунок 17), содержащее все
запросы БД. (Все дальнейшие примеры будет рассмотрены на основе базы данных
«Учебный процесс»).
Рисунок 17 – Окно выбора режима запроса
При создании запроса пользователь может выбрать следующие варианты
конструирования запросов:
1) создание запроса в режиме Конструктор;
2) создание запроса с помощью мастера.
При выборе первого способа открывается окно Создание запроса, в котором
пользователю предоставляются следующие режимы разработки запроса (рисунок
18):
1) самостоятельное конструирование запроса (режим Конструктор);
2) конструирование запроса с помощью мастеров – режимы: простой запрос;
перекрестный запрос; повторяющиеся записи; записи без подчиненных.
24
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 18 – Окно выбора типа запроса
При создании запросов с помощью Конструктора запросов необходимо
выполнить следующие действия.
1 Открыть Конструктор запросов.
2 В открывшемся окне Добавление таблицы (рисунок 19) выбрать таблицу
или таблицы, на основе которых составляется запрос (команда Добавить). Выбор
осуществляется щелчком мыши по имени соответствующей таблицы. При этом в
окне конструктора появится таблица с именами полей.
3 После ввода таблицы (таблиц) щелкнуть по кнопке Закрыть.
4 Переместить необходимые для запроса поля таблицы в поля окна
Конструктор запросов.
5 Установить порядок сортировки записей по значениям каких-либо полей
(например, сортировать записи в алфавитном порядке по полю ФИО).
6 Определить необходимость вывода на экран значений полей. Если «Да», то
щелкнуть мышью по квадратику.
7 Ввести в строку «Условие отбора» соответствующие значения полей, по
которым производится отбор данных из таблиц.
25
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В процессе конструирования запроса можно производить проверку его
выполнения. Для этого достаточно щелкнуть мышью по кнопке Выполнение
запроса на панели инструментов.
Рисунок 19 – Окно Конструктора запросов
На рисунке 20 показан пример заполнения бланка запроса на выборку. Технология проектирования других видов запросов аналогична, но при этом перед
закрытием запроса следует выбрать из списка необходимый вид.
По окончании конструирования запроса его необходимо закрыть (щелкнуть по
соответствующей кнопке окна Конструктор). При этом откроется диалоговое окно, в
котором будет предложено задать имя запросу.
26
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 20 – Пример заполнения бланка запроса на выборку
При задании условий отбора данных необходимо соблюдать следующие правила.
1. Перед вводом значения текстового (символьного) поля должен стоять знак
«=».
2. Вводимая строка символов должна быть заключена в кавычки. Данное
правило, если вы забыли его соблюсти, ACCESS выполнит сам.
3. Математические условия выборки определяются известными операторами
сравнения (=,< >, <, >, <=, >=).
Кроме этих операторов могут применяться специальные операторы сравнения
BETWEEN, IN, LIKE.
4. При составлении условий выборки по полям Дата/Время могут применяться
условия (функции), которые при составлении запроса вводятся как вычисляемые
поля (таблица 3). Если необходимо выбрать записи, отвечающие одновременно
нескольким
параметрам,
значениям
нескольких
полей,
что
соответствует
логическому условию И (AND), то соответствующие значения полей вводятся в
строку «Условие отбора».
27
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таблица 3 – Функции, применяемые для задания свойств или условий выборки
в полях типа Дата/Время
Функция
Значение
Day
Устанавливает условие выборки по числам месяца в диапазоне от 1 до
31
Month
Year
Устанавливает условие выборки по месяцам в диапазоне от 1 до 12
Устанавливает условие выборки по годам в диапазоне от 100 до 9999
Weekday Устанавливает условие выборки по дням недели от 1 (воскресенье) до
7 (суббота)
Hour
Устанавливает условие выборки по часам суток от 0 до 23
Datepart Устанавливает условие выборки по диапазонам времени (номер
«q» или недели, номер квартала). Записывается так:
«ww»
Datepart «q» — для выбора по кварталам;
Datepart «ww» — для выбора по неделям
(q принимает значения от 1 до 4, ww принимает значения от 1 до 53)
Date ()
Устанавливает текущую дату как условие выборки, например условие
«<Date()-15» означает, что будут выбраны все записи, дата которых
меньше текущей на 15 дней
Если выбор записей необходимо произвести по значениям нескольких полей,
связанным отношением исключающего ИЛИ (OR), то соответствующие значения
вводятся в ячейки строки «ИЛИ».
Ввод условий отбора данных непосредственно в строки Конструктора
запросов мы рекомендуем при конструировании постоянных запросов.
При конструировании параметрических запросов ввод условий отбора данных
мы рекомендуем производить через формы.
Перекрестные запросы целесообразно создавать для анализа числовых полей в
таблицах или запросах. Например, в представленном ниже примере необходимо
было разработать запрос, который позволил бы на основе таблицы «Студент»
просмотреть адреса проживания студентов из различных групп в различных
городах.
В результате выполнения запроса необходимо получить динамическую
таблицу (кросс-таблицу) «Распределение адресов проживания студентов из учебных
групп в различных городах» (таблица 4).
28
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таблица 4 – Распределение адресов проживания студентов из учебных групп в
различных городах
Группа/Г
Оренбург
Орск
…
Бузулук
Группа 1
10
3
…
2
Группа …
…
…
…
…
Группа N
8
3
10
Последовательность
создания
перекрестного
запроса
практически
не
отличается от технологии конструирования запросов, описанной выше.
Для начала проектирования такого запроса необходимо выбрать режим его
создания, например Конструктор или Перекрестный запрос.
При выборе режима Конструктор необходимо в меню Запрос щелкнуть по
кнопке Перекрестный; при этом окно Конструктора запроса примет вид, показанный
на рисунке 21.
В перекрестном запросе должно быть три поля.
Одно поле представляет собой заголовки строк, второе поле определяет
заголовки столбцов, а третье поле должно содержать значение соответствующего
поля исходной таблицы.
На рисунке 22 представлен результат выполнения этого запроса.
Рисунок 21 – Окно конструирования перекрестного запроса
29
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 22 – Результат перекрестного запроса
Контрольные вопросы
1 Из каких информационных блоков состоит Конструктор таблиц и в какой
последовательности их следует заполнять?
2 Из скольких символов может состоять имя поля?
3 Может ли имя поля начинаться с пробелов?
4 Какие символы не допускаются при обозначении имени поля?
5 В чем состоит отличие текстового типа данных от MEMO?
6 В чем состоит отличие числового типа данных от денежного?
7 В каких случаях следует применять тип данных OLE?
8 В каких случаях следует применять тип данных Гиперссылка?
9 В каких случаях полю присваивают свойство Ключевое поле?
10 В каких случаях полю присваивают свойство Обязательное?
11 Какие таблицы называются главными, а какие – подчиненными?
12 Какой смысл имеет термин «Обеспечение целостности данных»?
13 Назовите назначение и виды запросов, разрабатываемых в СУБД ACCESS.
14 В чем состоит отличие постоянного запроса от параметрического?
15 Каково назначение перекрестного запроса?
16 Назовите типы запросов по выполняемым действиям.
17 Назовите правила ввода условий отбора данных в текстовые поля.
18 Каково назначение следующих функций: Day; Month; Year; Date()?
19 В каких случаях в запросах создается расчетное поле?
30
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2.4 Методические указания по созданию запросов в СУБД Access
Тема:
“Создание
запросов
на
выборку
к
однотабличным
и
многотабличным СУБД ACCESS в предметной области «Учебный процесс»”
1. Цель работы
Освоить принципы создания запросов выборки.
2. Задачи работы
Создать запросы выборки и получить сведения о данных с использованием
различных критериев.
3. Содержание работы
3.1.Создать
простые
запросы
к
ранее
созданным
таблицам
(можно
использовать таблицы из предыдущей лаб.раб.) по предложенным преподавателем
критериям.
3.2. Создать запросы с условием отбора.
3.3. Создать запросы с вычисляемыми полями.
4. Требования к отчету
Отчет о проделанной работе должен содержать:
- название работы, цель, последовательность и методику выполнения;
- ответы на контрольные вопросы методических указаний.
К отчету прилагается файл *.mdb с выполненным заданием.
5. Методические указания по разработке запросов
5.1. Создать простой запрос - выбрать несколько произвольных полей из
таблицы Студенты.
5.2. С помощью Конструктора создать запросы, удовлетворяющие условиям:
- единственное значение кафедры;
- два различные кафедры;
- фамилии студентов, начинающиеся с определенной буквы (использовать
шаблоны);
- фамилии студентов, заканчивающиеся на “ов”;
- фамилии и имена студентов, проживающие в одном из городов;
- фамилии студентов, у которых стипендия больше 1000 рублей;
31
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
- фамилии студентов, занимающиеся не в 1-ой группе и стипендия которых в
пределах от 1200 до 2500 р.
Примечание:
В запрос должны быть включены поля Фамилия, Имя, Отчество и те поля, где
вводятся критерии.
После того как был задан критерий для запроса, запрос нужно выполнить и
сохранить под именем, подходящим по смыслу.
5.3. Для запросов с полем типа Дата/время добавить поле Дата рождения и
выбрать записи, удовлетворяющие условиям:
- дата больше 1.1.95;
- фамилии и имена студентов, родившихся в 90-х годах;
- вычислить возраст студентов;
- фамилии и имена студентов, родившихся в первой половине месяца;
7.4. Создать итоговый запрос:
- оставить в запросе поля Факультет, Стипендия, Номер зачетки, вычислить
максимальное значение стипендии для каждого факультета и подсчитать количество
студентов на каждом факультете (используя Count).
7.5. Запрос с вычисляемыми полями:
- включить в запрос вычисляемое поле, которое является результатом
сцепления текстовых полей Фамилия, Имя, Отчество. Назвать поле Ф. И. О.
студента;
- используя построитель выражений, подсчитать надбавку студентам, равную
15% от стипендии.
7.6. Создать запрос, в котором используются поля из
двух ранее созданных
и связанных таблиц, задав ему имя Запрос для 2-х таблиц
–
убрать несколько полей таблицы Студенты и добавить поля Предмет и
Оценка из таблицы Успеваемость;
–
выбрать поле Фамилия, предмет и Оценка, вычислить минимальное
значение по полю Оценка;
32
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
–
сгруппировать по номеру зачетки и вычислить среднюю оценку для
каждого студента.
7.7 Запрос действия
7.7.1 Запрос на создание таблицы
Сделайте запрос выборку к таблице Студенты, выбрав тех, кто не получает
стипендии. Выполните запрос и просмотрите результат.
Перейдите в режим Конструктора для этого запроса и преобразуйте его в
запрос для сохранения результатов в виде отдельной таблицы с именем Студенты
без стипендии. Для этого нужно в режиме Конструктора запросов ввести команду
Запрос/Создание таблицы.
Откройте любой итоговый запрос (созданный в предыдущих лабораторных
работах) в режиме Конструктора и также преобразуйте его в запрос с сохранением
данных в отдельной таблице.
7.7.2 Запрос на обновление записей
Выберите в копии таблицы Студенты всех, кто проживает в определенном
городе, например, Уфе. Сделав запрос, проверьте правильность отбора записей.
Перейдите в режим Конструктора для этого запроса. и преобразуйте его в
запрос на обновление данных. В строке Обновление задайте новое значение для
поля Город (например, перепишите его с заглавной буквы или введите сокращенное
название города и т.п.).
Для просмотра результатов выполнения запроса на обновление записей
перейдите в режим просмотра таблицы Студенты.
Создайте запрос-обновление для таблицы Студенты, выбрав всех студентов
определенного курса и измените курс на другой.
7.7.3 Запрос на удаление записей
Создайте запрос к копии таблицы Студенты, в которой будут удалены все
записи о студентах определенного курса, не получающих никакой стипендии
(например, удалить все записи о студентах III курса, не получающих стипендию).
33
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
7.7.4 Перекрестный запрос
Создайте перекрестный запрос для таблицы Студенты, включив в него поля
Город, Факультет и вычисляемое поле для подсчета количества студентов (функция
Count по полю Номер зачетки). Поле Факультет выберите в качестве заголовка
строк, поле Город - заголовка столбцов, а вычисляемое поле с количеством
студентов – как значения. Выполните запрос и проанализируйте результат.
Примеры результатов лабораторной работы показаны на рисунках 23 – 40.
Рисунок 23 – Единственное значение кафедры
Рисунок 24 - Две различные кафедры
Рисунок 25 – Фамилия на заданную букву
34
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 26 - Фамилии студентов, заканчивающиеся на “ов”
Рисунок 27 - Фамилии студентов одного факультета и одного курса
Рисунок 28 - Фамилии и имена студентов, проживающие в одном из
городов или обучающиеся на одном из факультетов
35
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 29 - Фамилии студентов, у которых стипендия больше 400 рублей
Рисунок 30 - Фамилии студентов, занимающиеся не в 1-ой группе и
стипендия которых в пределах от 200 до 500 р.
Рисунок 31 - Дата больше 1.1.80
36
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 32 - Дата в интервале значений и задана группа
Рисунок 33 - Фамилии и имена студентов, родившихся в 90-х годах
Рисунок 34 – Возраст студентов
37
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 35 - Фамилии и имена студентов, родившихся
в первой половине месяца
Рисунок 36 – Итоговый запрос
Рисунок 37 – Сцепление имени и вычисление надбавки
38
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 38 – Запрос из нескольких таблиц
Рисунок 39 – Создание таблицы с помощью запроса
Рисунок 40 – Перекрёстный запрос
39
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Контрольные вопросы
1.Что такое запрос ?
2.Назовите элементы окна конструктора запросов.
3.Что такое бланк QBE ?
4.Где записываются критерии условия выбора для запроса?
5.Как удалить таблицу из запроса?
6.Как удалить поле из запроса?
7.Перечислите основные операторы, используемые в запросе.
8.В каких случаях используется оператор OR?
9.В каких случаях используется оператор AND?
10.В чем различие между операторами OR и AND ?
11.Назначение итоговых запросов.
12.Назначение построителя выражений.
13.Как вычислить сумму значений заданного поля?
14. Как осуществить сортировку записей в запросе?
15. Какие виды вычислений можно произвести в итоговых полях?
2.5 Методические указания по созданию форм в СУБД Access
Тема: “Создание форм средствами СУБД ACCESS в предметной области
«Учебный процесс»”
1 Цель работы
Изучение приемов создания форм и диаграмм в ACCESS
2 Задачи работы
Создание форм различных типов и их редактирование с использованием
режимов Мастера и Конструктора форм. Создание и редактирование диаграмм в
формах.
3 Содержание работы
3.1 Запустить MS Access и открыть созданную ранее базу данных.
3.2 Создать простую форму с именем Студенты, используя режим Автоформа:
в столбец.
40
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
3.3 Открыть созданную форму и изменить некоторые данные.
3.4 Создать форму Экзаменационная ведомость, используя режим Мастера
форм.
3.5
Отредактировать
форму
Экзаменационная
ведомость
в
режиме
Конструктора.
3.6 Используя Мастер форм, построить иерархическую форму по двум
связанным таблицам.
3.7 Создать и отредактировать диаграмму на основе данных итогового
запроса.
4 Требования к отчету
Отчет о проделанной работе должен содержать:
– название работы, ее задачи и описание последовательности выполнения;
– ответы на контрольные вопросы по указанию преподавателя.
5 Общие положения
5.1 Основные сведения о формах
Формы являются основным средством организации интерфейса пользователя
в приложениях Access. Хорошо разработанные формы позволяют работать с
приложением даже неподготовленному пользователю.
Чаще всего формы создаются в следующих целях:
– ввод и редактирование данных – это наиболее распространенный способ
использования форм. Формы обеспечивают вывод на экран данных в удобном для
пользователя виде.
– управление ходом выполнения приложения – в этом случае формы
используются для запуска макросов;
– вывод сообщений – с помощью форм можно вывести на экран информацию,
предупреждение или сообщение об ошибках;
– печать информации – несмотря на то, что для печати информации чаще
всего используются отчеты, можно напечатать информацию, содержащуюся в
форме. Формы позволяют задавать два различных набора параметров: один – для
вывода формы на экран, а другой – для вывода на печать;
41
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
5.2 Способы создания форм
Для создания формы следует в окне базы данных перейти на вкладку Формы и
нажать кнопку Создать, после чего на экране появится окно Новая форма. В данном
окне предлагается выбрать источник данных для формы и способ ее создания.
Access предлагает следующие способы создания форм:
– Конструктор форм. Этот способ позволяет разрабатывать собственные
экранные формы с заданными свойствами для просмотра, ввода и редактирования
данных.
– Мастер форм. Позволяет достаточно быстро создать форму на основе
выбранных для нее данных.
– Автоформа: в столбец.
Позволяет автоматически создать для исходной
таблицы/запроса форму, в которой все поля располагаются в один или несколько
столбцов.
– Автоформа: в ленточная. Позволяет автоматически создать для исходной
таблицы/запроса форму, в которой все поля расположены в строку. Названия полей
расположены сверху, как в таблице, но каждое значение имеет собственное поле для
просмотра.
– Автоформа: табличная. Позволяет автоматически создать табличную форму,
которая аналогична ленточной, но
каждая запись в такой форме находится на
отдельной странице.
– Диаграмма. Позволяет создавать форму, данные в которой представлены в
виде диаграммы.
– Сводная таблица. Этот мастер использует Microsoft Excel для создания
объекта сводной таблицы, и Microsoft Access для создания формы, в которую
внедряется объект сводной таблицы.
– Для вариантов создания форм Автоформа: в столбец, Автоформа: ленточная,
Автоформа: табличная и Диаграмма необходимо выбрать источник данных для
создания формы. Во всех остальных случаях это делать необязательно.
42
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
5.3 Использование Мастера по созданию форм
По сравнению с простыми автоформами, формы, созданные с помощью
Мастера более разнообразны по стилю оформления, могут содержать выбранные
поля, в т.ч. и из нескольких связанных таблиц.
Для
запуска Мастера форм нужно в окне Новая форма выбрать
соответствующий вариант создания формы – Мастер форм.
На 1 шаге Мастера форм необходимо определить поля
После указания имени таблицы/запроса
будущей формы.
в списке Доступные поля появляется
перечень всех полей данной таблицы. Необходимо из этого перечня перенести все
необходимые поля в список Выбранные поля.
На 2 шаге предлагается задать внешний вид формы: в один столбец,
ленточный, табличный, выровненный.
На 3 шаге выбирается стиль формы из списка вариантов стилей.
На 4 шаге открывается последнее окно Мастера форм, где нужно ввести имя
создаваемой формы (по умолчанию ей дается имя базовой таблицы/запроса) и
вариант дальнейшей работы (открытие формы для просмотра, изменение макета
формы).
5.4 Создание форм в режиме Конструктора
Создавать и редактировать формы любой степени сложности позволяет только
Конструктор форм. Также в режиме Конструктора можно отредактировать формы,
созданные Мастером, или автоформы.
Любая форма в Access
состоит из различных объектов, которые имеют
характерные для них свойства. Для каждого объекта можно определить действия,
выполняемые при наступлении определенных событий. Процесс создания формы в
режиме Конструктора состоит в размещении объектов
в областях формы и
определении для них свойств, связанных с ними событий и выполняемых действий.
Для создания формы в режиме Конструктора нужно
перейти на вкладку
Формы в окне базы данных и нажать кнопку Создать. В окне Новая форма выбрать
таблицу/запрос, являющиеся источником данных для формы, и указать режим
создания Конструктор. На экране откроется окно Конструктора форм (рисунок 41).
43
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 41 - Окно Конструктора форм
С помощью
горизонтальной и вертикальной линеек можно точно
устанавливать размер и местоположение объектов формы.
формы
Область построения
имеет горизонтальную и вертикальную сетку, предназначенную для
выравнивания объектов формы. При необходимости убрать или вывести вновь на
экран линейку и сетку можно командами Вид-Сетка и Вид-Линейка.
5.4.1 Разделы форм
При открытии окна Конструктора форма содержит только один раздел область данных. Помимо этого, она может содержать разделы заголовка и
примечания формы, верхний и нижний колонтитулы. Для добавления или удаления
разделов формы используются команды Вид-Заголовок/примечание формы и Вид Колонтитулы. Каждый раздел отделен
горизонтальной линией, на которой
написано его название.
Данные,
размещаемые
отображаются
в
форме.
отображаются
для
в
заголовке,
Элементы,
каждой
записи
области
расположенные
базовой
данных
в
и
примечании
области
данных,
таблицы/запроса.
Элементы,
44
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
расположенные в разделах заголовка и примечания формы, отображаются только в
заголовке и примечании формы.
Содержимое верхнего и нижнего колонтитулов отображается только при
печати, соответственно в начале и в конце каждой страницы.
5.4.2 Панель элементов и Список полей
Панель элементов используется для размещения объектов в форме.
Надпись. Размещение в форме произвольного текста.
Поле. Размещение в форме данных из соответствующего поля
базовой таблицы/запроса, вывод результатов вычислений, а также
прием данных, вводимых пользователем.
Выключатель. Создание выключателя, кнопки с фиксацией.
Переключатель. Создание селекторного переключателя.
Флажок. Создание контрольного переключателя.
Поле
со
списком.
Размещение
элемента
объединяющего поле и раскрывающийся список.
управления,
Список. Создание списка, допускающего прокрутку. В режиме
формы выбранное из списка значение можно ввести в новую запись
или использовать для замены уже существующего значения.
Кнопка. Создание командной кнопки, позволяющей осуществлять
разнообразные действия в форме (поиск записей, печать отчета,
установка фильтров и т.п.).
Рисунок. Размещение в форме рисунка, не являющегося объектом
OLE.
Свободная рамка объекта. Размещение в форме свободного объекта
OLE, который остается неизменным при перемещении по записям.
Присоединенная рамка объекта. Размещение в форме объектов
OLE.
Используется для объектов, сохраненных в базовом
источнике записей формы, поэтому при перемещении по записям в
форме отображаются разные объекты.
Линия. Размещение в форме линии для отделения логически
связанных данных.
Прямоугольник. Размещение в форме прямоугольника для
группировки элементов управления или выделения логически
связанных данных.
45
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обычно панель элементов появляется в режиме Конструктора форм
автоматически. Убрать или восстановить ее на экране можно командой Вид-Панель
элементов. Ниже
приведены наиболее используемые элементы формы и
соответствующие им кнопки на Панели элементов.
При размещении в форме полей из базовой таблицы/запроса удобно
пользоваться Списком полей, который можно вывести командой Вид-Список полей.
Он
представляет
собой
окно,
содержащее
перечень
всех полей
базовой
таблицы/запроса. Чтобы разместить какое-либо поле в форме, достаточно просто
перетащить его левой кнопкой мыши из Списка полей в нужный раздел формы.
5.4.3 Свойства объектов формы
Все объекты формы характеризуются своими свойствами, которые можно
настроить в соответствии с определенными требованиями.
Для того, чтобы получить доступ к свойствам объекта формы, следует сначала
выделить этот объект в окне конструктора формы, а затем выполнить команду Вид Свойства (либо нажать кнопку Свойства
на панели инструментов). В результате
на экране появится окно со свойствами и событиями выбранного объекта.
При размещении в форме нового объекта для него устанавливаются значения
свойств, принятые по умолчанию. Некоторые свойства наследуются из базовой
таблицы. Например, для элемента Поле свойства Формат, Число десятичных знаков,
Маска ввода, Значение по умолчанию копируются из структуры таблицы, в которой
находится данное поле.
Каждый элемент формы имеет свое имя. Это имя используется в дальнейшем
для ссылок на данный элемент. По умолчанию, новым элементам присваивается
имя, состоящее из названия элемента и его номера, который определяется порядком
создания. Например, Поле1 или Надпись3.
Если элемент управления создается путем переноса поля с помощью мыши из
списка полей, то в свойство Имя копируется значение свойства Имя поля.
Например, если из списка полей в форму перенесено поле Факультет, то этому
элементу в форме будет задано имя Факультет.
46
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Не допускается существование в одной форме двух элементов управления с
одинаковыми именами, однако, в разных формах элементы управления могут иметь
одинаковые имена. Нельзя присвоить одинаковые имена элементу управления и
разделу в одной форме.
5.4.4 Создание управляющих кнопок
Кнопки используются в форме для выполнения определенного действия или
ряда действий. Например, можно создать кнопку, которая будет открывать таблицу,
запрос или другую форму. Можно создать набор кнопок для перемещения по
записям таблицы, если не устраивают стандартные средства перемещения,
предусмотренные в форме.
В Access предусмотрено более 30 стандартных
кнопок,
при создании
которых достаточно воспользоваться лишь Мастером по созданию кнопки. Для
этого нужно выполнить следующие действия:
- установить режим использования мастера на панели элементов;
- выбрать инструмент Кнопка на панели элементов и указать местоположение
и размер кнопки в форме;
- в первом окне Мастера выбрать категорию кнопки и выполняемые ею
действия;
- если создаваемая кнопка предназначена для работы с другим объектом базы
данных (отчетом, таблицей, другой формой), то на втором шаге нужно выбрать
необходимый объект;
- далее следует выбрать текст или рисунок, размещаемые на кнопке. При
размещении рисунка можно воспользоваться кнопкой Обзор.. для выбора рисунка;
- на заключительном шаге работы Мастера задается имя создаваемого
элемента.
5.5 Управление элементами формы
В процессе создания формы все ее элементы можно перемещать, удалять,
изменять их свойства. Для этого нужный элемент прежде всего следует выделить.
Выделенный элемент имеет маркеры выделения в виде небольших квадратиков,
расположенных по углам и серединам сторон.
47
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Для выделения одиночного элемента достаточно просто щелкнуть по нему
мышью. Для выделения нескольких объектов можно воспользоваться следующими
способами:
- Нажать клавишу SHIFT и, удерживая ее,
щелкнуть мышью по всем
выделяемым элементам;
- Выбрать инструмент Выбор объектов
на панели элементов. Установить
указатель мыши на элемент и, не отпуская кнопки мыши, переместить рамку
выделения так, чтобы внутри нее оказались все нужные элементы.
Выделив несколько элементов, можно управлять их общими свойствами.
Такой подход позволит сэкономить время и избежать ошибок и разногласий при
установке свойств для каждого
из элементов отдельно. Например, так можно
установить единый стиль оформления для всех подписей полей в форме
5.5.1 Редактирование элементов формы
Для изменения размера элемента нужно переместить один из маркеров
выделения до достижения нужного размера. Для перемещения выделенного
элемента нужно установить указатель мыши на границу выбранного объекта так,
чтобы указатель принял форму открытой ладони. После этого нажать кнопку мыши
и переместить элемент на новое место.
Поле ввода и его подпись связаны друг с другом. Тем не менее, иногда нужно
перемещать их порознь. Для этого используются метки перемещения – большие
квадраты в левом верхнем углу каждого связанного элемента (рисунок 42). Если
подвести к ним указатель мыши, то он примет форму указательного пальца руки. В
этом положении можно переместить каждый из связанных элементов отдельно.
Рисунок 42 - Элементы поля в форме
48
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Для удаления элемента формы нужно его выделить. После этого следует
нажать клавишу DELETE или воспользоваться командой Правка - Удалить.
5.5.2 Изменение порядка обхода элементов формы
Во время ввода данных в форме переход от одного элемента к другому, при
нажатии клавиши TAB, осуществляется в соответствии с заданным в экранной
форме порядком обхода объектов. Для определения этого порядка используется
команда Вид-Последовательность перехода. На экране откроется окно диалога
Последовательность перехода. В этом окне нужно расположить поля в том порядке,
в котором должен осуществляться их обход в форме.
5.6 Разработка сложных форм
Создать форму, позволяющую просматривать и редактировать записи только
одной таблицы, довольно просто. Но на практике требуются формы, позволяющие
производить одновременный ввод или просмотр данных, хранимых в двух или
более связанных таблицах. Эти данные реально хранятся в двух разных таблицах
(Студенты и Экзамены), связанных отношением “один – ко - многим”.
таких
случаях для отображения записей основной и подчиненной таблиц можно
использовать многотабличную иерархическую форму (рисунок 43).
Рисунок 43 - Пример иерархической формы
Как видно из рисунка, форма состоит из двух частей. В верхней половине окна
формы находятся поля таблицы Студенты, т.е. таблицы со стороны “один”. В
49
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
нижней половине находится подчиненная форма, содержащая поля из таблицы
Экзамены (таблица со стороны “много”).
Для создания такой формы нужно:
- перейти на вкладку Формы в окне базы данных, нажать кнопку Создать и
выбрать в качестве режима создания Мастер форм;
- в окне Новая форма в качестве источника записей формы указать таблицу
Экзамены (в иерархических формах базовой всегда является таблица со стороны
“много”);
- в следующем окне Мастера форм определить главную и подчиненную
таблицы. Здесь в качестве главной следует выбрать таблицу Студенты. В правой
части данного окна диалога отображаются поля таблиц: в верхней части поля
главной, а в нижней – поля подчиненной таблицы. Опция Связанные формы
предназначена для представления данных без использования подчиненной формы;
- далее следует выбрать внешний вид подчиненной формы: табличный или
ленточный;
- на последующих шагах Мастера форм выбрать стиль, задать имена форм, а
также указать режим, в котором будет открыта форма после завершения ее
создания.
5.7 Построение диаграмм в формах
Диаграммы используются для наглядного представления
информации из
базы данных. В Access диаграмма как отдельный объект не существует, а может
являться элементом формы либо отчета. Для построения диаграмм в СУБД Access
используется модуль MSGraph, в который передаются все исходные данные для
построения диаграммы с помощью механизма обмена данными в Windows. Для
передачи данных можно использовать Мастер диаграмм, существующий в Access.
5.7.1 Элементы диаграмм и подготовка исходных данных
Исходными данными для построения диаграмм могут быть данные таблиц
либо запросов. Реальные таблицы в базах данных содержат огромное количество
записей. Если при построении диаграммы не ограничить количество отображаемых
50
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
в ней данных, то она будет загромождена излишними деталями. Поэтому чаще всего
диаграммы строят по результатам запросов к базе данных.
Удобнее для построения диаграмм использовать итоговые или перекрестные
запросы. Например, можно построить диаграмму по результату итогового запроса,
подсчитывающего средний балл каждого студента за
прошедшую сессию.
Основные элементы диаграмм Access показаны на рисунке 44.
Рисунок 44 - Элементы диаграмм MS Access
5.7.2 Построение диаграммы с помощью Мастера диаграмм
Для создания диаграммы с помощью Мастера диаграмм нужно перейти на
вкладку Формы и нажать кнопку Создать. В окне диалога Новая форма выбрать
тип Диаграмма и указать источник данных для нее (таблицу или запрос). Сразу
после этого начинается процесс построения диаграммы.
Во первом окне Мастера диаграмм нужно указать поля, необходимые при
построении диаграммы. Для этого нужно скопировать их из списка Доступные поля
в список Поля диаграммы.
Второе окно Мастера диаграмм служит для выбора типа диаграммы.
Правильный выбор типа диаграммы имеет большое значение, т.к. неудачный выбор
может привести к ложным выводам.
51
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В третьем окне Мастера диаграмм можно изменить способ представления
данных на диаграмме, меняя с помощью мыши положение кнопок с именами полей,
расположенных в правой части диалогового окна. Результат построения диаграммы
можно просмотреть, нажав кнопку Образец.
В последнем окне Мастера диаграмм вводится название диаграммы. На этом
процесс построения диаграммы завершен.
5.7.3 Редактирование диаграмм
Поскольку возможности Мастера диаграмм ограничены, для оформления и
редактирования диаграмм
лучше использовать MS Graph, запуск которого
осуществляется двойным щелчком мыши на диаграмме в форме, открытой в режиме
Конструктора.
Каждый элемент диаграммы имеет определенный набор параметров, значения
которых устанавливаются в
соответствующем окне редактирования,
которое
открывается двойным щелчком мыши на необходимом элементе.
Отредактировать текст легенды или
сами данные можно через таблицу
данных, которая также отображается в режиме MS Graph.
6 Методические рекомендации
6.1 Запустить Microsoft Access и открыть созданную ранее базу данных.
6.2 Создать автоформу в столбец по таблице Студенты. Для этого:
- перейти на вкладку Формы и нажать кнопку Создать;
- выбрать в качестве источника данных таблицу Студенты;
- выбрать вид формы Автоформа: в столбец;
6.3 В режиме формы произвести следующие действия:
- с помощью кнопок перемещения по записям перейти на последнюю запись
таблицы и ввести 2 новые записи:
- для второй записи изменить значения в полях Факультет и Курс;
- сохранить форму с именем Автоформа_Студенты;
- открыть таблицу Студенты и найти в ней изменения, внесенные в режиме
формы.
52
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
6.4 Создать форму Экзаменационная ведомость, используя режим Мастера
форм:
- в качестве источника данных выбрать таблицу Студенты;
- включить в форму поля Фамилия, Имя, Номер зачетки;
- завершить построение формы, выбрав ей внешний вид, стиль оформления и
название Экзаменационная ведомость;
- просмотреть полученный результат на экране.
6.5 Перейти в режим Конструктора формы Экзаменационная ведомость и
внести следующие изменения:
- увеличить высоту раздела Заголовок формы до 6 см.;
- выделить все подписи полей и перенести их в нижнюю часть области
заголовка (см. п. 5.5.1);
- в верхней части области заголовка ввести элементы типа Надпись и Линия
по следующему образцу:
Зачетно-экзаменационная ведомость
Факультет_____________________ Курс _______ Группа___________
Название предмета ___________________________________________
Дата проведения зачета/экзамена ______________________________
Ф.И.О. преподавателя ________________________________________
- в области заголовка формы за надписью Номер зачетки разместить надписи
Оценка и Подпись преподавателя;
- в области данных под вновь созданными надписями разместить поля
свободного формата (т.е. пустые поля, не связанные ни с какими данными
таблиц/запросов), удалив их присоединенные подписи. Для размещения полей
свободного формата нужно на Панели элементов выбрать элемент Поле и указать
место его размещения;
- просмотреть созданную форму и при необходимости отредактировать ее,
вернувшись в режим Конструктора;
- сохранить форму с именем Экзаменационная ведомость.
53
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
6.6 При помощи Мастера форм создать иерархическую
форму по двум
таблицам. Для этого:
- в качестве режима создания выбрать Мастер форм;
- в качестве источника данных указать таблицу Экзамены;
- включить в форму поля Номер зачетки, Предмет и Оценка из таблицы
Экзамены и поля Фамилия, Имя, Отчество, Факультет, Курс, Группа, Стипендия из
таблицы Студенты;
- выбрать тип представления данных по таблице Студенты;
- выбрать стиль и внешний вид формы (табличный);
- задать название формы Данные об успеваемости студента;
- просмотреть полученную форму и сохранить.
6.7 Создать итоговый запрос к таблице Экзамены, где будет подсчитан
средний балл по каждому предмету. Сохранить этот запрос с именем Данные для
диаграммы.
Создать диаграмму по запросу Данные для диаграммы и
отредактировать ее.
Контрольные вопросы
1. С какой целью создаются формы? Назовите виды форм MS Access.
2. Назовите инструменты создания форм.
3. Назовите виды автоформ.
4. Перечислите основные разделы форм и их назначение.
5. Для чего используется раздел Данные в форме?
6. Как разместить в форме элемент управления?
7. Как используется при создании форм Список полей?
8. Как изменить порядок обхода элементов в форме?
9. Как построить форму по двум связанным таблицам?
10. Назовите основные элементы диаграмм.
11. Как построить диаграмму, используя режим Мастера диаграмм?
54
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
3 Разработка и создание базы данных средствами СУБД SQL
Server
3.1 Характеристика компонент и объектов СУБД SQL Server
В СУБД MS SQL Server база данных включает следующие объекты:
• таблицы;
• хранимые процедуры;
• триггеры;
• представления;
• правила;
• пользовательские типы данных;
• индексы;
• пользователи;
• роли;
• публикации;
• диаграммы.
Кроме того, при создании базы данных для нее всегда определяется журнал
транзакций, который используется для восстановления состояния базы данных в
случае сбоев или потери данных. Журнал размещается в одном или нескольких
файлах. В журнале регистрируются все транзакции и все изменения, произведенные
в их рамках. Транзакция не считается завершенной, пока соответствующая запись не
будет внесена в журнал. Управление системой баз данных производится обычно с
помощью
нескольких
сервисных
программ
—
отдельных
приложений,
выполняемых в среде операционной системы.
Рассмотрим основные функции и компоненты управления на примере сервера
баз данных MS SQL Server. Большая часть функций администрирования работы
пользователей, серверов и баз данных сосредоточена в приложении SQL Server
Enterprise Manager, которое позволяет осуществлять следующие функции:
• запускать и конфигурировать SQL Server;
• управлять доступом пользователей к объектам БД;
• создавать
и
модифицировать
базы
данных
и
их
объекты,
55
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
такие, как таблицы, индексы, представления и т. д.;
• управлять выполнением заданий «по расписанию»;
• управлять репликациями;
• создавать резервные копии баз данных и журналов транзакций.
Управление доступом
Система безопасности SQL Server имеет несколько уровней безопасности:
• операционная система;
• SQL Server;
• база данных;
• объект базы данных.
С другой стороны механизм безопасности предполагает существование
четырех типов пользователей:
• системный
администратор,
имеющий
неограниченный
доступ;
• владелец БД, имеющий полный доступ ко всем объектам БД;
• владелец объектов БД;
• другие пользователи, которые должны получать разрешение на доступ к
объектам БД.
Модель безопасности SQL Server включает следующие компоненты:
• тип подключения к SQL Server;
• пользователь базы данных;
• пользователь (guest);
• роли (roles).
Тип подключения к SQL Server
При подключении (и в зависимости от типа подключения) SQL Server
поддерживает два режима безопасности:
• режим аутентификации Windows;
• смешанный режим аутентификации.
В режиме аутентификации Windows
используется система безопасности
Windows NT и ее механизм учетных записей. Этот режим позволяет SQL Server
56
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
использовать имя пользователя и пароль, которые определены в Windows, и тем
самым обходить процесс подключения к SQL Server. Таким образом, пользователи,
имеющие действующую учетную запись Windows, могут подключиться к SQL
Server, не сообщая своего имени и пароля. Когда пользователь обращается к СУБД,
последняя получает информацию об имени пользователя и пароле из атрибутов
системы сетевой безопасности пользователей Windows (которые устанавливаются,
когда пользователь подключается к Windows).
В
смешанном
аутентификации:
режиме
Windows
и
аутентификации
SQL
Server.
задействованы
При
обе
системы
использовании
системы
аутентификации SQL Server отдельный пользователь, подключающийся к SQL
Server, должен сообщить имя пользователя и пароль, которые будут сравниваться с
хранимыми
в
системной
таблице
сервера.
При
использовании
системы
аутентификации Windows пользователи могут подключиться к SQL Server, не
сообщая имя и пароль.
Представления, хранимые процедуры, триггеры
Для решения типовых (часто повторяющихся) задач выборки или обновления
данных, а также в значительной части для управления доступом к данным (как
альтернатива механизму разрешения — запрета) и обеспечения целостности данных
целесообразно использовать процедуры. Кроме того, другое преимущество, уже в
части администрирования, состоит в том, что не надо специально определять
пользователю права доступа к таблицам и представлениям, используемым в
процедуре: достаточно определить только разрешение на выполнение процедуры.
Существуют два способа взаимодействия приложения с SQL Server:
-
можно создать приложение, отправляющее клиентские операторы T-SQL
на сервер;
-
либо создать хранимые процедуры непосредственно на сервере.
В первом случае операторы каждый раз рекомпилируются сервером. Второй
способ активизирует хранимые процедуры, вызывая их из приложения одним оператором.
57
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
При первом вызове хранимой процедуры она компилируется и создается план
ее выполнения, который сохраняется в памяти. При последующих вызовах SQL
Server будет использовать этот план и процедуру повторно не компилирует. Таким
образом, когда для решения определенных задач требуется многократно выполнить
одну и ту же последовательность операторов SQL, применение хранимой процедуры
обеспечивает более высокую производительность.
Для управления обработкой в процедурах можно использовать локальные
переменные, которые создаются с помощью оператора DECLARE. Переменная
доступна с момента ее объявления и до выхода из процедуры. После выхода из
процедуры на переменную ссылаться нельзя. Локальные переменные можно
объявлять в пакете, в сценарии, внешней программе, а также в хранимой процедуре.
В операторе DECLARE необходимо указать имя переменной и ее тип.
Представления
Представления (View) существуют независимо от информации в базе данных,
но тесно с ней связаны. Представления используются для фильтрования и
предварительной обработки данных.
Представление — это по существу некая виртуальная таблица, содержащая
результаты выполнения запроса (оператора SELECT) к одной или нескольким
таблицам. Для конечного пользователя представление выглядит как обычная
таблица в базе данных, над которой можно выполнять операторы SELECT, INSERT,
UPDATE и DELETE. В действительности представление хранится в виде
предопределенного оператора SQL.
Различные типы представлений имеют свои преимущества и недостатки.
Выбор того или иного типа представлений полностью зависит от задач приложения.
Выделяют следующие типы представлений:
• подмножество полей таблицы — состоит из одного или более полей таблицы
и считается
самым
простым типом представления. Обычно используется для
упрощения представления данных и обеспечения безопасности;
• подмножество записей таблицы — включает определенное количество
58
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
записей таблицы и также применяется для обеспечения безопасности;
• соединение двух и более таблиц — создается соединением нескольких
таблиц и используется для упрощения сложных операций соединения;
• агрегирование информации — создается группированием данных и также
применяется для упрощения сложных операций.
Представления также позволяют логически объединять данные. Например,
если данные хранятся в нескольких таблицах, их затем посредством представления
можно объединить в более крупную виртуальную таблицу.
Еще одно преимущество представлений заключается в том, что они могут
иметь более низкий уровень безопасности, чем их исходные таблицы. Запрос для
представления выполняется согласно уровню безопасности вызывающего его
пользователя. Таким образом, представление можно применять для сокрытия
данных от определенной группы пользователей.
Представления, как и индексы, можно создавать различными способами:
использовать для этого «мастер» или команду T-SQL, имеющую в общем случае
следующий формат.
CREATE VIEW имя_представления [столбец [,..]] AS SELECT-оператор
Следует отметить, что использование в операторе SELECT предложения
WHERE позволяет локализовать доступ пользователя к данным даже на уровне
отдельных строк и столбцов.
Хранимые процедуры
Хранимая процедура (stored procedure) — это набор операторов T-SQL,
которые SQL SERVER компилирует в единый план выполнения.
Этот план сохраняется в кэше процедур при первом выполнении хранимой
процедуры, и затем план можно повторно использовать уже без рекомпиляции при
каждом вызове. Хранимая процедура аналогична процедурам в языках программирования: она может принимать входные параметры, возвращать данные и коды
завершения.
59
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Применение хранимых процедур улучшает производительность, например,
при использовании в хранимой процедуре условных операторов (таких как IF и
WHILE), поскольку условие будет проверяться непосредственно на сервере и
серверу не потребуется возвращать промежуточные результаты проверки условия
программам-клиентам.
Хранимые процедуры также позволяют централизованно контролировать
выполнение задачи, что гарантирует соблюдение бизнес-правил.
Хранимые процедуры, как и представления, можно создавать различными
способами: использовать для этого «мастер» или команду T-SQL, имеющую в
общем случае следующий формат
CREATE PROCEDURE имя_ процедуры [(%параметр1 тип_данных[,..]]
AS SQL-операторы
Существует два типа хранимых процедур: системные и пользовательские.
Первые поддерживается SQL Server и применяются для управления сервером и
отображения информации о базах данных и пользователях. Вторые создаются
пользователями для выполнения прикладных задач.
Триггеры
Триггер (trigger) — это особый тип хранимой процедуры, которая
автоматически выполняется при изменении таблицы с помощью операторов
UPDATE, INSERT или DELETE.
Как и хранимые процедуры, триггеры содержат операторы T-SQL, но в
отличие от процедур запускаются не индивидуально, а автоматически при
выполнении операций изменения данных. Триггеры наряду с ограничениями
обеспечивают целостность данных и соблюдение бизнес-правил, однако их следует
использовать разумно. Например, не нужно создавать триггер, проверяющий наличие значения первичного ключа в одной таблице, чтобы определить, можно ли
вставить значение в соответствующее поле другой таблицы. Однако трудно
обойтись без триггеров при выполнении каскадных изменений в дочерних таблицах.
60
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Триггер создается на одной таблице в текущей базе данных, хотя может
использовать данные других таблиц и объекты других баз данных. Триггеры нельзя
создавать на представлениях, временных и системных таблицах. Таблица, для
которой определен триггер, называется таблицей триггера.
Существуют три типа триггеров: UPDATE, INSERT и DELETE, каждый из
которых инициируется при выполнении одноименной команды. Операции UPDATE,
INSERT и DELETE иногда называют событиями изменения данных.
Можно создать триггер, который будет срабатывать при возникновении более
чем одного события, например, запускаться в ответ на операторы UPDATE или
INSERT.
Такие
комбинированные
триггеры
называются
UPDATE/INSERT.
Возможно создание триггеров, срабатывающих при выполнении любого из трех
операторов обновления данных (триггер UPDATE/ INSERT/DELETE).
Триггеры, как и представления, можно создавать различными способами:
использовать для этого «мастер» или команду T-SQL, имеющую в общем случае
следующий формат:
CREATE TRIGGER имя_триггера
ON имя_ таблицы
FOR [INSERT] [,] [UPDATE] [,] [DELETE]
AS SQL-операторы
В
программе-триггере
нельзя
использовать
операторы
создания,
реструктуризации, удаления объектов, реконфигурации и восстановления.
Работа триггеров подчиняется следующим правилам:
• триггеры запускаются только после завершения выполнения
их
оператора.
Например,
вызывающего
триггер UPDATE не начинает работать, пока не
завершится выполнение оператора UPDATE;
• триггер не начинает работать, если при выполнении оператора происходит
нарушение какого-либо ограничения таблицы или возникает другая ошибка;
• триггер
и
вызывающий
его
оператор
образуют
транзакцию.
В результате вызова из триггера оператора ROLLBACK отменяются изменения,
61
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
выполненные триггером и оператором.
например,
при
отключении
При возникновении серьезной ошибки,
пользователя,
SQL-Server
автоматически
выполнит откат всей транзакции;
• триггер запускается один раз для каждого оператора, независимо от
количества изменяемых оператором записей.
Триггеры возвращают результаты своей работы в приложение, подобно
хранимым процедурам. Как правило, пользователь не ожидает вывода после
выполнения операторов UPDATE, INSERT и DELETE, вызывающих срабатывание
триггеров. Если триггер возвращает данные, приложение должно содержать код,
правильно интерпретирующий результаты модификации таблицы и вывод триггера.
Для каждого триггера SQL Server создает две временные таблицы, на которые
можно ссылаться в описании триггера. Эти таблицы хранятся в памяти и локальны
по отношению к триггеру, то есть триггер имеет доступ только к своей собственной
версии таблиц. Временные таблицы применяются для сравнения состояния таблицы
до и после внесения изменений.
В MS SQL Server возможно создание нескольких триггеров на таблице для
каждого события изменения данных (UPDATE, INSERT или DELETE) и
рекурсивный вызов триггера. Например, если для таблицы уже определен триггер
UPDATE, то можно определить еще один триггер UPDATE для той же самой
таблицы. В этом случае после выполнения соответствующего оператора сработают
оба триггера. Кроме того, допускаются вложенные триггеры, которые срабатывают
в результате выполнения других триггеров. Они отличаются от рекурсивных тем,
что не запускают сами себя.
3.2 Технология разработки базы данных средствами СУБД SQL Server
Установив программное обеспечение, вы можете начать работу с SQL Server
2000 (2005), выбрав в меню Пуск ► Программы группу Microsoft SQL Server, а в
ней — программу Enterprise Manager (Management Studio). Запустив эту программу,
найдите на левой панели значок Microsoft SQL Servers. Щелкните на символе «+»,
чтобы развернуть его, затем точно так же откройте группу SQL Server Group.
62
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Щелкните на символе «+» рядом с этим значком. После этого окно программы
должно будет принять вид, изображенный на рисунке 45. На этом рисунке видно
имя компьютера, с которого была получена эта копия экрана.
Рисунок 45 - Enterprise Manager
Чтобы создать новую базу данных, щелкните на папке Databases (Базы
данных) и выберите New Database (Новая база данных). Введите имя вашей базы
данных в поле Name (Имя), как показано на рисунке 46.
По умолчанию SQL Server создаст один файл данных и один файл журнала
для каждой базы данных. Вы можете создать несколько файлов данных и журналов
и ассоциировать определенные таблицы и журналы с определенными файлами и
группами файлов. На данном этапе примите все параметры файлов, которые SQL
Server предлагает по умолчанию. Увидеть эти параметры можно во вкладках Data
Files (Файлы данных) и Transaction Log (Журнал транзакций).
Создав базу данных, откройте папку Databases, а в ней — папку с именем вашей базы данных. Затем щелкните на значке Tables (Таблицы). Окно программы
63
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
должно после этого выглядеть подобно рисунку 47, только у вас еще не будет никаких пользовательских таблиц. Все таблицы, перечисленные у вас на правой панели,
— это системные таблицы, используемые SQL Server для управления базой данных.
Кстати, dbo обозначает database owner — «владелец базы данных».
Рисунок 46 - Создание базы данных SQL Server
Создание таблиц
Есть два способа создания и модификации таблиц (и вообще большинства
структур SQL Server). Первый способ — применять SQL-операторы CREATE или
ALTER. Второй способ — использовать графические возможности SQL Server.
Создание таблиц с помощью оператора CREATE
Создание таблицы программным путем начинается с ключевых слов CREATE
TABLE, за которыми следует имя новой таблицы. Далее идет список столбцов
таблицы, заключенный в скобки. Для каждого столбца указывается имя, тип данных
и свойства, если они есть. Описания столбцов разделяются запятыми, но после
последнего столбца запятая не ставится.
64
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В главном меню Enterprise Manager выберите команду Tools (Инструменты) и
в открывшемся меню выберите SQL Query Analyzer. Введите оператор CREATE
TABLE в окне анализатора запросов и щелкните на синей галочке, расположенной
на панели инструментов. Если ваш оператор содержит синтаксические ошибки,
отчет о них будет представлен ниже, в окне под текстом оператора. Исправив
ошибки, щелкните на зеленой стрелке — и таблица будет создана.
Рисунок 47 - Список таблиц в базе данных
Синтаксиса типичного SQL-оператора CREATE TABLE имеет следующий
формат
CREATE Table STUDENT
(SNUM ID
[Name]
STIPENDJA
int
char (50)
char (5)
DEFAULT
CHECK
PRIMARY KEY,
NOT NULL,
NULL
(300)
(STIPENDJA IN
(‘200’, ‘400’))
)
65
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Создаваемая таблица называется STUDENT и содержит три столбца:
SNUMID, Name, STIPENDJA. Столбец SNUMlD имеет целый тип (int) и является
первичным ключом таблицы. Столбец Name содержит строковые данные (тип char)
и имеет длину 50 символов. Столбец Name считается NOT NULL, что означает, что
пустые значения для этого столбца не допускаются. Если свойство NULL или NOT
NULL не указано, по умолчанию предполагается NULL. Имя столбца Name
заключено в квадратные скобки: [Name]. Это необходимо потому, что Name
является зарезервированным словом SQL Server. Если не поместить его в скобки,
SQL Server будет пытаться интерпретировать его как имя одной из своих
конструкций. Таким образом, всякий раз, когда вы собираетесь использовать
ключевое слово SQL Server в качестве пользовательского идентификатора,
заключайте его в скобки. Если вы не уверены, является ли данное слово зарезервированным, на всякий случай все равно заключите его в скобки.
Для столбца STIPENDJA в этом примере установлено значение по умолчанию,
равное (300). Далее, контрольное ограничение (CHECK) допускает присваивание
столбцу STIPENDJA только тех значений, которые указаны в списке. Кроме того,
данный столбец может иметь пустое значение. Чтобы убедиться, что таблица на
самом деле была создана, вернитесь в окно Enterprise Manager, щелкните правой
кнопкой мыши на значке Tables и выберите Refresh (Обновить). Новая таблица
должна появиться в списке таблиц в правой панели. Щелкните правой кнопкой
мыши на новой таблице и выберите Design Table (Проектировать таблицу). Вы
увидите в окне вашу таблицу. Обратите внимание, что для столбца STIPENDJA
действительно выбрано значение по умолчанию (300).
Кроме того, первичным
ключом таблицы является столбец SNUM, на что указывает символ ключа слева от
имени этого столбца.
Создание таблиц в графическом режиме
В Enterprise Manager щелкните правой кнопкой мыши на значке Tables и
выберите команду New Table (Новая таблица). Перед вами возникнет пустая форма,
в которую вы можете ввести имена (Column Name) и типы данных (Data Туре)
66
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
столбцов новой таблицы. Для некоторых типов данных (например, char) вы можете
задать длину, для других же (таких, как int) длина однозначно определяется типом
данных.
Заполните данные, как показано на рисунке 48. Стандартные типы данных
SQL Server перечислены в таблице 5. При определении столбца можно выбирать
любой из этих типов.
Рисунок 48 – Создание таблицы графическим способом
Пользовательские типы данных
SQL Server поддерживает пользовательские типы данных (user-defined data
types) — важное средство, которое можно использовать для представления доменов.
Чтобы реализовать это в SQL Server, можно ввести специальный пользовательский
тип данных. В Enterprise Manager щелкните правой кнопкой мыши на значке UserDefined Data Types (Пользовательские типы данных) и выберите команду New UserDefined Data Type (Новый пользовательский тип данных). Появится диалоговое
окно. Введите имя нового типа данных в поле Name: и выберите для него тип
данных из числа стандартных типов. После этого новый тип данных появится в
67
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
раскрывающемся списке, который вызывается щелчком на столбце Data Types, —
как если бы этот тип принадлежал к числу стандартных.
Пользовательские типы данных еще более полезны в сочетании с правилами.
Правила (rules) — это декларативные выражения, ограничивающие возможные
значения
данных.
Общий
формат
для
них
таков:
@имя_переменной
<формулировка_правила>, например:
@STIP BETWEEN 200 AND 400.
Таблица 5 - Стандартные типы данных SQL Server
Тип данных
Описание
Binary
Массив двоичных данных, длина от 0 до 8000 байт
Char
Массив символьных данных, длина от 0 до 8000 байт
Datetime Дата и время длиной 8 байт. Диапазон: от 1 января 1753 г. до 31
декабря 9999 г., с точностью до трех сотых секунды
Decimal Десятичное число, можно задавать точность и масштаб.
Диапазон: от -10я38 + 1 до 10"38 - 1
Float
Число с плавающей точкой длиной 8 байт. Диапазон значений:
от -1.79Е+308 до 1.79Е+308
Image
Массив двоичных данных переменной длины. Максимальная
длина 2147483647 байт
int
4-байтовое целое число. Диапазон значений: от -2147483648 до
+2147483647
Money
Денежная сумма, длина 8 байт. Диапазон: от 922337203685477.5808 до +922337203685477.5807
Numeric To же, что и Decimal
Real
4-байтовое число с плавающей точкой. Диапазон значений: от 3.40Е+38 до +3.40Е+38
Smalldatetime Дата и время длиной 4 байта. Диапазон: от 1 января 1900 г. до 6
июня 2079 г., с точностью до одной минуты
Smallint
2-байтовое целое число. Диапазон: от -32768 до 32767
Smallmoney
Денежная сумма, длина 4 байта. Диапазон: от -214748.3648 до
+214748.3647, с точностью до одной десятитысячной денежной
единицы
Text
Текст переменной длины, максимальная длина 2147483647
символов
Tinyint
1-байтовое целое. Диапазон: от 0 до 255
Varchar Массив символьных данных переменной длины, длина от 0 до
8000 байт
68
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Одно особенно полезное выражение выглядит так: ©переменная IN (список
значений). Например, выражение ©Gorod IN (MOS', 'OR', 'BU', 'PIT') ограничивает
диапазон значений столбца или пользовательского типа данных приведенным в
скобках списком. Как следствие оно будет ограничивать диапазон возможных
значений всех столбцов, имеющих тип данных Gorod.
Определение связей
Связи, как и другие структуры, можно создавать двумя способами: либо
определяя внешние ключи в операторах ALTER TABLE, либо рисуя связи на
диаграмме базы данных.
Щелкните правой клавишей мыши на значке Diagrams (Диаграммы) и выберите команду New Database Diagram (Новая диаграмма базы данных). Запустится
мастер, который проведет вас через процесс добавления таблиц в диаграмму.
Поместите на диаграмму созданные таблицы.
Для создания связи перетащите первичный ключ из одной таблицы во внешний ключ другой таблицы, с которой вы хотите установить связь.
Обратите внимание, что SQL Server предлагает для связи имя по умолчанию и
показывает столбцы, служащие первичным и внешним ключом. Все это вы можете
принять как есть, а вот расположенные ниже флажки, устанавливающие режим
обеспечения ссылочной целостности, заслуживают более внимательного отношения
к себе.
Обеспечение ссылочной целостности
Ограничения ссылочной целостности касаются присутствия ключевых
значений в родительской и дочерних таблицах. В частности, такие ограничения
гарантируют, что ключевое значение дочерней таблицы присутствует в связанной с
ней родительской таблице.
Первый флажок в окне включает проверку ссылочной целостности существующих данных. Поскольку мы создаем новую базу данных, для нас он не
играет роли. Но если бы мы создавали связь с уже существующими данными и
хотели бы с помощью SQL Server провести в них поиск нарушений ссылочной
69
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
целостности, мы бы установили этот флажок. При сброшенном флажке SQL Server
применяет ограничения только к новым и модифицируемым данным.
Если база данных имеет большие размеры, то вам, скорее всего, не захочется
проверять с помощью SQL Server ссылочную целостность существующих данных,
так как этот процесс может оказаться весьма длительным. Кроме того, не следует
устанавливать этот флажок, если вы не знаете, как устранять те нарушения, которые
могут обнаружиться. Вы можете и не знать, как исправить связь в существующих
данных.
Следующий флажок, Enforce relationship for replication (Поддерживать связь
при репликации), относится к распределенной обработке данных.
Третий
флажок,
Enforce
relationship
for
INSERTS
and
UPDATES
(Поддерживать связь при вставках и обновлениях), имеет существенное значение
для наших текущих целей. Когда этот флажок сброшен, SQL Server игнорирует
связи при обновлении и удалении данных. Так, если мы сбросим этот флажок, то
после
удаления
строки
из
одной
таблицы
могут
остаться
строки
с
несуществующими значениями в другой таблице. Такое нежелательно, поэтому этот
флажок следует установить.
Теперь, если мы не установим ни один из двух расположенных ниже флажков,
SQL Server просто запретит любое обновление или вставку, которые нарушают
данное ограничение ссылочной целостности.
Если в связях участвует таблица пересечения,
мы устанавливаем флажок
Cascade Delete Related Records (Каскадное удаление связанных записей). Тем самым
мы предписываем SQL Server при удалении строки из одной таблицы удалять все
связанные с ней строки в таблице пересечения. Это вызывает то же действие, что и
SQL-предложение ON DELETE CASCADE.
Окончательный вид диаграммы связей изображен на рисунке 49. Свойства любой связи можно определить, щелкнув правой кнопкой мыши на линии, представляющей эту связь.
70
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 49 - Схема базы данных STUDENT
Представления
Создавать представления можно с помощью операторов SQL или с помощью
графических средств проектирования SQL Server.
Из созданного представления пользователь может получить данные с помощью следующего SQL-оператора:
SELECT*
FROME
Пользователю не придется выполнять соединение таблиц, на которых основывается это представление; более того, ему даже не нужно будет знать о том, что
такое соединение было произведено.
71
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Чтобы создать представление с помощью графических средств, в Enterprise
Manager щелкните правой кнопкой мыши на значке Views (Представления) и выберите команду New View (Новое представление). Затем щелкните правой кнопкой
мыши на пустой верхней панели и выберите команду Add Table (Добавить таблицу).
Чтобы создать представление, добавьте необходимые таблицы и поставьте галочки
напротив имен нужных столбцов. В третьей панели напротив OZENKA в столбце
Criteria (Критерии) укажите критерий < 3. После того как вы это сделаете, SQL
Server покажет код соответствующего SQL-запроса в четвертой панели. Щелкните
на красном восклицательном знаке в панели инструментов, и SQL Server заполнит
представление вашими данными (фамилии плохо успевающих студентов), как
показано в нижней панели на рисунке 50.
Рисунок 50 - Создание представления с помощью графических средств
Индексы
Индексы - это специальные структуры данных, создаваемые для повышения
производительности базы данных. SQL Server автоматически создает индексы по
всем первичным и внешним ключам. Разработчик может также с помощью SQL
Server создавать индексы и по другим столбцам, которые часто фигурируют в
72
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
предложениях
WHERE
или
используются
для
сортировки
данных
при
последовательной обработке таблицы для запросов и отчетов.
Чтобы создать индекс, щелкните правой кнопкой мыши на таблице, содержащей столбец, который вы хотите индексировать, выберите All Tasks (Все задачи),
затем выберите Manage Indexes (Управление индексами).
Откроется диалоговое окно, изображенное на рисунке 51.
Рисунок 51 – Создание индекса в графическом режиме
Щелкните на кнопке New... (Новый...), и перед вами появится диалоговое
окно, изображенное в правой части рисунка. На этом рисунке разработчик создает
индекс по столбцу SNUMID таблицы USPEW.
Контрольные вопросы
1. Объясните порядок создания таблиц в SQL Server графическим способом.
2. Объясните порядок создания таблиц в SQL Server с помощью оператора
Create.
3. Напишите пример синтаксиса типичного SQL-оператора CREATE TABLE.
73
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
4. Назовите описание стандартных типов данных SQL Server: Binary, Char,
Datetime.
5. Назовите описание стандартных типов данных SQL Server: Decimal, Float,
Image.
6. Назовите описание стандартных типов данных SQL Server: Int, Money,
Numeric.
7. Назовите описание стандартных типов данных SQL Server: Real,
Smalldatetime, Smallint, Smallmoney.
8. Назовите описание стандартных типов данных SQL Server: Text, Tinyint,
Varchar.
9. Какие способы и правила используются при определении связей между
таблицами в базе данных SQL Server?
10. Что определяет флажок Enforce relationship for replication?
11. Что определяет флажок Enforce relationship for INSERTS and UPDATES?
12. Что определяет флажок Cascade Delete Related Records?
13. Что отображается в окнах представлений SQL Server?
14. Объясните порядок создания представления с помощью графических
средств проектирования в SQL Server.
15. Объясните порядок создания индексов в SQL Server.
3.3 Методические указания по созданию базы данных в СУБД SQL Server
средствами Visual Studio и языка программирования C#
Для начала разработки необходимо создать базу данных в MS SQL Server
2008. Это возможно сделать при помощи различных средств, в том числе с
использованием специальной утилиты, которая входит в стандартную поставку MS
SQL Server 2008 – Management Studio.
После запуска Management Studio и авторизации на сервере загрузится
основное окно программного средства. В панели
“Object Explorer(Обозреватель
объектов)” представлен список SQL-серверов, доступных из данной утилиты.
74
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Необходимо выбрать нужный SQL-сервер, кликнуть правой кнопкой мыши на
пункте
“Databases(Базы данных)” и в появившемся контекстном меню выбрать
команду “New Database(Создать базу данных)” (рисунок 52)
Рисунок 52– Создание новой базы данных с помощью Management Studio
В появившемся окне в поле “Database name(Имя базы данных)” указывается
имя базы данных (в данном случае Тест) (рисунок 53).
Рисунок 53 – Задание имени новой базы данных
75
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
MS SQL Server 2008 создает файл базы данных в папке, указанной в его
настройках по умолчанию. Обычно это папка располагается в подкаталоге каталога,
в который был установлен MS SQL Server. С точки зрения оптимальности хранения
данных такая ситуация не очень правильная, поэтому рекомендуется переместить
файл базы данных и файл журнала транзакций на другой логический диск (а лучше
даже на другой физический диск). Для этого, чтобы выполнить эту операцию
необходимо
вызвать
функцию
“Detach(Отсоединить)”:
нужно
в
списке
“Databases(Базы данных)” этого сервера кликнуть правой кнопкой мыши по только
что созданной базе
данных,
в появившемся
контекстном
меню выбрать
“Tasks(Задачи)→Detach…(Отсоединить)” (рисунок 54).
Рисунок 54 – Выполнение операции “Detach(Отсоединить)”
В появившееся диалоговом окне
“Attach Databases(Присоединение базы
данных)” нажать кнопку “OK” и дождаться окончания выполнения операции.
Затем необходимо переместить файл базы данных и файл журнала транзакций
(первый одноименен с названием базы данных, имя второго составлено из имени
базы данных и постфикса “_log”) из папки SQL-сервера (обычно это “C:\Program
Files\Microsoft SQL Server\...\MSSQL\Data\”) в папку, отведенную для этих файлов.
Затем необходимо произвести операцию “Attach(Присоединить)”. Для этого
необходимо кликнуть правой кнопкой мыши на пункте “Databases(Базы данных)” и
в появившемся контекстном меню выбрать команду “Attach…(Присоединить)”.
76
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В
появившемся
окне
“Attach
Database(Присоединение
базы
данных)”назначить кнопку “Add…(Добавить)” и указать расположения файла базы
данных. После этого нажать кнопку “OK”.
Создание таблиц базы данных
После того как база данных создана, файл базы данных перемещен в нужное
место, можно приступать к разработке структуры базы данных и созданию
клиентского приложения.
Разработка
структуры базы данных и создание
клиентского приложения выполняется в среде MS Visual Studio 2010. Для начала
разработки необходимо открыть Visual Studio 2010 и создать новый проект : меню
“File(Файл)”→ “New(Новый)”→ “Project(Проект)”… (рисунок 55).
Рисунок 55 – Создание нового проекта
В открывшемся диалогом окне “New Project(Новый проект)” выбрать “Visual
C#”→ “Windows Forms Application(Приложение Windows Forms)”, в поле
Name(Имя)
указать
имя
проекта
(в
данном
случае
указано
“WindowsFormsApplication”) (рисунок 56).
77
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 56 – Создание форм
Затем необходимо добавить в проект источник данных: “Главное меню”→
“Data(Данные)”→ “Add New Data Source…(Добавить новый источник данных…)”
(рисунок 57).
Рисунок 57 – Добавление источника данных
78
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В окне выбора типа источника данных нажать левой кнопкой мыши на
“Database(База данных)” и далее нажать кнопку “Next(Далее)” (рисунок 58).
Рисунок 58 – Выбор типа БД
В следующем окне необходимо указать модель базы данных (рисунок 59), а
затем создать строку соединения с источником данных: нажать на кнопку “New
Connection…(Создать подключение)” (рисунок 60).
Рисунок 59 – Выбор модели
79
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 60 – Создать подключение
В
появившемся
окне
“Add
Change…(Изменить…)” напротив поля ввода
Connection”
нажать
кнопку
“Data source(Источник данных)”
(рисунок 61).
Рисунок 61 - Изменение
80
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В окне
“Change Data Source(Сменить источник данных)” в списке
source(Источник данных)” кликнуть на пункт
“Data
“Microsoft SQL Server” и нажать
кнопку “OK” (рисунок 62).
Рисунок 62 – Смена источника данных
После этого в окне
остальные настройки:
“Add Connection(Добавить подключение)” произвести
в поле “Server name(Имя сервера)” указать имя компьютера,
на котором располагается SQL-сервер с созданной базой данных “Тест”; в радиогруппе
“Log on to the server(Вход на сервер)” выбрать тип аутентификации в
соответствии с настройками SQL-сервера (если выбран
“Use SQL server
Authentication(Использовать проверку подлинности SQL Server”, то необходимо
указать логин и пароль пользователя SQL-сервера); в радио-группе “Connect to a
database(Подключение к базе данных)” в поле
“Select or Enter a database
name(Выберите или введите имя базы данных)” указать имя базы данных (“Тест”) и
нажать кнопку “OK”.
После возврата в окно “Data Source Configuration Wizard(Мастер настройки
источника данных)” указать
“Yes, include sensitive data in connection string(Да,
включить конфиденциальные данные в строку подключения)” и нажать кнопку
“Next(Далее)”. Далее в следующем окне “Data Source Configuration Wizard(Мастер
настройки источника данных)” оставить имя, которое среда присвоит созданной
строке соединения, и нажать “Next(Дальше)” (рисунок 63)
81
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 63 – Имя присвоенное строке соединения
В появившемся окне “Выбор объектов базы данных” выбрать нужные пункты
напротив объектов базы данных (рисунок 64) и нажать кнопку “Finish(Готово)”.
Рисунок 64 –Выбор объектов БД
Теперь можно приступить к созданию структуры базы данных. Создание
структуры базы данных сводится к составлению ее диаграммы, содержащей
82
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
информацию о составе таблиц и связей между ними. Для этого необходимо открыть
обозреватель серверов: “Server Explorer(Обозреватель серверов)” (рисунок 65).
Рисунок 65 –Открытие обозревателя серверов
После этого в обозревателе серверов раскрыть пункт, соответствующий
строке соединения, кликнуть правой кнопкой мыши по пункту “Database Diagrams”
и выбрать пункт “Add New Diagram(Добавить новую схему)” (рисунок 66).
Рисунок 66 – Добавление новой схемы
83
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Затем в появившемся справа окне нажать правой кнопкой мыши и в
появившемся контекстном меню выбрать пункт “New Table” (рисунок 67).
Рисунок 67 – Создание таблиц
В появившемся диалоговом окне “Choose Name(Выбор имени)” необходимо
ввести имя таблицы. В данном случае “Техника” (рисунок 68).
Рисунок 68 – Название таблицы
84
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В рабочей области диаграммы появилась новая таблица, необходимо добавить
в нее поля. Для этого нужно нажать левой кнопкой мыши на первой пустой строке, в
колонке “Column Name(Имя столбца)” указать имя поля, в колонке “Data Type(Тип
данных)” из выпадающего списка выбрать необходимый тип данных. Поле “ИД” в
данной таблице должно обладать свойством автоинкримента, чтобы придать ему
такое свойство нужно кликнуть правой кнопкой на строке, соответствующей
описанию
поля
для
“Properties(Свойства)”
вызова
найти
панели
графу
идентификатора)” и установить свойство
“Properties(Свойства)”.
“Identity
В
панели
Specification(Спецификация
“Is Identity” в положение
“Yes(Да)”
(Рисунок 69 - Правый нижний угол рисунка).
Рисунок 69 – Спецификация идентификатора
Затем поле “ИД” необходимо сделать первичным ключом таблицы, для чего
нужно кликнуть по его строке на диаграмме правой кнопкой и в появившемся
контекстном меню выбрать пункт
“Set Primary Key(Задать первичный ключ)”
(рисунок 70).
85
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 70 – Задание первичного ключа
Аналогичным образом создаются остальные поля данной таблицы, т.е. в
колонке “Column Name(Имя столбца)” указывается имя поля, в колонке “Data
Type(Тип данных)” из выпадающего списка выбирается необходимый тип данных.
Далее вышеописанным способом создаются все остальные таблицы базы
данных. Единственная особенность создания таблиц, которую нужно оговорить –
это создание вычисляемых полей. В этой базе данных – это поле “Сумма” в таблице
“ПозицияДокументаОРемонтеТехники” (Рисунок 71).
Рисунок 71 – Создание вычисляемых полей
После того, как все таблицы будут созданы, диаграмма примет вид, подобный
показанному на рисунке 72.
86
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 72 – Диаграмма базы данных после добавления в нее всех таблиц
Для того чтобы сделать вычисляемым поле нужно вызвать для него панель “
Properties(Свойства)”. В панели
“Properties” найти графу
“Computed Column
Specification(Спецификация столбца)” и в свойство “Formula(Формула)” записать
формулу, для расчета этого поля (в данном случае
“([Цена]*[Количество])”)
(рисунок 73).
Рисунок 73 – Ввод формул
87
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Создание связей между таблицами
Теперь нужно указать связи между таблицами. Это делается следующим
образом: выбирается поле, являющееся первичным ключом первой таблицы, и
перетаскивается на поле другой таблицы, которое должно стать внешним ключом. В
данном примере создавалась связь между таблицами “ПозицияДокумента…” и
“ЕдиницаИзмерения”
с
помощью
первичного
ключа
“ИД”
таблицы
“ЕдиницаИзмерения”. После перетаскивания появляется окно, часть которого
представлена на рисунке 74, в котором нужно нажать кнопку “OK”.
Рисунок 74 – Установление связи между таблицами
Затем необходимо кликнуть правой кнопкой мыши на появившейся на
диаграмме линии между таблицами, обозначающей связь и вызвать для нее панель
“Properties(свойства)”. В панели “Properties(Свойства)” найти графу “INSERT And
Update Specification(Спецификация INSERT и UPDATE)” и установить свойства
“Delete Rule(Удалить правило)” и “Update Rule(Обновить правило)” в положение
“No Action(Без действия)” (рисунок 75).
Рисунок 75 – Задание свойств графы INSERT и Update
88
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Аналогичным образом создаются связи между всеми остальными таблицами
базы
данных.
После
установления
всех
связей
диаграмма
примет
вид,
представленный на рисунке 76.
Рисунок 76 – Диаграмма базы данных с установленными связями между
таблицами
Сохранение диаграммы базы данных
Для того, чтобы по диаграмме была построена база данных необходимо
сохранить диаграмму: “File(Файл)”→“Save DiagramDB(Сохранить DiagramDB)”.
После этого среда
“Visual Studio” сообщит о том, что в структуру базы
данных будут внесены изменения и спросит, продолжить выполнение операции или
нет – нужно нажать кнопу “Yes(Да)”.
Создание представления
В разрабатываемом программном средстве частым запросом будет запрос на
получение последних цен на запчасти, который будет вызываться как пользователем
для получения соответствующей информации, так и СУБД для определения цены
запчасти при записи позиции документа о ремонте, поэтому целесообразно создать
представление, с помощью которого можно будет получать соответствующую
89
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
информацию. Для того чтобы создать представление, с помощью которого можно
получить информацию о действующих ценах на запчасти, необходимо в
обозревателе
серверов
кликнуть
правой
кнопкой
мыши
“Views(Представления)” и в появившемся меню выбрать пункт
по
пункту
“Add New
View(Добавить новое представление)” (рисунок 77)
Рисунок 77 – Добавление представления
В появившемся окне необходимо написать текст запроса (рисунок 78).
Рисунок 78 – Текст запроса представления
Затем необходимо нажать кнопку “Save(Сохранить)” основной панели и в
появившемся окне ввести имя представления, после нажать кнопку “OK”.
90
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
4 Задание на выполнение лабораторных работ и требования по
оформлению отчета
Студент, изучивший первые три раздела данного учебного пособия и
выполнивший практически методические указания по лабораторным работам,
может выбрать вариант предметной области для выполнения лабораторной работы
и оформления отчета. Содержание и пример оформления задания на лабораторную
работу представлены в приложении А.
Варианты предметной области
Вариант №1
Автоматизированная информационная система «Обслуживание заказов
клиентов»
Описание предметной области.
Предприятие (Код, Название, Краткое название) осуществляет доставку
разных товаров (Код, Название, Краткое название) населению. Прием заказов от
населения осуществляет специальная служба (Код, Название, Краткое название)
предприятия.
Для того чтобы стать потребителем услуг предприятия каждый абонент
должен зарегистрироваться, при этом фиксируются его ФИО, адрес, телефон и
паспортные данные (Серия, Номер, Дата выдачи, Кем выдан). Каждый абонент в
течение дня может сделать несколько заказов (Дата, Время), заказу присваивается
номер.
В каждом заказе может содержаться несколько товаров, для каждого
указывается количество товара, единица измерения (Код, Название, Краткое
Название), цена за единицу товара, общая стоимость товара. Заказ также имеет
итоговую сумму. При формировании бланка заказа, который будет подписан
абонентом при получении товара фиксируется, оплачен заказ, или абонент получает
товар в кредит. Также на бланке заказа указывается: реквизиты предприятия
(название, адрес, контактные телефоны); ФИО и должность оператора, приявшего
заказ; ФИО, должность сотрудника, доставившего заказ.
Необходимо осуществлять следующую обработку данных:
- список товаров (код, наименование), пользующихся наибольшим спросом
(максимальное количество позиций заказов) у населения за заданный период;
- динамика изменения стоимости заданного товара за заданный период по
месяцам;
- список наименований улиц, на которых проживают абоненты предприятия
по убыванию числа абонентов.
91
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вариант №2
Автоматизированная информационная система «Индивидуальный план
преподавателя»
Описание предметной области.
Для каждого преподавателя (ФИО, Год рождения, Домашний адрес,
Контактные телефоны) высшего учебного заведения (Код, Название, Краткое
название) на каждый учебный год (Год начала учебного года, Год окончания
учебного года) формируется индивидуальный план. В индивидуальном плане
отражается общий объем работ преподавателя, который он должен выполнить в
течение учебного года. Учет работ ведется по следующей форме:
№
План
Наименование работы
Осенний
семестр
Факт
Весенний
семестр
Осенний
семестр
Весенний
семестр
В течение учебного года преподаватель выполняет следующие виды работ
(Код, Название Краткое название): «Учебная работа», «Учебно-методическая
работа», «Научно-методическая работа», «Научно-исследовательская работа»,
«Организационно-методическая работа», «Внеучебная работа со студентами»,
«Прочие виды работ». Необходимо вести учет в часах (целых и долях часов) объем
запланированных и фактически выполненных объемов работ для каждого
преподавателя по семестрам. Для каждого преподавателя также необходимо
фиксировать место работы – факультет (Код, Название, Краткое название), кафедра
(Код, Название, Краткое название), занимаемую должность (Код, Название, Краткое
название), время работы в этой должности (Дата начала, Дата окончания, Ставка,
Дата избрания на должность), кем является преподаватель – штатным сотрудником
или совместителем. Также для преподавателя фиксируются:
- ученая степень (Код, Название, Краткое название) – доктор, кандидат; каких
наук (Код, Название, Краткое название) – технических, экономических и т.п.; год
присуждения;
- ученое звание (Код, Название, Краткое название) – профессор, доцент, с.н.с.
и т.п.; год присуждения звания.
Необходимо осуществлять следующую обработку данных:
- формирование для каждого преподавателя итоговой суммы (в часах)
запланированных и выполненных объемов работ по семестрам;
- список преподавателей, у которых фактическое значение выполненных работ
превышает плановое (факультет, кафедра, ФИО, уч.степень, уч.звание, должность,
семестр, кол-во перевыполненных объемов работ);
- список преподавателей заданной кафедры, имеющих заданную ученую
степень на заданную дату.
92
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вариант №3
Автоматизированная
информационная
преддипломной практики студентами вуза»
система
«Прохождение
Описание предметной области.
Студенты высшего учебного заведения (Код, Название, Краткое название) в
период подготовки дипломной работы (проекта) проходят преддипломную
практику. Для каждого студента (Номер зачетной книжки, ФИО), обучающегося на
определенной специальности (Код, Название, Краткое название), факультете (Код,
Название, Краткое название), форме обучения (Код, Название, Краткое название)
фиксируется место прохождения преддипломной практики – предприятие (Код,
Название, Краткое название), адрес предприятия, ФИО, должность руководителя от
вуза, ФИО, должность руководителя от предприятия, срок прохождения практики
(Дата начала, Дата окончания). В базе данных также необходимо вести данные о
сроках защиты практики для каждой группы, оценке, полученной студентом за
практику. При вводе данных о месте прохождения практики для каждого студента
необходимо помечать – планирует ли студент в дальнейшем работать на данном
предприятии, варианты ответов - да, нет, не знаю.
Необходимо осуществлять следующую обработку данных:
- количество студентов, проходивших практику на заданном предприятии в
заданный период;
- перечень предприятий (название, адрес) по алфавиту, на которых проходили
преддипломную практику студенты заданной специальности за заданный период;
- на заданную дату список студентов заданной специальности и потока (год
обучения), не имеющих оценку за практику.
93
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вариант №4
Автоматизированная
информационная
программное обеспечение организации»
система
«Лицензионное
Описание предметной области.
Необходимо вести учет и анализ информации о лицензионном программном
обеспечении (ПО), установленном на компьютерах организации (Код, Название,
Краткое название). Для каждого компьютера фиксируется инвентарный номер, тип
(рабочая станция или сервер), местоположение – в каком подразделении (Код,
Название, Краткое название) организации компьютер установлен. Компьютеры
могут передаваться из подразделения в подразделение, при этом необходимо знать
сроки (Дата начала, Дата окончания) нахождения компьютера в подразделении и на
основании какого документа он перемещается (Номер документа, Дата документа),
тип этого документа (приказ, распоряжение и т.п.). При установке лицензионного
ПО фиксируется, куда установлено ПО – на какой компьютер, название продукта,
его тип (среда разработки прикладных программ, среда администрирования БД,
операционная система, антивирусная программа и т.п.), фирма производитель, срок
действия лицензии (Дата начала, Дата окончания), дата установки, цена за единицу
ПО. При этом также необходимо фиксировать информацию об организации,
продавшей программное обеспечение – название, адрес, контактные телефоны,
адрес сайта.
Необходимо осуществлять следующую обработку данных:
- на заданную дату список подразделений, на компьютерах которых
установлено не лицензионное ПО;
- список лицензионного ПО, количество лицензий на это ПО (по убыванию) на
заданную дату;
- список подразделений, количество компьютеров у подразделения (по
убыванию) на заданную дату.
94
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вариант №5
Автоматизированная информационная система «Арендная плата за
нежилые помещения»
Описание предметной области.
Организация (Код, Название, Краткое название, Адрес, Контактные телефоны,
электронный адрес) сдает в аренду помещения. Каждое помещение характеризуется
следующими показателями:
- адрес;
- площадь – кв.м.;
- площадь подвала – кв.м. (при наличии);
- коэффициент подвала – значение от 0 до 1;
- коэффициент технического обустройства помещения (КТ) – значение
от 1 до 2.
Арендная плата зависит от базовой ставки за 1 кв.м. (в рублях), которая
утверждается документом (Номер, Дата) агентства Госкомимущества России.
Формула расчета месячной арендной платы (МАП):
МАП = (базовая ставка/12 * площадь помещения + базовая ставка/12 *
площадь подвала * коэффициент подвала) * КТ.
При изменении базовой ставки МАП изменяется со следующего месяца после
даты изменения ставки. Оплата производится ежемесячно.
Договор об аренде может заключаться как с организациями (Юридическими
лицами), так и с физическими лицами. В договоре об аренде помещения, имеющего
номер, дату фиксируется дата начала аренды, дата заключения аренды. Для
юридического лица в БД заносятся название, адрес, ИНН, номер и дата лицензии о
деятельности. Для физического лица – ФИО, паспортные данные (Серия, Номер,
Дата выдачи, Кем выдан), ИНН и адрес.
Необходимо осуществлять следующую обработку данных:
- итоговая сумма оплат за текущий месяц (на заданную дату);
- список арендаторов (тип, название, адрес и другие характеристики
арендуемого помещения) на текущую дату;
- список помещений, не сданных в аренду на текущую дату.
95
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вариант №6
Автоматизированная информационная система «Списание основных
средств»
Описание предметной области.
Основные средства - это имущество организации, предприятия со сроком
полезного использования. На предприятии (Код, Название, Краткое название)
имеется перечень основных средств разного типа (мебель, вычислительная техника,
оборудование, инструменты и т.п.), закрепленных за подразделениями предприятия.
Закрепление осуществляется на основании определенного документа, имеющего
номер, дату, в нем указан срок закрепления средства за подразделением. При
списании имущества предприятия создается комиссия, в которую входят
руководитель предприятия, главный бухгалтер, главный инженер, главный
энергетик, главный механик, руководитель подразделения, где находится средство,
материально ответственный в подразделении. При списании средства формируется
документ, имеющий номер, название, дату и подписи членов комиссии. В каждом
документе может быть указано сразу несколько списываемых средств, для каждого
указывается:
- инвентарный номер;
- название;
- принадлежностью к типу;
- дата постановки на учет в подразделении;
- плановый срок эксплуатации (год, месяц);
- балансовая стоимость (в рублях), определяемая при постановке средства на
учет.
Для каждого средства также указывается дефект, ставший причиной списания
(Код, Название) – износ, поломка, не имеющая восстановления, утрата и др.
Необходимо осуществлять следующую обработку данных:
- на заданную дату список (наименование) средств, закрепленных за каждым
подразделением, балансовая стоимость средства;
- динамика списания средств заданного наименования (количество) за
заданный период по месяцам;
- на заданную дату список комиссии по списанию.
96
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вариант №7
Автоматизированная информационная система «Аттестация сотрудников
предприятия»
Описание предметной области.
Предприятие (Код, Название, Краткое название) периодически проводит
аттестацию сотрудников на соответствие ими занимаемой должности. Каждый
сотрудник за время работы может проходить несколько аттестаций.
Для проведения аттестации (Дата) необходима следующая информация: ФИО
сотрудника, дата рождения, место работы (Код, Название, Краткое название)
подразделения, занимаемая должность (Код, Название, Краткое название), ставка,
дата начала работы, дата окончания работы контракта), название, номер и дата
приказа о назначении на должность. Необходимы также следующие сведения:
- сведения об образовании – какое заведение окончил, документ об
образовании, квалификация по образованию (инженер, учитель, экономист);
- дата начала трудового стажа;
- дата начала стажа по специальности;
- сведения о повышении квалификации – в каком заведении проходил, дата
начала, дата окончания прохождения.
У каждого сотрудника может быть несколько документов об образовании и
повышении квалификации.
Каждому аттестуемому могут задать несколько вопросов, необходимо хранить
количество заданных вопросов и количество правильных ответов. Также
необходимо хранить оценку деятельности работника – соответствует или не
соответствует занимаемой должности.
Каждую аттестацию проводит комиссия, необходимо фиксировать ФИО,
место работы и должность члена комиссии. Максимальное число – 5 человек.
Необходимо осуществлять следующую обработку данных:
- на заданную дату список сотрудников (ФИО, место работы), не прошедших
аттестацию – не соответствующих занимаемой должности;
- на заданную дату количество сотрудников, работающих на предприятии в
заданной должности;
- список учебных заведений, предприятий, их адреса, на которых сотрудники
предприятия повышали свою квалификацию.
97
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вариант №8
Автоматизированная информационная система «Трудоустройство»
Описание предметной области.
Организация (Код, Название, Краткое название Адрес, Контактные телефоны,
электронный адрес) предоставляет услуги по трудоустройству. Организацией
ведется банк данных о существующих вакансиях. По каждой вакансии
поддерживается следующая информация:
- предприятие (Код, Название, Краткое название Адрес, Контактные
телефоны, электронный адрес);
- название вакансии (должность);
- требования к соискателю: пол, возраст (Верхняя граница, Нижняя граница),
образование (высшее, среднее, не имеет значение и т.п.), знание определенных
видов деятельности (выбор из перечня - знание электронного документооборота,
определенных прикладных программ и т.п.), коммуникабельность (да, нет);
- обязанности (выбор из перечня – заключение договоров, распространение
агитационного материала, работа с клиентами и т.п.);
- предполагаемая оплата (Нижняя граница, Верхняя граница), единицы
измерения оплаты - рубли;
- оформление трудовой книжки (да, нет);
- наличие социального пакета (да, нет);
- срок начала открытия вакансии;
- срок закрытия вакансии (вакансия занята).
Необходимо осуществлять следующую обработку данных:
- на заданную дату список предприятий, имеющих вакансии по заданной
должности;
- название должности, на которую за заданный период было предложено
максимальное количество вакансий;
- на заданную дату список предприятий, предлагающих вакансии, не
требующих образования.
98
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вариант №9
Автоматизированная информационная система «Спортивные сооружения
области»
Описание предметной области.
Областная организация (Код, Название, Краткое название Адрес, Контактные
телефоны, электронный адрес) ведет и предоставляет на сайте информацию о
спортивных сооружениях области. По каждому сооружению ведется информация:
- место – населенный пункт, городского или сельского типа, адрес;
- номер, название, краткое название;
- тип сооружения (игровые виды спорта, легкоатлетический манеж, каток,
ипподром и др.);
- площадь спортивной арены, кв.м.;
- вместимость зрителей, чел., тыс. чел.;
- организация (Код, Название, Краткое название Адрес, Контактные телефоны,
электронный адрес), принявшая сооружение на баланс;
- дата принятия на баланс.
Каждое сооружение за время функционирования может находиться на балансе
у разных организаций в разные периоды времени.
Необходимо также фиксировать мероприятия, проводимые в спортивных
сооружениях:
- тип мероприятия – тренировочный процесс, соревнования, сдача в аренду,
концерт и т.п.;
- название мероприятия;
- дата начала, дата окончания мероприятия;
- количество человек, посетивших мероприятие.
Необходимо осуществлять следующую обработку данных:
- на заданную дату список спортивных сооружений заданного типа;
- за заданный период динамика занятости спортивного сооружения в
мероприятиях заданного типа по месяцам;
- на заданную дату список организаций, на балансе у которых находятся
спортивные сооружения, их количество.
99
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вариант №10
Автоматизированная
предприятия»
информационная
система
«Справочник
Описание предметной области.
Для формирования контактов организации, имеющей большой контингент
клиентов, и представления их на сайте, необходимо хранить следующую
информацию:
- код, название краткое название предприятия, каждого его подразделения,
взаимодействующего с клиентами;
- вид деятельности предприятия, подразделения – работа с абонентами,
изготовление продукции; изучение рынка спроса; IT-подразделение и др.;
- местоположение предприятия, подразделения – адрес, вплоть до номера
комнаты. Местоположение может меняться, необходимо отслеживать все данные,
для этого фиксируется дата начала закрепления адреса за предприятием,
подразделением;
- контактные телефоны – их может быть несколько, и они могут меняться,
необходимо хранить историю закрепления телефонов;
- электронный адрес предприятия. Подразделения;
- ФИО, должность руководителя. Руководители также могут меняться,
необходимо отслеживать историю их изменения и поддерживать исторические
данные.
Необходимо осуществлять следующую обработку данных:
- на заданную дату список контактных телефонов подразделений предприятия;
- на заданную дату количество подразделений, не имеющих электронные
адреса;
- название подразделения, у которого за заданный период сменилось
наибольшее число руководителей.
100
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вариант №11
Автоматизированная
сотрудника»
информационная
система
«Паспорт
здоровья
Описание предметной области.
Организация придает большое значение здоровью сотрудников и имеет в
своей структуре подразделение, занимающееся профилактикой здоровья
сотрудников. Для учета состояния здоровья для каждого сотрудника ведется
«Паспорт здоровья», в котором сохраняется следующая информация:
- ФИО сотрудника, пол, дата рождения;
- образование (высшее, среднее, без образования). Если человек за время
работы на предприятии повышал своё образование – необходимо фиксировать все
соответствующие данные, привязывая их к дате получения соответствующего
документа;
- история всех перемещений сотрудника на предприятии – подразделение,
должность, категория должности (инженерно-технический работник, рабочий,
управленческий персонал, IT-специалист и др.), должность, ставка, дата начала
работы, дата окончания;
- история семейного положения – состояние (холост, в браке, разведен и др.),
дата начала семейной жизни, дата окончания;
- история антропологических измерений – на дату – рост, вес;
- история прививок – дата, название прививки;
- история заболеваний – название, дата постановки на учет, дата снятия с
учета.
Необходимо осуществлять следующую обработку данных:
- на заданную дату название заболевания, зафиксированного у сотрудников за
все время наблюдения максимальное число раз;
- на заданный период список сотрудников, не сделавших прививку заданного
вида;
- за заданный период динамика количества заболеваний в организации – по
месяцам, количество заболевших с высшим, средним образованием и без
образования.
101
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вариант №12
Автоматизированная
абитуриента»
информационная
система
«Справочник
Описание предметной области.
Высшее учебное заведения для предоставления на сайте информации
абитуриентам ведет банк данных со следующей информацией:
- список специальностей (Код, Название, Краткое название), на которых
осуществляется обучение в вузе. Специальности привязаны к учебным
подразделениям – факультетам, кафедрам (Код, Название, Краткое название), и
распределены по формам обучения (очная, очно-заочная, заочная);
- адрес учебных подразделений;
- телефоны учебных подразделений;
- если есть – адрес сайта учебного подразделения;
- ФИО, ученая степень, ученое звание руководителя учебного заведения
(декан факультета, заведующий кафедрой). При этом необходимо вести историю
всех руководителей – дата начала работы, дата окончания;
- по каждой форме обучения:
- план приема на специальность на каждый год;
- перечень предметов, по которым необходимо сдавать вступительные
экзамены (ЕГЭ);
- проходной балл на специальность по годам с разбивкой по предметам.
Необходимо осуществлять следующую обработку данных:
- на заданный год – список специальностей заданной формы обучения и планы
приема;
- на заданный год наименование специальности, на которую был
максимальный проходной балл по математике;
- на заданный год список руководителей учебных подразделений, имеющих
ученую степень «доктор наук» и ученое звание «профессор».
102
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вариант №13
Автоматизированная
информационная
образовательные услуги населению»
система
«Платные
Описание предметной области.
Организация (Код, Название, Краткое название) оказывает платные
образовательные услуги населению. Услуги оказываются в виде проведения курсов
обучения, по которым необходимо хранить следующую информацию:
- тип проведения – групповые, индивидуальные;
- вид проведения – очные, заочные;
- дата начала, дата окончания курсов;
- срок обучения (дни, месяцы, годы);
- количество часов обучения;
- на базе какого образования (среднее, высшее);
- темы, входящие в курс, для каждой темы:
название;
количество часов;
- время проведения занятий – дни недели, часы;
- вид выпускного контроля (квалификационная работа, экзамен,
собеседование и прочее);
- вид выдаваемого документа (документ государственного образца, документ
установленного образца);
- стоимость обучения
Для предоставления информации на сайте необходимо хранить адрес
организации, контактные телефоны, электронный адрес, адрес сайта, серия, номер и
вид документа о предоставлении образовательных услуг.
Необходимо осуществлять следующую обработку данных:
- список курсов, на которых можно прослушать заданную темы, например,
«1С Бухгалтерия»;
- список курсов, на которых можно пройти заочное обучение и имеющих
минимальную стоимость;
- список самых длительных курсов.
103
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вариант №14
Автоматизированная
организации»
информационная
система
«Новостная
лента
Описание предметной области.
Для предоставления новостных событий организации на её сайте необходимо
вести следующие данные:
- название, краткое название организации, контактные телефоны, адрес,
электронный адрес, адрес сайта;
- название и координаты подразделений организации, информация о которых
будет предоставляться на сайте;
- список работающих сотрудников подразделений организации. Которым
предоставляется возможность размещать информацию на сайте – ФИО,
подразделение, должность, логин, пароль. При изменении статуса сотрудника –
увольнение, перевод – информация должна соответствующим образом изменяться,
например, сотрудник переводится в статус неработающего, логин и пароль д.б.
заблокированы;
- описание новостной информации, размещаемой на сайте:
тип (новость, объявление, сообщение и др.);
название информации;
дата создания;
текст;
дата размещения;
дата перевода информации в архив;
размер информации в Кб;
наличие прикрепляемых к информации файлов – для каждого название,
размер, тип, краткое описание;
ответственный за информацию – сотрудник подразделения, имеющий
соответствующий доступ.
Необходимо осуществлять следующую обработку данных:
- на заданную дату список ответственных за информацию на сайте от
подразделений, не имеющих логин и пароль;
- на заданную дату название информации, размещенной на сайте (не в архиве)
и имеющей самый большой размер.
- динамика предоставления информации для сайта заданным подразделением
за заданный период – количество по месяцам.
104
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вариант №15
Автоматизированная информационная система «Анализ продаж»
Описание предметной области.
Магазин (Код, Название, Краткое название) ведет учет продаж товаров и
анализ работы с постоянными клиентами. Каждая единица товара учитывается при
поступлении в магазин из накладной (Номер, Дата накладной), которая может иметь
несколько позиций. В каждой позиции есть её номер, наименование товара,
количество единиц поступившего товара, единица измерения, цена за единицу.
Товары учитываются по виду - одежда, кожгалантерея, чулочно-носочные изделия,
обувь и т.п. Каждый товар также имеет определенный артикул.
Ведет учет и продаж товаров – фиксируется дата продажи конкретного товара,
количество проданных единиц.
Магазин ведет учет постоянных клиентов – фиксируется ФИО клиента, его
паспортные данные (Серия, Номер, Дата выдачи, Кем выдан), дата рождения,
контактный телефон. Покупателю, сделавшему покупку на сумму свыше 3000 тыс.
рублей выдается дисконтная карта, имеющая 5-ти значный номер. Карта дает
покупателю скидку 3%. При накоплении сумм покупок покупателем более чем на
10000 тыс. рублей, процент скидки увеличивается до 5%, более 20000 –
максимальный процент скидки достигает размера 10%.
Необходимо осуществлять следующую обработку данных:
- на заданную дату количество и список покупателей (ФИО, контактный
телефон), имеющих 10% скидку;
- за заданный период - динамика продажи заданного товара – количество по
месяцам – поступление/ продажа;
- на заданную дату список покупателей (ФИО, контактный телефон), у
которых в ближайшие 10 дней будет день рождения.
105
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Общие требования к оформлению отчетов по лабораторным работам
Лабораторная работа является видом учебного занятия, способствующего
формированию у студентов практических навыков по дисциплине, закреплению
теоретических
знаний,
развитию
творческого
мышления
и
инициативы.
Лабораторная работа проводится в специально оборудованной лаборатории под
руководством ведущего преподавателя и заведующего лабораторией.
Отчет
по
лабораторной
работе
выполняется
согласно
ГОСТ
СТО
02069024.101-2010 и содержит:
– титульный лист;
– содержание;
– цель работы;
– задание;
– теоретическую часть;
– практическую часть (описание экспериментальной установки и методики
эксперимента, экспериментальные результаты, анализ результатов);
– выводы;
– список использованных источников;
– приложения.
Оформление отчета выполняется в соответствии с требованиями раздела 6,
7.4, 7.6, 7.7, 7.8, 7.9 и раздела 8 СТО 02069024.101-2010.
Пример оформления титульного листа отчета по лабораторной работе
приведен в приложении Б.
106
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Список использованных источников
1 Советов, Б. Я. Базы данных: теория и практика: учеб. для бакалавров / Б. Я.
Советов, В. В. Цехановский, В. Д. Чертовской.- 2-е изд. - М. : Юрайт, 2012. - 464 с. :
ил.
2 Кузин, А. В. Базы данных: учеб. пособие / А. В. Кузин, С. В. Левонисова.- 2е изд., стер. - М. : Академия, 2008. - 316 с.
3 Хомоненко, А. Д. Базы данных: учеб. для вузов / А. Д. Хомоненко, В. М.
Цыганков, М. Г. Мальцев; под ред. А. Д. Хомоненко.- 6-е изд. - СПб. : КОРОНАВек, 2010. - 736 с. : ил.
4 Фуфаев, Э. В. Разработка и эксплуатация удаленных баз данных: учеб. для
сред. проф. образования / Э. В. Фуфаев, Д. Э. Фуфаев. - М. : Академия, 2008. - 251 с.
5 Пирогов, В.Ю. SQL Server 2005: Программирование клиент-серверных
приложений. – СПб.: БХВ-Петербург, 2006. – 336 с.: ил.
6 Советов, Б.Я. Базы данных: теория и практика: учеб. для втузов/ Б.Я.
Советов, В.В. Цехановский, В.Д. Чертовской – 2-е изд., стер. – М.: Высш. шк., 2007.
-463 с.: ил.
7 Кузин, А.В. Базы данных: учеб. пособие для студ. высш. учеб. заведений /
А.В.Кузин, С.В. Левонисова. – М.: Издательский центр «Академия», 2005. – 320с.
8 Уткин, В.Б. Информационные системы в экономике: учебник для студ.
высш. учеб. заведений / В.Б. Уткин, К.В. Балдин. – М.: Издательский центр
«Академия», 2009, 2010. – 288 с.
9 Золотова, С.И. Практикум по Access./ С.И. Золотова – М.: Финансы и
статистика, 2008. – 144с.: ил.
10 Вендров, А.М. Проектирование программного обеспечения экономических
информационных систем: учебник / А.М. Вендров – М.: Финансы и статистика,
2005.
11 Вендров, А.М. Практикум по проектированию программного обеспечения
экономических информационных систем: учеб. пособие / А.М. Вендров – М.:
Финансы и статистика, 2006.
107
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Приложение А
(обязательное)
Пример оформления задания на лабораторную работу
Министерство образования и науки Российской Федерации
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Факультет информационных технологий
Кафедра программного обеспечения вычислительной техники
и автоматизированных систем
Задание на лабораторную работу
Разработка и создание базы данных предметной области
(по вариантам предметной области)
Исходные данные:
Вариант №___
___________________________________________________________________
( наименование предметной области )
Разработать:
1) Шаблоны таблиц и схему связи в СУБД Access;
2) Запросы к базе данных;
3) Формы для ввода, просмотра, редактирования и удаления данных, а
также для выполнения запросов информации;
4) Шаблоны таблиц и диаграмму в СУБД SQL Server;
5) Представления данных;
6) Приложение интерфейса для SQL-сервера баз данных в программной среде
Visual Studio на языке программирования высокого уровня C#;
Дата выдачи задания « ___» __________ 20___ г.
Руководитель
канд. техн. наук, доцент ____________ С.А. Щелоков
( подпись )
Исполнитель
студент группы ________
_____________ ______________
( подпись )
( Инициалы, фамилия)
Срок защиты работы «____» ________ 20___ г.
108
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Приложение Б
(обязательное)
Пример оформления титульного листа отчета по лабораторной работе
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
"ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ"
Факультет информационных технологий
Кафедра программного обеспечения вычислительной техники
и автоматизированных систем
ОТЧЕТ
по лабораторной работе
по курсу «Базы данных»
Разработка и создание базы данных предметной области
ОГУ 230105.65.6014.123 О
Руководитель
канд. техн. наук, доцент
____________ С.А. Щелоков
«____»____________2014г.
Исполнитель
студент группы. З 10-ПОВТ (У)
_____________ П.С. Иванов
«____»____________2014г.
Оренбург 2014
109
Документ
Категория
Без категории
Просмотров
134
Размер файла
3 899 Кб
Теги
создание, sql, server, данных, разработка, средства, 9778, субд, access, баз
1/--страниц
Пожаловаться на содержимое документа