Տվյալների մոդելներ և տիպեր

**Բազայում պահվող տվյալներ** (), տրամաբանական կառուցվածք ունեցող տվյալներ: Դասական կառուցվածքն ունի հիեարխիկ, ցանցային, ռելյացիոն, պոստռելյացիոն, բազմաչափ և օբյեկտկողմնորոշված տեսակներ: Այժմ մշակվում են տարբեր կառուցվածքի համակարգեր, որոնք հիմնված են տվյալների այն մոդելների վրա, որոնք ընդլայնվում են վերոհիշյալ մոդելներում: Այս մոդելները ծառայում են տվյալների բազայի, գիտելիքների բազայի և ծրագրավորման լեզուների ինտեգրմանը: Որոշ տվյալների բազաների կառավարման համակարգերում կիրառվում են տարբեր կառուցվածքի մոդելներ:

## Հիերարխիկ մոդել
Հիերարխիկ մոդելը նման է ծառի, որի տվյալների միջև կապը կարելի է ներկայացնել հետևյալ տեսքով՝ ծառն իր մեջ ներառում է կառուցվածքային ենթատիպ, որն իր հերթին կարող է մեկ այլ ծառ լինել: Ամեն մի ծառ բաղկացած է 1 արմատ տիպից և ենթակա տիպերի կարգավորված հավաքածուից: Պարզագույն տիպերից յուրաքանչյուրը, որոնք պատկանում են «ծառ» տիպին, իրենից պարզ «գրառում» է ներկայացնում: Պարզ գրառումը բաղկացած է 1 տիպից՝ թվային կամ տեքստային, իսկ կառուցվածքային գրառումը իրենից ներկայացնում է տիպերի հավաքածու (ամբողջ, սիմվոլիկ կամ նշիչ):

Արմատական է կոչվում այն տիպը, որն ունի ենթատիպեր, բայց ինքը ենթատիպ չի համարվում։ «Ծառ» տիպը իրենից ներկայացնում է հիեարխիկ կառուցվածք ունեցող «գրառումային» տիպերի հավաքածու։ Հիերարխիկ կառուցվածքով տվյալների բազան «ծառ» տիպի տվյալների կարգավորված «ամբողջականություն» է, որը պարունակում է գրառումային տիպի նմուշ։ Հաճախ տիպերի միջև հարաբերությունը փոխանցվում է «գրառումների» միջև հարաբերության։ «Գրառում» դաշտերը, ինչպես նշեցինք, պարունակում են թվային կամ սիմվոլիկ տվյալներ, ինչն էլ իրենից ներկայացնում է տվյալների բազայի հիմնական բովանդակությունը։ Հիերարխիկ տվյալների բազայի գրառումների վրայով անցումը կկատարվի վերևից ներքև կամ ձախից աջ։ ԷՀՄ-ի հիշողությունում տվյալների բազայի ֆիզիկական տեղաբաշխումը կազմակերպելու համար գոյություն ունեն հետևյալ ձևերը՝ հիշողությունում հաջորդաբար տեղաբաշխված գծային ցուցակի տեսքով և կապող գծային ցուցակի տեսքով։

Հիեարխիկ կազմակերպված տվյալների բազայի հետ կատարվելիք գործողությունները․

* տվյալների բազայում տրված նմուշի որոնում
* մի ծառից մյուսին անցում
* ծառի ներսում մի գրառումից մյուսին անցում
* նշված տեղում նոր գրառման ներմուծում կամ ավելացում
* ընթացիկ գրառման հեռացում

«Ծառ» տիպի ներսում պահպանվում է կապի ամբողջական վերահսկում։ Դրա հիմնական բանաձևն այն է, որ չի կարող լինել սերունդ (ենթատիպ), որը «ծնող» չունենա ծառի մեջ, իսկ որոշ ծնողներ կարող են ենթատիպ չունենալ։ Տարբեր ծառերի գրառումների միջև ամբողջականության մեխանիզմը բացակայում է։

### Հիերարխիկ տիպի կազմակերպման առավելությունն ու թերությունները
Հիեարխիկ տիպի կազմակերպման առավելությունը հիշողության ռացիոնալ օգտագործման և տվյալների հետ կատարվող գործողությունների ժամանակի խնայման մեջ է։

Այս մեթոդի թերությունը բարդ տրամաբանական կապերով ինֆորմացիայի մշակման ծավալն է, ինչպես նաև այն բարդ է սովորական օգտվողի համար։ Այս մեթոդի վրա հիմնված են համեմատաբար փոքր ծավալով ՏԲԿՀ-եր:

## Ցանցային մոդել
Տվյալների բազայի ցանցային մոդելը թույլ է տալիս ներկայացնել տվյալները փոխկապակցված գրաֆի տեսքով։ Դրանով իսկ դա ընդլայնվում և ընդհանրացնում է տվյալների հիեարխիկ մոդելը։ Ցանցային տվյալների բազայում սխեմայի ներկայացման համար օգտագործվում է տիպերի 2 տեսակ՝ «գրառում» և «կապ»։

«Կապ» տեսակը կապակցվածություն է ստեղծում երկու տեսակի գրառումների միջև։ «Կապ» տեսակի փոփոխությունները հանդիսանում են կապի նմուշներ։ Ցանցային տիպի տվյալների բազան բաղկացած է գրառումներից և նրանց միջև համապատասխան կապերից։ Կապի ձևավորման համար հատուկ սահմանափակումներ չեն դրվում։ Եթե հիեարխիկ մոդելում սերունդը կարող էր ունենալ միայն մի ծնող, ապա ցանցում նա կարող է ունենալ ցանկացած քանակով ծնող։ Տվյալների ֆիզիկական տեղաբաշխումը նույնն է, ինչ-որ հիեարխիկ մոդելում։ 

##### Ցանցային տիպի տվյալների բազայի օգտագործած կարևորագույն գործողությունները
* տվյալների բազայում գրառման որոնում
* անցում ծնողից հաջորդ սերնդին
* անցում սերնդից ծնողին
* նոր գրառման ստեղծում
* ընթացիկ գրառման ջնջում
* ընթացիկ գրառման նորացում
* գրառման ներառում ցանցի մեջ
* կապից գրառման հանում
* կապերի փոփոխություն և այլն

### Տվյալների ցանցային մոդելի առավելություններն ու թերությունները
Ցանցային մոդելի առավելությունները հիշողության ռեսուրսների ծախսերի և օպերատիվ ցուցանիշների արդյունավետության օգտագործումն է։ Այդ մոդելը, ի տարբերություն նախորդի, հնարավորություն է տալիս ազատ կապեր ստեղծելու։

Այստեղ թերություն է հանդիսանում տվյալների բազայի կառուցվածքի բարդությունը։ Սովորական օգտվողների կողմից տվյալների տված ինֆորմացիան հասկանալու և մշակելու դժվարությունն է։ Թերություն է նաև ցանցային մոդելում տարբեր գրառումների միջև ազատ կապեր ստեղծելու հնարավորությունը, այն թուլացնում է տվյալների բազայի ամբողջականության վերահսկումը։

## Ռելյացիոն մոդել
Այս մոդելի հեղինակը IBM ընկերության աշխատակից Էդգար Կոդն է։ Մոդելը հիմնված է «relation» գաղափարի վրա։ Այն իրենից ներկայացնում է տարրերի բազմություն, որոնք իրենցից ներկայացնում են կոտեժներ:

Այս մոդելի օրինակ է երկչափ աղյուսակը։ Այն ունի տողեր (գրառումներ) և սյուներ։ Բոլոր գրառումներն ունեն նույն կառուցվածքը և բաղկացած են դաշտերից։ Աղյուսակի տողերին համապատասխանում են կոտեժները, իսկ սյուներին ռելյացիոն ատրիբուտները։ 1 աղյուսակի միջոցով կարելի է ներկայացնել տվյալների միջև պարզագույն կապի տեսակ։

Օրինակ՝ 1 օբյեկտը, որի մասին ինֆորմացիան պահպանվում է աղյուսակում, բաժանվում է ենթաօբյեկտների, որոնցից յուրաքանչյուրին համապատասխանում է տող և գրառում։ Բոլոր ենթաօբյեկտները ունեն նույն կառուցվածքը (հատկությունները), որոնք ներկայացված են գրառման համապատասխան դաշտում։ Օրինակ՝ աղյուսակը կարող է ինֆորմացիա պարունակել մի խումբ ուսանողների մասին, որոնցից յուրաքանչյուրի համար հայտնի է հետևյալ ինֆորմացիան․ անուն, ազգանուն, հայրանուն, սեռը, հասակը, կրթություն և այլն։

Քանի որ 1 աղյուսակի մեջ հնարավոր չէ ներկայացնել տվյալների ավելի բարդ տրամաբանական կառուցվածքը՝ կիրառում են աղյուսակների միջև կապը։

### Տվյալների ռելյացիոն մոդելի առավելություններն  ու թերությունները
Ռելյացիոն տվյալների մոդելի արժանիքը՝ Էհմ-իի վրա նրա իրականացման պարզության և հարմարության մեջ է, հենց այդ պարզությունն էլ պատճառ է հանդիսանում նրա լայն կիրառման համար։

Ռելյացիոն մոդելի թերությունը հետևյալն է․ առանձին գրառումների իդենտիֆիկացիայի ստանդարտ միջոցների բացակայությունն է, հիեարխիկ և ցանցային կապերի նկարագրման բարդությունը՝ ռելացիոն ՏԲԿՀ-ի կիրառման օրինակ է՝ FOXPRO, FOXBASE, PARADOX, MS ACCES և այլն։

## Պոստռելյացիոն մոդել
Այս մոդելը առաջարկում է տվյալների անբաժանելիության գաղափարը, այն տվյալների, որոնք պահվում են աղյուսակի գրառման դաշտերում։ Կան բազմաթիվ դեպքեր, երբ այս սահմանափակումը խանգարում է իրականացնել ներդիրը։ Տվյալների պոստռելյացիոն մոդելը իրենից ներկայացնում է ռելյացիոն մոդել, որը հանում է տվյալների աղյուսակի գրառման մեջ պահվող տվյալների անբաժանելիության վրա դրված սահմանափակումը։

### Պոստռելյացիոն մոդելի առավելություններն  ու թերությունները
Պոստռելյացիոն ՏԲԿՀ-ի արժանիքը հանդիսանում է կապված ռելյացիոն աղյուսակի համախմբությունը մի պոստռելյացիոն աղյուսակի միջոցով արտահայտելու հնարավորությունը։ Դա ապահովում է տեսանելիությունը և աշխատանքի բարձր արդյունավետությունը։

Պոստռելյացիոն ՏԲԿՀ-ի թերությունը ամբողջականության ապահովման խնդրի լուծման բարդությունն է, և պահվող տվյալների անհակասելիությունը։

## Տվյալների բազմաչափ մոդել
Բազմաչափ ՏԲԿՀ-ում հիմնականում օգտագործվում են 2 տարբերակներ՝ հիպերխորանարդներ և կիսախորանարդներ։

Կիսախորանարդների կառուցվածքում  նախատեսվում է, որ տվայլների բազայում կարող են որոշված լինեն մի քանի հիպերխորանարդներ, տարբեր չափերով և որպես կող տարբեր չափումներով։ Իսկ հիպերխորանարդների դեպքում նախատեսվում է, որ բոլոր ցուցանիշները որոշվում են նույն չափումների հավաքածուով։ Դա նշանակում է, որ մի քանի հիպերխորանարդների գոյության  դեպքում, նրանք բոլորը նույն չափն ունեն և համընկնում են։ Տվյալների բազմաչափ մոդելի դեպքում կիրառվում են մի շարք գործողություններ։ Դրանցից են

* կտրվածք
* պտույտ
* ագրեգացիա
* մանրացում

Կտրվածքը (slice) դա հիպերխորանարդների բազմություն է, որը ստացվում է 1 կամ մի քանի ֆիքսված չափումներից։ Կտրվածքի ձևավորումը կատարվում է օգտվողի կողմից արժեքի սահմնափակման համար, քանի որ հիպերհղումների արժեքները իրականում երբեք միաչափ չեն օգտագործվում։ Պտույտն օգտագործվում է երկչափ տվյալների ներկայացման դեպքում։ Նրա իմաստը տվյալների տեսանելի ներկայացման ժամանակ չափումների կարգի փոփոխություն է։

### Տվյալների բազմաչափ մոդելի առավելություններն  ու թերությունները
Այս մոդելի արժանիքը ժամանակից  կախված մեծ ծավալով տվյալների անալիտիկ մշակման  արդյունավետությունն ու հարմարավետությունն է, իսկ թերությունը ինֆորմացիայի մշակման ժամանակ սովորական գործողություններում պարզ խնդիրների ներկայացման համար դրանց հսկայական չափերը ():

## Օբյեկտ կողմնորոշված մոդել
Այս մոդելում տվյալները ներկայացնելիս հնարավոր է տվյալների առանձին գրառումները ինդենտիֆիկացնել: Տվյալների բազաների գրառումների և նրանց վերամշակման ֆունկցիաների միջև որոշակի կապ է ստեղծվում ծրագրավորման օբյեկտ կողմնորոշված լեզուների համապատասխան միջոցներով։

String տիպի հայտանիշի արժեքը սիմվոլների տող է, իսկ class տիպինը օբյեկտ է, որն իրենից ներկայացնում է համապատասխան տիպի նմուշ։ Ամեն դասի օբյեկտ կամ նմուշ հանդիսանում է օբյեկտի ժառանգորդ, որում նա որոշված է, որպես հայցանիշ։ Այդ դասի նմուշը պատկանում է իր դասին և ունի մեկ ծնող։

Տվյալների բազայի ծնողական հարաբերությունները ձևավորում են օբյեկտների կապված հիերարխիա։ Գրադարանային գործի օբյեկտկողմնորոշված տվյալների բազայի տրամաբանական կառուցվածքի վրա է ուսումանսիրվում այս մոդելը։ Այստեղ գրադարան տիպի օբյեկտը ծնող է հանդիսանում արգումենտ, կատալոգ և տրամադրում օբյեկտը նմուշ դասի համար։ Օրինակ՝ հեղինակի անվանում։ Գիրք տիպի տարբեր օբյեկտներ կարող են ունենալ մեկ կամ մի քանի ծնող։ Գիրք տիպի օբյեկտները, որոնք ունեն նույն ծնողը պետք է տարբերվեն  գոնե ինվենտարի համարով, որը նույնն է ամեն գրքի նմուշի համար, բայց ունեն նույն հայտանիշի արժեքը։

Օբյեկտակողմնորոշված տվյալների բազան արտաքին կառուցվածքով նման է հիերարխիկ տվյալների բազային։ Նրանց հիմնական տարբերությունը տվյալների հետ կատարվող գործողությունների մեջ է։ Քննարկվող տվյալների բազայի մոդելի տվյալների հետ գործողություններ կատարելու համար կատարում է տրամաբանական գործողություններ՝ ուժեղացված օբյեկտակողմնորոշված մեխանիզմներով։ Մասնավորապես կարելի է կիրառել SQL լեզվի հրամանների նման գործողություններ, օրինակ՝ տվյալների բազա ստեղծելու համար: Տվյալների բազայի ստեղծումը ու ձևավորումը ուղեկցվում է ինդեքսների ստեղծմամբ (աղյուսակ) և հետագա ուղղումով: Ինդեքսները պարունակում են ինֆորմացիա տվյալների արագ փնտրման համար:

1. Ինկապսուլյացիան սահմանափակում է հայտանիշի տեսանելիությունը, այն օբյեկտի սահմաններում, որի մեջ նա որոշված է:

2. Ժառանգականությունը տարածում է այդ հատկանիշի տիրույթը բոլոր սերունդ օբյեկտների վրա:

Օրինակ բոլոր գիրք տիպի օբյեկտներին, որոնք համարվում են կատալոգ տիպի օբյեկտ սերունդ, կարելի է վերագրել ծնող օբյեկտի հայտանիշը:

Եթե անհրաժեշտ է ընդլայնել ժառանգականության մեկանիզմի գործողությունները, այն օբյեկտների վրա, որոնք չեն հանդիսանում անմիջական սերունդ, (օրինակ՝ Նույն ծնողի 2 զավակների միջև), ապա նրանց ընդհանուր ծնողում ստացվում է abc տիպի վերացական հայտանիշ (օրինակ՝ տոմս և համար)։

3. Պոլիմորֆիզմ - ծրագրավորման օբյեկտակողմնորոշված լեզվում  նշանակում է միևնույն ծրագրավորման կոդի աշխատելու կարողությունը տարբեր տիպի տվյալների հետ: Այսինքն տարբեր տիպի օբյեկտներին թույլ է տալիս ունենալ նույն անունով մեթեդներ (պրոցեդուրաներ ֆունկցիաներ): Ծրագրի աշխատանքի ժամանակ արգումենտի տիպից կախված նույն մեթոդները գործողություններ են կատարում տարբեր օբյեկտների հետ:

Փնտրումը օբյեկտակողմնորոշված տվյալների բազայում իրենից ներկայացնում է օբյեկտների միջև տվյալների նմանության բացահայտում, որոնք տրված են օգտվողի և այն օբյեկտների կողմից, որոնք պահպանված են տվյալների բազայում: Օգտվողի կողմից տրված օբյեկտը կոչվում է նպատակ: Այն ունի գոալ տիպ և ընդհանուր դեպքում այն կարող է իրենից ներկայացնել տվյալների բազայում պահպանվող օբյեկտների ենթաբազմություն: Օբյեկտի նպատակը, ինչպես նաև հարցման կայացման արդյունքը կարող է կատարվել անմիջապես բազայի մեջ (հարցման օրինակ է կարդացողի տոմսի համարի և այն աբոնենտների անունների շուրջ հարցումները, որոնք գոնե 1 անգամ գրադարանից գիրք են վերցրել):

### Տվյալների օբյեկտկողմնորոշված մոդելի առավելություններն  ու թերությունները
Տվյալների օբյեկմնորոշված մոդելի արժանիքը ռելյացիոնի հետ համեմատած այն է, որ այստեղ օբյեկտների բարդ փոխկապակցվածության մասին  ինֆորմացիայի արտացոլման հնարավորություն կա: Այս մոդելը թույլ է տալիս իդենտիֆիկացնել տվյալների բազայի առանձին գրառումը և որոշել նրա մշակման ֆունկցիաները: Թերությունը հանդիսանում է տվյալների մշակման անհարմարությունը և հարցումների կատարման ցածր արագությունը:

## Տես նաև

* Տվյալների բազա

## Ծանոթագրություններ

Կատեգորիա:Տվյալների բազաներ