Традиционные понятия | Реляционная алгебра | СУБД |
Таблица | Отношение | Файл БД |
Строка | Кортеж | Запись |
Столбец | Атрибут | Поле |
Вопрос 3. Стандартные системы управления базами данных.
В области создания программного обеспечения для персональных баз данных работает много крупных фирм. В жесткой конкурентной борьбе лидерство долгое время принадлежало фирме ASHTON-TATE и созданной ей системе dBASE. Популярность продукции этой фирмы была столь велика, что многие корпорации начали выпускать "dBASE-совместимые" пакеты, причем в некоторых аспектах даже превосходили dBASE (например, FOXPRO фирмы FOX SOFTWARE). В это семейство, кроме самой СУБД dBASE, входили системы управления БД: Foxbase, Clipper и т.д. Многие у нас практически остались неизвестными, но зато названные были широко распространены и даже русифицированы. Это следующие версии: dBASE III Plus (русифицированная версия называлась РЕБУС), Foxbase-Рlus несколько версий (русифицированная версия Karat/M), Сlipper-87 (СуперКом-87). Позже, в 90-е гг. широко было распространено поколение популярных пакетов: dBASE IV,V, Foxpro I, II и Clipper-5. В описаниях этих СУБД отмечался дружественный интерфейс, доступный начинающему пользователю, развитый язык структурного программирования высокого уровня, полная реализация языка SQL, (SQL — это принятая фирмой IBM аббревиатура слов Structured Query Language),обмен данными с файлами ASCII и другими, средства построения приложений, что удерживало dBASE долгое время в качестве эталона СУБД. Критиковалась в основном недостаточная производительность системы.
Дружественный интерфейс – интерактивный режим работы, развитая система помощи, созданная для облегчения контакта пользователя с системой.
|
Говоря о современных пакетах, об их интерфейсе, приходится выбирать прилагательные превосходной степени. Важной характеристикой СУБД старого и нового поколения является возможность обмена данными с другими системами (электронными таблицами, статистическими пакетами и др.) Немаловажное значение имеют средства создания прикладных систем: экранные редакторы, средства генерации отчетов, генераторы прикладных программ, графические средства представления данных, а также уровень языка программирования.
Для того, чтобы знать, какие пакеты реляционных СУБД наилучшим образом соответствуют ожиданиям пользователей, компьютерный журнал PC MAGAZINE провел в 1991 г. тестовые испытания 15 наиболее известных пакетов, отобранных из почти полусотни по критериям ориентации на широкий круг пользователей, простоты интерфейса и наличия языка программирования для разработки прикладных программ. Назовем некоторые из них, так как не исключено, что в глубинке республики еще можно найти в компьютерах базу или базы данных, созданных в этих пакетах.
Так, FOXPRO — это мощный пакет, сочетающий новизну технических решений, широту возможностей, быстродействие, развитый пользовательский интерфейс. По своей производительности FoxPro лидировал в тестах загрузки и индексирования, отчета и вывода и вошел в первую пятерку в тестах связывания и выбора данных. СУБД FoxPro (фирма Fox Software) обладал высокими скоростными характеристиками и в этом отношении заметно выделялся среди интерпретирующих систем. Набор функций и команд, помощи и гибкости отвечал тогдашним требованиям к представлению и обработке данных. Имелся достаточно удобный пользовательский интерфейс. В FoxPro поддерживаются разнообразные всплывающие и многоуровневые меню, работа с окнами и мышью, реализованы функции низкоуровневого доступа к файлам, управление цветами, настройка принтера; данные могут быть представлены в виде, похожем на электронные таблицы и т.п. Система также обладает средствами быстрой генерации экранов, отчетов, и меню, поддерживает язык SQL, хорошо работает в сети. Но несмотря на общепризнанные достоинства пакета, он имел непропорционально малую часть рынка СУБД, существенно отставая от лидера СУБД Paradox фирмы Borland.
|
Пакет PARADOX был создан фирмой Ansa Software в 1985 г. Это управляемый с помощью меню продукт разработан внешне по типу Lotus 1-2-3. В него включен язык программирования PAL (Paradox Applications Language). Имя продукта возникло из присущей ему парадоксальной природы, заключающейся в том, что он был значительно мощнее, чем многие существовавшие продукты и в то же время легче в эксплуатации. Paradox был программой, обращенной и к опытным, и к начинающим пользователям. Система хранит версии всех файлов, в которые были внесены изменения, защищая данные от порчи. Сильными сторонами пакета являются также экранные формы ввода и вывода данных, особенно возможность строить самые разнообразные графики. В СУБД Paradox имеются средства деловой графики (столбиковые и круговые диаграммы, линейные графики), можно также использовать автономные графические пакеты, имеющие непосредственный доступ к файлам формата базы данных. Недостатком пакета Paradox было требование значительных затрат времени и пространства на диске.
|
Пакет ORACLE работал на вычислительных системах, начиная от больших машин и кончая персональными компьютерами. Oracle полностью базируется на структурированном языке запросов (SQL) фирмы IBM, то тем самым обеспечивается согласование интерфейса пользователя. Версия для ПК включает ряд дополнений, таких как язык запросов по образцу. Его модификация используется до сих пор. Однако пакет Oracle не самый простой в эксплуатации.
Тестировался в то время и пакет dBASE IV, выпущенный в 1984 г., но сама среда пакета получилась очень громоздкой, что определило низкую скорость ее работы на ПЭВМ обычной конфигурации. Пакет оказался неудачным, и фирма потеряла ведущее положение на рынке СУБД. Это явилось одной из причин поглощения ее концерном Borland. Позже фирма Borland International выпустила версии своих баз данных, выполняя обещания сделать более простую в применении версии СУБД Paradox for Windows и dBASE for Windows. Они предназначались для программистов.
Каждый из этих программных продуктов имеет свои отличительные черты, но все они опираются на формы-бланки, свойства объектов и методы для определения поведения с управлением по событиям.
Большинство московских и белорусских историков, создающих базы данных на основе структурированных источников, начинали работать со стандартными СУБД, в частности с dBASE III Plus. Ваши предшественники на практических занятиях знакомились с пакетом СУБД dBASE III Plus, FoxPro, Paradox.
Важно, что создатели этих пакетов стремились сохранить преемственность последующих версий. Поэтому базы данных, созданные в среде DBASE III Plus, FoxPro, Раradox, можно конвертировать в современные СУБД и подчас довольно легко.
Вопрос 4. Структура экрана.
Среди современных реляционных систем наиболее популярной СУБД является MS Access для Windows.
MS Access – это система управления реляционными базами данных, предназначенная для работы на автономном ПК или в локальной сети. На первый взгляд интерфейс системы представляется сложным и необозримым. Поэтому очень важно последовательно уяснить себе основные возможности, которые предоставляет СУБД, и общую логику интерфейса.
Окно MS Access представляет собой стандартный вид приложения Windows (рис. 5):
Рис. 5. Окно приложения MS Access
· Строка заголовка с кнопками управления;
· Горизонтальное меню;
· Пиктографическое меню;
· Окно управления базой данных (может быть соединено с окном приложения) включает:
· строку заголовка с именем БД и кнопками управления;
· вкладки с названием объектов БД и кнопками-командами по управлению объектами MS Access (Открыть, Создать, Конструктор).
Средствами MS Access проводятся следующие операции:
1) проектирование базовых объектов – двумерных таблиц с разным типом данных;
2) установление связей между таблицами, с поддержкой целостности данных, каскадного обновления и удаления записей;
3) ввод, хранение, просмотр, сортировка, модификация и выборка данных из таблиц с использованием различных средств контроля информации, индексирования таблиц и аппарата логической алгебры;
4) создание, модификация и использование производных объектов (форм, запросов, отчетов), с помощью которых в свою очередь выполняются операции: оптимизация пользовательского ввода и просмотра данных; соединение данных из различных таблиц, отбор данных, группировка и вычисления, составление печатных отчетов.
Вопрос 5. Принципиальная схема работы.
Открытие окна приложения происходит стандартным образом. ПУСК / Программы / MS Access (либо ярлык на «Рабочем столе»).
Объектом обработки является файл базы данных, имеющий расширение MDB и произвольное имя (согласно правилам ОС).
После загрузки MS Access ожидает одного из следующих вариантов действий:
1) создание новой базы данных.;
2) открытие существующей базы данных.
Создание БД. После выбора команды Создать меню Файл на экране появляется стандартное окно диалога, где необходимо указать имя файла базы данных и папку, в которой он будет сохранен. После этого появляется окно управления базой данных. В этом окне и проводятся операции по созданию БД.
Открытие БД. После выбора команды Открыть м еню Файл на экране появляется окно диалога, где необходимо выбрать требуемый файл БД. Затем в окне приложения раскрывается окно управления БД, которое обеспечивает доступ к необходимым объектам открытой БД. Данное окно порождает множество дочерних окон, в которых выполняются действия по работе с объектами базы данных. Информация в каждом окне сохраняется автономно по команде Сохранить меню Файл.
Следует четко различать две группы операций в MS Access:
1) создание, открытие, закрытие файла БД;
2) действия над объектами MS Access.
Вопрос 6. Объекты (базовые и производные).
MS Access работает со следующими объектами:
· таблицы
· запросы
· формы
· отчеты
· макросы
· модули.
Каждый из указанных объектов имеет свое окно для работы с данными. Переход из одного окна в другое осуществляется с помощью соответствующих вкладок в окне управления БД.
По степени значимости данные объекты подразделяются на основные и производные.
Основным объектом является таблица. Все остальные объекты являются производными, так как строятся на основе готовых таблиц.
Каждый объект имеет имя, состоящее не более чем из 64 произвольных символов, кроме точки и некоторых служебных знаков. Имя объекта может быть набрано русскими буквами и с пробелами. Присваивается имя, исходя из информации, содержащейся в объекте.
Таблица – объект, предназначенный для хранения данных в виде строк (записей) и столбцов (полей). Таблица хранит сведения по одному конкретному вопросу.
Запрос – объект, предназначенный для получения необходимых сведений из одной или нескольких таблиц. Существует несколько типов запросов: запрос-выборка, перекрестный запрос, запрос на добавление записей, на изменение. Самым простым является запрос-выборка.
По структуре запрос-выборка представляет собой произвольную таблицу, которая содержит те же элементы, что и основная таблица. При создании запроса-выборки необходимо выполнять следующие требования:
1) Указать, какие поля и из какой таблицы будут включены в запрос.
2) Описать вычисляемые поля, т. е. те поля, которые будут содержать результат вычислений данных из имеющихся полей (например, средний балл успеваемости студента по результатам сдачи экзаменов).
3) Описать все выполняемые над записями таблиц групповые операции. Под групповыми операциями понимается объединение записей (строк) по одному полю (столбцу) с одинаковым значением (например, объединить в группу всех студентов, получивших на экзамене по истории оценку “5”, и подсчитать их средний балл по остальным предметам).
4) Указать условие отбора. Под условием отбора понимается логическое выражение, позволяющее отбирать только те записи (строки), которые удовлетворяют поставленному в выражении условию (например, вывести список студентов, которые не ликвидировали задолженности до 1 июня).
Форма – объект, который предназначен для ввода/просмотра данных в удобном для пользователя виде. Форма может содержать элементы управления.
Отчет – объект, предназначенный для печати данных. Отчет позволяет
· представлять данные в удобной форме;
· группировать записи, проводить вычисления (итоговое, среднее значение, проценты);
· включать графические объекты, например графики и диаграммы.
Вопрос 7. РСУБД MS Access: режимы работы.
MS Access для работы с объектами предусмотрено два основных режима:
1. Режим таблицы (или оперативный режим). Данный режим предназначен для ввода, просмотра, изменения информации БД.
2. Режим конструктора. Предназначен для создания и изменения структуры объекта. Именно в этом режиме создается основа для будущей БД, создается макет таблицы, запроса, отчета, исходя из имеющейся информации.
Выбор режима работы осуществляется по командам Конструктор или Таблица из меню Вид.
Вопрос 8. Организация данных.
Каким же образом на основе имеющейся информации создается БД?
Первый шаг – это конструирование будущей таблицы или таблиц. В зависимости от информации БД может состоять из нескольких таблиц, содержащих информацию по одному конкретному вопросу. Например, есть информация о студентах (фамилия, имя, отчество, адрес, дата рождения, год поступления) и информация об успеваемости студентов (предметы, полученные оценки). В таком случае создается две таблицы: первая содержит сведения о студентах, вторая – об их успеваемости.
Второй шаг – это создание структуры таблиц. Создается структура в режиме конструктора. Структура представляет совокупность полей с указанием имени поля, типа данных и описания.
Поле – это элемент таблицы, который содержит сведения определенного типа (например, фамилию студента). В таблице поле – это одна ячейка в строке. В зависимости от информации, заносимой в поле-столбец, выбирается тип данных. MS Access позволяет работать со следующими типами данных: Счетчик, Текстовый, Числовой, Дата/Время, Логический, Гиперссылка, OLE, MEMO.
Совокупность полей, описывающих определенный объект, называется записью. Запись представляется в таблице строкой.
Совокупность записей составляет таблицу БД.
Рассмотрим создание структуры на примере.
Итак, у нас есть сведения о студентах и их успеваемости. В первую таблицу будем заносить сведения о студентах и назовем ее СТУДЕНТ. В таблице будут следующие поля:
СТУДЕНТ
Имя | Тип данных | Описание |
Lik | Счетчик | Считает записи |
Fam | Текстовый | Фамилия студента |
Kod | Числовой | Код студента |
Name | Текстовый | Имя студента |
Data | Дата/Время | Дата рождения |
Postupl | Числовой | Год поступления |
Adres | Текстовый | Место жительства |
Prim | Текстовый | Примечание |
Во вторую таблицу вносим информацию об успеваемости студента по предметам. Имя таблицы –
УСПЕВАЕМОСТЬ
Имя | Тип данных | Описание |
Lik | Счетчик | Считает записи |
Kod | Числовой | Код студента |
Hist | Числовой | Оценка по истории |
Matem | Числовой | Оценка по математике |
Informat | Числовой | Оценка по информатике |
Кроме указанных характеристик, каждое поле имеет перечень свойств, которые меняются в зависимости от типа данных. К свойствам относятся: размер поля (количество символов, заносимое в поле, например количество букв в фамилии), формат представления данных (формат даты), значение по умолчанию (если значение поля одинаково для всех записей).
Структура двух таблиц готова. Можно приступать к занесению информации в режиме таблицы. Заполненные таблицы будут выглядеть следующим образом:
СТУДЕНТ
Lik | Fam | Kod | Name | Data | Postypl | Adres | Prim |
Иванов | Иван | 11.12.64 | Минск | ||||
Сидорова | Анна | 07.08.65 | Орша |
УСПЕВАЕМОСТЬ
Lik | Kod | Hist | Matem | Informat |
В структуре таблиц есть поле Lik. Оно необходимо для автоматического счета записей (по порядку их занесения – физический порядок). Если после выполнения сортировки (логический порядок) требуется восстановить физический порядок записей, то сортируют по полю Lik.
Вопрос 9. Связи между таблицами.
Поле Kod введено для того, чтобы однозначно определить каждого студента (фамилии студентов могут совпадать), а также для создания связи между двумя таблицами.
Такое поле называется ключевым или полем первичного ключа. Первичный ключ – одно или несколько полей, совокупность которых однозначно определяет любую запись таблицы.
Первичный ключ обладает двумя основными свойствами:
1) однозначно определяет запись;
2) никакое поле нельзя удалить из ключа, не нарушая при этом свойство однозначности.
В MS Access можно выделить три типа ключевых полей:
1) счетчик;
2) простой ключ;
3) составной ключ.
Поле счетчика можно задать таким образом, чтобы при добавлении каждой записи в таблицу в это поле автоматически вносится порядковое число. Указание такого поля в качестве ключевого является наиболее простым способом создания ключевых полей. Если до сохранения созданной таблицы ключевые поля не были определены, то при сохранении будет выдано сообщение о создании ключевого поля. Также таблица может быть использована при репликации базы данных.
Если поле содержит уникальные значения, такие как коды или инвентарные номера, то это поле можно определить как простой ключ. Если выбранное поле содержит повторяющиеся или пустые значения, то система не позволит определить его как ключевое. Для определения записей, содержащих повторяющиеся данные, можно выполнить запрос на поиск повторяющихся записей. Если устранить повторы путем изменения значений невозможно, то следует либо добавить в таблицу поле счетчика и сделать его ключевым, либо определить составной ключ.
В случаях, когда трудно гарантировать уникальность значений каждого поля, существует возможность создать составной ключ из нескольких полей. Чаще всего такая ситуация возникает для связывания двух таблиц в отношении “многие-ко-многим”.
По ключевому полю и устанавливается связь между таблицами. Это означает, что при построении запросов по двум таблицам СУБД сможет объединять данные строк, в которых значения поля совпадают. В нашем примере это поле первичного ключа.
Установка связей выполняется с помощью команды Схема данных меню Сервис.
Как работает связь между таблицами?
В БД данные полей в таблицах должны быть определенным образом скоординированы, так как они содержат сведения об одном и том же объекте. Эта координация осуществляется путем установления связей между таблицами, а именно между совпадающими значениями в ключевых полях ( обычно между полями разных таблиц, имеющими одинаковые имена и тип). В большинстве случаев с ключевым полем одной таблицы, являющимся уникальным идентификатором каждой записи, связывается внешний ключ другой таблицы.
Например, для сопоставления сведений о землевладельцах и об их имениях, следует определить связь по полям “КодВладельца” в двух таблицах.
Устанавливаемые связи могут быть трех видов:
Отношение “один-ко-многим”. Связь с отношением “один-ко-многим” является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице A могут соответствовать несколько записей в таблице B, а запись в таблице B не может иметь более одной соответствующей ей записи в таблице A.
Отношение “многие-ко-многим”. При отношении “многие-ко-многим” одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит, по крайней мере, из двух полей. Они являются полями внешнего ключа в таблицах A и B.
Отношение “один-к-одному”. При отношении “один-к-одному” запись в таблице A может иметь не более одной связанной записи в таблице B и наоборот. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением “один-к-одному” используют для разделения очень широких таблиц, для отделения части таблицы по соображениям защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.
Тип создаваемой связи зависит от полей, для которых определяется связь.
Отношение “один-ко-многим” создается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс.
Отношение “один-к-одному” создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы.