FIAE - Python Projektantrag

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: FIAE - Python Projektantrag

Beitragvon gerold » Dienstag 13. Februar 2007, 09:52

de_master hat geschrieben:was habe ich denn bei PostgreSQL für Vorteile?

Hi Michael!

Die meisten Unterschiede kommen erst bei größeren Anwendungen zum Tragen. Das fängt damit an, dass die Unicode-Unterstützung bei psycopg2 spitzenmäßig funktioniert und das schon seit mehreren Versionen. Die Lizenz bei PostgreSQL ist einfach und durchschaubar. Bei MySQL weiß ich immer noch nicht, ab wann ich Lizenzgebühren an MySQL-AB zahlen muss. PostgreSQL kann schon lange mit Transaktionen, Triggern, Prozeduren, Views und Foreign Keys umgehen. Bei MySQL wurden einige dieser Dinge erst viel später und das auch nicht zu jedem Tabellentyp hinzuprogrammiert.

PostgreSQL beherrscht die eingebaute Sprache PL/PGSQL, was der Sprache von Oracle ziemlich nahe kommt. Es gibt sogar Projekte, die sich erfolgreich zum Ziel gesetzt haben, PostgreSQL so umzuprogrammieren, dass es sich nach ausen wie Oracle anfühlt.

Es gibt von psycopg2 auch ein officielles Release für Windows und Python 2.5: http://www.stickpeople.com/projects/pyt ... index.html

Sinnvolle Erweiterungen gibt es bei psycopg2 auch: http://www.initd.org/tracker/psycopg/wi ... umentation

Dann sollte man nicht vergessen, dass der PostgreSQL-Server, verbundene Clients über Ereignisse benachrichtigen kann. Auch das wurde in psycopg2 umgesetzt, auch wenn ich es noch nie eingesetzt habe.

Wenn man ORMs einsetzt, dann kann man von vielen dieser Features wahrscheinlich nicht profitieren. Dann ist es auch ziemlich egal, welches Datenbanksystem man verwendet.

Und zum Abschluss noch ein Auszug aus Wikipedia:
PostgreSQL ist eines der ältesten und am weitesten fortgeschrittenen objektrelationalen Datenbanksysteme (ORDBMS) im Bereich der freien Software.

PostgreSQL ist weitgehend konform mit dem SQL92/SQL99/SQL2003-Standard, d. h. alle in dem Standard geforderten Funktionen stehen zur Verfügung und verhalten sich so wie vom Standard gefordert; dies ist bei manchen kommerziellen sowie nichtkommerziellen SQL-Datenbanken bisweilen nicht gegeben.

mfg
Gerold
:-)

PS: Nein, ich wollte eigentlich nicht so viel dazu schreiben. :-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
de_master
User
Beiträge: 72
Registriert: Samstag 15. Januar 2005, 15:19

Beitragvon de_master » Dienstag 13. Februar 2007, 09:58

Ich schau mir das ganze mal an :).
Jedoch werd ich wohl entweder Oracle under MySQL benutzen. Im geschäft habe ich genügend Oracle u. MySQL Profis :). Für das Abschlussprojekt reicht eigentlich eine MySQL Datenbank.

Gruss Michael
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 13. Februar 2007, 10:37

Also ich würde einfach SQLAlchemy nutzten und somit unabhängig von der DB bleiben.

IMHO muss man eine Anwendung nur dann gezielt auf der DB zuscheiden wenn sie sehr groß ist und damit die Performances eine große Rolle spielt.

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 13. Februar 2007, 15:09

jens hat geschrieben:IMHO muss man eine Anwendung nur dann gezielt auf der DB zuscheiden wenn sie sehr groß ist und damit die Performances eine große Rolle spielt.

Meist muss man eine Applikation auf eine Datenbank zuschneiden, wenn eine Datenbank etwas bietet, was ORMs nicht tun. Und PostgreSQL bietet viele Sachen, die ORMs nicht unterstützen.
Ist nur die Frage - braucht mans?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 13. Februar 2007, 15:41

Leonidas hat geschrieben:Ist nur die Frage - braucht mans?

Genau das meine ich. IMHO braucht man all diese tollen Features nur dann, wenn man die Performance steigern möchte. Das braucht man aber eigentlich erst dann zu machen, wenn diese nicht ausreicht.

Im Grunde ist es das selbe wie [wiki]Python Performance[/wiki]

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Masaru
User
Beiträge: 425
Registriert: Mittwoch 4. August 2004, 22:17

Beitragvon Masaru » Dienstag 13. Februar 2007, 16:43

Hallo de_master,

mich würde einmal interessieren, ob du schon den Projektantrag abgeschickt hast.

Ich habe meine FIAE Abschlussprüfung Winter 2006 in Hamburg absolviert und wundere mich nur über ein paar Dinge.

Es hat nicht speziell etwas mit Python an sich zu tun, sondern mehr mit dem Umfang und der Form des Antrags selbst.

Letztendlich nämlich ist gar nicht einmal die tatsächlich Implementierung das Hauptaugenmerk der Prüfer, sondern vielmehr das ganze um einen Software/Lösungs-Schaffungsprozesses drum herum (also mehr die Punkte "wie, warum und womit", als das letztendliche "was").

Z.B. vermisse ich bei dem Kapitel "Projektphasen" Punkte wie:
- Evaluierung von Alternativen
- Kosten- Nutzenanalyse
- Qualitätssicherung
- etc.

Bei der Erstellung des Projektantrages findet man zudem recht gute Hilfestellungen unter: http://www.fachinformatiker.de/

Im dortigen Forum hat man auch die Möglichkeit seinen Projektantrag zu posten, und ihn den kritschen Blicken der Mitglieder (worunter Auszubildende, aktuelle und ehemalige Prüflinge, Ausbilder wie auch Prüfer von Handelskammern sich drunter befinden) auszusetzen.

Achja, ich habe auch Projekte gesehen, bei denen die Absolventen nicht einen Brocken "Code" entwickelt ... und sehr erfolgreich sogar bestanden haben ;).

Die Einholung von "pythonischen Tipps und Meinungen" :D ist eine gute Sache, jedoch hat der tatsächliche Implementierungsabschnitt einen eher kleinen Stellenwert in der Abschlussprüfung zum Fachinformatiker für Anwendungsentwicklung.

Gruß und auf jeden Fall viel Erfolg bei deinem Abschluss,
>>Masaru<<
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 13. Februar 2007, 16:47

jens hat geschrieben:IMHO braucht man all diese tollen Features nur dann, wenn man die Performance steigern möchte.

Nein - Trigger, Views, Stored Procedures, Foreign Keys haben wenig mit Performance zu tun. Das ist ja so als würde man sagen, dass man OOP nutzt, weil die Programme dann schneller laufen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder