Тема: База
данных
1. Понятие базы данных и СУБД
|
База данных (БД) — совокупность данных,
организованная по определенным правилам и предназначенная для длительного
хранения во внешней памяти компьютера, постоянного обновления и
использования. |
БД представляет собой
информационную модель определенной предметной области. Базы данных
обеспечивают хранение информации, а также удобный и быстрый доступ к данным.
Информация в БД должна быть непротиворечивой, неизбыточной и целостной.
Для создания БД и манипулирования их данными используют системы управления базой данных (СУБД). Они
представляют собой совокупность языковых и программных средств, предназначенных
для создания, ведения и использования БД. Языковые средства — языки описания и
манипулирования данными, языки запросов к БД. Программные средства — прикладные
программы для обработки данных, содержащихся в БД.
Таким образом, именно СУБД позволяет создавать базы данных, обновлять и
дополнять информацию, обеспечивать гибкий доступ к данным. СУБД создает на
экране компьютера определенную среду для работы пользователя (интерфейс БД) и
имеет определенные режимы работы и систему команд.
Основные
функции СУБД:
·
создание структуры БД;
·
ввод данных в БД и их хранение;
·
изменение (редактирование) структуры БД и данных;
·
поиск данных в БД;
·
сортировка и группировка данных;
·
защита БД;
·
проверка целостности данных БД.
Примеры современных СУБД: Oracle, Firebird, Interbase, MS SQL Server, MySQL,
MS Access.
2.
Классификация баз данных
1) В зависимости от характера данных различают
фактографические и документальные базы данных.
Фактографические
БД содержат информацию, относящуюся к определенной предметной области и
представленные в строго определенном формате. Например, фактографическими
являются базы данных кадрового состава учреждения, транспортных систем, научных
данных, сведений о населении, о природных ресурсах и т. д.
Документальные
БД служат для хранения и работы с документами. Часто это документы на
естественном языке — монографии, публикации в периодике, тексты законодательных
актов и т. д. Зачастую документальные БД содержат видео– и звуковые документы.
2) По способу
хранения данных различают централизованные и распределенные БД. В централизованных БД все данные хранятся на
одном компьютере (локальном или сетевом). В распределенных
БД части базы сохраняются на множестве компьютеров,
объединенных между собой в сеть.
3) В зависимости от вида организации данных различают
следующие основные модели представления данных в базе:
·
иерархическую;
·
сетевую;
·
реляционную.
Наиболее распространенной из этих моделей является реляционная. Сегодня
появляются новые виды организации БД, как правило, имеющие в своей основе
реляционный подход.
В иерархической модели данные представляют в
виде древовидной (иерархической) структуры. В ней существует строгая
подчиненность элементов, один из которых главный, остальные подчиненные. Такая
организация данных удобна для работы с информацией, упорядоченной по уровням,
однако для данных со сложными логическими связями она оказывается слишком
громоздкой. Графическое представление модели — дерево.
В сетевой модели данные организуются в виде
произвольного графа, т. е. связи между элементами произвольны. Она более
гибкая, в ней нет явно выраженного главного элемента, существует возможность
установления горизонтальных связей. Недостатком ее является высокая сложность
реализации.
Кроме того, значительным недостатком иерархической и сетевой моделей
является то, что структура данных задается на этапе разработки БД и не может
быть изменена позже, при организации доступа к данным.
Реляционная
модель представляет собой совокупность таблиц, которые также называют
отношениями (отсюда и название: англ. relation — отношение). Эта модель была
предложена в 70–х годах XX века сотрудником фирмы IBM Эдгаром Коддом. Она
основана на теории множеств и математической логике.



Доказано, что любую структуру данных можно свести к табличной форме.
Достоинствами реляционной модели данных являются простота, гибкость
структуры, удобство компьютерной реализации, наличие теоретического описания.
Большинство современных БД для персональных компьютеров являются реляционными.
В реляционной БД эффективно реализуются следующие операции:
·
сортировка данных (например, учащихся по алфавиту, сеансов по времени);
·
выборка данных по группам (например, все маршруты по направлениям, все
учащиеся по классам);
·
поиск записей (например, поиск книг по их автору, товаров по наименованию)
и т. д.
Таблицы
реляционной БД
Каждая таблица состоит из строк и столбцов и предназначена для хранения
данных об однотипных объектах. Каждая строка содержит информацию об одном
конкретном объекте БД (например, книге, сотруднике, товаре), а каждый столбец —
конкретную характеристику этого объекта (например, фамилию, название, цену).
Строки такой таблицы называются записями, столбцы
— полями. Каждое поле должно иметь имя, уникальное в
пределах таблицы.
В разных записях значения отдельных полей могут повторяться. Но в таблице
должно иметься такое поле или набор полей, значение в котором не повторяется ни
для одной записи — оно является уникальным для каждой записи. Такое поле
называют ключевым полем (ключом) таблицы. По значению ключевого поля можно
однозначно получить всю запись таблицы с этим ключевым значением.
Простой ключ состоит из одного поля, а составной — из нескольких полей. В
таблице может быть определен только один ключ, который называют первичным
ключом. Например, таким полем может служить код изделия, номер автомобиля или
читательского билета.

