|
Базы данных: системы управления базами данных ⇐ ПредыдущаяСтр 5 из 5 Хранение информации – одна из важнейших функций компьютера. Одним из распространенных средств такого хранения являются базы данных. База данных (БД) – совокупность взаимосвязанных, хранящихся вместе данных при наличии такой минимальной избыточности, которая допускает их использование оптимальным образом для одного или нескольких приложений. Создание базы данных, ее поддержка и обеспечение доступа пользователей к ней осуществляется централизованно с помощью специального программного инструментария – системы управления базами данных. Система управления базами данных (СУБД) – это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации. Основные функции СУБД: · управление данными во внешней памяти; · управление буферами оперативной памяти; · управление транзакциями; · журнализация и восстановление БД после сбоев; · поддержание языков БД. Логически в современной реляционной СУБД можно выделить · ядро СУБД (т.н. Data Base Engine); его основными логическими компонентами являются: менеджер данных, менеджер буферов, менеджер транзакций и менеджер журнала; · компилятор языка БД (обычно SQL); · подсистему поддержки времени выполнения; · набор утилит. DDL (Язык Определения Данных) – Язык Описания Схемы, состоит из команд, которые создают объекты (таблицы, индексы, и так далее) в базе данных. DML (Язык Манипулирования Данными) – это набор команд, которые определяют, какие значения представлены в таблицах в любой момент времени. DCD (Язык Управления Данными) состоит из средств, которые определяют, разрешить ли пользователю выполнять определенные действия или нет. DCL(Язык Разделения прав доступа) DQL (Язык Извлечения данных из таблицы) CCL (Язык Управления курсором) TRL(Язык Управления транзакциями) Концептуальная модель БД описывает сущности, их свойства и связи между ними; не зависит от конкретной СУБД. Сущность (entity)– это реальный или представляемый тип объекта, информация о котором должна сохраняться и быть доступна. В диаграммах сущность представляется в виде прямоугольника, содержащего имя сущности. При этом имя сущности – это имя типа, а не некоторого конкретного экземпляра этого типа. Примеры сущностей:
Каждый экземпляр сущности (объект) должен быть отличим от любого другого экземпляра той же сущности. Пример экземпляров сущности ФАКУЛЬТЕТ: ПС, ФМ, АТ и т.п., сущности СТУДЕНТ: Иванов А.П., Петрова Н.Н. и т.п. Связь (relationship) – это графически изображаемая ассоциация, устанавливаемая между двумя сущностями. Связь может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь). Возможны связи на основе отношений один-к-одному, один-ко-многим, многие-ко-многим. Связь «содержит»: ГРУППА содержит много СТУДЕНТОВ. Каждый СТУДЕНТ входит только в одну ГРУППУ.
Связь «укушен»: СОБАКА может укусить много ЧЕЛОВЕК, ЧЕЛОВЕК может быть укушен многими СОБАКАМИ. Связь «владеет»: ЧЕЛОВЕК может владеть многими СОБАКАМИ. У СОБАКИ может быть только один хозяин. Сущности имеют свойства, которые называются атрибутами (attribute). Например, атрибуты сущности ФАКУЛЬТЕТ: название, год создания; сущности ГРУППА: номер; сущности СТУДЕНТ: фамилия, имя, отчество, номер студенческого билета, номер паспорта, год рождения, месяц рождения, день рождения. Любой атрибут принимает значения из некоторого множества допустимых значений, называемого доменом атрибута. Например, домен атрибута «год создания»: целые положительные числа; домен атрибута «имя»: строка, не содержащая пробелов; домен атрибута «год рождения»: целые положительные числа. домен атрибута «месяц рождения»: январь, февраль, март … декабрь. домен атрибута «день рождения»: целые числа от 1 до 31. Ключ сущности ( entity key), первичный ключ это атрибут (или множество атрибутов) уникальным образом идентифицирующих экземпляр сущности (объект). Например, ключ сущности СТУДЕНТ – номер студенческого билета, ключ ФАКУЛЬТЕТА – название. Если ключ состоит из одного атрибута, его называют простым ключом. Если ключ сущности состоит из нескольких атрибутов, его называют составным ключом. Например, для сущности ДОМ с атрибутами «улица», «этажность», «год постройки», «номер дома», первичным ключом будет «улица»+ «номер дома» Наибольшее распространение имеет БД, основанная на реляционной модели данных. Общая структура данных представляется в виде двумерной таблицы, в которой каждая строка соответствует записи, а заголовки столбцов являются названиями полей в записях. Отношение – это плоская таблица, содержащая N столбцов, среди которых нет одинаковых. N – это степень отношения, или арность отношения. Столбец отношения соответствует атрибуту сущности. Кортеж – строка отношения (соответствует записи в таблице). Отношение ФАКУЛЬТЕТ
Атрибуты: Краткое название (домен: строки длиной до 4-х символов), Полное название (домен: строки длиной до 32-х символов), Год создания (домен: целое положительное число). Кортежи: (ПС, Приборостроительный, 1957), (AT, Автотракторный, 1943) и т.д. Ключи: Краткое название, Полное название Схема отношения – список атрибутов одного отношения. База данных, с логической точки зрения представляет собой совокупность взаимосвязанных отношений. При проектировании БД должна обеспечиваться целостность данных, т.е. достоверность и непротиворечивость хранимых данных, причем эти свойства не должны утрачиваться в процессе работы с данными (после многочисленных изменений, удалений и дополнений данных). Для обеспечения целостности схема БД должна удовлетворять определенным требованиям: каждый факт, должен храниться только один раз, поскольку дублирование может привести (и на практике непременно приводит, как только проект приобретает реальную сложность) к несогласованности между копиями одной и той же информации. Следует избегать любых неоднозначностей, а также избыточности хранимой информации. Приведение структуры БД в соответствие этим ограничениям – это и есть нормализация БД. Нормализация БД предполагает нормализацию входящих в нее отношений. Выделяют 5 нормальных форм и форму Бойса-Кодда. Далее рассматриваются первые 3 нормальный формы. Отношение находится в 1-й нормальной форме (1NF), если все его атрибуты являются атомарными, т.е. каждый атрибут хранит единственное значение и не является списком или множеством значений. Пример ненормализованного отношения: ПОСТАВЩИК и ИЗДЕЛИE
Первичный ключ: «Поставщик»+ «Название изделия». Атрибут «Поставщик» не является атомарным. Отношение в 1NF:
Отношение имеет составной первичный ключ PK: «ИНН поставщика» + «Название изделия» Любое отношение в 1NF должно иметь ключ, который является: · уникальным (нет другого кортежа с данным ключом); · неизбыточным (ни один атрибут не может быть удален из ключа без нарушения уникальности); Такой ключ в отношении может быть не единственным. Все такие ключи называют возможными ключами. Из них назначается один первичный ключ (Primary Key – PK). Возможные ключи в отношении ПОСТАВЩИК и ИЗДЕЛИE: «ИНН поставщика» + «Название изделия», «Название поставщика» + «Название изделия» Атрибут A функционально определяет атрибут В если любому значению атрибута A может соответствовать единственное значение атрибута В. Например, ИНН поставщика функционально определяет название поставщика. Атрибут A называется полностью зависимым от некоторого множества атрибутов R, если функционально зависит от R и не зависит от любого его подмножества. Отношение находится во второй нормальной форме (2NF), если оно находится в 1NF и любой атрибут, не являющийся первичным ключом, полностью зависит от любого возможного ключа отношения. В отношении ПОСТАВЩИКИ и ИЗДЕЛИЯ атрибуты «Название поставщика», «Адрес поставщика» и «Телефон» не является первичными ключами и зависят только от атрибута «ИНН поставщика», т.е. только от части возможного ключа. Отношение может быть приведено к 2NF путем расщепления его на два: 1. Отношение ПОСТАВЩИК 2. PK: «ИНН поставщика»
Отношение ИЗДЕЛИЕ PK: «ИНН поставщика» + «Название изделия»
Отношение находится в третьей нормальной форме (3NF) если оно находится в 1NF и все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа. Если отношение находится в 3NF, то оно находится и в 2NF. В отношении ПЕРСОНАЛ имеется функциональная зависимость между неключевыми атрибутами «ФИО», «Должность» и «Телефон». PK: «ИНН поставщика»+ «Должность»+ «ФИО»
После декомпозиции получаем 2 отношения в 3NF Отношение ПОСТАВЩИК PK: «ИНН поставщика» Название и адрес зависят только от ИНН и не зависят друг от друга
Отношение СОТРУДНИК PK: «ИНН поставщика»+ «Должность»+ «ФИО» Телефон зависит от PK
Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)... ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала... ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования... Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|