ИСТ Лекция 1,2 МО Проектирование БД 2007.ppt
- Количество слайдов: 31
Тема 1 Основные понятия баз данных. Создание баз данных. Типы данных.
Понятие базы данных. База данных (БД) – средство для хранения, организации и поиска информации. В основе каждой базы данных всегда лежит набор таблиц. Моделью базы данных называется совокупность типов объектов этой базы данных. В зависимости от возможностей использования базы данных делятся на сетевые и настольные. Сетевые БД используют сеть Интернет или локальную сеть, настольные БД предназначены для офисной работы на персональных компьютерах. Мы рассмотрим базы данных на примере MS ACCESS 2007 Файл Access это не обычный файл, а набор объектов, которые должны взаимодействовать между собой и подчиняться определенным принципам разработки, иначе база данных не будет работать или будет работать плохо.
Общая характеристика MS Access • Access представляет собой интегрированную среду, то есть в его рамках можно выполнять любые действия, в том числе редактирование, подключение внешних объектов, оформление отчетов и печать. • Access это реляционная база данных. В реляционной базе данных записи, содержащиеся в различных таблицах, связаны друг с другом определенными отношениями. Это обеспечивает гибкость работы и быстродействие базы данных. • В Access можно загрузить только одну активную базу данных. • Объектами модели базы данных Access являются: таблицы, запросы, отчеты, формы, модули, макросы и страницы доступа к данным. Наличие всех этих объектов в каждой базе данных не обязательно. • Каждый объект, созданный внутри базы данных пользователем, может быть изменен или удален. • Все элементы базы данных хранятся внутри одного файла с расширением ACCDB. Для Access 2003 – тип файла MDB
Таблицы. Структура таблицы. Таблицы составляют основную часть базы данных, предназначенную для хранения информации. • Столбцы таблицы называются полями. Поля предназначены для хранения сведений определенного типа. Например, в таблице Сотрудники в поле Фамилия хранятся фамилии всех сотрудников. В поле Оклад - их зарплаты. Каждое поле обязательно должно иметь имя. • Строки таблицы называются записями. В записях хранится вся информация об отдельном элементе таблицы, например, о конкретном сотруднике.
Ячейки. Ключевые поля. • Пересечение поля и записи называется ячейкой. В ячейках таблицы может храниться только фактическая информация. Формулы в ячейках таблицы хранить нельзя. • Для того, чтобы различать записи и связывать между собой таблицы каждая таблица должна иметь специальное поле, которое называется ключевым полем. В ключевом поле задается основной (первичный) ключ записи. В качестве первичного ключа используется любая уникальная характеристика записи. Например, номер записи или уникальная последовательность цифр или символов.
Запросы это основной рабочий инструмент базы данных. Они представляют собой средства для выборки данных по заданному критерию, обновления и ведения базы данных. Самый распространенный вид запросов - запросы на выборку. Результат такого запроса имеет вид обычной таблицы. Отличие заключается в том, что таблицы запросов заполняются не вручную, а формируются в соответствии с заданными условиями отбора из данных таблиц – источников или других запросов. При обработке запроса Access просматривает источники (таблицы, запросы), в которых хранятся фактические данные, и отбирает из них все записи, которые соответствуют требованиям запроса. При этом с самими источниками ничего не происходит, в таблицу запроса передаются только копии этих записей. Сами данные запросов не хранятся, хранится только их структура. Поэтому запросы это виртуальные таблицы. В запросах, в отличие от обычных таблиц, можно производить вычисления.
Формы это самый сложный и функционально богатый объект базы данных. Формы предназначены для удобного представления информации на экране, для ввода и редактирования информации, для управления базой данных. Обычно формы имеют вид бланков с полями для ввода. Источником информации для формы могут служить таблицы и запросы. ACCESS связывает каждую форму с ее источником, что обеспечивает соответствие данных в форме и источнике.
Отчеты, модули и макросы Отчет это конечный документ, предназначенный для вывода информации на печать, проведения итоговых расчетов и удобного просмотра информации на экране. Модуль это программа на языке Visual Basic, предназначенная для расширения возможностей базы данных. Макрос это набор из одной или более команд, выполняющих определенные операции. Макросы используются для автоматизации часто выполняемых задач и позволяют заменить последовательность действий одним нажатием кнопки.
Страницы доступа к данным это средство для работы с базой данных через интернет или локальную сеть. По сути это опубликованные с помощью MS Access вебстраницы, которые могут открываться и просматриваться отдельно от самой базы данных. В отличие от других объектов, страницы доступа не хранятся в файле базы данных, а размещаются в отдельно. В файле базы данных хранятся только ссылки на них.
Разбиение информации на таблицы Количество таблиц определяется количеством объектов, информацию о которых нужно хранить в базе данных. Например, информация о клиентах, заказах, поставщиках и т. д. Каждый объект информации характеризуется атрибутами – более детальной информацией. Например, объект клиент имеет такие атрибуты как анкетные данные, адрес, место работы и должность и т. д. Атрибуты задаются полями таблицы. Формально для работы БД достаточно одной таблицы. Но работа с одной большой таблицей неудобна из-за перегруженности информацией. Реляционные БД позволяют разбить всю информацию на серию относительно небольших (по количеству полей) таблиц и связать эти таблицы между собой. Такой подход обеспечивает гибкость работы базы данных, уменьшает время поиска, просмотра и обработки данных (время отклика).
Нормализация данных Большое значение имеет правильная организация БД. Процесс создания структуры таблиц, обеспечивающих эффективную работу БД, называется нормализацией данных. Хорошо организованная база данных называется нормализованной, иначе – не нормализованной. Существуют определенные правила нормализации данных. Основные из них - избегать повтора информации и избегать избыточности данных. Чтобы обеспечить выполнение этих правил нужно придерживаться следующих принципов: • Каждая таблица должна иметь одну тему • Располагать повторяющуюся информацию нужно в отдельной таблице • Располагать информацию, которую нужно сохранить в любом случае, только в отдельной таблице
Правило нормализации № 1. Избегать повтора информации Пусть мы создаем базу данных "Фармацевтическая фирма» , в которой должна храниться информация обо всех аптеках, заказывающих продукцию, и обо всех договорах с ними. Можно хранить эту информацию в одной таблице, но это не удобно, так как приходится вводить одинаковую информацию, например, полное название заказчика, адрес и телефон в каждую запись. Это трата времени и дополнительный источник ошибки. Но самое главное заключается в неудобстве редактирования. При изменении телефона или адреса заказчика придется править всю таблицу.
Правило нормализации № 1. Избегать повтора информации Более рациональным является размещение информации в двух таблицах: Заказчики и Договора. Связывать эти таблицы будем по общему для них полю Заказчик. Замечание. Здесь мы не говорим о технологии связывания и о выборе ключевых полей.
Правило нормализации № 2. Избегать избыточности данных Рассмотрим тот же пример. Когда мы все хранили в одной таблице, информация о реквизитах заказчика была избыточной, так как для характеристики договора это не важно. В то же время она могла привести к ошибке. Если договор с аптекой 22 от 25/01/2011 был аннулирован по какой то причине, то эта запись должна быть уничтожена из таблицы, при этом уничтожится и вся информация о реквизитах аптеки. Нормализация данных позволила уничтожить запись о конкретном договоре, но сохранить всю информацию о Заказчике.
Типы ключевых полей В Access существует три типа первичных ключевых полей: счетчик, простой ключ и составной ключ. • Поле типа счетчик формирует порядковый номер записи. Это самое простое ключевое поле. Оно всегда задается Access по умолчанию. • В качестве простого первичного ключа может использоваться любое поле, имеющее уникальное значение (например, номер счета, инвентарный номер). • Составной ключ состоит из нескольких полей. Он используется тогда, когда ни одно из полей не является уникальным. Например, адрес.
Определение связей между таблицами Связи между таблицами устанавливают отношения между совпадающими значениями в ключевых полях. Их устанавливают после задания ключевых полей, но до заполнения таблиц. В ACCESS используются следующие типы связей: • Связь с отношением «один-ко-многим» . Каждой записи в таблице 1 может соответствовать несколько записей в таблице 2, а запись в таблице 2 не может иметь более одной соответствующей ей записи в таблице 1. Например, каждая женщина может иметь несколько детей, но каждый ребенок имеет только одну мать. • Связь с отношением «многие-ко-многим» . Одной записи в таблице 1 может соответствовать несколько записей в таблице 2, а одной записи в таблице 2 несколько записей в таблице 1. Такая схема реализуется только с помощью третьей (связующей) таблицы. Например, каждая фирма может производить много товаров, но и каждый товар может производиться несколькими фирмами. • Связь с отношением «один-к-одному» . В этом случае запись в таблице 1 может иметь только одну связанную с ней запись в таблице 2 и наоборот. Такую связь чаще всего используют для разделения широких таблиц.
Способы создания базы данных. В отличие от остальных пакетов MS OFFICE ACCESS при создании базы данных сразу требует задать ее имя и адрес. При дальнейшей работе с базой данных все изменения автоматически сохраняются. Существует 2 способа создать новую базу данных: в режиме конструктора и с помощью мастера баз данных. Мастер баз данных предлагает ряд шаблонов. Это очень удобно, так как базы данных в этом случае нормализованы и хорошо оформлены. С другой стороны редко удается подобрать нужный шаблон. Конструктор позволяет построить базу данных вручную по своему желанию. Этот способ более предпочтителен.
Способы создания таблиц Для создания таблицы используется вкладка Создание группа Таблицы. Создавать таблицы можно тремя способами: 1. В режиме конструктора. (Рекомендуется). • Задается имя таблицы • вводятся имена всех полей таблицы • выбирается тип данных для каждого поля • задаются свойства поля 2. Путем ввода данных (может возникнуть ошибка при определении типа данных). 3. Использовать шаблоны.
Требования к именам полей. Задание ключевого поля. • Длина имени не более 64 символов. • Нельзя начинать имя с пробела • Запрещены символы - точка, восклицательный знак, квадратные скобки. • В пределах таблицы имена полей должны быть уникальными. Поскольку каждая таблица должна содержать первичный ключ, ACCESS по умолчанию создает его под именем Код и задает тип ключевого поля Счетчик. Для создания ключевого поля другого типа (простой ключ или составной ключ) нужно сначала удалить поле типа Счетчик, а затем создать новое ключевое поле. Сделать это можно только в режиме конструктора.
Понятия типа и формата данных. В отличие от остальных пакетов MS OFFICE ACCESS предназначен для хранения и обработки больших массивов информации. Поэтому очень важным становится объем занимаемой информацией памяти и способы обработки данных. Эти характеристики зависят от типа данных. Тип данных для каждого поля выбирается в зависимости от того, какая информация будет в нем храниться Каждый тип данных имеет свои параметры форматирования (свойства поля). Свойства поля определяют способ сохранения данных, их редактирования, отображения на экране. Свойств поля очень много и задать их можно в нижней части окна конструктора таблиц.
Типы данных ACCESS В ACCESS 2007 существует 10 типов данных. Задаются они в режиме конструктора таблиц. • Текстовый. Текст, включающий буквы, цифры и символы. С числами, которые имеют тип текстовый, никаких вычислений производить нельзя. Максимальное количество символов- 255. По умолчанию – то же. Менять количество символов можно в свойстве поля Размер. • Поле Memo. Длинный текст до 65535 символов. Такие поля не индексируются. • Числовой. Используется для чисел, с которыми нужно производить вычисления. Для числовых полей важно свойство Размер поля может быть 1, 2, 4, 8 байт в зависимости от типа числа. По умолчанию устанавливается для целых чисел – 4 байта и для дробных чисел – 8 байт.
Типы данных ACCESS • Дата/время. Используется для задания даты времени. Здесь важно задать свойство Формат поля, которое определяет представление данных. Размер поля 8 байт. • Денежный. Используется для чисел с обозначением денежных единиц. Денежные суммы можно задавать с точностью не более 15 знаков до запятой и 4 знаков после запятой. Размер поля 8 байт. Вид денежной единицы задается в свойстве Формат поля. • Счетчик. Используется для первичного ключа. ACCESS автоматически нумерует записи в этом поле. Размер поля 4 байта. Поля типа счетчик не могут обновляться. • Логический. Предназначен для логических значений 1 (Да) или 0 (Нет). Используется для логических операций и управления работой базой данных. Размер поля 1 бит. Поля этого типа не могут индексироваться.
Типы данных ACCESS • Поле объекта OLE. Используется для хранения объектов из других приложений в виде рисунков. Не индексируется. Размер до 2 Гб. Требует подключения специального программного обеспечения. Удобнее применять тип данных Вложение, который позволяет более экономно расходовать память. • Гиперссылка. Используется для хранения гиперссылок на Web, локальную сеть или файлы компьютера. Размер до 1 Гб. • Вложения. Используется для хранения, просмотра и редактирования файлов любых типов. Размер до 2 ГБ. Для отдельных файлов - до 256 Мб. Изменять этот тип данных нельзя. • Мастер подстановок. Используется для создания связи типа списка между таблицами или запросами. Позволяет выбирать значение из другой таблицы или специально созданного списка. Размер поля 4 байта.
Свойства полей. Размер поля. Текстовый тип Числовой тип Размер поля. Это свойство устанавливается только для текстовых и числовых полей и характеризует максимальное количество символов для текстовых полей и отводимую память для числовых полей. Для текстовых полей нужно помнить, что один символ занимает 1 байт памяти. Для числовых полей: • Формат байт используется для хранения целых чисел от 0 до 255. Занимает 1 байт памяти. • Формат целое используется для хранения целых чисел от – 32 768 до +32 767. Занимает 2 байта памяти • Формат длинное целое используется для хранения целых чисел от – 2, 1 до 2, 1 миллиарда. Занимает 4 байта памяти.
Свойства полей. Размер поля. • Формат одинарное с плавающей точкой используется для хранения дробных чисел от – 3, 4 Е 38 до +3, 4 Е 38. Мантисса содержит 6 знаков. Занимает 4 байта памяти. • Формат двойное с плавающей точкой используется для хранения дробных чисел от -1, 8 Е 308 до +1, 8 Е 308. Мантисса содержит 10 знаков. Занимает 8 байт памяти. • Формат действительное используется для хранения чисел от – 1028 до +1028 с 28 значащими цифрами. Занимает 12 байт памяти. • Формат Код репликации используется при репликациях базы данных, то есть создании нескольких ее копий. Занимает 16 байт памяти.
Свойства полей. Формат поля. Числовой и Тип дата|время денежный типы Логический тип Для полей типа числовой, денежный, дата время и логический существует допустимый список форматов отображения данных.
Свойства полей. Число десятичных знаков. Это свойство устанавливается для полей типа числовой и денежный. Можно установить любое количество цифр после запятой (до 15 знаков). В этом случае нужно задать в свойстве Формат поля формат Фиксированный. Опция Авто задает отображение только значащих цифр после запятой. В этом случае нужно задать в свойстве Формат поля формат Обычный.
Свойства полей. Маска ввода устанавливает образец ввода данных в поле, что позволяет уменьшить вероятность ошибки ввода. Устанавливается маска с помощью мастера Создание масок ввода. На первом шаге выбирается вид маски. Кнопка Список позволяет дополнить стандартные маски пользовательским шаблоном. На втором шаге можно изменить вид заполнителя в маске.
Свойства полей. Подпись. Значение по умолчанию. Сообщение об ошибке. • Подпись. Используется, если в отчете или форме нужно указать не имя поля, а другое обозначение. • Значение по умолчанию. Данные, введенные в поле с таким свойством, будут появляться автоматически в каждой записи. Их можно потом исправлять. Этот формат используется в случае, когда в поле всегда (или почти всегда) хранится одно и то же значение. • Условие на значение. В этом свойстве задаются ограничения на значения при вводе данных. Это позволяет осуществлять контроль правильности ввода. • Сообщение об ошибке. Задается сообщение, которое будет выдано при нарушении условия на значение в указанном поле. Значение по умолчанию и условие на значение формируются с помощью Построителя выражений
Свойства полей. Обязательное. Индексированное. • Обязательное поле. Допускает 2 значения – Да и Нет. Обязательные поля должны быть заполнены данными. • Индексированное поле. Свойство Индексированное присваивается тем полям, по которым часто производится поиск или сортировка данных. Индексирование полей ускоряет эти процессы, но замедляет обновление базы данных. Возможны 2 варианта индексации: разрешить или не разрешить ввод повторяющихся значений.
Определение ключевых полей. Назначение ключевого поля производится по умолчанию или в режиме конструктора. По умолчанию устанавливается только поле типа счетчик. Для изменения ключевого поля в режиме конструктора нужно: • Удалить поле типа счетчик, выделив его щелчком по маркеру слева от имени поля, и щелкнуть по кнопке Удалить строки. • Выделить новое ключевое поле. • Щелкнуть по кнопке Ключевое поле. Слева от имени поля появится символ ключа.
ИСТ Лекция 1,2 МО Проектирование БД 2007.ppt