2006-06-05

Өгөгдлийн сангийн зохиомжлол

Өгөгдлийн сангийн зохиомжлол


4-2. Өгөгдлийн сангийн зохиомжлол
Тойм:
Энэ сэдвийг үзсэнээр өгөгдлийн санг зохимлох гэж юу юм. Хэрхэн зохион байгуулдаг талаар үзхээс гадна. Өгөгдөлийн санг зохион байгуулах үндсэн зарчимуудыг сурна.

Зорилго:
1. Өгөгдлийн санг зохиомжлох гэж юуг хэлдэг вэ?
2. Өгөгдлийн сангийн удирдлага, болон байгуулалтыг сурах
3. Өгөгдлийн санг зохиомжилж сурах

Агуулга:
1. Өгөгдөлийн сангийн зохиомж тойм
2. Өгөгдлийн сангийн зохиомжлол
3. Хэрэгцээт зарим нээлттэй багажуудын хаяг

4.2.1 Өгөгдөлийн сангийн зохиомж тойм
Өгөгдөлийн санг зохиомжлох гэдэг нь тухайн хадгалах гэж байгаа өгөгдөлийн буюу тусагдахуунаа шаардлагатай өнцөгөөс нь харж шинж чанарыг шаардлагатай бүх шинж чанарыг нь тодорхойлож өгөгдөлийн сангийн эхний загварыг үүсгэхыг хэлнэ. Үүний дараа олон тусагдахууныг дотор нь ангилаж болох шинж чанаруудыг нь нягтлан үзээд тусд нь дэд тусагдахуун болгон зохиомжлох хэрэгтэй. Эдгээр үйлдэлүүдийг олон давтах замаар анхны тусагдахуун маань олон жичиг тусагдахуунууд болон задрана. Эдгээр тусагдахуунуудыг хооронд нь холбохдоо дэд тусагдахуун болгон задалсан тусагдахуунуудад нэмэлт түлхүүр шинж чанарыг нэмэж оруулаад үндсэн тусагдахуундаа гадаад түлхүүр шинж чанар болгон төлөөлүүлэн холбоно. Үүний дараа системийн үндсэн тусагдахуунууд хоорондоо хэрхэн уялдахыг нь нарийвчилан судлаж харилцан үйлчилэлийн тусагдахуунуудыг үүсгэнэ.

4.2.2 Өгөгдөлийн сангийн зохиомжлол
Өгөгдөлийн тоймд өгүүлсэнийг дэлгэрэнгүй жишээн дээр тайлбарлая.

Жишээ:
Оюутаны хичээл сонголтын бүртгэлийн систем.
Тайлбар :
Оюутаныг код, овог,нэр, нас, хүйсээр, курс, мэргэжилээр нь бүртгэж энэ улиралд ямар ямар хичээлүүд сонгосон вэ гэдэгийг нь дэлгэрэнгүй харуулдаг байх хэрэгтэй.


Алхам 1. Өгөгдсөн даалгавараас ерөнхий тусагдахуунуудыг тодорхойлно.
Бидний хийх системд ямар ямар тусагдахуунууд байна вэ? гэдгийг тодорхойлон гаргаж ирнэ.
Жишээн дээр бол. Оюутан, Хичээл гэсэн 2 тусагдахууд байна гэж ерөнхийд нь харж болно.

Алхам 2. Тухайн тусагдахууны шинж чанарыг тодорхойлох.
Тухайн системд байгаа тусагдахуунуудын шинж чанарыг захиалагчийн хүссэн болон системд шаардлагатай байгаа шинж чанаруудыг бүгдийг нь тусгаж өгнө.
Бидны жишээн дээр хувьд
Бидний авч үзэх тусагдахуун бол Оюутан, Хичээл гэсэн 2 тусагдахуун байгаа.
Захиалагчийн хүсэлтэнд Оюутан тусагдахууныг код, овог,нэр, нас, хүйсээр, курс, мэргэжил гэсэн шинж чанар байх хэрэгтэй гэж тодорхойлож өгсөн байна.
Харин хичээлийн хувьд ерөнхий байдалаар хичээл гэж л тодорхойлж өгсөн байна. Хичээл гэж яг цаанаа юуг хэлээд байгаагаа нарийн хэлээгүй учираас ерөнхий шинж чанартай гэж үзээд хичээлийн нэр, хичээлийн тайлбар гэсэн байдалаар шинж чанарыг нь тодорхойлоё. Хэрвээ захиалагч цаашид хичээл гэдэг тусагдахууныг илүү энэ системд илүү дэлгэрэнгүйгээр тусгаж өгөх хүсэлт ирсэн үед өөр нэмэлт шинж чанаруудыг нь тусгаж өгч болно.

Бидны тусагдахуунууд доорхи шинж чанаруудтай боллоо.
--------------------------
| Оюутан
-------------------------
| оюутаны код
| овог
| нэр
| нас
| хүйс
| курс
| мэргэжил
------------------------

--------------------------
| Хичээл
-------------------------
| хичээлийн нэр
| хичээлийн тайлбар
------------------------

Жич: Энэ бол системийн эхний загвар бөгөөд 2 тусагдахууны ерөнхий шинж чанаруудыг буюу зөвхөн захиалагчаас өгсөн хүсэлтэнд тусгагдсан шинж чанаруудыг нь оруулсан байгаа байдал юм.

Алхам 3. Давтагдах шинж чанаруудыг нь задлах
2-р алхам дээр тодорхойлсон шинж чанаруудын зарим нь олон удаа давтагдахаар байгаа шинж чанаруудыг нь нягтлан үзэж дэд тусагдахуунуудыг үүсгэн задлана.
Бидны жишээн дээр.

Оюутан гэсэн тусагдахуунд маань давхардах өгөгдөлтэй шинж чанарууд нь нас, хүйс, курс, мэргэжил эдгээр байна. Эдгээрийг яагаад давхардах өгөгдөл гэж үзэж байна вэ гэвэл тухайн тусагдахууныг дотор нь ангилаж болохоор шинж чанарыг тусад нь дэд тусагдахуун болгох хэрэгтэй. Зарим нэг шинж чанарыг дэд тусагдахуун болгон задлах шаардлаггүй байдаг. Жишээ нь нас энэ шинж чанар бол зөвхөн тоогоор илэрхийлэгдэх учираас тусад нь задлах шаардлаггүй.
Анхны загвартаа хэдэн өгөгдөл оруулаад үзвэл.
--------------------------------------------------------------------------------------------------------------------------------------
| Оюутаны код | овог | нэр | нас | хүйс | курс | мэргэжил |
--------------------------------------------------------------------------------------------------------------------------------------
| IT01D001 | Болд | Бат | 19 | эр | 3-р курс | IT
| IT01D002 | Дорж | Дулам | 20 | эм | 3-р курс | TC
| IT01D003 | Бат | Бурам | 19 | эр | 3-р курс | RC
| IT01D004 | Пүрэв | Долгор | 20 | эр | 3-р курс | ELEC

Дээрх дэд тусагдахуунуудын шинж чанарыг тодорхойлвол
---------------------
| Хүйс
--------------------
| Хүйс Түлхүүр талбар
| Хүйс нэр
--------------------
Тайлбар: Хүйс нь өгөгдөлийн санд 2 хон өгөгдөл байх нь ойлгомжтой. Эр, эм гээд. Энэ нь цаашдаа системээ маань илүү уян хатан болгох үүднээс тусад нь задласан нь дээр.
---------------------
| Курс
--------------------
| Курс Түлхүүр талбар
| Курс нэр
--------------------

---------------------
| Мэргэжил
--------------------
| Мэргэжил Түлхүүр талбар
| Мэргэжил нэр
| Мэргэжил тайлбар
--------------------
Алхам 4. Дэд тусагдахуунудыг холбох
Өмнөх алхам дээр үндсэн тусагдахуунаас дэд тусагдахууныг салгаж авсан.


Алхам 5. Тусагдахуунуудын хоорондын харилцааны тусагдахууныг үүсгэх.


4.2.3 Хэрэгцээт зарим нээлттэй багажуудын хаяг

Өдгөгдөлийн сангийн бүтэцийг зурдаг олон төрлийн багажууд байдагаас заримых нь холбоосыг оруулав.

http://fabforce.net/dbdesigner4/ - DB Designer
http://dia-installer.sourceforge.net/ - DIA

No comments: