Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lecture_SBD.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.2 Mб
Скачать

Тұтастықты шектеу

Негізінен оларды ұстану қажет емес, бірақ кейде сілтеме бойынша тұтастықты талап етеді (иерархиялық модель сияқты).

Жетістігі және кемшілігі

Ертедегі ДҚБЖ қатты орындары:

  • Төменгі деңгейдегі сыртқы жадыдағы деректерді басқарудың өркендеген құралдары;

  • Эффектілі қолдаңбалы жүйелердің қолмен тұрғызу мүмкіндігі;

  • Бағыңынқы объектілерді бөлу есебінен жадыны үнемдеу мүмкіндігі (желілік жүйеде).

Кемшіліктері:

  • Пайдалану мүмкіндігі күрделі;

  • Физикалық ұйым жөніндегі қажетті білімдер;

  • Қолдаңбалы жүйелер осы ұйымға тәуелді;

  • Олардың логикасы ДҚ қатынауға ұйымдастырылған деталымен жүктелген.

6.2 Ims архитектурасы. Ims деректер моделі. Иерархиялық рет түсінігі. Dl/1 тілінің операциясы.

Жазбалар иерархиялық реттелу керек. Деңгей саны 15 ке дейін болу керек. Сегмент типі саны 225. IMS компонентті болып, деректерді сақтауды және алып тастауды қамтамсыз ететін DL/1(Delta language 1) деректер тілі табылады. .

      1. DBD NAME = DEPTPERS, ACCESS=HISAM

      2. SEGM NAME = DEPARTAMENT, PARENT=0, BYTES=20

      3. FIELD NAME = (DEPNAME, SEQ, U), BYTES =10, START=1, TYPE=C

      4. FIELD NAME = (MANAGER, BYTES =10, START=11, TYPE=C

      5. SEGM NAME = DEPARTAMENT, PARENT=DEPARTAMENT, BYTES=22

      6. FIELD NAME = (EMPNAME, SEQ), BYTES=20, TYPE=C

      7. SEGM NAME=SKILL, PARENT=EMPLOYEE, BYTES=17

      8. DBGEN

DL/1 деректер қорын сипаттау

1 - командасы деректер қоры атын береді. Қатынау әдісін анықтайды. HISAM - иерархиялық индексті-тізбектелген қатынау әдісі; BYTES - сегмент ұзындығы; U - DEPNAME мәні қайталанбау керектігін және ешқандай екі сегментте бірдей DEPNAME мәні болмау керектігін білдіреді; TYPE – Parched Decimal character

Негізгі әдебиет [1], бет71-76

Қосымша әдебиет [2], бет 83-91

Бақылау сұрақтары

1. Деректердің иерархиялық құрылымын сипаттаңыз?

2. Тұтастықты шектеудің жалпы ережесі?

3. Деректердің желілік құрылымын сипаттаңыз?

4. Деректердің иерархиялық моделін сипаттаңыз?

5. DL/1 деректер қоры қалай сипатталады?

Дәріс 7. Деректердің реляциялық моделі. Реляциялық деректер қорын жобалау.

7.1 Реляциялық деректер қоры: деректер типі, домен, қатынас схемасы, деректер қоры схемасы, кортеждер және қатынастар, қатынас қасиеті, кілттер.

Деректердің реляциялық модель негізі алғашқы рет 1970 ж Е.Кодд мақаласындаы мазмұндалды. Бұл жұмыс реляциялық модель өркендеу алған үлкен санды мақала және кітап үшін стимул болды. Деректердің реляциялық моделінің ең көп тараған трактовкасы К.Дейтке жатады. Дейттің атйқанына сәйкес реляциялық модель үш бөліктен тұрады:

  • Құрылымдық бөлімнен.

  • Тұтастық бөлімнен.

  • Манипуляциялықө бөлімнен.

Құрылымдық бөлім, реляциялық модельде қандай объектілер қарастырылады, соны сипаттайды. Реляциялық модельде қолданылатын деректердің жалғыз моделі болып қалыпты n-арлы қатынас табылады.

Тұтастық бөлім кез келген реляциялық деректер қорында кез келген қатынас үшін орындалатын арнайы түрдегі шектеуді сипаттайды. Бұл мән тұтастығы және сыртқы кілт тұтастығы.

Манипуляциялық бөлім реляциялық деректерді манипуляциялаудың екі эквивалентті тәсілін сипаттайды - реляциялық алгебраны және реляциялық есептеуді.

Осы бөлімде реляциялық модельдің құрылымдық бөлігі қарастырылады.

Деректер типі. Программалаудағы қолданылатын, кез келген деректер өздерінің типі болады.

Қажетті! Реляциялық модель қолданылатын деректер типі қарапайым болуын талап етеді.

Бұл тұжырымды дәлірек білу үшін негізінен программалауда қандай деректер типі қарастырылады соын қараймыз. Ереже бойынша, деректер типі үш топқа бөлінеді: деректердің қарапайым типі; деректердің құрылымдық типі; деректердің сілтеме типі.

Деректердің қарапайым типі.

Қарапайым, не болмаса атомарлы деректер типінде ішкі құрылым болмайды. Мұндай типті деректі скалярлы деп атайды. Деректердің қарапайым типіне келесі типтер жатады: Логикалық, Жолдық, Сандық.

Бұл тізім программалаудың әртүрлі тілдерін кеңейтіп, оған мынадай типтерді үстемелейді:

  • Бүтін; Нақты; Күн; Уақыт; Ақша; Тізбектелетін; Интервальды және т.б....

Расында атомарлы түсінігі өте қатысты. Оны деректердің қатар типі, символдардың бір өлшемді массиві, ал деректердің бүтін типін - биттер жиынтығы деп қарастыруға болады. Ең керектісі, мұндай төменгі деңгейге өту кезіңде деректердің семантикасы (мәні) жоғалады. Егер, мысалы қызметкер фамилиясын сипаттайтын жолды символ массивіне салсақ, онда мұндай жолдың бір бүтін сияқты мәні жо,алады.

Деректердің құрылымдық типі.

Деректердің құрылымдық типі деректердің күрделі құрылым тапсырмасы үшін арналған. Деректердің құрлымдық типі компонент деп аталатын құрамдас элементтер жобаланады. Олар өз кезегінде құрылымға ие болады. Деректердің құрылымдық типі ретінде келесі деректер типін қарауға болады:

  • Массивтер.

  • Жазбалар (Құрылымдар).

Математикалық көқарастан массив анықтаманың соңғы сала функциясын білдіреді. Мысалы, натуралды сан соңғы көпмүшесін қарастырайық

индекс көпмүшесі деп аталады. Кескін

көпмүшесінен нақты сандар көпмүшесіне бірөлшемді нақты массивті береді. индексінің кейбір мәні үшін бұл функция мәні тиісті массив элементі деп аталады. Осы ұқсас көп өлшемді массивтерді де беруге болады.

Жазба (немесе құрылым) көпмүшенің кейбір декартты туындысының кортежін береді. Расында, жазба запись представляет собой именованный упорядоченный набор элементов элементтерінің аты бар реттелеген жиынының білдіреді, олардыі әрқайсысы типіне жатады. Соынмен, жазбасы, көпмүше элементі. Бар типтер негізінде жазбаның жаңа типін хабарлай отырып, пайдаланушы, деректердің күрделі типін құрай алады. Жалпы құрылымдық деректер типі үшін, абстракция еңгейінде деретер типі қолданатын ішкі құрылым болады.

Мұны келесі түрде түсіндіреміз. Массив немесе жазбамен жұмыс кезінде бір бүтін сияқты және элемент бойынша массивті немесе жазбаны манипуляциялауға (бүтін массив немесе жазбаны құруға, жоюға және көшіруге) болады. Деректердің құрылымдық типі үшін арнайы функциялар бар - қарапайым типті элементтен массив немесе жазба құруға мүмкіндік беретін тип құраушылары.

Дерекердің қарапайым типімен жұмыс істей отырып, мысалы сандық, біз оларды бөлінбейтін бүтін объект ретінде манипуляция жасаймыз. Деректердің сандық типі күрделі екенін «көру» үшін (биттер жиыны), абстракцияның төменгі деңгейіне өту керек. Программалық код деңгейінде бұл жоғарғы деңгейдегі тілдің кодқа ассемблерлік қою немесе битті арнайы операцияны қолдану болып көрінеді.

Домендер.

Деректердің реляциялық моделінде деректердің типі түсінігімен домен түсінігі тығыз байланысты, оларды деректер типін дәлірек білу деп санауға болады. Домен - бұл семантикалық түсінік. Доменді нақты бір мәні бар ейбір деректер типінің мән көпмүшесі деп қарауға болады. Домен келесі қасиетпен сипатталады:

  • Доменде ерекше ат болады (деректер қоры аймағында).

  • Домендер деректердің кейбір қарапайым типінде немесе басқа доменде анықталынады.

  • Доменде осы домен үшін болатын, деректер көпмүшесін сипаттауға мүмкіндік беретін кейбір логикалық шарты болады.

  • Доменде нақты бір мәндік жүктеме болады.

Мысалы, «қызметкер жасы» деген мағынасы бар доменнің, натурал сандар көпмүшесі деп сипаттауға болады:

Егер деректер типін берілген деректер типінде көпмүшенің мүмкін мәні деп санаса, онда домен осы көпмүшедегі бағыңынқы көпмүшені еске түсіреді. Доменнің бағыңынқы көпмүше түсінігінен айырмашылығы, ол домен пәндік салада анықталған семантиканы кескіндейді. Бағыңынқы көпмүшеге ұқсас болатын, бірақ әртүрлі мағыналы болатын бірнеше домен болуы мүмкін. Мысалы, "Деталь салмағы" және "Бар сандар" домендерін бүтін сандардың теріс емес көпмүшесі ретінде бірдей сипаттауға болады, бірақ бұл домендердің мағынасы әртүрлі болады, және бұл әртүрлі домендер болады. Доменнің жалпы мәні ол домендер салыстырмалықпен шектеледі. Логикалық көз қарастан нақты емес, бір типті болсада әртүрлі домендердің мәннің салыстыру. Синтаксистік дұрыс сұраныс "барлық деталдың тізімін беру, оларда деталь салмағы бар санынан көп", "саны" және "салмағы" түсініктері мағынасына сәйкес емес.

Қатынас қасиеті.

Қатынас қасиеті қатынастың жоғарыда келтірілген анықтамасымен тікелей жүреді. Бұл қасиеттер негізінен кесте мен қатынас арасындағы ерекшеліктен тұрады.

  1. Қатынаста бірдей кортеж жоқ. Расында, қатынас денесі кортеж көпмүшесі. Кейбір көпмүше сияқты айырмасы жоқ элементтері жоқ (1 бөлімді қараңыз). Кестелер қатынасқа қарағанда бірдей жолдардан тұрады.

  2. Кортеждер реттелмеген (жоғарыдан төменге). Шындығында, біз кесте түрінде "Қызметкерлер" қатынасын кескіндедік, бірақ қызметкер Иванов қызметкер Петровтың "алдын алады" деуге болмайды. Себебі сол - қатынас денесі көпмүше, ал көпмүше реттелген. Бұл екінші себебі, ол арқылы қатынас пен кестені әрекеттестіруге болмайды - кестедегі жолдар реттелген. Сол бір қатынас әртүрлі кестемен кескінделген, онда жолдар әртүрлі ретпен жүреді.

  3. Атрибуттары реттелмеген (солдан оңға). Өйткені әр атрибуттың қатынас көлемінде ерекше бір аты болады, ал атрибут ретінің мағынасы жоқ. Бұл қасиет біршама қатынасты қатынастың математикалық анықтамасынан айырмашысын көрсетеді (1 бөлім қараңыз - кортеж компоненттері онда реттелген). Тағы да үшінші себебі, кесте мен қатынасты әрекеттестірмеу - кестедегі тік жолдар реттелмеген. Сол бір қатынас әртүрлі кестемен кескінделген, онда тік жолдар әртүрлі ретпен жүреді.

  4. Атрибуттың барлық мәндері атомарлы. Оның негізінде жатқан атрибуттардың атомарлы мәні болады. Бұл қатынастың кестеден төртінші айырмашылығы - кесте ұяшығына не болмаса соны орналастыруға болады - массивтер, құрылымыдар, және тағы басқа кестелер.

Домендер – бұл бір мағынасы (семантика) бар деректер типі. Домендер салыстыруды шектеуі - нақты емес, әртүрлі домендерде мәнді салыстыруға болады.

Қатынас екі бөлімнен тұрады - қатынас тақырыбынана және қатынас денесінен. Қатынас тақырыбы - кесте тақырыбының аналогы. Қатынас тақырыбы атрибуттардан тұрады. Атрибут саны қатынас дәрежесі деп аталады. Қатынас денесі - кесте денесінің аналогы. Қатынас денесі кортежден тұрады. Қатынас кортежі кесте жолының аналогы. Қатынастың кортеж саны қатынас қуаты деп аталады.

Қатынас келесі қасиеттерге ие:

  • Қатынаста ұқсас кортеж жоқ.

  • Кортеждер реттелмеген (төменнен жоғары қарай).

  • Атрибуттар реттелмеген (солдан оңға қарай).

  • Атрибуттың барлық мәні атомарлы.

Реляциялық деректер қоры дегеніміз қатынас жиыны.

Реляциялық деректер қорының схемасы деректер қорына кіретін қатынас тақырыбының жиыны.

Егер қатынас тек скалярлы (атомарлы) мәннен тұрса, онда ол Бірінші Қалыпты Формада (1ҚФ) болады.

Потенциалды кілттер.

Анықтама бойынша, қатынас денесі кортеждің көпмүшесі, сондықтан қатынаста бірдей кортеждер болмайды. Бұл дегеніміз, әр кортежде ерекше қасиет болу керек. Негізінде, қатынас шамасында ерекше қасиет кортеждің жеке атрибуттарында немесе атрибут топтарында болады. Мұндай ерекше атрибуттар кортеж идентификациясы үшін қолдануға ыңғайлы.

1 Анықтама. қатынасы берілсін. атрибуттар көпмүшесіндегі қатынасын потенциалды кілт деп атаймыз, егер мынадай қасиеттерге ие болса:

  1. Қасиет ерекшелігі - қатынаста бірдей мәнді екі түрлі кортеж болуы мүмкін емес .

  2. Артықшылық қасиетінде- бағыңынқы көпмүшесі ешқандай ерекше қасиетке ие емес.

Кез келген қатынаста кем дегенде бір потенциалды кілт болады. Расында, егер ешқандай атрибутта немесе атрибут тобында потенциалды кілт болмаса, кортеждің ерекше күшінде барлық атрибуттар потенциалды кілтті құрайды. Бір атрибуттан тұратын потенциалды кілт жай кілт деп аталады. Бірнеше атрибуттардан тұратын потенциалды кілт құрама кілт деп аталады.

Қатынастың бірнеше потенциалды кілті болады. Әдеттегідей, потенциальды кілттердің бірі алғашқы, ал қалғандары - альтернативті. Алғашқы және альтернативті кілт арасындағы айырмашылық реляциялық ДҚБЖ үлестіру кезіндегі маңызды болуы мүмкін, бірақ деректердің реляциялық моделі көз қарасынан бір потенциальды кілтті ерекшелеуге негіз жоқ. Бұл қатынасты кескіндейтін кестеге бірінші рет қараған кезде, көрінуі мүмкін, кестеде үш потенциальды кілт - кестенің әр бағанында ерекше деректер бар. Бірақ қызметкерлер арасында фамилиясы бірдей және еңбек ақысы бірдей қызметкер болуы мүмкін. Табель нөмірі әр қызметкер үшін ерекше. Бізді қандай ой, осы қатынаста тек бір потенциальды кілт - "Табель нөмірі" бар деген түсінікке әкелді? Дәл сол қатынастағы деректер мәннің түсіну. Атрибуттар аталуын өзгертіп бұл қатынасты басқа түрде көрейік: Осы кестені басқа біреуге көрсетіп, оған атрибуттар аталу мағынасын хабарламаймыз. Енді көрініп тұр деректердің мағынасын түсінбей тұрып оны талқылай алмаймыз немесе ол осы қатынаста пайда болады ма, мысалы, кортеж (1, Петров, 3000). Егер мұндай кортеж пайда болса (бір көргеннен кортеж ерекшелігі бұзылады), онда біз дәл айта аламыз, атрибуттардың біреуі де жекелей альтернативті кілт бола аламайды. Бірақ біз айта алмаймыз, алғашқы кілт не болып табылатынын.

Мән тұтастығы. Потенциальды кілттер негізінен пәндік сала объктілерінің идентификаторы қызметін атақарады (объектілерді айыруға арналған), онда бұл идентификаторлар мәні белгісіз мәні болмайды. Расында, егер идентификаторларда null-мәні болса, онда біз екі идентификатор ұқсас па, ұқсас емес пе соған "иә" немесе "жоқ" деген жауап бере алмаймыз. Бұл келесі мәннің тұтастық ережесін анықтайды: Мәннің тұтастық ережесі. Кейбір потенциальды кілт құрамына кіретін атрибуттар null-мәннің қабылдай алмайды.

Сыртқы кіллтер. Пәндік саланың әртүрлі объектілері ылғм бір-бірімен өзара байланысты, олар жөніндегі ақпарат деректер қорында сақталынады. Мысалы, тауарды жеткізу жөніндегі накладной қағазы тауар саны және бағасы тізімінен тұрады, кәсіпорындағы қызметкер бөлімде тіркеледі, оның балалары бар және т.б. "Тұрады", "бар", "тіркеледі" терминдері "накладной" және "тауар тізімі", "қызметкер" және "балалар", "қызметкер" және "бөлім" түсініктері арасындағы байланысты білдіреді. Мұндай байланыстар бірнеше қатынасты байланыстыратын сыртқы кілттер көмегімен реляциялық деректер қорында бейнеленеді. Мысалы, бізге жеткізушілердің аталуы, олармен жеткізілетін тауар аталуы мен саны жөніндегі ақпарат ақпаратты сақтау керек, бірақ әр жеткізуші бірнеше деталь жеткізе алады және әр деталь бірнеше жеткізушімен жеткізілуі мүмкін. Деректерді келесі қатынаста сақтауды ұсынуға болады:

Жеткізуші нөмірі

Жеткізуші аталуы

Деталь нөмірі

Деталь аталуы

Жеткізілетін саны

1

Иванов

1

Болт

100

1

Иванов

2

Гайка

200

1

Иванов

3

Винт

300

2

Петров

1

Болт

150

2

Петров

2

Гайка

250

3

Сидоров

3

Винт

1000

6-кесте. "Жеткізушілер және жеткізілетін детальдар" қатынасы.

Бұл қатынастың потенциальды кілті болып екі атрибут жұбы бола алады {"Жеткізуші нөмірі", "Деталь нөмірі"} – кестеде олар курсивпен белгіленген. Деректерді сақтаудың келтірілген тәсілінде кемшіліктер бар. Егер жеткізушінің аталуы өзгерсе не болады? Себебі жеткізуші аталуы қатынастың көптеген кортежінде қайталанады, онда бұл аталуды бір уақытта ол кездесетін барлық кортежде өзгерту керекто, әйтпесе деректер қарама-қарсы болады. Дәл сондай деталь аталуымен. Деректер біздің қатынаста үлкен артықшылықпен сақталынады.

Әрі қарай, тұжырымды қалай кескіндейміз, кейбір жеткізуші, мысалы Петров, детальды жеткізуді уақытша тоқтатты? Егер біз осы жеткізуші жеткізу жөніндегі ақпарат сақталынған, барлық кортежді жойсақ, онда біз сол потенциалды жеткізуші Петров жөніндегі деректерді жоғалтамыз. Біз қатынаста кортеж типін (2, Петров, NULL, NULL, NULL) қалдырып, бұл жағдайдан шыға алмаймыз, өйткені "Деталь нөмірі" атрибуты потенциальды кілт құрамына кіреді және null-мәні болмайды. Дәл сондай болады, егер кейбір деталь уақытша ешқандай жеткізушімен жеткізілмейді. Біз мынадай ақпаратты сақтай алмаймыз, қандай да бір жеткізуші, егер ол аз дегенде бір деталь жеткізбесе және мынадай тағы ақпарат сақтай алмаймыз, қандай да бір деталь бар, егер оны ешкім жеткізбесе. Осындай мәселелер пайда болады, себебі біз бір қатынаста пәндік саланың әртүрлі объектілерін – жеткізушілер жөніндегі деректерді, деталь жөніндегі деректерді, детальды жеткізу жөніндегі деректерді араластырдық. Бұл қатынас жаман қалыптастырлған (жай қалыптастырылған болады, ол қатынас автоматты түрде 1ҚФ орналасады) деп айтылады. Қатынасты қалай дұрыс қалыптастыру керектігі келесі бөлімдерде айтылады, қазір деректерді үш қатынасқа - "Жеткізушілер", "Детальдар, "Жеткізу" таратамыз. Біз үшін маңыздысы, осы қатынаста сақталынатын деректер бір бірімен қалай байланысқан. Бұл байланыс пәндік саланың семантикасымен анықталынады және мынадай фразамен сипатталады: "Жеткізушілер Жеткізуді орындайды", "Детальдар Жеткізу арқылы жеткізіледі". Бұл екі өзара байланыс тікелей "Жеткізушілермен" және "Детальмен" арасындағы жаңа өзара байланысты анықтайды: "Деталь Жеткізушілермен жеткізіледі". Бұл фразалар әртүрлі типті өзара байланысты кескіндейді. Пәндік саланы дәлірек көрсету үшін, фразаларды басқаша қалыптастыруға болады: "Бір Жеткізуші бірнеше Жеткізуді орындай алады", "Бір Деталь бірнеше Жеткізумен жеткізіледі". Бұл өзара байланыс мысалы "бірдің-көпке" типінде. "Жеткізушілермен" және "Детальдармен" арасындағы байланысты былай қалыптастыруға болады: "Бірнеше Деталь бірнеше Жеткізушімен жеткізіледі". Бұл өзара байланыс мысалы "көпке-көп" типінде. Реляциялық деректер қорында негізгі болып "бірдің-көпке" типіндегі өзара байланыс табылады. "Көпке-көп" типіндегі өзара байланыс, бірнеше "бірдің-көпке" типіндегі өзара байланысын қолданып таратылады. "Бір" жағынан байланысқа кіретін қатынас (мысалы, "Жеткізушілер"), аталық қатынас деп аталынады. "Көп" жағынан байланысқа кіретін қатынас (мысалы, "Жеткізу"), балалық қатынас деп аталынады. "Бірдің –көпке" өзара байланысын тарату механизмі мынада, балалық қатынасқа аталық қатынастың кілттік атрибутына сілтеме болатын атрибуттар үстемеленеді. Бұл атрибуттар аталық қатынас кортежі балалық қатынастың қандай кортежімен байланысып тұрғаның анықтайтын сыртқы кілттер болады. Мұндай атрибуттарды тағы да аталық қатынастан мигрирленген деп атайды. Сонымен, жеткізушілер және жеткізілетін деталь жөніндегі біздің мысал келесі түрде болады: "Жеткізу" қатынасында "Жеткізуші нөмірі" және "Деталь нөмірі" атрибуттары "Жеткізушілер" және "Детальдар" қатынасының кілттік атрибуттарына сілтеме болады, және сонымен бірге сыртқы кілт болып табылады. Ескеріп кетеміз, қатынас деректері жоғарыда сипатталған кемшіліктен бос, барлық деректерді бір қатынаста сақтау ұсынылды.

Жеткізуші нөмірі

Деталь нөмірі

Жеткізілетін саны

1

1

100

1

2

200

1

3

300

2

1

150

2

2

250

3

3

1000

7-кесте. "Жеткізу" қатынасы.

Шындығында, жеткізуші мен деталь аталуын өзгерту кезінде, бұл өзгерту тек бір орында болады. Егер жеткізуші барлық детальды жеткізуді бітірсе, онда "Жеткізу" қатынасында тиісті кортеждер жойылады, жеткізуші жөніндегі деректер өзгеріссіз қалады. Нақты анықтама береміз.

2 Анықтама. қатынасы берілсін. қатынасының бағыныңқы көпмүше атрибутының сыртқы кілт деп атаймыз, егер:

  1. потенциальды кілтті ( және әртүрлі міндетті емес қатынасы бар.

  2. қатынасындағы әрбір мәні ылғи қатынас кортежіндегі мәнімен ұқсас болады, болмаса null-мәнді болады.

қатынасы аталық қатынас, балалық қатынас деп аталынады.

Сыртқы кілт тұтастығы

Сыртқы кілттер басқа қатынастағы (немесе сондағы) кортежге сілтеме болады, онда бұл сілтемелер жоқ объектілерге көрсетпеу керек. Бұл келесі сыртқы кілттер тұтастығы ережесін анықтайды: Сыртқы кілттер тұтастық ережесі. Сыртқы кілттер келісілмеген болмау керек, одан әрі сыртқы кілттің әрбір мәні үшін аталық қатынастағы алғашқы кілттің тиісті мәні болу керек.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]