
- •Операции над данными
- •Ограничения целостности
- •Недостатки
- •Пример модели
- •Основные элементы сетевой модели данных
- •Преимущества
- •Недостатки
- •Реляционная модель данных
- •Требования к реляционным моделям
- •Графическая интерпретация реляционной схемы
- •Ограничение целостности
- •Цели проектирования
- •Многозначная зависимость
- •Определения
- •Процедура проектирования
- •Преимущества языка sql
Процедура проектирования
Процесс проектирования информационных систем является достаточно сложной задачей. Он начинается с построения инфологической модели данных (п. 2), т.е. идентификации сущностей. Затем необходимо выполнить следующие шаги процедуры проектирования даталогической модели.
1. Представить каждый стержень (независимую сущность) таблицей базы данных (базовой таблицей) и специфицировать первичный ключ этой базовой таблицы.
2. Представить каждую ассоциацию (связь вида "многие-ко-многим" или "многие-ко-многим-ко-многим" и т.д. между сущностями) как базовую таблицу. Использовать в этой таблице внешние ключи для идентификации участников ассоциации и специфицировать ограничения, связанные с каждым из этих внешних ключей.
3. Представить каждую характеристику как базовую таблицу с внешним ключом, идентифицирующим сущность, описываемую этой характеристикой. Специфицировать ограничения на внешний ключ этой таблицы и ее первичный ключ – по всей вероятности, комбинации этого внешнего ключа и свойства, которое гарантирует "уникальность в рамках описываемой сущности".
4. Представить каждое обозначение, которое не рассматривалось в предыдущем пункте, как базовую таблицу с внешним ключом, идентифицирующим обозначаемую сущность. Специфицировать связанные с каждым таким внешним ключом ограничения.
5. Представить каждое свойство как поле в базовой таблице, представляющей сущность, которая непосредственно описывается этим свойством.
6. Для того чтобы исключить в проекте непреднамеренные нарушения каких-либо принципов нормализации, выполнить описанную в п. 4.6 процедуру нормализации.
7. Если в процессе нормализации было произведено разделение каких-либо таблиц, то следует модифицировать инфологическую модель базы данных и повторить перечисленные шаги.
8. Указать ограничения целостности проектируемой базы данных и дать (если это необходимо) краткое описание полученных таблиц и их полей.
На рис. 4.6 показан синтаксис предложения, предлагаемого для регистрации принимаемых проектных решений.
Вопрос №19
Основные характеристики и возможности СУБД Access
СУБД Access (фирма Microsoft) имеет достаточно высокие скоростные характеристики и входит в состав чрезвычайно популярного в нашей стране и за рубежом пакета Microsoft Office. Набор команд и функций, предлагаемых разработчикам программных продуктов в среде Access, по мощи и гибкости отвечает большинству современных требований к представлению и обработке данных. В Access поддерживаются разнообразные всплывающие и многоуровневые меню, работа с окнами и мышью, реализованы функции низкоуровневого доступа к файлам, управления цветами, настройки принтера, представления данных в виде электронных таблиц и т.п. Система также обладает средствами быстрой генерации экранов, отчетов и меню, поддерживает язык управления запросами SQL, имеет встроенный язык Visual Basic for Applications (VBA), хорошо работает в сети. СУБД Access позволяет использовать другие компоненты пакета Microsoft Office, такие как текстовый процессор Word for Windows, электронные таблицы Excel и т.д.
Перечисленные факторы определили выбор СУБД Access в качестве среды для практического изучения вопросов проектирования баз данных в данной книге.
Приведем некоторые из средств Microsoft Access, существенно упрощающие разработку приложений.
1. Процедуры обработки событий и модули форм и отчетов. На встроенном языке VBA можно писать процедуры обработки событий, возникающих в формах и отчетах. Процедуры обработки событий хранятся в модулях, связанных с конкретными формами и отчетами, в результате чего код становится частью макета формы или отчета. Кроме того, существует возможность вызова функции VBA свойством события.
2. Свойства, определяемые в процессе выполнения. С помощью макроса или процедуры обработки событий можно определить практически любое свойство формы или отчета в процессе выполнения в ответ на возникновение события в форме или отчете.
3. Модель событий. Модель событий, похожая на используемую в языке Microsoft Visual Basic, позволяет приложениям реагировать на возникновение различных событий, например нажатие клавиши на клавиатуре, перемещение мыши или истечение определенного интервала времени.
4. Использование обработки данных с помощью VBA. С помощью языка VBA можно определять и обрабатывать различные объекты, в том числе, таблицы, запросы, поля, индексы, связи, формы, отчеты и элементы управления.
5. Построитель меню. Предназначен для помощи при создании специальных меню в приложениях. Кроме того, специальные меню могут содержать подменю.
6. Улучшенные средства отладки. Помимо установки точек прерывания и пошагового выполнения программ на языке VBA, можно вывести на экран список всех активных процедур. Для этого следует выбрать команду Вызовы в меню Вид или нажать кнопку [Вызовы) на панели инструментов.
7. Процедура обработки ошибок. Помимо традиционных способов обработки ошибок возможно использование процедуры обработки события Error для перехвата ошибок при выполнении программ и макросов.
8. Улучшенный интерфейс защиты. Команды и окна диалога защиты упрощают процедуру защиты и смены владельца объекта.
9. Программная поддержка механизма OLE. С помощью механизма OLE можно обрабатывать объекты из других приложений.
10. Программы-надстройки. С помощью VBA можно создавать программы-надстройки, например нестандартные мастера и построители. Мастер — средство Microsoft Access, которое сначала задает пользователю вопросы, а затем создает объект (таблицу, запрос, форму, отчет и т.д.) в соответствии с его указаниями.
Диспетчер надстроек существенно упрощает процедуру установки программ-надстроек в Microsoft Access.
Вопрос №20
Основные режимы работы с таблицами
В новой версии Microsoft Access существуют четыре режима работы с таблицами:
· режим Таблицы (Datasheet View),
· режим Конструктора (Design View),
· режим Сводной таблицы (PivotTable View)
· режим Сводной диаграммы (PivotChart View).
В режиме Таблицы осуществляется работа с данными, находящимися в таблице: просмотр, редактирование, добавление, сортировка и т. п.
В режиме Конструктора создается или модифицируется структура таблицы, т. е. задаются имена полей таблицы и их типы, поля описываются, задаются их свойства.
В режимах Сводной таблицы и Сводной диаграммы удобно выполнять анализ данных, динамически изменяя способы их представления.
Существует также дополнительный режим — режим Предварительного просмотра, который позволяет увидеть расположение данных на листе перед осуществлением печати таблицы.
Вопрос №21
Работа с данными в БД непосредственно осуществляется в таблицах и запросах. При этом предлагаемые возможности по изменению структур таблиц и содержащихся в них данных полезны скорее разработчику, нежели пользователю. В Access имеются широкие возможности по созданию интерфейса пользователя при помощи форм. Создавая форму в БД, разработчик может преследовать одну из не скольких целей.
Отображение и изменение данных. Наиболее часто формы создаются именно для вывода и изменения данных в БД. При этом разработчик может задать любой вид отображения информации, т.е. произвольный набор полей из одной или нескольких таблиц или запросов (если поля находятся в разных таблицах, то между этими таблицами должна быть связь). Также можно установить любые ограничения на редактирование данных в форме, т.е. разрешить редактирование одних полей и запретить изменение других.
Ввод данных. Формы могут использоваться для ввода новых данных в таблицу, при этом ввод будет выполняться пользователем в том формате, который задан разработчиком. Другими словами, пользователь может вводить значения только для тех полей, которые представлены в форме.
Печать. Несмотря на то, что для печати данных в БД используются отчеты, содержимое формы также можно распечатать.
Сообщения. Дополнительная возможность использования форм заключается в создании с их помощью различных сообщений, отображаемых впоследствии в той или иной ситуации для облегчения работы пользователя. В таком виде формы используются в приложениях.
Таким образом, можно сделать вывод, что формы в Access являются главным средством разработки пользовательского интерфейса. В зависимости от того, с какой целью создается форма, разработчик определяет параметры ее внешнего вида. Существует несколько основных видов форм.
Многостраничная (в столбец) - поля записи выводятся в один столбец, при этом в один и тот же момент времени в форме отображается содержимое только текущей записи. На рисунке 1 представлена многостраничная форма Студенты, в которой отображены данные о студентах из таблицы Студенты.
Ленточная - все поля записи выводятся в одну строку, при этом в форме отображаются все записи. В ленточной форме Студенты1, представленной на рисунке 2, отображены все записи из таблицы Студенты.
Табличная - отображение записей осуществляется в режиме таблицы. На рисунке 3 представлена табличная форма Студенты, в которой все записи таблицы Студенты выведены в табличном режиме.
Подчиненная - используется при необходимости вывода данных, связанных отношением "один-ко-многим", при этом в подчиненной форме отображаются записи из таблицы, которая соответствует слову "многим". В форме ОценкиСтудентов (рис. 4), кроме данных из таблицы Студенты, имеется также подчиненная форма, в которой отображаются записи из таблицы Успеваемость. Необходимо обратить внимание на тот факт, что в столбце Предмет этой формы выводятся названия предметов, в то время как в таблице Успеваемость, которая служит источником данных для подчиненной формы, имеются только коды предметов. Подобный эффект достигается с помощью мастера подстановок для таблицы Успеваемость, причем в качестве подстановки для по ля КодПредмета было использовано поле Название из таблицы Предметы.
Вопрос №22
Отчет - это гибкое и эффективное средство для организации данных при выводе на печать. С помощью отчета имеется возможность вывести необходимые сведения в том виде, в котором требуется.
Основные сведения в отчете берется из базовой таблицы, запроса или инструкции SQL, являющихся источниками данных для отчета. Другие сведения вводятся при разработке отчета. Для создания связи между отчетом и его источником данных применяются элементы управления (так же, как в формах). Такими элементами могут быть поля, надписи, линии или другие графические объекты.
К категории отчетов в MS Access относятся и другие объекты, включая наклейки с адресами (и другие типы наклеек), создаваемые Мастером наклеек, и диаграммы, создаваемые мастером диаграмм.
Стандартные отчеты делятся на две разновидности: столбцовые и ленточные.
Столбцовый отчет больше напоминает обычную форму: каждое поле выводится в отдельной строке, в которой слева расположено название, а справа - содержимое. В зависимости от количества полей в базе каждая запись может располагаться на одном или нескольких листах.
Ленточный отчет построен так, что каждое поле расположено в отдельном столбце, а каждая запись представлена одной строкой. Такой отчет напоминает режим таблицы. На различных уровнях структуры отчета могут находиться итоговые значения (промежуточные суммы, средние значения и т.д.).
В режиме конструктора отчеты делятся на несколько разделов (см. рисунок 8.1.1). Информация, содержащаяся в каждом разделе, выводится в определенной позиции печатного отчета. Раздел Заголовок отчета выводится в начале первой страницы. Раздел Примечание отчета - в конце последней страницы. Содержимое раздела Верхний колонтитул выводится в верхней части каждой страницы отчета, а раздел Нижний колонтитул - в нижней части каждой страницы. Информация из раздела Область данных выводится для каждой записи, входящей в отчет.
Отчет в режиме конструктора
Отчет с группировкой данных позволяет вычислить итоговые значения для групп, а также представить информацию в удобном для использования виде. Заголовок группы печатается в начале каждой новой группы записей и может содержать имя группы и другие сведения, применимые ко всей группе целиком. Примечание группы печатается в конце группы записей и обычно содержит результаты групповых вычислений.
Создание отчетов
Для создания отчета необходимо выбрать в окне базы данных выберите вкладку "Отчеты" и нажать кнопку "Создать", после чего откроется диалоговое окно "Новый отчет", представленное на рисунке 8.2.1.
Окно создания отчета
Вариант Конструктор позволяет создавать отчеты "с нуля" в режиме конструктора.
Мастер отчетов представляет собой наиболее простой и гибкий способ разработки отчетов. При этом отчеты, созданные с помощью Мастера отчетов обладают более широким диапазоном возможностей при выборе полей и проектировании отчета, чем автоотчеты.
Варианты Автоотчет: в столбец и Автоотчет: ленточный предназначены для быстрого создания столбцовых и ленточных отчетов. В автоотчеты включаются все поля, принадлежащие таблице или запросу из источника данных отчета.
Мастер диаграмм предназначен для создания диаграмм средствами программы Microsoft Graph/
Вариант Почтовые наклейки предназначен для создания почтовых и других наклеек.
Часто требуется изменить внешний вид всего отчета или его части. Например, довольно часто MS Access не может разместить имя поля по ширине столбца и требуется изменить шрифт или его размер. Для изменения внешнего вида одного элемента управления, например надписи, необходимо его выделить и на панели инструментов Форматирование выберать другой шрифт, размер шрифта или другие параметры. Чтобы изменить весь отчет, требуется нажать кнопку Автоформат на панели инструментов и выбрать новый внешний вид отчета.
Вопрос №23
Использование запросов позволяет осуществлять различные формы доступа к одной и той же информации. Запрос – это объект БД, допускающий многократное использование. Результат запроса – представленный в табличном виде набор данных, который задается в режиме Конструктора. Запросы могут быть заданы как с помощью мастера, так и самостоятельно.
Для задания нового запроса:
1. В окне БД выберите вкладку Запрос и нажмите кнопку Создать. 2. Выберите режим Конструктор. 3. В диалоговом окне Добавление таблицы укажите имена таблиц, по полям, которых будет производится запрос, нажимая кнопку Добавить после каждого указанного имени таблицы. 4. Нажмите кнопку Закрыть.
Примечание: Добавить таблицу можно и в режиме Конструктора запроса, с помощью команды Запрос - Добавить таблицу.
Для создания запроса на основе открытой таблицы:
1. Выберите имя таблицы в меню Окно для вывода на экран соответствующего окна. 2. Выберите команду Вставка - Запрос. 3. В диалогом окне Новый запрос выберите режим Конструктор.
В режиме Конструктора, в специальном бланке запроса указываются условия отбора выводимых на экран полей и записей одной или нескольких таблиц и порядок их отображения.
В бланке запроса содержится 6 строк.
Поле |
Имя поля |
Имя таблицы |
Имя таблицы |
Сортировка |
Место ввода инструкций сортировки |
Вывод на экран |
Определяет ,будет ли отображено поле в результирующем наборе данных |
Условие отбора |
Содержит первое условие, ограничивающее набор записей |
Или |
Другие условия на ограничения набора записей |
MS Access позволяет выполнять следующие типы запросов:
1.QBE-запросы (QBE-Query By Example-Запросы по образцу):
• запрос на выборку; • перекрестный запрос; • запрос на создание таблицы; • запрос на обновление; • запрос на добавление записей; • запрос на удаление записей.
Каждый из этих типов указывается в меню Запрос после вывода на экран окна Запрос в режиме Конструктора. В некоторых случаях MS Access выводит на экран диалоговое окно непосредственно перед началом запроса, в других же – изменяет список полей бланка запроса так, чтобы можно было задать необходимые действия. После сохранения VS Access использует специальные обозначения в окне базы данных, показывающие тип запроса.
2. Запросы на языке SQL (Structured Query Language – Структурированный язык запросов). SQL – стандартизованная форма составления запросов для обработки реляционных баз данных. При выполнении QBE – запросов они транслируются в соответствующие SQL – запросы.
Вопрос №24
Макросом называют набор из одной или более макрокоманд, выполняющих определенные операции, такие как открытие форм или печать отчетов. Макросы могут быть полезны для автоматизации часто выполняемых задач.
Работа с формами и отчетами существенно облегчается за счет использования макрокоманд. Microsoft Access предоставляет свыше 40 макрокоманд, которые вы можете включать в макросы. Макрокоманды выполняют такие действия, как открытие таблиц и форм, выполнение запросов, запуск других макросов, выбор пунктов меню, изменение размеров открытых окон и т. п. С их помощью вы можете даже осуществлять запуск других приложений, поддерживающих динамический обмен данных (DDE), например Microsoft Excel, и производить обмен данными между вашей базой данных и другими приложениями. Макрокоманды можно объединять в макрос и задавать условия их выполнения.
Microsoft Access предоставляет различные типы макрокоманд, позволяющие автоматизировать работу приложения. Вы можете использовать макросы для выполнения следующих действий:
- открытия таблицы, запроса, формы или отчета в любом доступном режиме.
С помощью макросов вы можете закрыть открытую таблицу, запрос,
форму или отчет;
- открытия отчета в режиме предварительного просмотра или непосредственного вывода на принтер. Вы можете вывести данные из отчета в файл в формате RTF (.rtf), в обычном текстовом формате (.txt) или в файл Microsoft Excel (.xls) и затем открыть их в Microsoft Word, Windows Notepad или в Microsoft Excel;
- выполнения запроса на выборку или запроса на изменение. При этом
параметры запроса могут использовать значения элементов управления
любой открытой формы;
- выполнения действий в зависимости от значений в базе данных, форме или
отчете. Макросы могут запускать другие макросы и вызывать функции
VBA. Вы можете прервать выполнение текущего макроса или всех
макросов, отменить событие, запустившее макрос, или даже выйти из
приложения;
- установки значения любого элемента управления формы или отчета. Можно эмулировать работу с клавиатурой и передавать вводимые с клавиатуры данные в системные окна диалога. С помощью макросов можно обновлять значения в любых элементах управления, источником данных которых является запрос;
- применения фильтра, перехода к любой записи и поиска данных в базовой таблице или запросе формы;
- определения специальной строки меню, замещающей стандартную. Вы можете сделать доступным или недоступным пункт специального меню, в том числе и контекстного, снять галочку или пометить его. Кроме того, с помощью макросов можно открыть или закрыть любую из стандартных или специальных панелей инструментов;
- выполнения команды любого меню Access;
- перемещения, изменения размеров, сворачивания или восстановления любого окна внутри рабочей области Access. Вы можете передавать фокус любому из окон или любому элементу управления в окне, выбирать страницу отчета и выводить ее в режиме предварительного просмотра;
- вывода на экран информационных сообщений и подачи звуковых сигналов для привлечения внимания к вашим сообщениям. Вы можете также отключать некоторые предупреждающие сообщения во время выполнения запросов на изменение;
- переименования любого объекта базы данных, копирования выбранного объекта в текущую или другую базу данных Access. Можете использовать макросы для сохранения или удаления объектов из вашей базы данных. Кроме того, макросы позволяют импортировать, экспортировать или связывать таблицы из других баз данных, импортировать или экспортировать электронные таблицы и текстовые файлы;
- запуска приложения, а также для обмена данными с приложением с помощью механизма DDE или буфера обмена. Вы можете вывести данные из таблицы, формы, запроса или отчета в выходной файл и открыть его в соответствующем приложении. Можно также передать последовательность нажатий клавиш в приложение, ожидающее ввода с клавиатуры.
Вопрос №25
SQL (англ. Structured Query Language — язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.
Вопреки существующим заблуждениям, SQL в его чистом (базовом) виде является информационно-логическим языком, а не языком программирования. Вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений, с учётом которых язык уже вполне может рассматриваться в качестве языка программирования.
SQL основывается на реляционной алгебре.