Реляционные базы данных и СУБД
Основные понятия и классификация систем управления базами данных. Достоинство организации информационной системы на архитектуре клиент-сервер. Реализация функции управления данными во внешней памяти. Модели организации данных. Термины реляционной модели.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 17.02.2012 |
Размер файла | 27,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
КУРСОВАЯ РАБОТА
по дисциплине:
«Информатика»
на тему:
«Реляционные базы данных и СУБД»
Введение
Задачами данной работы являются: описать основные понятия и классификацию систем управления баз данных (далее СУБД), охарактеризовать реляционные базы данных (БД). В практической части предстоит рассчитать электроэнергию и определить ее стоимость.
Для выполнения работы использовались следующие программы:
1. Текстовый редактор «MS Word - 2003».
2. Табличный процессор «MS Excel - 2003».
1. Теоретическая часть
1.1 Основные понятия и классификация систем управления базами данных
База данных (БД) представляет собой совокупность структурированных данных, хранимых в памяти вычислительной системы и отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области.
Логическую структуру данных, хранимых в базе, называют моделью представления данных. К основным моделям представления данных (моделям данных) относятся иерархическая, сетевая, реляционная.
Система управления базами данных (СУБД) - это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Обычно СУБД различают по используемой модели данных. Так, СУБД, основанные на использовании реляционной модели данных, называют реляционными СУБД.
Для работы с базой данных зачастую достаточно средств СУБД. Однако если требуется обеспечить удобство работы с БД неквалифицированным пользователям или интерфейс СУБД не устраивает пользователей, то могут быть разработаны приложения. Их создание требует программирования. Приложение представляет собой программу или комплекс программ, обеспечивающих автоматизацию решения какой-либо прикладной задачи. Приложения могут создаваться в среде или вне среды СУБД - с помощью системы программирования, использующей средства доступа к БД, к примеру, Delphi или С++ Вuildег. Приложения, разработанные в среде СУБД, часто называют приложениями СУБД, а приложения, разработанные вне СУБД, - внешними приложениями.
Словарь данных представляет собой подсистему БД, предназначенную для централизованного хранения информации о структурах данных, взаимосвязях файлов БД друг с другом, типах данных и форматах их представления, принадлежности данных пользователям, кодах защиты и разграничения доступа и т.п.
Информационные системы, основанные на использовании БД, обычно функционируют в архитектуре клиент-сервер. В этом случае БД размещается на компьютере-сервере, и к ней осуществляется совместный доступ.
Сервером определенного ресурса в компьютерной сети называется компьютер (программа), управляющий этим ресурсом, клиентом - компьютер (программа), использующий этот ресурс. В качестве ресурса компьютерной сети могут выступать, к примеру, базы данных, файлы, службы печати, почтовые службы.
Достоинством организации информационной системы на архитектуре клиент-сервер является удачное сочетание централизованного хранения, обслуживания и коллективного доступа к общей корпоративной информации с индивидуальной работой пользователей.
Согласно основному принципу архитектуры клиент-сервер, данные обрабатываются только на сервере. Пользователь или приложение формируют запросы, которые поступают к серверу БД в виде инструкций языка SQL. Сервер базы данных обеспечивает поиск и извлечение нужных данных, которые затем передаются на компьютер пользователя. Достоинством такого подхода в сравнении предыдущим является заметно меньший объем передаваемых данных.
Выделяют следующие виды СУБД:
полнофункциональные СУБД;
серверы БД;
средства разработки программ работы с БД.
Полнофункциональные СУБД представляют собой традиционные СУБД. К ним относятся dBaseIV, Microsoft Access, Microsoft FoxPro и др.
Серверы БД предназначены для организации центров обработки данных в сетях ЭВМ. Серверы БД обеспечивают обработку запросов клиентских программ обычно с помощью операторов SQL. Примерами серверов БД являются: Microsoft SQL Server, InterBase и др.
В роли клиентских программ в общем случае могут использоваться СУБД, электронные таблицы, текстовые процессоры, программы электронной почты и др.
Средства разработки программ работы с БД могут использоваться для создания следующих программ:
клиентских программ;
серверов БД и их отдельных компонентов;
пользовательских приложений.
По характеру использования СУБД делят на многопользовательские (промышленные) и локальные (персональные).
Промышленные, СУБД представляют собой программную основу для разработки автоматизированных систем управления крупными экономическими объектами. Промышленные СУБД должны удовлетворять следующим требованиям:
возможность организации совместной параллельной работы многих пользователей;
масштабируемость;
переносимость на различные аппаратные и программные платформы;
устойчивость по отношению к сбоям различного рода, в том числе наличие многоуровневой системы резервирования хранимой информации;
обеспечение безопасности хранимых данных и развитой структурированной системы доступа к ним.
Персональные СУБД - это программное обеспечение, ориентированное на решение задач локального пользователя или небольшой группы пользователей и предназначенное для использования на персональном компьютере. Это объясняет и их второе название - настольные. Определяющими характеристиками настольных систем являются:
относительная простота эксплуатации, позволяющая создавать на их основе работоспособные пользовательские приложения;
относительно ограниченные требования к аппаратным ресурсам.
По используемой модели данных СУБД разделяют на иерархические, сетевые, реляционные, объектно-ориентированные и др. Некоторые СУБД могут одновременно поддерживать несколько моделей данных.
Для работы с данными, хранящимися в базе, используются следующие типы языков:
язык описания данных - высокоуровневый непроцедурный язык декларативного типа, предназначенный для описания логической структуры данных;
язык манипулирования данными - совокупность конструкций, обеспечивающих выполнение основных операций по работе с данными: ввод, модификацию и выборку данных по запросам.
Названные языки в различных СУБД могут иметь отличия. Наибольшее распространение получили два стандартизованных языка: QBE - язык запросов по образцу и SQL - структурированный язык запросов. QBE в основном обладает свойствами языка манипулирования данными, SQL сочетает в себе свойства языков обоих типов.
СУБД реализует следующие основные функции низкого уровня:
управление данными во внешней памяти;
управление буферами оперативной памяти;
управление транзакциями;
ведение журнала изменений в БД;
обеспечение целостности и безопасности БД.
Реализация функции управления данными во внешней памяти обеспечивает организацию управления ресурсами в файловой системе ОС.
Необходимость буферизации данных обусловлена тем, что объем оперативной памяти меньше объема внешней памяти. Буферы представляют собой области оперативной памяти, предназначенные для ускорения обмена между внешней и оперативной памятью. В буферах временно хранятся фрагменты БД, данные из которых предполагается использовать при обращении к СУБД или планируется записать в базу после обработки.
Механизм транзакций используется в СУБД для поддержания целостности данных в базе. Транзакцией называется некоторая неделимая последовательность операций над данными БД, которая отслеживается СУБД от начала и до завершения. Если по каким-либо причинам (сбои и отказы оборудования, ошибки в программном обеспечении, включая приложение) транзакция остается незавершенной, то она отменяется.
Транзакции присущи три основных свойства:
атомарность (выполняются все входящие в транзакцию операции или ни одна);
сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций);
долговечность (даже крах системы не приводит к утрате результатов зафиксированной транзакции).
Примером транзакции является операция перевода денег с одного счета на другой в банковской системе. Сначала снимают деньги с одного счета, затем начисляют их на другой счет. Если хотя бы одно из действий не выполнится успешно, результат операции окажется неверным и будет нарушен баланс операции.
Ведение журнала изменений выполняется СУБД для обеспечения надежности хранения данных в базе при наличии аппаратных и программных сбоев.
Обеспечение целостности БД составляет необходимое условие успешного функционирования БД, особенно при ее сетевом использовании. Целостность БД - это свойство базы данных, означающее, что в ней содержится полная, непротиворечивая и адекватно отражающая предметную область информация. Целостное состояние БД описывается с помощью ограничений целостности в виде условий, которым должны удовлетворять хранимые в базе данные.
Обеспечение безопасности достигается в СУБД шифрованием данных, парольной защитой, поддержкой уровней доступа к базе данных и отдельным ее элементам (таблицам, формам, отчетам и др.).
1.2 Модели организации данных
В иерархической модели объекты-сущности и отношения предметной области представляются наборами данных, которые имеют древовидную (иерархическую) структуру. Иерархическая модель данных была исторически первой. На ее основе в конце 60-х - начале 70-х годов были разработаны первые профессиональные СУБД.
Пример структуры иерархической БД приведен на рис. 5.1.
Основное внимание в ограничениях целостности в иерархической модели уделяется целостности ссылок между предками и потомками с учетом основного правила: никакой потомок не может существовать без родителя.
Сетевая модель данных позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа. Сетевая БД состоит из набора записей и набора соответствующих связей. На формирование связи особых ограничений не накладывается. Если в иерархических структурах запись-потомок могла иметь только одну запись-предка, то в сетевой модели данных запись-потомок может иметь произвольное число записей-предков.
Достоинством сетевой мидели данных является возможность ее эффективной реализации. В сравнении с иерархической моделью сетевая модель предоставляет большие возможности в смысле допустимости образования произвольных связей.
Недостатком сетевой модели данных является высокая сложность и жесткость схемы БД, построенной на ее основе, а также сложность ее понимания обычным пользователем. Кроме того, в сетевой модели данных ослаблен контроль целостности связей из-за допустимости установления произвольных связей между записями.
Системы на основе сетевой модели не получили широкого распространения на практике.
Реляционная модель данных предложена сотрудником фирмы IВМ Эдгаром Коддом и основывается на понятии отношения.
Отношение представляет собой множество элементов, называемых кортежами. Наглядной формой представления отношения является двумерная таблица.
С помощью одной таблицы удобно описывать простейший вид связей между данными, а именно: деление одного объекта, информация о котором хранится в таблице, на множество подобъектов, каждому из которых соответствует строка или запись таблицы.
Основными недостатками реляционной модели являются следующие: отсутствие стандартных средств идентификации отдельных записей и сложность описания иерархических и сетевых связей.
1.3 Реляционные базы данных
Реляционная модель данных (РМД) некоторой предметной области представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними. Термины РМД представлены в табл.
Термины реляционной модели
Термин реляционной модели |
Эквивалентный термин |
|
отношение |
таблица |
|
схема отношения |
строка заголовков столбцов таблицы (заголовок таблицы) |
|
кортеж |
строка таблицы, запись |
|
сущность |
описание свойств обьекта |
|
атрибут |
столбец, поле |
|
домен |
множество допустимых значений атрибута |
|
первичный ключ |
уникальный идентификатор |
|
кардинальность |
количество строк |
|
степень |
количество столбцов |
реляционный база информационный сервер
Реляционная база данных представляет собой хранилище данных, содержащее набор двухмерных таблиц. Данные в таблицах должны удовлетворять следующим принципам.
1. Значения атрибутов должны быть атомарными (иными словами, каждое значение, содержащееся на пересечении строки и колонки, должно быть не расчленяемым на несколько значений).
2. Значения каждого атрибута должны принадлежать к одному и тому же типу.
3. Каждая запись в таблице уникальна.
4. Каждое поле имеет уникальное имя.
5. Последовательность полей и записей в таблице не существенна.
Отношение является важнейшим понятием и представляет собой двумерную таблицу, содержащую некоторые данные.
Сущность есть объект любой природы, данные о котором хранятся в базе данных. Данные о сущности хранятся в отношении.
Атрибуты представляют собой свойства, характеризующие сущность. В структуре таблицы каждый атрибут именуется и ему соответствует заголовок некоторого столбца таблицы.
Ключом отношения называется совокупность его атрибутов, однозначно идентифицирующих каждый из кортежей отношения. Иными словами, множество атрибутов К, являющееся ключом отношения, обладает свойством уникальности. Следующее свойство ключа - неизбыточность. То есть никакое из собственных подмножеств множества К не обладает свойством уникальности.
Каждое отношение всегда имеет комбинацию атрибутов, которая может служить ключом. Ее существование гарантируется принципом №3 РМД. По крайней мере, вся совокупность атрибутов обладает свойством уникальности.
Возможны случаи, когда отношение имеет несколько комбинаций атрибутов, каждая из которых однозначно определяет все кортежи отношения. Все эти комбинации атрибутов являются возможными ключами отношения. Любой из возможных ключей может быть выбран как первичный.
Ключи обычно используют для достижения следующих целей:
исключения дублирования значений в ключевых атрибутах (остальные атрибуты в расчет не принимаются);
упорядочения кортежей. Возможно упорядочение по возрастанию или убыванию значений всех ключевых атрибутов, а также смешанное упорядочение (по одним - возрастание, а по другим - убывание);
организации связывания таблиц.
Важным является понятие внешнего ключа. Внешний ключ можно определить как множество атрибутов одного отношения R2, значения которых должны совпадать со значениями возможного ключа другого отношения R1.
Атрибуты отношения К2, составляющие внешний ключ, не являются ключевыми для данного отношения.
С помощью внешних ключей устанавливаются связи между отношениями.
Ограничения целостности реляционной модели можно разделить на две группы - ограничения целостности сущностей и ограничения целостности ссылок.
Ограничения целостности сущностей заключаются в требовании уникальности кортежей отношения (записей таблицы). Отсюда вытекают следующие ограничения:
отсутствие кортежей-дубликатов (данное требование предъявляется лишь к атрибутам первичных ключей);
отсутствие атрибутов с множественным характером значений.
Ограничения целостности ссылок заключаются в том, что для любой записи с конкретным значением внешнего ключа должна обязательно существовать запись связанной таблицы-отношения с соответствующим значением первичного ключа.
К отношениям можно применять систему операций, позволяющую получать одни отношения из других. Например, результатом запроса к реляционной БД может быть новое отношение, вычисленное на основе имеющихся отношений. Поэтому можно разделить обрабатываемые данные на хранимую и вычисляемую части.
Основной единицей обработки данных в реляционных БД является отношение, а не отдельные его кортежи (записи).
Отсутствие упорядоченности записей в таблицах усложняет поиск. На практике с целью быстрого нахождения нужной записи вводят индексирование полей (обычно ключевых). Создание индексных массивов заключается в построении дополнительной упорядоченной информационной структуры для быстрого доступа к записям.
Как для самих таблиц, так и для индексных массивов применяются линейные и нелинейные структуры. В качестве линейных структур индексных массивов в большинстве случаев выступают инвертированные списки. Инвертированный список строится по схеме таблицы с двумя колонками - «Значение индексируемого поля» и «Номера строк» рисунок.
Значение индексируемого поля («год рождения») |
Номера строк |
|
1970 |
3 |
|
1971 |
5,17,123,256 |
|
1972 |
31,32,77 |
|
1973 |
11,45,58,167,231 |
|
1974 |
7,8,9,10,234,235,236 |
Пример инвертированного списка
Инвертированные списки чаще всего применяются для индексации полей, значения которых в разных записях могут повторяться. В этом случае количество ситуаций, при которых требуется добавление или удаление строк индекса, невелико и затраты на переупорядочение индекса при изменениях данных в базовой таблице незначительны.
Строки инвертированного списка упорядочиваются по значению индексируемого поля. Для доступа к нужной записи исходной таблицы сначала в упорядоченном инвертированном списке отыскивается строка с требуемым значением поля, затем считываются номера соответствующих записей основной таблицы, к которым осуществляется доступ по этим номерам.
Нелинейные структуры индексов применяются для создания индексных массивов ключевых полей или тех полей, значения по которым не повторяются. При организации индексов в таких случаях чаще всего используются древовидные иерархические структуры в виде В-деревьев.
4. Проектирование реляционных баз данных
Проектирование баз данных информационных систем является достаточно трудоемкой задачей. Оно осуществляется на основе формализации структуры и процессов предметной области, сведения о которой предполагается хранить в БД. Различают концептуальное и схемно-структурное проектирование.
Концептуальное проектирование БД ИС является в значительной степени эвр'истическим процессом. Адекватность построенной в его рамках инфологической модели предметной области проверяется опытным путем, в процессе функционирования ИС.
Перечислим этапы концептуального проектирования:
изучение предметной области для формирования общего представления о ней;
выделение и анализ функций и задач разрабатываемой ИС;
определение основных объектов-сущностей предметной области и отношений между ними;
формализованное представление предметной области.
При проектировании схемы реляционной БД можно выделить следующие процедуры:
определение перечня таблиц и связей между ними;
определение перечня полей, типов полей, ключевых полей каждой таблицы (схемы таблицы), установление связей между таблицами через внешние ключи;
установление индексирования для полей в таблицах;
разработка списков (словарей) для полей с перечислительными данными;
установление ограничений целостности для таблиц и связей;
нормализация таблиц, корректировка перечня таблиц и связей. Проектирование БД осуществляется на физическом и логическом уровнях. Проектирование на физическом уровне реализуется средствами СУБД и зачастую автоматизировано.
Логическое проектирование заключается в определении числа и структуры таблиц, разработке запросов к БД, отчетных документов, создании форм для ввода и редактирования данных в БД и т.д.
Одной из важнейших задач логического проектирования БД является структуризация данных. Выделяют следующие подходы к проектированию структур данных:
объединение информации об объектах-сущностях в рамках одной таблицы (одного отношения) с последующей декомпозицией на несколько взаимосвязанных таблиц на основе процедуры нормализации отношений;
формулирование знаний о системе (определение типов исходных данных и взаимосвязей) и требований к обработке данных, получение с помощью СА5Е-системы готовой схемы БД или даже готовой прикладной информационной системы;
· осуществление системного анализа и разработка структурных моделей.
На сегодняшний день реляционные базы данных остаются самыми распространенными, благодаря своей простоте и наглядности как в процессе создания так и на пользовательском уровне.
Основным достоинством реляционных баз данных совместимость с самым популярным языком запросов SQL. С помощью единственного запроса на этом языке можно соединить несколько таблиц во временную таблицу и вырезать из нее требуемые строки и столбцы (селекция и проекция). Так как табличная структура реляционной базы данных интуитивно понятна пользователям, то и язык SQL является простым и легким для изучения.
Реляционная модель имеет солидный теоретический фундамент, на котором были основаны эволюция и реализация реляционных баз данных. На волне популярности, вызванной успехом реляционной модели, SQL стал основным языком для реляционных баз данных.
В процессе анализа вышеизложенной информации выявлены следующие недостатки рассмотренной модели баз данных:
- так как все поля одной таблицы должны содержать постоянное число полей заранее определенных типов, приходится создавать дополнительные таблицы, учитывающие индивидуальные особенности элементов, при помощи внешних ключей. Такой подход сильно усложняет создание сколько-нибудь сложных взаимосвязей в базе данных;
- высокая трудоемкость манипулирования информацией и изменения связей.
2. Практическая часть
2.1 Общая характеристика задач
Наименование задачи: расчет электроэнергии.
Цель решения: рассчитать расход электроэнергии и определить ее стоимость по тарифу.
Место решения задачи: решается экономистом организации по ЖКУ.
2.2 Описание алгоритма решения задачи.
ООО «Энергос» осуществляет деятельность связанную с обеспечением электроэнергией физических и юридических лиц; и производит расчет по представленным услугам.
декабрь 2010 |
||||||
код плательщика |
Ф.И.О. плательщика |
Адрес |
показания счетчика на начало месяца, КВт |
показания счетчика на конец месяца, КВт |
||
001 |
Коломиец И.И |
проспект Мира 44-1 |
34578 |
34278 |
||
002 |
Петров А.А |
проспект Мира 44-3 |
23256 |
23296 |
||
003 |
Матвеева К.К |
проспект Мира 44-5 |
34589 |
34620 |
||
004 |
Сорокина М.М |
проспект Мира 44-7 |
98554 |
98700 |
||
005 |
Ивлев С.С |
проспект Мира 44-9 |
45544 |
45900 |
Литература
1. Дейт К. Руководство по реляционной СУБД DB2. - М.: Финансы и статистика, 1988. - 320 с.
2. Кириллов В.В. Основы проектирования реляционных баз данных. Учебное пособие. - СПб.: ИТМО, 1994. - 90 с.
3. Мейер М. Теория реляционных баз данных. - М.: Мир, 1987. - 608 с.
4. Ульман Дж. Базы данных на Паскале. - М.: Машиностроение, 1990. - 386 с.
5. http://www.citforum.ru/database/sql_kg/index.shtml «Основы проектирования реляционных баз данных»
Размещено на Allbest.ru
Подобные документы
Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.
реферат [57,1 K], добавлен 20.12.2010Современные информационные системы, их цели и структура. Основные функции баз данных. Иерархические, сетевые, реляционные, централизованные и распределенные модели баз данных. Понятие системы управления БД. Файл-серверные и клиент-серверные СУБД.
контрольная работа [21,0 K], добавлен 10.02.2011Логическая организация данных, файловая модель. Сетевые, иерархические и реляционные модели данных. Системы управления базами данных, их определения и основные понятия. История, тенденции развития, классификация СУБД, свойства и технология использования.
дипломная работа [51,3 K], добавлен 26.07.2009Основные понятия базы данных и систем управления базами данных. Типы данных, с которыми работают базы Microsoft Access. Классификация СУБД и их основные характеристики. Постреляционные базы данных. Тенденции в мире современных информационных систем.
курсовая работа [46,7 K], добавлен 28.01.2014Представление данных в памяти компьютера. Обобщенные структуры и модели данных. Методы доступа к информации. Физическая организация системы управления базами данных, структура сервера. Архитектура "клиент-сервер". Создание базы данных с помощью "Денвер".
курсовая работа [770,3 K], добавлен 17.11.2014Иерархические, сетевые и реляционные модели данных. Различия между OLTP и OLAP системами. Обзор существующих систем управления базами данных. Основные приемы работы с MS Access. Система защиты базы данных, иерархия объектов. Язык программирования SQL.
курс лекций [1,3 M], добавлен 16.12.2010Основные понятия серверов, базы данных и их классификация. Задача логического проектирования - разработка схемы, ориентированной на выбранную СУБД. Понятия сервер и клиент и закрепленные за ними роли. Специализация и комплектация серверного оборудования.
реферат [33,2 K], добавлен 08.04.2009Структура и функции системы управления базами данных (СУБД). Управление хранением данных и доступом к ним. Защита и поддержка целостности данных. Надежность хранения данных во внешней памяти. Классификация СУБД по способу доступа к базе данных.
презентация [3,7 M], добавлен 05.06.2014Понятие и сущность базы данных, их классификация и характеристика. Системы управления базами данных. СУБД структуры "сервер-клиент", его суть. Microsoft Access - функционально полная реляционная СУБД. Предназначение СУБД Access, и описание ее работы.
реферат [44,3 K], добавлен 27.02.2009Система управления базами данных как составная часть автоматизированного банка данных. Структура и функции системы управления базами данных. Классификация СУБД по способу доступа к базе данных. Язык SQL в системах управления базами данных, СУБД Microsoft.
реферат [46,4 K], добавлен 01.11.2009