Sozdanie_BD.pptx
- Количество слайдов: 36
Основные понятия теории баз данных База данных (БД) хранилище данных предназначенных для коллективного (корпоративного), многократного и многоцелевого использования, которые удовлетворяют ряду требований. Данное хранилище имеет единую организацию и единое управление информационная модель это динамически обновляемая информационная модель предметной области (ПО), где под ПО понимается часть реального мира. Объектом моделирования являются информационные процессы, протекающие в ПО. 1/34
Основные понятия теории баз данных Классификация СУБД по используемой модели данных по характеру использования СУБД реляционные персональные (однопользовательские) иерархические многопользовательские (сетевые). сетевые объектно-ориентированные 2/34
Основные понятия теории баз данных Единицей хранящейся в БД информации является таблица. Столбцы соответствуют атрибутам (признакам, характеристикам) объекта. Cтроки соответствуют экземпляру объекта из ПО (событию или явлению). Каждая строка содержит сведения о конкретном событии — заказе покупателя. Дата Продукция Покупатель 10. 09. 06 Макароны Антонов, ИП Количество единиц 100 10. 09. 06 Хлеб пшеничный Дрожжи Светоч, ООО 400 Геракл, ОАО 200 Хлеб пшеничный Хлеб ржаной Антонов, ИП 300 Светоч, ООО 200 11. 09. 06 12. 09. 06 15. 09. 06 Таблица Заказы продукции 3/34
Основные понятия теории баз данных Таблица Заказы продукции Дата Продукция Покупатель 10. 09. 06 Макароны Антонов, ИП Количество единиц 100 10. 09. 06 Хлеб пшеничный Дрожжи Светоч, ООО 400 Геракл, ОАО 200 Хлеб пшеничный Хлеб ржаной Антонов, ИП 300 Светоч, ООО 200 11. 09. 06 12. 09. 06 15. 09. 06 от англ. relation — связь, отношение Покупатель Антонов, ИП Геракл, ОАО Светоч, ООО Базы данных, между отдельными таблицами которых существуют связи, называются реляционными. Таблица Покупатель Адрес 660010, Красноярск, ул. Мира, 11 661008, Дивногорск, ул. Строителей, 5 660047, Красноярск, ул. Ак. Киренского, 28 Телефон 21 -47 -89 14 -23 46 -18 -53 4/34
Типы данных Данные, хранимые в памяти компьютера и подвергаемые обработке, можно отнести к разным типам. На сегодняшний день существует пять основных общих типов, внутри которых могут быть подтипы: 1. строковый (текстовый или символьный); 2. числовой: • точные числовые типы; • приблизительные числовые типы (числа с плавающей точкой); 3. логический (булевский — boolean); 4. даты-времени; 5. интервальный. 5/34
Типы данных в Microsoft Access 2007 1. текстовый (минимальное количество символов — 1, максимальное — 255); 2. числовой: qточные числовые типы: Øбайт (Byte) — от 0 до 255; Øцелое (Integer) — от -32768 до 32767; Øдлинное целое (Long Integer) — от – 2 147 483 648 до 2 147 483 647; Øкод репликации — 16 -ти байтовое поле; qприблизительные числовые типы (числа с плавающей точкой): ØОдинарное с плавающей точкой (Single) — от -3. 402823* до 3. 402823* , длина дробной части — 7; ØДвойное с плавающей точкой (Double) — от – 1. 79769313486231 * до 1. 79769313486231 * , длина дробной части — 15; ØДействительное (Decimal) — -10 -28 -1 до 1028 -1, длина дробной части — 28; 6/34
Типы данных в Microsoft Access 2007 3. логический (формат значений: ИСТИНА или ЛОЖЬ, TRUE или FALSE, ДА или НЕТ); 4. даты-времени: ØПолный формат даты (15. 01. 2006 17: 23: 40); ØДлинный формат даты (15 Январь 2006 г. ); ØСредний формат даты (15 -Январь-2006); ØКраткий формат даты (15. 01. 2006); ØДлинный формат времени (17: 23: 40) ØСредний формат времени (5: 23 pm) ØКраткий формат времени (17: 23) 5. поле МЕМО (длинное текстовое поле, содержащее текст и цифры, максимальная длина 65535 символов); 7/34
Типы данных в Microsoft Access 2007 6. денежный (вещественное число с разделителем) для полей, связанных с денежными величинами: Ø Основной (234, 56); Ø Денежный (234, 56 р. ); Ø Евро (234, 56€); Ø Фиксированный (234, 56); Ø С разделителями разрядов (25 234, 56); Ø Процентный (89%); Ø Экспоненциальный (3, 46 e+3); 7. счетчик (автоматически генерируемое поле для подсчета количества записей) Ø длинное целое; Ø код репликации: 8. поле объекта OLE (подключает объекты двоичного типа: таблицы Excel, графика, звуки и другое); 9. Гиперссылка. 8/34
Создание базы данных в Microsoft Access 2007 Создание таблицы в режиме конструктора с помощью мастера путем ввода данных Режим конструктора таблиц позволяет определить структуру новой таблицы или изменить структуру уже существующей таблицы. Под структурой таблицы понимается количество полей, их имена, типы данных, размер и другие параметры. 9/34
Создание базы данных в Microsoft Access 2007 Создание таблицы в режиме конструктора с помощью мастера путем ввода данных Создание таблицы с помощью мастера таблиц является достаточно быстрым и удобным. Но данный способ создания таблиц имеет следующие недостатки: Øпри выборе полей из образцов невозможно узнать их тип данных и формат (длину поля и т. д. ); Øс помощью мастера нельзя изменить или расширить созданную таблицу. Если в дальнейшем потребуется изменить или расширить созданную с помощью мастера таблицу, это можно сделать только в режиме конструктора. 10/34
Создание базы данных в Microsoft Access 2007 Создание таблицы в режиме конструктора с помощью мастера путем ввода данных При сохранении таблицы Microsoft Access проанализирует данные и автоматически присвоит каждому полю соответствующий тип данных и формат. 11/34
Сортировка и фильтрация данных таблицы Фильтр в базах данных — это некоторое логическое условие или выражение. Применение фильтра позволяет выбрать записи таблицы, для которых данное условие выполняется. Способы задания фильтров Фильтр по выделенному Расширенный фильтр (вызывает построитель запросов ) 12/34
Индексы представляют собой механизмы быстрого доступа к хранящимся в таблицах данным. Типы индексов Простые Составные (основаны на одном поле) (на двух и более полях) Поля, по которым строится индекс, называют индексными полями таблицы. 13/34
Индексы При создании индекса производится сортировка записей по значениям индексных полей значения сохраняются в отдельном файле, называемом индексным файлом 14/34
Индексы Порядковый Номер Наименование Единицы Срок № записи продукта измерения годности а 1 2 3 4 5 6 101 102 201 202 301 302 Хлеб пшеничный Хлеб ржаной Печенье Курабье Плюшка Московская Дрожжи Макароны Требуется отсортировать записи по наименованию продукта и вывести их в этом виде. Тогда при каждом выводе будет осуществляться последовательный просмотр записей, сравнение значений полей, нахождение минимального значения и сравнение его с уже отобранными записями. шт шт кг кг 1. 02. 06 15. 02. 06 8. 02. 06 1. 12. 06 1. 02. 07 При использовании индексов сортировка будет произведена только один раз — будет создан индексный файл. Индекс по наименованию продукта Наименование продукта № записи Дрожжи 5 Макароны 6 Печенье Курабье 3 Плюшка Московская 4 Хлеб пшеничный 1 Хлеб ржаной 2 15/34
Индексы СУБД Access хранит индексы, как и все объекты базы данных, в едином файле. Кроме того, для каждого значения индекса в индексном файле содержится уникальная ссылка, указывающая местонахождение в таблице записи, соответствующей индексу (номер записи в таблице). Поэтому при поиске записи осуществляется не последовательный просмотр всей таблицы, а прямой доступ к записи на основании упорядоченных значений индекса. Это значительно ускоряет поиск нужных значений. 16/34
Индексы и ключи Важной особенностью индексов является возможность использовать индексы для создания ключевых полей или ключей. Ключ Первичный Альтернативный Вторичный индекс (простой или составной), который однозначным образом идентифицирует каждую запись таблицы. 17/34
Индексы и ключи Важной особенностью индексов является возможность использовать индексы для создания ключевых полей или ключей. Ключ Первичный Альтернативный Вторичный индекс, который обладает всеми качествами первичного ключа и не является им только по той причине, что таблица не может содержать более одного первичного ключа. Альтернативный ключ в таблице также должен быть один. 18/34
Индексы и ключи Важной особенностью индексов является возможность использовать индексы для создания ключевых полей или ключей. Ключ Первичный Альтернативный Вторичный обычный индекс, который используется при поиске или сортировке данных. 19/34
Индексы и ключи Свойства первичного ключа. q. Значение первичного ключа в таблице должно быть уникальным, т. е. в таблице не должно существовать двух или более записей с одинаковым значением первичного ключа. q. Поля, входящие в первичный ключ, не должны иметь пустых значений. Зная только значение первичного ключа, можно обращаться к записи и получать всю информацию. q. Первичный ключ используется для установления связи между таблицами и определения условий целостности данных. q. Каждая таблица может иметь только один первичный ключ. q. Первичный ключ содержит т. н. родительская таблица, к которой подключается другая, ссылающаяся на данные из родительской таблицы. 20/34
Индексы и ключи Свойства вторичного ключа. qобычный индекс, который используется при поиске или сортировке данных. q. Индексные поля вторичного ключа могут содержать повторяющиеся или пустые значения. q. Другое назначение вторичного ключа — реализация связи с другой таблицей (родительской), содержащей главные данные и имеющей первичный ключ. Поэтому по своему составу вторичный ключ должен совпадать с первичным ключом родительской таблицы. 21/34
Отношения между таблицами Между отдельными таблицами базы могут существовать связи (отношения), когда информация из одной таблицы используется в другой. При определении отношений одна из таблиц является родительской, а другая – дочерней. (Иногда родительскую таблицу называют главной, а дочернюю — подчиненной). Родительская таблица содержит основную информацию, а дочерняя ссылается на нее. Для родительской таблицы должен быть определен первичный ключ, а для дочерней – вторичный ключ для связи с родительской таблицей. (Иногда подобный вторичный ключ, используемый для связи с родительской таблицей, называют внешним ключом. ) Если таблица уже является родительской и содержит первичный ключ для связи с дочерней, то для связи со второй дочерней таблицей создается альтернативный ключ. 22/34
Отношения между таблицами 1. Один-к-одному. Каждой записи родительской таблицы соответствует только одна запись в дочерней таблице № ФИО Должность Отде л № Год рождения Кол-во детей … инженер 10 1 1955 3 … 1 Иванов И. И. 2 Васильева В. Е. бухгалтер 3 2 1963 2 … 3 Антонов С. А. рабочий 1 3 1978 1 … … … … … Данное отношение используют для того, чтобы основная таблица БД не была загружена второстепенной информацией (редко используемой). По степени встречаемости этот вид отношения занимает второе место. 23/34
Отношения между таблицами 2. Один-ко-многим. Каждой записи родительской таблицы ставится в соответствие несколько записей дочерней таблицы. Таблица Продукция Номер Наименование продукта 101 102 201 202 301 302 Хлеб пшеничный Хлеб ржаной Печенье Курабье Плюшка Московская Дрожжи Макароны Единицы измерени я шт шт кг кг Срок годност и 1. 02. 06 15. 02. 06 8. 02. 06 кг кг 1. 12. 06 1. 02. 07 Таблица Заказы Номер продукт а 101 102 202 101 … Номер заказа 1001 1002 1003 1004 1005 … Дата заказа 30. 01. 2006 31. 01. 2006 … Количе ство 200 300 100 50 200 … Номер покупа теля 2 2 4 4 3 … 24/34
Отношения между таблицами 2. Один-ко-многим. Каждой записи родительской таблицы ставится в соответствие несколько записей дочерней таблицы. Различают две разновидности этой связи: 1. в первом случае выдвигается жесткое требование, согласно которому любой записи из родительской таблицы должны соответствовать записи в дочерней таблице; 2. во втором случае подразумевается, что некоторые записи из родительской таблицы могут не иметь связанных с ними записей в дочерней таблице. Связь один-ко-многим является самой распространенной для реляционных баз данных. 25/34
Отношения между таблицами 3. Многие-к-одному. Нескольким записям родительской таблицы ставится в соответствие одна запись дочерней таблицы. Таблица Игроки № ФИО 101 102 103 104 … Петров С. В. Лазарев В. Е. Тромбин Ю. А. Иванов И. И. … Год рождения 1980 1978 1982 1974 … Таблица Команда … № Название Тренер … … … 1 2 3 Зенит Спартак ЦСКА Адвокат Д. Черчесов В. А. Газзаев В. Г. … … … … Связь многие-к-одному встречается довольно редко. 26/34
Отношения между таблицами 4. Многие-ко-многим. Возникает между двумя таблицами в тех случаях, когда ØОдна запись из первой таблицы может быть связана более чем с одной записью из второй таблицы; ØОдна запись из второй таблицы может быть связана более чем с одной записью из первой таблицы. Таблица Учебные группы и дисциплины Группа М 11 М 15 М 33 Предмет Математический анализ Программировани е Теория функций Таблица Преподаватели № преподавателя 10 № ФИО преподавателя 10 Иванов А. В. Кафедра 12 12 Краснов Ю. С. ПМ 62 62 Володин С. В. ИВТ 78 78 Петров К. Л. 62 85 Грибова Е. А. ТФ МАДУ ИВТ 27/34
Отношения между таблицами 4. Многие-ко-многим. Некоторые СУБД не поддерживают связь многие-ко-многим на уровне индексов и ссылочной целостности, хотя и позволяют реализовывать ее неявным образом. Считается, что БД можно перестроить так, что любую связь многие-ко-многим можно заменить на несколько связей один-ко-многим. 28/34
Порядок создания первичного ключа 1. Откроем первую таблицу в режиме конструктора. 2. Для этого нужно в списке полей выбрать требуемое поле и нажать команду Ключевое поле панели инструментов. 3. На панели Свойства поля в свойстве Индексированное поле появится значение “Да (Совпадения не допускаются)”. Это свойство показывает, что построен индекс, и гарантирует нам уникальность значений (запрет на ввод повторяющихся и пустых значений). Для обычного вторичного поля это свойство принимает значение “Да (Совпадения допускаются)”. 29/34
Порядок создания первичного ключа Окно индексов. q. В данном окне перечисляются все индексы, созданные в таблице, и их параметры. q. Для каждого индекса указывается имя, поле, по которому оно строится, и порядок сортировки. q. По умолчанию значения сортируются по возрастанию, можно установить ─ по убыванию (сменив направленность в соответствующем столбце). q Для каждого индекса приведены три свойства: ØКлючевое поле. Свойство Ключевое поле показывает, что является ли индекс первичным ключом. ØУникальный индекс. В свойстве Уникальный индекс отображается уникальность или возможность совпадений значений индекса. ØПропуск пустых полей позволяет не учитывать записи, имеющие пустые значения. q. В качестве имени первичного ключа используется зарезервированное выражение Primary. Key (первичный ключ). 30/34
Порядок создания вторичного ключа Простой вторичный ключ (из одного поля) можно создавать двумя способами: 1. Непосредственно в конструкторе выбрать поле, по которому нужно создать вторичный ключ, и в его свойстве Индексированное поле выбрать значение “Да (Совпадения допускаются)”. После этого появится индекс с тем же именем, что и выбранное поле (это можно увидеть в окне индексов); 2. Вызвать окно индексов. В нем в новой строке ввести произвольное имя (можно и совпадающее с именем поля), затем в столбце Имя поля нажатием кнопки раскрытия списка вызвать список полей таблицы, и выбрать индексируемое поле. В качестве порядка сортировки по умолчанию будет установлена сортировка по возрастанию (можно сменить порядок сортировки на убывание). 31/34
Порядок создания составного ключа Составные ключи (первичные или вторичные) можно создавать только в окне индексов. 1. В новой строке в столбце Индекс вводится имя индекса (произвольное или имя одного из индексируемых полей). 2. В поле Имя поля необходимо нажать кнопку раскрытия списка и выбрать первое поле, для которого необходимо создать индекс. 3. В следующей строке столбца Имя поля указывается второе индексируемое поле. Для данной строки поле Индекс нужно оставить пустым. 4. Эти действия следует повторить для всех полей, которые необходимо включить в составной индекс. В Access разрешается включать в составной индекс до 10 полей. 32/34
Установление связей между двумя таблицами 1. Выберите поле в родительской таблице и, не отпуская клавиши мыши, соедините его с соответствующем полем в дочерней таблице. Как правило, выбирается первичный ключ — для родительской таблицы, и вторичный — для дочерней. 2. Откроется диалоговое окно Изменение связей. В нем отображаются имена таблиц и соединяемых полей (обязательно проверьте правильность имен полей — при необходимости их можно изменить). Если необходимо, установите параметры связи или параметры объединения записей. Они вызываются кнопкой Объединение и используются для создания запросов. Также в окне Изменение связей можно задать условия целостности данных. 3. Для создания связи нажмите кнопку Создать. Access автоматически определяет тип создаваемой связи по виду соединяемых ключей. Он отображается в нижней части окна. В случае несовпадения типа связи со спроектированным типом необходимо изменить вид ключа в конструкторе таблиц. 33/34
Объединении записей таблиц и целостности данных В Access предусмотрены три вида объединения записей: 1. объединение тех записей, значения ключей в которых равны (соответствует типу соединения таблиц INNER JOIN). Записи из родительской таблицы будут выведены в запросе, если для них найдутся связанные с ними записи в дочерней; 2. будут выведены все записи из родительской таблицы по очереди со всеми записями дочерней (соответствует типу соединения таблиц LEFT JOIN); 3. обратный ко второму (соответствует типу соединения таблиц RIGHT JOIN). 34/34
Объединении записей таблиц и целостности данных Под целостностью данных обычно понимают правила, обеспечивающие поддержание установленных межтабличных связей при вводе, изменении или удалении записей. Совокупность связей между отдельными таблицами БД называется ссылочной целостностью. Нарушение ссылочной целостности БД обычно вызывается двумя видами изменений в таблицах: qизменение значения поля в родительской таблице без изменения значений полей связи в соответствующих записях дочерней таблицы; qпоявление записи в дочерней со значением поля, отсутствующим в родительской таблице (в результате удаления записи из родительской таблицы или изменения в дочерней). 35/34
Объединении записей таблиц и целостности данных Для предотвращения потери ссылочной целостности в СУБД используется механизм каскадных изменений, который состоит из следующих действий: qпри изменении поля связи в записи родительской таблицы синхронно изменяются значения полей в соответствующих записях дочерней таблицы; qпри удалении записи в родительской таблице удаляются соответствующие записи в дочерней таблице. Оба эти действия можно установить в диалоговом окне Изменение связей. (Рекомендуется их использовать всегда). При установлении флага рядом с полем Обеспечение целостности данных, можно затем выбрать один или оба из описанных двух каскадных механизмов. Необходимо использовать оба. 36/34
Sozdanie_BD.pptx