Общая часть (часть 2) (2015) (by Кибитова) (1161598), страница 46
Текст из файла (страница 46)
Если a – это операциязначениенекоторогоили320;некотороготипатипаданныхданныхилиNULL,NULL,opop– –любаялюбаядвуместнаядвуместная«арифметическая»«арифметическая» операциянекотороготипаданныхилиNULL,op–любаядвуместная«арифметическая»операцияэтогоданныха аlopоперациясравнениятипа• типазачислитьслужащегоКузнецова3000,значенийзарплатаэтого25000.00)этоготипаданных(например,(например,+),+),lop– –(пропускоперацияномерсравнениязначенийэтоготипа вэтого типаданных(например,+),аlop–операциясравнениязначенийэтоготипа(например,=),топоопределению:отделномер310.(например,=), топо определению:(например, =), то по определению:aa opop NULLNULL == NULLNULLa op opNULL= NULLNULLNULLa=NULL op a = NULLop a == NULLaNULLa loplop NULLNULL = unknownunknowna loplopNULL= unknownunknownNULLa=NULL lop a = unknownNULL lop a = unknownЗдесьЗдесьunknownunknown– –этоэтотретьетретьезначениезначениелогического,логического,илиилибулевского,булевского,типа,типа,обладающееобладающееЗдесь unknown– это третье значение логического, или булевского, типа, обладающееследующимиследующимисвойствами:свойствами:следующими свойствами:NOTNOT unknownunknown == unknownunknownNOT unknown= unknowntruetrue ANDAND unknownunknown == unknownunknowntrue ORANDunknownunknown= =trueunknowntruetrue OR unknown = truetrue ORfalseANDunknownunknown= =truefalsefalse AND unknown = falsefalse ORANDunknownunknown= =unknownfalsefalse false OR unknown = unknownfalse OR unknown = unknownВторое требование называется требованием целостности по ссылкам и являетсяВторое требование называется требованием целостности по ссылкам и являетсяВторое требованиеназываетсятребованиемцелостностипо ссылками являетсянесколькоболее сложным.Очевидно,что присоблюдениинормализованностинесколько более сложным.
Очевидно, что при соблюдении нормализованностинесколько сложныеболее сложным.что представляютсяпри соблюдениив реляционнойнормализованностиотношенийсущности Очевидно,реального мираБД вотношений сложные сущности реального мира представляются в реляционной БД ввиденесколькихкортежейнесколькихотношений.отношенийсложныесущностиреальногомира представляются в реляционной БД ввиде нескольких кортежей нескольких отношений.виде нескольких кортежей нескольких отношений.Атрибут называется внешним ключом, если его значения однозначно характеризуютАтрибут называется внешним ключом, если его значения однозначно характеризуютсущности,представленныекортежаминекоторогодругого отношениязадаютАтрибут называетсявнешнимключом,если его значенияоднозначно(т.е.характеризуютсущности, представленные кортежами некоторого другого отношения (т.е.
задаютtrue AND unknown = unknowntrue OR unknown = truetrue OR unknown = truefalse ANDAND unknownunknown == falsefalsefalsefalse OROR unknownunknown == unknownunknownfalseВторое требованиетребование называетсяназываетсятребованиемтребованиемцелостностицелостностипопоссылкамссылками иявляетсяВтороеявляетсянесколькоболеесложным.Очевидно,чтоприсоблюдениинормализованностинесколько более сложным. Очевидно, что при соблюдении нормализованностиотношений сложныесложныесущностисущностиреальногореальногомирамирапредставляютсяпредставляютсяв вреляционнойреляционнойотношенийБДБДв ввиденесколькихкортежейнесколькихотношений.виде нескольких кортежей нескольких отношений.Атрибутназываетсяназываетсявнешнимвнешнимключом,ключом,еслиеслиегоегозначениязначенияоднозначнохарактеризуютАтрибутоднозначнохарактеризуютсущности,представленныекортежаминекоторогодругогоотношения(т.е.задаютсущности, представленные кортежами некоторого другого отношения (т.е.
задаютзначенияихпервичногопервичногоключа).Говорят,Говорят,чточтоотношение,отношение,в(вставкекоторомопределензначенияихключа).в которомопределенПонятно,чтопри обновленииссылающегосяотношенияновыхкортежей иливнешнийключ,ссылаетсянасоответствующееотношение,вкоторомтакойПонятно,чтоприобновленииссылающегосяотношения(вставкеновыхкортежейиливнешнийключ,ссылаетсянасоответствующееотношение,вкоторомтакойжежемодификациизначениявнешнегоключавсуществующихкортежах)достаточноПонятно, что при обновлении ссылающегося отношения (вставке новых кортежейилиатрибутявляетсяпервичнымключом.модификациизначениявнешнегоключавнекорректныевсуществующихсуществующихкортежах)достаточноатрибутявляетсяпервичнымключом.следитьза значениятем,чтобыне появлялисьзначениявнешнегоключа. Но какмодификациивнешнегоключакортежах)достаточно следитьзатем,чтобынепоявлялисьнекорректныезначениявнешнегоключа.Нокаккакбытьприудалениикортежаизотношения,накотороеведетссылка?следить за тем, чтобы не появлялись некорректные значения внешнего ключа.
Нобытьприудаленииудалениикортежаизотношения,накотороеведетведетссылка?Требованиецелостностипоссылкам,илитребованиевнешнегоключасостоитв илитом,Требованиепоилитребованиевнешнегоключасостоитв том,бытьприкортежаизссылкам,отношения,накотороессылка?Понятно,чтоцелостностипри обновленииссылающегосяотношения(вставкеновыхкортежейчтоЗдесьдлякаждогокаждогозначениявнешнегоключа,появляющегосяв ссылающемсяотношении,чтодлязначениявнешнегоключа,появляющегосяв ссылающемсяотношении,существуюттриподхода,каждыйиз которых поддерживаетцелостностьпомодификациизначениявнешнегоключав существующихкортежах)достаточноЗдесьсуществуюттриподхода,каждыйизкоторыхподдерживаетцелостностьповотношении,накотороеведетссылка,долженнайтиськортежстакимжезначениемвотношении,накотороеведетссылка,долженнайтиськортежстакимжезначениемссылкам.Первыйподходзаключаетсявтом,чтозапрещаетсяпроизводитьудалениеЗдесьсуществуюттри неподхода,каждыйиз которыхзначенияподдерживаетцелостностьпо какследитьза тем, чтобыпоявлялисьнекорректныевнешнегоключа.
Носсылкам.Первыйподходзаключаетсявтом,том,чтозапрещаетсяпроизводитьудалениепервичногоключа,либозначениезначениевнешнегоключадолжнобытьнеопределенным(т.е.первичногоключа,либовнешнегоключадолжнобытьнеопределенным(т.е.кортежа,на которыйсуществуют(т.е.сначаланужнолибо удалитьссылкам.подходзаключаетсяв ссылкичтозапрещаетсяпроизводитьудалениебытьприПервыйудалениикортежаиз отношения,накотороеведетссылка?кортежа,накоторыйсуществуютссылки(т.е.сначаланужнолибоудалитьниначтонеуказывать).ниначтонеуказывать).ссылающиесякортежи,либо соответствующимобразомизменитьзначения ихкортежа,на которыйсуществуютссылки (т.е. сначаланужнолибо удалить ссылающиесякортежи,либосоответствующимобразомизменитьзначенияихвнешнегоключа).Привторомподходеприудалениикортежа,накоторыйимеютсяссылающиесякортежи,либосоответствующимобразомизменитьзначенияихЗдесьсуществуюттри второмподхода,каждыйизудалениикоторых кортежа,поддерживаетцелостностьповнешнегоключа).ПриподходепринакоторыйимеютсяОграниченияцелостностисущностииприпоссылкамдолжныподдерживатьсяСУБД.ОграниченияцелостностисущностиипоссылкамдолжныподдерживатьсяСУБД.ссылки,во всехссылающихсякортежахзначениевнешнегоключаавтоматическивнешнегоключа).Привторомподходеудалениикортежа,накоторыйимеютсяссылкам.Первыйподходзаключаетсявтом,чтозапрещаетсяпроизводитьудалениессылки,вовсехссылающихсякортежахзначениевнешнегоключаавтоматическистановитсянеопределенным.Наконец,третийподходнужно(каскадноеудаление)состоит вссылки,во навсехссылающихсякортежахзначениевнешнегоключаавтоматическикортежа,которыйсуществуютссылки(т.е.подходсначалалибоудалитьсостоитстановитсянеопределенным.Наконец,третий(каскадноеудаление)втом,чтоприудалениикортежаизотношения,накотороеведетссылка,изстановитсянеопределенным.Наконец, третий подход(каскадноеудаление)состоит вссылающиесякортежи, либосоответствующимобразомизменитьзначенияихтом,чтоприудалениикортежаизотношения,накотороеведетссылка,изссылающегосяотношенияавтоматическиудаляютсявсессылающиесятом,что приудалениикортежаиз отношения,на котороеведетссылка,имеютсяиз кортежи.внешнегоключа).Привторомподходепри удалениикортежа,накоторыйссылающегосяотношенияавтоматическиудаляютсявсе ссылающиесякортежи.ссылающегосяавтоматическиудаляютсявсе ссылающиесякортежи.ссылки, во всехотношенияссылающихсякортежах значениевнешнегоключа автоматическистановитсянеопределенным.Наконец,15.
РеляционнаяалгебраКодда.третий подход (каскадное удаление) состоит в15. РеляционнаяалгебраКодда.том,чтоприудалениикортежаизотношения, на которое ведет ссылка, из15. Реляционная алгебра Кодда.ссылающегосяавтоматическиудаляютсявсессылающиесякортежи.Основная идеяотношенияреляционнойалгебры состоитв том, чтокольскоро отношения Основнаяидеяреляционнойалгебрысостоитвтом,чтокольскороотношенияявляютсямножествами,средстваманипулированияотношениямимогутОсновная идея реляционной алгебры состоит в том, что коль скоро отношенияявляютсямножествами,средства манипулированияотношениямимогутбазироватьсяна традиционныхтеоретико-множественныхоперациях,15.РеляционнаяалгебраКодда.являютсямножествами,средстваманипулированияотношениямимогутбазироватьсянанекоторымитрадиционныхтеоретико-множественныхоперациях,дополненныхспециальнымиоперациями, специфичнымибазироватьсяна традиционныхтеоретико-множественныхоперациях, длядополненныхнекоторымиспециальнымиоперациями,специфичнымидляреляционныхбаз данных.специальнымидополненныхнекоторымиоперациями,специфичнымидляОсновнаяидеяреляционнойалгебрысостоитвтом,чтокольскороотношенияреляционных баз данных.реляционныхбаз данных.
средства манипулирования отношениями могутявляются множествами, Существуетмногоподходов к определениюреляционной алгебры,которыебазироватьсянатрадиционныхтеоретико-множественныхоперациях,Существует много подходов к определению реляционной алгебры, которыеразличаютсянаборамиоперацийи способамиих интерпретации,но, в принципе,дополненныхнекоторымиоперациями,специфичнымидляСуществуетмногоподходовкспециальнымиопределениюреляционнойалгебры,которыеразличаютсянаборамиоперацийи способамиих интерпретации,но,в принципе,являютсяболееилименееравносильными.Вэтомвариантенаборосновныхреляционныхбазилиданных.различаютсянаборамиоперацийи способамиВихинтерпретации,но,основныхв принципе,являются болееменееравносильными.этомварианте наборалгебраическихоперацийсостоит из восьмиопераций,которыеделятся на два класса –являютсяболееилименееравносильными.Вэтомвариантенаборосновныхалгебраических операций состоит из восьми операций, которые делятся на два класса –теоретико-множественныеи специальныереляционныеоперации.В составалгебраическихоперацийсостоитиз восьмиопераций,которыеделятсяна дваСуществуетмногоподходовкоперацииопределениюреляционнойалгебры,которыетеоретико-множественныеоперациии специальныереляционныеоперации.В классасостав –теоретико-множественныхоперацийвходят интерпретации,операции:теоретико-множественныеоперациии специальныереляционные операции.В составразличаютсянаборами операцийи способамино, в принципе,теоретико-множественныхоперацийвходятихоперации:теоретико-множественныхопераций входятоперации:являются более или менее равносильными.В этомварианте набор основных•объединенияотношений;алгебраическихоперацийсостоит из восьми операций, которые делятся на два класса –•объединенияотношений;пересеченияотношений;теоретико-множественныеоперации и специальные реляционные операции.
В состав• • • объединенияотношений;пересечения отношений;•взятияразностиотношений;теоретико-множественныхопераций входят операции:• • пересеченияотношений;взятия разностиотношений;взятия декартовапроизведения отношений• • • взятияотношений;взятияразностидекартовапроизведения отношений • • взятиядекартовапроизведения отношенийобъединенияотношений;реляционныеоперациивключают:•Специальныепересеченияотношений;Специальныереляционныеоперациивключают:Специальныеоперации включают:•взятия реляционныеразности отношений;ограничениеотношения;•• • взятиядекартовапроизведенияотношенийограничение отношения;проекциюотношения;• • • ограничениеотношения;проекциюотношения;•соединениеотношений;Специальныереляционныеоперации включают:• • проекциюотношения;соединениеотношений;делениеотношений.• • • соединениеотношений;делениеотношений.