მონაცემთა ბაზის სქემა არის მეტამონაცემების კოლექცია, რომელიც აღწერს მონაცემთა ბაზაში არსებულ ობიექტებსა და ინფორმაციას შორის ურთიერთობას. სქემის წარმოდგენის მარტივი გზაა მისი წარმოდგენა, როგორც ყუთი, რომელიც შეიცავს ცხრილებს, შენახულ პროცედურებს, ხედებს და მონაცემთა დაკავშირებულ აქტივებს. სქემა განსაზღვრავს ამ ველის ინფრასტრუქტურას.
ბოლო ხაზი
თავის საბაზისო დონეზე, სქემა ემსახურება მონაცემთა აქტივების კონტეინერს. თუმცა, მონაცემთა ბაზის სხვადასხვა გამყიდველი აყალიბებს მათ სქემებს სხვადასხვა გზით. მაგალითად, Oracle ყველა სქემას განიხილავს, როგორც მომხმარებლის ანგარიშს. ახალი სქემის შესაქმნელად, მონაცემთა ბაზის ადმინისტრატორი ქმნის მონაცემთა ბაზის ახალ მომხმარებელს სქემის სავარაუდო სახელით.
რატომ მნიშვნელოვანია სქემები
რადგან სქემები წარმოადგენს მონაცემთა ბაზის ძირითად სტრუქტურულ მახასიათებელს, მონაცემთა ბაზის გარემოს უმეტესობა იყენებს წვდომის ნებართვებს ობიექტებზე სქემის დონეზე.
მაგალითად, კომპანიის მონაცემთა ბაზა შეიძლება შეიცავდეს მომხმარებელთა სერიას. თითოეული მომხმარებელი ახორციელებს სქემას, მაგრამ წვდომა სხვადასხვა სქემებზე ენიჭება ინდივიდუალურად და ნებართვების დეტალურობით, მომხმარებლებისთვის სახლის სქემის გარეთ.
ბაზის მართვის ინსტრუმენტების უმეტესობა არ ჩამოთვლის სქემებს; ამის ნაცვლად, ისინი ჩამოთვლიან მონაცემთა ბაზებსა და მომხმარებლებს.
მაგალითად, კომპანია ქმნის მომხმარებლის ანგარიშებს (სქემებს) ბობსა და ჯეინისთვის. ის ასევე ქმნის ანგარიშებს ისეთი განყოფილებებისთვის, როგორიცაა HR და მარკეტინგი. შემდეგ ის აძლევს ანალიტიკოსს თითოეული დეპარტამენტის წვდომას მათი დეპარტამენტის სქემის ანგარიშზე.
HR ანალიტიკოსი ქმნის ცხრილებს და ხედებს HR სქემის ფარგლებში და ანიჭებს ბობს წვდომას წაიკითხოს (მაგრამ არა ჩაწეროს) HR ცხრილი, რომელშიც ჩამოთვლილია თანამშრომლების სახელები და თანამშრომლის ID ნომრები.ასევე, HR ანალიტიკოსმა შეიძლება მისცეს ჯეინს წვდომა, წაიკითხოს და ჩაწეროს HR ცხრილში, რომელიც ჩამოთვლის თანამშრომლების ტელეფონის ნომრებს.
ამ გზით წვდომის მინიჭებით, მხოლოდ სწორ როლებს და მომხმარებლებს შეუძლიათ წაიკითხონ, დაწერონ ან შეცვალონ მონაცემები თვითშეზღუდულ მონაცემთა აქტივში უფრო დიდ მონაცემთა ბაზაში.
ყველა მონაცემთა ბაზის ძრავა განიხილავს სქემებს, როგორც მონაცემთა გამოყოფის ძირითად მეთოდს მრავალ მომხმარებლის გარემოში.
სხვადასხვა მონაცემთა ბაზის ძრავები განსხვავებულად ეპყრობიან მომხმარებლებს და სქემებს. იხილეთ თქვენი მონაცემთა ბაზის ძრავის დოკუმენტაცია, რათა აღმოაჩინოთ მომხმარებელთა გარშემო არსებული სინტაქსი და ლოგიკური მოდელები, სქემები და ნებართვების გრანტები.
სქემების შექმნა
სქემა ფორმალურად არის განსაზღვრული სტრუქტურირებული შეკითხვის ენის (SQL) გამოყენებით. მაგალითად, Oracle-ში თქვენ ქმნით სქემას მომხმარებლის ანგარიშის შექმნით, რომელიც მას ფლობს:
შექმენი მომხმარებლის ბობ
იდენტიფიცირებული დროებითი_პაროლით
ნაგულისხმევი TABLESPACE მაგალითი
QUOTA 10M ON მაგალითზე
დროებითი დროით AB QUOTA 5M ON სისტემა
PROFILE app_user
PASSWORD EXPIRE;
სხვა მომხმარებლებს ეძლევათ წვდომა ახალ სქემებზე მათი მომხმარებლის სახელის ან ერთი ან მეტი როლის მიხედვით, რომელსაც დაემატა მომხმარებლის ანგარიში.
სქემები მონაცემთა მოდელების წინააღმდეგ
მონაცემთა მოდელის მსგავსად, სქემა არ არის არსებითად სტრუქტურირებული რაიმეს გასაკეთებლად. ამის ნაცვლად, ეს არის ინფრასტრუქტურა მონაცემთა ბაზაში სეგმენტაციის ნებართვების მხარდასაჭერად.
მონაცემთა მოდელი არის ცხრილებისა და ხედების კოლექცია, რომლებიც გაერთიანებულია კონკრეტულ გასაღებებზე. ეს მონაცემთა აქტივები ერთად ემსახურება ბიზნეს მიზანს. მისაღებია მონაცემთა მოდელის გამოყენება სქემაზე - დიდი და რთული მონაცემთა მოდელებისთვის, მათი სქემებთან ასოცირება უზრუნველყოფს მონაცემთა ბაზის ჭკვიანი ადმინისტრირებას. მაგრამ ლოგიკურად არ არის აუცილებელი სქემის გამოყენება მონაცემთა მოდელისთვის ან მონაცემთა მოდელის სქემად განხილვა.
მაგალითად, HR დეპარტამენტი შეიძლება შეიცავდეს მონაცემთა მოდელს თანამშრომლების მუშაობის მიმოხილვისთვის თავის სქემაში. ამ მიმოხილვებისთვის სქემის შექმნის ნაცვლად, მონაცემთა მოდელს შეუძლია იჯდეს HR სქემაში (მონაცემთა სხვა მოდელებთან ერთად) და დარჩეს ლოგიკურად განსხვავებული ცხრილის პრეფიქსებით და ნახოს მონაცემთა მოდელის ობიექტების სახელები.
მონაცემთა მოდელმა შეიძლება მოიპოვოს არაფორმალური სახელი, როგორიცაა შესრულების მიმოხილვა, შემდეგ კი ყველა ცხრილისა და ნახვის პრეფიქსი შეიძლება იყოს pr_ თანამშრომელთა ჩამონათვალის ცხრილი შეიძლება მოიხსენიებოდეს როგორც hr.pr_employee მუშაობის მიმოხილვისთვის ახალი სქემის მოთხოვნის გარეშე.
FAQ
რა განსხვავებაა მონაცემთა ბაზის სქემასა და მონაცემთა ბაზის მდგომარეობას შორის?
მონაცემთა ბაზის სქემა აღწერს მონაცემთა ბაზას. მონაცემთა ბაზის მდგომარეობა ეხება მონაცემთა ბაზის შინაარსს დროის მომენტში და შეიძლება ჩაითვალოს მონაცემთა ბაზის სქემის გაფართოებად.
რა არის მონაცემთა ბაზის რელაციური სქემა?
რელაციური სქემა ასახავს ურთიერთობებს ცხრილებსა და ელემენტებს შორის, რომლებიც დაკავშირებულია ერთმანეთთან. სქემა შეიძლება იყოს გრაფიკული ილუსტრაცია ან სქემა, ან შეიძლება დაიწეროს SQL კოდით.