Хамааралт өгөгдлийн сан

Харьцаа өгөгдлийн сангийн удирдлагын систем (**RDBMS**) гэдэг бол  өгөгдлийн санг удирдах систем (**DBMS**) юм.
Харьцаа өгөгдлийн сангийн удирдлагын систем нь нэг буюу хэд хэдэн өгөгдлийн  санг удирддаг ерөнхий систем юм. Хоёр буюу түүнээс дээш холбогдох хүснэгтүүдийг агуулсан өгөгдлийн санг  харьцаа  өгөгдлийн сан гэж нэрлэдэг.Харьцаа өгөгдлийн сангийн удирдах систем  бол  SQL хэлэнд суурилсан.
Харьцаа өгөгдлийн сангийн  хүснэгтийн бичлэгүүд давхардсан байж болохгүй. Үүний тулд нэг бичлэгийг нөгөөгөөс ялгаж өгч байдаг дор хаяж нэг талбар байх ёстой. Ийм талбарыг түлхүүр талбар буюу primary key гэнэ. Жишээ нь: 5 талбартай хоёр бичлэгийн 4 талбарын утга нь адилхан байлаа гэхэд үлдсэн ганц талбарын утгууд нь өөр хоорондоо ялгаатай байх ёстой.
Түлхүүр талбарыг мөн хүснэгтүүд хооронд холбоо үүсгэхэд ашиглана. Энэ тохиолдолд эхний хүснэгтэд анхдагч түлхүүр болж орсон бол нөгөө хүснэгтэд түүнийг foreign key гэнэ.
Харьцаа  өгөгдлийн  сан гэдэг нь  холбогдох мэдээлэл нь  олон хүснэгт даяар байх ба өгөгдлийн санг хадгалж болно. Хүснэгтүүдийн   хооронд харилцаа тогтоох замаар холбогдoх  боломжийг олгодог. Энэ нь та нэг удаа мэдээллийг оруулж , дараа нь бусад мэдээллийн санд үүнийг лавлагаа, мэдээллийг хадгалах үр дүнтэй арга юм.Харилцааны өгөгдлийн  сан  интернет, их хэмжээний өгөгдөл, үүлэн тооцоолол, гар утас, болон дижитал эдийн засаг болон  бизнесийн програмууд цаг хугацааны явцад үндсэн суурь үүсэн гарсан юм.Дашрамд сонирхуулахад хувьд анх Oracle 1979 онд гаргасан байна.Өгөгдлийн  сан  нэг сервер дээр ажиллуулах инженерчлэл  илүү сайн шийдэл байсан.Өгөгдлийн сангийн чадавхийг нэмэгдүүлэх цорын ганц арга зам зэрэг процессор,серверүүд мөн санах ойн хэмжээг шинэчлэх юм.Өгөгдлийн сан нь хүснэгтүүдээс бүрдэнэ.Хүснэгтүүд нь мөр болон  бичлэг бүтэцтэй байна.Өгөгдлийн сан бүр  хүснэгт эгнээний нэг буюу хэд хэдэн өгөгдлийн сангийн хүснэгт талбаруудыг агуулдаг.Маш урт өгөгдлийн хэмжээ ендер биш байна. Энэ нь  RDBMS-н энээс татгалзах нь маш сайн шалтгаан бий.Өгөгдлийн сангийн хүснэгтүүдэд RDBMS  бүр анхдагч өгөгдөл хадгалах бөгөөд үндсэндээ тэд холбогдох мэдээлэл оруулгуудын цуглуулга юм. RDBMS хүснэгт бүр нь өгөгдлийн сан хүснэгт мөр байна.Хүснэгтэд хэрэглэгч бүх оруултууд нь давтагдашгүй байдаг ч тэд ижил төстэй объект тайлбарлах гэсэн утгаар нь холбоотой байдаг.Харьцаа өгөгдлийн сангийн системийн нэг чухал онцлог нь нэг өгөгдлийн сан нь хэд хэдэн хүснэгт даяар тархсан байж болох юм. Энэ нь хавтгай файл өгөгдлийн сан, өгөгдлийн сан нь тус бүр бие даасан нэг ширээн дээр байгаа ялгаатай байдаг.Бараг бүх бүрэн хэмжээний өгөгдлийн сангийн систем RDBMS-н юм. Жижиг өгөгдлийн сангийн систем, Гэсэн хэдий ч квери учруулж бага уян хатан хангадаг бусад загваруудыг ашиглаж байна.
Харьцаа өгөгдлийн санг удирдах систем  санхүүгийн бүртгэл, үйлдвэрлэл, логистикийн мэдээлэл, ажилтнуудын  мэдээлэл мөн 1980 оноос хойш бусад програмуудад ашиглагддаг шинэ мэдээллийн санд мэдээллийг хадгалах нь нийтлэг сонголт байсаар ирсэн.Тэд ойлгож, хэрэглэхэд хялбар байсан  учраас харьцаа өгөгдлийн  сан нь ихэвчлэн  шаталсан мэдээллийн сан болон сүлжээний мэдээллийн сан сольсон байна.Гэсэн хэдий ч  харьцаа өгөгдлийн сан нь 1980, 1990-ээд оноос объект өгөгдлийн сангийн менежментийн систем гарч ирснээр амжилтгүй болсон (харьцаа өгөгдлийн сан болон объект хандалтат програмчлалын хоорондох үл нийцэх байдлыг шийдвэрлэх оролдлогыг танилцуулсан) мөн 1990-ээд оноос XML өгөгдлийн сангийн удирдлагын систем гарч ирсэн. Дээрх оролдлого байгаа ч RDBMS-ийн зах зээлд эзлэх хувь жилээс жилд өс ч байна.
Харьцаа өгөгдлийн сангийн удирдах систем бол  холбоо хамааралтай  өгөгдлийн санг удирдан ашиглах юм. Харьцаа  өгөгдлийн сан өгөгдөл рүү амархан хандаж болох ба  хүснэгтүүдийн  зохион байгуулалттай цогц цуглуулга юм. Харьцаа өгөгдлийн сан  хамгийн түгээмэл мэдээллийн санг ашигладаг. Энэ хүснэгт тоо бүрдэх ба хүснэгт бүр өөрийн үндсэн түлхүүр юм.
## Үүсэл хөгжил
Харьцаа өгөгдлийн сангийн удирдлагын систем (**RDBMS**) гэдэг бол  өгөгдлийн санг удирдах систем (DBMS)  бөгөөд IBM's Сан Жонс  судалгааны лабораторт   E. F. Codd  харьцаа загварт суурилж зохион бүтээсэн.
1974 онд IBM-ийн систем R, судалгааны төсөл нь загвар Харьцаа өгөгдлийн сан удирдах системийг хөгжүүлж эхэлсэн. Гэсэн хэдий ч 1979 онд харьцаа програм хангамжаар Oracle RDBMS-ийг анх удаа худалдаанд гарсан, одоогийн Oracle корпораци. RDBMS-ийн бусад жишээнд DB2, SAP Sybase ASE болон Informix орно.
1984 онд Macintosh анхны RDBMS code-named Silver Surfer-ийг хөгжүүлж эхэлсэн, дараа нь 1987 оны байдлаар 4н хэмжээст буюу өнөөдрийн бидний мэдэхээр 4D гэж нэрлэгдэж байна.

## Өгөгдлийн санг удирдах систем
### Өгөгдлийн бүтэц
Өгөгдлийн бүтэц  нь өгөгдлийн санг хэрэглэгчид ойлгож, ашиглах хүснэгт хэлбэр энгийн, хялбар байдаг. RDBMS нь өгөгдлийн бүтэц, зохион байгуулалтыг ашиглан өгөгдөл хандах боломжийг олгодог. Өгөгдлийн сангаас  тохирох оролтыг оруулж ямар нэгэн багана хайх боломжтой.
### Олон хэрэглэгч хандах
RDBMS нь  олон өгөгдлийн сангийн хэрэглэгчид нэгэн зэрэг өгөгдлийн  сан руу хандах боломжийг олгодог. Build-lock болон шилжилтын удирдлагын ажиллагаа, энэ нь өөрчлөгдөж байгаа талаар хэрэглэгчид мэдээллийг олж авах боломжийг олгодог мэдээллийг шинэчлэх хоёр хэрэглэгчийн хооронд мөргөлдөөн урьдчилан сэргийлэх, болон хэсэгчлэн шинэчилсэн бүртгэл рүү хэрэглэгчид хандах боломжтой байдаг.
### Хувийн эрх
RDBMS-д эрх бүхий болон онцгой удирдах эрхтэй өгөгдлийн сангийн администратор эрх бүхий хэрэглэгчдийн хандалтыг хязгаарлах боломжийг олгодог бөгөөд тэд өгөгдлийн сангийн бусад үйд ажиллагаанд оролцдог бусад хэрэглэгчид эрх олгож болно. Эрх бүхий хэрэглэгчийн эрх хослуулан алсын клиент IP хаяг, өвөрмөц гадаад компьютерийн системд хандах хандалтыг хязгаарлах дээр тулгуурлан тодорхойлж болно.
### Сүлжээнд хандах
Сервер домайн холбогдож өгөгдлийн санг ашиглах нь сүлжээн дэх хүсэлтийг сонсож, өгөгдлийн баазын үйлчлүүлэгчдэд олгодог тусгай програм хангамжаар  дамжуулан өгөгдлийн санд хандах боломжийг бүрдүүлэх юм. Хэрэглэгчид нь хэрэглэгчдэд тав тухтай, мэдээллийн сан нь аюулгүй байдлын давхарга хангах, мэдээллийн санг ашиглах физик компьютерийн системд нэвтэрч чаддаг байх албагүй. Сүлжээний хандалтыг хөгжүүлэгчид өгөгдлийн сан ажиллах компьютерийн програм болон вэб програм хийх боломжийг олгодог.
### Хурд
Харьцаа өгөгдлийн сангийн загвар хамгийн хурдан өгөгдөлийн бүтэц биш юм.  Харьцаа өгөгдлийн санг удирдах систем энгийн загвар учраас энэ нь давуу тал юм.Гэхдээ хурд нь удаан  энэ сул талыг нэг юм. Харьцаа өгөгдлийн санг удирдах систем болгон  оновчлолыг болон өгөгдлийн сангийн  дизайн , ихэнх програмууд болон өгөгдлийн сан хурдан хангалттай илүү гүйцэтгэх боломжийг  олгох, үйл ажиллагааг сайжруулах, технологийг сайжруулах, процессор хурдыг нэмэгдүүлэх, санах ой болон хадгалах зардлыг бууруулах системийн админууд ямар ч өгөгдлийн сангийн үйл ажиллагааны дутагдлыг сайжруулж байх ёстой . Ингэснээр  системийн хурдтай ажиллана.==
### Засвар үйлчилгээ
Өгөгдлийн сангийн администратор өгөгдлийн сангийн аюулгүй байдалд санаа тавьж  тест хийх ,туршилт, засвар , системд байрлаж байгаа өгөгдлийн санг нөөцлөх боломжтой.Олон үйл ажиллагаанг автоматжуулах боломжтой эсвэл үйлдлийн систем дээр байгаа автоматжуулалтын багаж хэрэгсэлийг ашиглаж автоматжуулалтыг хийж болдог.
### Хэл
Харьцаа өгөгдлийн сангийн ерөнхий суурь хэл нь Structured Query Language" (SQL) юм . SQL синтакс энгийн бөгөөд  энэ хэл нь нэлээд хялбар, сурахад хялбар болгож, стандарт англи хэлийг  ашиглаж түлхүүрийг тодорхойлон  ашигладаг. Олон харьцаа өгөгдлийн сангууд нь  SQL хэлний бус, өгөгдлийн сангийн тодорхой түлхүүр үг, чиг үүрэг, онцлог нэмнэ.

