Տվյալների բազաների ամենակարեւոր հասկացություններից մեկը տվյալների շտեմարանների միջեւ փոխկապակցվածություն է ստեղծում: Այս հարաբերությունները ապահովում են մեխանիզմ, միացնելով բազմաթիվ աղյուսակներում պահվող տվյալների եւ դրանք արդյունավետ կերպով վերցնելու: Երկու աղյուսակների միջեւ կապ ստեղծելու համար դուք պետք է սահմանեք օտար բանալին մեկ սեղանի վրա, որը հղում է սեղանի մեկ այլ աղյուսակում:
Տվյալների բազայի աղյուսակներ եւ հարաբերություններ
Գուցե դուք արդեն գիտեք, որ տվյալների բազաները պարզապես սեղաններ են , որոնք նման են այնպիսի ծրագրերի , ինչպիսիք են Microsoft Excel- ը: Փաստորեն, դուք նույնիսկ կարող եք Excel աղյուսակի փոխարկել տվյալների բազա: Այն դեպքերում, երբ տվյալների բազաները բաժանվում են աղյուսակներից, այն դեպքում, երբ խոսքը վերաբերում է սեղանների միջեւ հզոր փոխհարաբերությունների ստեղծմանը :
Մտածեք, օրինակ, ընկերության կողմից օգտագործվող տվյալների բազա, որպեսզի մարդկային ռեսուրսների տեղեկատվությունը դիտարկվի: Տվյալների բազայում կարող են աշխատակիցներ կոչվող աղյուսակը, որը պարունակում է հետեւյալ տեղեկությունները ընկերության աշխատակիցների յուրաքանչյուր անդամի համար.
- Employee ID- ն
- Անուն
- Ազգանուն
- OfficePhone- ը
- HomePhone
- PositionID- ը
Այս օրինակում աշխատողի ID- ն յուրահատուկ գեներացվող ամբողջական թիվ է, որը յուրաքանչյուր աշխատակցի համար նշանակված է, երբ դրանք ավելացվում են տվյալների բազայում: Պաշտոն ID- ն աշխատանքային օրենսգրքի մեջ օգտագործվում է ընկերության աշխատակցի դիրքորոշման վերաբերյալ: Այս սխեմայում աշխատողը կարող է ունենալ միայն մեկ պաշտոն, սակայն յուրաքանչյուր պաշտոնի կարող է լրացնել բազմաթիվ (կամ ոչ) աշխատողներ: Օրինակ, կարող եք հարյուրավոր աշխատակիցներ ունենալ «Կարիերայի» դիրքով:
Տվյալների շտեմարանը կարող է պարունակել նաեւ Պատվեր կոչվող աղյուսակը, յուրաքանչյուր դիրքորոշման վերաբերյալ հետեւյալ լրացուցիչ տեղեկությունները.
- PositionID- ը
- Կոչում
- Յոբ Լիվելը
- ՀմտությունԿարող
- Որտեղից
Այս աղյուսակում Պաշտոն ID- ի դաշտը նման է Employees ID- ի Employee ID- ի դաշտի, որը աշխատակիցների աղյուսակում է, որը ստեղծվում է բացառիկ գեներացվող ամբողջականություն, երբ ստեղծվում է տվյալների բազա:
Երբ մենք գնում ենք տվյալների բազայից աշխատակիցների ցուցակ գրել, բնական է, որ յուրաքանչյուր անձի անունը եւ տիտղոսը պահանջեն: Այնուամենայնիվ, այս տեղեկությունները պահվում են բազում տվյալների բազաների աղյուսակում, ուստի այն կարող է ստանալ միայն JOIN հարցման միջոցով, որը պահանջում է առկա հարաբերությունները սեղանների միջեւ:
Երբ նայում եք սեղանների կառուցվածքին, հարաբերությունները որոշող դաշտը, հավանաբար, ակնհայտ է `Position ID դաշտը: Յուրաքանչյուր աշխատող կարող է ունենալ միայն մեկ պաշտոն, եւ այդ պաշտոնը նույնականացվում է, ներառելով Պաշտոն ID- ն, Պաշտոնային աղյուսակի համապատասխան մուտքի մեջ: Բացի դիրքերից ստացվող աղյուսակի հիմնական բանալին , այս օրինակում Պաշտոն ID- ի դաշտը նաեւ օտարերկրյա ստանդարտ է Աշխատակիցների սեղանից դեպի դիրքերի աղյուսակ: Այնուհետեւ տվյալների բազան կարող է օգտագործել այս դաշտը տեղեկատվության փոխանակման համար մի քանի աղյուսակներից եւ ապահովել, որ տվյալների բազայում ցանկացած փոփոխություն կամ լրացում շարունակվում է կիրառել տվյալների ամբողջականությունը :
Արտասահմանյան բանալին հայտնաբերելուց հետո, կարող եք առաջ գնալ եւ ցանկալի տեղեկություններ ստանալ տվյալների բազայից `օգտագործելով հետեւյալ հարցումները.
Ստեղծելով օտարերկրյա բանալիներ SQL Server- ում
Տեխնիկապես, դուք պետք չէ պարզորոշել հարաբերությունները բացահայտորեն, որպեսզի կարողանաք կատարել հարցումները, ինչպես օրինակ վերը նշվածը: Այնուամենայնիվ, եթե դուք բացահայտորեն սահմանում եք հարաբերությունները օտարերկրյա հիմնական խոչընդոտի օգտագործմամբ, ապա տվյալների բազան կկարողանա իրականացնել որոշ տնային աշխատանք:
- Երբ աշխատակիցների աղյուսակում ավելացնում եք նոր գրառում, տվյալների բազան կապահովի, որ դուք մուտքագրեք Position ID- ը Փաստաթղթերի աղյուսակում վավեր առաջնային բանալին :
- Եթե փոխարկեք Պաշտոն ID- ն Պլանների աղյուսակում, ապա տվյալների բազան կարող է կատարել հետեւողականություն պահպանելու համար աշխատողների սեղանին պահանջվող թարմացումները:
- Տվյալների բազան կարող է պաշտպանել դիրքերի վերացման ազդեցությունից, կամ հրաժարվելով պաշտոնից ջնջել համապատասխան աշխատողների գրառումները կամ կատարել բոլոր հետ կապված աշխատողների կասկածելի ջնջումը:
Ահա թե ինչպես եք ստեղծել SQL Server օտարերկրյա բանալին:
ALTER TABLE- ի աշխատակիցները Օտարերկրյա ՀԻՇԵՑՈՒՄ (PositionID) Հղումներ Կապեր (PositionID)Դուք կարող եք ստեղծել նաեւ արտասահմանյան բանալիներ, երբ դուք ստեղծեք աղյուսակը `ավելացնելով դրույթը.
ՕՏԱՐԵՐԿՐՅԱ ՀԻՇՈՂՈՒԹՅՈՒՆՆԵՐԸ (PositionID)օտարերկրյա բանալիների սյունակի սյունակի սահմանման ավարտին: