Absegnung Datentypen für Tabellen

Don-DCH

Commander
Registriert
Aug. 2009
Beiträge
3.068
Guten Morgen zusammen,

ich bin gerade dabei ein bisschen mit Wordpress zu Basteln und wollte eine Tabelle in MariaDB erstellen in einer extra Datenbank, nun bin ich mir nicht 100% sicher ob meine Auswahl der Datentypen passen und wollte euch um eure Meinung fragen :)
Anbei Beispielshaft die Tabelle:

IDBild1Bild2BezeichnungNummerJahrTeileKategorieThema
BildBildText12345620212TestTest
INT AutoincrementVARCHAR
(Pfad angabe)
VARCHAR
(Pfad angabe)
Varchar (500)INT (15)INT (15)INT (15)Varchar (500)Varchar (500)


Passt das mit INT und Varchar?
Ich habe vor in die INT Spalten nur ganze Zahlen zu schreiben. Und in den Rest bei Varchar alles mögliche an Zeichen.
Text habe ich gelesen sollte man nicht nehmen, da es wie ein BLOB funktionieren sollte.

Viele Grüße und ein schönes Wochenende
 
Kategorie und Thema klingen so, als sollte hier eher auf eine andere Tabelle verwiesen werden. Eine Kategorietabelle mit allen Kategorien und eine Thematabelle mit allen Themen und dann mithilfe von Foreign Keys auf die IDs dort verweisen. So sparst du dir Redundanzen.
Generell würde ich empfehlen dir das Thema der Normalisierung von Datenbanken anzugucken, um Redundazen im Design zu verhindern.

Auch würde ich mir gut überlegen ob "Nummer" tatsächlich ein INT sein sollte. Falls es hier um irgendwelche Artikelnummern geht, die mit 0 zum Beispiel anfangen, fällt diese einfach weg.
Beispiel: Artikelnummer 00321345 wird als int gespeichert zu 321345.

Und das Jahr würde ich gleich als Date/Timestamp speichern um damit einfacher rechnen zu können.
 
  • Gefällt mir
Reaktionen: Raijin und Der Lord
Vielen Dank für die schnelle und ausführliche Antwort!
Kategorie und Thema möchte ich direkt in der Tabelle haben zwecks Filterung. Aber ich gebe dir recht, die Daten sind redundant vorhanden und es wäre die beste Art da eine ID zu nehmen als Foreign key mit einer ausgelagerten Tabelle als primary key, wenn ich das so noch richtig im Kopf habe :)

Mir geht es eher rein um Die Datentypen. Zwar hab ich da auch schon viel gesucht, aber dein Tipp mit der führenden 0, welche weggelassen wird, war mir so absolut nicht bewusst. Danke!
Da muss ich nochmal schauen ob das der Fall sien könnte. Gibt es einen Datentyp den du mir für Zahlen empfehlen würdest, welcher mit einer führenden 0 zurecht kommt?

Date/Timestamp klingt auhc interessant das werde ich mir mal anschauen. Ich dachte immer (ohne genauer geschaut zu haben) Das es bei dem Typ um ganze Datumsangaben mit Tag, Monat und Jahr geht, für meinen Zweck reicht das Jahr absolut aus :) Daher die Überlegung mit INT

Vielen Dank dir auf jeden Fall :)
 
Zurück
Oben