Junior — Middle
როგორ არის რეკომენდებული მონაცემების სტრუქტურირება მონაცემთა ბაზის მესამე ნორმალური ფორმის შესაბამისად?
sobes.tech AI
პასუხი AI-სგან
მესამე ნორმალური ფორმა (3NF) მოითხოვს, რომ მონაცემები ბაზაში იყოს ორგანიზებული ისე, რომ:
- ცხრილი იყოს მეორე ნორმალური ფორმაში (2NF).
- ყველა არა-ძრავის ატრიბუტი დამოკიდებული იყოს მხოლოდ პირველადი გასაღებაზე, და არა ერთმანეთზე (ტრანზიტული დამოკიდებულებების არარსებობა).
საერთო სიტყვებით, 3NF-ში თითოეული სვეტი უნდა იყოს პირდაპირ დამოკიდებული ცხრილის გასაღებაზე, არა სხვა სვეტების მეშვეობით. ეს ამცირებს გადახმარებას და ზრდის მონაცემების მთლიანობას.
მაგალითად, თუ გაქვთ შეკვეთების ცხრილი, სადაც ინახება როგორც მომხმარებლის ინფორმაცია, ასევე შეკვეთის, უკეთესია მომხმარებლის მონაცემები გადაიტანოთ ცალკე ცხრილში, რათა თავიდან აიცილოთ მათი დუბლირება თითოეულ შეკვეთაში.
სტრუქტურის მაგალითი:
-- მომხმარებლების ცხრილი
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY,
Name VARCHAR(100),
Email VARCHAR(100)
);
-- შეკვეთების ცხრილი
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerID INT,
OrderDate DATE,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
აქ, მომხმარებლის ინფორმაცია ინახება ცალკე, ხოლო შეკვეთებში მხოლოდ მითითებაა მომხმარებელზე, რაც შესაბამისია 3NF-თან.