3.75M
Category: databasedatabase

Базы данных. Основные функции, понятия. Принципы построения баз данных

1.

Базы данных: основные
функции, понятия.
Принципы построения баз
данных
Пчелинцева Е.Г.

2.

База данных (БД) — именованная совокупность
данных, отражающая состояние объектов и их
отношений в рассматриваемой предметной области.
Под предметной областью принято понимать
некоторую область человеческой деятельности или
область реального мира, подлежащих изучению для
организации управления и автоматизации, например,
предприятие, вуз и.т.д.
Система управления базами данных (СУБД) —
совокупность языковых и программных средств,
предназначенных
для
создания,
наполнения,
обновления и удаления баз данных.
Программы, с помощью которых пользователи
работают с БД, называются приложениями.
Пчелинцева Е.Г.

3.

ПРИНЦИПЫ ПОСТРОЕНИЯ БАЗ ДАННЫХ
К
современным
базам
данных,
а,
следовательно, и к СУБД, на которых они строятся,
предъявляются следующие основные требования.
1. Высокое быстродействие (малое время
отклика на запрос).
Время отклика - промежуток времени от момента запроса к
БД до фактического получения данных. Похожим является
термин время доступа - промежуток времени между выдачей
команды записи (считывания) и фактическим получением данных.
Под доступом понимается операция поиска, чтения данных или
записи их. Часто операции записи, удаления и модификации
данных называют операцией обновления.
2. Простота обновления данных.
3. Независимость данных.
4.
Совместное
использование
многими пользователями.
Пчелинцева Е.Г.
данных

4.

5. Безопасность данных - защита данных от
преднамеренного или непреднамеренного
нарушения секретности, искажения или
разрушения.
6.
Стандартизация
построения
и
эксплуатации БД (фактически СУБД).
7. Адекватность отображения данных
соответствующей предметной области.
8. Дружелюбный интерфейс пользователя.
Пчелинцева Е.Г.

5.

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

6.

Независимость
данных
предполагает
инвариантность к характеру хранения данных,
программному обеспечению и техническим
средствам. Она обеспечивает минимальные
изменения структуры БД при изменениях
стратегии доступа к данным и структуры самих
исходных данных. Это достигается «смещением»
всех изменений на этапы концептуального и
логического проектирования с минимальными
изменениями
на
этапе
физического
проектирования.
Безопасность
данных
включает
их
целостность и защиту.
Пчелинцева Е.Г.

7.

Целостность данных - устойчивость хранимых
данных к разрушению и уничтожению, связанных с
неисправностями технических средств, системными
ошибками и ошибочными действиями пользователей.
Она предполагает:
1. отсутствие неточно введенных данных или
двух одинаковых записей об одном и том же факте;
2. защиту от ошибок при обновлении БД;
3. невозможность удаления (или каскадное
удаление) связанных данных разных таблиц;
4. неискажение данных при работе в
многопользовательском режиме и в распределенных
базах данных;
5. сохранность данных при сбоях техники
(восстановление данных).
Пчелинцева Е.Г.

8.

Целостность
обеспечивается
триггерами
целостности – специальными приложениямипрограммами, работающими при определенных
условиях. Защита данных от несанкционированного
доступа предполагает ограничение доступа к
конфиденциальным данным и может достигаться:
1. введением системы паролей;
2. получением разрешений от администратора
базы данных (АБД);
3. запретом от АБД на доступ к данным;
4. формирование видов - таблиц, производных от
исходных
и
предназначенных
конкретным
пользователям.
Три последние процедуры легко выполняются в
рамках языка структуризованных запросов Structured
Query Language - SQL, часто называемого SQL2.
Пчелинцева Е.Г.

9.

Стандартизация обеспечивает преемственность
поколений СУБД, упрощает взаимодействие БД
одного поколения СУБД с одинаковыми и различными
моделями данных. Стандартизация (ANSI/SPARC)
осуществлена в значительной степени в части
интерфейса пользователя СУБД и языка SQL. Это
позволило успешно решить задачу взаимодействия
различных реляционных СУБД как с помощью языка
SQL, так и с применением приложения Open DataBase
Connection (ODBC). При этом может быть осуществлен
как локальный, так и удаленный доступ к данным
(технология клиент/сервер или сетевой вариант).
Пчелинцева Е.Г.

10.

КОНЦЕПЦИЯ ПОСТРОЕНИЯ БАЗЫ ДАННЫХ
Существует два подхода к построению БД, базирующихся на двух
подходах к созданию автоматизированной системы управления
(АСУ).
Первый из них, широко использовавшийся в 80-е годы и
потому
получивший
название
классического
(традиционного), связан с автоматизацией документооборота
(совокупность документов, движущихся в процессе работы
предприятия).
Использовался следующий тезис. Данные менее подвижны,
чем алгоритмы, поэтому следует создать универсальную БД,
которую затем можно использовать для любого алгоритма.
Однако вскоре выяснилось, что создание универсальной БД
проблематично. Господствовавшая до недавнего времени
концепция интеграции данных при резком увеличении их объема
оказалась несостоятельной. Более того, стали появляться
приложения (например, текстовые, графические редакторы),
базирующиеся на широко используемых стандартных
алгоритмах.
Пчелинцева Е.Г.

11.

К
90-м
годам
сформировался
второй, современный подход, связанный с
автоматизацией управления. Он предполагает
первоначальное
выявление
стандартных
алгоритмов приложений (алгоритмов бизнеса в
зарубежной
терминологии),
под
которые
определяются данные, а стало быть, и база
данных.
Объектно-ориентированное
программирование только усилило значимость
этого подхода.
В
работе
БД
возможен
однои
многопользовательский (несколько пользователей
подключаются к одному компьютеру через разные
порты) режимы.
Пчелинцева Е.Г.

12.

ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗ
ДАННЫХ
Проектирование баз данных происходит в четыре
этапа.
На
этапе
формулирования
и
анализа
требований устанавливаются цели организации,
определяются требования к БД. Они состоят из общих
требований, определенных принципами построения
БД, и специфических требований. Для формирования
специфических требований обычно используется
методика интервьюирования персонала различных
уровней
управления.
Все
требования
документируются в форме, доступной конечному
пользователю и проектировщику БД.
Пчелинцева Е.Г.

13.

Этап концептуального проектирования заключается
в описании и синтезе информационных требований
пользователей в первоначальный проект БД. Исходными
данными
могут
быть
совокупность
документов
пользователя при классическом подходе или алгоритмы
приложений (алгоритмы бизнеса) при современном
подходе.
Результатом
этого
этапа
является
высокоуровневое представление (в виде системы таблиц
БД) информационных требований пользователей на
основе различных подходов.
Сначала выбирается модель БД. Затем создается
структура БД, которая заполняется данными с помощью
систем меню, экранных форм или в режиме просмотра
таблиц БД. Здесь же обеспечивается защита и целостность
(в том числе ссылочная) данных с помощью СУБД или
путем построения триггеров.
Пчелинцева Е.Г.

14.

В
процессе
логического
проектирования высокоуровневое представление данных
преобразуется в структуру используемой СУБД. Основной
целью этапа является устранение избыточности данных с
использованием специальных правил нормализации.
Цель нормализации – минимизировать повторения
данных и возможные структурные изменения БД при
процедурах обновления. Это достигается разделением
(декомпозицией) одной таблицы в две или несколько с
последующим использованием при запросах операции
навигации. Заметим, что навигационный поиск снижает
быстродействие БД, т.е. увеличивает время отклика на
запрос. Полученная логическая структура БД может быть
оценена
количественно
с
помощью
различных
характеристик (число обращений к логическим записям,
объем данных в каждом приложении, общий объем
данных). На основе этих оценок логическая структура
может быть усовершенствована с целью достижения
большей эффективности.
Пчелинцева Е.Г.

15.

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

16.

На
этапе
физического
проектирования
решаются
вопросы,
связанные с производительностью системы,
определяются структуры хранения данных и
методы доступа.
Пчелинцева Е.Г.

17.

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

18.

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

19.

Процесс
проектирования
является
длительным и трудоемким и обычно
продолжается
несколько
месяцев.
Основными ресурсами проектировщика БД
являются его собственная интуиция и
опыт, поэтому качество решения во многих
случаях может оказаться низким.
Пчелинцева Е.Г.

20.

Основными
причинами
низкой
эффективности проектируемых БД могут быть:
1. недостаточно глубокий анализ требований
(начальные этапы проектирования), включая их
семантику и взаимосвязь данных;
2.
большая
длительность
процесса
структурирования, делающая этот процесс
утомительным и трудно выполняемым при
ручной обработке.
В
этих
условиях
важное
значение
приобретают
вопросы
автоматизации
разработки.
Пчелинцева Е.Г.

21.

Виды моделей
данных
Пчелинцева Е.Г.

22.

Ядром любой базы данных является модель
данных. Модель данных представляет собой
множество
структур
целостности
и
данных,
операций
ограничений
манипулирования
данными.
С помощью модели данных могут быть
представлены объекты предметной области и
взаимосвязи между ними.
Пчелинцева Е.Г.

23.

Определение.
Модель данных — совокупность
структур данных и операций их обработки
Пчелинцева Е.Г.

24.

Иерархическая модель данных
Объекты,
связанные
иерархическими
отношениями, образуют ориентированный граф
(перевернутое дерево).
К основным понятиям иерархической структуры
относятся: уровень, элемент (узел), связь.
Узел — это совокупность атрибутов данных,
описывающих некоторый
объект.
На схеме
иерархического
дерева
узлы
представляются
вершинами графа. Каждый узел на более низком
уровне связан только с одним узлом, находящимся на
более высоком уровне.
Пчелинцева Е.Г.

25.

Иерархическое дерево имеет только одну
вершину (корень дерева), не подчиненную
никакой другой вершине и находящуюся на
самом верхнем (первом) уровне. Зависимые
(подчиненные) узлы находятся на втором,
третьем и т.д. уровнях. Количество деревьев в
базе данных определяется числом корневых
записей.
К каждой записи базы данных существует
только один (иерархический) путь от
корневой записи.
Пчелинцева Е.Г.

26.

Графическое изображение
иерархической структуры БД
Пчелинцева Е.Г.

27.

Пчелинцева Е.Г.

28.

Пример
Пчелинцева Е.Г.

29.

Пчелинцева Е.Г.

30.

Сетевая модель данных
В сетевой структуре при тех же основных
понятиях (уровень, узел, связь) каждый
элемент может быть связан с любым другим
элементом.
Примером сложной сетевой структуры
может служить структура базы данных,
содержащей сведения о студентах, участвующих
в научно-исследовательских работах. Возможно
участие одного студента в нескольких ИР, а
также участие нескольких студентов в
разработке одной ИР.
Пчелинцева Е.Г.

31.

Пчелинцева Е.Г.

32.

Реляционная модель данных
1970-е гг. Э. Кодд, англ. relation – отношение.
Пчелинцева Е.Г.

33.

Пчелинцева Е.Г.

34.

Реляционная модель ориентирована на
организацию данных в виде двумерных таблиц.
Каждая реляционная таблица представляет собой
двумерный массив и обладает следующими
свойствами:
• каждый элемент таблицы — один элемент
данных;
• все столбцы в таблице однородные, т.е. все
элементы в столбце имеют одинаковый тип
(числовой, символьный и т.д.) и длину;
• каждый столбец имеет уникальное имя;
• одинаковые строки в таблице отсутствуют;
• порядок следования строк и столбцов может
быть произвольным.
Пчелинцева Е.Г.

35.

Связи между таблицами
Пчелинцева Е.Г.

36.

Пчелинцева Е.Г.

37.

Типы связей
Связь один к одному (1:1) предполагает, что в
каждый момент времени
одному экземпляру
информационного объекта А соответствует не более
одного экземпляра информационного объекта В и
наоборот.
При связи один ко многим одному экземпляру
информационного объекта А соответствует 0,1 или
более экземпляров объекта В, каждый экземпляр
объекта В связан не более, чем с 1 экземпляром
объекта А.
Пчелинцева Е.Г.

38.

Связь многие ко многим предполагает,
что в каждый момент времени одному
экземпляру информационного объекта А
соответствует 0,1 или более экземпляров
объекта В и наоборот.
Пчелинцева Е.Г.

39.

Нормализация базы данных
Пчелинцева Е.Г.

40.

Пчелинцева Е.Г.

41.

Нормализация отношений
Одна из важнейших проблем проектирования
схемы баз данных заключается в выделении типов
записей, определении состава их атрибутов.
Группировка атрибутов должна быть рациональной,
то есть минимизирующей дублирование данных и
упрощающей процедуры их обработки и обновления.
Коддом был разработан в рамках РМД аппарат,
называемый нормализацией отношений. Хотя идеи
нормализации сформулированы в терминологии
РМД, они в равной степени применимы и для других
моделей данных.
Пчелинцева Е.Г.

42.

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

43.

Первая нормальная форма (1НФ).
Введем понятие простого и сложного атрибута. Простым
назовем атрибут, если значения его атомарны, то есть неделимы.
Сложный атрибут может представлять собой сцепление нескольких
значений одного или нескольких доменов.
Определение.
Отношение
называется
нормализованным или приведенным к первой
нормальной форме, если все его атрибуты простые.
Ненормализованное отношение не сложно привести к 1НФ, но
такое преобразование, как правило, приводит к увеличению
мощности отношения и изменению ключа.
Пчелинцева Е.Г.

44.

Вторая нормальная форма (2НФ).
Приведение таблиц ко 2НФ требует
соответствия следующим правилам:
Каждая таблица содержит данные об одном
предмете (объекте);
Каждая таблица должна содержать поле
первичного ключа, который
является
уникальным
идентификатором для каждой
записи (строки);
Остальные (неключевые) поля должны
относиться к первичному ключу, т.е. зависеть от
него.
Пчелинцева Е.Г.

45.

Третья нормальная форма (3НФ).
• Для построения третьей нормальной формы необходимо
ввести следующее понятие транзитивной зависимости.
Пусть X, Y, Z – три атрибута некоторого отношения. При этом
X Y и Y Z, но обратное соответствие отсутствует. Тогда говорят, что Z
транзитивно зависит от X.
Определение. Отношение находится в третьей нормальной
форме, если оно находится во второй нормальной форме, и
каждый неключевой атрибут не транзитивно зависит от ключа.
Для преобразования отношения в третью нормальную
форму необходимо выявить транзитивные цепочки атрибутов
отношения и построить несколько проекций данного отношения,
разорвав транзитивную связь.
Пчелинцева Е.Г.

46.

• Правило для 3НФ звучит так: все
неключевые
поля
должны
быть
взаимонезависимыми,
т.е.
изменение
неключевого поля не должно влечь за собой
изменения другого неключевого поля.
• В процессе нормализации отношений
количество
отношений
увеличивается.
Однако всегда сохраняется возможность
получить исходные отношения посредством
выполнения операций соединения.
Пчелинцева Е.Г.

47.

ПРИМЕР ПРОЕКТИРОВАНИЯ
УПРОЩЕННОГО ФРАГМЕНТА БД
Пчелинцева Е.Г.

48.

Постановка задачи:
Проектируется база данных, в одном из
ее
фрагментов
требуется
хранить
информацию о преподавателях и о
предметах, которые они читают с указанием
семестра.
Пчелинцева Е.Г.

49.

Составим исходную таблицу, заполним ее
некоторыми отладочными данными, добавив
ключевые поля КодПреп и КодПредм
Пчелинцева Е.Г.

50.

Данная таблица не находится в III
нормальной форме, так как:
a) Содержатся повторяющиеся данные;
b) Не ясна зависимость неключевого поля
(столбец Семестр) от ключевых полей.
Пчелинцева Е.Г.

51.

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

52.

Пчелинцева Е.Г.

53.

В таблице Читает поле Семестр зависит
от составного ключа. Схема данных для
нашего фрагмента выглядит следующим
образом:
Пчелинцева Е.Г.

54.

Таблица Читает является связующей и
фактически содержит все связываемые коды.
Из полученной схемы можно извлечь
данные как о преподавателя, о предметах,
так и ответить на следующие вопросы
(запросы):
• для каждого преподавателя получить
список читаемых предметов;
• Для каждого предмета получить список
читающих его преподавателей.
Пчелинцева Е.Г.

55.

Основные понятия и краткая характеристика
Microsoft Access
Архитектура Microsoft Access
База данных (БД), в общем виде — это
совокупность
структурированных
данных
о
предметной области, расположенных на машинных
носителях и используемых для решения задач этой
предметной области.
В БД хранятся как сами элементы данных, так и
взаимосвязи между данными.
Системой управления базой данных (СУБД)
называется комплекс программ, обеспечивающий
централизованное
хранение,
накопление,
модификацию и выдачу данных, входящих в БД.
Пчелинцева Е.Г.

56.

Предметной
областью
называются
элементы материальной системы, информация о
которых хранится в БД.
Каждый пользователь БД в своем сознании
имеет какое-то представление о ее структуре.
Представление структуры БД в сознании
пользователя называется концептуальной
моделью данных (или просто моделью данных).
К настоящему времени разработаны и
используются следующие модели данных :
иерархическая, сетевая и реляционная. Сегодня
самой популярной из них для персональных
компьютеров является реляционная.
Пчелинцева Е.Г.

57.

Каждая таблица предназначена для
хранения данных об объектах одного класса.
Она состоит из строк и столбцов. Столбцы
называются атрибутами или полями. Они
имеют имена.
Строки таблицы называются записями.
Каждая запись предназначена для описания
одного конкретного объекта класса, в нашем
случае — подразделения.
Пчелинцева Е.Г.

58.

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

однородными
(однотипными).
• Отношения не могут иметь в качестве компонент
другие отношения.
• Порядок следования строк в таблице не
существенен, так как влияет только на скорость
доступа к строке.
Пчелинцева Е.Г.

59.

