
2025 Հեղինակ: Lynn Donovan | [email protected]. Վերջին փոփոխված: 2025-01-22 17:27
Հիմնական բանալիներ միշտ պետք է եզակի լինել, օտարերկրյա բանալիներ անհրաժեշտ է թույլատրել ոչ եզակի արժեքներ, եթե աղյուսակը մեկ-շատ հարաբերություն է: Միանգամայն լավ է օգտագործել a օտար բանալի քանի որ առաջնային բանալին եթե աղյուսակը կապված է մեկ առ մեկ, այլ ոչ թե մեկ-շատ հարաբերություններով:
Նմանապես, հարցնում են՝ կարո՞ղ է առաջնային բանալին նույն աղյուսակում լինել նաև օտար բանալի:
Ստեղծելով ա օտար բանալի գրեթե նույնքան հեշտ է, որքան ստեղծելը առաջնային բանալին , բացառությամբ, որ SQL Server-ը պարտադրում է ևս մի քանի կանոն օտարերկրյա բանալիներ . Օրինակ, ի օտար բանալի պետք է հղում ա առաջնային բանալին կամ եզակի սահմանափակում, թեև այդ հղումը կարող է լինել վրա նույն սեղանը կամ ուրիշի վրա սեղան.
Բացի այդ, ինչո՞վ են տարբերվում հիմնական և արտաքին բանալիները: Ա առաջնային բանալին հատուկ բանալի է, որն օգտագործվում է աղյուսակում գրառումները եզակիորեն նույնականացնելու համար, մինչդեռ ա օտարերկրյա բանալին օգտագործվում է երկու աղյուսակների միջև հարաբերություններ հաստատելու համար: Երկուսն էլ կառուցվածքով նույնական են, բայց խաղում են տարբեր դերեր հարաբերական տվյալների բազայի սխեմայում:
Այստեղ դուք կարո՞ղ եք ունենալ օտարերկրյա բանալի առանց հիմնական բանալիի:
Այո՛։ Մենք կարող է ստեղծել Արտաքին բանալի առանց ունենալով Առաջնային բանալին ծնողական աղյուսակում: Մեզանից շատերը սխալ պատկերացումների մեջ են, որ մենք կարող է չստեղծել ա Արտասահմանյան բանալի առանց հիմնական բանալիի ծնողական աղյուսակում: Այդ եզակի ID-ն կարող է լինել առաջնային բանալին կամ եզակի բանալի.
Կարո՞ղ է արտաքին բանալին կրկնօրինակվել:
Ի տարբերություն առաջնային բանալիներ , օտար բանալիները կարող են պարունակում է կրկնօրինակել արժեքներ։ Նաև լավ է, որ նրանք պարունակեն NULL արժեքներ: Ինդեքսները ավտոմատ կերպով չեն ստեղծվում օտարերկրյա բանալիներ ; սակայն, որպես DBA, դուք կարող է սահմանել դրանք: Աղյուսակը թույլատրվում է պարունակել մեկից ավելի օտար բանալի.
Խորհուրդ ենք տալիս:
Ինչպե՞ս կարելի է SQL Server-ում ստեղծել առաջնային բանալին արտաքին բանալիների հարաբերություններ:

Օգտագործելով SQL Server Management Studio-ն Object Explorer-ում, աջ սեղմեք աղյուսակի վրա, որը կլինի հարաբերությունների արտաքին բանալին և սեղմեք Դիզայն: Սեղանի դիզայներ ընտրացանկից կտտացրեք «Հարաբերություններ»: Արտաքին բանալիով հարաբերություններ երկխոսության վանդակում սեղմեք Ավելացնել: Սեղմեք հարաբերությունները Ընտրված հարաբերությունների ցանկում
Կարո՞ղ է օտարերկրյա բանալին լինել null Postgres:

INSERT INTO արտադրանքի արժեքների մեջ (11, «Ջոյի համար», 1); INSERT INTO արտադրանքի արժեքների մեջ (22, «բոլորի համար», NULL); Միանգամայն օրինական է ունենալ զրոյական օտար բանալի սյունակ
Ի՞նչ է առաջնային և արտաքին բանալին db2-ում:

Օտար բանալին աղյուսակի սյունակների մի շարք է, որոնք պետք է համապատասխանեն մեկ այլ աղյուսակի տողի առնվազն մեկ հիմնական բանալին: Դա ռեֆերենցիոն սահմանափակում է կամ հղումային ամբողջականության սահմանափակում: Սա տրամաբանական կանոն է մեկ կամ մի քանի աղյուսակների մի քանի սյունակներում գտնվող արժեքների վերաբերյալ
Ի՞նչ է հիմնական բանալին երկրորդական և արտաքին բանալին:

Արտասահմանյան բանալի. Արդյո՞ք հիմնական բանալին հայտնվում է մեկ այլ աղյուսակում (խաչ հղումով): Երկրորդական (կամ այլընտրանքային) բանալի. Աղյուսակի որևէ դաշտ է, որը ընտրված չէ որպես վերը նշված երկու տեսակներից որևէ մեկը:
Կարո՞ղ է կոմպոզիտային բանալին եզակի լինել:

Կոմպոզիտային եզակի բանալին եզակի բանալին է, որը կազմված է սյունակների համակցությունից: Սահմանափակումը բավարարելու համար, որը նշանակում է կոմպոզիտային եզակի բանալի, աղյուսակի ոչ մի երկու տող չի կարող ունենալ արժեքների նույն համակցությունը հիմնական սյունակներում: