More Related Content
Similar to Mtm sx database
Similar to Mtm sx database (20)
More from Babaa Naya (20)
Mtm sx database
- 2. 2
Өгөгдлийн сан гэж юу вэ?
• Мэдээллийн технологийн нэгэн чухал
ойлголт бол өгөгдлийн сан (database)
юм.
• Тодорхой зорилгоор хамтад нь
цуглуулж, тодорхой зохион
байгуулалттайгаар (ангилах/эрэмбэлэх
г.м.-ээр) компьютерын тогтмол санах
ойд хадгалсан цогц мэдээллийг
өгөгдлийн сан хэмээн нэрийднэ.
- 3. 3
Өгөгдлийн сан гэж юу вэ?
• Өгөгдлийн сангийн жишээ:
дээд сургуулийн оюутан нарын талаарх
мэдээлэл,
байгууллагын ажилтан нарын тухай
мэдээлэл,
номын санд агуулагдсан бүх номын тухай
мэдээлэл
телефон утасны жагсаалт
г.м.
- 4. 4
Өгөгдлийн Санг Удирдах Систем
(DBMS)
• Өгөгдлийн сантай бүхий л хэлбэрээр
ажиллахад зориулсан компьютерын
програм хангамжийг Өгөгдлийн Санг
Удирдах Систем (Database
Management System - DBMS) хэмээн
нэрийднэ.
• Хэрэглэгч нь өгөгдлийн сантай DBMS-
ийн тусламжтайгаар харьцана.
- 5. 5
Өгөгдлийн санг удирдах систем
(DBMS)
• DBMS-ийн тусламжтайгаар:
өгөгдлийн сан шинээр үүсгэх
өгөгдлийн санд өгөгдөл нэмж оруулах
өгөгдлийн сангаас өгөгдөл устгах
өгөгдлийн сангаас өгөгдөл хайх
өгөгдлийн сангийн өгөгдлүүдийг эрэмбэлэх
өгөгдлийн сангийн өгөгдлийг шинэчлэх
өгөгдлийн сангийн нууцлалыг бүрдүүлэх
өгөгдлийн санг хэрэглэгчид дүрслэн харуулах
г.м. үйл ажиллагааг гүйцэтгэнэ.
- 7. 7
Өгөгдлийн сангийн загвар
• DBMS-ийн нэг чухал үүрэг бол
өгөгдлийн санг хэрэглэгчид дүрслэн
харуулах явдал.
• Өгөгдлийн сангийн дүрслэлийг
өгөгдлийн сангийн загвар (database
model) хэмээн нэрийднэ.
- 8. 8
Өгөгдлийн сангийн загвар
• Ямар загвартай (дүрслэлтэй) байна гэдгээр
нь өгөгдлийн санг:
Network database – Network Data Model бүхий
өгөгдлийн сан
Hierarchical database – Hierarchical Data Model
бүхий өгөгдлийн сан
Relational database – Relational Data Model бүхий
өгөгдлийн сан
Object-oriented database – Object oriented Data
Model бүхий өгөгдлийн сан
г.м.-ээр ангилдаг байна.
• Бид хичээл дээр Relational database-тэй
ажиллана.
- 9. 9
Бага сага түүх
• Database хэмээх нэр томъёо 1960-аад
оноос хэрэглэгдэж эхлэсэн байна.
• Мөн энэ үеэс анхны DBMS-үүд бий
болсон. Эдгээр нь Network болон
Hierarchical Data Model ашигласан байв.
• Network ба Hierarchical Data Model-үүд
нь 60-аад оны дундаас 80-аад он хүртэл
зонхилох загварууд байв.
- 10. 10
Бага сага түүх
• Харин 1970 онд Relational Data Model
анх нэвтрэв. Гэхдээ удаан хугацааны
туршид зөвхөн онолын түлхүү ач
холбогдолтой байжээ.
• Гагцхүү 1980-аад оноос л энэ загварыг
баримталсан DBMS-үүд бий болж
эхэлсэн байна.
• 90-ээд оноос, объект хандлагат
програмчлал технологийн хөгжлийг
даган Object-oriented Data Model
нэвтэрч эхэлсэн байна.
- 13. 13
Relational database - 1
• Эдүгээ хамгийн түгээмэл хэрэглэгддэг
өгөгдлийн сангийн загвар бол Relational
model юм.
• Энэ загвар ёсоор, өгөгдлийн сан нь өөр
хоорондоо холбоотой хэд хэдэн
хүснэгтээс тогтоно. Нэг ийм хүснэгтийг
relation хэмээн нэрийднэ.
• Ө.х. өгөгдлийн санг хүснэгт хэлбэрээр
харуулдаг. Нэг ёсондоо бидний харж
заншсан Excel-ийн хүснэгттэй адил гэж
хялбарчилж ойлгож болно.
- 14. 14
Relational database - 2
• Хүснэгтийн нэг мөрийг бичлэг (record)
гэнэ.
• Хүснэгтийн нэг баганыг талбар (field)
гэнэ. Талбарууд бүгд нэртэй байх ёстой.
• Ө.х. database нь relation-уудаас тогтоно.
Relation нь бичлэгүүдээс тогтоно.
Бичлэг нь талбаруудаас тогтоно.
- 15. 15
Relational database – 3
• Бичлэг нь бүхэлдээ ямар нэг объектыг
(хүн, юм, үзэгдэл г.м.) илэрхийлэх
өгөгдлүүдийг агуулж байдаг. Ийм
объектыг entity гэнэ.
• Тэгэхээр бичлэгийн нэг талбар гэдэг нь
тухайн entity-ийн зөвхөн нэг шинж
чанарыг илэрхийлсэн өгөгдөл байх юм.
- 16. 16
Relational database – 4
• Дараагийн бичлэг нь өмнөх бичлэгийн илэрхийлж буй
объекттой нэг группт хамаарах өөр нэг объектыг
илэрхийлнэ. Нэгэнт энэ объект нь өмнөх объекттой
нэг групп учир түүний шинж чанарууд нь өмнөх
объектын шинж чанаруудтай адил нэртэй, бас адил
тоотой байж таарна. Ө.х. энэ бичлэгийн талбарууд нь
өмнөх бичлэгийн талбаруудтай харгалзан нэг
баганад байрлана.
• Гэх мэтээр, нэг хүснэгтийн бүх мөр нь тус тусдаа нэг
объект илэрхийлсэн бичлэг болох юм. Тийм учраас
учраас хүснэгт дотор ижил (давхардсан) бичлэг байж
болохгүй.
• Харин бичлэг бүрийн талбар нь ижил нэртэйгээр нэг
баганад доош цуварч байрласан байна.
- 17. 17
Relational database – 5
• Талбар бүр тодорхой төрлийн утга авна.
Үүнд:
Тоон
Текст буюу тэмдэгт
• Ө.х. хүснэгтийн нэг баганад ямагт нэгэн
ижил төрлийн утгууд дагнан байрласан
байх ёстой.
• Бичлэгийн нэг талбарт нэг л утга
бичигдэнэ. Олон утга бичигдэж
болохгүй.
- 18. 18
Жишээ
Хувийн дугаар Овог Нэр Нас
101 Дорж Бат 29
102 Чулуун Оюун 22
103 Баатар Болд 25
... ... ... ...
• Энэ нэгэн байгууллагын ажилтан нарын талаарх
хүснэгт байна. Хүснэгтэд ... бичлэг, 4 талбар байна.
• Бичлэг бүхэн тодорхой нэг ажилтны талаарх
өгөгдлүүдийг агуулсан байна. (“Ажилтан” гэдэг нэг
ерөнхий группт багтах entity.)
• Эхний болон сүүлийн талбарт тоон өгөгдөл, дунд
талын хоёр талбарт текст төрлийн өгөгдөл
бичигджээ.
- 19. 19
Relational database – 6
• Relational database-ын хүснэгтүүдэд нэг
давхацсан (адилхан) талбар байх ёстой. Энэ
давхцагч талбар нь нэг хүснэгтийг нөгөөтэй
холбож өгдөг холбоос байх болно. Илүү
тодорхой хэлбэл, нэг хүснэгтийн бичлэгийг
нөгөө хүснэгтийн бичлэгтэй холбох
холбоос юм. Ийм холбоосыг table
relationship гэнэ. Үүний ачаар тус тусдаа
хүснэгтүүд хоорондоо харилцан уялдаа
холбоотой болж цогц өгөгдлийн санг үүсгэх
юм.
• Жишээ авч үзэн тайлбарлая.
- 20. 20
Relational database – 7
• Өмнө үзсэн хүснэгтээ дахин авч үзье. Энэ
бодвол нэг байгууллагын ажилтан нарын
хувийн дугаар, овог, нэр, насыг агуулсан
хүснэгт байна.
Хувийн дугаар Овог Нэр Нас
101 Дорж Бат 29
102 Чулуун Оюун 22
103 Баатар Болд 25
... ... ... ...
- 21. 21
Relational database – 8
• Мөн өөр нэг хүснэгт ийм байг. Энэ нь нөгөө
байгууллагын ажилтан нарын цалин, хувийн
дугаар, харьяа хэлтэс зэргийг агуулсан
хүснэгт байна.
Хэлтэс Хувийн дугаар Цалингийн хэмжээ
Төлөвлөлт 101 400000₮
Үйлчилгээ 102 300000₮
Төлөвлөлт 103 350000₮
... ... ...
- 22. 22
Relational database – 9
• Тэгвэл, 1-р хүснэгт болон 2-р хүснэгт нь Хувийн
дугаар гэсэн нэгэн ижил талбартай байна. Тиймээс уг
хоёр хүснэгтийг энэ талбараар нь давхацуулж, нэг
хүснэгтийн бичлэгийг нөгөө хүснэгтийн бичлэгтэй
холбон нэгтгэх боломжтой юм.
• Ж.нь дээрх хоёр хүснэгтээс 102 гэсэн хувийн
дугаартай ажилтны овог, нэрийг хэн гэдэг, хэдэн
настай, аль хэлтэст ажилладаг, хэдэн төгрөгийн
цалинтай зэргийг хамтад нь мэдэж авч болох байна.
• Цаашилбал, дурдсан хэмжээний цалинг авдаг
ажилтнуудын нэрс, эсвэл тухайн нэг хэлтэс хэдэн
ажилтантай болох гэх зэрэг шаардлагатай
мэдээллийг гаргаж болно.
- 24. 24
Table relationships – 1
• Өмнөх зурагт үзүүлсэн холбоосыг One-
to-One relationship (1-1) гэнэ.
• Өөр бусад хэлбэрүүд бас байдаг.
• One-to-many (1-Олон)
• Many-to-many (Олон-Олон)
- 25. 25
Table relationships - 2
• One-to-many relationship:
А хүснэгтийн бичлэг Б
хүснэгтийн олон
бичлэгтэй холбоотой
байх. Харин Б хүснэгтийн
бичлэгүүд А хүснэгтийн
зөвхөн ганц бичлэгтэй
холбоотой байх.
• Зураг дээр:
Нэг нийлүүлэгч олон
төрлийн бараа нийлүүлж
болно. Харин тухайн нэг
төрлийн барааг нэг л
нийлүүлэгчээс ирүүлнэ,
ө.х. нийлүүлэгч нарын
нийлүүлэх барааны
төрлүүд давхацахгүй.
- 26. 26
Table relationships - 3
• Many-to-many relationship:
А-ийн бичлэг Б-ийн олон
бичлэгтэй холбоотой байх,
эсрэгээр Б-ийн бичлэг А-ийн
олон бичлэгтэй холбоотой байх.
Энэ relationship-ыг
хэрэгжүүлэхийн тулд А, Б
хоёулантай нь one-to-many
relationship бүхий гуравдагч
хүснэгт үүсгэх хэрэгтэй. Энэ
хүснэгтээр дамжин A-Б
хоорондох many-to-many
relationship хэрэгжинэ. Энэ
гуравдагч хүснэгтийг junction
table гэдэг.
• Зураг дээр:
Order Details бол junction table.
Нэг удаагийн захиалгад олон
төрлийн бараа харгалзаж
болно. Эсрэгээр, нэг төрлийн
бараа олон удаагийн захиалгад
харгалзаж болно.
- 27. 27
Өгөгдлийн сантай ажиллах
• Өмнө нь дурдаж байсанчлан:
өгөгдлийн сан шинээр үүсгэх
өгөгдлийн санд өгөгдөл нэмж оруулах
өгөгдлийн сангаас өгөгдөл устгах
өгөгдлийн сангийн өгөгдлүүдийг эрэмбэлэх
өгөгдлийн сангаас өгөгдөл хайх
өгөгдлийн сангийн өгөгдлийг шинэчлэх
өгөгдлийн сангийн нууцлалыг бүрдүүлэх
өгөгдлийн санг хэрэглэгчид дүрслэн харуулах
г.м.-ээр өгөгдлийн сантай ажиллаж болно.
• Эдгээрийн заримыг товч дурдъя.
- 28. 28
Өгөгдлийн санд өгөгдөл нэмж
оруулах, устгах
• Өгөгдлийн санд өгөгдөл нэмж оруулах
болон устгах гэдэг нь шинээр мөр
(бичлэг) нэмж оруулах ба мөр (бичлэг)
устгахыг хэлнэ.
- 30. 30
Эрэмбэлэх (Sorting) - 1
• Өгөгдөл эрэмбэлэх үйлдэл бичлэгүүдэд
хамаатай. Бичлэгүүдийг:
өсөх (ascending)
буурах (descending)
чиглэлд эрэмбэлдэг. Ингэхдээ аль нэг
баганаар (талбараар) эрэмбэлнэ. Ө.х.
аль нэг баганын элементүүдийг
эрэмбэлэх бөгөөд бусад баганын
элементүүд энэ баганын харгалзах
мөрийнхөө элементүүдийг даган байр
сэлгэнэ гэсэн үг.
- 31. 31
Эрэмбэлэх (Sorting) - 2
• Тоон утгуудын хувьд өсөх ба буурах
эрэмбэлэлт яаж хийгдэх нь ойлгомжтой.
• Текст буюу тэмдэгт өгөгдлийн хувьд
эдгээр нь цагаан толгойн үсгийн
дарааллаар хийгдэнэ.
- 33. 33
Хайлт хийх (Search and retrieval) -
1
• Өгөгдлийн сангийн нэг чухал тал нь тодорхой
мэдээллийг түргэн шуурхай хайн олж гаргаж
ирдэг байх ёстой.
• Хэрэглэгч нь өгөгдлийн сангаас мэдээлэл
авахын тулд түүн рүү хүсэлт илгээнэ. Ийм
хүсэлтийг query гэдэг.
• Практикт, query нь ихэвчлэн SQL (Structured
Query Language) хэмээх тусгай зориулалтын
хэл дээр бичсэн команд байдаг.
• SQL нь өгөгдлийн сангаас хайлт хийхэд
зориулагдсан олон улсын стандарт
програмчлалын хэл юм.
- 34. 34
Хайлт хийх (Search and retrieval) -
2
• Ихэнхдээ query нь тодорхой шүүлтүүр (filter)
агуулсан байх болно. Шүүлтүүр гэдэг нь,
тодорхой нөхцөл тавьсан гэсэн үг.
• Хэрэглэгчийн илгээсэн query-ийн дагуу DBMS
өгөгдлийн санд хайлт хийж, шүүлтүүрт
нийцсэн үр дүнг гаргаж үзүүлнэ.
• Хайлтын үр дүн нь нэг хүснэгтийн хэсэг
бичлэг байж болно, эсвэл өөр өөр хүснэгтийн
бичлэгүүдийг нэгтгэж гаргасан байж болно
г.м.
- 35. 35
Загвар query
• Яг SQL хэлээр бичээгүй, зүгээр энгийн үгээр
илэрхийлсэн query ямар хэлбэртэй байж
болох вэ?
• Ж.нь:
Query: Овог=Дорж
гэсэн хүсэлт илгээвэл Овог гэсэн талбартаа
Дорж гэсэн утга агуулсан бүх бичлэг гарч
ирнэ г.м.
• Эсвэл:
Query: Нас>22
гэсэн хүсэлт илгээвэл Нас гэсэн талбартаа
22-оос их утга агуулсан бүх бичлэг гарч ирнэ
г.м.
- 36. 36
Түлхүүр талбар (Primary key) - 1
• Relational database-ын хүснэгтийн бичлэгүүд
давхардсан байж болохгүй гэж түрүүн
дурдсан.
• Үүний тулд нэг бичлэгийг нөгөөгөөс ялгаж өгч
байдаг дор хаяж нэг талбар байх ёстой. Ийм
талбар буюу талбаруудыг түлхүүр талбар
(primary key) хэмээн нэрийднэ.
• Ж.нь 5 талбартай хоёр бичлэгийн 4 талбар нь
адилхан утгатай байлаа гэхэд үлдсэн ганц
талбарын утгууд ялгаатай байх ёстой.
- 37. 37
Түлхүүр талбар (Primary key) - 2
• Ж.нь манай нөгөө
хүснэгтийг аваад
үзэхэд Хувийн дугаар
талбарыг primary key
болгон авч болно. Учир
нь ажилтнууд дотор
адилхан овог, нэр,
настай хоёр буюу
түүнээс олон хүн
байлаа гэж төсөөлөхөд
хувийн дугаар нь л
тэднийг ялгаж өгнө.
Хувийн
дугаар
Овог Нэр Нас
101 Дорж Бат 29
102 Чулуун Оюун 22
103 Баатар Болд 25
104 Дорж Бат 29
... ... ... ...
Primary key
- 38. 38
Түлхүүр талбар (Primary key) - 3
• Түлхүүр талбарыг мөн
хүснэгтүүдийн хооронд
table relationship
үүсгэхэд ашигладаг. Энэ
тохиолдолд, А хүснэгтэд
primary key болж орсон
бол Б хүснэгтэд түүнийг
foreign key хэмээн
нэрийднэ.
• Өгөгдлийн сангаас
хайлт хийхдээ мөн
түлхүүр талбарыг
голчлон ашиглана.
Хэлтэс Хувийн
дугаар
Цалингийн
хэмжээ
Төлөвлөлт 101 400000₮
Үйлчилгээ 102 300000₮
Төлөвлөлт 103 350000₮
... ... ...
Foreign key
- 39. 39
Microsoft Access
• Microsoft Access бол Microsoft Office багцад
орсон, Windows орчинд ажиллах
зориулалттай DBMS юм.
• Access нь relational database-тай ажилладаг
DBMS.