Программное обеспечение для работы с
базами данных
(БД) используется на
персональных компьютерах уже довольно
давно. Основными функциями системы
управления базой данных (СУБД) являются
следующие.
Определение данных (Data definition) –
определение того, какая именно информация
должна храниться в БД, структуры данных и их
тип, и как эти данные связаны между собой. В
некоторых случаях могут быть также заданы
форматы и критерии проверки данных.
Пчелинцева Е.Г.

60.

Обработка данных (Data manipulation) –
данные
можно
обрабатывать
самыми
различными способами. Можно выбирать
любые поля, фильтровать и сортировать данные.
Можно объединять данные с другой связанной с
ними информацией и вычислять итоговые
значения.
Управление данными (Data control) – можно
указать, кому разрешено знакомиться с
данными, корректировать их или добавлять
новую информацию. Можно также определять
правила коллективного пользования данными.
Пчелинцева Е.Г.

61.

Почти все современные СУБД основаны на
реляционной (relational) модели данных.
Название “реляционная” связано с тем, что
каждая запись в такой БД содержит
информацию, относящуюся (related) только к
одному конкретному объекту. В реляционной
СУБД
все
обрабатываемые
данные
представляются в виде таблиц. Информация об
объектах определенного вида представляется в
табличном виде – в столбцах таблицы
сосредоточены различные характеристики этих
объектов – атрибуты, а строки предназначены
для описания значений всех атрибутов
отдельного объекта.
Пчелинцева Е.Г.

62.

Microsoft Access – это функционально полная
реляционная СУБД. В ней предусмотрены все
необходимые средства для определения и
обработки данных, и для управления ими при
работе с большими объемами информации.
Microsoft Access предоставляет максимальную
свободу в задании типа данных (текст, числовые
данные, даты, время, денежные значения, рисунки,
звук, документы, электронные таблицы). Можно
задать также форматы хранения (длина строки,
точность
представления
чисел,
формат
даты/времени) и представления этих данных при
выводе на экран или печать. Для уверенности, что в
БД хранятся только корректные значения, можно
задать условия на значения различной степени
сложности.
Пчелинцева Е.Г.

63.

Microsoft Access может работать с
большим числом самых разнообразных
форматов данных, включая файловые
структуры
других
СУБД.
Можно
осуществлять импорт и экспорт данных из
файлов
текстовых
редакторов
или
электронных таблиц. С помощью Access
можно непосредственно обрабатывать
файлы Paradox, dBASE III, dBASE IV, FoxPro и
др. Можно также импортировать данные
из этих файлов в таблицу Access.
Пчелинцева Е.Г.

64.

СУБД позволяет работать с данными,
применяя различные способы. Например, можно
выполнить поиск информации в отдельной
таблице или создать запрос со сложным
поиском по нескольким связанным между собой
таблицам или файлам. С помощью одной
единственной команды можно обновить
содержание отдельного поля или нескольких
записей. Для чтения и корректировки данных
можно создавать процедуры, использующие
функции СУБД. Многие СУБД имеют развитые
средства для ввода данных и генерации
отчетов.
Пчелинцева Е.Г.

65.

В Microsoft Access для обработки таблиц
используется мощный язык SQL (Structured Query
Language – структурированный язык запросов).
Вместе с тем, чтобы заставить Microsoft Access
решать задачи, пользователю совершенно не
требуется язык SQL. При любой обработке данных
из нескольких таблиц Access использует однажды
заданные связи между таблицами. Пользователь
может сконцентрировать свои усилия на решении
информационных проблем, не затрачивая сил на
построение
сложной
системы,
которая
отслеживает в БД все связи между структурами
данных.
Пчелинцева Е.Г.

66.

В Microsoft Access имеется также простое
и в то же время богатое возможностями
средство графического задания запроса – так
называемый “запрос по образцу” (QBE, query by
example), которое используется для задания
данных, необходимых для решения некоторой
задачи.
Используя
для
выделения
и
перемещения
элементов
на
экране
стандартные приемы работы с мышью в
Windows и несколько клавиш на клавиатуре,
можно буквально за секунды построить
довольно сложный запрос.
Пчелинцева Е.Г.

67.

Microsoft Access спроектирован таким образом, что
он может быть использован как в качестве
самостоятельной СУБД на отдельной рабочей станции,
так и в сети – в режиме “клиент – сервер”. Поскольку в
Access к данным могут иметь доступ одновременно
несколько пользователей, в нем предусмотрены
надежные
средства
защиты
и
обеспечения
целостности данных. Можно заранее указать, какие
пользователи или группы пользователей могут иметь
доступ к объектам (таблицам, формам, запросам) БД.
Access автоматически обеспечивает защиту данных от
одновременной
их
корректировки
разными
пользователями. Access также опознает и учитывает
защитные средства других подсоединенных к базе
данных структур (таких, как базы данных Paradox, dBASE
и SQL).
Пчелинцева Е.Г.

68.

В БД Access основными объектами
являются таблицы, запросы, формы, отчеты,
макросы и модули.
Как правило, термин база данных в
СУБД относится только к файлам, в
которых хранятся данные. В Microsoft Access
БД включает в себя все объекты, связанные
с хранимыми данными, в том числе и те,
которые
предназначены
для
автоматизации работы с ними.
Рассмотрим основные объекты БД
Access.
Пчелинцева Е.Г.

69.

Таблица
Объект, предназначенный для хранения данных. В
каждой таблице хранятся данные об объекте
определенного (одного) типа, например о товарах.
Таблица содержит поля (столбцы), в которых хранятся
значения различных признаков (атрибутов) конкретных
объектов, например название, цена конкретного товара, и
записи (которые называются также строками). В одной
записи собрана вся информация о конкретном предмете
(человеке, образце товара). Для каждой таблицы можно
определить первичный ключ (одно или несколько полей,
которые однозначно идентифицируют запись) и один или
несколько индексов для увеличения скорости доступа к
данным. БД должна содержать не менее одной таблицы.
Пчелинцева Е.Г.

70.

Запрос
Объект, который позволяет пользователю
получить нужные данные из одной или
нескольких таблиц. Можно создать запросы
на выборку, обновление, удаление или на
добавление данных. С помощью запросов
можно создавать новые таблицы, используя
данные одной или нескольких таблиц,
которые уже существуют.
Пчелинцева Е.Г.

71.

Форма
Объект, предназначенный в основном для ввода
данных, отображения их на экране или
управления работой приложения. Формы можно
использовать для того, чтобы реализовать
требования пользователя к представлению
данных из запросов или таблиц. Их также можно
распечатать. С помощью форм можно в ответ на
некоторое событие запустить макрос или
процедуру – например, запустить макрос, когда
изменится значение определенных данных.
Пчелинцева Е.Г.

72.

Отчет
Объект, предназначенный для создания
документа, который впоследствии может
быть распечатан или включен в документ
другого приложения. Прежде чем выводить
отчет на принтер, его можно предварительно
просмотреть на экране.
Пчелинцева Е.Г.

73.

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

74.

Модуль
Объект, содержащий программы на Visual
Basic, которые позволяют разбить процесс на
более мелкие действия и обнаружить те ошибки,
которые невозможно найти с использованием
макросов. Модули могут быть независимыми
объектами, содержащими функции, которые
можно вызвать из любого места приложения,
или могут быть непосредственно “привязаны к
отдельным формам или отчетам для реакции на
те или иные происходящие в них изменения”.
Пчелинцева Е.Г.

75.

События, связанные с формами или
отчетами, могут запускать макросы или
функции и процедуры Visual Basic.
Событие – это любое изменение состояния
объекта Microsoft Access. Например, событием
является открытие формы, закрытие формы,
ввод новой строки в форму, изменение
содержимого текущей записи или элемента
управления.
Для обработки события можно создать
макрос или процедуру Visual Basic. Можно даже
предусмотреть
реакцию
на
нажатие
пользователем определенных клавиш во время
ввода данных!
Пчелинцева Е.Г.

76.

Из макросов и модулей можно изменять
ход выполнения приложения; открывать,
фильтровать и изменять данные в формах и
отчетах; выполнять запросы и создавать
новые таблицы. В Visual Basic можно создать,
модифицировать и удалить любой объект
Access, обрабатывать данные по строкам или
по столбцам, а также каким-либо другим
способом. Из модуля можно даже вызывать
библиотечные процедуры Microsoft Windows,
чтобы использовать в приложении не только
встроенные функции Access, но и возможности
Windows.
Пчелинцева Е.Г.

77.

Базовые понятия реляционных
баз данных
Пчелинцева Е.Г.

78.

Основными понятиями реляционных баз
данных являются тип данных, домен, атрибут,
кортеж, первичный ключ и отношение.
Для начала покажем смысл этих понятий на
примере
отношения
СОТРУДНИКИ,
содержащего информацию о сотрудниках
некоторой организации:
Пчелинцева Е.Г.

79.

Пчелинцева Е.Г.

80.

Понятие тип данных в реляционной модели
данных полностью адекватно понятию типа данных в
языках программирования.
Обычно в современных реляционных БД
допускается хранение символьных, числовых данных,
битовых строк, специализированных числовых
данных (таких как "деньги"), а также специальных
"темпоральных" данных (дата, время, временной
интервал). Достаточно активно развивается подход к
расширению возможностей реляционных систем
абстрактными типами данных (соответствующими
возможностями обладают, например, системы
семейства Ingres/Postgres). В нашем примере мы
имеем дело с данными трех типов: строки символов,
целые числа и "деньги".
Пчелинцева Е.Г.

81.

Пчелинцева Е.Г.

82.

Типы данных в Access
Тип данных
Описание
Текстовый
Алфавитно-цифровые данные, длина до 255 символов.
Мемо
Алфавитно-цифровые данные – предложения, абзацы, тексты. Длина до 64 000 байтов.
Числовой
Числовые данные. 1, 2, 4 или 8 байтов.
Дата/Время
Дата и время. Имеется возможность выбора формата отображения на экране и в
документах.
Денежный
Данные о денежных суммах. Хранится как число с 4 знаками после запятой.
Счетчик
Уникальное длинное целое, автоматически генерируется Access при создании каждой
новой записи. 4 байта. Используется в качестве ключевого поля.
Логический
Логические данные. Длина 1 бит.
Объект OLE
Картинки, диаграммы и другие объекты OLE из приложений Windows. объем до 1
гигабайта.
Мастер
подстановок
Это не тип данных. При выборе этой строки в списке типов вызывается мастер
подстановок позволяющий задать подстановку для значений описываемого поля.
Подробнее о подстановках говорится в следующем разделе.
Пчелинцева Е.Г.

83.

Пчелинцева Е.Г.

84.

Свойства поля
Access по умолчанию назначает свойства полям создаваемой
таблицы. Набор свойств поля зависит от типа данных поля. При желании
(или необходимости) разработчик может изменить эти назначения. Для
этого служит нижняя часть окна конструктора таблиц. Здесь находится
две вкладки – Общие и Подстановка.
Вкладка Общие.
Размер поля. Это свойство задает максимальный размер данных в
описываемом поле. Данные текстового типа могут иметь длину от 1 до
255 символов; по умолчанию устанавливается 50 символов. Не
изменяйте это значение, если хранимые строки имеют длину не более 50
символов.
Размеры данных других типов можно посмотреть в справке Access.
Формат поля. Это свойство позволяет задать формат
представления данных при выводе на экран или печать. Для всех типов
данных, кроме текстового, Мемо и OLE в Access имеются стандартные
наборы форматов. Пользователь имеет возможность выбрать желаемый
формат из раскрывающегося списка.
Пчелинцева Е.Г.

85.


Маска ввода. Для типов данных Текстовый,
Числовой, Денежный и Дата/Время можно
задать маску (шаблон) ввода, которую
пользователь увидит при вводе данных в это
поле. Маска задается путем записи в позиции
вводимой строки специальных символов.
Символы, используемые в маске ввода,
приведены в таблице 4.2. Термин “может быть” в
графе Назначение означает не обязательный
символ. Термин “должна быть” означает
обязательный символ; если не ввести никакого
символа, то Access вставит что-то по умолчанию
или выдаст сообщение об ошибке.
Пчелинцева Е.Г.

86.

Символы, используемые в маске
ввода
Символ
9
Назначение
В данную позицию может быть введена цифра или пробел.
0
В данную позицию должна быть введена только цифра.
#
В данную позицию должна быть введена цифра, пробел, + или -.
L
В данную позицию должна быть введена произвольная буква.
?
В данную позицию может быть введена буква.
A
В данную позицию должна быть введена буква или цифра.
a
В данную позицию может быть введена буква или цифра.
&
В данную позицию должен быть введен произвольный символ или
пробел.
C
В данную позицию может быть введен любой символ или пробел.
.
Место для десятичной точки (запятой).
,
Разделитель тысяч
:;-/
Разделители, используемые при записи даты и времени.
Пчелинцева Е.Г.

87.


Подпись поля. Это более описательное имя поля,
которое Access будет использовать при выводе данных на
экран. Если подпись поля не задана, то Access для таких
целей будет использовать Имя Поля.
Значение по умолчанию. Можно определить
значение по умолчанию для всех типов данных, кроме
Счетчика, Мемо и Объекта OLE. Например, для даты и
времени можно в качестве такого значения можно указать
системные дату и время.
Условие на значение. Можно задать выражение,
которое при вводе или редактировании должно быть
всегда истинным. Например, <100 означает, что значение
этого поля должно быть меньше 100. В качестве условия
можно ввести список допустимых значений или записать
довольно сложные выражения, в том числе и такие в
которых используются значения как вводимого поля, так и
других полей таблицы.
Пчелинцева Е.Г.

88.


