Կարո՞ղ է մեկ հիմնական բանալին ունենալ երկու արտաքին բանալի:
Կարո՞ղ է մեկ հիմնական բանալին ունենալ երկու արտաքին բանալի:

Video: Կարո՞ղ է մեկ հիմնական բանալին ունենալ երկու արտաքին բանալի:

Video: Կարո՞ղ է մեկ հիմնական բանալին ունենալ երկու արտաքին բանալի:
Video: Entity Relationship Diagram (ERD) Tutorial and EXAMPLE 2024, Մայիս
Anonim

Դա միանգամայն լավ է ունեն երկու օտար բանալի սյունակներ, որոնք վկայակոչում են նույնը առաջնային բանալին սյունակը մեկ այլ աղյուսակում, քանի որ յուրաքանչյուրը օտար բանալի արժեքը կամք հղում կատարել այլ գրառում համապատասխան աղյուսակում:

Այստեղ կարո՞ղ են երկու օտարերկրյա բանալիներ առաջնային բանալի դարձնել:

Հնարավոր չէ ունենալ երկու հիմնական բանալին . Սա է պատճառներից մեկը, որ կոչվում է « առաջնային », քանի որ եթե ունենայիք երկու , մեկը չէր կարող լինել առաջնային , բայց երկրորդական առաջնային.

Հետագայում հարց է առաջանում՝ կարո՞ղ է առաջնային բանալին լինել օտար բանալի բազմաթիվ աղյուսակներում: Օրինակ, ի օտար բանալի պետք է հղում ա առաջնային բանալին կամ եզակի սահմանափակում, թեև այդ հղումը կարող է լինել նույնի վրա սեղան կամ վրա ա տարբեր սեղան . Օտար բանալի սյունակներ կարող է պարունակում է NULL արժեքներ:

Համապատասխանաբար, կարո՞ղ եք ունենալ մի քանի օտար բանալի:

Սեղան կարող է ունեն բազմաթիվ օտարերկրյա բանալիներ , և յուրաքանչյուրը արտաքին բանալին կարող է ունենալ մեկ այլ ծնող սեղան: Յուրաքանչյուրը օտար բանալի կիրառվում է անկախ տվյալների բազայի համակարգով: Հետևաբար, աղյուսակների միջև կասկադային հարաբերություններ կարող է ստեղծվել օգտագործելով օտարերկրյա բանալիներ.

Կարո՞ղ ենք աղյուսակում երկու օտար բանալի ավելացնել:

Այո, MySQL-ը դա թույլ է տալիս: Դու կարող ես ունեն բազմաթիվ օտարերկրյա բանալիներ նույնի վրա սեղան . Այն օտարերկրյա բանալիներ ձեր սխեմայում (Account_Name-ում և Account_Type-ում) անել չի պահանջում որևէ հատուկ վերաբերմունք կամ շարահյուսություն: Պարզվում է, որ առնվազն մեկ Այս դեպքերը վերաբերում են Հաճախորդի ID և Անուն սյունակներին սեղան.

Խորհուրդ ենք տալիս: