Video: Կարո՞ղ է օտարերկրյա բանալին վկայակոչել մեկ այլ օտար բանալի:
2024 Հեղինակ: Lynn Donovan | [email protected]. Վերջին փոփոխված: 2023-12-15 23:48
1 Պատասխան. Ա արտաքին բանալին կարող է հղում կատարել ցանկացած դաշտ, որը սահմանված է որպես եզակի: Եթե այդ եզակի դաշտն ինքնին սահմանվում է որպես ա օտար բանալի , դա տարբերություն չունի։ Եթե դա եզակի ոլորտ է, ապա դա կարող է լինել նաև թիրախ ուրիշ Ֆ. Կ.
Այստեղ կարո՞ղ է օտարերկրյա բանալին մատնանշել եզակի բանալի:
Առաջնային բանալիներ միշտ պետք է լինել եզակի , օտարերկրյա բանալիներ անհրաժեշտ է թույլ տալ ոչ եզակի արժեքներ, եթե աղյուսակը մեկ-շատ հարաբերություն է: Ա ՕՏԱՐ ԲԱՆԱԼԻ սահմանափակում անում է չպետք է կապված լինի միայն ՀԻՄՆԱԿԱՆԻ հետ ԲԱՆԱԼԻ սահմանափակում մեկ այլ աղյուսակում; այն կարող է նաև սահմանվի հղում սյուները ա ՅՈՒՐԱՔԱՆԱԿԱՆ սահմանափակում մեկ այլ աղյուսակում:
Նմանապես, կարո՞ղ է օտարերկրյա բանալին այլ անուն ունենալ: Ամենից հաճախ՝ ա օտար բանալի հղում է առաջնային բանալի մյուս աղյուսակի դաշտը: Այն օտար բանալի դաշտը (CustomerNum) և հղվող դաշտը (CustID) կարող են ունեն տարբեր անուններ (կամ նույնը Անուն ), բայց պետք է ունեն նույն տվյալների տեսակը և դաշտի սահմանափակումները:
Նմանապես կարելի է հարցնել՝ կարո՞ղ է արդյոք օտարերկրյա բանալին նույն աղյուսակին հղում անել:
ՕՏԱՐ ԲԱՆԱԼԻ սահմանափակումներ կարող է հղում կատարել մեկ այլ սյունակում նույն սեղանը . Սա կոչվում է ինքնակառավարում հղում . Ա ՕՏԱՐ ԲԱՆԱԼԻ սյունակի մակարդակում նշված սահմանափակում կարող է թվարկեք միայն մեկը հղում սյունակ. Այս սյունակը պետք է ունենա նույնը տվյալների տեսակը որպես սյունակ, որի վրա սահմանվում է սահմանափակումը:
Կարո՞ղ է արդյոք արտաքին բանալին թարմացվել:
Այնուամենայնիվ, եթե թարմացնել կանոնը ԳՈՐԾՈՂ ՉԻ, ծնողը եզակի է բանալիները կարող են լինել թարմացվել է քանի դեռ յուրաքանչյուր երեխա ունի ծնող բանալի այն ժամանակ, երբ թարմացնել հայտարարությունը ավարտվում է. Ոչ զրոյական թարմացնել a-ի արժեքը օտար բանալի պետք է հավասար լինի առաջնային արժեքին բանալի հարաբերությունների ծնող աղյուսակի:
Խորհուրդ ենք տալիս:
Կարո՞ղ է սյունակն ունենալ մի քանի օտար բանալի:
Տեսականորեն դուք չեք կարող կիրառել մի քանի օտար բանալի մեկ սյունակում: Որպես այլընտրանք, դուք կարող եք դա կիրառել՝ օգտագործելով ընթացակարգերը, որտեղ դուք հաստատում եք մուտքագրումը, որը գոյություն ունի բազմաթիվ աղյուսակում և կատարում է անհրաժեշտ գործողությունը:
Կարո՞ղ է մեկ հիմնական բանալին ունենալ երկու արտաքին բանալի:
Շատ լավ է ունենալ երկու օտարերկրյա բանալիների սյունակ, որոնք հղում են կատարում նույն հիմնական բանալին սյունակին մեկ այլ աղյուսակում, քանի որ յուրաքանչյուր օտար բանալի արժեք կմատնանշի համապատասխան աղյուսակում տարբեր գրառումներ:
Կարո՞ղ է օտարերկրյա բանալին լինել null Postgres:
INSERT INTO արտադրանքի արժեքների մեջ (11, «Ջոյի համար», 1); INSERT INTO արտադրանքի արժեքների մեջ (22, «բոլորի համար», NULL); Միանգամայն օրինական է ունենալ զրոյական օտար բանալի սյունակ
Կարո՞ղ եք ունենալ մի քանի օտար բանալի:
Աղյուսակը կարող է ունենալ մի քանի օտար բանալի, և յուրաքանչյուր օտար բանալի կարող է ունենալ տարբեր մայր աղյուսակ: Յուրաքանչյուր օտարերկրյա բանալի ուժի մեջ է մտնում տվյալների բազայի համակարգի կողմից: Հետևաբար, աղյուսակների միջև կասկադային հարաբերությունները կարող են հաստատվել օտար բանալիների միջոցով
Կարո՞ղ ենք զրոյական արժեք ներմուծել օտար բանալի սյունակում:
NULL արժեքներ արտաքին բանալիում Օտարերկրյա բանալին, որի սյունակները բաց են թողնում NOT NULL, կարող է պարունակել NULL արժեքներ, նույնիսկ եթե առաջնային բանալին չի պարունակում NULL արժեքներ: Այսպիսով, դուք կարող եք տողեր տեղադրել աղյուսակում, նույնիսկ եթե դրանց արտաքին բանալին դեռ հայտնի չէ