2. КОНСПЕКТ ЛЕКЦИЙ
2.1. Лекция: СУ БД Access
Определение БД. Основные функции банков данных. Объекты БД.
База данных — это набор сведений, относящихся к определенной теме или задаче, такой как отслеживание заказов клиентов или хранение коллекции звукозаписей. Если база данных хранится не на компьютере или на компьютере хранятся только ее части, приходится отслеживать сведения из целого ряда других источников, которые пользователь должен скоординировать и организовать самостоятельно.
Основные функции банков данных:
-хранение данных и их защита (в том числе обеспечение доступа к данным только пользователям с соответствующими полномочиями);
Модификация данных (обновление, добавление и удаление);
Поиск и отбор данных по запросам пользователей
Вывод результатов отбора в форме, удобной пользователю.
СУБД – представляет собой совокупность программных и языковых средств, предназначенных для создания, сопровождения и использования БД
По характеру использования СУБД делятся на персональные и многопользовательские. Многопользовательские функционируют по технологии «клиент-сервер», работают в неоднородной вычислительной среде, требуют мощных вычислительных ресурсов и имеют высокую стоимость. К современным персональным СУБД относятся Visual FoxPro, Paradox, Clipper, dBase, Access и др. Персональные СУБД обеспечивают возможность создания БД и недорогих приложений, работающих с этими БД.
Основные свойства персональных СУБД: -обеспечение целостности данных; -обеспечение безопасности, достигаемое шифрованием программ и данных, применением паролей для доступа; -поддержка взаимодействия с Windows-приложениями с использованием механизма OLE; -поддержка работы в сети.
ACCESS относится к реляционным Базам Данных, информация в которых хранится в связанных таблицах. Связь между таблицами осуществляется посредством значений одного или нескольких совпадающих полей. Каждая строка таблицы в реляционных Базах Данных уникальна, и для обеспечения этой уникальности используются ключи, содержащие одно или несколько полей таблицы. Ключи хранятся в индексированном (упорядоченном) виде, что обеспечивает быстрый доступ к записям таблицы во время поиска.
2. Банки документов
В документальной информационно-поисковой системе выделяют следующие компоненты:
массив документов (текстов) или фактов, выступающих в качестве объектов хранения и поиска;
информационно-поисковый язык, предназначенный для отображения содержания документов и операций над ними, в том числе и запросов для поиска документов;
правила, алгоритмы, методы индексирования и поиска документов, позволяющие описывать документы и операции над ними на информационно-поисковом языке;
комплекс программных и аппаратных средств, с помощью которых реализуются процессы накопления, хранения и поиска документов;
обслуживающий-, персонал, включающий администратора банка документов, системных аналитиков, программистов и индексаторов.
Банки документов работают обычно в двух режимах:
избирательного распределения информации, обеспечивающего регулярное текущее информирование пользователей банка о новых поступлениях документов;
ретроспективного поиска информации по разовым запросам во всем массиве документов.
Информационно-поисковые языки (ИПЯ), которые используются в настоящее время, можно разделить на три большие группы:
классификационные языки;
дескрипторные;
комбинированные.
Языки классификационного типа, в свою очередь, делятся по структуре:
ИПЯ иерархической структуры;
ИПЯ фасетной структуры;
эмпирические (неиерархические) языки.
Классификационные системы. В иерархических классификационных системах лексические единицы (термины) находятся между собой в отношениях включения. При записи они располагаются в порядке постепенного перехода от общих к более частным. Существуют иерархические системы, в которых рубрики включают по 20 и более подклассов, рубрик и подрубрик в нисходящем порядке. Примером такой иерархической классификационной системы является универсальная десятичная классификация (УДК), широко используемая в библиотечном деле и документальных поисковых системах. УДК охватывает весь спектр знаний.
Дескрипторные информационно-поисковые языки. Дескрипторные информационно-поисковые языки основаны на методе координатного индексирования, сущность которого сводится к тому, что смысловое содержание документа может быть с достаточной точностью и полнотой выражено списком ключевых слов, содержащихся в тексте.
3.Классификация БД по моделям информационных систем.
Основными типами баз данных являются реляционная база и неструктурированная (одноуровневая) база данных. В реляционных базах, таких как Access , данные хранятся в контейнерах, называемых таблицами. Таблицы упорядочивают данные по строкам и столбцам. В неструктурированной базе данных различные типы информации не делятся на отдельные таблицы. А помещаются в одну таблицу. При таком подходе данные в этой таблице могут дублироваться. Основное преимущество реляционных баз данных над неструктурированными заключается в том, что в них отсутствует дублирование одной и той же информации в одной или разных таблицах.
Корпоративные/сетевые БД, предназначенные для коммерческой деятельности, как правило, разделены на серверную (содержащую лишь таблицы данных)и клиентскую (содержащую такие интерфейсные элементы. как формы и отчёты)части. Разделение позволяет поместить данные на сервере, а различные интерфейсы – на отдельных рабочих станциях, что позволяет повысить производительность, а также обеспечить отдельную настройку для различных пользователей.
БД с доступом через Интернет Интерфейсная часть access с помощью страниц доступа к данным может подключаться к access – таблице или таблице SQL Server, расположенных на web-сервере. Такой подход позволяет подключиться к БД через Интернет.
2.2. Лекция: ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ
Рассмотрим вопрос о проектировании баз данных. К любой базе данных возможен подход на каждом из следующих трех уровней (рис. 1)
«на уровне представлений данных конечного пользователя или прикладного программиста (внешнего представления);
на уровне концептуального представления данных (представления администратора);
на уровне внутреннего представления данных (с позиции системного программиста или представления реализации,
Под представлением данных понимаются правила организации и кодирования.
Представление данных конечного пользователя (внешнее представление) является совокупностью требований к данным со стороны некоторой конкретной задачи или программы.
Для конечного пользователя внешнее представление является совокупностью спецификаций и реальных форматов данных, отражающих конкретные информационные потребности при решении некоторой задачи (проблемы). Представление прикладного программиста отображает элементы данных и их взаимосвязи так, что из данных, хранящихся в базе, может извлекаться скрытая в них информация (например, возраст человека по дате рождения и текущей дате).
Рис. 1. Трехуровневое представление данных в концепции ANSI/SPARC
Структура данных на концептуальном уровне называется концептуальной схемой и описывает семантику данных.
Внутреннее (физическое) представление, или представление реализации, выражает представление данных системными программистами и связано с организацией хранения данных на физических носителях информации (запоминающих устройствах) и их обработкой. Основными понятиями внутреннего представления являются физические блоки, хранимые записи, указатели. Внутреннее представление обеспечивает доступ к данным на логическом уровне и скрывает от прикладных программистов и пользователей многие технические детали манипулирования данными и методов доступа к ним.
Концептуальное представление основано на определенной модели данных; Этот термин, впервые введенный в 70-х годах основоположником теории баз данных Коддом, в современной трактовке отображает совокупность правил "порождения структур данных в базах данных, последовательности их изменения. Различают три основные типа модели данных: иерархический, сетевой и реляционный.
Такими средствами моделирования являются системный анализ, методы экспертных оценок, с помощью которых в концептуальной модели совмещаются концептуальное представление объективно существующей предметной области и концептуальное представление субъективных информационных требований к данным со стороны пользователей и прикладных программистов.
В недавнем прошлом процесс проектирования баз данных был ориентирован, в основном, на требования пользователей и прикладных программистов (ПП-информация) и учитывал текущие или предвидимые приложения. В этом случае база данных создавалась сравнительно легко и быстро. Однако такие базы данных оказывались неприспособленными к обработке неформализованных, изменяющихся, не предвиденных ранее запросов и приложений, не имели стимулов к дальнейшему развитию. Поэтому важную роль при проектировании стала играть информация о предметной области (ПО-информация), не зависящая напрямую от существующих приложений и обеспечивающая гибкость, адаптивность и универсальность данных, пригодность всей системы к развитию и использованию для незапланированных будущих приложений.
Процесс построения концептуальной модели разделяется на следующие этапы:
сбор и содержательный анализ априорной информации о предметной области и прикладных задачах пользователей;
концептуальный анализ данных и синтез концептуальной модели.
При разработке базы данных обычно выделяется несколько уровней моделирования, при помощи которых происходит переход от предметной области к конкретной реализации базы данных средствами конкретной СУБД. Можно выделить следующие уровни:
1. Сама предметная область 2. Модель предметной области 3. Логическая модель данных 4. Физическая модель данных 5. Собственно база данных и приложения
Процесс проектирования информационных систем является достаточно сложной задачей. Он начинается с построения инфологической модели данных, т.е. идентификации сущностей. Затем необходимо выполнить следующие шаги процедуры проектирования даталогической модели.
1. Представить каждую независимую сущность таблицей базы данных (базовой таблицей) и специфицировать (определить и перечислить специфические особенности) первичный ключ этой базовой таблицы.
2. Представить каждую ассоциацию (связь между отдельными представлениями, при которой одно представление вызывает другое)(связь вида «один к одному», или "один ко многим" или "многие ко многим") между сущностями как базовую таблицу. Использовать в этой таблице внешние ключи для идентификации участников ассоциации и специфицировать ограничения, связанные с каждым из этих внешних ключей.
3. Представить каждую характеристику как базовую таблицу с внешним ключом, идентифицирующим сущность, описываемую этой характеристикой. Специфицировать ограничения на внешний ключ этой таблицы и ее первичный ключ – по всей вероятности, комбинации этого внешнего ключа и свойства, которое гарантирует "уникальность в рамках описываемой сущности".
4. Представить каждое обозначение, которое не рассматривалось в предыдущем пункте, как базовую таблицу с внешним ключом, идентифицирующим обозначаемую сущность. Специфицировать связанные с каждым таким внешним ключом ограничения.
5. Представить каждое свойство как поле в базовой таблице, представляющей сущность, которая непосредственно описывается этим свойством.
6. Для того чтобы исключить в проекте непреднамеренные нарушения каких-либо принципов нормализации, выполнить процедуру нормализации (Нормализация – это разбиение таблицы на несколько, обладающих лучшими свойствами при обновлении, включении и удалении данных).
7. Если в процессе нормализации было произведено разделение каких-либо таблиц, то следует модифицировать инфологическую модель базы данных и повторить перечисленные шаги.
8. Указать ограничения целостности проектируемой базы данных и дать (если это необходимо) краткое описание полученных таблиц и их полей.
2.3. Лекция: Основы реляционной алгебры
1. Основы реляционной алгебры В теории реляционной алгебры отношение рассматривается как множество, строки таблицы называются кортежами, столбцы — атрибутами. Над отношениями выполняются традиционные операции теории множеств.
1. Ограничение отношения (выборка) — создание нового отношения отбором в него строк отношения-операнда (исходного отношения), которые удовлетворяют условию ограничения.
2. Проекция отношения — создание нового отношения отбором в него определенных столбцов отношения-операнда.
3. Объединение отношений — создание нового отношения, содержащего все кортежи отношений-операндов. При этом операнды должны иметь одинаковые атрибуты.
4. Пересечение отношений — создание нового отношения, содержащего строки, общие для сравниваемых операндов. При этом операнды должны иметь одинаковые атрибуты.
Разность отношений — создание нового отношения, содержащего строки 1-го операнда, отсутствующие во 2-м операнде. При этом операнды должны иметь одинаковые атрибуты.
6. Произведение отношений — создание нового отношения, в котором имеются все атрибуты 1-го и 2-го операндов, а строки получены попарным сцеплением строк их отношений. Число кортежей — мощность нового отношения — равна произведению мощностей 1-го и 2-го отношений. При этом множества атрибутов отношений не должны пересекаться.
Произведение отношений используется при решении задач подбора пар из двух множеств, например поставщиков и потребителей. Для этого сначала составляют все возможные пары, а затем по конкретному критерию отбирают из них подходящие.
Таблица 1.10 Результат операции произведения
Поставщик
| Потребитель
| Поставщик 1
| Потребитель 1
| Поставщик 1
| Потребитель 2
| Поставщик 2
| Потребитель 1
| Поставщик 2
| Потребитель 2
| 7. Деление отношений — создание нового отношения, содержащего атрибуты 1-го операнда, отсутствующие во 2-м операнде,и кортежи 1-го операнда, которые совпали с кортежами 2-го операнда. Для выполнения этой операции 2-й операнд должен содержать лишь атрибуты, совпадающие с атрибутами 1 -го.
8. Соединение отношений — создание нового отношения, кортеж которого является результатом сцепления кортежей операндов (исходных отношений).
Различают соединения отношений двух видов: естественное и по условию.
При соединении отношений по условию производятся сцепление строк их операндов и проверка полученной строки на соответствие заданному условию. Если условие выполнено, то полученная строка включается в результирующее отношение.
При естественном соединении отношений производятся сцепление строк их операндов и включение полученной строки в результирующее отношение без проверки. Такое соединение используют, когда отношения-операнды обладают общими атрибутами.
2. Нормализация баз данных
Одни и те же данные могут группироваться в таблицы различными способами. Группировка атрибутов в отношениях должна быть рациональной, т.е. минимизирующей дублирование данных и упрощающей процедуры их обработки и обновления. Устранение избыточности данных, являющееся одной из важнейших задач при проектировании баз данных, обеспечивается нормализацией.
Нормализация — это формальный аппарат ограничений на формирование таблиц (отношений), который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых данных и уменьшает трудозатраты на ведение (ввод, корректировку) базы данных.
Процесс нормализации заключается в разложении (декомпозиции) исходных отношений БД на более простые отношения. При этом на каждой ступени этого процесса схемы отношений приводятся в нормальные формы. Для каждой ступени нормализации имеются наборы ограничений, которым должны удовлетворять отношения БД. Тем самым удаляется из таблиц базы избыточная неключевая информация.
Процесс нормализации основан на понятии функциональной зависимости атрибутов: атрибут А зависит от атрибута В (В -» А), если в любой момент времени каждому значению атрибута В соответствует не более одного значения атрибута А.
Зависимость, при которой каждый неключевой атрибут зависит от всего составного ключа и не зависит от его частей, называется полной функциональной зависимостью. Если атрибут А зависит от атрибута В, а атрибут В зависит от атрибута С (С -» В -» А), но обратная зависимость при этом отсутствует, то зависимость С от А называется транзитивной.
Общее понятие нормализации подразделяется на несколько нормальных форм.
Информационный объект (сущность) находится в первой нормальной форме (1НФ), когда все его атрибуты имеют единственное значение. Если в каком-либо атрибуте есть повторяющиеся значения, объект (сущность) не находится в 1НФ, и упущен, по крайней мере, еще один информационный объект (еще одна сущность).
Информационный объект находится во второй нормальной форме (2НФ), если он уже находится в первой нормальной форме и каждый его неидентифицирующий (описательный) атрибут зависит от всего уникального идентификатора информационного объекта. Если некий атрибут не зависит полностью от уникального идентификатора информационного объекта, значит, он внесен в состав этого информационного объекта ошибочно и его необходимо удалить. Нормализация в этом случае производится путем нахождения существующего информационного объекта, к которому данный атрибут относится, или созданием нового информационного объекта, в который атрибут должен быть помещен.
Информационный объект находится в третьей нормальной форме (ЗНФ), если он уже находится во второй нормальной форме и ни один его описательный атрибут не зависит от каких-либо других описательных атрибутов. Атрибуты, зависящие от других неидентифицирующих атрибутов, нормализуются путем перемещения зависимого атрибута и атрибута, от которого он зависит, в новый информационный объект.
2.4. Лекция: Средства ускоренного доступа к данным.
Вопрос 1. Средства ускоренного доступа к данным
Наиболее эффективны методы индексирования и хеширования значений ключей отношения.
Индексирование — логическая сортировка строк таблицы — заключается в создании вспомогательных файлов, содержащих упорядоченные списки значений ключей отношения со ссылками на строку отношения, в которой они находятся. Индексные файлы занимают дополнительную память, но резко ускоряют поиск благодаря применению метода половинного деления. Для одного отношения может быть создано несколько индексов. Кроме того, можно создать индекс для нескольких отношений, если они содержат одинаковые атрибуты, что позволит ускорить выполнение операций соединения этих отношений.
Хеширование (hashing) — использование хэш-функций, которые вычисляют вес строки таблицы по значению ее ключевых атрибутов. Результат вычисления хэш-функции — целое число в диапазоне физических номеров строк таблицы.
Идеальная хэш-функция должна давать разные значения веса для разных ключевых атрибутов. Но это не всегда возможно. На практике обычно используют простые хэш-функции, например f(k) - k mod p, где к — целое число, первичный ключ отношения; р — простое целое число; mod — операция, вычисляющая остаток при целочисленном делении. Если ключевой атрибут — строка символов, то для вычисления f(k) выбирается один из методов преобразования строки в число, например вычисление контрольной суммы.
Вопрос 2. Этапы проектирования баз данных
Этапы проектирования и создания базы данных:
построение информационно-логической модели данных предметной области;
определение логической структуры реляционной базы данных;
конструирование таблиц базы данных;
создание схемы данных;
ввод данных в таблицы (создание записей);
разработка необходимых форм, запросов, макросов, модулей, отчетов;
разработка пользовательского интерфейса.
Рассмотрим формальные правила выделения информационных объектов:
на основе описания предметной области выявить документы и их атрибуты, подлежащие хранению в базе данных;
определить функциональные зависимости между атрибутами;
выбрать все зависимые атрибуты и указать для каждого все его ключевые атрибуты, т.е. атрибуты, от которых он зависит;
сгруппировать атрибуты, одинаково зависимые от ключевых атрибутов. (Полученные группы зависимых атрибутов вместе с их ключевыми атрибутами образуют информационные объекты.)
При определении логической структуры реляционной базы данных на основе модели каждый информационный объект адекватно отображается реляционной таблицей, а связи между этими таблицами соответствуют связям между информационными объектами.
В процессе создания БД сначала конструируются таблицы, соответствующие информационным объектам построенной модели данных. Далее может создаваться схема данных, в которой фиксируются существующие логические связи между таблицами, соответствующие связям информационных объектов. В схеме данных могут быть заданы параметры поддержания целостности базы данных, если модель была разработана в соответствии с требованиями нормализации. Целостность данных означает, что в БД установлены и корректно поддерживаются взаимосвязи между записями разных таблиц при загрузке, добавлении и удалении записей в связанных таблицах, а также при изменении значений ключевых полей.
После формирования схемы данных осуществляется ввод непротиворечивых данных из документов предметной области.
На основе созданной базы формируются необходимые запросы, формы, макросы, модули, отчеты, производящие требуемую обработку данных и их представление.
С помощью встроенных средств и инструментов базы данных создается пользовательский интерфейс, позволяющий управлять процессами ввода, хранения, обработки, обновления и представления информации.
|