SlideShare a Scribd company logo
1 of 40
Download to read offline
1
Мэдээллийн технологи.
Мэдээллийн систем
Өгөгдлийн сан (Database):
Анхдагч мэдээллүүд
©Б.Алтанхүү, МУИС-ФЭС
2
Өгөгдлийн сан гэж юу вэ?
• Мэдээллийн технологийн нэгэн чухал
ойлголт бол өгөгдлийн сан (database)
юм.
• Тодорхой зорилгоор хамтад нь
цуглуулж, тодорхой зохион
байгуулалттайгаар (ангилах/эрэмбэлэх
г.м.-ээр) компьютерын тогтмол санах
ойд хадгалсан цогц мэдээллийг
өгөгдлийн сан хэмээн нэрийднэ.
3
Өгөгдлийн сан гэж юу вэ?
• Өгөгдлийн сангийн жишээ:
дээд сургуулийн оюутан нарын талаарх
мэдээлэл,
байгууллагын ажилтан нарын тухай
мэдээлэл,
номын санд агуулагдсан бүх номын тухай
мэдээлэл
телефон утасны жагсаалт
г.м.
4
Өгөгдлийн Санг Удирдах Систем
(DBMS)
• Өгөгдлийн сантай бүхий л хэлбэрээр
ажиллахад зориулсан компьютерын
програм хангамжийг Өгөгдлийн Санг
Удирдах Систем (Database
Management System - DBMS) хэмээн
нэрийднэ.
• Хэрэглэгч нь өгөгдлийн сантай DBMS-
ийн тусламжтайгаар харьцана.
5
Өгөгдлийн санг удирдах систем
(DBMS)
• DBMS-ийн тусламжтайгаар:
өгөгдлийн сан шинээр үүсгэх
өгөгдлийн санд өгөгдөл нэмж оруулах
өгөгдлийн сангаас өгөгдөл устгах
өгөгдлийн сангаас өгөгдөл хайх
өгөгдлийн сангийн өгөгдлүүдийг эрэмбэлэх
өгөгдлийн сангийн өгөгдлийг шинэчлэх
өгөгдлийн сангийн нууцлалыг бүрдүүлэх
өгөгдлийн санг хэрэглэгчид дүрслэн харуулах
г.м. үйл ажиллагааг гүйцэтгэнэ.
6
DBMS-үүд
dBase
Interbase
Microsoft Access
Microsoft SQL Server (derived from Sybase)
MySQL
Oracle Corporation
Paradox (database)
Sybase
Visual FoxPro
г.м.
• Бид хичээл дээрээ Microsoft Access DBMS-тэй
танилцана.
7
Өгөгдлийн сангийн загвар
• DBMS-ийн нэг чухал үүрэг бол
өгөгдлийн санг хэрэглэгчид дүрслэн
харуулах явдал.
• Өгөгдлийн сангийн дүрслэлийг
өгөгдлийн сангийн загвар (database
model) хэмээн нэрийднэ.
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
Бага сага түүх
• Database хэмээх нэр томъёо 1960-аад
оноос хэрэглэгдэж эхлэсэн байна.
• Мөн энэ үеэс анхны DBMS-үүд бий
болсон. Эдгээр нь Network болон
Hierarchical Data Model ашигласан байв.
• Network ба Hierarchical Data Model-үүд
нь 60-аад оны дундаас 80-аад он хүртэл
зонхилох загварууд байв.
10
Бага сага түүх
• Харин 1970 онд Relational Data Model
анх нэвтрэв. Гэхдээ удаан хугацааны
туршид зөвхөн онолын түлхүү ач
холбогдолтой байжээ.
• Гагцхүү 1980-аад оноос л энэ загварыг
баримталсан DBMS-үүд бий болж
эхэлсэн байна.
• 90-ээд оноос, объект хандлагат
програмчлал технологийн хөгжлийг
даган Object-oriented Data Model
нэвтэрч эхэлсэн байна.
11
Network database
12
Hierarchical database
13
Relational database - 1
• Эдүгээ хамгийн түгээмэл хэрэглэгддэг
өгөгдлийн сангийн загвар бол Relational
model юм.
• Энэ загвар ёсоор, өгөгдлийн сан нь өөр
хоорондоо холбоотой хэд хэдэн
хүснэгтээс тогтоно. Нэг ийм хүснэгтийг
relation хэмээн нэрийднэ.
• Ө.х. өгөгдлийн санг хүснэгт хэлбэрээр
харуулдаг. Нэг ёсондоо бидний харж
заншсан Excel-ийн хүснэгттэй адил гэж
хялбарчилж ойлгож болно.
14
Relational database - 2
• Хүснэгтийн нэг мөрийг бичлэг (record)
гэнэ.
• Хүснэгтийн нэг баганыг талбар (field)
гэнэ. Талбарууд бүгд нэртэй байх ёстой.
• Ө.х. database нь relation-уудаас тогтоно.
Relation нь бичлэгүүдээс тогтоно.
Бичлэг нь талбаруудаас тогтоно.
15
Relational database – 3
• Бичлэг нь бүхэлдээ ямар нэг объектыг
(хүн, юм, үзэгдэл г.м.) илэрхийлэх
өгөгдлүүдийг агуулж байдаг. Ийм
объектыг entity гэнэ.
• Тэгэхээр бичлэгийн нэг талбар гэдэг нь
тухайн entity-ийн зөвхөн нэг шинж
чанарыг илэрхийлсэн өгөгдөл байх юм.
16
Relational database – 4
• Дараагийн бичлэг нь өмнөх бичлэгийн илэрхийлж буй
объекттой нэг группт хамаарах өөр нэг объектыг
илэрхийлнэ. Нэгэнт энэ объект нь өмнөх объекттой
нэг групп учир түүний шинж чанарууд нь өмнөх
объектын шинж чанаруудтай адил нэртэй, бас адил
тоотой байж таарна. Ө.х. энэ бичлэгийн талбарууд нь
өмнөх бичлэгийн талбаруудтай харгалзан нэг
баганад байрлана.
• Гэх мэтээр, нэг хүснэгтийн бүх мөр нь тус тусдаа нэг
объект илэрхийлсэн бичлэг болох юм. Тийм учраас
учраас хүснэгт дотор ижил (давхардсан) бичлэг байж
болохгүй.
• Харин бичлэг бүрийн талбар нь ижил нэртэйгээр нэг
баганад доош цуварч байрласан байна.
17
Relational database – 5
• Талбар бүр тодорхой төрлийн утга авна.
Үүнд:
Тоон
Текст буюу тэмдэгт
• Ө.х. хүснэгтийн нэг баганад ямагт нэгэн
ижил төрлийн утгууд дагнан байрласан
байх ёстой.
• Бичлэгийн нэг талбарт нэг л утга
бичигдэнэ. Олон утга бичигдэж
болохгүй.
18
Жишээ
Хувийн дугаар Овог Нэр Нас
101 Дорж Бат 29
102 Чулуун Оюун 22
103 Баатар Болд 25
... ... ... ...
• Энэ нэгэн байгууллагын ажилтан нарын талаарх
хүснэгт байна. Хүснэгтэд ... бичлэг, 4 талбар байна.
• Бичлэг бүхэн тодорхой нэг ажилтны талаарх
өгөгдлүүдийг агуулсан байна. (“Ажилтан” гэдэг нэг
ерөнхий группт багтах entity.)
• Эхний болон сүүлийн талбарт тоон өгөгдөл, дунд
талын хоёр талбарт текст төрлийн өгөгдөл
бичигджээ.
19
Relational database – 6
• Relational database-ын хүснэгтүүдэд нэг
давхацсан (адилхан) талбар байх ёстой. Энэ
давхцагч талбар нь нэг хүснэгтийг нөгөөтэй
холбож өгдөг холбоос байх болно. Илүү
тодорхой хэлбэл, нэг хүснэгтийн бичлэгийг
нөгөө хүснэгтийн бичлэгтэй холбох
холбоос юм. Ийм холбоосыг table
relationship гэнэ. Үүний ачаар тус тусдаа
хүснэгтүүд хоорондоо харилцан уялдаа
холбоотой болж цогц өгөгдлийн санг үүсгэх
юм.
• Жишээ авч үзэн тайлбарлая.
20
Relational database – 7
• Өмнө үзсэн хүснэгтээ дахин авч үзье. Энэ
бодвол нэг байгууллагын ажилтан нарын
хувийн дугаар, овог, нэр, насыг агуулсан
хүснэгт байна.
Хувийн дугаар Овог Нэр Нас
101 Дорж Бат 29
102 Чулуун Оюун 22
103 Баатар Болд 25
... ... ... ...
21
Relational database – 8
• Мөн өөр нэг хүснэгт ийм байг. Энэ нь нөгөө
байгууллагын ажилтан нарын цалин, хувийн
дугаар, харьяа хэлтэс зэргийг агуулсан
хүснэгт байна.
Хэлтэс Хувийн дугаар Цалингийн хэмжээ
Төлөвлөлт 101 400000₮
Үйлчилгээ 102 300000₮
Төлөвлөлт 103 350000₮
... ... ...
22
Relational database – 9
• Тэгвэл, 1-р хүснэгт болон 2-р хүснэгт нь Хувийн
дугаар гэсэн нэгэн ижил талбартай байна. Тиймээс уг
хоёр хүснэгтийг энэ талбараар нь давхацуулж, нэг
хүснэгтийн бичлэгийг нөгөө хүснэгтийн бичлэгтэй
холбон нэгтгэх боломжтой юм.
• Ж.нь дээрх хоёр хүснэгтээс 102 гэсэн хувийн
дугаартай ажилтны овог, нэрийг хэн гэдэг, хэдэн
настай, аль хэлтэст ажилладаг, хэдэн төгрөгийн
цалинтай зэргийг хамтад нь мэдэж авч болох байна.
• Цаашилбал, дурдсан хэмжээний цалинг авдаг
ажилтнуудын нэрс, эсвэл тухайн нэг хэлтэс хэдэн
ажилтантай болох гэх зэрэг шаардлагатай
мэдээллийг гаргаж болно.
23
Relational database – 10
• Схемчлэн харуулвал:
24
Table relationships – 1
• Өмнөх зурагт үзүүлсэн холбоосыг One-
to-One relationship (1-1) гэнэ.
• Өөр бусад хэлбэрүүд бас байдаг.
• One-to-many (1-Олон)
• Many-to-many (Олон-Олон)
25
Table relationships - 2
• One-to-many relationship:
А хүснэгтийн бичлэг Б
хүснэгтийн олон
бичлэгтэй холбоотой
байх. Харин Б хүснэгтийн
бичлэгүүд А хүснэгтийн
зөвхөн ганц бичлэгтэй
холбоотой байх.
• Зураг дээр:
Нэг нийлүүлэгч олон
төрлийн бараа нийлүүлж
болно. Харин тухайн нэг
төрлийн барааг нэг л
нийлүүлэгчээс ирүүлнэ,
ө.х. нийлүүлэгч нарын
нийлүүлэх барааны
төрлүүд давхацахгүй.
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
Өгөгдлийн сантай ажиллах
• Өмнө нь дурдаж байсанчлан:
өгөгдлийн сан шинээр үүсгэх
өгөгдлийн санд өгөгдөл нэмж оруулах
өгөгдлийн сангаас өгөгдөл устгах
өгөгдлийн сангийн өгөгдлүүдийг эрэмбэлэх
өгөгдлийн сангаас өгөгдөл хайх
өгөгдлийн сангийн өгөгдлийг шинэчлэх
өгөгдлийн сангийн нууцлалыг бүрдүүлэх
өгөгдлийн санг хэрэглэгчид дүрслэн харуулах
г.м.-ээр өгөгдлийн сантай ажиллаж болно.
• Эдгээрийн заримыг товч дурдъя.
28
Өгөгдлийн санд өгөгдөл нэмж
оруулах, устгах
• Өгөгдлийн санд өгөгдөл нэмж оруулах
болон устгах гэдэг нь шинээр мөр
(бичлэг) нэмж оруулах ба мөр (бичлэг)
устгахыг хэлнэ.
29
Өгөгдлийн сангийн өгөгдлийг
шинэчлэх
• Өгөгдлийн сангийн өгөгдлийг шинэчлэх
гэдэг нь мөрийн элементүүд буюу
талбарын утгуудыг өөрчлөхийг хэлнэ.
30
Эрэмбэлэх (Sorting) - 1
• Өгөгдөл эрэмбэлэх үйлдэл бичлэгүүдэд
хамаатай. Бичлэгүүдийг:
өсөх (ascending)
буурах (descending)
чиглэлд эрэмбэлдэг. Ингэхдээ аль нэг
баганаар (талбараар) эрэмбэлнэ. Ө.х.
аль нэг баганын элементүүдийг
эрэмбэлэх бөгөөд бусад баганын
элементүүд энэ баганын харгалзах
мөрийнхөө элементүүдийг даган байр
сэлгэнэ гэсэн үг.
31
Эрэмбэлэх (Sorting) - 2
• Тоон утгуудын хувьд өсөх ба буурах
эрэмбэлэлт яаж хийгдэх нь ойлгомжтой.
• Текст буюу тэмдэгт өгөгдлийн хувьд
эдгээр нь цагаан толгойн үсгийн
дарааллаар хийгдэнэ.
32
Жишээ
• Тухайлбал өмнө үзсэн “Ажилтнууд” хүснэгтийг
ажилтнуудын Овог-оор өсөх чиглэлд
эрэмбэлвэл:
33
Хайлт хийх (Search and retrieval) -
1
• Өгөгдлийн сангийн нэг чухал тал нь тодорхой
мэдээллийг түргэн шуурхай хайн олж гаргаж
ирдэг байх ёстой.
• Хэрэглэгч нь өгөгдлийн сангаас мэдээлэл
авахын тулд түүн рүү хүсэлт илгээнэ. Ийм
хүсэлтийг query гэдэг.
• Практикт, query нь ихэвчлэн SQL (Structured
Query Language) хэмээх тусгай зориулалтын
хэл дээр бичсэн команд байдаг.
• SQL нь өгөгдлийн сангаас хайлт хийхэд
зориулагдсан олон улсын стандарт
програмчлалын хэл юм.
34
Хайлт хийх (Search and retrieval) -
2
• Ихэнхдээ query нь тодорхой шүүлтүүр (filter)
агуулсан байх болно. Шүүлтүүр гэдэг нь,
тодорхой нөхцөл тавьсан гэсэн үг.
• Хэрэглэгчийн илгээсэн query-ийн дагуу DBMS
өгөгдлийн санд хайлт хийж, шүүлтүүрт
нийцсэн үр дүнг гаргаж үзүүлнэ.
• Хайлтын үр дүн нь нэг хүснэгтийн хэсэг
бичлэг байж болно, эсвэл өөр өөр хүснэгтийн
бичлэгүүдийг нэгтгэж гаргасан байж болно
г.м.
35
Загвар query
• Яг SQL хэлээр бичээгүй, зүгээр энгийн үгээр
илэрхийлсэн query ямар хэлбэртэй байж
болох вэ?
• Ж.нь:
Query: Овог=Дорж
гэсэн хүсэлт илгээвэл Овог гэсэн талбартаа
Дорж гэсэн утга агуулсан бүх бичлэг гарч
ирнэ г.м.
• Эсвэл:
Query: Нас>22
гэсэн хүсэлт илгээвэл Нас гэсэн талбартаа
22-оос их утга агуулсан бүх бичлэг гарч ирнэ
г.м.
36
Түлхүүр талбар (Primary key) - 1
• Relational database-ын хүснэгтийн бичлэгүүд
давхардсан байж болохгүй гэж түрүүн
дурдсан.
• Үүний тулд нэг бичлэгийг нөгөөгөөс ялгаж өгч
байдаг дор хаяж нэг талбар байх ёстой. Ийм
талбар буюу талбаруудыг түлхүүр талбар
(primary key) хэмээн нэрийднэ.
• Ж.нь 5 талбартай хоёр бичлэгийн 4 талбар нь
адилхан утгатай байлаа гэхэд үлдсэн ганц
талбарын утгууд ялгаатай байх ёстой.
37
Түлхүүр талбар (Primary key) - 2
• Ж.нь манай нөгөө
хүснэгтийг аваад
үзэхэд Хувийн дугаар
талбарыг primary key
болгон авч болно. Учир
нь ажилтнууд дотор
адилхан овог, нэр,
настай хоёр буюу
түүнээс олон хүн
байлаа гэж төсөөлөхөд
хувийн дугаар нь л
тэднийг ялгаж өгнө.
Хувийн
дугаар
Овог Нэр Нас
101 Дорж Бат 29
102 Чулуун Оюун 22
103 Баатар Болд 25
104 Дорж Бат 29
... ... ... ...
Primary key
38
Түлхүүр талбар (Primary key) - 3
• Түлхүүр талбарыг мөн
хүснэгтүүдийн хооронд
table relationship
үүсгэхэд ашигладаг. Энэ
тохиолдолд, А хүснэгтэд
primary key болж орсон
бол Б хүснэгтэд түүнийг
foreign key хэмээн
нэрийднэ.
• Өгөгдлийн сангаас
хайлт хийхдээ мөн
түлхүүр талбарыг
голчлон ашиглана.
Хэлтэс Хувийн
дугаар
Цалингийн
хэмжээ
Төлөвлөлт 101 400000₮
Үйлчилгээ 102 300000₮
Төлөвлөлт 103 350000₮
... ... ...
Foreign key
39
Microsoft Access
• Microsoft Access бол Microsoft Office багцад
орсон, Windows орчинд ажиллах
зориулалттай DBMS юм.
• Access нь relational database-тай ажилладаг
DBMS.
40
Төгсөв

More Related Content

What's hot

Day 1 database
Day 1   databaseDay 1   database
Day 1 databaseETC
 
Windows үйлдлийн систем
Windows үйлдлийн системWindows үйлдлийн систем
Windows үйлдлийн системBaaya Badrakh
 
өгөгдлийн сангийн удирдлага
өгөгдлийн сангийн удирдлагаөгөгдлийн сангийн удирдлага
өгөгдлийн сангийн удирдлагаnyamka0928
 

What's hot (6)

Day 1 database
Day 1   databaseDay 1   database
Day 1 database
 
Windows үйлдлийн систем
Windows үйлдлийн системWindows үйлдлийн систем
Windows үйлдлийн систем
 
Spssprogramm
SpssprogrammSpssprogramm
Spssprogramm
 
өгөгдлийн сангийн удирдлага
өгөгдлийн сангийн удирдлагаөгөгдлийн сангийн удирдлага
өгөгдлийн сангийн удирдлага
 
database 7-8
database 7-8database 7-8
database 7-8
 
Access lec2
Access lec2Access lec2
Access lec2
 

Similar to Mtm sx database

Similar to Mtm sx database (20)

Ms access
Ms accessMs access
Ms access
 
Nuur
NuurNuur
Nuur
 
Ms access
Ms accessMs access
Ms access
 
