php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.03.2006, 08:56  
Erfahrener Benutzer
 
Registriert seit: 26.11.2004
Beiträge: 205
c-f-g
Standard Strukturierung einer kleinen DB

Ich möchte Daten in ein Formular anhand des eingegebenen Benutzernamens und Passworts vor-eintragen. Dazu habe ich mir schon eine Struktur überlegt, wollte aber gern noch ein paar Ratschläge von Profis dazu haben.

Es sollen folgende Daten in das Formular:
  1. Name
  2. Straße
  3. PLZ
  4. Ort
  5. Telefon
  6. Fax
  7. Email
  8. Ansprechpartner
Dazu kommen der loginname und das dazugehörige Passwort (die natürlich nicht ins Formular kommen, aber auch in die DB).

Frage 1: 2 Tabellen (d.h. extra-Tabelle für l_name und passwort) oder 1?
Frage 2: Wie sollte ich die Dimensionen wählen? Immer die maximale Länge von varchar 255, oder wird die Tabelle dann zu groß? plz würde ich als int abspeichern wollen, bei allen anderen sehe ich da keinen sinn

€: Ahso Primärschlüssel soll der l_name sein, wenn ich mit 2 Tabellen arbeiten würde, müßte ich noch eine Spalte als Primärschlüssel einfügen.
Ach und Frage 3: Sollten die Werte als NULL oder NOT NULL initialisiert werden?
__________________
Zitat:
Deine Signatur ist zu lang.
c-f-g ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.03.2006, 13:31  
Erfahrener Benutzer
 
Registriert seit: 08.08.2005
Beiträge: 272
madSoul
Standard

Hi c-f-g,

zu Frage 1:
ich für meinen Teil speichere die Userdaten komplett in einer Tabelle,
sollte mehr dabei sein wie z.B. ein Profil (siehe Singlebörsen) dann hau ich das in die 2te Tabelle...

zu Frage 2:
den usernamen kannst du ja z.b auf 16 zeichen beschränken, musst dies aber dann auch im registrierungsformular beachten.
nutze auch z.B. das Format Text - ohne Angabe von Zeichenlänge, dann wird nur die anzahl der zeichen +5byte als speicherkapazität verwendet soweit ich weiß...
ich für meinen Teil arbeite mit ner ID als Primärschlüssel -> per auto increment!

zu Frage 3:
keinen Plan...

LG
madSoul ist offline   Mit Zitat antworten
Alt 22.03.2006, 13:57  
Erfahrener Benutzer
 
Registriert seit: 26.11.2004
Beiträge: 205
c-f-g
Standard

Danke, endlich mal eine Antwort

1. So dachte ich es bisher auch.
2. Kann das mal jemand bestätigen? Dann werde ich das nämlich auch verwenden.
Naja die ID kann ich einsparen, da der l_name einmalig sein wird, dafür sorge ich dann schon per PHP im Adminmenü
3. Mal abwarten, wer da was weiß

__________________
Zitat:
Deine Signatur ist zu lang.
c-f-g ist offline   Mit Zitat antworten
Alt 22.03.2006, 21:14  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard Re: Strukturierung einer kleinen DB

Zitat:
Zitat von c-f-g
Frage 2: Wie sollte ich die Dimensionen wählen? Immer die maximale Länge von varchar 255, oder wird die Tabelle dann zu groß?
Beschränke die einzelnen Spalten auf sinnvolle Längen. Wie madSoul schon sagte, benötigst du beispielsweise bei Benutzername und Passwort nicht so viele Zeichen.

Zitat:
Zitat von c-f-g
plz würde ich als int abspeichern wollen, bei allen anderen sehe ich da keinen sinn ;)
Wenn wir von unserem deutschen Postleitzahlensystem ausgehen (also 5-stellige Zahlen), reicht auch ein MEDIUMINT.

Zitat:
Zitat von c-f-g
€: Ahso Primärschlüssel soll der l_name sein, wenn ich mit 2 Tabellen arbeiten würde, müßte ich noch eine Spalte als Primärschlüssel einfügen.
Es ist ratsam wenn du trotz allem eine zusätzliche Spalte mit einer eindeutigen ID vergibst. So kannst du auch im Nachhinein noch einmal Benutzernamen ändern, ohne andere Datenbanktabellen, auf die möglicherweise referenziert wird bzw. die auf die Benutzertabelle referenzieren, bearbeiten zu müssen.
Auch aus Performancesicht ist es sinnvoller Verknüpfung zwischen zwei Tabellen über INTEGER- statt (VAR)CHAR- / TEXT-Spalten zu realisieren.

Zitat:
Zitat von c-f-g
Ach und Frage 3: Sollten die Werte als NULL oder NOT NULL initialisiert werden?
Für Spalten, die zwingend gegeben sein müssen (wie Benutzername und Passwort) bietet es sich an NOT NULL zu verwenden. Bei Optionalen Angaben ist dann sinnvoller, auch NULL-"Werte" zuzulassen (sprich auf das Attribut NOT NULL zu verzichten).
xabbuh ist offline   Mit Zitat antworten
Alt 23.03.2006, 07:50  
Erfahrener Benutzer
 
Registriert seit: 26.11.2004
Beiträge: 205
c-f-g
Standard Re: Strukturierung einer kleinen DB

