Основные понятия баз данных.
Борисов В.А.
Красноармейский филиал
ГОУ ВПО «Академия народного хозяйства
при Правительстве РФ»
Красноармейск 2009 г.
Базы данных и системы управления базами данных
- База данных (БД) — это организованная структура, предназначенная для хранения информации.
- Системы управления базами данных (СУБД) позволяют размещать в своих структурах данные и методы, с помощью которых происходит взаимодействие с потребителем или с другими программно-аппаратными комплексами.
- В современных базах данных хранятся отнюдь не только данные, но и информация.
Системы управления базами данных (СУБД)
- Комплекс программных средств, предназначенных для создания структуры новой базы, наполнения ее содержимым, редактирования содержимого и визуализации информации.
Визуализация информации базы
- Отбор отображаемых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройство вывода или передача по каналам связи.
- Большинство СУБД опираются на единый устоявшийся комплекс основных понятий.
Структура простейшей БД
- Хотя данных в базе и нет, но информация в ней все-таки есть — это структура базы.
- Она определяет методы занесения данных и хранения их в базе.
- Основными объектами любой базы данных являются ее таблицы.
- Простейшая база данных имеет хотя бы одну таблицу.
- Структура простейшей базы данных тождественно равна структуре ее таблицы.
- Структуру простейшей базы данных образуют поля и записи.
- Если записей в таблице пока нет, значит, ее структура образована только набором полей.
Свойства полей БД
- Поля базы данных определяют структуру базы и групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей.
Имя поля
- Определяет, как следует обращаться к данным этого поля при автоматических операциях с базой.
Тип поля
- Определяет тип данных, которые могут содержаться в данном поле.
Размер поля
- Определяет предельную длину данных, которые могут размещаться в данном поле.
Формат поля
- Определяет способ форматирования данных в ячейках, принадлежащих полю.
Маска ввода
- Определяет форму, в которой вводятся данные в поле.
Подпись
- Определяет заголовок столбца таблицы для данного поля.
Значение по умолчанию
- Значение, которое вводится в ячейки поля автоматически.
Условие на значение
- Ограничение, используемое для проверки правильности ввода данных.
Сообщение об ошибке
- Текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных.
Обязательное поле
- Свойство, определяющее обязательность заполнения данного поля при наполнении базы.
Пустые строки
- Свойство, разрешающее ввод пустых строковых данных.
Индексированное поле
- Если поле обладает этим свойством, все операции, связанные с поиском или сортировкой записей по значению, хранящемуся в данном поле, существенно ускоряются.
- Свойства полей могут различаться в зависимости от типа данных.
Типы данных
- Таблицы баз данных, как правило, допускают работу с гораздо большим количеством разных типов данных.
Текстовый
- Тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов).
Поле Мемо
- Специальный тип данных для хранения больших объемов текста (до 65 535 символов).
Числовой
- Тип данных для хранения действительных чисел.
Дата/время
- Тип данных для хранения календарных дат и текущего времени.
Денежный
- Тип данных для хранения денежных сумм.
Счетчик
- Специальный тип данных для уникальных натуральных чисел с автоматическим наращиванием.
Логический
- Тип для хранения логических данных (могут принимать только два значения, например Да или Нет).
Поле объекта OLE
- Специальный тип данных, предназначенный для хранения объектов OLE, например мультимедийных.
Гиперссылка
- Специальное поле для хранения адресов URL для Web-объектов Интернета.
Мастер подстановок
- Объект, настройкой которого можно автоматизировать ввод данных в поле так, чтобы не вводить их вручную, а выбирать из раскрывающегося списка.
Безопасность баз данных
- Базы данных — это тоже файлы, но работа с ними отличается от работы с файлов других типов, создаваемых прочими приложениями.
- Для баз данных предъявляются особые требования с точки зрения безопасности, поэтому в них реализован другой подход к сохранению данных.
- Целостность содержимого базы не может и не должна зависеть ни от конкретных действий некоего пользователя, забывшего сохранить файл перед выключением компьютера, ни от перебоев в электросети.
- В части операций участвует операционная система компьютера, но некоторые операции сохранения происходят в обход операционной системы.
- Операции изменения структуры базы данных, создания новых таблиц или вообще объектов происходят при сохранении файла базы данных.
- Операции по изменению содержания данных, не затрагивающие структуру базы, максимально автоматизированы и выполняются без предупреждения.
Формирование баз данных
Режимы работы с базами данных
- СУБД имеет два режима работы: проектировочный и пользовательский.
- Первый режим предназначен для создания или изменения структуры базы и создания ее объектов.
- Во втором режиме происходит использование ранее подготовленных объектов для наполнения базы или получения данных из нее.
Проектировщики
- Их задача состоит в разработке структуры таблиц базы данных и согласовании ее с заказчиком.
Пользователи
- Получают исходную базу данных от проектировщиков и занимаются ее наполнением и обслуживанием.
Объекты базы данных
- Основные типы объектов мы рассмотрим на примере СУБД Microsoft Access.
- В версии Microsoft Access эта СУБД позволяет создавать и использовать объекты семи различных типов.
Таблицы
- Это основные объекты любой базы данных.
- В таблицах хранятся все данные, имеющиеся в базе.
- Таблицы хранят структуру базы (поля, их типы и свойства).
Запросы
- Служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде.
- С помощью запросов выполняют: отбор данных, их сортировку и фильтрацию, преобразование данных по заданному алгоритму, создают новые таблицы выполняют автоматическое наполнение таблиц данными, импортированными из других источников, выполняют простейшие вычисления в таблицах и многое другое.
- Из соображений безопасности, чем меньше доступа к базовым таблицам имеют конечные пользователи, тем лучше.
- Во-первых, снижается риск того, что неумелыми действиями они повредят данные в таблицах.
- Во-вторых, предоставив разным пользователям разные запросы, можно эффективно разграничить их доступ к данным в строгом соответствии с кругом персональных обязанностей.
- Особенность запросов состоит в том, что они черпают данные из базовых таблиц и создают на их основе временную результирующую таблицу.
- Основной принцип состоит в том, что от базовых таблиц никакой упорядоченности не требуется.
- Все записи в основные таблицы вносятся только в естественном порядке по мере их поступления, то есть в неупорядоченном виде.
Формы
- Формы — это средства для ввода данных.
- Смысл их — предоставить пользователю средства для заполнения только тех полей, которые ему заполнять положено.
- Преимущества форм раскрываются особенно наглядно, когда происходит ввод данных с заполненных бланков.
Отчеты
- Предназначены только для вывода данных на печатающее устройство.
Страницы
- Физически это особый объект, выполненный в коде HTML, размещаемый на web-странице и передаваемый клиенту вместе с ней.
- Сам по себе этот объект не является базой данных, но содержит компоненты, через которые осуществляется связь переданной web-страницы с базой данных, остающейся на сервере.
Макросы и модули
- Эти категории объектов предназначены как для автоматизации повторяющихся операций при работе с системой управления базами данных, так и для создания новых функций путем программирования.
- В СУБД Microsoft Access макросы состоят из последовательности внутренних команд СУБД и являются одним из средств автоматизации работы с базой.
- Модули создаются средствами внешнего языка программирования, в данном случае языка Visual Basic for Applications.
Проектирование базы данных
- Неоптимальные решения и прямые ошибки, заложенные на этапе проектирования, впоследствии очень трудно устраняются, поэтому этот этап является основополагающим.
Разработка технического задания
Обычно используют следующие подходы:
- демонстрируют заказчику работу аналогичной базы данных, после чего согласовывают спецификацию отличий;
- если аналога нет, выясняют круг задач и потребностей заказчика, после чего помогают ему подготовить техническое задание.
При подготовке технического задания составляют
- список исходных данных, с которыми работает заказчик;
- список выходных данных, которые необходимы заказчику для управления структурой своего предприятия;
- список выходных данных, которые не являются необходимыми для заказчика, но которые он должен предоставлять в другие организации.
Разработка схемы данных
- Работа начинается с составления генерального списка полей — он может насчитывать десятки и даже сотни позиций.
- В соответствии с типом данных, размещаемых в каждом поле, определяют лишь более подходящий тип для каждого поля.
- Далее распределяют поля генерального списка по базовым таблицам.
- На первом этапе распределение производят по функциональному признаку.
- Цель — обеспечить, чтобы ввод данных в одну таблицу производился, по возможности, в рамках одного подразделения, а еще лучше — на одном рабочем месте.
- Наметив столько таблиц, сколько подразделений охватывает база данных, приступают к дальнейшему делению таблиц.
- Критерием необходимости деления является факт множественного повтора данных в соседних записях.
- В каждой из таблиц намечают ключевое поле.
- В качестве такового выбирают поле, данные в котором повторяться не могут.
- С помощью карандаша и бумаги расчерчивают связи между таблицами.
- Такой чертеж называется схемой данных.
Типы возможных связей между таблицами
- Наиболее распространенными являются связи «один ко многим» и «один к одному».
- Связь между таблицами организуется на основе общего поля, причем в одной из таблиц оно обязательно должно быть ключевым, то есть на стороне «один» должно выступать ключевое поле, содержащее уникальные, неповторяющиеся значения.
- Системы управления, способные работать со связанными таблицами, называют системами управления реляционными базами данных, а схемы данных в технической литературе могут называть схемой реляционных отношений.
- Разработкой схемы данных заканчивается «бумажный» этап работы над техническим предложением.
- На этом этапе завершается предварительное проектирование базы данных, и на следующем этапе начинается ее непосредственная разработка.
Рабо
Общие замечания
- СУБД Microsoft Access предоставляет несколько средств создания каждого из основных объектов базы:
- ручные (разработка объектов в режиме Конструктора);
- автоматизированные (разработка с помощью программ-мастеров);
- автоматические — средства ускоренной разработки простейших объектов.
- При разработке учебных таблиц и запросов рекомендуется использовать ручные средства — работать в режиме Конструктора.
- Использование мастеров ускоряет работу, но не способствует освоению понятий и методов.
- При разработке учебных форм, отчетов и страниц доступа лучше пользоваться автоматизированными средствами, предоставляемыми мастерами.
- Это связано с тем, что для данных объектов большую роль играет внешний вид.
Работа
с таблицами
Создание таблиц
- Создание таблиц начинается с выбора элемента управления Таблицы.
Окно Конструктора таблиц
Графический бланк для создания и редактирования структуры таблиц.
- При создании таблицы целесообразно (хотя и не обязательно) задать ключевое поле.
- Для задания ключевого поля достаточно щелкнуть на его имени правой кнопкой мыши и в открывшемся контекстном меню выбрать пункт Ключевое поле.
- Если первичный ключ необходим для связи с другими таблицами, но ни одно из полей не является уникальным, то его можно создать на базе двух (или более полей).
- Групповое выделение выполняют при нажатой клавише SHIFT щелчками на квадратных маркерах слева от имен полей.
- Закончив создание структуры таблицы, бланк закрывают (при этом система выдает запрос на сохранение таблицы), после чего дают таблице имя, и с этого момента она доступна в числе прочих таблиц в основном окне База данных.
- Созданную таблицу открывают в окне База данных двойным щелчком на ее значке.
- Новая таблица не имеет записей — только названия столбцов, характеризующие структуру таблицы.
Заполнение таблицы данными
- Производится обычным порядком. Курсор ввода устанавливается в нужную ячейку указателем мыши.
- Переход к следующей ячейке можно выполнить клавишей TAB. Переход к очередной записи выполняется после заполнения последней ячейки.
- Шириной столбцов можно управлять методом перетаскивания их границ.
- Удобно использовать автоматическое форматирование столбцов «по содержимому».
- Для этого надо установить указатель мыши на границу между столбцами, дождаться, когда указатель сменит форму, и выполнить двойной щелчок.
- После наполнения таблицы данными сохранять их не надо — все сохраняется автоматически.
- Однако, если при работе с таблицей произошло редактирование её макета, СУБД попросит подтвердить сохранение этих изменений.
- Если возникнет необходимость изменить структуру таблицы, таблицу надо открыть в режиме Конструктора.
- Для этого ее следует выделить в окне База данных и щелкнуть на кнопке Конструктор.
Создание межтабличных связей
- Межтабличная связь отображается в окне Схема данных в линии, соединяющей два поля разных таблиц.
- Главная — это та таблица, которая участвует в связи своим ключевым полем (название этого поля на схеме данных отображается полужирным шрифтом).
Основные назначения связи
- обеспечение целостности данных,
- автоматизация задач обслуживания базы.
Связь между таблицами позволяет
- либо исключить возможность удаления или изменения данных в ключевом поле главной таблицы, если с этим полем связаны какие-либо поля других таблиц;
- либо сделать так, что при удалении (или изменении) данных в ключевом поле главной таблицы автоматически произойдет удаление или изменение соответствующих данных в полях связанных таблиц.
Настройка свойств связи
- В окне Схема данных выделить линию, соединяющую поля двух таблиц, щелкнуть на ней правой кнопкой мыши и открыть контекстное меню связи, после чего выбрать в нем пункт Изменить связь — откроется диалоговое окно Изменение связей.
- Смысл создания реляционных связей между таблицами состоит, с одной стороны, в защите данных, а с другой стороны — в автоматизации внесения изменений сразу в несколько таблиц при изменениях в одной таблице.
- Если исполнителю надо получить данные из базы, он должен использовать специальные объекты — запросы.
- Если запрос подготовлен, надо открыть панель Запросы в окне База данных, выбрать его и открыть двойным щелчком на значке — откроется результирующая таблица, в которой исполнитель найдет то, что его интересует.
- Лишь в тех случаях, когда исполнитель не находит нужных данных в результирующей таблице, возникает необходимость готовить новый запрос.
- В учебных целях запросы лучше готовить вручную, с помощью Конструктора.
Бланк запроса по образцу
Формирование запроса по образцу
- С помощью контекстного меню на верхней половине бланка открывают те таблицы, к которым обращен запрос.
- Затем в них щелкают двойными щелчками на названиях тех полей, которые должны войти в результирующую таблицу.
- Сформировав структуру запроса, его закрывают, дают ему имя и в дальнейшем запускают двойным щелчком на значке в окне База данных.
Упорядочение записей в результирующей таблице
- Если необходимо, чтобы данные, отобранные в результате работы запроса на выборку, были упорядочены по какому-либо полю, применяют сортировку по возрастанию или убыванию.
Многоуровневая сортировка
- Данные сначала сортируются по тому полю, которое в бланке запроса по образцу находится левее, затем по следующему полю, для которого включена сортировка, и так далее слева направо.
Изменение порядка следования столбцов
- выделяют столбец щелчком на его заголовке (кнопку мыши отпускают);
- еще раз щелкают на заголовке уже выделенного столбца (но кнопку не отпускают);
- перетаскивают столбец в другое место.
Управление отображением данных в результирующей таблице
- По умолчанию предполагается, что все поля, включенные в запрос, должны выводиться на экран.
Использование условия отбора
- Для каждого поля в этой строке можно задать индивидуальное условие.
Другие виды запросов
- запросы с параметром (критерий отбора может задать сам пользователь);
- итоговые запросы (назначение их отдаленно напоминает итоговые функции электронных таблиц);
Другие виды запросов
- запросы на изменение (позволяют автоматизировать заполнение полей таблиц);
- перекрестные запросы (позволяющие создавать результирующие таблицы на основе результатов расчетов, полученных при анализе группы таблиц);
- специфические запросы SQL (запросы к серверу базы данных, написанные на языке запросов SQL).
Работа с формами
- Существует два вида организации структуры форм: на основе таблицы и на основе запроса.
Автоформы
- Формы удобнее готовить с помощью средств автоматизации.
- Полностью автоматическими являются средства, называемые автоформами.
Виды автоформ
- «в столбец»,
- ленточные,
- табличные.
Создание автоформы
- Открыть панель Формы в окне База данных и воспользоваться командной кнопкой Создать.
- В открывшемся диалоговом окне Новая форма выбирают тип автоформы и таблицу (или запрос), на которой она основывается.
- Если форма основывается только на одном объекте, она называется простой формой.
- Если форма основывается на полях из нескольких связанных таблиц, то она называется сложной и представляет собой композицию из нескольких форм.
Создание форм с помощью мастера
- выбирают таблицы и поля, которые войдут в будущую форму;
- выбирается внешний вид формы;
- выбирается стиль оформления формы;
- сохраняют форму под заданным именем.
Структура формы
- Линии, разделяющие разделы, перетаскиваются по вертикали с помощью мыши — это позволяет изменять размеры разделов так, как требуется.
- Разделы заголовка и примечания имеют чисто оформительское назначение — их содержимое напрямую не связано с таблицей или запросом, на котором основана форма.
- Раздел данных имеет содержательное значение — в нем представлены элементы управления, с помощью которых выполняется отображение данных или их ввод.
Элементы управления формы
- Основными элементами оформления формы являются текстовые надписи и рисунки.
- Для создания в форме текстовых надписей служат два элемента управления — Надпись и Поле.
- Для создания графических элементов оформления служат элементы управления Рисунок, Свободная рамка объекта и Присоединенная рамка объекта.
Дизайн формы
- Формы базы данных — это средства, с помощью которых с ней общаются люди.
- В первую очередь, все элементы управления форм должны быть аккуратно выровнены.
- При работе вручную используют перетаскивание маркеров, которые видны вокруг элемента управления, когда он выделен.
Управление последовательностью перехода
- Физически последовательность перехода — это порядок перехода к следующему полю по окончании работы с предыдущим.
Изменение порядка перехода
- щелчком на кнопке маркера слева от названия выделяется элемент управления (кнопка мыши отпускается);
- после повторного щелчка с перетаскиванием элемент перемещается на новое место.
Работа со страницами доступа к данным
- Служит для обеспечения удаленного доступа к данным через Интернет или через корпоративную сеть Intranet.
Страницы доступа
- Имеют небольшой размер, содержат удобные элементы управления для навигации в базе данных, могут быть записаны в формате кода HTML, переданы по медленным каналам связи и воспроизведены в стандартном браузере.
Создание страницы доступа к данным
- На первом этапе работы Мастера форм выбирают таблицы (или запросы), в их составе — поля, к которым должна обеспечить доступ страница.
Создание страницы доступа к данным
- Второй этап работы мастера предназначен для управления группировкой данных.
- Эта возможность предусмотрена для доступа к базам, содержащим большие объемы данных.
- Для каждого уровня группировки в структуре объекта образуется отдельный раздел, то есть различные уровни группировки могут быть дополнены различными элементами управления экранной web-формы.
Создание страницы доступа к данным
- На третьем этапе выбирается метод упорядочения отображаемых данных.
- Возможно задание до четырех полей сортировки, причем сортировка возможна как по возрастанию, так и по убыванию.
Создание страницы доступа к данным
- На последнем этапе выполняется сохранение страницы под заданным именем.
Редактирование страницы доступа к данным
Основными отличиями от форм являются:
- наличие большего количества разделов ;
- расширенный состав элементов управления на Панели элементов;
- иной механизм перетаскивания элементов управления и присоединенных надписей.
Работа с отчетами
- Отчеты служат для форматированного вывода данных на печатающие устройства и, соответственно, при этом должны учитывать параметры принтера и параметры используемой бумаги.
Мастер отчетов
- Работает в шесть этапов.
- При его работе выполняется выбор базовых таблиц или запросов, на которых отчет базируется, выбор полей, отображаемых в отчете, выбор полей группировки, выбор полей и методов сортировки, выбор формы печатного макета и стиля оформления.
- Редактирование структуры отчета выполняют в режиме Конструктора .
- Важной особенностью отчетов является наличие средства для вставки в область верхнего или нижнего колонтитула текущего номера страницы и полного количества страниц.