лекция9_базы данных1.ppt
- Количество слайдов: 36
Базы данных (БД) и системы управления БД
Базы данных и системы управления базами данных База данных (БД) – поименованная совокупность сведений о конкретных объектах предметной области, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данными. База данных – совокупность массивов данных сложной структуры. Предметная область - часть реального мира, представляющая интерес для конкретного исследования.
Требования к БД: • Модельность – БД должна моделировать некоторую часть объектов реального мира; • Актуальность – отражает текущее состояние объектов реального мира и динамически обновляется; • Непротиворечивость – данные в БД не должны противоречить другу и выбранной модели предметной области; • Целостность – БД должна по возможности наиболее полно моделировать объекты реального мира в рамках выбранной предметной области; • Надежность - данные защищены от потери либо искажения.
Системы управления базами данных (СУБД) – пакет программ, обеспечивающих создание БД и организацию данных. Основные функции СУБД 1. Описание структуры данных; 2. Ввод данных 3. Обработка данных: l l l 4. 5. Редактирование (Добавление, Удаление, Обновление) Поиск и выборка Вычисления Вывод данных Управление данными: • • • Защита от несанкционированного доступа. Поддержка многопользовательского режима. Обеспечение целостности и согласованности данных.
БАЗЫ ДАННЫХ БД Обработка данных Ввод данных Редактирование Поиск Вывод информации Данные из внешней среды Хранение данных Вычисление Информация для использования
КЛАССИФИКАЦИЯ БД 1. По технологии обработки данных: А) Централизованные; Б) Распределенные; Централизованная база данных хранится в памяти одной вычислительной машины Распределенная база данных состоит из нескольких частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД). 2. По способу доступа: А) с локальным доступом; Б) с удаленным (сетевым) доступом; Системы централизованных баз данных с сетевым доступом могут быть реализованы с использованием следующих архитектур: файл-сервер и клиент-сервер
АРХИТЕКТУРА ФАЙЛ - СЕРВЕР Хранение данных Файл – сервер П е р е д а ч а ф а й л о в БД д л я о б р а б о т к и Раб. Станция № 1 Обработка данных Раб. Станция № 2 Раб. Станция № 3 Информация для использования
АРХИТЕКТУРА КЛИЕНТ - СЕРВЕР Хранение данных Обработка данных Сервер базы данных Информация для использования Раб. Станция № 1 Раб. Станция № 2 Раб. Станция № 3
КЛАССИФИКАЦИЯ БД 3. По используемой модели данных: Модель данных – это правила, которые определяют структуру данных и доступные операции над данными. А) иерархические; Б) сетевые; В) реляционные Г) объектно-ориентированные
Классификация СУБД по модели данных Иерархические Реляционные Организация данных в виде двухмерных таблиц Сетевые Объектно-ориентированные
Иерархическая модель данных Иерархическая структура представляет совокупность элементов, связанных между собой по правилам иерархических отношений. Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево). Уровень 1 А Уровень 2 В 1 … В 2 … В 3 Уровень 3 С 1 С 2 . . С 3 С 4. . С 5 С 6 С 7 . . С 8 К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь.
ИЕРАРХИЧЕСКАЯ СТРУКТУРА ДАННЫХ Уровень 1 Главная вершина (корень) ВУЗ Юридический Информационных технологий Экономический факультеты Уровень 2 специальности Уровень 3 Фин Этр Мэк Эуп курсы Уровень 4 1 2 3 5 4 группы Уровень 5 Андреев Борисов Григорьева
Сетевая структура (модель данных) имеет те же составляющие, что и иерархическая (уровень, узел, связь), но каждый узел может быть связан с любым другим узлом (представлена в виде диаграммы связей). А B D C E F
Пример сетевой структуры БД Студент (номер зачетной книжки, фамилия, имя, отчество) Д 11222 Иванов И. И. Д 22111 Петров П. П. Д 33222 Сидоров С. С. Работа (шифр, руководитель) 1006 Орлов Н. А. 1007 Соколов П. Е. 1008 Грачев К. П. 1009 Галкин А. В. Примером сложной сетевой структуры может служить структура базы данных, содержащей сведения о студентах, участвующих в научноисследовательских работах (НИР). Возможно участие одного студента в нескольких НИР, а также нескольких студентов в разработке одной НИР.
РЕЛЯЦИОННАЯ СТРУКТУРА ДАННЫХ Отношение (relation) Поля, домены Ключевое поле Запись, кортеж
РЕЛЯЦИОННАЯ МОДЕЛЬ, ОПРЕДЕЛЕНИЯ Реляционная база данных – связанная информация, представленная в виде двумерных таблиц. Сущность – это любой различимый, отличный от других, реальный или воображаемый, объект, информация о котором будет храниться в базе данных. Отношение – сгруппированные в двумерную таблицу логически связанные данные, описывающие сущность (информационный объект). Атрибут – характеристика, определяющая свойства данного класса объектов и позволяющая однозначно идентифицировать объект и отличить его от других. Домен (Поле) – это диапазон значений, которые может принимать атрибут. Домен может быть задан перечислением возможных значений либо в абстрактном виде. Кортеж (Запись) – одна из реализаций информационного объекта, т. е данные, расположенные в одной из строк таблицы. Ключевое поле - это тот атрибут информационного объекта, значение которого однозначно определяет соответствующую запись.
Реляционная модель данных. Основные понятия Сущность Таблица. Атрибуты сущности Заголовки столбцов (полей). Значения атрибутов для различных экземпляров объектов Строки таблицы (записи). Клиенты Номер Фамилия Имя Отчество Страна 1 Иванович Россия 2 Петрович Украина 3 Сидорович Россия
Свойства отношений • • • Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами: каждый ее столбец имеет уникальное имя; все столбцы в таблице однородны, т. е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т. д. ) и для них выделяется одинаковый объем в памяти ЭВМ; один элемент данных занимает одну ячейку таблицы; одинаковые строки в таблице отсутствуют; порядок следования строк и столбцов может быть произвольным.
Идентификация строк Первичный ключ (PRIMARY KEY) - уникальный идентификатор записей таблицы. – Один или несколько столбцов, используемые для идентификации каждой строки и обеспечивающие различимость строк. – Однозначно определяет значения остальных атрибутов отношения, не входящих в состав первичного ключа. – Содержит минимально необходимое для идентификации записи множество атрибутов. – В качестве первичного ключа рекомендуется выбирать поля типа «длинное целое» . – Если первичный ключ подобрать сложно, рекомендуется создавать искусственный идентификатор в виде поля «длинное целое» и заполнять его уникальными значениями, кодирующими записи исходной таблицы.
Связывание таблиц Внешний ключ (FOREIGN KEY ) – поле таблицы, предназначенное для хранения значения первичного ключа другой таблицы с целью организации связи между этими таблицами. – Значения атрибутов, входящих в исходную и связанную таблицы, должны совпадать для связанных записей. – Наименования связанных полей совпадать не обязаны. FOREIGN KEY PRIMARY KEY Сделки Клиенты Код сделки Код клиента Дата Сумма 1 3 01. 12. 08 2 1 02. 12. 08 Код клиента Наименование Адрес 1000 1 Клиент1 Адрес1 2000 2 Клиент2 Адрес2
Типы связей Один - к – одному (1: 1) Экземпляры 1 -ой сущности Экземпляры 2 -ой сущности Один - ко – многим (1: n) Экземпляры 1 -ой сущности Экземпляры 2 -ой сущности Многие - ко – многим (n: n) Экземпляры 1 ой сущности Экземпляры 2 ой сущности
Связи между информационными объектами (сущностями) или межтабличные связи бывают трех типов: 1. 1: 1 (Один-к-одному), если одному экземпляру 1 -го информационного объекта соответствует один экземпляр 2 -го информационного объекта. 2. 1: М (Один-ко-многим), если одному экземпляру 1 -го объекта соответствует множество экземпляров 2 -го, а каждому экземпляру 2 -го объекта соответствует один экземпляр1 -го. 3. М: М (Многие-ко-многим), если каждому экземпляру 1 -го объекта соответствует множество экземпляров 2 го объекта, а каждому экземпляру 2 -го объекта соответствует множество экземпляров 1 -го объекта.
Примеры связей между информационными объектами Каждый студент имеет определенный набор экзаменационных оценок в сессию Установленный размер стипендии по результатам сдачи сессии может неоднократно повторяться для различных студентов Один студент обучается у многих преподавателей, а один преподаватель обучает многих студентов
Проектирование реляционных баз данных • В теории реляционных баз разработан метод нормализации отношений, который помогает разработчику оптимальным образом спроектировать структуру отношений базы данных. • Нормализация отношений - пошаговый процесс разложения (декомпозиции) исходных отношений БД на более простые. Каждая ступень этого процесса приводит схему отношений БД в последовательные "нормальные формы". Каждая следующая нормальная форма обладает «лучшими» свойствами, чем предыдущая.
Нормализация БД Нормализация – процесс удаления избыточных данных из таблицы путем декомпозиции отношений, т. е. разбиения исходного отношения на множество более простых отношений. Результаты нормализации: – – – Устранение (сокращение) дублирования данных. Поддержка непротиворечивости информации. Уменьшение пустых значений. Уменьшение объема таблиц БД. Повышение скорости выполнения различных операций с данными. В теории реляционных баз данных принято выделять следующую последовательность нормальных форм: первая (1 NF); вторая (2 NF); третья (3 NF); нормальная форма Бойса-Кодда (BCNF); четвертая (4 NF); пятая (5 NF).
Нормальные формы • Отношение находится в первой нормальной форме (1 NF), если значения атрибутов атомарны, то есть в каждом столбце находится только одно значение. • Отношение находится во второй нормальной форме (2 NF), если выполняются ограничения первой нормальной (1 NF) формы и каждый неключевой атрибут функционально полно зависит от первичного ключа (первичный ключ может быть составным). • Отношение находится в третьей нормальной форме (3 NF), если выполняются ограничения второй нормальной формы (2 NF) и если все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа.
Пример проектирования реляционной базы данных Пусть небольшой фирме, продающей комплектующие для компьютеров, требуется сохранять данные о заказах. Эти данные включают: 1) дату заказа; 2) номер заказа; 3) артикул (уникальный номер единицы товара); 4) наименование товара; 5) цену заказанного товара.
ПЕРВАЯ НОРМАЛЬНАЯ ФОРМА ОТНОШЕНИЯ «ЗАКАЗЫ» Отношение находится в 1 NF, так как все ее атрибуты атомарны.
ВТОРАЯ НОРМАЛЬНАЯ ФОРМА ОТНОШЕНИЯ «ЗАКАЗЫ» Для того чтобы выполнить требования второй нормальной формы, надо добавить к таблице атрибут, который однозначно бы идентифицировал каждую единицу товара, входящую в заказ. Это атрибут – Учетный №. В этой таблице все атрибуты зависят от атрибута Учетный №, но есть зависимость Наименования и Цены от Артикула. Требование (3 NF) независимости атрибутов отношения не выполняются.
ТРЕТЬЯ НОРМАЛЬНАЯ ФОРМА ОТНОШЕНИЯ «ЗАКАЗЫ» КОМПЛЕКТУЮЩИЕ ПРОДАЖИ ЦЕНЫ Для приведения отношения в третью нормальную форму предыдущую таблицу требуется разбить на три отношения: ПРОДАЖИ, КОМПЛЕКТУЮЩИЕ, ЦЕНЫ.
ИНФОЛОГИЧЕСКАЯ МОДЕЛЬ БД «ЗАКАЗЫ» Инфологическая модель предметной области представляет собой ее (области) отображение в виде совокупности информационных объектов и структурных связей.
ОСНОВНЫЕ ЭТАПЫ РАБОТЫ С БД Разработка инфологической модели Определение таблиц, включаемых в БД; Определение полей всех таблиц; Определение полей с уникальными значениями (ключевых полей); Определение связей между таблицами. Создание базы данных создание структуры таблиц базы данных; ввод и редактирование данных в таблицах Эксплуатация БД обработка данных, содержащихся в таблицах; вывод информации из базы данных.
Проектирование реляционной базы данных Фрагмент анкеты
Пример записи результатов опроса в БД
Кодирование ответов на вопрос Содержание ответа Код ответа Полностью 1 Не в полной мере 2 Нет 3 Затрудняюсь с ответом 4
Инфологическая схема реляционной базы данных «Опрос выпускников»
лекция9_базы данных1.ppt