Слайд 1БАЗЫ ДАННЫХ (БД)
и
СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ (СУБД)
ОБЗОР
Слайд 2Систематизация и хранение информации
В каком виде может храниться информация, чтобы
с ней было
удобно работать?
Информационной системой (ИС) можно считать совокупность
любой связанной структурированной информации.
Примеры ИС: расписание поездов, книга регистрации данных о заказах.
ИС может храниться как в «бумажном» варианте, так и в памяти
компьютера.
База данных - это информационная система, которая хранится в
электронном виде.
Объект
Атрибуты
объекта
Свойства,
характеризующие
объект
Элемент ИС,
информация о
котором сохраня
ется в ней
Человек
Фамилия
Имя
Отчество
Адрес
Слайд 3Классификация БД
По технологии обработки данных БД разделяются на:
Централизованные (хранятся в
памяти одной вычислительной системы)
Распределенные (состоит из нескольких, возможно пересекающихся, дублирующих
частей, хранится в различных ЭВМ)
По способу доступа:
БД с локальным доступом
БД с удаленным (сетевым) доступом
Слайд 4Классификация (продолжение)
Системы централизованных БД с сетевым доступом могут иметь архитектуру:
Файл-сервер
(БД хранится на сервере, обработка ведется на рабочих станциях, на
которые передаются файлы с БД)
Клиент-сервер (БД хранится и обрабатывается на сервере, на рабочие станции передаются только извлеченные данные)
Слайд 5Виды моделей данных
Модель данных – это совокупность структуры данных и
операций обработки
СУБД (система управления базой данных) основывается на использовании иерархической,
сетевой или реляционной модели данных или их комбинации.
Слайд 6Иерархическая модель данных
А
В1
В2
В3
С1
С2
С3
С4
С5
С6
Уровень 1
Уровень 2
Уровень 3
Такая база данных может например
хранить данные о
студентах (уровень 3), которые учатся в группах
(уровень 2)
и на факультете ФЗОиЭ (уровень 1)
Слайд 7Сетевая модель данных
Иванов
Петров
Сидоров
Сергеев
Некрасова
Кириллов
Павлова
Студенты
Руководители
Такая база данных может хранить сведения о студентах,
занимающихся
НИРС, и их руководителях.
Каждый студент может выполнять не одну научно-иссл.
работу,
а каждый руководитель НИРС занимается не
с одним студентом.
Слайд 8Реляционная модель данных
(relation - отношение)
записи
поля
Базы данных, организованные в виде нескольких
связанных таблиц
называются реляционными.
Каждая строка таблицы называется записью,
каждый столбец - полем.
Слайд 9Свойства таблицы (БД)
Каждый элемент таблицы – один элемент данных
Все ячейки
в столбце таблицы – однородные, одинакового типа
Каждый столбец имеет уникальное
имя
Одинаковые строки в таблице отсутствуют
Порядок следования строк и столбцов - произвольный
Слайд 10Типы полей в MS Access
Текстовый (буквы, цифры, знаки препинания и
пр.)
Числовой (целые, вещественные числа)
Дата/Время
Гиперссылка
Логический («истина» или «ложь»)
Денежный
OLE-объект (рисунки, звук, видео)
MEMO-поле
(символьное поле длиной до 65535)
Счетчик (целое число)
Слайд 11Системы управления базами данных (СУБД)
Для взаимодействия пользователя с БД используются
СУБД.
Возможности СУБД:
- набор средств для поддержки таблиц, отношений между ними;
-
развитый пользовательский интерфейс (ввод информации,
поиск информации, представление информации в текстовом или
графическом виде)
- средства программирования.
Примеры СУБД:
Microsoft Access
Visual FoxPro
Oracle
Paradox
Языки программирования,
содержащие средства для работы с БД:
Delphi
Visual Basic
Visual C++
Слайд 12Ключевые поля
Ключевым полем (ключом) называется такой элемент, по которому
можно
определить значения других полей. Ключ однозначно определяет запись.
Различают первичный и
альтернативный ключи.
Первичный ключ – это поле, которое единственным образом идентифицирует строку в таблице (запись), это основной ключ.
В таблице может быть только один первичный ключ.
Альтернативный ключ – это поле или группа полей, не совпадающих с первичным ключом и уникально идентифицирующих каждую строку в таблице.
В таблице может быть несколько альтернативных ключей.
Ключи бывают также внешними, простыми и составными.
Первичный ключ
Альтернативный ключ
Слайд 13Типы отношений
«один к одному»
«один ко многим»
«многие к одному»
«многие ко многим»
В
реляционной БД между таблицами возможны
четыре типа отношений:
Слайд 15«Один ко многим» «Многие к одному»
Код сотрудника –
внешний ключ
Слайд 16«Многие ко многим»
Заказанные товары
Поставки товаров
∞
∞
Слайд 17Создание таблиц в MS Access
В Access используются три способа создания
таблиц:
- путем ввода данных (by entering data),
- с
помощью Конструктора таблиц (in Design view)
- с помощью Мастера создания таблиц (by using wizard).
Для каждого из этих способов существует специальный ярлык новых объектов в списке таблиц (рис. 2.3). Если вы создали новый файл базы данных, то, кроме этих ярлыков, в списке таблиц больше ничего нет.
Слайд 18
Рис. 2.3. Ярлыки новых объектов в списке таблиц пустой базы
данных
Слайд 19Создание таблицы с помощью Конструктора таблиц
В режиме Конструктора таблицы создаются
путем задания имен полей, их типов и свойств.
Рис. Окно
новой таблицы в режиме Конструктора
Слайд 21Создание таблицы Оплата
Ввести данные в созданную таблицу можно, открыв таблицу
в режиме Таблицы.
Слайд 22Связывание таблиц на схеме данных
Чтобы открыть схему данных, необходимо выполнить
команду Сервис, Схема данных.
По умолчанию схема будет содержать все
таблицы со связями. Добавить необходимые таблицы.
Установить новые связи - выбрать команду Связи, Изменить связь из главного меню Access. Эта команда появляется в меню, когда открыто окно Схема данных.
Когда создается новая связь, можно также воспользоваться кнопкой Новое и в окне Создание ввести имена связываемых таблиц и имена полей, используемых для связи. Нажать кнопку ОК.
Слайд 24Заполнение таблицы данными
Для заполнения таблицы данными следует открыть ее в
режиме таблицы.
Можно также заполнять таблицы с помощью форм.
Слайд 25Сортировка, поиск и фильтрация данных
Данные, которые хранятся в таблицах базы
данных, могут быть эффективно использованы только при условии если существуют
простые и доступные средства поиска нужной информации. Таблицы могут содержать огромное число записей, и хорошая СУБД должна обеспечить возможность быстро и легко найти и отобрать среди них нужные.
Сортировка данных
По умолчанию, когда таблица открывается в режиме Таблицы, она упорядочивается по значению ключевого поля. Если ключевое поле для таблицы не определено, записи выводятся в порядке их ввода в таблицу. Если нужно отсортировать записи по значению другого поля, достаточно установить курсор на любую строку соответствующего столбца и нажать одну из кнопок на панели инструментов: Сортировка по возрастанию (Sort Ascending) или Сортировка по убыванию (Sort Descending).
Другой способ выполнения этой операции: щелкнуть правой кнопкой мыши по любой строке нужного столбца и выбрать из контекстного меню (рис. 2.55) соответствующую команду.
Таким образом можно упорядочить записи по любому столбцу таблицы. Ограничения существуют только на тип данных, которые можно упорядочивать — нельзя сортировать значения полей типа MEMO, гиперссылки или объекты OLE.
Слайд 26Поиск и замена данных
В режиме Таблицы предусмотрены возможности поиска данных
по образцу либо в конкретном поле, либо во всей таблице.
Если
известно, в каком столбце нужно вести поиск, выделить этот столбец (достаточно поместить курсор в любое поле этого столбца).
Нажать кнопку Найти на панели инструментов Режим таблицы и открыть вкладку Поиск или выполнить команду меню Правка, Найти. Появится диалоговое окно Поиск и замена.
Остальные параметры в окне можно изменить или оставить так, как они установлены по умолчанию:
значение в поле со списком Поиск в, определяющее место поиска, по умолчанию содержит название выбранного столбца;
значение в поле со списком Совпадение определяет один из трех вариантов совпадения образца со значением поля — С любой частью поля, Поля целиком, С начала поля;
поле со списком Просмотр, в котором можно задать направление поиска: Все, Вверх, Вниз;
флажок С учетом регистра позволяет при поиске учитывать начертание букв — прописные или строчные;
флажок С учетом формата полей позволяет выполнять поиск данных в указанном формате отображения.
Слайд 27Фильтрация данных
В Microsoft Access предусмотрено четыре способа отбора записей с
помощью фильтров:
фильтр по выделенному фрагменту, обычный фильтр, поле Фильтр
для (Filter For) и
расширенный фильтр.
Фильтр по выделенному фрагменту, обычный фильтр и поле Фильтр для (Filter For) являются очень простыми способами отбора записей, причем самым простым является фильтр по выделенному фрагменту — он позволяет найти все записи, содержащие определенное значение в выбранном поле. Обычный фильтр используется для отбора записей по значениям нескольких полей. Поле Фильтр для (Filter For) используется, если фокус ввода находится в поле таблицы и нужно ввести конкретное искомое значение или выражение, результат которого будет применяться в качестве условия отбора. Для создания сложных фильтров следует использовать окно расширенного фильтра.
Набор записей, которые были отобраны в процессе фильтрации, называется результирующим набором.
Чтобы использовать фильтр по выделенному фрагменту, необходимо:
В поле объекта в режиме Таблицы найти значение, которое должны содержать записи, включаемые в результирующий набор при применении фильтра. .
Выделить это значение и нажать кнопку Фильтр по выделенному (Filter by Selection) на панели инструментов Режим таблицы (Table Datasheet).
Слайд 28Создание запроса в режиме конструктора
Запрос – это требование на извлечение
данных из таблиц БД,
на выполнение вычислений над данными, на
внесение изменений в базу данных.
Слайд 29Пример создания запроса на выборку
Запрос на выборку – наиболее часто
используемый тип запроса. Его результатом является динамическая таблица, которая может
быть просмотрена, проанализирована.
Слайд 30Создание запроса в режиме конструктора
Слайд 31Результат запроса – динамическая таблица
Слайд 32Запрос с параметром – это запрос, который при выполнении отображает
в собственном диалоговом окне приглашение ввести интересующее пользователя значение критерия
отбора записей
Слайд 34Пример создания итогового запроса
Слайд 35Базовые понятия реляционных баз данных
Основными понятиями реляционных баз данных являются
тип данных, домен, атрибут, кортеж, первичный ключ и отношение.
Для
начала покажем смысл этих понятий на примере отношения СОТРУДНИКИ, содержащего информацию о сотрудниках некоторой организации:
4.1.1. Тип данных
Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких как "деньги"), а также специальных "темпоральных" данных (дата, время, временной интервал). Достаточно активно развивается подход к расширению возможностей реляционных систем абстрактными типами данных (соответствующими возможностями обладают, например, системы семейства Ingres/Postgres). В нашем примере мы имеем дело с данными трех типов: строки символов, целые числа и "деньги".
4.1.2. Домен
Понятие домена более специфично для баз данных, хотя и имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Если вычисление этого логического выражения дает результат "истина", то элемент данных является элементом домена.
Наиболее правильной интуитивной трактовкой понятия домена является понимание домена как допустимого потенциального множества значений данного типа. Например, домен "Имена" в нашем примере определен на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут изображать имя (в частности, такие строки не могут начинаться с мягкого знака).
Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену. В нашем примере значения доменов "Номера пропусков" и "Номера групп" относятся к типу целых чисел, но не являются сравнимыми. Заметим, что в большинстве реляционных СУБД понятие домена не используется, хотя в Oracle V.7 оно уже поддерживается.
4.1.3. Схема отношения, схема базы данных
Схема отношения - это именованное множество пар {имя атрибута, имя домена (или типа, если понятие домена не поддерживается)}. Степень или "арность" схемы отношения - мощность этого множества. Степень отношения СОТРУДНИКИ равна четырем, то есть оно является 4-арным. Если все атрибуты одного отношения определены на разных доменах, осмысленно использовать для именования атрибутов имена соответствующих доменов (не забывая, конечно, о том, что это является всего лишь удобным способом именования и не устраняет различия между понятиями домена и атрибута).
Схема БД (в структурном смысле) - это набор именованных схем отношений.
4.1.4. Кортеж, отношение
Кортеж, соответствующий данной схеме отношения, - это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. "Значение" является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым, степень или "арность" кортежа, т.е. число элементов в нем, совпадает с "арностью" соответствующей схемы отношения. Попросту говоря, кортеж - это набор именованных значений заданного типа.
Отношение - это множество кортежей, соответствующих одной схеме отношения. Иногда, чтобы не путаться, говорят "отношение-схема" и "отношение-экземпляр", иногда схему отношения называют заголовком отношения, а отношение как набор кортежей - телом отношения. На самом деле, понятие схемы отношения ближе всего к понятию структурного типа данных в языках программирования. Было бы вполне логично разрешать отдельно определять схему отношения, а затем одно или несколько отношений с данной схемой.
Однако в реляционных базах данных это не принято. Имя схемы отношения в таких базах данных всегда совпадает с именем соответствующего отношения-экземпляра. В классических реляционных базах данных после определения схемы базы данных изменяются только отношения-экземпляры. В них могут появляться новые и удаляться или модифицироваться существующие кортежи. Однако во многих реализациях допускается и изменение схемы базы данных: определение новых и изменение существующих схем отношения. Это принято называть эволюцией схемы базы данных.
Обычным житейским представлением отношения является таблица, заголовком которой является схема отношения, а строками - кортежи отношения-экземпляра; в этом случае имена атрибутов именуют столбцы этой таблицы. Поэтому иногда говорят "столбец таблицы", имея в виду "атрибут отношения". Когда мы перейдем к рассмотрению практических вопросов организации реляционных баз данных и средств управления, мы будем использовать эту житейскую терминологию. Этой терминологии придерживаются в большинстве коммерческих реляционных СУБД.
Реляционная база данных - это набор отношений, имена которых совпадают с именами схем отношений в схеме БД.
Как видно, основные структурные понятия реляционной модели данных (если не считать понятия домена) имеют очень простую интуитивную интерпретацию, хотя в теории реляционных БД все они определяются абсолютно формально и точно.