Автор работы: Пользователь скрыл имя, 19 Декабря 2012 в 16:47, лекция
База данных (БД) - это совокупность интегрированных, не дублированных и логически взаимосвязанных данных, организованных на машинном носителе средствами СУБД в соответствии со структурами данных и моделью, которые она поддерживает. Создание базы - определение её структуры, загрузка и корректировка данных, а также многоаспектный доступ обеспечиваются эффективными средствами СУБД. На основе данных из БД могут решаться все задачи ИС. БД, как правило, отражает некоторую логическую модель взаимосвязанных информационных объектов, представляющих конкретную предметную область.
Рисунок 33 - Диалог Subject Area Editor
Физический уровень представления модели зависит от выбранного сервера (меню Server/ Target Server..). На физическом уровне модель данных необходимо дополнить такой информацией как учет ограничений ссылочной целостности, хранимые процедуры, триггеры, индексы. Триггеры и хранимые процедуры представляют собой программный код и хранятся на сервере. ERwin обеспечивает мощный инструментарий для создания триггеров: шаблоны и библиотеки макросов. Макросы содержат наиболее часто используемые данные и конструкции. Для редактирования шаблонов триггеров используется редактор Trigger Template Editor (рисунок 34) (для его вызова следует кликнуть правой кнопкой по таблице и выбрать пункт Trigger в появившемся меню).
Рисунок 34 - Диалоги Trigger Template Editor и ERwin Template Toolbox
По умолчанию ERwin генерирует триггеры, дублирующие декларативную ссылочную целостность (опцию можно отменить).
После завершения проектирования модель может быть перенесена в среду целевой СУБД-сервера. Для этого нужно выбрать в главном меню Tasks / Forward Engineer. Можно либо сгенерировать схему БД, либо скрипт на диалекте SQL, соответствующем заранее выбранному серверу. Возможна обратная задача - по существующей схеме БД сгенерировать графическую модель данных. Возможно также выравнивание схемы БД с моделью данных. Для этого следует использовать соответствующую кнопку в панели инструментов (см. таблицу 5). В процессе выравнивания появляется диалог, в котором предлагается указать объекты БД для переноса в графическую модель и объекты модели для переноса в схему БД (рисунок 35).
Рисунок 35 - Диалог Complete Compare- Resolve Differeces
Для генерации клиентской части во-первых, необходимо выбрать язык программирования (меню Client/ Target Client..., можно выбрать Visual Basic либо Power Builder; далее в примере используется Visual Basic), затем на физическом уровне для каждой колонки необходимо указать свойства - тип визуального представления (style), код валидации и начальное значение (для задания свойств следует кликнуть по таблице правой кнопкой мыши, в контекстном меню выбрать VB Extended Att). Каждое из этих свойств можно предварительно описать в соответствующем редакторе (рисунок 36).
Рисунок 36 - Редактор стиля
После задания свойств для каждой
колонки следует сохранить
Рисунок 37 -. Диалог ERwin Form Wizard
В появившемся диалоге (рисунок 37) следует указать имя файла модели, таблицы (возможно построение формы по родительской и нескольким дочерним таблицам) и колонки, которые будут отображены в сгенерированной форме. В результате будет сгенерировано приложение, которое может быть откомпилировано и выполнено без дополнительного редактирования (рисунок 38).
Рисунок 38 - Сгенерированная форма
ERWin 3.5 напрямую работает с двумя средствами: Visual Basic (Microsoft) и PowerBuilder (Sybase) версии 4.0, 5.0 и 6.0. Т.е., весь процесс обмена информацией при генерации приложения осуществляется только между ERwin и соответствующим средством разработки. Используя специальный продукт MetaBase (производитель - швейцарская фирма «gs-soft»), можно расширить список еще одним популярным средством разработки, а именно Delphi (Borland).
назад | содержание | далее
5. Основы работы с СУБД Access
СУБД Access является хорошей СУБД реляционного типа, в которой разумно сбалансированы все средства и возможности, типичные для современных СУБД. В отличии от FoxPro, в Access все данные вместе с запросами и формами физически хранятся в одном файле (файле с расширением MDB).
При запуске программы
- создать новую базу данных;
- создать базу данных при помощи специальной программы – мастера;
- открыть существующую (созданную ранее) базу данных.
При открытии созданной ранее базы данных пользователь может выбрать имя файла из списка последних файлов, с которыми он работал или найти требуемый файл на диске. При создании новой базы данных пользователь должен указать имя нового файла и в какой папке он будет располагаться. После создания (открытия) появляется окно базы данных.
База данных Microsoft Access состоит из следующих объектов:
- таблицы;
- запросы;
- формы;
- отчеты;
- макросы;
- модули.
С любым представителем из этих объектов можно работать в трех режимах:
- открыть;
- контсруктор;
- создать.
Режим Создать предназначен для первоначального создания объекта на этапе проектирования базы данных. Режим Конструктор позволяет изменять любые свойства существующего объекта как на этапе проектирования базы данных, так и в процессе эксплуатации. Режим Открыть позволяет работать с объектом во время эксплуатации базы данных (вводить и удалять записи в таблицы непосредственно или с использованием форм, выполнять поиск и отбор записей, распечатывать отчеты и так далее).
Рассмотрим подробнее объекты, с которыми работает СУБД Access. Access хранит данные в таблицах. Поэтому таблицы являются основой любой базы данных.
Таблица содержит описания реальных объектов или хранит сведения по конкретному вопросу, например, таблица Студенты содержит данные только о студентах, а таблица Успеваемость студентов содержит данные о предметах, изучаемых студентами. Для того, чтобы данные не дублировались и не происходило ошибок при их выдаче, необходимо распределить данные разного рода по разным таблицам. Данные в таблице организованы в столбцы (называемые полями) и строки (называемые записями). В столбцах таблицы сохраняются свойства объектов, которые отражены в таблице. Таким образом, таблица в Access – это аналог dbf-файла в FoxPro, с той лишь разницей, что в одном файле базы данных Access может быть несколько таблиц.
В таблицах Access используются следующие типы полей:
- текстовый;
- числовой;
- поле МЕМО;
- дата/время;
- денежный;
- счетчик;
- логический;
- поле объекта OLE.
Основные типы данных такие же как в FoxPro.
Поле типа Счетчик хранит порядковый номер записи (его значения формируются системой) и используется для создания автоматических кодификаторов данных. В поле типа Объект OLE можно хранить любую информацию, например фотографии студентов. Так же для любого поля или группы полей можно указать, является поле обязательным или нет, задать значение, которое поле будет принимать по умолчанию (например, текущую дату для поля типа Дата) и указать, является ли поле индексированным. В Access существует три вида индексации:
- поле не индексированное (по умолчанию);
- индексированное и совпадения значений не допускаются (для ключевых полей);
- индексированное, но допускаются повторения значений (для не ключевых полей).
Установка индексации полей облегчает поиск и отбор записей, но увеличивает размер файла базы данных, поэтому следует индексировать только те поля, по значениям которых может осуществляться связь или отбор записей. Обычно в каждой таблице есть хотя бы одно поле, значения которого уникальны для каждой записи. Это поле так называемого первичного ключа. В большинстве случаев это поле имеет тип счетчик, хотя может быть любого типа.
Поскольку, как правило, система управления базами данных обрабатывает одновременно несколько таблиц, то существует возможность установления реляционных связей между таблицами. Access поддерживает несколько типов реляционной связи. На практике наиболее часто встречается связь один-ко-многим. При таком типе связи каждой записи главной таблицы могут быть поставлены в соответствие одна или несколько записей так называемой подчиненной таблицы. Для создания связи следует определить первичный ключ как для главной, так и для подчиненной таблиц. Определение первичного ключа для подчиненной таблицы хотя и не является обязательным при установке связи, но значительно увеличивает скорость работы Access. Для подчиненной таблицы надо определить поле вторичного (внешнего) ключа, тип данных и размер которого совпадают с полем первичного ключа главной таблицы. Обычно обоим полям присваивают одинаковые имена. Установку связи между таблицами опишем в виде технологической диаграммы:
"Установка связи": =ГЛ ( Сервис Схема данных ) ДОБАВЛЕНИЕ ТАБЛИЦЫ ("Добавление очередной таблицы"… Закрыть) СХЕМА ДАННЫХ (Установить курсор на нужное поле главной таблицы отбуксировать его к соответствующему полю подчиненной таблицы СВЯЗИ(Обеспечение целостности данных Каскадное Удаление Каскадное Обновление Создать)… Закрыть окно схемы данных) СОХРАНИТЬ ИЗМЕНЕНИЯ МАКЕТА СХЕМЫ ДАННЫХ?(Да).
"Добавление очередной таблицы"
Для работы с данными таблицы
ее следует открыть. Каждая запись в
таблице располагается в
В левой части каждой записи находится область маркировки записей. Здесь присутствуют различные пиктограммы, обозначающие состояние записи. Треугольником маркируется текущая запись. Как только в этой записи будут произведены изменения, которые еще не были сохранены, Access отображает вместо треугольника пиктограмму с изображением карандаша. При редактировании данных в Access могут использоваться традиционные для среды Windows комбинации клавиш и мышь. Особенностью является комбинация клавиш [Shift]+[F2], нажатие которой открывает так называемое окно ввода, которое представляет собой увеличенную область ввода, особенно удобную для работы с большими текстами.
Access автоматически следит за обеспечением целостности данных. Если вы редактируете запись в подчиненной таблице, то эта запись может быть сохранена лишь в том случае, если значение связывающего поля присутствует в главной таблице.
При редактировании главной таблицы можно удалить запись лишь в том случае, если эта запись не связана с записями подчиненной таблицы.
Если при вводе данных были нарушены правила целостности, то появится соответствующее сообщение об ошибке. В этом случае Access не может сохранить запись и следует откорректировать вводимые данные и снова попытаться сохранить запись.
Скажем несколько слов о проблеме обмена данными.
Во времена быстрого развития коммуникаций обмен данными между различными прикладными программами приобретает все большее значение.
Аccess предоставляет широкие возможности импорта и экспорта данных из различных СУБД (например FoxPro).
Кроме импорта, Access предлагает еще одну возможность – присоединение данных. Если вы присоединяете таблицу, созданную внешней программой, то можно обрабатывать ее как с помощью Access, так и с помощью данной программы.
Между двумя способами обмена данными, присоединением и импортом, имеется одно существенное отличие. При импорте Access создает копию исходной таблицы. Связь между исходным файлом и импортированной таблицей теряется. Если потом в Access осуществить изменения в этой таблице, то они не окажут влияния на исходную таблицу, и наоборот. При присоединении, напротив, исходный файл в формате, отличающимся от Access, остается уникальным. К этому файлу могут обращаться, как программа, при помощи которой он создан, так и Accsess.
С увеличением количества записей поиск определенной информации затрудняется. Access позволяет значительно упростить этот процесс.
Опишем технологию поиска в виде технологической диаграммы:
"Поиск записи": =Установить курсор в поле, по которому будет выполняться поиск ГЛ (Правка Найти) ПОИСК В ПОЛЕ(ввести образец поиска в поле образец Просмотр {вверх | вниз | все } Совпадение {С любой частью поля | Поля целиком | С начала поля} [с учетом регистра] [с учетом формата полей] [только в текущем поле] Найти Закрыть)
С помощью средства поиск записи можно быстро находить запись по значению какого либо одного поля, но Access предоставляет более мощное средство для отбора записей, удовлетворяющих определенному заданному критерию. Это можно сделать с помощью запросов.
С помощью запросов можно просматривать, анализировать и изменять данные из нескольких таблиц. Они также используются в качестве источника данных для форм и отчетов. Запросы Access позволяют:
- отобразить данные из нескольких таблиц и отсортировать их в нужном порядке;
- выполнить вычисления над группами записей;
- вычислять итоговые значения и выводить их в компактном формате, подобном формату электронной таблицы.
Наиболее часто используются запросы на выборку. При его выполнении данные, удовлетворяющие условиям отбора, выбираются из одной или нескольких таблиц и выводятся в определенном порядке.
Запрос можно создать с
Опишем создание простейшего запроса на выборку с помощью конструкции в виде технологической диаграммы:
"Запрос на выборку": =Запросы Создать НОВЫЙ ЗАПРОС (Конструктор ОК) ДОБАВЛЕНИЕ ТАБЛИЦЫ ( "Добавление очередной таблицы"… Закрыть) ЗАПРОС НА ВЫБОРКУ ((отбуксировать мышью поле из списка полей таблицы в бланк запроса сортировка {по возрастанию|по убыванию|отсутствует} Вывод на экран [условие отбора] [или])… закрыть окно запроса) СОХРАНИТЬ ИЗМЕНЕНИЯ ЗАПРОСА (Да) ®СОХРАНЕНИЕ (ввод имени запроса ОК)
Для того чтобы запустить запрос, следует дважды щелкнуть на имени соответствующего запроса.
"Запуск запроса ": =Запросы Выбрать соответствующий запрос {vv|Открыть}
Иногда бывает необходимо проанализировать данные из таблицы или вычислить итоговые значения, а результат представить в наглядном виде. В Access существует специальный вид запросов – запросы с группировкой или итоговые запросы, которые позволяют сгруппировать данные с одинаковыми значениями определенных полей и выполнить необходимые вычисления.