Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Stringdatentyp:Enum?? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Stringdatentyp:Enum??


 
Tragon
31-05-2002, 15:58 
 
Hi könnte mir mal jemand schnell erklären wie man diesen Datentyp einsetzt? Option heißt das es wir zum Beispiel eine Option aus nem Optionsfeld dann gespeichert oder wie bitte um aufklärung mit Beispiel wenn es geht
Danke im Voraus

 
hand
31-05-2002, 16:07 
 
http://www.mysql.com/doc/E/N/ENUM.html

 
Tragon
31-05-2002, 16:13 
 
Sorry steig da nicht ganz durch!
Also gehen wir davon aus ich will in einer Datenbank erfassenn ob jemand nen Führerschein hat! Und es gibt die Möglichkeiten Ja, Nein! Wäre dann Enum das richtige für diesen Teil der Tabelle???
Und wie müßte ich diese Spalte anlegen?

 
MelloPie
31-05-2002, 17:03 
 
Enum ist eine Aufzählung von möglichen Werten. Soweit so gut. Du kannst dann zB radiobuttons verwenden.

in Deinem Fall etwa:
<input type="radio" name="fs" value="ja">ja
<input type="radio" name="fs" value="nein">nein
jetzt kannst Du das in eine Tabelle so einfügen:
zB.
INSERT INTO tbl (`fs`) VALUES ('$fs')

Aber Du kannst eigentlich ein varchar(1) nehmen und für ja j und nein n eintragen oder so...

 
goth
31-05-2002, 17:16 
 
Nein es ist nicht das gleiche ... ENUM('Ja', 'Nein') ... wie auch alle anderen ENUM's werden intern als Integer verarbeitet ... dadurch sind Vergleichsoperationen immer schneller ... außerdem hast Du bei CHAR(1) eine undefiniert Groß-/Kleinschreibung.

VARCHAR(1) ist überhaupt die genialst Idee ... da (würde MySQL das nicht automatisch optimieren) du auch noch einen Dynamischen Datentyp verwendest ... warum nicht gleich GIANTBLOB und dann für 1 10 Gigabyte 1en reinschreiben und für 0 10 Gigabyte 0en ... :D

 
MelloPie
31-05-2002, 17:29 
 
Original geschrieben von goth
Nein es ist nicht das gleiche ... ENUM('Ja', 'Nein') ... wie auch alle anderen ENUM's werden intern als Integer verarbeitet ... dadurch sind Vergleichsoperationen immer schneller ... außerdem hast Du bei CHAR(1) eine undefiniert Groß-/Kleinschreibung.

VARCHAR(1) ist überhaupt die genialst Idee ... da (würde MySQL das nicht automatisch optimieren) du auch noch einen Dynamischen Datentyp verwendest ... warum nicht gleich GIANTBLOB und dann für 1 10 Gigabyte 1en reinschreiben und für 0 10 Gigabyte 0en ... :D

na komm übertreib mal nicht...
frag mal einen Oracle entwickler was er für ja nein nimmt... :-)

 
goth
31-05-2002, 17:43 
 
Original geschrieben von MelloPie


na komm übertreib mal nicht...
frag mal einen Oracle entwickler was er für ja nein nimmt... :-)

Oha ... ich habe Jahrelang Oracle-Entwickler gespielt ... und VARCHAR(1) war für BOOLEAN Nie ein Thema ... !

 
MelloPie
31-05-2002, 17:48 
 
also wir benutzen immer chars...
komisch level 5 zertifizierte Entwickler machen das falsch... ich werd nochmal nachfragen :-)
so nu is aber gut...

 
goth
31-05-2002, 17:54 
 
Viele Wege führen nach Rom ... nur mache sind halt etwas langsamer ...

In unserer Firma sind wir sicher nicht weniger qualifiziert!

Und Dein Vorschlag war VARCHAR ... nicht CHAR ... :teach:

Und wenn Ihr Level 97000 zertifiziert sein ... ich mache lieber 'nen Performance test ... und liege dann richtig ... MySQL ist nicht Oracle ... !

 
Tragon
31-05-2002, 18:08 
 
Jo danke mal! Wollte hier keinen Streit vom Zaun brechen!!! Also ´habt euch bitte wieder lieb:love:
Achso aber dann noch ne Frage wenn ich die Tabelle generier muß ich dann die Werte die rein dürfen angeben?
Könntet ihr für das obere Beispiel auch den Create Befehl mit Enum schreiben, möchte des gerne verstehen.Thanxx
Ach und dann noch ne Frage was sind eigentlich die aktuellen Sätze für Datenbank-Prgrammierer wenn man das Pflichtenbuch vorgibt???
Und wenn es sich um eine sehr große Sprich so 100.000 Datensätze und das noch online bei so 2000-3000 ZUgriffen gleichzeitig muß man dann nehmen um ne gute Performance zu gewährleisten? Und was kostet dieser "Spaß" dann?

 
MelloPie
31-05-2002, 18:11 
 
CREATE TABLE tbl ( col enum('ja','nein') NOT NULL default 'ja')

 
Tragon
31-05-2002, 18:15 
 
Ok thanx und könntest du mir noch ne Antwort auf den zuvor gepostet den Beitrag geben?? Kosten und so???

 
MelloPie
31-05-2002, 18:24 
 
Original geschrieben von Tragon

Ach und dann noch ne Frage was sind eigentlich die aktuellen Sätze für Datenbank-Prgrammierer wenn man das Pflichtenbuch vorgibt???
Und wenn es sich um eine sehr große Sprich so 100.000 Datensätze und das noch online bei so 2000-3000 ZUgriffen gleichzeitig muß man dann nehmen um ne gute Performance zu gewährleisten? Und was kostet dieser "Spaß" dann?

100000 Datensätze sind ja net wirklich viel...
2000-3000 Zugriffe gleichzeitig is ne ganz schöne Menge, da brauchste schon einen dicken Server mit ner ORA und einem Applicationserver der soviele Requests überhaupt handeln kann...
Also das ist dann kein Spaß mehr...

2000-3000 Zugriffe gleichzeitig???

 
Tragon
31-05-2002, 18:40 
 
Jo doch 2000-3000 was kostet des dann??? Und wieviel kostet Oracle, halt die Lizenz gebühren? Und was kostet mich ein Programmierer der es für mich umsetzt eingabe und verwaltung soll komplett online sein!???


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:01 Uhr.