Verständnisfragen zu PostgreSQL

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
hawkeye78
Beiträge: 430
Registriert: 10.09.2004 17:02:01
Wohnort: castrop-rauxel

Verständnisfragen zu PostgreSQL

Beitrag von hawkeye78 » 30.03.2014 18:45:14

Hallo,

ich habe jetzt privat vor allem mit MySQL gearbeitet. Nun hatte ich aber etwas Zeit und wollte mir mal Postgre anschauen. Allerdings stieß ich auf einige Eigenschaften die ich entweder nicht erklären kann oder bei denen ich gerne sicher gehen würde, das ich sie richtig verstanden habe. Dies ist im einzelnen:

1. Wie funktioniert das Konzept der Templates in Postgre? Funktionieren die Templates, vergleichbar zu Informix, als Behälter für chunkfiles?

2. nach meinem Verständnis kann ich per domains eigene Datentypen anlegen und für diese auch Bedingungen festlegen, habe ich das richtig verstanden?

3. Wofür brauche ich Schemata? Dient dieses ausschließlich der Rechte verwaltung oder benötige ich dieses auch für die Strukturierung der Daten? Den offenbar wird eine Datenbank zunächst per default in ein Schema namens Public abgelegt

Wenn meine Überlegungen stimmen müßte sich als Hierarchie etwas wie folgt ergeben:

Template -> Schema -> Datenbank -> Tabelle -> Felder

Ich würde mich freuen wenn mir jemand meine Annahmen bestätigen bzw. mich korrigieren könnte.
Viele Grüße
Dan
I love deadlines. I like the whooshing sound they make as they fly by - Douglas Adams

Benutzeravatar
shoening
Beiträge: 917
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Verständnisfragen zu PostgreSQL

Beitrag von shoening » 30.03.2014 19:57:30

Hi,

von meinem Verständnis musst du Database und Schema tauschen.

Wenn man PostgreSQL installiert, wird eine Datenbank 'template0' angelegt.
Wenn man mit 'CREATE DATABASE' eine neue Datenbank anlegt, wird eine Datenbank (die über den Parameter TEMPLATE angegeben wird) geclont.

Ein Schema ist sozusagen ein Container für Datenbankobjekte wie Tabellen, Views, etc.
In anderen Datenbanksystemen (z. B. Oracle), wird für jeden Benutzer auch ein Schema angelegt - dies ist bei PostgreSQL nicht der Fall.

Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

pferdefreund
Beiträge: 3799
Registriert: 26.02.2009 14:35:56

Re: Verständnisfragen zu PostgreSQL

Beitrag von pferdefreund » 31.03.2014 07:02:31

Herzlichen Glückwunsch zu Postgresql. Ist ne geile Datenbank und bei mir schon seit Jahren im Einsatz. Sehr schön ist auch das High-Level-C-Programmierinterface wie bei z. B DB/2 oder Oracle per exec sql... usw. Auch die serverseitige Script-Sprace pgsql ist nicht zu verachten.
Performant ist das Teil eh und dazu auch nicht von Fremdfirmen wie z. B Oracle abhängig.

hawkeye78
Beiträge: 430
Registriert: 10.09.2004 17:02:01
Wohnort: castrop-rauxel

Re: Verständnisfragen zu PostgreSQL

Beitrag von hawkeye78 » 31.03.2014 08:08:03

@shoening
Das klingt auf jeden Fall logischer als mein Ansatz, jetzt bleibt glaube ich nur noch die Frage über wofür domains gut sind. Aber ich glaube fast ich liege mit meiner Vermutung das man damit eine eigenen Wertebereich (also indirekt eigene Datentypen) festlegen kann nicht ganz falsch

@pferdefreund
Danke, aber ich glaube die Performance muss ich im moment als Aspekt noch nicht betrachten. Ich will vor allem lernen wie das Konzept hinter PostgreSQL funktioniert den es unterscheidet sich ja schon deutlich von dem von MySQL.
I love deadlines. I like the whooshing sound they make as they fly by - Douglas Adams

Benutzeravatar
shoening
Beiträge: 917
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Verständnisfragen zu PostgreSQL

Beitrag von shoening » 31.03.2014 08:26:01

Hi,

dein domain Verständnis deckt sich mit dem, was die man-page (zu create domain) sagt:
A domain is essentially a data type with optional constraints (restrictions on the allowed set of values).
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Antworten