Hallo Martin, Am Freitag, 31. Mai 2002 11:16 schrieb Martin Neuditschko:
Ich habe die User-doku zu PostgreSQL durchgelesen und will nun eine DB fuer meine Buecher erstellen. Die DB soll Serie, Titel, Author und Verlag beinhalten.
[...]
Da ich noch nie eine DB erstellt habe, moechte ich gerne eure Meinung zu diesem Thema wissen. (Gibt es vielleicht sogar noch eine bessere Loesung die ich uebersehen habe?)
Bin fuer jeden Tip dankbar.
Hmmm... auch auf die Gefahr hin, daß mir jetzt so mancher ins Gesicht springen will, wie wäre es mit einem Gang in die nächste größe Buchhandlung und Du schaust Dir mal an, was es zum Thema Datenbank-Design/SQL gibt? Zu Postgres gibt es ein deutsches Buch von Bruce Momjian: PostgreSQL - Einführung und Konzepte. Datenbank-Grundlagen kommen allerdings etwas zu kurz. Hier kann ich eigentlich nur einen Abstecher in die MySQL-Ecke empfehlen, hier existiert ziemlich viel Thema, auch Grundlagen. Zuletzt: Nur-SQL-Bücher, die sich zumeist mit den Grundlagen beschäftigen und auch erklären, wie man eine Datenbank designt. Ein wichtiges Stichwort ist 'Normalisierung', 'Primärschlüssel', 'Fremdschlüssel'. Über google findest Du da bestimmt einiges. Die SQL-Befehle erlauben Dir, Deine Datenbank anzulegen und darin dann die Tabellen einzurichten (create database, create table). Abfragen kannst Du das alles mit select ... from. Für diese Operationen steht Dir eine Art Kommandozeile zur Verfügung, der bist Du vermutlich schon begegnet. Ein bißchen erleichtern könnte Dir phpmyadmin die Sache, das gibt es meines Wissens auch in einer Postgres-Variante, allerdings nicht so ausgefeilt. Wenn Du ein bißchen mit UnixODBC rumfummeln willst, Posgres läßt sich auch von OOo aus ansprechen. Dann kannst Du sehr bequem Deine Tabellen reinkloppen. Jetzt doch noch eine Bemerkung hierzu:
1: Eine Tabelle mit Serie, Titel und eine mit Serie, Author, Verlag 2: Eine Tabelle mit Serie, Titel, Verlag und Author, wobei "Titel" ein Array ist.
Du hast in Deinen Tabellen viel zu viele redundante Informationen. Man versucht grundsätzlich, die einzelnen Rubriken nur einmal vorkommen zu lassen (läßt sich nicht immer vermeiden, ist auch nicht immer sinnvoll).
Problem: Bei "1" haette die 1. Tabelle ziemlich oft den Namen der Serie gespeichter, was sich durch ein Array wie in "2" beschrieben umgehen lassen wuerde, nur steht in der Doku, dass Arrays meist auf schlechtes Datenbankdesign zurueckzufuehren sind.
Was meinst Du mit Array? Datenbanken können kurze oder lange Texte speichern, je nach Datentyp, den Du in der Tabelle vorher festlegst. Und zum Schluß: Es gibt eine kleine, low-traffic Mailinglist zum Thema Postgres: postgres-subscribe@yahoogroups.de HTH, trotz des bunten Durcheinanders, Helga -- ~~~~~~~~~~~~~~~~~~~~~~Wer macht mit?~~~~~~~~~~~~~~~~~~~~~ Das dt. Dokumentationsprojekt von OpenOffice.org sucht Mitstreiter # Projekt-Einstieg: http://lang.openoffice.org/de # Mailingliste: http://lang.openoffice.org/de/about-mailinglist.html