Понятия база данных, система управления базами данных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Понятия база данных, система управления базами данных



Лекция 6. Базы данных

План:

1. Понятия «база данных», «система управления базами данных».

2. Модели данных.

3. Процесс разработки реляционной базы данных.

Литература:

1. Романова Ю.Д. Информатика и информационные технологии: учеб. пособие / Ю.Д. Романова, П.А. Музычкин, И.Г. Лесничая, В.И. Шестаков, И.В. Миссинг; под ред. Ю.Д. Романовой. – 4-е изд., перераб. и доп. – М.: Эксмо, 2010. – с. 515-531.

2. Статья «База данных» в свободной энциклопедии «Википедия» // http://ru.wikipedia.org/

3. Учебный курс для самостоятельного обучения «Access 2003», «Access 2007», «Access 2010» /
http://office.microsoft.com/ru-ru/training/default.aspx

Понятия база данных, система управления базами данных

В широком смысле слова база данных – это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Информация об объекте или отношениях объектов, выраженная в знаковой форме, образует данные. Характерной особенностью данных является то, что их можно переводить из одной знаковой системы в другую (перекодировать) без потери информации.

База данных – это совокупность хранимых в памяти ЭВМ и специальным образом организованных взаимосвязанных данных, отображающих состояние предметной области.

Иногда под базой данных понимают совокупность набора данных и программ обслуживания.

Система управления базами данных (СУБД) – это комплекс программных и языковых средств, необходимых для создания баз данных, поддержки их в актуальном состоянии и организации поиска в них необходимой информации.

СУБД можно разделить на настольные, рассчитанные на одного пользователя (MS Access, FoxPro, dBase и др.), и серверные (MS SQL Server, Oracle и др.).

Модели данных

Каждая СУБД работает с определенной моделью данных. Под моделью данных понимается способ из взаимосвязи. Существуют различные модели данных: иерархическая, сетевая, реляционная, объектно-ориентированная. Наиболее распространенной в настоящее время является реляционная модель данных.

Иерархическая модель данных

В иерархической модели данные представлены в виде древовидной (иерархической) структуры (см. Рисунок 1).

Основные понятия модели: атрибут, узел, уровень, групповое отношение.

Атрибут – наименьшая единица структуры данных. Каждому атрибуту при описании базы данных присваивается уникальное имя. По этому имени к нему обращаются при обработке.

Узел – совокупность атрибутов данных, описывающих некоторый объект. На дереве узлы – это вершины графа. Каждый узел на более низком уровне связан только с одним узлом на более высоком уровне. Дерево имеет только одну вершину (корневой узел), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем, … уровнях. Количество деревьев в БД определяется числом корневых узлов.

Групповое отношение – иерархическое отношение между узлами двух типов. Родительский узел (владелец группового отношения) называется исходным, а дочерние узлы (члены группового отношения) – подчиненными.

К каждому узлу базы данных существует только один (иерархический) путь от корневого узла (см. Рисунок 18).

Рисунок 18. Иерархическая модель данных

Корневой узел каждого дерева обязательно должен содержать ключ – атрибут с уникальным значением. Ключи некорневых узлов должны иметь уникальное значение только в рамках группового отношения. Каждый узел идентифицируется полным сцепленным ключом, под которым понимается совокупность ключей всех узлов от корневого по иерархическому пути.

Для групповых отношений в иерархической модели обеспечивается автоматический режим включения и фиксированное членство. Это означает, что для запоминания любого некорневого узла в БД должен существовать его родительский узел. При удалении родительского узла автоматически удаляются все подчиненные.

Например: Школа. Ключи выделены жирным подчеркиванием (см. Рисунок 19).

Рисунок 19. Пример иерархической модели данных

Сетевая модель

Основные понятия как в иерархической модели данных. Основное различие этих моделей состоит в том, что в сетевой модели узел может быть членом более чем одного группового отношения. Согласно этой модели каждое групповое отношение именуется и проводится различие между его типом и экземпляром.

Тип группового отношения задается его именем и определяет атрибуты общие для всех экземпляров данного типа.

Экземпляр группового отношения представляется узлом-владельцем и множеством (возможно пустым) подчиненных узлов. При этом имеется следующее ограничение: экземпляр узла не может быть членом двух экземпляров групповых отношений одного типа (т.е. сотрудник из примера не может работать в двух отделах).

Например:

Рисунок 20. Пример сетевой модели данных