Лекц-6
Лекц-6Лекц-6
Лекц-6
 
It101 lec6 10.06
It101 lec6 10.06It101 lec6 10.06
It101 lec6 10.06
 
RDBMS MySQL DB server
RDBMS MySQL DB serverRDBMS MySQL DB server
RDBMS MySQL DB server
 
005 өгөгдлийн нөөцийн удирдлага
005 өгөгдлийн нөөцийн удирдлага005 өгөгдлийн нөөцийн удирдлага
005 өгөгдлийн нөөцийн удирдлага
 
Se304 lec7
Se304 lec7Se304 lec7
Se304 lec7
 
It101 lects 2
It101 lects 2It101 lects 2
It101 lects 2
 
2
22
2
 
It101-2
It101-2It101-2
It101-2
 
Ois lessons3
Ois lessons3Ois lessons3
Ois lessons3
 
Microsoft excel програм гарын авлага
Microsoft excel програм гарын авлагаMicrosoft excel програм гарын авлага
Microsoft excel програм гарын авлага
 
It101 lec6
It101 lec6It101 lec6
It101 lec6
 
Cs101 lec11
Cs101 lec11Cs101 lec11
Cs101 lec11
 
Cs101 lec14
Cs101 lec14Cs101 lec14
Cs101 lec14
 
Windows үйлдлийн систем
Windows үйлдлийн системWindows үйлдлийн систем
Windows үйлдлийн систем
 
Ms office excel_2007
Ms office excel_2007Ms office excel_2007
Ms office excel_2007
 
Vpii bie daalt
Vpii bie daaltVpii bie daalt
Vpii bie daalt
 
Vpii bie daalt
Vpii bie daaltVpii bie daalt
Vpii bie daalt
 

More from Babaa Naya

Суралцагчийн мэдлэг, чадвар, дадлыг үнэлэх, дүгнэх журам
Суралцагчийн мэдлэг, чадвар, дадлыг үнэлэх, дүгнэх журам Суралцагчийн мэдлэг, чадвар, дадлыг үнэлэх, дүгнэх журам
Суралцагчийн мэдлэг, чадвар, дадлыг үнэлэх, дүгнэх журам Babaa Naya
 
Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын суралцагчид тэт...
Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын суралцагчид тэт...Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын суралцагчид тэт...
Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын суралцагчид тэт...Babaa Naya
 
Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын багшид мэргэжли...
Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын багшид мэргэжли...Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын багшид мэргэжли...
Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын багшид мэргэжли...Babaa Naya
 
Мэргэжлийн боловсрол, сургалтын байгууллагын төгсөгчдөд мэргэжлийн диплом, үн...
Мэргэжлийн боловсрол, сургалтын байгууллагын төгсөгчдөд мэргэжлийн диплом, үн...Мэргэжлийн боловсрол, сургалтын байгууллагын төгсөгчдөд мэргэжлийн диплом, үн...
Мэргэжлийн боловсрол, сургалтын байгууллагын төгсөгчдөд мэргэжлийн диплом, үн...Babaa Naya
 
Suraltsagchid chiglesen uilchilgee hesgiin notolgoo
Suraltsagchid chiglesen uilchilgee hesgiin notolgooSuraltsagchid chiglesen uilchilgee hesgiin notolgoo
Suraltsagchid chiglesen uilchilgee hesgiin notolgooBabaa Naya
 
Img 20210105 0002
Img 20210105 0002Img 20210105 0002
Img 20210105 0002Babaa Naya
 
Img 20210105 0001
Img 20210105 0001Img 20210105 0001
Img 20210105 0001Babaa Naya
 
Cisco packet tracer
Cisco packet tracerCisco packet tracer
Cisco packet tracerBabaa Naya
 
Cisco packet tracer
Cisco packet tracerCisco packet tracer
Cisco packet tracerBabaa Naya
 

More from Babaa Naya (20)

Суралцагчийн мэдлэг, чадвар, дадлыг үнэлэх, дүгнэх журам
Суралцагчийн мэдлэг, чадвар, дадлыг үнэлэх, дүгнэх журам Суралцагчийн мэдлэг, чадвар, дадлыг үнэлэх, дүгнэх журам
Суралцагчийн мэдлэг, чадвар, дадлыг үнэлэх, дүгнэх журам
 
Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын суралцагчид тэт...
Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын суралцагчид тэт...Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын суралцагчид тэт...
Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын суралцагчид тэт...
 
Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын багшид мэргэжли...
Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын багшид мэргэжли...Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын багшид мэргэжли...
Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын багшид мэргэжли...
 
Мэргэжлийн боловсрол, сургалтын байгууллагын төгсөгчдөд мэргэжлийн диплом, үн...
Мэргэжлийн боловсрол, сургалтын байгууллагын төгсөгчдөд мэргэжлийн диплом, үн...Мэргэжлийн боловсрол, сургалтын байгууллагын төгсөгчдөд мэргэжлийн диплом, үн...
Мэргэжлийн боловсрол, сургалтын байгууллагын төгсөгчдөд мэргэжлийн диплом, үн...
 
Suraltsagchid chiglesen uilchilgee hesgiin notolgoo
Suraltsagchid chiglesen uilchilgee hesgiin notolgooSuraltsagchid chiglesen uilchilgee hesgiin notolgoo
Suraltsagchid chiglesen uilchilgee hesgiin notolgoo
 
Img 20210105 0002
Img 20210105 0002Img 20210105 0002
Img 20210105 0002
 
Img 20210105 0001
Img 20210105 0001Img 20210105 0001
Img 20210105 0001
 
Cisco packet tracer
Cisco packet tracerCisco packet tracer
Cisco packet tracer
 
Cisco packet tracer
Cisco packet tracerCisco packet tracer
Cisco packet tracer
 
Lab10
Lab10Lab10
Lab10
 
Lab9
Lab9Lab9
Lab9
 
Lab8
Lab8Lab8
Lab8
 
Lab7
Lab7Lab7
Lab7
 
Lab6
Lab6Lab6
Lab6
 
Lab 6
Lab 6Lab 6
Lab 6
 
Lab5
Lab5Lab5
Lab5
 
Lab4
Lab4Lab4
Lab4
 
Lab3
Lab3Lab3
Lab3
 
Lab2
Lab2Lab2
Lab2
 
Lab1
Lab1Lab1
Lab1
 

