базы данных.ppt
- Количество слайдов: 31
ВВЕДЕНИЕ В ТЕОРИЮ БАЗ ДАННЫХ Система управления базами данных Access (СУБД Access)
ФОРМУЛИРОВКА ЗАДАЧИ Имеется большой объем данных о какой-то реальной системе объектов, например, § книги в библиотеке; § товары на складе Необходимо организовать: ¨ хранение, ¨ удобный просмотр, ¨ пополнение, изменение; ¨ поиск, любые выборки; ¨ сортировку.
ПОНЯТИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ Информационная система (ИС) – это комплекс, состоящий из информационного фонда и процедур, позволяющих • • накапливать, хранить, корректировать и выдавать информацию Целью любой информационной системы является обработка данных об объектах и явлениях реального мира и предоставление человеку нужной информации о них. n n Примеры ИС: картотека любой библиотеки, записная книжка
Информационная модель Попробуем построить простейшую информационную модель домашней библиотеки. Нас будут интересовать следующие данные о книге: • Номер книги в каталоге • Автор (или авторы) • Название • Год издания • Номер полки Разумеется, помимо этих характеристик, книги обладают и другими, но в данной задаче ограничимся этим набором. В дальнейшем будем называть эти характеристики атрибутами.
Информационная модель Домашняя библиотека Номер Автор Название Год Полка 0001 Беляев А. Р. Человек-амфибия 1997 5 0002 Тургенев И. С. Повести и рассказы 2002 1 0003 Тынянов Ю. Н. Кюхля 2009 1 Эта таблица – информационная модель книжного фонда домашней библиотеки. Мы рассмотрели совокупность некоторых объектов (книг), обладающих одинаковыми параметрами, признаками (автор, название, год издания и т. п. ), затем структурировали данные об объектах по определенным параметрам в виде таблицы.
ПОНЯТИЕ БАЗЫ ДАННЫХ База данных – структурированная совокупность данных на магнитных носителях База данных содержит сведения об однотипных объектах. Для каждого объекта существенными являются его признаки, свойства объекта – атрибуты.
ПОЛЕ. ЗАПИСЬ Номер Автор Название Год Полка 0001 Беляев А. Р. Человек-амфибия 1987 5 0002 Тургенев И. С. Повести и рассказы 1982 1 0003 Тынянов Ю. Н. Кюхля 1979 1 Поле – это столбец таблицы, содержащий значение определенного свойства. Поля – это атрибуты объекта. Каждое поле имеет имя. Запись – это строка таблицы, содержащая набор значений Запись определенного свойства, размещенных в полях.
КЛЮЧЕВОЕ ПОЛЕ Ключ – это поле (или совокупность полей), которое однозначно определяет соответствующую запись Каждая запись в таблице должна иметь первичный ключ, значение которого уникально и не может повторяться у разных записей.
ТИПЫ ПОЛЕЙ n n n n счетчик (вводится автоматически с вводом каждой записи), текстовый (строка до 255 символов), поле МЕМО (текст, состоящий из нескольких строк до 65 535 символов), числовой (число любого типа), дата/время (поле, содержащее дату или время), денежный (выраженное в денежных единицах: рубли, доллары и т. д. ), логический (содержит одно из значений TRUE или FALSE), поле объекта OLE (содержит рисунки, звуковые файлы, таблицы Excel, документ Word и т. д. ), n пользовательский (дни недели, гиперссылка) Каждый тип поля имеет свой набор свойств: размер поля и формат значения поля, обязательное поле).
Система управления базой данных (СУБД) СУБД – это программное обеспечение, позволяющее создавать базы данных, осуществлять обработку и поиск данных. Все СУБД поддерживают в той или иной форме четыре основных операции: 1. добавить в базу данных одну или несколько записей; 2. удалить из базы данных одну или несколько записей; 3. найти в базе данных одну или несколько записей, удовлетворяющих заданному условию; 4. обновить в базе данных значение некоторых полей.
КЛАССИФИКАЦИЯ БД Признаки классификации БД: 1) По характеру хранимой информации: • фактографические (картотеки) • документальные (всевозможные архивы, графика, звук) 2) По способу хранения: • централизованные (на одном компьютере) • распределенные (в локальных и глобальных компьютерных сетях, где разные части БД хранятся на разных компьютерах) 3) По структуре организации данных: • табличные (реляционные) • иерархические • сетевые
ИЕРАРХИЧЕСКАЯ МОДЕЛЬ БД Воронеж Центральный Школа 27 Школа 11 Ленинский Школа 40 Школа 65 Иерархическая модель организует данные в виде древовидной структуры. В основании дерева находится единственный узел называемый корневым (или корнем). Все остальные узлы называются порожденными.
СЕТЕВАЯ МОДЕЛЬ БД Банк 1 Кукушкин Банк 3 Банк 2 Воробьев Скворцов Галкин Сетевая модель данных представляется в виде графов, вершинами которых являются объекты, а ребрами связи между ними. Каждый объект может иметь как неограниченное число потомков так и неограниченное количество предков.
РЕЛЯЦИОННАЯ МОДЕЛЬ БД Товары Поставщики Код поставщика Название поставщика Город Код товара Наименование товара Марка товара Цена П 1 Завод “Сапфир” Москва Т 1 Куры Бройлер 50 П 2 АО “Ключ” Москва Т 2 Колбаса Сервелат 60 П 3 АО “Слон” Курск Т 3 Конфеты Трюфели 100 П 4 ЗАО “Факел” Липецк Т 4 Шоколад Вдохновение 25 П 5 АО “Рубин” Белгород Т 5 Кофе Nestcafe 45 П 6 Мясокомбинат Лиски Т 6 Чай Липтон 40 Т 7 Конфеты Коровка 30 Т 8 Пиво Пикур 10 Т 9 Печенье Чайное 10 Т 10 Колбаса Московская 150 Реляционная модель - набор взаимосвязанных таблиц.
НОРМАЛИЗАЦИЯ ТАБЛИЦ n Суть нормализации таблиц весьма проста: каждый факт, хранимый в БД, должен храниться единственный раз, поскольку дублирование может привести (и на практике непременно приводит, как только проект приобретает реальную сложность) к несогласованности между копиями одной и той же информации. Следует избегать любых неоднозначностей, а также избыточности хранимой информации.
НОРМАЛИЗАЦИЯ ТАБЛИЦ n Итак, что же представляет собой процесс нормализации? Фактически это не что иное, как последовательное преобразование исходной БД к НФ, при этом каждая следующая НФ обязательно включает в себя предыдущую (что, собственно, и позволяет разбить процесс на этапы и производить его однократно, не возвращаясь к предыдущим этапам). Всего в реляционной теории насчитывается 6 НФ: 1. 1 -я НФ (обычно обозначается также 1 НФ). 2 НФ. 3 НФ. НФ Бойса-Кодда (НФБК). 4 НФ. 5 НФ. 2. 3. 4. 5. 6. На практике, как правило, ограничиваются 3 НФ, ее оказывается вполне достаточно для создания надежной схемы БД. НФ более высокого порядка представляют скорее академический интерес из-за чрезмерной сложности.
НОРМАЛИЗАЦИЯ ТАБЛИЦ В БД имеется таблица контрагентов, в которой хранятся следующие сведения: n n n n наименование агента; город; адрес; электронный адрес; веб-страница; вид агента (поставщик или клиент); контактные лица (может быть несколько), должность контактного лица, телефон контактного лица.
НОРМАЛИЗАЦИЯ ТАБЛИЦ Наим. Город Адрес Эл. почта WWW www. plung er. ru Вид Конт. лица Поставщик Иванов И. И. , зам. дир. , тел (3254)76 -15 -95 Петров П. П. , нач. отд. сбыта, тел (3254)76 -15 -35 Поршневой з-д Владимир Ул. 2 -я Кольцевая, 17 info@plunger. ru ООО «Вымпел» Курск Ул. Гоголя, 25 pennon@mail. ru Клиент Сидоров С. С. , директор, тел. (7634)66 -65 -38 ИЧП «Альфа» Владимир Ул. Пушкинская, 37, оф. 565 alpha 323@list. ru Клиент Васильев В. В. , директор, тел (3254)74 -57 -45 Очевидно, что в данном случае атрибут «конт-лица» не является атомарным, поскольку в нем попадаются списки из нескольких лиц. Разделим эти поля таким образом, чтобы каждое поле содержало данные только об одном лице:
НОРМАЛИЗАЦИЯ ТАБЛИЦ. 1 НФ n Каждый атрибут отношения должен хранить одно-единственное значение и не являться ни списком, ни множеством значений.
НОРМАЛИЗАЦИЯ ТАБЛИЦ. 1 НФ Наим. Город Адрес Эл. почта WWW Вид Должность Ф. И. О. Код город а Тел. Поршневой з-д Владимир Ул. 2 -я Кольцевая, 17 info@plunger. r u www. plung er. ru Поставщик зам. дир. Иванов И. И. 3254 76 -15 -95 Поршневой з-д Владимир Ул. 2 -я Кольцевая, 17 info@plunger. r u www. plung er. ru Поставщик нач. отд. сбыта Петров П. П. , 3254 76 -15 -35 ООО «Вымпел» Курск Ул. Гоголя, 25 pennon@mail. ru Клиент директор Сидоров С. С. 7634 66 -65 -38 ИЧП «Альфа» Владимир Ул. Пушкинская, 37, оф. 565 alpha 323@list. ru Клиент директор Васильев В. В. 3254 74 -57 -45 Отношение находится в 1 НФ.
НОРМАЛИЗАЦИЯ ТАБЛИЦ. 2 НФ Таблица находится во 2 НФ, если она находится в 1 НФ и каждый неключевой атрибут полностью зависит от каждого ключа. Очевидно, что телефонный код города зависит исключительно от самого города и никак не связан с названием предприятия
НОРМАЛИЗАЦИЯ ТАБЛИЦ. 2 НФ Наим. Город Адрес Эл. почта WWW Вид Должность Ф. И. О. Тел. Поршневой зд Владими р Ул. 2 -я Кольцевая, 17 info@plunger. ru www. plun ger. ru Поставщик зам. дир. Иванов И. И. 76 -15 -95 Поршневой зд Владими р Ул. 2 -я Кольцевая, 17 info@plunger. ru www. plun ger. ru Поставщик нач. отд. сбыта Петров П. П. , 76 -15 -35 ООО «Вымпел» Курск Ул. Гоголя, 25 pennon@mail. ru Клиент директор Сидоров С. С. 66 -65 -38 ИЧП «Альфа» Владими р Ул. Пушкинская, 37, оф. 565 alpha 323@lis t. ru Клиент директор Василье в В. В. 74 -57 -45 Город Код города Владимир 3254 Курск 7634 Теперь мы получили две таблицы, каждая из которых находится во 2 НФ.
НОРМАЛИЗАЦИЯ ТАБЛИЦ. 3 НФ Факты, хранимые в таблице, должны зависеть только от ключа. В нашем случае присутствует функциональная зависимость между атрибутами «Ф. И. О. » , «Должность» и «Тел» . Очевидно, что на предприятии некий человек занимает определенную должность и располагает определенным рабочим телефоном. Обратное в общем случае неверно – на предприятии может быть несколько аналогичных штатных единиц, например, менеджеры по сбыту, и несколько человек могут пользоваться одним рабочим телефоном.
НОРМАЛИЗАЦИЯ ТАБЛИЦ. 3 НФ Наим. Город Адрес Эл. почта WWW Вид Поршневой з-д Владимир Ул. 2 -я Кольцевая, 17 info@plunger. ru www. plunger. ru Поставщик ООО «Вымпел» Курск Ул. Гоголя, 25 pennon@mail. ru Клиент ИЧП «Альфа» Владимир Ул. Пушкинская, 37, оф. 565 alpha 323@list. ru Клиент Наим. Город Ф. И. О. Должность Тел. Поршневой з-д Владимир Иванов И. И. зам. дир. 76 -15 -95 Поршневой з-д Владимир Петров П. П. , нач. отд. сбыта 76 -15 -35 ООО «Вымпел» Курск Сидоров С. С. директор 66 -65 -38 ИЧП «Альфа» Владимир Васильев В. В. директор 74 -57 -45 Город Код города Владимир 3254 Курск 7634
Основные объекты СУБД Microsoft Access Таблицы – для хранения данных Запросы – для выборки данных Формы – для ввода данных и просмотра имеющихся данных Отчеты – для печати данных на принтер Макросы и Модули на Visual. Basic
ТАБЛИЦЫ. СОЗДАНИЕ ТАБЛИЦ Создание таблицы состоит в задании ее полей и назначении их свойств. Существует несколько способов создания таблиц: 1. Конструктор. В этом режиме можно самостоятельно задать имена полей, выбрать их тип и настроить свойства, определить ключевое поле. 2. Мастер таблиц. Мастер задает ряд вопросов и, руководствуясь полученными ответами, создает структуру таблицы автоматически. Несмотря на то что этот ускоряет создание структуры таблицы, начинающим пользоваться им не рекомендуется, поскольку, не владея всей терминологией, легко запутаться в вопросах и ответах. 3. Режим таблицы открывает заготовку, в которой все поля имеют формальные имена: Поле 1, Поле 2. . . и т. д. и один стандартный текстовый тип. Такую таблицу можно сразу наполнять информацией. 4. Импорт таблиц из другой базы, может быть, даже созданной в другой системе. 5. Связь с таблицами, когда речь идет о чужой таблице, которая находится на удаленном сервере и которую нельзя импортировать целиком. Это напоминает подключение к таблице для совместного использования ее данных.
СОЗДАНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ. СХЕМА ДАННЫХ n n При работе с группами взаимосвязанных таблиц нужно создать связи между таблицами: Сервис - Схема данных. Открывается окно Добавление таблицы, в котором можно выбрать нужные таблицы для включения в структуру межтабличных связей.
СОЗДАНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ. СХЕМА ДАННЫХ n n Введя в схему данных все таблицы, которые надо связать, можно приступать к созданию связей между полями таблиц. Связь между полями устанавливают путем перетаскивания имени поля из одной в таблицы в другую на соответствующее ему связанное поле.
СОЗДАНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ. СХЕМА ДАННЫХ n Далее задать свойства образующейся связи. Обеспечение условия целостности (поле основной таблицы должно обязательно быть ключевым и оба поля должны иметь одинаковый тип). 2. Каскадное обновление связанных полей и Каскадное удаление связанных записей обеспечивают одновременное обновление или удаление данных во всех подчиненных таблицах при их изменении в главной таблице. 1.
ФОРМЫ Форму можно создать тремя различными способами. 1. При помощи автоформы на основе таблицы или запроса. • Автоформа: в столбец • Автоформа: ленточная • Автоформа: табличная • Автоформа: сводная таблица • Автоформа: сводная диаграмма 2. При помощи мастера на основе одной или нескольких таблиц или запросов. Мастер задает подробные вопросы об источниках записей, полях, макете, требуемых форматах и создает форму на основании полученных ответов. 3. Вручную в режиме конструктора.
ЗАПРОСЫ Запросы используются для просмотра, изменения и анализа данных различными способами. Типы запросов Запросы на выборку Запросы с параметрами Запросы на добавление, обновление, удаление Запрос SQL — это запрос, создаваемый при помощи инструкций SQL. Язык SQL (Structured Query Language) используется при создании запросов
базы данных.ppt