Zitat:
Zitat von xabbuh
Beschränke die einzelnen Spalten auf sinnvolle Längen. Wie madSoul schon sagte, benötigst du beispielsweise bei Benutzername und Passwort nicht so viele Zeichen.
Vielleicht habe ich mich da doof ausgedrückt - was sind sinnvolle Längen für Namen, Passwort, Straße, usw.?

Zitat:
Es ist ratsam wenn du trotz allem eine zusätzliche Spalte mit einer eindeutigen ID vergibst. So kannst du auch im Nachhinein noch einmal Benutzernamen ändern, ohne andere Datenbanktabellen, auf die möglicherweise referenziert wird bzw. die auf die Benutzertabelle referenzieren, bearbeiten zu müssen.
Auch aus Performancesicht ist es sinnvoller Verknüpfung zwischen zwei Tabellen über INTEGER- statt (VAR)CHAR- / TEXT-Spalten zu realisieren.
Alles klar

Zitat:
Für Spalten, die zwingend gegeben sein müssen (wie Benutzername und Passwort) bietet es sich an NOT NULL zu verwenden. Bei Optionalen Angaben ist dann eher NOT NULL sinnvoll.
Also alles NOT NULL? Vermutlich ist irgendwo ein NOT zuviel
Kann ich an der Stelle nochmal nachhaken, warum sich mal NOT NULL und mal NULL abietet?
__________________
Zitat:
Deine Signatur ist zu lang.
c-f-g ist offline   Mit Zitat antworten
Alt 23.03.2006, 20:58  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard Re: Strukturierung einer kleinen DB

Zitat:
Zitat von c-f-g
Vielleicht habe ich mich da doof ausgedrückt - was sind sinnvolle Längen für Namen, Passwort, Straße, usw.?
Bei Benutzernamen und Passwörtern sollten maximal 20 Zeichen völlig ausreichen. Wenn du in deiner Software sogar weniger Zeichen zulässt, kannst du deine Tabellenstruktur natürlich dementsprechend anpassen.
Bei Straßennamen ist das Ganze schon etwas schwieriger. Aber wenn du hier 150 Zeichen zulässt, dürfte es schwer werden, Adressen zu finden, die hier nicht gespeichert werden können.

Zitat:
Zitat von c-f-g
Also alles NOT NULL? Vermutlich ist irgendwo ein NOT zuviel ;)
Habe es oben korrigiert. ;-)

Zitat:
Zitat von c-f-g
Kann ich an der Stelle nochmal nachhaken, warum sich mal NOT NULL und mal NULL abietet?
NULL steht in der SQL dafür, dass kein Wert bekannt ist. Genau dieser Fall kann ja bei allen Angaben auftreten, die der Benutzer nicht zwingend vornehmen muss.
Bei Benutzernamen und Passwörtern macht dieses Attribut nicht viel Sinn, da hier so oder so immer ein Wert vorhanden sein muss und man sich auf diese Weise den ansonsten benötigten Speicherplatz auch sparen kann.
Allgemeine Informationen zu NULL-Werten findest du beispielsweise unter folgender Adresse in der Wikipedia: http://de.wikipedia.org/wiki/NULL
In der MySQL-Dokumentation bietet sich das folgende Kapitel zur Verarbeitung von NULL-Werten zur Lektüre an: http://dev.mysql.com/doc/refman/5.0/...with-null.html
xabbuh ist offline   Mit Zitat antworten
Alt 24.03.2006, 09:54  
Erfahrener Benutzer
 
Registriert seit: 26.11.2004
Beiträge: 205
c-f-g
Standard

Vielen Dank :daumenhochsmiley:
__________________
Zitat:
Deine Signatur ist zu lang.
c-f-g ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
kleiner noob braucht kleinen javascript-codeschnippsel! mollitz HTML, Usability und Barrierefreiheit 9 24.11.2006 13:09
Suche nach grossen und kleinen Buchstaben Sonja PHP Tipps 2006 7 11.05.2006 12:24
php-Verzeichnis-Upload über einen kleinen Umweg polymorf PHP-Fortgeschrittene 7 03.05.2006 20:59
Suche Coder für kleinen Teil einer Datenbankoberfläche DiplWI_BA Trash 0 01.05.2006 10:10
Strukturierung modularer Website mit CleanUrls ssm PHP Tipps 2006 20 22.03.2006 16:49
Brauch einen kleinen Denkanstoss zu meiner Sessionabfrage... GELight PHP Tipps 2006 2 06.02.2006 19:26
Verzwickte Abfrage einer kleinen Tabelle DerDesian Datenbanken 3 31.08.2005 13:03
Kleine Frage eines Kleinen Neulings O.o Datenbanken 3 08.06.2005 19:49
Mit PHP einen kleinen Ausschnitt von einem Movie machen? PHP Tipps 2005 8 27.02.2005 04:19
[Erledigt] Schon wieder Fehler in einer kleinen Abfrage Datenbanken 10 03.02.2005 18:37
Rechnen mit seeeeeeehr kleinen Zahlen! Calexico PHP Tipps 2004-2 1 25.11.2004 10:20
Erstellung eines kleinen Schachbrettes PHP Tipps 2004 18 30.06.2004 10:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mediatomb tabellenstruktur, \null oder not null\, mediatomb.db strukturieren, zitat strukturierung

Alle Zeitangaben in WEZ +1. Es ist jetzt 09:51 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.