ФЕДЕРАЛЬНОЕ АГЕНтСТВО ПО ОБРАЗОВАНИЮ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ГОУ ВПО Ростовский государственый экономический УНИВЕРСИТЕТ «РИНХ»
бАЗЫ ДАННЫХ
Учебное пособие
Допущено Учебно-методическим объедине-нием по образованию в области прикладной информатики в качестве учебного пособия для студентов высших учебных заведений, обучающихся по специальности «Прикладная информатика (по областям)» и другим экономическим специальностям
Ростов на Дону
2006
Печатается по решению кафедры экономической информатики и автоматизации управления
Автор: Л.Ф. Панферова
Рецензенты: д.э.н., проф. Е.Н.Ефимов
д.тех.н., проф. Е.М. Ульяницкий
Учебное пособие предназначено для изучения и практического освоения современных методов проектирования баз данных, систем управления базами данных, разработки автоматизированных технологий по созданию и работе с базами данных с помощью MS Access.
В состав учебного пособия включены основные сведения по проектированию реляционных баз данных, с использованием метода сущность-связь, метода нормальных форм. В пособие включены основные сведения по организации работы с СУБД Access, описание ее функций и возможностей применения, а также задания для лабораторных работ и рекомендации по их выполнению.
Для выполнения самостоятельной работы в учебном пособии приводится структура базы данных, которую можно использовать для выполнения предложенных заданий, которые позволят углубить навыки и знания.
© ГОУ ВПО Ростовский государственный экономический университет «РИНХ» , 2006
Введение
Ни одна современная информационная система, используемая в бизнесе, не обходится без использования базы данных. Поэтому значимость сравнительно молодой области знаний, которой является теория баз данных, растет с каждым годом. Знания, получаемые по информационным системам, бизнес - программированию, системному проектированию, передачи данных, не могут быть полными без изучения вопросов по созданию и сопровождению базы данных, концептуальному проектированию, реализации проекта в виде реляционной, иерархической или сетевой модели.
Современный рынок программных продуктов обладает достаточным многообразием СУБД, позволяющих создавать базы данных различных моделей и осуществлять разработку приложений с их использованием.
СУБД MS Access заняло определенную нишу на рынке программных продуктов и продолжает ее удерживать. Несмотря на то, что имеются и другие продукты, эта СУБД не оставляет своих позиций для разработки персональных баз данных и клиентской части распределенных баз данных. Поэтому в предлагаемом учебном пособие рассматриваемые вопросы по созданию баз данных, построению и выполнению запросов пользователей, организации экранных форм и отчетов демонстрируются в среде MS Access.
Большое внимание в учебном пособии отводится вопросам проектирования базы данных. Это связано с несколькими причинами.
Во-первых, задача проектирования заключается в выборе подходящей логической структуры базы данных, обеспечивающей возможность создания такой информационной системы, которая позволяет конечному пользователю решать все задачи с ее использованием.
Во-вторых, проектирование решает вопрос о наиболее эффективной структуре данных, которая обеспечивает быстрый доступ к ним, исключает ненужное повторение данных и обеспечивает целостность.
Кроме того, уделяется особое внимание концептуальному проектированию, так как именно на этом уровне мы можем создать макет, не зависящий от аппаратного обеспечения, операционной системы и СУБД.
Предлагаемые задания для лабораторных работ должны помочь студенту овладеть возможностями, которыми обладает MS Access для решения прикладных задач.
В учебном пособии приводится структура базы данных «Предприятие», которую необходимо создать, наполнить данными. Для самостоятельной работы предлагается построить ряд запросов, создать экранные формы, чтобы закрепить навыки, полученные при выполнении лабораторных работ, а также углубить свои знания, как теоретического, так и практического характера.
Несколько слов о содержании учебного пособия. Основные материалы содержаться в трех взаимодополняющих разделах.
Раздел 1 Общие вопросы организации баз данных включает краткую историю развития теории баз данных, которая начинается с рассмотрения вопросов хранения данных в файлах последовательного и прямого методов доступа. Далее приводится перечень основных недостатков файлового способа хранения данных и преимущества хранения информации в базах данных. Описываются основные понятия и определения систем баз данных вообще и реляционной системы в частности. Обсуждаются вопросов проектирования баз данных, системы безопасности и видов привилегий.
Раздел 2 Проектирование базы данных посвящен рассмотрению этапов проектирования базы данных на конкретном примере.
Раздел 3 Задания для лабораторных работ и самостоятельной работы содержит варианты лабораторных работ, позволяющих получить практические навыки по созданию базы данных и построению запросов, форм и отчетов средствами MS Access. В этом же разделе приведены задания для самостоятельной работы студентов, особенно полезные для заочной формы обучения, по которым они смогут самостоятельно выполнить проектирование базы данных и разработать экранные формы и запросы, которые используются в информационных системах.
Раздел 1. Общие вопросы организации баз данных 1.1 История развития баз данных
Теория баз данных – сравнительно молодая область знаний. Возраст ее около 40 лет, но, несмотря на молодой возраст, невозможно представить ни одну из современных информационных систем без использования баз данных.
Рождением этой области знаний можно считать период конца шестидесятых – начало семидесятых годов, когда произошел переход от обработки данных к обработке информации. Это изменение отражает рост понимания того, что информация – это не просто деловые записи. Информация – это обработанные данные. Начинается понимание ценности информации и компьютерных систем в деле поддержания признанного ресурса и управления им. Информационная система понимается, как система, организующая данные и выдающая информацию.
Первые информационные системы организацию хранения данных связывали с тем, как она была бы организована при ручной обработке. То есть компьютерные файлы соответствовали папкам для бумаг (file folder). И компьютерный файл содержал ту информацию, которая вполне могла бы лежать в одной обычной папке. Эти файлы допускали лишь последовательный доступ. Это означает, что каждая запись в файле может быть прочитана и обработана только после того, как прочитаны все предшествующие ей записи в файле.
Для выполнения большого количества рутинной работы требовался произвольный доступ – возможность напрямую обращаться к конкретной записи без предварительной сортировки или последовательного чтения всех записей.
Частично эта проблема была решена с появлением индексно-последовательных файлов, которые обеспечивали прямое обращение к нужной записи. Эти файлы позволяли выбрать одно или несколько полей – называемых ключом или индексом– для точного задания того, какую запись извлекать.
Ключ – это поле или совокупность полей данных, однозначно определяющих запись в файле.
Контрольные вопросы -
В чем сущность последовательного метода выбора информации?
-
В чем сущность произвольного доступа к информации?
1.2 Недостатки традиционных файловых систем
Несмотря на появление файлов с произвольным доступом, быстро стало очевидным, что файловые системы любого типа обладают некоторыми недостатками:
-
Избыточность данных. Она связана с тем, что для каждого приложения создаются свои собственные файлы данных. (Программы, с помощью которых пользователи работают с данными, называются приложениями.) Некоторые единицы данных, повторяющиеся в разных приложениях, соответствуют полям в разных файлах, причем они могут называться по-разному. Одно и тоже поле в разных файлах может, кроме того, иметь разную длину. Следствием такой избыточности данных являются лишние затраты на поддержание и хранение данных. Избыточность данных также порождает риск противоречий между разными версиями общих данных.
-
Слабый контроль данных. В файловых системах отсутствует централизованный контроль на уровне элементов данных. Это опять связано с тем, что один и тот же элемент данных имеет несколько имен в зависимости от того, в какие файлы он входит. Не исключена вероятность и того, что разные отделы компании пользуются терминологией, не согласованной с остальными.
-
Недостаточные возможности управления данными. Индексно-последовательные файлы позволяют обращаться к определенной записи по ключу. Этого достаточно пока нужна лишь отдельная запись. Если же нужен целый ряд связанных между собой записей, то такую информацию трудно, если не невозможно извлечь из файловой системы.
-
Большие затраты труда программиста. Новая прикладная программа требует совершенно нового набора файлов. То есть в файловой системе существует жесткая зависимость между программами и данными.
Контрольные вопросы -
В чем проблема избыточности данных в файлах с произвольным доступом?
-
Возможно, ли именовать по-разному поля в последовательных файлах?
1.3 Основные понятия и определения
Файлы ни с последовательным, ни с произвольным методом доступа не смогли до конца решить проблем, связанных с хранением и обработкой данных. Поэтому потребовалось искать какие-то новые средства. Такими средствами стали системы управления базами данных (СУБД).
Средствами СУБД любой пользователь может создавать файлы БД, просматривать их, изменять, выполнять поиск, формировать отчеты произвольной формы.
Что же такое база данных?
К. Дж. Дейт, один из известнейших теоретиков этой области знаний, дает следующее определение: «база данных – состоит из некоторого набора постоянных данных, которые используются прикладными системами для какого-то предприятия».
Известны и другие определения, приведем их.
База данных – это множество взаимосвязанных элементарных групп данных, которые могут обрабатываться одной или несколькими прикладными системами. База данных представляет собой совокупность таблиц связанных определенными отношениями. База данных – это специальным образом организованное хранение информационных ресурсов в виде интегрированной совокупности файлов, обеспечивающее удобное взаимодействие между ними и быстрый доступ к данным. То есть данные связываются в соответствии с их внутренними логическими взаимоотношениями, а не физическими указателями. Пользователи могут комбинировать данные из разных источников, если логическая информация, необходимая для такого комбинирования, присутствует в исходных данных.
Банк данных (БнД) – это автоматизированная система, представляющая совокупность информационных, программных, технических средств и персонала, обеспечивающих хранение, накопление, обновление, поиск и выдачу данных. Главными составляющими банка данных являются база данных и программный продукт, называемый системой управления базой данных.
БМД – это база метаданных, именно здесь и хранится вся информация об используемых структурах данных, логической организации данных, правах доступа пользователей и, наконец, физическом расположении данных.
База данных должна обеспечивать независимость существования информационного массива от прикладных программ его обслуживающих.
Система баз данных – это, по сути, не что иное, как компьютеризированная система хранения записей. Саму же базу данных можно рассматривать как подобие электронной картотеки, то есть хранилище для некоторого набора записываемых в компьютер файлов данных.
Основная цель системы – содержать информацию и предоставлять ее по требованию. К информации можно отнести все необходимое для текущей работы данного пользователя или предприятия.
Под «файлом» базы данных подразумевается абстрактный набор данных, который на практике может не совпадать с физическим дисковым файлом. Пользователю этой системы предоставляется возможность выполнять множество различных операций над такими файлами, например:
-
добавлять новые пустые файлы в базу данных;
-
добавлять новые данные в существующие файлы;
-
вести поиск данных в существующих файлах;
-
удалять данные из существующих файлов;
-
удалять существующие файлы из баз данных;
-
изменять данные в существующих файлах.
Можно выделить четыре главных компонента системы: база данных; аппаратное обеспечение; программное обеспечение общего назначения, называемого системой управления базой данных и пользователи.
Контрольные вопросы -
Дайте определение базы данных.
-
Назовите компоненты системы баз данных.
1.4 Преимущества баз данных
Различают однопользовательские системы (single – user – system) – это системы, в которых в одно и тоже время к базе данных может получить доступ не более одного пользователя; и многопользовательские системы (multi – user – system) – это системы, в которых к базе данных могут получить доступ сразу несколько пользователей.
В общем случае данные в базе данных являются интегрированными и общими. Что является наиболее важным ее преимуществом.
Интеграция данных подразумевает возможность представить базу данных как объединение нескольких отдельных файлов данных, полностью или частично не перекрывающихся.
Общие данные подразумевают возможность использования отдельных областей в базе данных несколькими различными пользователями.
Между физической базой данных и пользователями системы располагается уровень программного обеспечения – диспетчер базы данных или система управления базой данных (СУБД). Основная функция СУБД – предоставление возможности пользователю баз данных работать с ней, не вникая в детали на уровне аппаратного обеспечения.
Пользователи базы данных делятся на три большие группы:
-
прикладные программисты. Это сотрудники компании, которые создают прикладное программное обеспечение для решения конкретных задач компании. Программное обеспечение может быть написано на стандартном языке программирования типа Си или же на языке (обычно называемом языком четвертого поколения), входящем в комплект системы управления базой данных;
-
конечные пользователи. Это те люди, которым информация базы данных требуется для выполнения их прямых служебных обязанностей;
-
администраторы. Выделяют администратора сервера баз данных. Он ведает установкой, конфигурированием сервера, регистрацией пользователей, групп, ролей и т.п. Прямо или косвенно он обладает всеми привилегиями, которые имеют или могут иметь другие пользователи. Кроме администратора сервера может быть и администратор базы данных. К этой категории относится любой пользователь, создавший базу данных, и, следовательно, являющийся ее владельцем. Он может предоставлять другим пользователям доступ к базе и к содержащимся в ней объектам. Администратор базы отвечает за ее сохранение и восстановление. В принципе в организации может быть много администраторов баз данных.
Преимущества системы баз данных по сравнению с бумажными методами сохранения записей следующие:
-
компактность;
-
скорость;
-
низкие трудозатраты;
-
применимость.
Преимущества баз данных, связанные с централизованным управлением:
-
возможность сокращения избыточности;
-
возможность устранения противоречивости;
-
возможность общего доступа к данным;
-
соблюдение стандартов;
-
введение ограничений для обеспечения безопасности;
-
обеспечение целостности данных;
-
возможность сбалансировать противоречивые требования.
Основная цель систем баз данных – обеспечение независимости данных. Независимость данных можно определить как иммунитет к изменениям в структуре хранения данных и в методах доступа к ним.
Контрольные вопросы -
Назовите наиболее важные преимущества баз данных.
-
В чем преимущества баз данных, связанные с централизованным управлением?
1.5 Основополагающие категории в теории баз данных
Одними из основополагающих в концепции баз данных являются обобщенные категории “данные” и “модель данных”.
Понятие «данные» – это набор конкретных значений, параметров, характеризующих объект, условие, ситуацию или любые другие факторы.
Данные не обладают определенной структурой, данные становятся информацией тогда, когда пользователь задает им определенную структуру, то есть осознает их смысловое содержание.
Модель данных – это некоторая абстракция, которая, будучи применима к конкретным данным, позволяет пользователям и разработчикам трактовать их уже как информацию, то есть сведения, содержащие не только данные, но и взаимосвязь между ними.
Модель, выражающая информацию о предметной области в виде, независимом от используемой СУБД, называется инфологической или семантической. Она отражает в естественной и удобной для разработчиков и других пользователей форме информационно-логический уровень абстрагирования, связанный с фиксацией и описанием объектов предметной области, их свойств и их взаимосвязей.
Инфологические модели данных используются на ранних стадиях проектирования для описания данных в процессе разработки приложения, а даталогические модели уже поддерживаются конкретной СУБД.
Обычно данные в базе данных называют «постоянными» (хотя они могут недолго оставаться таковыми!). Под словом «постоянные» подразумеваются данные, которые отличаются от других, более изменчивых данных, таких как промежуточные результаты, входные и выходные данные, управляющие операторы, рабочие очереди и вообще все транзитные данные.
Входные данные – это информация, передаваемая системе (обычно с терминала или рабочей станции). Такая информация может стать причиной изменений в постоянных данных (она может стать частью постоянных данных), но не является частью базы данных как таковой.
Выходные данные – это сообщения и результаты, выдаваемые системой (обычно выдаются на печать или отображаются на экране). И опять же эту информацию можно брать из постоянных данных, но ее нельзя рассматривать как часть базы данных.
База данных состоит из некоторого набора постоянных данных, которые используются прикладными системами на предприятии.
Предприятие – это любая независимая коммерческая, научная, техническая или другая организация. Любое предприятие неизбежно имеет большое количество данных, связанных с его деятельностью. Это и есть постоянные данные.
На практике сегодняшние предприятия используют две отдельные базы данных: с операционными данными и с данными для поддержки принятия решений. Базы данных систем принятия решения часто содержат отчетную информацию (например, итоги и средние результаты), которую, в свою очередь, периодично (раз в день или раз в неделю, например) получают из операционной базы данных (постоянной базы данных).
Обычно предприятию требуется записывать информацию об имеющихся проектах, деталях, поставщиках, складах, служащих. Все это составляет основные объекты, о которых необходимо хранить информацию.
Под термином объект мы будем понимать все, что может быть представлено в базе данных. Объект – это то, о чем необходимо записать информацию.
Кроме основных объектов существуют еще и отношения между ними, которые связывают их вместе.
Отношения могут быть: бинарными (связываются два типа объектов); отношения, связывающие один тип объектов; может быть любое количество отношений (служащие заняты в проекте, служащие управляют проектом).
Следует отметить, что отношение подобно основным объектам является частью данных. Поэтому вместе с основными объектами отношения тоже должны быть представлены в базах данных.
Схему, связывающую объекты между собой, будем называть схемой объект/отношения или диаграммой объект отношения.
Отметим несколько моментов в построении схемы:
-
большинство отношений в схеме связывают два типа объектов (т.е. они являются бинарными). Но возможно связать и три объекта (поставщики, проекты и детали) – тройное отношение. Т.е. определенные поставщики поставляют определенные детали для определенных проектов;
-
отношение может связывать один тип объектов. Например, детали. Это отношения означает, что некоторые детали содержат другие компоненты (спецификация материалов);
-
в наборе объектов может быть любое количество отношений. Например. Служащие заняты в проектах – один факт, и другой – служащие управляют проектом.
Дадим определение терминов: хранимое поле, хранимая запись, хранимый файл.
Хранимое поле - это поименованная единица хранения данных. Вообще, база данных содержит много экземпляров каждого из нескольких типов хранимых полей.
Хранимая запись – это набор связанных хранимых полей. Здесь также различают тип и экземпляр. Экземпляр хранимой записи состоит из группы связанных экземпляров хранимых полей.
Хранимый файл – это набор всех экземпляров хранимых записей одного типа.
В базах данных логическая запись не обязательно совпадает с хранимой записью, то есть может понадобиться внести изменения в структуру хранения данных, в то время как логическая структура остается неизменной.
Контрольные вопросы
-
Поясните структуру инфологической модели
Назовите типы объектов в отношении.
1.6 Модели систем баз данных
Почти все базы данных, созданные с конца 70-х годов, основаны на реляционном подходе. Более того, подавляющее большинство научных исследований в области баз данных в течение последних 35 лет проводилось в этом направлении.
Реляционный подход представляет собой основную тенденцию сегодняшнего рынка, и реляционная модель – единственная наиболее существенная разработка в истории развития баз данных.
Дореляционные системы можно разделить на три большие категории:
система инвертированных списков;
иерархические;
сетевые.
Системы инвертированных списков: CA – DATACOM/DB компании Computer Associates International.
Иерархические системы: IMS корпорации IBM.
Сетевые: CA – IDMS/DB компании Computer Associates International Inc.
Первые реляционные продукты начали появляться в конце 1970-х – начало 1980-х годов. А в 1998г. существовало уже более 250 коммерческих реляционных продуктов.
Среди них DB2 корпорации IBM; Rdb/VMS корпорации Digital Equipment; ORACLE корпорации Oracle; INGRES компании Ingress Division of the Ask Group Ins; SYBASE компании SYBASE Ins. и многие другие.
Несколько позже исследования велись в направлении так называемых «постреляционных» систем, некоторые из них основаны на совместимых снизу вверх расширениях оригинального реляционного подхода, другие представляют собой попытки создать что-то отличное.
Перечислим лишь некоторые наиболее поздние из них:
-
дедуктивные СУБД;
-
экспертные СУБД;
-
расширяемые СУБД;
-
объектно-ориентированные СУБД;
-
семантические СУБД;
-
универсальные СУБД.
Постреляционная модель допускает многозначные поля, чем снимается ограничение неделимости данных, хранящихся в записях таблиц.
По способу установления связей между данными различают реляционную, иерархическую и сетевую модели.
В настоящее время создано большое количество СУБД, имеющих приблизительно одинаковые возможности. Все они позволяют создавать файлы БД, редактировать их, обновляя записи, удаляя ненужные, добавляя новые. Созданные файлы БД можно упорядочивать по значению определенного индексного реквизита, выполнять поиск информации в базе, формировать отчеты заданной формы. Кроме того, очень важной является функция изменения структуры уже созданного файла базы данных.
Увеличение объема и структурной сложности хранения данных, расширение круга пользователей информационных систем привели к широкому распространению наиболее удобных и сравнительно простых для понимания реляционных СУБД. В них тем или иным путем решаются специфические проблемы параллельных процессов, целостности (правильности) и безопасности данных, а также санкционированного доступа.
Достоинством реляционной модели является сравнительная простота инструментальных средств ее поддержки, недостатком – жесткость структуры данных (невозможность, например, задания строк таблицы произвольной длины) и зависимость скорости ее работы от размера базы данных.
Реляционная модель является простейшей и наиболее привычной формой представления данных в виде таблицы. В теории множеств таблице соответствует термин отношение (relation), который и дал название модели. Для нее имеется развитый математический аппарат – реляционное исчисление и реляционная алгебра, где для баз данных (отношений) определены такие хорошо известные теоретико-множественные операции, как объединение, вычитание, пересечение, соединение и др.
Иерархическая и сетевая модели предполагают наличие связей между данными, имеющими какой-либо общий признак. В иерархической модели такие связи могут быть отражены в виде дерева- графа, где возможны только односторонние связи от старших вершин к младшим. Это облегчает доступ к необходимой информации, но только если все возможные запросы отражены в структуре дерева. Никакие иные запросы удовлетворены быть не могут.
Указанный недостаток снят в сетевой модели, где, по крайней мере, теоретически, возможны связи “всех со всеми”. Поскольку на практике это, естественно, невозможно, приходится прибегать к некоторым ограничениям.
Использование иерархической и сетевой моделей ускоряет доступ к информации в базе данных. Но так как каждый элемент данных должен содержать ссылки на некоторые другие элементы, требуются значительные ресурсы как дисковой, так и оперативной памяти ПЭВМ. Недостаток оперативной памяти, конечно, снижает скорость обработки данных. Кроме того, для таких моделей характерна сложность реализации СУБД.
В настоящее время реляционные системы лучше всего соответствуют техническим возможностям персональных компьютеров и вполне удовлетворяют большинство пользователей. Скоростные характеристики этих СУБД поддерживаются специальными средствами ускоренного доступа к информации и индексированием баз данных.
Контрольные вопросы -
Назовите основные преимущества реляционной модели
-
Перечислите проблемы, которые решаются реляционной моделью.
1.7 Архитектура системы базы данных
В процессе научных исследований, посвященных тому, как именно должна быть устроена СУБД, предлагались различные способы реализации. Самой жизнеспособной оказалась, предложенная американским комитетом по стандартизации ANSI (American National Standards Institute), трехуровневая система организации БД. Она включает: внутренний, концептуальный и внешний уровни.
Внешний уровень моделей – наиболее близкий к пользователям, т.е. он связан со способами представления данных для отдельных пользователей. Этот уровень определяет точку зрения на БД отдельных приложений. Каждое приложение видит и обрабатывает только те данные, которые необходимы именно этому приложению
Концептуальный уровень – промежуточный между первым и третьим, центральное управляющее звено. Здесь база данных представлена в наиболее общем виде, который объединяет данные, используемые всеми приложениями, работающими с данной базой. Фактически концептуальный уровень отражает обобщенную модель предметной области, для которой создавалась база данных. Как любая модель, концептуальная модель отражает только существенные, с точки зрения обработки, особенности объектов реального мира.
Предметная область – это часть реальной системы, представляющая интерес для данного исследования.
Концептуальная модель – это представление всей информации базы данных в несколько более абстрактной форме; представление данных таковыми, какие «они есть на самом деле».
Внутренний уровень – наиболее близкий к физическому хранению, т.е. связанный со способами сохранения информации на физических устройствах хранения.
Восприятие данных на каждом из уровней описывается с помощью схемы. Отображения описывают соответствие между данными внешней схемы и концептуальной схемы, а также концептуальной и внутренней.
Трехуровневая архитектура позволяет обеспечить логическую (между 1 уровнем и 2) и физическую (между уровнями 2 и 3) независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других приложений, работающих с этой же базой данных. Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с данной базой данных. Это именно то, чего не хватало при использовании файловых систем.
Контрольные вопросы -
Назовите уровень, отражающий обобщенную модель предметной области
-
Чем обеспечивается логическая независимость при работе с данными?
Достарыңызбен бөлісу: |