Hallo ![Smilie](https://www.php-resource.de/forum/core/images/smilies/smile.gif)
Also bisher habe ich MySQL-Tabellen, wie in vielen Tutorials beschrieben, über PHP-Scripte erstellt und mir keine weiteren Gedanken gemacht.
Heute habe ich jedoch mal etwas mit phpmyadmin 2.11.0 beschäftigt und entdeckt, dass man dort beim erstellen von Tabellen eigentlich viel mehr Einstellungen vornehmen kann als ich bisher getan habe. Zwar habe ich etwas gegoogelt, jedoch bleiben da einige Fragen nicht 100% geklärt.
1.) ich möchte eine xhtml-Seite in utf-8 erstellen. Bei der Erstellung einer Tabelle in MySQL (dort soll der Inhalt der späteren Seite herkommen) kann ich bei Kollationen folgendes auswählen (unter utf8):
utf8_bin, utf8_general_ci, utf8_unicode_ci sowie sprachspezifische Dinge wie z.B. utf8_slovak_ci oder ...danish_ci.
Erste Frage: welches davon ist nun das "richtige utf8" für mein Vorhaben?
Zweite Frage: was sollen die sprachspezifischen Optionen? ich dachte, utf8 kann alle möglichen Zeichen speichern, fast egal welche Sprache oder Sonderzeichen?
Dritte Frage: Man kann der ganzen Tabelle eine Kollation geben, den darin enthaltenen Feldern allerdings ebenfalls. Reicht es, der Tabelle eine Kollation zu geben und die Kollationen der einzelnen Felder leer zu lassen?
2.) Man kann dort Primärschlüssel, Unique und Index festlegen. Mit Primärschlüsseln habe ich schon gearbeitet ... man definiert ein Feld als Primärschlüssel und stellt dazu auto_increment ein ... als Folge bekommen alle Einträge eine Nummer, welche eindeutig ist und sich bei jedem Eintrag erhöht.
Das hört sich für mich jedoch eher nach einer Aufgabe für unique an. Was ist der unterschied, was kann der Primärschlüssel, was unique nicht kann (oder eben andersrum)?
gebe ich das in der Suche von mysql AB ein, kommt für mich keine wirkliche Erklärung:
http://dev.mysql.com/doc/refman/5.1/...imary-key.html
3.) Reicht für eine kleine Seite MyISAM? So wie ich das gelesen habe, unterstützt InnoDB z.B. Transaktionssicherheit (was auch immer das bedeuten mag) und Relationen. Unter letzerem kann ich mir etwas vorstellen, doch was sind die wirklichen Vorteile, die für mich interessant sein könnten?
Danke
![Smilie](https://www.php-resource.de/forum/core/images/smilies/smile.gif)
Also bisher habe ich MySQL-Tabellen, wie in vielen Tutorials beschrieben, über PHP-Scripte erstellt und mir keine weiteren Gedanken gemacht.
Heute habe ich jedoch mal etwas mit phpmyadmin 2.11.0 beschäftigt und entdeckt, dass man dort beim erstellen von Tabellen eigentlich viel mehr Einstellungen vornehmen kann als ich bisher getan habe. Zwar habe ich etwas gegoogelt, jedoch bleiben da einige Fragen nicht 100% geklärt.
1.) ich möchte eine xhtml-Seite in utf-8 erstellen. Bei der Erstellung einer Tabelle in MySQL (dort soll der Inhalt der späteren Seite herkommen) kann ich bei Kollationen folgendes auswählen (unter utf8):
utf8_bin, utf8_general_ci, utf8_unicode_ci sowie sprachspezifische Dinge wie z.B. utf8_slovak_ci oder ...danish_ci.
Erste Frage: welches davon ist nun das "richtige utf8" für mein Vorhaben?
Zweite Frage: was sollen die sprachspezifischen Optionen? ich dachte, utf8 kann alle möglichen Zeichen speichern, fast egal welche Sprache oder Sonderzeichen?
Dritte Frage: Man kann der ganzen Tabelle eine Kollation geben, den darin enthaltenen Feldern allerdings ebenfalls. Reicht es, der Tabelle eine Kollation zu geben und die Kollationen der einzelnen Felder leer zu lassen?
2.) Man kann dort Primärschlüssel, Unique und Index festlegen. Mit Primärschlüsseln habe ich schon gearbeitet ... man definiert ein Feld als Primärschlüssel und stellt dazu auto_increment ein ... als Folge bekommen alle Einträge eine Nummer, welche eindeutig ist und sich bei jedem Eintrag erhöht.
Das hört sich für mich jedoch eher nach einer Aufgabe für unique an. Was ist der unterschied, was kann der Primärschlüssel, was unique nicht kann (oder eben andersrum)?
gebe ich das in der Suche von mysql AB ein, kommt für mich keine wirkliche Erklärung:
http://dev.mysql.com/doc/refman/5.1/...imary-key.html
3.) Reicht für eine kleine Seite MyISAM? So wie ich das gelesen habe, unterstützt InnoDB z.B. Transaktionssicherheit (was auch immer das bedeuten mag) und Relationen. Unter letzerem kann ich mir etwas vorstellen, doch was sind die wirklichen Vorteile, die für mich interessant sein könnten?
Danke
Kommentar