## Харьцаа өгөгдлийн санг удирдах систем тайлбар
### Харьцаа өгөгдлийн сангийн удирдах системийн  давуу тал
* **Tом хэмжээний   өгөгдлийн   санг зохион байгуулахад  дэмжлэг үзүүлэх**
* **Xайлтын автомат оновчлолтой**
* **Харьцаа өгөгдлийн санг удирдах систем  нь бизнес  ашиглахад  маш  их өгөгдлийг aгуулсан энгийн өгөгдлийн  сан юм.**
* **Стандарт  квери  хэл ашигласан**
Харьцаа өгөгдлийн сангийн удирдах системийн  сул тал
* **Саяхныг хүртэл  баримт бичиг видео, зураг, орон зайн болон цаг хугацааны явцад  мэдээлэл гэх мэт  объектыг   дэмждэггүй нарийн төвөгтэй объект хадгалах нь ихэвчлэн муу дэмждэг. **
* **Tекст талбар дотор хайлт хийхэд   одоо ч гэсэн ямар нэгэн үр ашигтай, үр дүнтэй нэгдсэн байдлыг дэмждэггүй**
### Харьцаа өгөгдлийн санг удирдах систем
1.Бид өөр өөр өгөгдлийн  санг удирддаг дээдийн дээд давхарга юм 

2.Харьцаа өгөгдлийн санг удирдах систем  нь   програм хангамж юм.

3.Харьцаа өгөгдлийн санг удирдах систем   ашиглан бид хоёр мэдээллийн санг бий болгож ажиллана.Гэхдээ харьцаа өгөгдлийн санг удирдах систем  наад зах нь нэг мэдээллийн санг удирдаж болно.

4.хувийн өгөгдлийн   санд бид хүснэгтүүдийн тоог бий болгож чадна. Эдгээр хүснэгт нь өөр хоорондоо уялдаа холбоотой, эсвэл тус тусад нь хүснэгт  байж болно.

5.Хүснэгт бүр тус  бүрийн  бичлэг гол түлхүүр гэж нэрлэгддэг тодорхойлохын тулд анхдагч түлхүүр байдаг.

6.Бид өгөгдлийн сангийн  хүснэгт  эсвэл бүрэн хэмжээний өгөгдлийн санд квери  ашиглаж болно
### Харьцаа өгөгдлийн санг удирдах системийн  хязгаарлалт
* **Семантик ачаалал**
* **Бодит ертөнцийн объектын төсөөлөл муу**
* **Бүрэн бүтэн байдал, бизнесийн хязгаарлалт нь муу дэмжлэг үзүүлэх.**
* **Нэг төрлийн өгөгдлийн бүтэц.**
* **Хязгаарлагдмал үйл ажиллагаа.**
* **Рекурсив хүсэлтэд харьцах хэцүү.**
* **Урт шилжилтэд хүндрэлтэй**
* **Олон олон харьцааг  илэрхийлэх хэцүү байдаг**

## Харьцаа өгөгдлийн санг удирдах  системийг  юу юунд  ашиглаж болох  вэ?
1.Өгөгдлийн сангийн систем  бодит хугацаанд  ашиглах

2.Урьдчилсан  мэдээний  програм

3.Сансар судлалын болон Электрон  лаборатори

4.Банк

5.Сургуулийн  захиргаа

7.Даатгалын  програм

8.Утас менежмент

Жишээ нь:  Харилцааны өгөгдлийн сангийн удирдлагын систем удирдахад ашиглаж бoлно.

## Зах зээлд эзлэх хувь
2016 онд хамгийн өргөн хэрэглэгдсэн систем  MS SQL Server, IBM-ийн DB2, Oracle, MySQL,SQLite, мөн Microsoft Access гэх мэт орчин үеийн мэдээллийн баазын систем юм. 
Gartner судалгааны компанийн мэдээлснээр 2011 онд таван тэргүүлэх худалдааны компанийн харьцаа өгөгдлийн санг удирдах  системийн орлогоор эрэмбэлж харуулсан.Үүнд:

Oracle (48.8%), IBM (20.2%), Microsoft (17.0%), Sybase (4.6%), SAP (3.7% ) бас SAP дотор Sybase (4.6%) болон  Teradata (3.7%) байна.

Gartner  2008 онд   өгөгдлийн  сангийн ашигласан хувийг эрэмбэлж харуулсан Үүнд:

*Oracle Database – 70%
*Microsoft SQL Server – 68%
*MySQL (Oracle Corporation) – 50%
*IBM DB2 – 39%
*IBM Informix – 18%
*SAP Sybase Adaptive Server Enterprise – 15%
*SAP Sybase IQ – 14%
*Teradata – 11%

## Нэмэлт мэдээлэл
### Өгөгдлийн сан гэж юу вэ? 
Өгөгдлийн сан нь ихэвчлэн дижитал хэлбэрээр нэг буюу хэд хэдэн зорилгоор өгөгдлийг зохион байгуулалттай цуглуулга юм. (Ж.нь. коллежын өгөгдлийн сан)
### Хүснэгт гэж юу вэ? 
Хүснэгт өгөгдлийн элемент (утга) зохион байгуулж, босоо багана болон хэвтээ эгнээ (тэдний нэрийг тогтоосон байна) загварыг ашиглаж байгаа нь олонлог юм.
### Талбар гэж юу вэ? 
Өгөгдлийн сангийн хүснэгтийн тус баганыг "талбар" гэж нэрлэдэг.
### Бичлэг гэж юу вэ? 
Өгөгдлийн сангийн хүснэгтийн тус мөрийг "бичлэг" гэж нэрлэдэг.
## Нэмж унших
* SQl
* 
* Object database (**OODBMS**)
* Wikibook SQL
* Online analytical processing (**OLAP**) and ROLAP (Relational Online Analytical Processing)
* Data warehouse
* Star schema
* Snowflake schema

## Ашигласан материал
http://searchsqlserver.techtarget.com/definition/relational-database-management-system
Ангилал:Өгөгдлийн сан удирдах систем
Ангилал:Хамааралт өгөгдлийн сангийн менежментийн систем
Ангилал:Өгөгдлийн сангийн онол