Реляционная модель данных и реляционные СУБД




Введение

 

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

В данной работе будет рассмотрена реляционная модель базы данных. Она представляет собой совокупность таблиц, над которыми могут работать операции, которые обозначаются в терминах реляционной алгебры и реляционного исчисления. операции над объектами в реляционной модели базы данных основываются на теоретико-множественном характере. Принцип построения реляционной модели данных связаны с персонойпрославленного специалиста в области систем баз данных Е. Кодда. От этого реляционную модель данных иногда именуют как модель Кодда.

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

Цель курсовой работы – изучение основ баз данных и исследование реляционной модели данных и СУБД.

Чтобы исполнить поставленную цель, нужно реализовать некоторые задачи:

- Изучение теоретические вопросы по базам данных.

- Рассмотреть классификацию моделей баз данных.

- Изучить информацию о СУБД.

- Провести исследование в области реляционной алгебры.

- Определить реляционную модель.

- Представить некоторые виды реляционных СУБД.

- Реализовать на практике реляционную базу данных.

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

Предмет курсовой работы – изучение реляционной базы данных и СУБД, объект курсовой работы – базы данных.

Структура работы состоит из трех глав:

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

Вторая часть – это определение реляционной модели данниых, основные принципы построения и рассмотрение реляционных СУБД, которые наиболее популярны.

Третья часть – это практика построения реляционной базы данных.

Для работы использовались литературные источники следующих авторов: Илюшечкин В.М., Нестеров С.А., Никулин С.В., Пак В.С., Парфенов Ю.П., Разоренова Т.Р., Разоренова Т.Р., Альшевская О.В., Федорова Г.Н., Фролов Е.М. и др.

 

 

Теория баз данных. Характеристика и термины

 

Основы база данных

Простым языком, база данных – это какие-либо материалы в электронном виде, которые систематизированы так, чтобы их было легко найти, открыть, обработать и т.д[2].

В свою очередь, система управления базами данных (СУБД) – это ПО, которое управляет базой данных (БД).

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

ü добавлять новые файлы в БД;

ü редактировать (дополнять, удалять, изменять данные) уже существующие файлы;

ü получать данные из существующих файлов;

ü вовсе удалять файлы из БД.

Применение систем правления базами данных возможно как на малых компьютерах, так и на крупных мейнфреймах. Разница лишь в том, что средства, которые предоставляет каждая конкретная система, очень зависимы от мощностей и возможностей непосредственно базовой машины[1]. Поэтому на мейнфреймах в большинстве случаев используют многопользовательские системы, то есть «большие», ну а на малых – однопользовательские. Такая система (single-usersystem) используется одновременно только одним пользователем, то есть доступ к БД единовременно получает лишь один человек, а многопользовательская система (multi-usersystem) дает возможность получить доступ к БД одновременно нескольким пользователям

В принципе, разницы между однопользовательской и многопользовательской системы, как правило, нет[3]. Это связанно с тем, что главная цель использования многопользовательской системы- это дать возможность каждому отдельному пользователю работать с многопользовательской системой так, как если бы он работал с однопользовательской системой. Для пользователя не видны различия этих двух систем, так как они проявляются лишь в их внутренней структуре.

Таблица — это структурированный файл, хранящий в себе данные одного типа. Таблицы могут хранить абсолютно любую информацию[5].

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

Каждой из таблиц БД присваивается имя, которое идентифицирует ее. Имя каждой таблицы уникально и не повторяется.

Схема – это набор информации, дающий описание таблице. Сюда входит такая информация, как[7]:

ü какие данные хранятся в таблицах;

ü каким образом эти данные распределены;

ü название отдельных информационных блоков и многое другое.

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

Составляющая каждой таблицы – столбцы, хранящие в себе отдельные части информации.

Под столбцом понимают одиночное поле таблицы. Любая таблица состоит из одного или нескольких столбцов.

Столбец - Одиночное поле таблицы. Все таблицы состоят из одного или нескольких столбцов.

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

Тип данных - тип разрешённых для хранения данных. Каждому столбцу табли­цы присваивается тип, который разрешает хранить в нем только определённую информацию[1].

Типы данных ограничивают характер информации, которую мож­но хранить в столбце. Типы данных помогают в сортировке информации и играют немаловажную роль в оптимизации использования места на диске. А это говорит о том, что выбору типов дан­ных для столбцов создаваемой таблицы есть смысл уделить особое внимание[3].

Строка - отдельная запись в таблице.

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

Несомненно, использование систем базы данных имеет ряд преимуществ над "бумажным" методом ведения учёта. Основные из них:

- Компактность. Использование традиционного метода влечет за собой большой объем всевозможных бумажных карточек. При использовании базы данных нет необходимости их создавать и вести[8].

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

- Низкие трудозатраты. Не нужно работать со всем объёмом информации вручную, это всегда утомительно и более долго для человека, чем для компьютера.

- Актуальность. Если возникает необходимость, под рукой в любой момент имеется точная и свежая информация.

- Защита. Данные могут быть лучше защищены от случайной потери и несанкционированного доступа. Эти преимущества приобретают ещё большее значение в многопользовательской среде, где БД, скорее всего, объемнее и сложнее однопользовательской. Помимо этого, многопользовательская среда имеет дополнительное преимущество: СУБД предоставляет предприятию средства централизованного управления его данными[10].

Подробности о СУБД

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

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

Первая из них – ядро, отвечающее за управление данными в памяти и за ведение журнала[4].

Вторя часть СУБД – процессор языка, который отвечает за совершенствование запросов в БД и проектирование БД.

К третьей части относятся подсистемы поддержки времени исполнения.

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

Главное для информационных систем это[12]:

ü Хранение.

ü Выбор.

ü Изменение информации.

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

ü среда пользователя, которая даёт возможность непосредственно управлять данными с клавиатуры;

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

ü компилятор для придания завершённой программе вида готового коммерческого продукта в форме независимого ЕХЕ-файла;

ü программы-утилиты быстрого программирования рутинных операций (генераторы отчётов, форм, таблиц, экранов, меню и других приложений).

Основные функции современной СУБД[13]:

1. Администрирование БД.

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

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

2. Непосредственное управление данными во внешней памяти.

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

3. Возможность управлять оперативной памятью при помощи буфера.

Системы управления БД обычно работают с базами данных внушительного размера; в любом случае, размер базы данных обычно довольно шире необходимогообъёма оперативной памяти. Вся система может функционировать со скоростью устройства внешней памяти при условии что при обращении к любому элементу данных будет производиться обменные процессы с внешней памятью.Это есть один из единственных способовдействительногороста скорости - буферизация данных в оперативной памяти. Но это может быть недостаточным для систем управления БД, поэтому в развитых системах управления есть собственный функционал буфера оперативной памяти.

4. Возможности управлять транзакциями.

Транзакция является последовательностью операций над базой данных, которые рассматриваются СУБД как одно целое и дают возможность добавлять, удалять или обновлять информацию о каком-либо объекте в базе данных. Если транзакция успешно выполняется, система управления базами данных фиксирует изменения базы, которые были произведены этой транзакцией, в противном случае, ни одно из данныхмодификацийне можетотпечатываться на состоянии базы данных.

Транзакция позволяет отменить все выполненные изменения.

5. Ведение журналов о данных.

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

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

6. Встроенные языки БД.

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

Типовым языком более известных в настоящее время СУБД – это язык SQL (StructuredQueryLanguage). Данный язык содержит в себе два компонента: язык определения данных и язык управления данными. Также одним из языков управления данными является язык QBE – язык запросов по образцу.

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

Модель данных – это совокупность структур данных и операций по их обработке. То есть сведения, которые содержат взаимосвязанные данные. Модель данных состоит из трёх компонентов[14]:

· Комплект из общих правил целостности. Различают ограничения явные и неявные. Неявные ограничения определяются самой структурой данных. Явные ограничения задаются в схеме базы данных с помощью средств языка описания данных (DDL, DataDefinitionLanguage).

· Комплект изтипов структур данных.

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

Существует несколько основных типов моделей данных (рисунок 1).

Рисунок 1 - Модель данных

Рассмотрим подробнее каждую из этих моделей.

Иерархическая модель данных представляется тем что основой является главный узел, с которого все берет своё начало. Принято называть главный узел корневым элементом. Иерархическая база данных имеет древовидную структуру, так же как и сетевая база данных. Все элементы, находящиеся под корневым узлом иерархической модели- это потомки корня. Стоит отметить одну из особенностей иерархической модели, которая так же присуща и сетевой. И та, и другая модель оптимизированы так, что не могут записывать информацию в базу данных, но они ориентированы на чтение этой информации[15].

Сетевая модель данных представляет данные сетевыми структурами типов записей и связанные отношениями мощности один-к-одному или один-ко-многим.

Связи в сетевой модели моделируются наборами, реализующимися при помощи указателей. Сетевые модели данных – это более расширенная версия иерархической модели, но есть основное отличие - в сетевых моделях данных есть указатели в обоих направлениях, соединяющие родственную информацию[18].

Многомерная модель данных характеризуется тем, что на протяжении большого количества времени работающих многомерных систем управления базами данных было очень мало, не смотря на то, что они появились вместе с реляционными моделями. Только к середине 90-х годов к многомерным моделям возрос интерес. Этому послужила программная статья Э. Кодда, который был одним из основоположников реляционного подхода, выпущенная в свет в 1993 году. Э. Кодд сформулировал в этой статье двенадцать основных требований класса OLAP, самые важные из которых связаны с возможностями концептуального представления и обработки многомерных данных[19].

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

В развитии концепций информационных систем выделяют следующие два направления:

· OLTP-системы оперативной (транзакционной) обработки;

· OLAP-системы аналитической обработки (системы поддержки принятия решений).

Многомерные системы управления базами данных - это узкоспециализированные СУБД, которые предназначены для интерактивной аналитической обработки информации. Основные понятия, которые используют в этих системах управления: агрегируемость,историчность, прогнозируемость данных.

Модель объектно-ориентированной базы данных основана на ряде базовых понятий: объект, идентифицируемость, класс, наследование, перегрузка и отложенное связывание.

В ООБД абсолютно любая сущность реального мира представлена одним понятием — объектом. С объектом принято ассоциировать состояние и поведение. Состояние объекта определяется значениями его свойств — атрибутов. Значениями свойства являются примитивные значения (такие, как строки или целые числа) и не примитивные объекты. Не примитивный объект состоит из набора свойств. Соответственно, объекты можно рекурсивно определять в терминах других объектов. Поведение объекта определяется с помощью методов, оперирующих над состоянием объекта[4].

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

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

 

Реляционная модель данных и реляционные СУБД

 

Реляционная алгебра

Слово «отношение» используется на английском и других естественных языках[8].

Небольшая часть описания такова: отношение - это особенность или атрибут вещей, которые участвуют в рассмотрении их в сравнении или контрастировании друг с другом; Особый способ, с которым одна мысль рассматривается в связи с другой; Любая связь, переписка или ассоциация, которые могут быть поняты как естественно существующие между вещами[4].

Реляционная алгебра - это набор операторов, замкнутых по отношениям, что означает, что они позволяют вывести дальнейшие отношения из данных отношений. Более того, действия этих операторов всегда дают отношения, никогда ничего. Свойство закрытия позволяет языку запросов СУБД поддерживать выражения произвольной сложности - операнд для вызова одного из этих операторов может быть отношением, которое является результатом некоторого другого вызова, точно так же, как и в арифметическом выражении (10 + 5) / 3, результатом операции «+» является первый операнд для операции «/».

Реляционное исчисление — прикладная ветвь формальной теории, носящей название «исчисления предикатов первого порядка». В основе исчисления лежит понятие переменной с определенной для неё областью допустимых значений и понятие правильно построенной формулы, опирающейся на переменные, предикаты и кванторы. Наряду с реляционной алгеброй является способом получения результирующего отношения в реляционной модели данных. В зависимости от того, что является областью определения переменной, различают:

- Исчисление кортежей;

- Исчисление доменов.

В приложении А представлены 12 правил Кодда.

Реляционные операторы основаны на логических связях и квантификаторах исчисления предикатов. Если реляционный язык поддерживает реляционные операторы, соответствующие связям AND (конъюнкция), OR (дизъюнкция) и NOT (отрицание), в рамках некоторых известных ограничений, а также экзистенциального квантования, то он реляционно завершён[12].

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

Эдгар Кодд изначально определял восемь реляционных операторов[5]:

1. SELECT originally called RESTRICT

2. PROJECT

3. JOIN

4. PRODUCT

5. UNION

6. INTERSECT

7. DIFFERENCE

8. DIVIDE

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

SELECT - ОГРАНИЧИВАЕТ строки, выбранные из таблицы, в те записи с указанными значениями атрибутов.

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

PROJECT - выбирает строки из поднабора столбцов из таблицы.

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

JOIN - связывает записи из двух таблиц на основе совпадающих значений столбцов.

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

PRODUCT - строит отношение из двух заданных отношений, состоящих из всех возможных комбинаций строк, по одному от каждого из двух отношений.

UNION - строит отношение, состоящее из всех строк, входящих в одно или оба из двух отношений.

INTERSECT - создает отношение, состоящее из всех строк, входящих в оба из двух отношений.

DIFFERENCE - создает отношение, состоящее из всех строк, появляющихся в первом, а не во втором из двух отношений.

DIVIDE - принимает два отношения: один двоичный и один унарный, и строит отношение, состоящее из всех значений одного столбца бинарного отношения, которые в другом столбце соответствуют всем значениям в унарном отношении.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-11-28 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: