Өгөгдлийн сангийн загвар

## Models of Database (**Өгөгдлийн сангийн загварууд**) 
Өгөгдлийн сан болон загвар нь мэдээллийн сангийн логик бүтцийг тодорхойлж, өгөгдөл хадгалах аргыг зохион байгуулж, удирдахад тодорхойлдог мэдээллийн загварын төрөл юм. Мэдээллийн баазын загварын хамгийн сайн жишээ нь харилцааны загвар, хүснэгтэнд суурилсан форматыг ашигладаг юм. 

## Relationships and functions
Өгөгдсөн өгөгдлийн сангийн систем нь нэг буюу хэд хэдэн загвар гаргаж болно. Ихэнх өгөгдлийн сангийн удирдлагын систем нь ялангуяа нэг загварын эргэн тойронд байгаа бүтээгдэхүүн дээр нэгээс илүү загварын хувьд ашиглагддаг.
Загвар нь зүгээр нэг арга биш юм. Энэ нь мэдээлэл болон үйл ажиллгааг тодорхойлно. Харилцааны загварын жишээ нь ямар нэгэн үйл ажиллагааг тодорхойлдог. Эдгээр үйл ажиллагаа нь тухайн хайлтын хэл нь тодорхой байж болох боловч аль нэг хайлтын хэлийн суурийг хангасан байна.

*Model of database types – Өгөгдлийн сангийн загварын төрлүүд: 
Өгөгдлийн сангийн загвар нь өгөгдлийн сангийн бүтцийг ашиглаж  тодорхойлсон тодорхойлолт юм. Хэд хэдэн загварыг санал болгож байна. Үүнд:

## Flat model – Жигд, хавтгай загвар
Энэ өгөгдлийн загвар нь зарим нэгэн шалгуурыг хангахгүй байж болно. Хавтгай эсвэл жигд загвар нь өгөгдлийн элемент тухайн баганын бүх гишүүд ижил утгатай байх нэг, хоёр хэмжээст массиваас бүрддэг. Мөн тухайн баганын утгууд нь нэг нэгэндээ холбоотой байна гэж үздэг.
 Жишээ нь: Нэр, нууц үг байх баганыг системийн аюулгүй байдлын мэдээллийн сангийн нэг хэсэг болгон авч үзэж болдог юм. Мөр тус бүр нь бие даасан хэрэглэгчтэй холбоотой тусдаа нууц үгтэй байна. Хүснэгтийн багана нь ихэвчлэн тэмдэгт мэдээлэл, огноо болон цагийн мэдээлэл, бүхэл эсвэл бутархай тоо болгон тодорхойлдог. Энэ нь хүснэгтэн хэлбэрийн загварын эхний хэсэг юм.

## Early data models – Эрт өгөгдлийн загварууд
Энэ загвар нь 1960-аад оны сүүл, 1970-аад оны эхэн үед алдартай байсан харин одоо хуучин системд л болж байгаа. Гол төлөв мэдээллийн хараат бус байдал тэдний логик, болон физик төлөвийн холболт болон мөн дутагдалтайгаараа онцлоготой.

### Hierarchical model– Шаталсан загвар
Шаталсан загварт холбоосууд, мод бүтэцтэй сүлжээний загвар бөгөөд  бусад  сүлжээний загвартай төстэй юм.
Шаталсан загварын өгөгдлийн бичлэг тус бүр нэг эцэг эхтэй бөгөөд мод шиг бүтэц болон зохион байгуулалттай байна. Өгөгдлийн талбар нь тодорхой дарааллаар бүртгэлийг хадгалж байдаг. Шаталсан бүтэц нь Мэдээллийн менежментийн систем ( Information Management System ) – ээс хост мэдээллийн системийн удирдлагын ашиглаж байсан XML баримт бичгийн бүтцийг тайлбарлах болно. Энэ бүтэц нь нэг нь нэг-олон тоо хоёр төрлийн харилцааны боломжийг олгодог. Энэ бүтэц нь бодит ертөнцөд олон харилцааг тодорхойлоход маш үр ашигтай байна. Түүний бүтцийг хадгалах, бүртгэлийг нь физик өгөгдлийн төрөлд ашиглаж байна. Бичлэгийг дарааллан хандахаас нэгтгэн ашиглах нь өгөгдлийн бүтцийг дамжихийг хэлж байна. Ийм учраас, шаталсан бүтэц нь бүрэн замд мөн рекорд бүрийн хувьд өгөгдөл оруулж байх үед зарим мэдээллийн баазын үйл ажиллагаа үр ашиггүй байна. 
 

### Network model – Сүлжээний загвар
Сүлжээний загвар нь олон эцэг эхтэй бөгөөд мод шиг бүтэцтэй олон-олон харилцааг зөвшөөрдөг бөгөөд шаталсан бүтэц дээр нэмдэг. Энэ нь харилцааны загваруудаас хамгийн алдартай байсан CODASYL тодорхойлолтод тодорхойлогдсон байна. Сүлжээний загвар нь хоёр үндсэн үзэл баримтлалыг ашигладаг.Үүнд:  өгөгдөл, бүртгэлийн багц зохион байгуулдаг. Бүртгэл талбаруудыг (програмчлалын хэл COBOL шиг шатлалтайгаар зохион байгуулагдсан байдаг) агуулсан байдаг. Багц (математик бүрдэл) тодорхойлогдох нэг-олон бүртгэл хоорондын харилцааны: Нэг эзэн, олон гишүүдийн бичлэг нь багц ямар ч тоо гишүүн байж болно. Сүлжээний загвар нь шаталсан загварт илүү үр ашигтай. Сүлжээний загварыг үйл ажиллагааны хэв маяг нь навигацийн байна. Хамгийн илүү объект өгөгдлийн сан нь 1990-ээд онд зохион бүтээсэн холбогдох обьектуудад ерөнхийдөө ашигладаг. Бодитой Өгөгдлийн санд
 Жишээ нь: Нэг-нэг гүйцэтгэдэг нэг-олон, олон-нэг, олон-олон мэдээллийн сантхй харилцдаг. Олон объект мэдээллийн сан нь мөн аль алинд нь загварын давуу хослуулах, SQL дэмждэг.

### Inverted file model – Урвуу байрлалтай файлын загвар
Урвуу файл эсвэл урвуу индекс нь мэдээллийн агуулга хайх хүснэгтэд түлхүүрүүд болгон ашиглаж байгаа бөгөөд хүснэгтийн утга өгөгдсөн жишээ тус бүрийн байршил заагч юм. Энэ нь орчин үеийн мэдээллийн сангийн индекс зөвхөн хайх хүснэгтэд тодорхой багана дахь агуулгыг ашиглаж болох логик бүтэц юм. Урвуу файлын өгөгдөл загварын индекс файлууд нь  мэдээллийн баазын файлуудыг үр ашигтай шаардлагатай бүртгэлийг хандахын тулд хийж өгч болно.

## Relational model – Харилцааны загвар
Харилцааны загвар нь тухайн ямар нэг програмын өгөгдлийн сангийн менежментийн системд илүү бие даасан болгох арга зам гэж 1970 онд  E.F. Codd танилцуулсан. Энэ нь үндсэн логик нөхцөлийг, тогтоосон онол, хэрэгжүүлэх Микрокомпьютерийн системүүдэд хэрэглэгддэг байна. Энэ нь системд тодорхойлсон математик загвар юм. Ерөнхийдөө өгөгдлийн санг  Codd бүтээгдэхүүн гэж тодорхойлсон. Математик загвар нь зөвхөн ойролцоо загварыг хэрэгжүүлэх. харилцаа, шинж, болон домэйн гэсэн  гурван гол нэр томъёог хамаардаг өгөгдлийн сангийн загварыг өргөнөөр ашиглаж байна. Харилцааны загвар нь багана, эгнээ бүхий хүснэгт юм. Харилцааны загварт ашигладаг хамгийн түгээмэл а хэл Structured Query Language (SQL) юм. Жишээ нь:
   
### Dimensional model - Хэмжээст загвар
Хэмжээст загвар нь өгөгдлийг онлайн шинжилгээний боловсруулалт, эсвэл OLAP асуулга ашиглан дүгнэж болно гэсэн байдлаар өгөгдлийг төлөөлөхөд ашигласан харилцааны загварт зохицох юм. Хэмжээст загварт мэдээллийн сангийн схемийн хэмжээ, арга хэмжээг ашиглан тодорхойлсон байгаа баримтууд дээр тогтдог. Хэмжээс нь баримт нөхцөл байдлыг хангаж,  холбоотой баримт бичгийг хэрэглэж байна ( хэзээ, хаана болсон хэн оролцсон, түүний төрөл гэх мэт). Мэдээлэл агуулах тэднийг хамтад нь ашиглах боломж олгож, хэмжээст загварт хуваалцах нь олон хэмжээст схем агуулж болно. Хэмжээст стандарт нь хэмжээст загварчлал нэг чухал хэсэг юм. Хэмжээст загвар нь OLAP хамгийн алдартай мэдээллийн баазын бүтцээр хийсэн байна.
OLAP - Online analytical processing (Онлайн шинжилгээ боловсруулах)

## Post-relational database models - Post-relational өгөгдлийн сангийн загварууд
Харилцааны загварт илүү ерөнхий мэдээлэл загварыг санал болгодог. Мэдээллийн санд бүх мэдээлэл харилцаа нь өөр ямар ч аргаар тодорхойлогдох ёстой. Харилцааны загварт эдгээр нь урьдчилан харилцааны загварыг нэгтгэх. Жишээ нь:  Нэг чиглэлтэй графикийг олгодог. Германы компани Sone-ийн өөрийн гаргасан иGraphDB  үзэл баримтлалыг хэрэгжүүлдэг. Нөөцийн хэмжээ загвар (resource space model RSM) олон хэмжээст дээр суурилсан харилцааны загвар юм.

### Graph model – Диаграмм загвар
Диаграмм өгөгдлийн сан нь сүлжээний мэдээллийн санд илүү их ерөнхий бүтэцийг зөвшөөрөх ямар нэгэн  зангилаанд холбоотой байж болох юм.

### Object-oriented database models - Объект хандалтат өгөгдлийн сангийн загварууд
1990-ээд онд объект хандлагат програмчлалын зарчмыг зорилго мэдээллийн сан гэгддэг шинэ өгөгдлийн сангийн загварыг бий болгох, мэдээллийн сангийн технологи хэрэглэж байна. Объект өгөгдлийн сан нь техникийн стандартчиллын салбарт дутагдал нь: стандартыг ODMG тодорхойлсон байсан хэдий ч, тэд бүтээгдэхүүнд харилцан ажиллахын тулд хангалттай сайн хэрэгжсэн байна. Гэсэн хэдий ч, обьект өгөгдлийн санг олон програмуудад амжилттай ашиглаж байна. Обьект өгөгдлийн сан нь SQL хэлний хийсэн өргөтгөлүүдийг авсан байна.

## Нэмэлт мэдлэг
### Data model topics – Өгөгдлийн загварын сэдэвүүд
Үүнд: 
Data architecture – Өгөгдлийн архитектур
Өгөгдлийн архитектур зорилго, зорилтот төлөвт хэрэгтэй дараагийн төлөвлөлтийг тодорхойлоход ашиглах өгөгдлийн загвар юм. Энэ нь ихэвчлэн энтерпрайс архитектур болон хэд хэдэн архитектур салбартын нэг юм.Өгөгдлийн архитектур бизнес ба /  түүний програмуудад ашиглагддаг өгөгдлийн бүтцийг тодорхойлно. Өгөгдлийн архитектурыг боловсруулсан хэрхэн хадгалах, зэрэгээ тухайн системд ашиглаж тайлбарлана. Энэ нь аль болох өгөгдлийн урсгалыг боловсруулах, мөн системд өгөгдөл болон мэдээллийн урсгалыг хянахын тулд хийж мэдээлэл боловсруулах үйл ажиллагааны шалгуур үзүүлэлтийг хангах шаардлагатай.

### Data modeling – Өгөгдлийн загвар
Програм хангамжийн инженерийн өгөгдлийн загварчлалын арга техникийг ашиглан албан ёсны өгөгдлийн загварыг ашиглан бий болгох үйл ажиллагаа юм. Өгөгдлийн загвар бол өгөгдлийн санд бизнесийн шаардлагыг тодорхойлох арга юм. Энэ нь өгөгдлийн загварын мэдээллийн санд хэрэгжиж байна, үүнийг өгөгдлийн сангийн загвар гэж нэрлэдэг. Өгөгдлийн загвар нь голдуу үйл ажиллагааны загварын хүрээнд боловсруулсан байгаа програмын өгөгдлийн шаардлагад үндэслэн боловсруулагдаж байна. Өгөгдлийн загвар нь энтерпрайсын (томоохон хэмжээний байгууллага) төрөл, шинж, харилцаа, дүрэм, ба эдгээр объектоос бүрдэнэ. Энэ нь интерфэйс эсвэл өгөгдлийн сангийн загварыг эхлэх цэг болгон ашиглаж байна.

### Data properties – Өгөгдлийн шинж чанар
Шаардлагыг хангасан байх шаардлагатай бөгөөд өгөгдлийн зарим чухал шинж чанар нь:
* definition-related properties – Тодорхойлолт -  холбоотой шинж чанар
***	Ач холбогдол: Таны бизнесийн хүрээн дэхь өгөгдлийн ач холбогдол.*
***Тодорхой: өгөгдөлд зориулсан тодорхойлолт, хуваалцсан эсэх.*
*** Уялдаа: өөр эх сурвалжаас авсан мэдээ ижил төрлийн нийцтэй байх.*

*content-related properties – Агууламж – холбоотой шинж чанар
***Цаг хугацаа: Өгөгдөлд шаардлагатай мэдээлэл байна.*
***Нарийвчлал: Үнэн зөв өгөгдөл.*

*properties related to both definition and content - Тодорхойлолт, агуулга хоёулантай нь холбоотой шинж чанар
***Бүрэн: Шаардлагатай өгөгдөл их байдаг.*
***Хүртээмж: Хэрхэн, хэнд *
***Зардал: Нийт олсон орлогоос ашигийг хасна*

### Data organization – Өгөгдлийн байгууллага
Өгөгдлийн загвар өөр нэг зүйл нь өгөгдлийн сангийн удирдлагын систем, мэдээллийн менежментийн бусад технологийг ашиглан өгөгдлийг зохион байгуулах талаар тайлбарлах болно. Өөр өөр хандлагатай бие даасан мэдээллийн далд загварыг бий болгох  сүлжээ зэрэг дасан зохицох системийг ашиглах явдал юм.

### Data structure – Өгөгдлийн бүтэц
Өгөгдлийн бүтэцийг үр ашигтай ашиглах нь компьютерт өгөгдөл хадгалах нэг арга юм. Энэ нь өгөгдлийн математик, логик үзэл баримтлал дээр байгуулагдсан юм. Өгөгдлийн бүтэцийн сонголт  нь ихэвчлэн хийсвэр өгөгдлийн төрлийн сонголтоос эхэлдэг. 
Өгөгдлийн бүтцийн төрөлд нь : 
Массив , Хэш хүснэгт, Холбоост жагсаалт, Stack

### Related models – Холбоотой загварууд
 Үүнд:

**Data flow diagram – Өгөгдлийн урсгалын диаграмм**
Өгөгдлийн урсгалын диаграмм (data flow diagram – DFD ) мэдээллийн системээр дамжуулан өгөгдлийг “урсгал” – ийн график дүрслэл юм. Энэ нь мэдээллийн урсгалын оронд хөтөлбөрийн хяналтын урсгалыг харуулж байгн. Энэ ерөнхий бүдүүвчлэлээрээ ялгаатай. Өгөгдлийн урсгалын диаграммд өгөгдлийн боловсруулалтыг ашиглаж болно. Өгөгдлийн урсгалын диаграммын дизайн анхны хөгжүүлэгчид Ларри Константин,  Мартин нар нь тооцооллын Estrin-н “ өгөгдлийн урсгалын хүснэгт" загвар дээр үндэслэн зохион бүтээсэн байна.

**Information model – Мэдээллийн загвар**
Мэдээллийн загвар мэдээлэл загварын төрөл биш, харин өөр загвар. Програм хангамжийн инженерчлэлийн салбар дотор нь өгөгдлийн загвар, мэдээллийн загвар аль аль нь тэдний шинж, харилцаан дээр хийж болно.

**Object model – Объект загвар **
Компьютерийн шинжлэх ухаан дахь объект загварууд эсвэл түүний зарим тодорхой хэсгийг өөрчилж болно. Өөрөөр хэлбэл зарим үйлчилгээ буюу системийн обьект хандалтат интерфэйс юм. Ийм интерфэйс үйлчилгээ нь системийн обьект загвар байх ёстой гэж үздэг. 

**Object-Role Model - Объект үүрэг загвар**
Объект үүрэг загварын үзэл баримтлалын загварчлалд зориулсан арга юм. Мэдээллийн журамд дүн шинжилгээ хийх хэрэгсэл болгон ашиглаж болно. Объект үүрэг загвар үзэл баримтлалын түвшинд систем шинжилгээг гүйцэтгэхэд чиглэсэн арга юм. Өгөгдлийн сангын баазын програмын чанар нь түүний загвараас хамаарна. Тодорхой зохицох, бүтээмжийг хангахын тулд мэдээллийн системийн хамгийн анхны үзэл баримтлалын түвшинд,  хүмүүс хялбар ойлгодог хэлийг ашиглан зааж байна.

**Unified Modeling Language models - Нэгдсэн Загварчлалын хэлний загварууд**
Нэгдсэн Загварчлалын хэл нь програм хангамжийн инженерчлэлийн салбарт стандартын дагуу ерөнхий зориулалтын загварчлалын хэл юм. UML дотор: 
•	Бизнесийн үйл ажиллагаа, системийн үйл ажиллагаа гэх мэт ойлголтын зүйл
•	Прогрмчлалын хэл, тайлан, өгөгдлийн сангийн схем, 
•	Дахин ашиглах програм хангамжийн бүрэлдэхүүн хэсэг.
UML үйл ажиллагааны загвар нь өгөгдлийн загвар болон өгөгдлийн сангийн загварын холимог юм.

## Ашигласан материал 
*David C. Hay (1996). Data Model Patterns: Conventions of Thought. New York:Dorset House Publishers, Inc.
*Len Silverston (2001). The Data Model Resource Book Volume 1/2. John Wiley & Sons.
*Matthew West (2011) Developing High Quality Data Models Morgan Kaufmann
*https://en.wikipedia.org/wiki/Database_model
*https://en.wikipedia.org/wiki/Data_model

Ангилал:Өгөгдлийн сангийн онол
Ангилал:Өгөгдлийн загварчлал