Datenbank variable Anzahl Daten

Gast #5765334
Lesenswert?
• ▲
▼
Hallo.

Ich beschäftige mich gerade neu mit MariaDB. Dabei stellt sich mir 
folgende Frage: wie geht man in der Praxis vor, um eine variable Anzahl 
an Daten zu speichern: zB die IP zu einer Domain. Da kann es ja sein es 
gibt keine IP, einen A Record oder gleich mehrere oder zusätzlich noch 
AAAA.
Mit einem Feld Domain und einem IP ist es dann ja irgendwie nicht getan. 
Oder kann man irgendwie in IP mehrere Daten speichern? Wie hole ich die 
dann einzeln wieder aus dem Feld ab? Danke.



Martin
#5766245
Lesenswert?
• ▲
▼
Hallo,

wie werists schon gesagt hat über mehrere Tabellen (das ist genau einer 
der Gründe für Datenbanken). Du hast eine Tabelle mit den Domains (und 
einer Spalte ID (Primärschlussel)), eine zweite Tabelle mit den IPs (und 
einer eigenen Spalte ID (Primärschlussel) und als drittes eine Tabelle, 
in der die zusammengehörende ID aus der Domain Tabelle und die ID aus 
der IP Tabelle in je einer Spalte gelistet ist und zusammen eine 
Fremdschlüssel ergeben. Über die SQL Abfragen bekommst du die 
entsprechenden Daten bei der Abfrage passend zusammengesetzt wieder aus 
der Datenbank heraus.

Gruß Kai
#5766500
Lesenswert?
• ▲
▼
Egon D. schrieb:
> Normalisierung

z.B.
1
CREATE TABLE Domains(
2
  DomainID INT PRIMARY KEY,
3
  Name     TEXT
4
  /* ... */
5
);
6
CREATE TABLE DNS(
7
  DomainID INT,
8
  Name     TEXT,
9
  Value    TEXT
10
);
11
INSERT INTO Domains VALUES(1, 'martin.example');
12
INSERT INTO DNS VALUES(1, 'A', '203.0.113.42');
13
INSERT INTO DNS VALUES(1, 'AAAA  ', '2001:db8::2a');

Martin schrieb:
> Wie hole ich die dann einzeln wieder aus dem Feld ab?
1
SELECT *
2
FROM Domains
3
JOIN DNS USING (DomainID)
4
WHERE Domains.Name = 'martin.example';

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren