Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Access.doc
Скачиваний:
1
Добавлен:
28.08.2019
Размер:
2.08 Mб
Скачать

18

  1. Введение в субд

База данных (БД) – совокупность взаимосвязанных и структурированных данных на машинном носителе информации.

Принципы организации данных:

  • Полнота, актуальность и непротиворечивость информации;

  • Минимальная избыточность;

  • Независимость (минимальная зависимость) от особенностей программной и аппаратной реализации;

Система управления базами данных (СУБД) – совокупность языковых и программных средств, предназначенных для описания баз данных, коллективного их создания, ведения и дифференцированного использования многими пользователями.

Уровни представления данных:

Внешний – визуальное представление данных, с которым работает конечный пользователь

| языки управления базами данных (ЯУБД, SQL)

Концептуальный (логический) – уровень математической модели, условное представление данных как системы объектов и связей между ними;

| программно-аппаратные средства СУБД

Физический (внутренний) – уровень программно-аппаратной реализации хранения данных.

Модели представления данных:

Модель - это математический или физический аналог исследуемой системы. Существуют 3 основных модели данных.

1) Иерархическая

Иерархическая модель данных представляется в виде дерева, где узлами являются элементы данных, а связями узлов показываются связи между объектами.

Иерархия начинается с корневого узла. Каждый узел имеет только одного «предка» и N «потомков».

(+ преимущества модели) простота и однозначность представления данных, легкость адресации

(- недостатки модели) недостаточная гибкость, зависимость от программно-аппаратных средств

использование: программирование, математическое моделирование

Пример реализации модели – дерево папок Windows, каталог ресурсов Интернет

2) Сетевая

В сетевой модели возможно существование любых взаимосвязей между объектами. Если изобразить эту модель графически, получится набор узлов на плоскости, связанных линиями со стрелками.

(+) теоретически возможны сколь угодно сложные связи между объектами;

(-) сложность реализации, существенная зависимость от программно-аппаратных средств

использование: автоматизированные системы управления, экспертные системы

Пример реализации – служба WWW – документы, произвольно связанные ссылками

3) Реляционная – представление данных в виде системы взаимосвязанных таблиц;

Каждый объект системы описывается в виде таблицы с набором свойств (атрибутов), а взаимосвязь между объектами – связями между таблицами.

(+) простота; относительная независимость от программных и аппаратных средств;

(-) существенная зависимость скорости обработки от объема БД

Использование: все существующие СУБД являются реляционными

2. Основные понятия реляционных субд

Терминология:

Поле (атрибут) – свойство описываемого объекта;

Запись (кортеж) – значение атрибута объекта;

Таблица (отношение) – совокупность записей с заполненными значениями атрибутов;

Для идентификации каждой записи в таблице используется уникальный маркер, который называют первичным ключом. Внешний ключ – поле, содержащее ссылку на поле первичного ключа в другой таблице. Поле внешнего ключа определяет способ объединения таблиц. Первичный ключ используется для связывания таблицы с внешними ключами в других таблицах.

Структура БД (схема отношения) – совокупность информации о полях таблицы;

Стандартные требования к реляционным СУБДправила Кодда.

  • уникальность записей;

  • неупорядоченность записей и полей;

  • атомарность значений атрибутов (нормализованное представление «поля-записи»)

Начальный вариант алгебры отношений был предложен Коддом.

  • При выполнении операции объединения двух отношений производится отношение, включающее все кортежи, входящие хотя бы в одно из отношений-операндов.

  • Операция пересечения двух отношений производит отношение, включающее все кортежи, входящие в оба отношения-операнда.

  • Отношение, являющееся разностью двух отношений включает все кортежи, входящие в отношение - первый операнд, такие, что ни один из них не входит в отношение, являющееся вторым операндом.

  • При выполнении прямого произведения двух отношений производится отношение, кортежи которого являются конкатенацией (сцеплением) кортежей первого и второго операндов.

  • Результатом ограничения отношения по некоторому условию является отношение, включающее кортежи отношения-операнда, удовлетворяющее этому условию.

  • При выполнении проекции отношения на заданный набор его атрибутов производится отношение, кортежи которого производятся путем взятия соответствующих значений из кортежей отношения-операнда.

  • При соединении двух отношений по некоторому условию образуется результирующее отношение, кортежи которого являются конкатенацией кортежей первого и второго отношений и удовлетворяют этому условию.

  • У операции реляционного деления два операнда - бинарное и унарное отношения. Результирующее отношение состоит из одноатрибутных кортежей, включающих значения первого атрибута кортежей первого операнда таких, что множество значений второго атрибута (при фиксированном значении первого атрибута) совпадает со множеством значений второго операнда.

  • Операция переименования производит отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены.

  • Операция присваивания позволяет сохранить результат вычисления реляционного выражения в существующем отношении БД.

Остальные объекты БД:

Запрос – таблица, сформированная автоматически с помощью поиска и извлечения данных из одной или нескольких БД при помощи заданных правил.

Форма – окно для просмотра, добавления и изменения данных в таблицах

Отчет – документ для анализа и печати данных в определенном формате

Страницы доступа данным – Web-страницы для удаленного доступа к БД

Макрокоманды – инструкция, выполняющая определенное в СУБД действие (открыть документ, изменить размер шрифта и т.п.)

Макросы - набор из одной или более макрокоманд, выполняющих последовательность операций (таких, как открытие форм или печать отчетов). Могут быть полезны для автоматизации часто выполняемых задач.

Модули - наборы описаний и подпрограмм на Visual Basic для автоматизированной работы с БД.

Связь – отношение между двумя общими полями двух таблиц

Типы связей между данными:

1:1 каждая запись в таблице A может иметь не более одной связанной записи в таблице B и наоборот. Отношения этого типа используются не очень часто, поскольку большая часть сведений, связанных таким образом, может быть помещена в одну таблицу. Отношение «один-к-одному» может использоваться для разделения таблиц, содержащих много полей, для отделения части таблицы по соображениям безопасности, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.

(студент - № зачетки)

1:N каждой записи в таблице A могут соответствовать несколько записей в таблице B, но не наоборот

1 Один поставщик... 2  ... может поставлять несколько товаров, ... 3  ... но у каждого товара может быть только один поставщик. (Группа-студенты)

N:M одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Этот тип связи возможен только с помощью третьей (связующей) таблицы, первичный ключ которой состоит из двух полей, которые являются внешними ключами таблиц A и B. Отношение «многие-ко-многим» по сути дела представляет собой два отношения «один-ко-многим» с третьей таблицей. Например, отношение «многие-ко-многим» между таблицами «Заказы» и «Товары» определяется путем создания двух отношений «один-ко-многим» с таблицей «Заказано». В одном заказе может быть много товаров, а каждый товар может появляться в нескольких заказах

(Студенты-курсы, которые они слушают)

1  Первичный ключ из таблицы «Заказы» 2  Первичный ключ из таблицы «Товары» 3  Один заказ может содержать несколько товаров, ... 4  ... а каждый товар может содержаться в нескольких заказах.

Целостность данных означает систему правил, используемых в Microsoft Access для поддержания связей между записями в связанных таблицах, а также обеспечивающих защиту от случайного удаления или изменения связанных данных.

Если при определении отношения установить флажок Каскадное обновление связанных полей, любое изменение значения первичного ключа главной таблицы приведет к автоматическому обновлению соответствующих значений во всех связанных записях. Например, при изменении кода клиента в таблице «Клиенты» будет автоматически обновлено поле «КодКлиента» во всех записях таблицы «Заказы» для заказов каждого клиента, поэтому целостность данных не будет нарушена. Microsoft Access выполнит каскадное обновление без ввода предупреждающих сообщений.

Основная цель проектирования БД – это сокращение избыточности хранимых данных, а следовательно, экономия объема используемой памяти, уменьшение затрат на многократные операции обновления избыточных копий и устранение возможности возникновения противоречий из-за хранения в разных местах сведений об одном и том же объекте. Так называемый, "чистый" проект БД ("Каждый факт в одном месте") можно создать, используя методологию нормализации отношений. Нормализация – это разбиение таблицы на несколько, обладающих лучшими свойствами при обновлении, включении и удалении данных.

При проектировании базы данных решаются две основных проблемы:

  • Каким образом отобразить объекты предметной области в абстрактные объекты модели данных, чтобы это отображение не противоречило семантике предметной области и было по возможности лучшим (эффективным, удобным и т.д.)? Часто эту проблему называют проблемой логического проектирования баз данных.

  • Как обеспечить эффективность выполнения запросов к базе данных, т.е. каким образом, имея в виду особенности конкретной СУБД, расположить данные во внешней памяти, создание каких дополнительных структур (например, индексов) потребовать и т.д.? Эту проблему называют проблемой физического проектирования баз данных.

В случае реляционных баз данных трудно представить какие-либо общие рецепты по части физического проектирования. Здесь слишком много зависит от используемой СУБД. Так что будем считать, что проблема проектирования реляционной базы данных состоит в обоснованном принятии решений о том,

  • из каких отношений должна состоять БД и

  • какие атрибуты должны быть у этих отношений.