Любая таблица в реляционной БД обладает следующими свойствами:
·
каждый элемент таблицы — один элемент данных;
·
все поля (столбцы) в таблице являются однородными, т. е. данные в одном
столбце имеют один тип (число, текст, дата и т. д.);
·
каждое поле имеет уникальное имя;
·
одинаковые записи (строки) в таблице отсутствуют;
·
порядок следования записей в таблице может быть произвольным.
Каждое поле таблицы имеет определенный тип. Тип —
это множество значений, которые может принимать поле, и множество операций,
которые можно выполнять над этими значениями. Существуют четыре основных типа
для полей БД: символьный, числовой, логический и дата.
Поля символьного типа предназначены для последовательностей символов
(тексты, коды и т. д.). Поля даты содержат даты вида «день/месяц/год». числовые
поля могут сохранять только числа. Логические поля сохраняют данные, которые
могут принимать только одно из двух значений: «да» или «нет» («истина» или
«ложь»).
3.
Связи между таблицами БД
Как правило, реляционная БД состоит из набора взаимосвязанных таблиц,
некоторые из них являются главными, остальные — подчиненными. Организация связи
(отношений) между таблицами называется связыванием или соединением таблиц.
Связи между таблицами устанавливаются при создании БД. Поля, которые
используются для связывания таблиц, называются полями связи. Поле связи
подчиненной таблицы называется внешним ключом.
Существуют следующие виды связей между таблицами:
·
отношение «один–к–одному»;
·
отношения «один–ко–многим» и «много–к–одному»;
·
отношение «много–ко–многим».
Отношение «один–к–одному» означает, что одной записи в главной таблице
соответствует не более одной записи в подчиненной таблице. Полями связи в таком
случае являются ключевые поля обеих таблиц.
Отношение «один–к–одному» обычно
используют, чтобы разбить таблицу с большим числом полей на несколько таблиц. В
этом случае в первой таблице остаются поля с наиболее важной и часто
используемой информацией, а остальные поля переносятся в другую таблицу.
Например, в базе данных библиотеки в первой таблице — поля с названием книги,
фамилией ее автора, годом издания, а во второй — поля с датой приобретения
книги, местом ее хранения и т. д.

Отношение «один–ко–многим» означает,
что одной записи главной таблицы может соответствовать несколько записей подчиненной
таблицы, а каждой записи подчиненной — только одна запись главной таблицы. Это
наиболее часто встречающийся вид отношений.
Например, в главной таблице хранятся данные о книгах, а в подчиненной —
данные о выдаче книг читателям. Одну книгу могут брать в библиотеке для чтения
многократно, поэтому одной записи в главной таблице может соответствовать
несколько записей в подчиненной таблице.

Отношение «много–к–одному» отличается
от отношения «один–ко–многим» только направлением. Если на отношение
«один–ко–многим» посмотреть со стороны подчиненной таблицы, а не главной, то
оно превращается в отношение «много–к–одному».
Отношение «много–ко–многим» означает,
что каждой записи одной таблицы может соответствовать несколько записей другой
таблицы, и в то же время каждой записи второй таблицы — несколько записей
первой.
Подобное отношение реализуется, например, в базе данных библиотеки между
таблицами книг и читателей. Любую книгу могут взять для чтения (по очереди)
много читателей, и любой читатель может взять несколько книг.
Для отношения «много–ко–многим» сложно организовывать связи между таблицами
и взаимодействие между их записями. Многие СУБД, в том числе MS Access, не
поддерживают организацию подобного отношения. В таких случаях его реализуют
через отношение «один–ко–многим». Например, отношением «один–ко–многим» связаны
таблица книг и таблица выдачи книг читателям, и таким же отношением связаны
таблица читателей и таблица выдачи книг читателям.

