Junior
Kāpēc tabulā ir nepieciešama saite?
sobes.tech AI
Atbilde no AI
Attiecība, vai saikne starp tabulām datu bāzē, ir nepieciešama šādiem mērķiem:
- Datu pārklāšanās novēršana: Tā vietā, lai dublētu informāciju vairākās tabulās, tā tiek glabāta vienā, un citas atsaucas uz to. Tas ietaupa vietu un vienkāršo atjaunināšanu.
- Datu integritātes nodrošināšana: Attiecības palīdz uzturēt datu saskaņotību. Piemēram, nevar izdzēst rindu vienā tabulā, ja cita uz to atsaucas (atkarībā no ierobežojuma veida).
- Vaicājumu vienkāršošana: Tas ļauj viegli iegūt saistītos datus no vairākām tabulām, izmantojot JOIN operācijas.
- Datu bāzes struktūras izveide: Tas atspoguļo loģisko saikni starp reālo pasaules objektiem, padarot datu bāzes struktūru saprotamāku un organizētāku.
Piemēri saikņu veidiem:
- Viens pret vienu (One-to-one): Viena rinda tabulā A ir saistīta tikai ar vienu rindu tabulā B, un otrādi.
- Viens pret daudz (One-to-many): Viena rinda tabulā A var būt saistīta ar vairākām rindām tabulā B, bet rinda tabulā B ir saistīta tikai ar vienu rindu tabulā A.
- Daudz pret daudz (Many-to-many): Viena rinda tabulā A var būt saistīta ar vairākām rindām tabulā B, un otrādi. Parasti tas tiek īstenots caur starptabulu.
SQL piemērs īstenošanai:
CREATE TABLE klienti (
klients_id INT PRIMARY KEY,
vārds VARCHAR(255)
);
CREATE TABLE pasūtījumi (
pasūtījums_id INT PRIMARY KEY,
pasūtījuma_datums DATE,
klients_id INT,
FOREIGN KEY (klients_id) REFERENCES klienti(klients_id) // "Viens pret daudz": viens klients var būt ar daudz pasūtījumiem
);