Mtm sx database

  • 1. 1 Мэдээллийн технологи. Мэдээллийн систем Өгөгдлийн сан (Database): Анхдагч мэдээллүүд ©Б.Алтанхүү, МУИС-ФЭС
  • 2. 2 Өгөгдлийн сан гэж юу вэ? • Мэдээллийн технологийн нэгэн чухал ойлголт бол өгөгдлийн сан (database) юм. • Тодорхой зорилгоор хамтад нь цуглуулж, тодорхой зохион байгуулалттайгаар (ангилах/эрэмбэлэх г.м.-ээр) компьютерын тогтмол санах ойд хадгалсан цогц мэдээллийг өгөгдлийн сан хэмээн нэрийднэ.
  • 3. 3 Өгөгдлийн сан гэж юу вэ? • Өгөгдлийн сангийн жишээ: дээд сургуулийн оюутан нарын талаарх мэдээлэл, байгууллагын ажилтан нарын тухай мэдээлэл, номын санд агуулагдсан бүх номын тухай мэдээлэл телефон утасны жагсаалт г.м.
  • 4. 4 Өгөгдлийн Санг Удирдах Систем (DBMS) • Өгөгдлийн сантай бүхий л хэлбэрээр ажиллахад зориулсан компьютерын програм хангамжийг Өгөгдлийн Санг Удирдах Систем (Database Management System - DBMS) хэмээн нэрийднэ. • Хэрэглэгч нь өгөгдлийн сантай DBMS- ийн тусламжтайгаар харьцана.
  • 5. 5 Өгөгдлийн санг удирдах систем (DBMS) • DBMS-ийн тусламжтайгаар: өгөгдлийн сан шинээр үүсгэх өгөгдлийн санд өгөгдөл нэмж оруулах өгөгдлийн сангаас өгөгдөл устгах өгөгдлийн сангаас өгөгдөл хайх өгөгдлийн сангийн өгөгдлүүдийг эрэмбэлэх өгөгдлийн сангийн өгөгдлийг шинэчлэх өгөгдлийн сангийн нууцлалыг бүрдүүлэх өгөгдлийн санг хэрэглэгчид дүрслэн харуулах г.м. үйл ажиллагааг гүйцэтгэнэ.
  • 6. 6 DBMS-үүд dBase Interbase Microsoft Access Microsoft SQL Server (derived from Sybase) MySQL Oracle Corporation Paradox (database) Sybase Visual FoxPro г.м. • Бид хичээл дээрээ Microsoft Access 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 гэсэн хувийн дугаартай ажилтны овог, нэрийг хэн гэдэг, хэдэн настай, аль хэлтэст ажилладаг, хэдэн төгрөгийн цалинтай зэргийг хамтад нь мэдэж авч болох байна. • Цаашилбал, дурдсан хэмжээний цалинг авдаг ажилтнуудын нэрс, эсвэл тухайн нэг хэлтэс хэдэн ажилтантай болох гэх зэрэг шаардлагатай мэдээллийг гаргаж болно.
  • 23. 23 Relational database – 10 • Схемчлэн харуулвал:
  • 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 Өгөгдлийн санд өгөгдөл нэмж оруулах, устгах • Өгөгдлийн санд өгөгдөл нэмж оруулах болон устгах гэдэг нь шинээр мөр (бичлэг) нэмж оруулах ба мөр (бичлэг) устгахыг хэлнэ.
  • 29. 29 Өгөгдлийн сангийн өгөгдлийг шинэчлэх • Өгөгдлийн сангийн өгөгдлийг шинэчлэх гэдэг нь мөрийн элементүүд буюу талбарын утгуудыг өөрчлөхийг хэлнэ.
  • 30. 30 Эрэмбэлэх (Sorting) - 1 • Өгөгдөл эрэмбэлэх үйлдэл бичлэгүүдэд хамаатай. Бичлэгүүдийг: өсөх (ascending) буурах (descending) чиглэлд эрэмбэлдэг. Ингэхдээ аль нэг баганаар (талбараар) эрэмбэлнэ. Ө.х. аль нэг баганын элементүүдийг эрэмбэлэх бөгөөд бусад баганын элементүүд энэ баганын харгалзах мөрийнхөө элементүүдийг даган байр сэлгэнэ гэсэн үг.
  • 31. 31 Эрэмбэлэх (Sorting) - 2 • Тоон утгуудын хувьд өсөх ба буурах эрэмбэлэлт яаж хийгдэх нь ойлгомжтой. • Текст буюу тэмдэгт өгөгдлийн хувьд эдгээр нь цагаан толгойн үсгийн дарааллаар хийгдэнэ.
  • 32. 32 Жишээ • Тухайлбал өмнө үзсэн “Ажилтнууд” хүснэгтийг ажилтнуудын Овог-оор өсөх чиглэлд эрэмбэлвэл:
  • 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.