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
Martin schrieb: > Oder kann man irgendwie in IP mehrere Daten speichern? Ja, indem man einfach mehrere Einträge pro IP anlegt 127.0.0.1 domaene1.de 127.0.0.1 domaene2.de 127.0.0.1 domaene3.de
Man kann die Felder als Text, resp varchar definieren und XML eintraege in ein einzelnes Feld kombinieren. Man untergraebt so halt die suchfunktion.
планар троль schrieb: > Man kann die Felder als Text, resp varchar definieren und XML eintraege > in ein einzelnes Feld kombinieren. Man untergraebt so halt die > suchfunktion. ...ich würde statt XML lieber JSON nehmen: https://mariadb.com/kb/en/library/json-functions/
Oder eine Excel Tabelle base64 Kodiert im Textfeld speichern. Natürlich das xls vorher tippen um sich nicht die Performance zu verdauen. Hilfe...
Durch eine passende Datenstruktur über mehrere Tabellen mit eindeutigen Keys Tabelle Domains -> key -> Tabelle IPs LG Thomas
test schrieb: > Oder eine Excel Tabelle base64 Kodiert im Textfeld speichern. Natürlich > das xls vorher tippen um sich nicht die Performance zu verdauen. Willst du sie unverdaut wieder ausscheiden? ;-)
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
Martin schrieb: > 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: [...] Man fragt die Wikipedie unter dem Stichwort: "Normalisierung (Datenbank)".
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'; |
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.