Единое окно доступа к образовательным ресурсам

Введение в системы баз данных: Учебное пособие

Голосов: 3

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

Приведенный ниже текст получен путем автоматического извлечения из оригинального PDF-документа и предназначен для предварительного просмотра.
Изображения (картинки, формулы, графики) отсутствуют.
          нисходящее тестирование;
      восходящее тестирование;
      тестирование потоков;
      интенсивное тестирование.
     Нисходящее тестирование начинается на уровне подсистем с
модулями, которые представлены заглушками, т. е. простыми
компонентами, имеющими такой же интерфейс, как модуль, но без
функционального кода. Каждый модуль низкого уровня представляется
заглушкой. Постепенно все программные компоненты заменяются
фактическим кодом и после каждой замены снова тестируются.
     Восходящее тестирование выполняется в противоположном
направлении по отношению к нисходящему. Оно начинается с
тестирования модулей на самых низких уровнях иерархии системы,
продолжается на более высоких уровнях и заканчивается на самом
высоком уровне.
     Тестирование      потоков   осуществляется   при   тестировании
работающих в реальном масштабе времени систем, которые обычно
состоят из большого количества взаимодействующих процессов,
управляемых с помощью прерываний. Стратегия тестирования потоков
направлена на слежение за отдельными процессами.
     Стратегия интенсивного тестирования часто включает серию тестов
с постепенно возрастающей нагрузкой и продолжается до тех пор, пока
система не выйдет из строя.

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

3.2. Концептуальное проектирование

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



                                 32


      Наиболее популярной семантической моделью стала уже
упоминавшаяся раннее модель "сущность — связь" (ER-модель),
предложенная П. Ченом в 1976 году, которая с тех пор неоднократно
усовершенствовалась самим Ченом и многими другими специалистами.
      Главными элементами семантической модели данных являются
сущности, их атрибуты и типы связей. Сущности часто представляют в
виде существительных, а типы связей — в виде глаголов.
      Семантическая модель предметной области изображается в виде
диаграммы с учетом принятых обозначений для ее элементов {рис. 3.2).

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




              Рис. 3.2. Обозначения элементов диаграммы

     Каждая сущность имеет имя и изображается на диаграммах в виде
прямоугольника, а экземпляр сущности — в виде точки в прямоугольнике
данной сущности (рис. 3.3).




                                 33


           Рис. 3.3. Обозначение сущности на ER-диаграмма


3.2.3. Атрибуты
      Атрибут — это поименованная характеристика сущности, с
помощью которой моделируется ее свойство. Каждой сущности присущи
свои атрибуты. Например, сущность ТОВАР должна иметь такие
атрибуты:     Наименование_товара,  Индекс_товара,    Цена_товара,
Количество. На диаграммах атрибуты сущности соединяются с ней
линиями (рис. 3.4).




  Рис. 3.4. Диаграмма представлений сущности ТОВАР и ее атрибутов

     Значения каждого атрибута выбираются из соответствующего
множества значений, включающего все потенциальные значения, которые
могут быть присвоены атрибуту. Это множество значений называется
доменом.
     Сущность и экземпляр сущности могут быть определены следующим
образом: Сущность: СТУДЕНТ (ФИО, Группа, Год_рождения)


                                 34


     Экземпляр сущности (Петров П.И., 93-ОА-22, 1992) .
     Значения атрибутов могут часто меняться, в то время как
описываемая ими сущность остается той же самой. Так, у экземпляра
сущности СТУДЕНТ может измениться значение атрибута ФИО, но сама
сущность останется той же.

3.2.4. Ключи
      Среди атрибутов особое положение занимают такие, с помощью
которых можно идентифицировать экземпляр сущности. Такие атрибуты
называются ключами. Атрибут или несколько атрибутов, значения которых
уникальным образом идентифицируют каждый экземпляр сущности,
являются потенциальным ключом данной сущности. Потенциальных
ключей может быть несколько. Например, экземпляр сущности
ФАКУЛЬТЕТ (Код_факультета, Название_факультета, ФИО_декана)
может однозначно идентифицироваться любым из первых двух указанных
атрибутов.
      Один из потенциальных ключей может быть выбран в качестве
первичного ключа. Обычно в качестве первичного ключа выбирается тот,
который имеет наименьшую длину. Остальные потенциальные ключи
называются альтернативными. Тот факт, что атрибут служит первичным
ключом, отмечается его подчеркиванием.
      Идентификацию некоторых сущностей иногда приходится
осуществлять при помощи составных ключей, которые включают
несколько атрибутов.
      Например, сущность:
      ЛЕЧЕНИЕ (ФИО_врача, ФИО_пациента, Дата_назначения,
Лекарство) ,
      однозначно идентифицировать можно только составным ключом:
(ФИО_врача, ФИО_пациента, Дата_назначения).

3.2.5. Связи между сущностями
      Две сущности могут быть связаны между собой. Подобная связь
осуществляется через связь экземпляров одной сущности с экземплярами
другой сущности, образуя набор экземпляров связи между двумя
сущностями, который называется типом связи.
      Каждому типу связи присваивается имя, которое должно
представлять его функцию. Рассмотрим сущности ПРЕПОДАВАТЕЛЬ и
КУРС. Между этими сущностями можно определить связь ЧИТАЕТ,
сопоставив каждому преподавателю ту дисциплину, по которой он читает
лекции, или, наоборот, каждой дисциплине — преподавателя. Связь
ЧИТАЕТ составлена из множества пар, в каждой из которых
преподаватель — из сущности ПРЕПОДАВАТЕЛЬ, а дисциплина — из
сущности КУРС (рис. 3.5).


                                 35


               Рис. 3.5. Экземпляры типа связи ЧИТАЕТ

     Полученная структура сама по себе является сущностью, состоящей
из пар экземпляров, взятых из двух сущностей, связанных между собой.
Сущность ЧИТАЕТ, полученная путем связи между сущностями
ПРЕПОДАВАТЕЛЬ и КУРС, называется составной сущностью.
     Описанная ситуация на диаграммах имеет свое графическое
изображение, где тип связи обозначается в виде ромбика с указанным на
нем именем связи, который соединен линиями со связываемыми
сущностями (рис. 3.6).




               Рис. 3.6. Диаграмма типа связи ЧИТАЕТ

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

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


                                  36


если допустить, что у человека может быть только один супруг, то
мощность связи ЖЕНАТЫ будет равна одному в каждом направлении
(рис. 3.7).
      Иногда помимо максимальной мощности полезно определять и
минимальную мощность. В рассматриваемом примере не исключаются
одинокие мужчины и женщины, поэтому минимальная мощность равна
нулю в каждом направлении. Такая ситуация может быть обозначена
следующим образом:




     Рис. 3.7. Диаграмма связи ЖЕНАТЫ с указание минимальной и
                        максимальной мощности

      Некоторые связи не имеют конкретного значения максимальной
мощности Например, преподаватель может читать не один курс, а,
возможно, больше. Такую мощность обозначают: 1,*, где 1 обозначает
минимальную мощность. а * обозначает "много" (существует и другой
способ обозначения "много" — вместо * ставится N). С другой стороны,
если допустить, что каждый данный курс читается одним и только одним
преподавателем, то мощность в обратном направлении будет 1,1.

      Показатель кардинальности
      Для того чтобы указать количество возможных связей для каждого
экземпляра участвующего в связи сущности, используют показатель
кардинальности.
      Для бинарных связей показатель кардинальности может иметь
следующие значения:
      "один к одному" (1 : 1), "один ко многим"(1 : N), "многие ко многим"
(М : N).
      Если максимальная мощность связи в обоих направлениях равна
одному, мы называем ее связью "один к одному" (1 : 1).
      Например, на факультете может быть один декан, и обратно, один и
тот же декан может руководить только одним факультетом, что может
быть обозначено следующим образом:
      ФАКУЛЬТЕТ <-----> ДЕКАН.



                                    37


      Если максимальная мощность в одном направлении равна одному, а
в другом — многим, то связь называется "один ко многим" (1 : N).
      Например, в группе учится много студентов, но каждый студент
учится только в одной группе:
      ГРУППА <----->> СТУДЕНТ.
      Концептуальная модель подобной связи приведена на рис. 3.8.




    Рис. 3.8. Диаграмма типа связи УЧИТСЯ с указанием показателя
                            кардинальности

      На диаграмме использовано два способа обозначения вида бинарной
связи: символическая (со стороны сущности ГРУППА выход связи
помечен символом 1, а со стороны сущности СТУДЕНТ — символом N) и
стрелками (в направлении, где максимальная мощность равна многим,
проставлена двойная стрелка, а со стороны, где она равна единице —
одинарная). Реально при построении диаграмм выбирают один из них.
      И наконец, если максимальная мощность в обоих направлениях
равна многим, то такая связь относится к типу "многие ко многим" (M : N).
Например, преподаватель работает в разных группах, и в одной и той же
группе работают различные преподаватели:
      ПРЕПОДАВАТЕЛЬ <<----->> ГРУППА.
      Связь между сущностями осуществляется посредством атрибутов.
Например, рассмотрим две сущности:
      Сущность:          СТУДЕНТ
      Атрибуты:          Номер_зачетной_книжки


                                   38


                         ФИО студента
     Сущность:          ГРУППА
     Атрибуты:          Код_группы
                         Количество студентов
                         ФИО старосты
     Для их связи в число атрибутов сущности СТУДЕНТ необходимо
добавить код группы, в которой он учится, и значение которого будет
использовано для связи экземпляра одной сущности с экземпляром другой
сущности.

3.2.6. Супертип и подтип
      Для удовлетворения новых требований, выдвигаемых все более
усложняющимися приложениями, в семантическое моделирование были
введены дополнительные концепции, расширяющие его возможности.
Дополнительные концепции базируются на таких понятиях, как супертип и
подтип, а также используют процесс наследования атрибутов.
      Супертип — это сущность, включающая разные подтипы, которые
необходимо представить в модели данных.
      Подтип — это сущность, являющаяся членом супертипа, но
выполняющая отдельную роль в нем.
      Супертип может иметь несколько разных подтипов. Так, например,
подтипы: АССИСТЕНТ, СТАРШИЙ ПРЕПОДАВАТЕЛЬ, ДОЦЕНТ,
ПРОФЕССОР являются членами супертипа ПРЕПОДАВАТЕЛЬ. Это
означает, что каждый экземпляр подтипа является в то же время и
экземпляром супертипа. Связь между супертипом и подтипом относится к
типу "один к одному".
      Использование понятий супертипа и подтипов позволяет при
моделировании выделить для подтипа свои собственные атрибуты и
атрибуты, наследуемые им от супертипа.
      На диаграмме (рис. 3.9) подтипы соединяются линиями с кружком,
который в свою очередь соединяется с супертипом. На каждой линии,
идущей от подтипа, располагается U-образный символ, который
обозначает направление включения. Верхняя часть U "открывается" в
сторону супертипа. Внутри кружка располагается буква D, если подтипы
не пересекаются, и буква О — для пересекающихся подтипов. В
последнем случае экземпляр супертипа может быть членом сразу
нескольких подтипов. Изображенная на диаграмме ситуация исключает
пересечение подтипов, поэтому в кружок помещен символ D.




                                 39


    Рис. 3.9. Диаграмма с использованием понятий супертип и подтип

3.3. Пример моделирования локальной ПрО
      С помощью рассмотренных выше понятий могут быть получены ER-
модели для большинства схем баз данных в традиционных
административно-управленческих приложениях. Если ПрО обширная, то
построение ее концептуальной модели будет протекать более успешно,
если эту ПрО разбить на несколько локальных предметных областей.
Объем локальной ПрО выбирается таким образом, чтобы в нее входило не
более 6-7 сущностей. Как ранее упоминалось, отправными элементами для
построения ER-модели локальной ПрО очень часто являются
используемые в организации документы.
      Предположим, что определена локальная ПрО: поставка товаров на
склад. Пусть используемая форма поставки имеет вид, как на рис. 3.10.
      Покажем, как, используя приведенную форму, можно построить
концептуальную модель этой небольшой локальной предметной области.




                                  40


                       Рис. 3.10. Форма поставки

     Итак, анализируемая форма содержит следующую информацию:
Поставщик, Индекс поставщика, Адрес поставщика, Товар. Индекс
товара, Цена товара. Количество товара, Поставка, Индекс
поставщика, Дата поставки и Номер склада.
     Выделим две сущности: ПОСТАВЩИК и ТОВАР (рис. 3.11).
     Оставшиеся атрибуты характеризуют сущность — ПОСТАВКА.
Сформируем ее и установим определенные типы бинарных связей между
тремя сущностями, исходя из следующих рассуждений: один и тот же
поставщик может осуществить ряд поставок, но каждая поставка
осуществляется только одним поставщиком.
     Мощность связи между сущностями ПОСТАВКА и ТОВАР должна
быть установлена M:N, так как каждая поставка может содержать
несколько товаров, и один и тот же товар может содержаться в нескольких
поставках. Исходя из вышесказанного, диаграмма модели предметной
области ПОСТАВКА примет такой вид, как на рис. 3.12.




                                  41



    
Яндекс цитирования Яндекс.Метрика