Для отображения связи между сотрудниками и контрактами, заключенными этими сотрудниками, вводится узел СОТРУДНИК_КОНТРАКТ, который не имеет атрибутов и служит только для связи узлов КОНТРАКТ и СОТРУДНИК. В примере два сотрудника и два контракта, связи установлены между каждым сотрудником и каждым контрактом.

Реляционная модель данных

Понятие реляционный (relation – отношение) связано с работами британского ученого Эдгара Кодда, работы которого стали основой теории реляционных баз данных. Реляционная модель ориентирована на организацию данных в виде двумерных отношений (таблиц). Каждое отношение обладает следующими свойствами:

1. Каждый элемент отношения – один элемент данных.

2. Все элементы в столбце однородные, т.е. имеют одинаковый тип (текстовый, числовой, логический и т.д.).

3. Каждый столбец имеет уникальное имя.

4. Одинаковые строки отсутствуют.

5. Порядок следования строк и столбцов может быть произвольным.

 

Например: Информации о студенте (отношение СТУДЕНТ).

№ студенческого билета Фамилия Имя Отчество Дата рождения Группа
16493 Сергеев Петр Михайлович 01.01.76 111
16494 Петрова Анна Владимировна 15.03.75 112
16495 Еремин Андрей Борисович 14.04.76 113

Основные понятия реляционной модели данных: тип данных, домен, атрибут, кортеж, ключ.

Понятие тип данных в реляционной модели данных полностью эквивалентно соответствующему понятию в языках программирования. Набор поддерживаемых типов может отличаться, но следующие типы поддерживаются практически всегда:

· числовые (целочисленные, вещественные);

· строковые;

· денежные;

· временные (дата/время);

· типы двоичных объектов (не имеют аналогов в языках программирования).

Домен представляет собой допустимое потенциальное множество значений данного типа. Например, для столбца «Фамилия» домен «Фамилия» будет базироваться на строковом типе данных, и в него будут входить только те строки, которые могут обозначать фамилию (в частности такие строки не могут начинаться с мягкого знака). Домен «Дата рождения» для столбца «Дата рождения» определяется на базовом временном типе данных – данный домен содержит только допустимый диапазон дат рождения студентов.

В самом общем виде домен определяется заданием базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу. Если при проверке этого логического выражения получается результат «истина», то элемент данных является элементом домена.

Столбцы отношения называются атрибутами, им присваиваются имена, по которым к ним затем производится обращение. Список имен атрибутов отношения с указанием имен доменов (или типов, если домены не поддерживаются) называется схемой отношения.

Например, схема отношения СТУДЕНТ может быть представлена так:

СТУДЕНТ   {№_студенческого_билета Числовой.

                               Фамилия Строковый.

                               Имя Строковый.

                               Отчество Строковый.

                               Дата_рождения Дата/Время

                               Группа Числовой}

Степень отношения – это число его атрибутов. Отношение степени один называют унарным, степени два – бинарным, степени три – тернарным, …, а. Степени n – n-арным. Степень отношения СТУДЕНТ равна шести. Схемой базы данных называется множество именованных схем отношений.

Кортеж (запись), соответствующий данной схеме отношений, представляет собой множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. Значение должно принадлежать домену. Степень кортежа равна соответствующей степени отношения.

Кардинальным числом или мощностью отношения называется число его кортежей. Например, мощность отношения СТУДЕНТ равна 3.

Пустые значения. В некоторых случаях какой-либо атрибут отношения может быть неприменим. Например, если мы при помощи отношения СТУДЕНТ собираемся хранить информацию об абитуриентах, посещающих подготовительные курсы, мы не сможет определить
№ студенческого билета и Группу. Кроме того, при воде данных некоторые из них могут быть неизвестны. Для обозначения пустых значений атрибутов используется слово NULL.

Ключи отношения. Никакие два кортежа отношения не могут быть дубликатами друг друга в любой произвольно заданный момент времени. Таким образом, в отношении всегда должен присутствовать некоторый атрибут (или набор атрибутов), однозначно определяющий каждый кортеж отношения и обеспечивающий его уникальность. Такой атрибут (или набор атрибутов) называется первичным ключом отношения.

Первичный ключ отношения обладает следующими свойствами:

· Уникальность. В произвольный момент времени никакие два различных кортежа отношения не имеют одного и того же значения для атрибутов первичного ключа.

· Минимальность. Ни один из атрибутов не может быть исключен из первичного ключа без нарушения уникальности.

Для каждого отношения свойством уникальности обладает, по крайней мере, полный набор его атрибутов. Однако требуется обеспечить и условие минимальности. Поэтому, как правило, в отношении всегда имеется один атрибут, обладающий свойством уникальности и являющийся первичным ключом. В зависимости от количества атрибутов, входящих в ключ, различают простые и сложные (составные) ключи. Простой ключ – ключ, содержащий только один атрибут. В качестве типа данных лучше использовать самый простой и короткий тип данных, например целочисленный. Составной ключ состоит из нескольких атрибутов. В отношении СТУДЕНТ в первичный ключ может быть включен атрибут № студенческого билета.

Связанные отношения. В реляционной модели данные представляются в виде совокупности взаимосвязанных отношений. Рассмотрим отношение УСПЕВАЕМОСТЬ, в котором содержатся сведения об успеваемости студентов по различным предметам.

Отношение УСПЕВАЕМОСТЬ

Порядковый номер № студенческого билета Предмет Оценка
100 16493 Высшая математика 4
101 16493 Информатика Null
102 16494 Высшая математика 5
103 16494 Информатика Null
104 16495 Высшая математика 4
104 16495 Информатика Null

Атрибут «№ студенческого билета» таблицы УСПЕВАЕМОСТЬ содержит идентификатор студента. Если нужно узнать имя студента, соответствующее строкам в таблице УСПЕВАЕМОСТЬ, то следует найти это же значение идентификатора студента в поле «№ студенческого билета» таблицы СТУДЕНТЫ и в найденной строке прочесть значение поля «Имя». Таким образом, связь между таблицами СТУДЕНТЫ и УСПЕВАЕМОСТЬ устанавливается по атрибуту «№ студенческого билета».

Внешние ключи отношения. В базах данных одни и те же имена атрибутов часто используются в разных отношениях. В рассмотренных примерах атрибут «№ студенческого билета» присутствует как в отношении СТУДЕНТЫ, так и в отношении УСПЕВАЕМОСТЬ. Внешний ключ – это атрибут (или несколько атрибутов) одного отношения, являющиеся ключом другого отношения. Таким образом, атрибут «№ студенческого билета» отношения УСПЕВАЕМОСТЬ является внешним ключом. Внешние ключи используются для установления логических связей между отношениями. Связь между двумя отношениями устанавливается путем присваивания значениям внешнего ключа одного отношения значений ключа другого отношения. Внешние ключи могут быть простыми, либо составными.

Условия целостности данных. Для непротиворечивости и однозначности информации в базе данных в реляционной модели устанавливаются ограничительные условия – это правила, определяющие возможные значения данных. Ограничения позволяют свести к минимуму ошибки, возникающие при обновлении и обработке данных. Важнейшими ограничениями являются:

· категорийная целостность (никакой атрибут первичного ключа не может быть пустым);

· ссылочная целостность (если два отношения связаны между собой, то внешний ключ отношения должен содержать только те значения, которые уже имеются среди значений ключа, по которому осуществляется связь).

При обновлении ссылающегося отношения необходимо следить за тем, чтобы не появлялись некорректные значения внешнего ключа. А при удалении кортежа из отношения, на которое ведется ссылка, возможно использование одного из трех подходов:

1. Запрещается удалять кортеж, на который существуют ссылки.

2. При удалении кортежа, на который имеются ссылки, во всех ссылающихся кортежах значение внешнего ключа автоматически становятся неопределенными.

3. Каскадное удаление. При удалении кортежа из отношения, на которое ведет ссылка, из ссылающегося отношения автоматически удаляются все ссылающиеся кортежи.

Типы связей между отношениями. При установлении связи между двумя отношениями одно из них будет являться главным, а второе – подчиненным.

Различают четыре типа связей:

· Один к одному – каждому кортежу одного отношения соответствует один кортеж другого отношения;

· Один ко многим – каждому кортежу главного отношения может соответствовать несколько кортежей подчиненного отношения;

· Многие к одному – нескольким кортежам главного отношения может соответствовать один кортеж подчиненного отношения;

· Многие ко многим – один кортеж главного отношения связан с несколькими кортежами подчиненного отношения, а один кортеж подчиненного отношения связан с несколькими кортежами главного отношения.

В главном отношении всегда доступны все содержащиеся в нем кортежи. В подчиненном же отношении доступны только те кортежи, у которых значения атрибутов внешнего ключа совпадают со значением соответствующих атрибутов текущего кортежа главного отношения. Изменение кортежа главного отношения приведет к изменению множества доступных кортежей подчиненного отношения, а изменение текущего кортежа в подчиненном кортеже не вызовет никаких изменений ни в одном из отношений.

Индексы. Индекс представляет собой указатель на данные. Его можно сравнить с указателем, помещаемым в конце книги. Чтобы найти в книге страницы, относящиеся к некоторой теме, проще обратиться к указателю, в котором устанавливается соответствие между перечисленными в алфавитном порядке темами и номерами страниц, и сразу определить страницы, которые следует посмотреть. Индекс базы данных предназначен для аналогичных целей. Индекс предоставляет информацию о точном физическом расположении данных. В индексе данные хранятся в упорядоченном виде. При добавлении и удалении данных, индекс изменяется. При поиске по индексированному столбцу, поиск производится в индексе. Если поиск прошел успешно, то в индексе устанавливается точное местоположение искомых данных.

Различают несколько типов индексов:

· Простые индексы представляют собой простейший и наиболее распространенный тип индексов. Он строится на основе одного столбца отношения.

· Составные индексы строятся по двум и более столбцам. При этом последовательность столбцов, по которым создается индекс, влияет на скорость поиска данных.

Правила нормализации. Правила нормализации позволяют проверить правильность структуры таблиц. Процесс применения этих правил к структуре базы данных называется нормализацией базы данных или просто нормализацией. Нормализацию рекомендуется выполнять после внесения в базу данных всех элементов данных и создания предварительной структуры. Цель этого процесса — проверить правильность распределения элементов данных по таблицам. Однако нормализация не позволяет проверить правильность самих элементов данных. Существует пять нормальных форм. Опишем первые три формы, поскольку их применения достаточно для большинства баз данных.

Первая нормальная форма. Первая нормальная форма содержит правила:

1. Каждая ячейка на пересечении строки и столбца в таблице должна содержать неделимую информацию.

2. В таблице должны отсутствовать повторяющиеся группы столбцов.

Предположим, что таблица содержит следующие столбцы:

- Код поставщика

- Название компании

- Имя контакта

- Телефоны

Столбец Телефоны является нарушением первой нормальной формы, т.к. поставщик может указывать несколько телефонов. Этот столбец следует удалить из таблицы и включить в отдельную таблицу Телефоны, имеющую следующую структуру:

- Код поставщика

- Телефон

Причем оба поля в таблице Телефоны следует объявить ключевыми.

Вторая нормальная форма. Вторая нормальная форма содержит требование о том, что каждый столбец, не входящий в ключ, должен находиться в зависимости от всего ключа, а не от его части. Это правило применимо в том случае, если первичный ключ состоит из нескольких столбцов.

Рассмотрим таблицу Заказы, содержащую следующие столбцы:

- Код заказа (первичный ключ)

- Код товара (первичный ключ)

- Наименование товара

Такая структура не соответствует второй нормальной форме, т. к. название товара зависит от кода товара, но не зависит от кода заказа; следовательно, этот столбец зависит лишь от части первичного ключа. Столбец название товара следует удалить из таблицы. Он должен быть включен в другую таблицу (Товары).

Третья нормальная форма. Третья нормальная форма содержит требование о том, что столбцы, не являющиеся ключевыми, должны не только зависеть от всего первичного ключа, но и быть независимыми друг от друга. Другими словами, каждый столбец, не являющийся ключевым, должен зависеть только от первичного ключа.

Предположим, что таблица содержит следующие столбцы:

- Код товара (первичный ключ)

- Название товара

- Рекомендуемая розничная цена

- Скидка

Предположим, что скидка зависит от рекомендуемой розничной цены. В этом случае таблица не соответствует требованию третьей нормальной формы, т. к. столбец скидки, не являющийся ключевым, зависит от другого столбца, не являющегося ключевым (столбца рекомендуемой розничной цены). Требование о независимости столбцов друг от друга означает, что изменение любого неключевого столбца не должно влиять на другие столбцы.  Но при изменении значения в столбце розничной цены значение скидки изменялось бы соответствующим образом, нарушая правило. Поэтому в данном случае столбец скидки следует перенести в другую таблицу, в которой столбец рекомендуемой розничной цены является ключевым.


Задание первичных ключей.

Выберите первичные ключи таблиц.

6. Создание связей между таблицами.

Проанализируйте все таблицы и определите, как данные одной таблицы связаны с данными других таблиц. Добавьте в таблицы нужные столбцы или создайте связи между таблицами.

Лекция 6. Базы данных

План:

1. Понятия «база данных», «система управления базами данных».

2. Модели данных.

3. Процесс разработки реляционной базы данных.

Литература:

