Курсовая работа (т): Базы данных

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Базы данных

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА

СМОЛЕНСКИЙ ФИЛИАЛ

ФЕДЕРАЛЬНОГО ГОСУДАРСТВЕННОГО БЮДЖЕТНОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ»






Базы данных

КУРСОВАЯ РАБОТА











г.

Введение


В современном мире деятельность организации не представляется без использования баз данных.

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

Данными в базе данных могут быть числовые величины, строки.

Мы рассмотрим использование базы данных в колледже при проведении инвентаризации оборудования. Предполагается, что приход каждого оборудования фиксируется документально. После оприходования оборудование нужно передать в определённый кабинет колледжа. Каждый кабинет имеет своё ответственное лицо. Оборудование так же можно списывать по мере необходимости. При проведении инвентаризации фиксируется фактическое количество оборудования (которое, не списано).

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

1.      Теоретические основы систем баз данных

.1 Основные определения теории БД


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

иерархическая,

сетевая,

реляционная,

объектно-ориентированная,

объектно-реляционная.

Объекно-ориентированную и объектно-реляционную модели часто называют постреляционными моделями данных.

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

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

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

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

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

Самое широкое применение нашли реляционные модели данных.

В реляционной модели рассматриваются три аспекта данных - структура данных, целостность данных и обработка данных.

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

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

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

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

Существует три разновидности связей между таблицами базы данных:

 «один-ко-многим»,

 «один-к-одному»,

 «многие-ко-многим».

Отношение «один-ко-многим» имеет место, когда одной записи родительской таблицы может соответствовать несколько записей в дочерней таблице.

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

Отношение «один-к-одному» имеет место, когда одной записи в родительской таблице соответствует одна запись в дочерней таблице.

Отношение «многие-ко-многим» имеет место, когда:

а) записи в родительской таблице может соответствовать больше одной записи в дочерней таблице;

б) записи в дочерней таблице может соответствовать больше одной записи в родительской таблице.

1.2    Основные определения теории БД


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

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

Логическая организация представляет собой модель структуры всей совокупности данных (ориентирована на человека). По сути, это способ объединения данных в записи, это «взгляд» на данные с точки зрения их использования в прикладных программах. Логическая организация БД - это представление пользователя о той предметной области, информация о которой должна хранится в базе данных. Результатом логического проектирования является концептуальная схема БД (это логическая модель предметной области). Эта модель отражает три вида информации: сведения об объектах предметной области, сведения о свойствах объектов, сведения об отношениях между объектами. Такая модель не зависит от: физической среды (типа ЭВМ), операционной системы, СУБД.

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

1.3Распределённые БД


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

) простота использования системы;

) возможности автономного функционирования при нарушениях связности сети или при административных потребностях;

) высокая степень эффективности.

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

Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов. Таким образом, в этой модели реализуется однопользовательский режим работы.

Подобная архитектура использовалась в первых версиях СУБД DB2, Oracle, Ingres.

Использование архитектуры «клиент-сервер» предполагает наличие некоторого количества компьютеров, объединенных в сеть, один из которых выполняет особые управляющие функции (является сервером сети). Так, архитектура «клиент-сервер» разделяет функции приложения пользователя (называемого клиентом) и сервера. Приложение-клиент формирует запрос к серверу, на котором расположена БД, на структурном языке запросов SQL (Structured Query Languague), являющемся промышленным стандартом в мире реляционных БД. Удаленный сервер принимает запрос и переадресует его SQL-серверу БД. В результате работа построена следующим образом: база данных в виде набора файлов находится на жестком диске специально выделенного компьютера (сервера сети), СУБД располагается также на сервере сети, существует локальная сеть, состоящая из клиентских компьютеров, на каждом из которых установлено клиентское приложение для работы с БД. На каждом из клиентских компьютеров пользователи имеют возможность запустить приложение. Используя предоставляемый приложением пользовательский интерфейс, он инициирует обращение к СУБД, расположенной на сервере, для запроса к информации. Для общения используется специальный язык запросов SQL, т.е. по сети от клиента к серверу передается лишь текст запроса.

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

Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов.

В архитектуре «клиент-сервер» используются так называемые «удаленные» СУБД.

К разряду промышленных СУБД принадлежат Oracle, Gupta, Informix, Sybase, MS SQL Server, DB2, InterBase и ряд других

По сравнению с архитектурой «файл-сервер» можно выделить следующие преимущества:

существенное уменьшение сетевого трафика;

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

повышение целостности и безопасности БД.

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

.4 Современные Базы данных


Современные СУБД можно разделить на следующие группы:

-        Устаревшие: Paradox, Clarion.

-        dBase-подобные: dBase, FoxBASE, Fox-plus, Clipper

-        Локальные: Access

-        SQL серверы: Ms SQL Server, Oracle, InterBase/Firebird/Yaffil, IBM DB2, MySQL, также Informix, Btrieve, Sybase

Группа реляционных СУБД представлена на рынке программных продуктов очень широко. Это, например, такие системы, как Paradox, R:base, Clarion, однако доминирующее положение занимает семейство так называемых dBASE-подобных СУБД, родоначальником которого является СУБД dBASEII, предложенная фирмой Ashton-Tate в начале 80-ых годов. В настоящее время широко распространено новое поколение популярных пакетов: dBASEIV, FoxPro и Clipper-5.

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

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

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

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

В Access присутствует язык VisualBasic, позволяющий создавать массивы, свои типы данных. С помощью оле-технологий позволяет контролировать работу приложений. Работа с базой в Access осуществляется через окно контейнера БД. Также встроен язык SQL.

В Access поддерживается два способа создания БД (БД - совокупность взаимосвязанных таблиц):

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

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

SQL Server 2000 -семейство продуктов, разработанных для хранения данных в больших системах, осуществляющих обработку информации, и обслуживания коммерческих Web-узлов. SQLServer 2000 прост и удобен в использовании, он широко применяется как в сложных системах, с которыми работают сотни пользователей, так и в малом бизнесе. Он популярен также у отдельных пользователей, которым нужен надежный и удобный сервер БД. В состав SQL Server2000 входят две основные службы, предназначенные для новой платформы Microsoft .NET и систем с традиционной двухуровневой клиент-серверной архитектурой. Первая служба, SQL Server- это высокопроизводительное реляционное ядро БД, обеспечивающее прекрасную масштабируемость систем, созданных на его основе. Вторая -SQL Server 2000 Analysis Services - предоставляет множество средств анализа данных, которые размещаются в специальных хранилищах и киосках данных и используются системами принятия решений.

Сервер Oracle позволяет хранить очень большие объемы информации и предоставляет пользователямбыстрый доступ к этим данным.отличается от SQLсервер тем, что поддерживает продвинутые аппаратные конфигурации (1000 процессоров). SQL сервер не поддерживает сложныеконфигурации.

Помимо ОС пользователи могут поставить отдельные программы дополнительно: средства работы с видео данными, WWW-сервер, средства поддержки систем масштаба предприятия, средства обработки пространственных данных, имеет систему контекст, средства оперативно-аналитической обработки данных (DLAP).

Сервер БД Oracle часто называют ядром БД Oracle. Процедурные компоненты сервера обеспечивают обработку запросов на языке PL/SQL и поддерживают хранимые процедуры, триггеры БД, пакеты хранимых процедур и функций. Средства распределенной обработки (дают возможность пользователю работать с информацией, находящейся в удаленных базах);

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

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

.5 Элементы приложения информационных систем


Многозвенная архитектура приложений баз данных вызвана к жизни необходимостью обрабатывать на стороне сервера запросы от большого числа удаленных клиентов. При большом числе клиентов вся вычислительная нагрузка ложится на сервер БД, который обладает довольно скудным набором средств для реализации сложной бизнес-логики (хранимые процедуры, триггеры, просмотры и т. д.). И разработчики вынуждены существенно усложнять программный код клиентского ПО, а это крайне нежелательно при наличии большого числа удаленных клиентских компьютеров. Ведь с усложнением клиентского ПО возрастает вероятность ошибок и усложняется его обслуживание.

Источник: https://www.bibliofond.ru/detail.aspx?id=792142