Главная страница
Навигация по странице:

  • (k

  • База данных-понятия. Классификация по


    Скачать 0.55 Mb.
    НазваниеКлассификация по
    АнкорБаза данных-понятия.docx
    Дата17.07.2018
    Размер0.55 Mb.
    Формат файлаdocx
    Имя файлаБаза данных-понятия.docx
    ТипДокументы
    #21614
    страница10 из 23
    1   ...   6   7   8   9   10   11   12   13   ...   23

    4.3.Ограничения целостности


    Целостность данных - это механизм поддержания соответствия базы данных предметной области. В реляционной модели данных определены два базовых требования обеспечения целостности:

    • целостность ссылок

    • целостность сущностей.



    4.3.1.Целостность сущностей.


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

    каждый кортеж любого отношения должен отличатся от любого другого кортежа этого отношения (т.е. любое отношение должно обладать первичным ключом).

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



    4.3.2.Целостность ссылок


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

    1. Связи между данными отношениями описываются в терминах функциональных зависимостей.

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

    Требование целостности по ссылкам состоит в следующем:

    для каждого значения внешнего ключа, появляющегося в дочернем отношении, в родительском отношении должен найтись кортеж с таким же значением первичного ключа.

    Пусть, например, даны отношения ОТДЕЛ (N_ОТДЕЛА, ИМЯ_ОТДЕЛА) и СОТРУДНИК (N_СОТРУДНИКА, N_ОТДЕЛА, ИМЯ_СОТРУДНИКА), в которых хранятся сведения о работниках предприятия и подразделениях, где они работают. Отношение ОТДЕЛ в данной паре является родительским, поэтому его первичный ключ "N_отдела" присутствует в дочернем отношении СОТРУДНИК. Требование целостности по ссылкам означает здесь, что в таблице СОТРУДНИК не может присутствовать кортеж со значением атрибута "N_отдела", которое не встречается в таблице ОТДЕЛ. Если такое значение в отношении ОТДЕЛ отсутствует,  значение внешнего ключа  в отношении СОТРУДНИК считается неопределенным.

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

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

    4.4.Операции над данными (реляционная алгебра).



    4.4.0.Система управления базами данных LEAP


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

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

    2. Здесь находится более подробное описание возможностей СУБД LEAP.

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

    4. Здесь лежит список заданий, которые предлагается выполнить как средствами реляционной алгебры, так и средствами языка SQL.



    4.4.1.Операции обработки кортежей.


    Эти операции связаны с изменением состава кортежей в каком-либо отношении.

    • ДОБАВИТЬ - необходимо задать имя отношения и ключ кортежа.

    • УДАЛИТЬ - необходимо указать имя отношения, а также идентифицировать кортеж или группу кортежей, подлежащих удалению.

    • ИЗМЕНИТЬ - выполняется для названного отношения и может корректировать как один, так и несколько кортежей.



    4.4.2.Операции обработки отношений.


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

    В рассмотренных ниже примерах (которые заимствованы из книги Э.Озкарахан "Машины баз данных и управление базами данных" -М: "Мир", 1989) используются следующие отношения:

    P(D1,D2,D3) Q(D4,D5) R(M,P,Q,T) S(A,B)
    1 11 x x 1 x 101 5 a 5 a

    2 11 y x 2 y 105 3 a 10 b

    3 11 z y 1 z 500 9 a 15 c

    4 12 x w 50 1 b 2 d

    w 10 2 b 6 a

    w 300 4 b 1 b

    В реляционной алгебре определены следующие операций обработки отношений:

    • ПРОЕКЦИЯ (ВЕРТИКАЛЬНОЕ ПОДМНОЖЕСТВО).


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

    http://www.mstu.edu.ru/study/materials/zelenkov/project.gif

     

    • ВЫБОРКА (ОГРАНИЧЕНИЕ, ГОРИЗОНТАЛЬНОЕ ПОДМНОЖЕСТВО).


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

    http://www.mstu.edu.ru/study/materials/zelenkov/select.gif

     

    • ОБЪЕДИНЕНИЕ.


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

    http://www.mstu.edu.ru/study/materials/zelenkov/union.gif

     

    • ПЕРЕСЕЧЕНИЕ.


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

    http://www.mstu.edu.ru/study/materials/zelenkov/intersect.gif

     

    • РАЗНОСТЬ.


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

    http://www.mstu.edu.ru/study/materials/zelenkov/difference.gif

     

    • ДЕКАРТОВО ПРОИЗВЕДЕНИЕ


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

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

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

    http://www.mstu.edu.ru/study/materials/zelenkov/product.gif

     

    • СОЕДИНЕНИЕ


    Данная операция имеет сходство с ДЕКАРТОВЫМ ПРОИЗВЕДЕНИЕМ. Однако, здесь добавлено условие, согласно которому вместо полного произведения всех строк в результирующее отношение включаются только строки, удовлетворяющие опредленному соотношению между атрибутами соединения 1,A2) соответствующих отношений.

    http://www.mstu.edu.ru/study/materials/zelenkov/join.gif

     

    • ДЕЛЕНИЕ


    Пусть отношение R , называемое делимым, содержит атрибуты (A1,A2,...,An). Отношение S - делитель содержит подмножество атрибутов A: (A1,A2,...,Ak) (k. Результирующее отношение C определено на атрибутах отношения R, которых нет в S, т.е. Ak+1,Ak+2,...,An. Кортежи включаются в результирующее отношение C только в том случае, если его декартово произведение с отношением S содержится в делимом R.

    http://www.mstu.edu.ru/study/materials/zelenkov/division.gif
    1   ...   6   7   8   9   10   11   12   13   ...   23


    написать администратору сайта