1. Романова Ю.Д. Информатика и информационные технологии: учеб. пособие / Ю.Д. Романова, П.А. Музычкин, И.Г. Лесничая, В.И. Шестаков, И.В. Миссинг; под ред. Ю.Д. Романовой. – 4-е изд., перераб. и доп. – М.: Эксмо, 2010. – с. 515-531.

2. Статья «База данных» в свободной энциклопедии «Википедия» // http://ru.wikipedia.org/

3. Учебный курс для самостоятельного обучения «Access 2003», «Access 2007», «Access 2010» /
http://office.microsoft.com/ru-ru/training/default.aspx

Понятия база данных, система управления базами данных

В широком смысле слова база данных – это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Информация об объекте или отношениях объектов, выраженная в знаковой форме, образует данные. Характерной особенностью данных является то, что их можно переводить из одной знаковой системы в другую (перекодировать) без потери информации.

База данных – это совокупность хранимых в памяти ЭВМ и специальным образом организованных взаимосвязанных данных, отображающих состояние предметной области.

Иногда под базой данных понимают совокупность набора данных и программ обслуживания.

Система управления базами данных (СУБД) – это комплекс программных и языковых средств, необходимых для создания баз данных, поддержки их в актуальном состоянии и организации поиска в них необходимой информации.

СУБД можно разделить на настольные, рассчитанные на одного пользователя (MS Access, FoxPro, dBase и др.), и серверные (MS SQL Server, Oracle и др.).

Модели данных

Каждая СУБД работает с определенной моделью данных. Под моделью данных понимается способ из взаимосвязи. Существуют различные модели данных: иерархическая, сетевая, реляционная, объектно-ориентированная. Наиболее распространенной в настоящее время является реляционная модель данных.

Иерархическая модель данных

В иерархической модели данные представлены в виде древовидной (иерархической) структуры (см. Рисунок 1).

Основные понятия модели: атрибут, узел, уровень, групповое отношение.

Атрибут – наименьшая единица структуры данных. Каждому атрибуту при описании базы данных присваивается уникальное имя. По этому имени к нему обращаются при обработке.

Узел – совокупность атрибутов данных, описывающих некоторый объект. На дереве узлы – это вершины графа. Каждый узел на более низком уровне связан только с одним узлом на более высоком уровне. Дерево имеет только одну вершину (корневой узел), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем, … уровнях. Количество деревьев в БД определяется числом корневых узлов.

Групповое отношение – иерархическое отношение между узлами двух типов. Родительский узел (владелец группового отношения) называется исходным, а дочерние узлы (члены группового отношения) – подчиненными.

К каждому узлу базы данных существует только один (иерархический) путь от корневого узла (см. Рисунок 18).

Рисунок 18. Иерархическая модель данных

Корневой узел каждого дерева обязательно должен содержать ключ – атрибут с уникальным значением. Ключи некорневых узлов должны иметь уникальное значение только в рамках группового отношения. Каждый узел идентифицируется полным сцепленным ключом, под которым понимается совокупность ключей всех узлов от корневого по иерархическому пути.

Для групповых отношений в иерархической модели обеспечивается автоматический режим включения и фиксированное членство. Это означает, что для запоминания любого некорневого узла в БД должен существовать его родительский узел. При удалении родительского узла автоматически удаляются все подчиненные.

Например: Школа. Ключи выделены жирным подчеркиванием (см. Рисунок 19).

Рисунок 19. Пример иерархической модели данных

Сетевая модель

Основные понятия как в иерархической модели данных. Основное различие этих моделей состоит в том, что в сетевой модели узел может быть членом более чем одного группового отношения. Согласно этой модели каждое групповое отношение именуется и проводится различие между его типом и экземпляром.

Тип группового отношения задается его именем и определяет атрибуты общие для всех экземпляров данного типа.

Экземпляр группового отношения представляется узлом-владельцем и множеством (возможно пустым) подчиненных узлов. При этом имеется следующее ограничение: экземпляр узла не может быть членом двух экземпляров групповых отношений одного типа (т.е. сотрудник из примера не может работать в двух отделах).

Например:

Рисунок 20. Пример сетевой модели данных

Для отображения связи между сотрудниками и контрактами, заключенными этими сотрудниками, вводится узел СОТРУДНИК_КОНТРАКТ, который не имеет атрибутов и служит только для связи узлов КОНТРАКТ и СОТРУДНИК. В примере два сотрудника и два контракта, связи установлены между каждым сотрудником и каждым контрактом.



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 181; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.127.141 (0.081 с.)