You are on page 1of 45

მონაცემთა ბაზები

საკონტაქტო - 60 სთ
ა) ლექცია – ­30 სთ (I-XV კვირა);
ბ) ლაბორატორიული – 15 სთ (I-XV კვირა);
გ) ჯგუფში მუშაობა 14 სთ (I-XV კვირა)

ძირითადი ლიტერატურა

1. ზ. სურმანიძე. ლექციათა კურსი - მონაცემთა ბაზების შემუშავება და მართვა. მონაცემთა ბაზები


(ელექტრონული სახით).
2. რ. სამხარაძე. SQL Server. საქართველოს ტექნიკური უნივერსიტეტი. თბილისი 2009;
3. გ.სურგულაძე, გ.კივილაძე. შესავალი NoSQL მონაცემთა ბაზებში. საქართველოს ტექნიკური
უნივერსიტეტი. თბილისი 2017 (ელექტრონული სახით). ბსუ-ს ბიბლიოთეკა;

ელ.ფოსტა - surmanidzez@gmail.com
ტელ. 577 55 94 79

ლექცია № 1
ინფორმაცია/მონაცემები

ინფორმაციის ქვეშ იგულისხმება ნებისმიერი ცნობა (შეტყობინება)


რაიმე მოვლენის, პროცესის, ობიექტის შესახებ
ინფორმაცია (Information) - ეს ფაქტების, დაკვირვებების, ობიექტების
შესახებ ცნობების, რეალური სამყაროს მოვლენების ერთობლიობაა

საინფორმაციო ტექნოლოგიების საფუძველს წარმოადგენს


მონაცემები, რომლებიც მონაცემთა ბაზაში უნდა იყოს
ორგანიზებული ცვალებადი რეალურ სამყაროს ადეკვატური ასახვისა
და მომხმარებლის ინფორმაციული მოთხოვნების
დასაკმაყოფილებლად
მონაცემი (data) - ფაქტებისა და იდეების ფორმალიზებული სახით
წარმოდგენაა, რომელთა გადაცემა და დამუშავება შესაძლებელია
რომელიმე ინფორმაციულ პროცესში
ინფორმაცია/მონაცემები

ტექსტური (ალფაბეტი, ციფრები, სპეც.სიმბოლოები და


ა.შ. )

გრაფიკული (ნახატი, სურათი, და ა.შ.)

აუდიო

ვიდეო
რეალური შესანახი
ინფორმაცია
სამყარო მონაცემები

ობიექტი ატრიბუტები თვისებები

თვისებები ატრიბუტის მონაცემთა


მნიშვნელობა ელემენტის
მნიშვნელობა

მონაცემთა წარმოდგენის სამი დონე


ინფორმაცია/მონაცემები

არაფორმალური წარმოდგენა ფორმალური წარმოდგენა


ფაკულტეტზე სწავლობს ნომერი სახელი გვარი კურსი ტელეფონი
გიორგი ლორია და ანა გორაძე.
გიორგი მეოთხე კურსის 1 გიორგი ლორია 4 555 111 000
სტუდენტია, მისი ტელეფონია
555 111 000, ხოლო ანა მეორე
კურსის სტუდენტია, მისი 2 ანა გორაძე 2 555 000 111
ტელეფონია

„ნომერი“ ველს აქვს ბევრი ინტეპრეტაცია:

 სტუდენტის ნომერი;
 რიცხვი;
 უნიკალური მნიშვნელობა;
 პირველადი გასაღები;
და ა.შ.
მონაცემთა წარმოდგენა

0 ან 1 =ბიტი
8 ბიტი =1 ბაიტი , ASCII კოდებში ერთი სიმბოლო 8 ბიტია

16 ბიტი =2 ბაიტი , უნიკოდებში ერთი სიმბოლო 16 ბიტია

მონაცემთა წარმოდგენის ერთეული - ბიტი;

მონაცემთა შენახვის ერთეული ბაიტი (კილობაიტი, მეგაბაიტი, გიგბაიტი ,


ტერაბაიტი,
პეტაბაიტი, ეხაბაიტი, ზეტაბაიტი, იოტაბაიტი, ...)
ციფრული სამყაროს ზომა

44 ზეტა-
4,4 ზეტა- ბაიტი
ბაიტი

2013 წელი 2020 წელი

• ნიუ იორკის საფონდო ბირჟა – 4-5 ტერაბაიტი დღეში;


• Facebook.com – ჯამში 240 მილიარდი ფოტო, თვეში 7
პეტაბაიტი ზრდის მახასიათებლით;
• Ancestry.com – 10 პეტაბაიტი მოცულობის გენეალოგიის
ბაზა ;
• და ა.შ.
1 ზეტაბიტი = 1021 ბიტი, =1 000 000 000 000 000 000 000 ბიტი

1 ზეტაბიტი = 270 ბიტი, = 1 180 591 620 717 411 303 424 ბიტი
მონაცემთა ბანკი
მონაცემთა ბაზის მოდელი

მონაცემთა ბაზის მოდელი არის


აბსტრაქციის რომელიმე დონეზე მონაცემთა
ბაზის აღწერა ფორმალური ენის (მათ შორის
გრაფიკული) საშუალებით
ინფორმაცია/მონაცემი

რეალური ვირტუალური
სამყარო სამყარო

სამყაროს ნებისმიერი სფერო საგნობრივი არის


(ნაწილი) - საგნობრივი არე ინფორმაციული სისტემა
ინფორმაციის წარმოდგენის მოდელები
მონაცემთა ბაზების არქიტექტურა

ფიზიკური და ლოგიკური დამოუკიდებლობა


მონაცემთა ბაზებში
მონაცემთა გარე მონაცემთა გარე
მოდელი 1 მოდელი 1
მონაცემთა გარე
მოდელი 1

კონცეპტუალური დონე

მონაცემთა ბაზა
ANSI-SPARC არქიტექტურა

წარმოდგენის დონეები მონაცემთა მოდელების დონეები

გარე წარმოდგენა წარმოდგენა წარმოდგენა ინფოლოგიური

კონცეპტუალური კონცეპტუალური სქემა დატალოგიური

შიგა ფიზიკური სქემა ფიზიკური

მონაცემთა ფიზიკური მონაცემთა ფიზიკური


ორგანიზება მონაცემთა ბაზა ორგანიზება

სამდონიანი არქიტექტურა
ინფორმაციის წარმოდგენის მოდელები

  დენე რას აღწერს რას ეყრდნობა

  საგნობრივი არე, რომელიც არაა არსები, ატრიბუტები,


დაკავშირებული მონაცემთა ზოგიერთი კავშირი
ლოგიკური დონე

ინფოლოგიური ბაზის სახესთან

(კონცეპტუალური დონე)

  საგნობრივი არე, რომელიც არსები, ატრიბუტები, კავშირი,


დაკავშირებულია მონაცემთა გასაღები, ზოგიერთი ინდექსი
დატალოგიური ბაზის სახესთან ან მბმს-თან და წარმოდგენა

(ლოგიკური დონე)

  მონაცემთა ბაზის რეალიზაციის არსები, ატრიბუტები, კავშირი,


ტექნიკური ასპექტები მბმს-ის გასაღები, ინდექსი,
 ფიზიკური დოენე მართვის ქვეშ წარმოდგენა, ტრიგერები,
შენახული პროცედურები,
წვდომის მეთოდები, კოდირება,
წვდომის უფლება და ა.შ.
ფაილი

ბიტი ბაიტ ველი ჩანაწერ ფაილი


ი ი
მომხმარებლის მონაცემები

მონაცემთა ბაზის ფაილი

ბიტი ბაიტ ველი ჩანაწერ ფაილი



მონაცემთა ი 1. მომხმარებლის მონაცემები;
2. მეტამონაცემები;
ბაზა 3. ინდექსები;
4. დანართების მეტამონაცემები

მონაცემთა
ბაზების მართვის
სისტემები
მონაცემთ

ბიტი } ბაიტი ანუ სიმბოლები } ველი } ჩანაწერი } ფაილი
 
ბაზები
ბიტი } ბაიტი ანუ სიმბოლები } ველი } ჩანაწერი } ფაილი
+
მეტამონაცემები
+ } მონაცემთა
ინდექსები ბაზა
+
დანართის მეტამონაცემები

ბიტები ერთიანდება ბაიტებში ანუ სიმბოლოებში.


სიმბოლოები ჯგუფდება ველებში. ველებით
ფორმირდება ჩანაწერები. ჩანაწერები
ორგანიზდება ფაილში.
 
რატომ უნდა ვისწავლოთ მონაცემთა ბაზები და
მონაცემთა ბაზების მართვის სისტემები?

პროგრამული და
ენობრივი
საშუალებების
კოპლექსი

მონაცემები
(ინფორმაცია)
რატომ უნდა ვისწავლოთ მონაცემთა ბაზები და
მონაცემთა ბაზების მართვის სისტემები?

მონაცემებზე
მანიპულირება

მონაცემთა
საცავები
მონაცემთა ბაზების მართვის სისტემების განვითარების
ძირითადი მიმართულებები:

1. რელაციური:
Microsoft Access, Microsoft SQL Serer, Oracle, MySQL,

Sybase, PostgreSQL და სხვა

2. NoSQL - არარელაციური:
MongoDB, CouchDB, Couch base, MariaDB და სხვა

3. გრაფული:
Neo4J, ArangoDB, OrientDB, MarkLogic, Oracle Spatial and Graf და სხვა

4. NewSQL (ჰიბრიდული):
MemSQL, NuoDB, VoltDB, Clustrix, ScaleDB, dbShards, Hadoop და სხვა
მონაცემთა ბაზის დაგეგმვა

სისტემის განსაზღვრა

მოთხოვნების შეგროვება და ანალიზი

მბ-ის კონცეპტუალური დაპროექტება


მბმს-ის დანართის
არჩევა დაპროექტება

მბ-ის ლოგიკური დაპროექტება

მბ-ის ფიზიკური დაპროექტება

პროტოტიპის რეალიზაცია
შემუშავება

მონაცემთა გარდაქმნა
და ჩატვირთვა

ტესტირება

ექსპლუატაციის
თანხმლები
მონაცემთა ბაზის სქემა
-
ეს არის პროექტი,
რომლის მიხედვითაც
შენდება მონაცემთა
ბაზა და მისი
დანართები
მომხმარებლის შეკითხვის
(მოთხოვნის) გავლის პროცესი
1. მომხმარებელი უგზავნის შეკითხვას
(მოთხოვნას) მონაცემთა ბაზის მართვის
სისტემას მონაცემთა მიღებაზე მონაცემთა
ბაზიდან;

2. მომხმარებლის უფლებების და
მონაცემთა იმ გარე მოდელის ანალიზი,
რომელიც შეესაბამება მოცემულ
მომხმარებელს, ადასტურებს ან უკრძალავს
მოცემული მომხმარებლის დაშვებას
მოთხოვნილ მონაცემებთან;
3. დაშვების აკრძალვის შემთხვევაში
მონაცემთა მართვის სისტემა ატყობინებს
მომხმარებელს ამის შესახებ და წყვეტს
მონაცემთა შემდგომ დამუშავებას,
წინააღმდეგ შემთხვევაში მონაცემთა ბაზის
მართვის სისტემა საზღვრავს კონცეპტუალური
მოდელის ნაწილს, რომელსაც შეეხება
მომხმარებლის შეკითხვა (მოთხოვნა);

4. მონაცემთა ბაზის მართვის სისტემა


იღებს ინფორმაციას კონცეპტუალური
მოდელის მოთხოვნილი ნაწილის შესახებ;
5. მონაცემთა ბაზის მართვის სისტემა
ითხოვს ინფორმაციას ფიზიკურ დონეზე
მონაცემთა ადგილმდებარეობის შესახებ;

6. მონაცემთა ბაზის მართვის სისტემაში


ბრუნდება ინფორმაცია დონეზე
მონაცემთა ადგილმდებარეობის შესახებ
ოპერაციული სისტემის ტერმინებში;
7. მონაცემთა ბაზის მართვის სისტემა
მოკრძალებით სთხოვს ოპერაციული სისტემას
მიაწოდოს მას აუცილებელი მონაცემები
ოპერაციული სისტემის საშუალებების
გამოყენებით;

8. ოპერაციული სისტემა ახორციელებს


ინაფორმაციის გადაქაჩვას შემნახველი
მოწყობილობიდან და გადაგზავნოს ის
სისტემურ ბუფერში;
9. ოპერაციული სისტემა ატყობინებს
მონაცემთა ბაზის მართვის სისტემას
გადაგზავნის დასრულების შესახებ;

10. მონაცემთა ბაზის მართვის სისტემა


ირჩევს მიღებული ინფორმაციიდან,
რომელიც მდებარეობს სისტემურ ბუფერში,
მხოლოდ მას, რაც საჭიროა
მომხმარებლისათვის, და აგზავნის ამ
მონაცემებს მომხმარებლის სამუშაო ველში.
1960 წელი
მონაცემთა ბაზა – სახელწოდებულ მონაცემთა
ერთობლიობა, რომელიც ასახავს ობიექტების
მდგომარეობას და მათ დამოკიდებულებას
განსახილველ საგნობრივ არესთან.

მონაცემთა ბაზა შედგება ოთხი ძირითადი


ელემენტისაგან:

1. მომხმარებლის მონაცემები;
2. მეტამონაცემები;
3. ინდექსები;
4. დანართების მეტამონაცემები
ობიექტი (არსი)
სტუდენტი
არსი მოიცავს:
სტუდეტნის პირადი ნომერი
სტუდენტის ვინაობა (სახელი, გვარი)
ჩარიცხვის წელი
მისამართი
ტელეფონი
რომელ სკოლაში სწავლობდა

არსის ორი ეგზემპლარი


61006465656 61006465213
კომახიძე თენგიზ სამნიძე გიორგი
2013 2012
ბათუმი, მელიქიშვილის ქ. №51, ბინა №34 ბათუმი, კოსტავას ქ.№5
27 45 67 + 995 77 34 22 87
ქ.ბათუმის №4 საშუალო სკოლა ქ.ბათუმის №1 საშუალო სკოლა
მონაცემთა ბაზების ტიპები
  მომხმარებელ მონაცემთა
ტიპი მაგალითები თა ბაზის ზომა
რაოდენობა
1
პერსონალური ოჯახის ექიმი 1 < 10 მბაიტი
2
კოლექტიური საქონწინო კაბების < 25 < 100 მბაიტი
გაქირავების
ბიურო
3
ორგანიზაციური ავტომობილების ასობით- > 1 ტბაიტი
რეგისტრაცია ათასი

4
ქსელური ტურისტულ ასობით- ნებისმიერი
(ინტერნეტი) ინფორმაციული ათასი
ცენტრი
მონაცემთა მოდელების კლასიფიკაცია

მონაცემთა მოდელები

ინფოლოგიური დატალოგიური

არსი-კავშირი დოკუმენტალური ფაქტოგრაფიული

დისკრიპტორული ინვენტირებული ობიექტურ-


ფაილი ორიენტირებული

დოკუმენტის ფორმატზე თეორიულ- თეორიულ-


ორიენტირებული გრაფული სიმრავლური

იერარქიული ქსელური რელაციური


მონაცემთა ბაზის ორგანიზების ძირითადი თანამედროვე
პრინციპები
• თანამედროვე მბმს მნიშვნელოვან ნაწილს
შეუძლია იმუშაოს განსხვავებული არქიტექტურის
მქონე კომპიუტერებზე, რომლებიც მუშაობენ
სხვადასხვა ოპერაციული სისტემებით;
• თანამედროვე მბმს დიდი უმრავლესობა
უზრუნველყოფს მონაცემთა რელაციური
მოდელის სრულ მხარდაჭერას მთლიანობის
კატეგორიის უზრუნველყოფითა და მიმართვების
(ბმულების) დონეზე მთლიანობის შენარჩუნებით;
• თანამედროვე მბმს მონაცემთა განსაზღვრისა და
მანიპულირებისათვის იყენებს ენების სფეროში
მიღებულ სტანდარტს, ხოლო სხვადასხვა მბმს
შორის მონაცემთა გაცვლა ეფუძნება
ინფორმაციის გაცვლის არსებულ ტექნოლოგიას;
მონაცემთა ბაზის ორგანიზების ძირითადი თანამედროვე
პრინციპები

• უამრავი არსებული მბმს მიეკუთვნება ე.წ. ქსელურ მბმს,


რომელიც განკუთვნილია მონაცემთა ბაზასთან
მრავალმომხმარებლიანი მუშაობის რეჟიმისათვის და
მონაცემთა შენახვის დეცენტრალიზებული მხარდაჭერის
შესაძლებლობისათვის;
• ასეთ მბმს აქვთ მონაცემთა ბაზის ადმინისტრირების
განვითარებული და მასში შენახული ინფორმაციის დაცვის
საშუალებები;
• ასეთ მბმს აქვთ კლიენტის დანართებთან დაკავშირების
საშუალება;
• თანამედროვე მბმს ხასიათდება ობიექტზე-ორიენტირებული
მიდგომის კონცეფციის ფუნდამენტური იდეის გამოყენებაზე
დაკვირვებით (ცდებით), რომელსაც მონაცემთა ბაზების
აბსტრაქციის დონის გაუმჯობესება შეუძლია, რაც მონაცემთა
ბაზის ტექნოლოგიების განვითარების საქმეში პერსპექტიულ
ნაბიჯს წარმოადგენს.
მონაცემთა რელაციური ბაზა

მონაცემთა ბაზა (მბ) (database, db) არის


სახელდარქმეული მონაცემთა ერთობლიობა,
რომელიც ასახავს ობიექტების მდგომარეობას და
მათ დამოკიდებულებას განსახილველ საგნობრივ
არეზე
მონაცემთა რელაციური მოდელის
შემთხვევაში მონაცემების წარმოდგენა ხდება
ორგანზომილებიანი ცხრილის სახით
მონაცემთა რელაციური ბაზა არის
ერთმანეთთან ლოგიკურად დაკავშირებული
ცხრილების ერთობლიობა
1980 წელი
დასაპროექტებელ მბ-ს უნდა ჰქონდეს განსაზღვრული თვისებები

მთლიანობა

აღდგენის უნარი

უსაფრთხოება

ეფექტურობა
დამგროვებელზე (დისკზე) მონაცემთა
შენახული
სტრუქტურირებული ბაზები
მონაცემები (ინფორმაცია)

SQL ენა
(Structured Query Language)
SQL
სკრიპტული ფორმა და გრაფიკული
ინსტრუმენტული საშუალება

ინტერფეისი SQL
პროგრამული და
ენობრივი საშუალებების
მონაცემთა
კოპლექსი ბაზების მართვის
სისტემა
რელაციური მონაცემთა ბაზა

რელაციური ცხრილი
მონაცემთა ბაზების მართვის სისტემები
(მბმს)

(database management system)


მონაცემთა ბაზების მართვის სისტემა (მბმს) არის
ენობრივი და პროგრამული საშუალებების ერთობლიობა
განკუთვნილი მბ-ის შექმნის, განახლების და მრავალი მომხმარებლის
მიერ ერთობლივი გამოყენებისათვის
პროგრამას, რომლის დახმარებითაც მომხმარებლები
მუშაობენ მონაცემთა ბაზებთან, დანართებს უწოდებენ.
შემმუშავებელი
დაპროექტების საშუალებები
მონაცემთა  
ბაზა მ ცხრილების შექმნის საშუალებები
 

ბ ფორმულების შექმნის საშუალებები


 

მ მოთხოვნების შექმნის საშუალებები გამოყენებითი


პროგრამები
 

მონაცემთა ბაზა შეიცავს ს ანგარიშგებების შექმნის საშუალებები

 
მომხმარებლის მონაცემები დამუშავების ქვესისტემები მომხმარებლებ
მეტამონაცემები ბი   ი
ინდექსები რ ფორმების პროცესორი
 

დანართების თ მოთხოვნების პროცესორი


მეტამონაცემები  

ვი ანგარიშგებების გენერატორი გამოყენებითი


 
პროგრამები
პროცედურულ ენაზე რეალიზებუ ­ ­
ლი დამუშავების საშუალებების

მონაცემთა ბაზების მართვის სიტემა

Access-ს აქვს ორი ენა: მაკროენა და Visual Basic


მონაცემთა ბაზების მართვის სისტემა – ენობრივი
და პროგრამული საშუალებების ერთობლიობა,
რომელიც გამიზნულია მონაცემთა ბაზის შესაქმნელად,
მრავალი მომხმარებლის მიერ მონაცემთა ბაზის
გამოსაყენებლად.

ფაილ-სერვერი კლიენტ-
სერვერი
1. Ms SQL Server
1. Microsoft Access
2. Filemaker Pro 2. Oracle
3. Paradox 3. MySQL
4. Lotus Approach 4. DB2
5. Foxpro 5. PotgreSQL
სასწავლო მონაცემთა ბაზა - Students
ცხრილები: Studentebi, Shefaseba და Studentebi_2

ცხრილი Studentebi ცხრილი Shefaseba


SQL ენა - მოთხოვნების სტრუქტურირებული ენა
(Structured Query Language)

SELECT [DISTINCT | ALL] {* ⎟ [<სვეტების სია>]}

FROM <ცხრილების სია>

[WHERE <პრედიკატი - ამორჩევის პირობა ან შეერთება;>]

[GROUP BY <შედეგის ველების სია>]

HAVING < პრედიკატი - პირობა ჯგუფისათვის>]

[ORDER BY < ველების სია, რომლის მიხედვით საჭიროა დახარისხება>]

You might also like