Реляционные базы данных

    Федеральное агентство науки  и образования 

    Государственное образовательное  учреждение

      высшего профессионального  образования

    Вологодский Государственный 

    политехнический университет  
 
 
 
 
 
 
 

    Контрольная работа

    по  дисциплине Информационные системы в экономике

    на  тему: «Реляционные базы данных» 
 
 
 
 
 
 
 
 

Выполнила: студентка 3 курса,

                                                            Группы ЗБА – 33 Голикова А.А. 
 
 
 
 
 
 

                                                                          

Вологда 2011

      Содержание

      Введение ………………………………………………………………3

      1. Базы данных. Основные понятия …………………………………5

      2. Архитектура баз данных …………………………………………...7

      3. Проектирование баз данных ……………………………………..10

      4. Разработка баз даных

      4.1. Постановка задачи. Требования к информационным системам

      (ИС)……………………………………………………………………......15              

      4.2 Проектирование базы данных …………………………………....16

      5. Основы работы СУБД Microsoft Access …………………………23

      Заключение …………………………………………………………..25

      Список  использованной литературы ………………………………26 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      Введение

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

     Действительно, в узком смысле слова, база данных — это некоторый набор данных, необходимых для работы (актуальные данные). Однако данные — это абстракция; никто никогда не видел "просто данные"; они не возникают и не существуют сами по себе. Данные суть отражение объектов реального мира.

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

     Принято считать, что реляционный подход к организации баз данных был  заложен в конце 1960-х гг. Эдгаром  Коддом. В последние десятилетия этот подход является наиболее распространенным (с оговоркой, что в называемых в обиходе реляционными системах баз данных, основанных на языке SQL, в действительности нарушаются некоторые важные принципы классического реляционного подхода). Достоинствами реляционного подхода принято считать следующие свойства: реляционный подход основывается на небольшом числе интуитивно понятных абстракций, на основе которых возможно простое моделирование наиболее распространенных предметных областей; эти абстракции могут быть точно и формально определены; теоретическим базисом реляционного подхода к организации баз данных служит простой и мощный математический аппарат теории множеств и математической логики; реляционный подход обеспечивает возможность ненавигационного манипулирования данными без необходимости знания конкретной физической организации баз данных во внешней памяти. Компьютерный мир далеко не сразу признал реляционные системы. В 70-е года прошлого века, когда уже были получены почти все основные теоретические результаты и даже существовали первые прототипы реляционных СУБД, многие авторитетные специалисты отрицали возможность добиться эффективной реализации таких систем. Однако преимущества реляционного подхода и развитие методов и алгоритмов организации и управления реляционными базами данных привели к тому, что к концу 80-х годов реляционные системы заняли на мировом рынке СУБД доминирующее положение.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      1. Базы данных. Основные  понятия

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

      Основные  требования к СУБД.

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

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

      Транзакция  — это последовательность операций над БД, рассматриваемых как единое целое (то есть или все, или ничего). Например, при оформлении заказа на определенный товар в системе нужно выполнить такие операции: регистрацию заказа и резервирование определенного количества товара, а также уменьшение данного товара на складе. Если на любом этапе изменения данных произойдет сбой, то целостность БД будет нарушена. Для предотвращения подобных нарушений вводится транзакция «Оформление заказа», в которой над БД либо должны произвестись все необходимые операции (товар продан, уменьшен его запас на складе), либо должен произойти возврат к исходному состоянию (товар не продан, его количество на складе не изменилось).

      2. Актуальность хранимых данных. В любой момент времени информация, содержащаяся в БД, должна быть современной.

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

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

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

  • непосредственное управление данными во внешней и оперативной памяти и обеспечение эффективного доступа к ним в процессе решения задач;
  • поддержание целостности данных и управление транзакциями;
  • ведение системного журнала изменений в БД для обеспечения восстановления БД после технического или программного сбоя;
  • реализация поддержки языка описания данных и языка запросов;
  • обеспечение безопасности данных;
  • обеспечение параллельного доступа к данным нескольких пользователей.
 
 
 
 
 
 
 
 
 

      2. Архитектура баз данных

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

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

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

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

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

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

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

     Эксплуатация  начинается с заполнения БД реальными данными. На этом этапе необходимо сопровождение БД, т.е. проведение контроля непротиворечивости, резервное копирование, архивирование и т.д.

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

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

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

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

     Главным лицом в группе разработчика является администратор БД. Он руководит всеми работами по проектированию и программной реализации БД. На стадии эксплуатации он отвечает за функционирование ИС и управляет режимом использования данных. Его основные задачи при эксплуатации системы:

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

      3. Проектирование баз данных

     Проектирование  БД заключается в ее многоступенчатом описании с различной степенью детализации и формализации, в ходе которого производится уточнение и оптимизация структуры БД. Проектирование начинается с описания предметной области и задач ИС, идет к более абстрактному уровню логического описания данных и далее — к схеме физической (внутренней) модели БД. Трем основным уровням моделирования системы — концептуальному, логическому и физическому соответствуют три последовательных этапа детализации описания объектов БД и их взаимосвязей.

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

     На  следующем шаге принимается решение  о том, в какой конкретно СУБД будет реализована БД.

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

    - удобство и простота использования;

    - качество средств разработки, защиты и контроля БД;

     - уровень коммуникационных средств (в случае применения ее в сетях);

    - фирма-разработчик;

    - стоимость.

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

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

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

     ДОСТОИНСТВА РЕЛЯЦИОННОЙ МОДЕЛИ

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

         НЕДОСТАТКИ  РЕЛЯЦИОННОЙ МОДЕЛИ

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

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

     Физическая  модель содержит полную информацию, необходимую для реализации конкретной БД.

         ПОНЯТИЕ ОБ ИНДЕКСИРОВАНИИ

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

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

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

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

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

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

          РАЗДЕЛЕНИЕ  ТАБЛИЦ

      Разделение (разбиение) таблиц в целях ускорения  работы системы может быть горизонтальным или вертикальным.

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

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

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

      4. Разработка баз  данных

      4.1. Постановка задачи. Требования к информационным системам (ИС)

     Рассмотрим  пример, который позволит дать представление об этапах разработки БД для экономических приложений.

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

     Агентство организует индивидуальные и групповые туры в различные страны. Договор включает название компании-клиента, данные о контактном лице, описание предмета договора (страна, число туристов, тур), дату начала исполнения договора, дату окончания исполнения, дату оплаты.

     В реализации заказа принимает участие сотрудник туристического агентства.

     В функции ИС входит, например, получение  информации по следующим четырем пунктам.

         1. Клиенты:

  • о клиентах агентства для реализации контактной деятельности;
  • о постоянных клиентах агентства;
  • о клиентах, дающих наибольший доход.

         2. Договор:

  • о платежах по договору;
  • о турах, пользующихся наибольшим спросом;
  • о турах, приносящих наибольший доход.

         3. Контроль исполнения:

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

     4. Бизнес-анализ:

  • список всех туров, сгруппированный по странам (регионам, сезонам);
  • индивидуальные туры;
  • групповые туры;
  • число туров в каждый регион;
  • годовой поквартальный отчет с указанием суммы и числа договоров;
  • финансовый отчет и др.

     Такая постановка задачи позволяет выделить такие массивы информации, как клиенты; договоры; страны; сотрудники.

      4.2 Проектирование базы  данных

     КОНЦЕПТУАЛЬНАЯ  МОДЕЛЬ БАЗЫ ДАННЫХ. Первый этап проектирования заключается в описании объектов БД (сущностей), определении их атрибутов и в установлении связей между сущностями. Для БД туристического агентства можно задать такие атрибуты сущностей:

 

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

ЛОГИЧЕСКАЯ МОДЕЛЬ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ. Логическая модель строится на основе концептуальной. Для реляционной модели данных каждая сущность преобразуется в набор отношений (таблиц), построенных по определенным строго заданным правилам. Таблица состоит из столбцов (полей) и строк (записей).

Для этого  требуется выполнить следующие  действия:

  1. Создать по одной таблице для каждой сущности.
  2. Для каждой сущности, выступающей во взаимоотношениях с другими сущностями как «один-ко-многим» или «один-к-одному», указать один столбец в качестве первичного ключа.
  3. Задать первичный ключ для каждой сущности, выступающей во взаимоотношениях как «многие-к-одному».

          Проведем  это преобразование для нашего примера.

  1. На основе концептуальной модели можно создать четыре таблицы: Сотрудники, Клиенты, Страны, Договоры.
  2. Зададим первичные ключи для таблиц Договоры, Клиенты, Страны и Сотрудники, выступающих в связях как «один-ко-многим».

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

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

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