4.
Добавление и удаление записей таблицы БД
Информация БД постоянно обновляется. Способы добавления и удаления записей
в ее таблицах зависят от возможностей, предоставляемых СУБД.
Наиболее просто это осуществляется в тех СУБД, которые имеют графический
интерфейс. Например, для добавления записи в
таблицу MS Access достаточно установить курсор в последнюю строку таблицы и
ввести данные в поля. Эта последняя строка всегда пустая и помечена слева
символом *. Чтобы быстро попасть в нее, можно воспользоваться кнопкой Новая
(пустая) запись в строке состояния таблицы.

Для перехода от одного поля к другому используют клавишу Enter. Переходить
от одной записи к другой можно с помощью клавиши Enter, мыши или кнопок
переходов в строке состояния. Для удаления записи достаточно выделить ее
(щелкнуть мышью слева от нее, в зоне выделения) и нажать клавишу Delete.
Как правило, для ввода данных в таблицы создают специальные объекты базы
данных — формы. Они содержат поля одной или нескольких таблиц, а также
вспомогательные элементы, обеспечивающие удобство ввода и редактирования
данных.
5.
Способы поиска данных в БД
|
К способам поиска данных в базе данных можно
отнести: |
Для
поиска данных в таблице существуют разные способы. Например, можно
воспользоваться автоматическим поиском по содержимому таблицы и переходить от
одного найденного значения к другому. Иной способ — упорядочить (отсортировать)
записи таблицы определенным образом, что облегчит поиск нужной информации.
Наконец, можно использовать механизм отбора данных — фильтрацию и запросы.
В MS Access для поиска значения достаточно ввести
фрагмент искомого значения в поле Поиск строки состояния таблицы. Уже в
процессе ввода курсор переместится в соответствующую запись. Для перехода к
следующему результату надо нажать клавишу Enter.
Рассмотрим некоторые способы поиска данных в базе данных подробнее.
Сортировка
записей в таблице БД
Сортировка
данных в таблице — это упорядочение ее записей. Для сортировки надо указать
поля сортировки и порядок (по возрастанию или по убыванию значений). Записи в
таблице сортируются целиком.
Например, при сортировке таблицы абитуриентов по дате поступления записи с
ранней датой будут целиком перемещены вверх по отношению к записям с поздней
датой.
В MS Access для сортировки служат
команды «По возрастанию» и «По убыванию» в заголовке каждого поля таблицы и на
вкладке ленты Главная.
Сортировка полей типа «дата» учитывает календарную последовательность.
Порядок сортировки полей символьного типа (строк) определяется таблицей
кодировки символов. Строки сравниваются посимвольно слева направо до первого
несовпадающего символа. Символ, имеющий меньший код, определит меньшее значение
всего поля. Например, значение строки «март» больше значения «май», т. к. код
символа «р» больше кода символа «й». Короткое значение считается меньше
длинного, если короткое полностью совпадает с началом длинного. Так, значение
«компьютер» меньше значения «компьютерный».
Если строки имеют одинаковую длину и содержат одну и ту же
последовательность символов, то они равны.
Фильтрация
таблицы БД
Зачастую требуется отобрать часть записей таблицы, которые удовлетворяют
некоторому условию. Это условие называют критерием отбора.
Отбор записей в самой таблице путем задания условия отбора называется фильтрацией таблицы. Фильтрация позволяет отобрать
записи из одной таблицы для простых условий. Если требуется выбрать данные
сразу из нескольких таблиц или условие является сложным, создают специальные
объекты базы данных — запросы. Они представляют собой средства получения данных
из БД в соответствии с требованиями пользователя.
И в том и в другом случае условие отбора должно быть записано в виде
логического выражения. Логическое выражение —
выражение, содержащее логические и арифметические операции, а также операции
сравнения. Результатом логического выражения является логическая величина
(«истина» либо «ложь»). К логическим выражениям применяются все правила
вычисления результатов логических операций.
Простейшая форма логического выражения в условии отбора — указание имени
какого–либо поля логического типа. Поскольку такие поля имеют значения «истина»
или «ложь», то результат выражения совпадет со значением поля.
Простые логические выражения могут содержать операции сравнения (их еще
называют отношениями): больше (>), меньше (<), больше или равно (>=),
меньше или равно (<=), равно (=), не равно (≠ или <>). Сравнение
данных производится по тем же правилам, что и при сортировке.
Операции сравнения накладывают требования на значения поля. Например,
выражение Количество <= 100 требует найти все записи таблицы, в которых
значение поля Количество не превышает 100.
Результатом отбора являются те записи таблицы, для полей которых логическое
выражение принимает значение «истина».
Комментариев нет:
Отправить комментарий