ზოგადად, მონაცემთა ბაზის სისტემები აღჭურვილია შეკითხვის ენით, რომელიც ეხმარება მის მომხმარებლებს შეკითხვის ინსტანციებში. არსებობს ორი ასეთი ტიპი - მიმართებითი ალგებრა და რელაციური გაანგარიშება. პირველი არის პროცედურული შეკითხვის ენა, რომელიც იღებს ურთიერთობის ინსტანციებს, როგორც შეყვანას და გამოაქვს მაგალითების ურთიერთობები, როგორც გამომავალი. ამისათვის იყენებს უნიალურ ან ორობით კალკულუსს. რელატიური ალგებრა შესრულებულია რეკურსიულად და შუალედური შედეგები განიხილება როგორც ურთიერთობები.
კარტეზიული პროდუქტი (Χ)
აერთიანებს ინფორმაციას ორი განსხვავებული ურთიერთობიდან ერთში.
აღნიშვნა – r Χ s, სადაც r და s არის კოეფიციენტები და მათი გამომავალი განისაზღვრება როგორც
r Χ s={qt | q ∈ r და t ∈ s}.
დასკვნა. ადგენს ურთიერთობას, რომელიც აჩვენებს ყველა წიგნს და სტატიას, რომელიც დაწერილია სახელმძღვანელოში.
ოპერაციის გადარქმევა (ρ).
რელაციური ალგებრის მიმართება არის შედეგი, მაგრამ ყოველგვარი სახელის გარეშე. სახელის გადარქმევის ოპერაცია საშუალებას გაძლევთ შეცვალოთ გამომავალი მნიშვნელობა, რომელიც აღინიშნება პატარა ბერძნული ასო ρ.
აღნიშვნა – ρ x (E), სადაც E გამოთქმის შედეგი ინახება სახელთან ერთადx.
დამატებითი ოპერაციები:
- გადაკვეთის დაყენება;
- დავალება;
- ბუნებრივი კავშირი.
რელატიური გამოთვლა
ეს არის არაპროცედურული შეკითხვის ენა, რაც იმას ნიშნავს, რომ ის გეუბნებათ რა უნდა გააკეთოთ, მაგრამ არ განმარტავს, როგორ განახორციელოთ იგი. რელაციური გაანგარიშება არსებობს ორი ფორმით:
ტოპის
შენიშვნა - T/State: აბრუნებს ყველა T-ს, რომელიც აკმაყოფილებს პირობას. შედეგი. აბრუნებს ტოპებს სახელით. TRC შეიძლება იყოს რაოდენობრივი. შეგიძლიათ გამოიყენოთ ეგზისტენციალური (∃) და უნივერსალური რაოდენობები (∀). დასკვნა. ზემოთ მოყვანილი შეკითხვა იგივე შედეგს მოგვცემს, როგორც წინა.
დომენის მიმართებითი გაანგარიშება DRC
ფილტრის ცვლადი იყენებს ატრიბუტის დომენს ორმაგი მთელი მნიშვნელობების ნაცვლად (როგორც ეს კეთდება ზემოთ აღნიშნულ TRC-ში).
აღნიშვნა – {a 1, a 2, a 3, …, a | P (a 1, a 2, a 3, …, a)}, სადაც a1, a2 არის ატრიბუტები და P აღნიშნავს შიდა მნიშვნელობებით აგებულ ფორმულებს.
დასკვნა. აყენებს სტატიას, გვერდს და თემას TutorialsPoint-ის მიმართებიდან, სადაც თემა არის მონაცემთა ბაზა.
TRC-ის მსგავსად, DRC ასევე შეიძლება დაიწეროს ეგზისტენციალური და უნივერსალური რაოდენობების გამოყენებით. DRC ასევე მოიცავს რელაციური ალგებრის ოპერატორებს. გამოთვლების გამოხატვის სიძლიერე, გამოთვლა და პუნქტებს შორის მიმართებათა კორელაცია ექვივალენტურია.
რელაციური გამოთვლისა და ალგებრის ვარიაციები და სქემები
ER მოდელი, როდესაც კონცეპტუალიზებულია დიაგრამებში, იძლევა კარგ მიმოხილვას არსებითი ურთიერთობების შესახებ, რომლებიც უფრო ადვილად გასაგებია. სქემატური გამოსახულებები შეიძლება აისახოს რელაციურ სქემაზე, ანუ ისინი შეიძლება შეიქმნას ერთმანეთთან ერთად. შეუძლებელია ყველა ER შეზღუდვის იმპორტი რელაციურ მოდელში, მაგრამ სავარაუდო სტრუქტურის გენერირება შესაძლებელია. არსებობს რამდენიმე პროცესი და ალგორითმი ამ სისტემაში სქემების გადასაყვანად. ზოგიერთი მათგანი ავტომატიზირებულია, ზოგი კი ხელით იქმნება. ER სქემები ძირითადად შედგება შემდეგი კრიტერიუმებისგან:
- ერთეული და მისი ატრიბუტები;
- ბმული, რომელიც წარმოადგენს ასოციაციას ზემოთ მოცემულ მნიშვნელობებს შორის.
ობიექტებისა და მიმართებების შედარება ხდება სხვადასხვა გზით და სქემით. მაგალითად, ერთეული არის რეალური სამყაროს ობიექტი გარკვეული ატრიბუტებით. დამთხვევის პროცესი, ალგორითმი ასეთია:
- შექმენით ცხრილი თითოეული ობიექტისთვის;
- ატრიბუტები უნდა გახდეს ცხრილის ველები შესაბამისი მონაცემთა ტიპებით;
- გამოაცხადეთ პირველადი გასაღები.
ურთიერთობა არის ასოციაცია ერთეულებს შორის. შედგენის პროცესი შემდეგია:
- შექმენით ცხრილი ურთიერთობებისთვის;
- დაამატეთ ყველა მონაწილე სუბიექტის პირველადი გასაღები ცხრილის ველებად შესაბამისი მონაცემთა ტიპებით;
- თუ ურთიერთობას აქვს რაიმე ატრიბუტი, დააყენეთ თითოეული ატრიბუტი ცხრილის ველად;
- შეაერთეთ ძირითადი გასაღები, რომელიც ქმნის ყველაფერსდანარჩენი მონაწილე ობიექტებისთვის;
- მიუთითეთ ყველა უცხო გასაღების შეზღუდვა.
სუსტი კომპლექტების და იერარქიული ობიექტების ჩვენება ხდება გარკვეული სისტემის მიხედვით. უპირველეს ყოვლისა, აუცილებელია ამ ფასეულობების არსებითი საფუძვლებისა და განმარტებების გაგება. სუსტი ფუნქციების ნაკრები არის ის, რომელსაც არ აქვს მასთან დაკავშირებული პირველადი გასაღები. ჩვენების პროცესი შემდეგია:
- შექმენით ცხრილი სუსტი ობიექტების ნაკრებისთვის;
- დაამატე ყველა ატრიბუტი სქემას ველად;
- მიუთითეთ იდენტიფიკაციის ძირითადი გასაღები;
- დააყენეთ ყველა უცხო გასაღების შეზღუდვა.
რელაციური ალგებრის ენის სპეციალიზაციაზე ან განზოგადებაზე დაფუძნებული იერარქიული ობიექტების ჩვენება ხდება თანმიმდევრული ერთეულების სახით. ალგორითმი ასეთია:
- შექმენით ცხრილები ყველა უფრო მაღალი ქვედა დონის ობიექტებისთვის;
- დაამატე ძირითადი გასაღებები;
- დაბალ დონეზე დანერგეთ ქვედა დონის ობიექტების ყველა სხვა ატრიბუტი;
- გამოაცხადეთ ცხრილის ძირითადი გასაღებები;
- დააყენეთ უცხო გასაღების შეზღუდვები.
ინფორმაციის აღწერის, შენახვის, შეცვლის არსებული ვარიანტები
SQL არის პროგრამირების ენა რელაციური მონაცემთა ბაზებისთვის. იგი განვითარებულია ალგებრასა და ტოპების კორელაციური გამოთვლებით. SQL მოდის როგორც პაკეტი ყველა ძირითადი DBMS დისტრიბუციით. შეიცავს როგორც მონაცემებს, ასევე ენებს მათი მანიპულირებისთვის. რელაციური ალგებრის SQL მონაცემთა განსაზღვრის თვისებების გამოყენებით, შეგიძლიათ შეიმუშაოთ და შეცვალოთ მონაცემთა ბაზის სქემა,ხოლო მართვისა და კორექტირების თვისებები, ისევე როგორც მონაცემთა ცვლილებები, საშუალებას გაძლევთ შეინახოთ და მიიღოთ სისტემაში დაინსტალირებული ინფორმაცია. იყენებს ბრძანებების შემდეგ კომპლექტს სტრუქტურისა და სისტემის დასადგენად:
- ქმნის ახალ მონაცემთა ბაზებს, ცხრილებს და ხედებს DBMS-დან.
- ისვრის ბრძანებებს.
- ცვლის მონაცემთა ბაზის სქემას.
- ეს ბრძანება ამატებს ატრიბუტს სტრიქონის ობიექტს.
SQL აღჭურვილია მონაცემთა მანიპულირების ენით (DML). ის ცვლის მონაცემთა ბაზის მაგალითს ინფორმაციის ჩასმით, განახლებით და წაშლით. DML პასუხისმგებელია ყველა მონაცემის შეცვლაზე. SQL შეიცავს ბრძანებების შემდეგ კომპლექტს DML განყოფილებაში:
- SELECT არის ერთ-ერთი ძირითადი შეკითხვის ბრძანება. იგი ანალოგიურია რელაციური ალგებრის პროექციის მოქმედებისა. ის ირჩევს ატრიბუტებს WHERE პუნქტში აღწერილი მდგომარეობის საფუძველზე.
- FROM - ეს განყოფილება იღებს სახელს, როგორც არგუმენტს, საიდანაც ატრიბუტები უნდა იყოს შერჩეული/პროექტირებული. ერთზე მეტი სახელის მოყვანის შემთხვევაში, ეს ელემენტი შეესაბამება დეკარტის პროდუქტს.
- WHERE - ეს განყოფილება განსაზღვრავს პრედიკატს ან პირობებს, რომლებიც უნდა აკმაყოფილებდეს პროექტირებული ატრიბუტის კვალიფიკაციისთვის.
არის ასევე ბრძანებები:
- ჩასმა;
- მნიშვნელობების შეცვლა;
- წაშლა.
რელატიური ალგებრის მოთხოვნების შექმნა
ძიების აგებისას ამოცანაა იპოვოთ ოპერაციების სტრუქტურა, რომელიც მიგვიყვანს სწორ გამოსავალამდე. რელაციური ალგებრის ძირითადი მოქმედებები მარტივიაოპერაციები ერთი ან ორი მიმართებით, როგორც ოპერანდები. თანმიმდევრობის კომბინირებული ეფექტები განსაზღვრავს საბოლოო შედეგს. ვინაიდან მონაცემთა ბაზებში რელაციური ალგებრის სისტემა საკმაოდ მარტივია, ბევრი შუალედური შედეგის მიღება შესაძლებელია საბოლოო გამოსავალამდე, ისინი ასევე გამოიყენება როგორც ოპერანდები, რომლებიც წარმოქმნიან ახალ მიღებულ მონაცემებს.
ოპერატორების უმეტესობისთვის, მოთხოვნების თანმიმდევრობას და მათ შესრულებას მნიშვნელობა არ აქვს, რაც ნიშნავს, რომ ერთი და იგივე შედეგის მიღწევა შესაძლებელია შუალედური მონაცემების სხვადასხვა გზით ჩამოყალიბებითა და კომბინაციით. პრაქტიკაში, მონაცემთა ბაზაში ძიება საკმაოდ მარტივია. ოპერაციებისა და შუალედური შედეგების შესრულების სისტემა განისაზღვრება შეკითხვის ოპტიმიზატორით. კითხვების, მოთხოვნების ფორმირებისას ჯერ უნდა აირჩიოთ
ჯერ რომელი ურთიერთობებია საჭირო პასუხის მისაღწევად, შემდეგ კი მიუთითოთ ოპერაციები და შუალედური შედეგები. რელაციური ალგებრის მოთხოვნის სტრუქტურა შედეგების მონაცემთა ბაზაში შეიძლება წარმოდგენილი იყოს დიაგრამის სახით. მოთხოვნების ოპტიმიზატორები ცდილობენ ორგანიზება გაუწიონ შესრულებას რაც შეიძლება ეფექტურად. პრაქტიკაში, ეს ჩვეულებრივ ნიშნავს, რომ ისინი ცდილობენ რაც შეიძლება სწრაფად შეამცირონ შუალედური შედეგები. რელაციური ალგებრის ჩვეულებრივი მაგალითები დაგეხმარებათ ამაში.
მაგალითი 1.
ინფორმაციის საჭიროება: ინფორმაცია 1996 წლის მოდელის მანქანების შესახებ, სადაც ხარვეზები იქნა აღმოჩენილი 1999 წლის შემოწმების დროს.
პირველ რიგში, ნაჩვენებია ინფორმაცია მანქანების შესახებ, რათა გაიგოთ ურთიერთობის ყველა ატრიბუტის მნიშვნელობა. ინფორმაცია ინსპექტირების შესახებ ინახება "ინსპექტირების" ცხრილში და თუ აღმოჩენილიახარვეზები, ისინი ჩაწერილია "პრობლემის" ცხრილში. ამრიგად, ეს სამი ცხრილი საჭიროა საჭირო ინფორმაციის მისაღებად.
საინტერესოა მხოლოდ 1996 წლის მანქანები. ავტომობილის მოდელის დიაპაზონი წარმოდგენილია როგორც კომპლექტის ატრიბუტის მნიშვნელობა ავტომობილის ინფორმაციის ცხრილის რიგში. პირველი შუალედური შედეგი შედგება ტოპებისგან, რომლებიც წარმოადგენენ 1996 წლის ვარიანტებს.
ასე რომ საჭიროა მხოლოდ რიგები, რომლებიც ფარავს ამ პერიოდს. თქვენ უნდა გამოიყენოთ შერჩევა მათი ამოსაღებად. ახლა არის მანქანები და ინსპექტირება, რაც საჭირო იყო. შემდეგ სტრიქონები ერთმანეთთან არის დაკავშირებული შეერთების ოპერაციის გამოყენებით. მათ უნდა შეუერთდეს საერთო რეესტრის ნომერი, რადგან ეს არის ერთადერთი საერთო სვეტი, გამოიყენება ბუნებრივი შეერთება.
იმისათვის, რომ გაარკვიოთ, იყო თუ არა პრობლემები შემოწმების დროს, თქვენ უნდა დააკავშიროთ პრობლემური ხაზები ჩეკთან. საკონტროლო სტრიქონების მანქანებთან დაკავშირების შემდეგ, შეგიძლიათ ეს შედეგი დაუკავშიროთ ხარვეზების ცხრილს. კუთვნილება უნდა ეფუძნებოდეს საერთო სარეგისტრაციო ნომერს და დამოწმებულ თარიღს. ეს არის ერთადერთი გავრცელებული სვეტები ცხრილებში, ამიტომ გამოიყენება ბუნებრივი შეერთება.
გაანგარიშების ვარიანტები შუალედური შედეგების გარეშე
მაგალითი 2.
აუცილებელი ინფორმაცია: მძღოლის სახელი 1995 წლის მოდელისთვის ან უფრო ძველი მანქანებისთვის, რომლებიც არ იყო გამოცდილი 2000 წლისთვის. სახელი არის "მძღოლის" ცხრილში. სამართალდამცავი ორგანოები აღწერილია ცხრილში „ინსპექტირება და მანქანები სასადილოს მანქანაში“. Ისეამრიგად, ეს სამი ცხრილი საჭიროა. პირველ რიგში, თქვენ უნდა გაარკვიოთ მანქანები, რომლებიც არ იყო შემოწმებული 2000 წლისთვის. შეუძლებელია ამ პრობლემის გადაჭრა მხოლოდ ცხრილში ჩამოთვლილი ინსპექტირების გამოყენებით, რადგან ის შეიცავს მონაცემებს იმ შემოწმებების შესახებ, რომლებიც გაკეთდა და არა მათ, რაც არ განხორციელებულა. ეს პრობლემა მოგვარებულია დამატებითი მანქანების მოძიებით, რომლებიც შემოწმებულია 2000 წლამდე. სინამდვილეში, მხოლოდ მათი სარეგისტრაციო ნომრებია საჭირო.
არის სხვა მაგალითები გარდა ზემოაღნიშნულისა, რომელიც გვიჩვენებს, თუ როგორ უნდა შეცვალოთ ან იპოვოთ ინფორმაცია. შეკითხვის ვარიანტების ოპტიმიზაცია შესაძლებელია სპეციალური ოპერაციების გამოყენებით. ფაქტობრივად, მონაცემების მოძიება და პოვნა რაც შეიძლება მარტივი და მარტივი იყოს, არსებობს რელაციური გაანგარიშების მოდელი.
სად არის დაცული და დაცული ინფორმაცია
რელაციური მონაცემთა მოდელი რელაციური ალგებრა ინახება ჩანაწერების შემცველი ფაილის ფორმატებში. ფიზიკურ დონეზე, ფაქტობრივი ინფორმაცია ფიქსირდება ელექტრომაგნიტურ ფორმატში ზოგიერთ მოწყობილობაზე. ეს შესანახი მოწყობილობები შეიძლება დაიყოს სამ კატეგორიად:
- დაწყებითი. ამ კატეგორიაში შედის მეხსიერება, რომელიც უშუალოდ არის ხელმისაწვდომი CPU-სთვის. რეგისტრები, სწრაფი მეხსიერება (ქეში) და მთავარი მეხსიერება (RAM) უშუალოდ ხელმისაწვდომია ცენტრალურთან, რადგან ისინი ყველა განლაგებულია დედაპლატზე ან ჩიპსეტზე. ეს საცავი, როგორც წესი, არის ძალიან მცირე, ულტრა სწრაფი და არასტაბილური. მდგომარეობის შესანარჩუნებლად საჭიროა მუდმივი ელექტრომომარაგება. თუ ის ვერ ხერხდება, მისი ყველა მონაცემი იკარგება.
- მეორადი. გამოიყენება მომავლის ინფორმაციის შესანახადგამოყენება ან სარეზერვო. მოიცავს მეხსიერების მოწყობილობებს, რომლებიც არ არიან პროცესორის ჩიპსეტის ან დედაპლატის ნაწილი, როგორიცაა მაგნიტური დისკები, ოპტიკური დისკები (DVD, CD და ა.შ.), მყარი დისკები, ფლეშ დრაივები და მაგნიტური ლენტები.
- მესამე. გამოიყენება დიდი რაოდენობით მონაცემების შესანახად. ვინაიდან ასეთი შესანახი მოწყობილობები გარეა კომპიუტერული სისტემისთვის, ისინი ყველაზე ნელია სიჩქარის თვალსაზრისით. შენახვის ეს გაჯეტები ძირითადად გამოიყენება მთელი სისტემის სარეზერვო ასლისთვის. ოპტიკური დისკები და მაგნიტური ლენტები ფართოდ გამოიყენება როგორც მესამეული შესანახი.
სპეციალური მიმართებითი ალგებრის ოპერაციები მნიშვნელოვანია შეკითხვის ეფექტურობისთვის.
შენახვის სტრუქტურა
კომპიუტერულ სისტემას აქვს კარგად განსაზღვრული მეხსიერების იერარქია. CPU-ს აქვს პირდაპირი წვდომა მთავარ სისტემაზე, ასევე ჩაშენებულ რეგისტრებზე. ძირითადი მეხსიერების წვდომის დრო აშკარად ნაკლებია ვიდრე პროცესორის სიჩქარე. ამ შეუსაბამობის შესამცირებლად, შემოღებულია ქეში. ქეში უზრუნველყოფს წვდომის უსწრაფეს დროებს და შეიცავს მონაცემებს, რომლებზეც ყველაზე ხშირად წვდება CPU.
მეხსიერება ყველაზე სწრაფი წვდომით ყველაზე ძვირია. დიდი შესანახი მოწყობილობები უზრუნველყოფენ მცირე სიჩქარეს და უფრო იაფია, მაგრამ მათ შეუძლიათ შეინახონ დიდი რაოდენობით მონაცემები პროცესორის რეესტრთან ან ქეშთან შედარებით.
მაგნიტური და მყარი დისკები არის ყველაზე გავრცელებული მეორადი შენახვის მოწყობილობები დღევანდელ კომპიუტერულ სისტემებში. მათ მაგნიტურს უწოდებენლითონის ბაზა. ეს დისკები მოთავსებულია ვერტიკალურად spindle-ზე. წაკითხვის/ჩაწერის თავი მოძრაობს მათ შორის და გამოიყენება ქვემოდან ასეთი ლაქის დასამაგნიზებლად ან მოსაშორებლად. მისი ამოცნობა შესაძლებელია როგორც 0 (ნულოვანი) ან 1 (ერთი).
მყარი დისკები დაფორმატებულია კარგად განსაზღვრული თანმიმდევრობით მონაცემთა ეფექტური შენახვისთვის. მას აქვს მრავალი კონცენტრული წრე, რომელსაც ბილიკები ეწოდება. თითოეული ჩანაწერი შემდგომში იყოფა სექტორებად, როგორც წესი, ინახავს 512 ბაიტ მონაცემს.
ფაილის ოპერაციები
ოპერაციები რელაციური ალგებრის ენების სისტემაზე და მის მონაცემთა ბაზაზე შეიძლება დაიყოს ორ კატეგორიად:
- განახლება;
- ძებნა.
პირველი კატეგორია ცვლის მონაცემთა მნიშვნელობებს ჩასმით, წაშლით ან განახლებით. მეორეს მხრივ, საძიებო ოპერაციები არ არედაქტირებენ ინფორმაციას, არამედ ამოიღებენ მას პირობითი პირობითი ფილტრაციის შემდეგ. ორივე ტიპის ოპერაციებში შერჩევა მნიშვნელოვან როლს ასრულებს. გარდა ფაილის შექმნისა და წაშლისა, შეიძლება იყოს რამდენიმე ოპერაცია, რომელიც შეიძლება შესრულდეს მათზე:
- ღია - არსებობს წაკითხვის ან ჩაწერის ორი რეჟიმიდან ერთ-ერთში. პირველ შემთხვევაში, ოპერაციული სისტემა არავის აძლევს საშუალებას შეცვალოს მონაცემები. სხვა სიტყვებით რომ ვთქვათ, მონაცემები მხოლოდ იკითხება. წაკითხვის რეჟიმში გახსნილი ფაილების გაზიარება შესაძლებელია მრავალ ობიექტს შორის. ჩაწერის რეჟიმი საშუალებას გაძლევთ შეცვალოთ მონაცემები. ფაილების წაკითხვა შესაძლებელია, მაგრამ მათი გაზიარება შეუძლებელია.
- დახურვა არის ყველაზე მნიშვნელოვანი ოპერაცია ოპერაციული სისტემის თვალსაზრისით, რადგან ის ხსნის ყველა საკეტს(თუ გაზიარებულ რეჟიმშია), ინახავს მონაცემებს (თუ შეცვლილია) მეორად მედიაში და ათავისუფლებს ფაილთან დაკავშირებულ ყველა ბუფერს და დამმუშავებელს.
- ინდექსირება არის ინფორმაციის სტრუქტურის მეთოდი სისტემის ფაილებიდან ჩანაწერების ეფექტურად ამოსაღებად, ზოგიერთი ატრიბუტის საფუძველზე, სადაც სისტემა დანერგილია. განსაზღვრულია ატრიბუტებზე დაყრდნობით.
ინდექსირება შეიძლება იყოს შემდეგი ტიპის:
- პირველადი განისაზღვრება შეკვეთილი მონაცემთა ფაილში. საინფორმაციო ფაილი ორგანიზებულია გასაღების ველში.
- მეორადი ინდექსი გენერირებული ველიდან, რომელიც არის კანდიდატი გასაღები და აქვს უნიკალური მნიშვნელობა თითოეულ ჩანაწერში ან არა გასაღები დუბლიკატი მნიშვნელობებით.
- კლასტერირება განისაზღვრება მოწესრიგებულ მონაცემთა ფაილში, არა გასაღების ველში.
მონაცემთა ბაზის მენეჯმენტის სისტემა ან DBMS ეხება ტექნოლოგიას მომხმარებლის ინფორმაციის მაქსიმალური ეფექტურობით შესანახად და მოსაპოვებლად უსაფრთხოების შესაბამის ზომებთან ერთად. ამ საკითხის უფრო დეტალური შესწავლა მივყავართ დასკვნამდე, რომ რელაციური ალგებრა არის ოპერატორების ენა, რომლებიც არგუმენტებად იღებენ ურთიერთობებს და შედეგად აბრუნებენ მათ.