Сообщение об ошибке. Можно ввести текст,
который Access будет выводить на экран, когда
вводимое значение не удовлетворяет условию на
значение.
Обязательное поле. Если установлено это
свойство, то Access не позволит при вводе оставить
это поле пустым.
Пустые строки. Для текстовых и Мемо полей
можно разрешить ввод пустых строк.
Индексированное поле. Для некоторых типов
полей, чтобы ускорить доступ к данным, можно
задать построение индекса. Можно также указать,
чтобы значения в индексированном поле не
повторялись.
Пчелинцева Е.Г.

89.

• Ключевое поле – это поле, значения
которого
однозначно
определяют
(идентифицируют)
запись
в
таблице.
Например, шифр зачетной книжки студента
однозначно определяет студента в списке
студентов.
В качестве ключа может выступать не
одно поле, а совокупность нескольких полей.
• Ключевых полей может быть несколько.
Тогда в качестве первичного ключа следует
выбрать какое-то одно.
Пчелинцева Е.Г.

90.

Домен
Понятие домена более специфично для баз данных,
хотя и имеет некоторые аналогии с подтипами в
некоторых языках программирования. В самом общем
виде домен определяется заданием некоторого базового
типа данных, к которому относятся элементы домена, и
произвольного логического выражения, применяемого к
элементу типа данных. Если вычисление этого логического
выражения дает результат "истина", то элемент данных
является элементом домена.
Наиболее правильной интуитивной трактовкой
понятия домена является понимание домена как
допустимого потенциального множества значений
данного типа. Например, домен "Имена« определен на
базовом типе строк символов, но в число его значений
могут входить только те строки, которые могут изображать
имя (в частности, такие строки не могут начинаться с
мягкого знака).
Пчелинцева Е.Г.

91.

Схема отношения, схема базы данных
Схема отношения - это именованное множество
пар {имя атрибута, имя домена (или типа, если
понятие домена не поддерживается)}. Степень или
"арность" схемы отношения - мощность этого
множества. Степень отношения СОТРУДНИКИ равна
четырем, то есть оно является 4-арным. Если все
атрибуты одного отношения определены на разных
доменах, осмысленно использовать для именования
атрибутов имена соответствующих доменов (не
забывая, конечно, о том, что это является всего лишь
удобным способом именования и не устраняет
различия между понятиями домена и атрибута).
Схема БД (в структурном смысле) - это набор
именованных схем отношений.
Пчелинцева Е.Г.

92.

Кортеж, отношение
Кортеж, соответствующий данной схеме
отношения, - это множество пар {имя атрибута,
значение}, которое содержит одно вхождение
каждого имени атрибута, принадлежащего схеме
отношения. "Значение" является допустимым
значением домена данного атрибута (или типа
данных, если понятие домена не поддерживается).
Тем самым, степень или "арность" кортежа, т.е. число
элементов в нем, совпадает с "арностью"
соответствующей схемы отношения. Попросту говоря,
кортеж - это набор именованных значений заданного
типа.
Пчелинцева Е.Г.

93.

Отношение - это множество кортежей,
соответствующих одной схеме отношения. Иногда,
чтобы не путаться, говорят "отношение-схема" и
"отношение-экземпляр", иногда схему отношения
называют заголовком отношения, а отношение как
набор кортежей - телом отношения. На самом деле,
понятие схемы отношения ближе всего к понятию
структурного
типа
данных
в
языках
программирования. Было бы вполне логично
разрешать отдельно определять схему отношения, а
затем одно или несколько отношений с данной
схемой.
Пчелинцева Е.Г.

94.

• Однако в реляционных базах данных это не
принято. Имя схемы отношения в таких базах
данных
всегда
совпадает
с
именем
соответствующего
отношения-экземпляра.
В
классических реляционных базах данных после
определения схемы базы данных изменяются
только отношения-экземпляры. В них могут
появляться
новые
и
удаляться
или
модифицироваться существующие кортежи. Однако
во многих реализациях допускается и изменение
схемы базы данных: определение новых и
изменение существующих схем отношения. Это
принято называть эволюцией схемы базы данных.
Пчелинцева Е.Г.

95.

Обычным житейским представлением
отношения является таблица, заголовком
которой является схема отношения, а
строками - кортежи отношения-экземпляра; в
этом случае имена атрибутов именуют
столбцы этой таблицы. Поэтому иногда
говорят "столбец таблицы", имея в виду
"атрибут отношения".
Пчелинцева Е.Г.

96.

Реляционная база данных - это набор
отношений, имена которых совпадают с
именами схем отношений в схеме БД.
Пчелинцева Е.Г.

97.

Благодарю за внимание!
Пчелинцева Е.Г.
English     Русский Rules