• 28.04.2024, 04:57
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

frage bzgl sql datenbanken

Sonntag, 15. Januar 2006, 20:41

nabend,

ich spiele mit dem gedanken eine sql datenbank anzulegen und habe jetz ein paar grundlegende fragen:

wir sollen (vorgabe der uni) den zugriff auf die db via visual basic.net herstellen.. wie man das macht, daten hinzufügt, ausliest, etc das weiß ich alles, meine frage betrifft eher die kompatibilität..

1. wenn ich jetz einmal so ne db gemacht hab, kann ich dann mit jeder programmiersprache darauf zugreifen, und die db benutzen (vorausgesetzt ich behersche die programmier sprache)?

2. wir benutzen hier borland interbase (wiederum vorgabe der uni) als direktes datenbank interface.. hat das irgendwelche auswirkungen auf die kompatibilität ? oder sollte jede datenbank, die man erstellt, grundsätzlich mit allen db managment softwares kompatibel sein ?

gibt es andere (bessere) alternativen zu borland ? weil irgendwie mag borland interbase nur datenbanken mit der endung .ib .. ich kenne aber eigtl eher .sql ?

danke,
messi

Re: frage bzgl sql datenbanken

Sonntag, 15. Januar 2006, 20:56

Für alle großen DBMS gibt es Libs, um von diversen Programmiersprachen drauf zuzugreifen.

Re: frage bzgl sql datenbanken

Montag, 16. Januar 2006, 12:40

1. für nahezu alle datenbanken gibt es unter windows sogenannte ODBC Treiber. Nomen est Omen. Mit WAS Du da zugreifst, ist völlig egal.

Komplex wird es erst, wenn man die Parameter seiner DBA anpassen muss um entsprechendes Antwortverhalten und Caching vorzusehen. Komm mir aber da nicht mit Pauschalfragen ;)

2. borland interbase. bäh.
was soll die formulierung "....direktes datenbank interface..." ? Isses nun Borland oder nich ?? Auswirkungen hat Borland immer. Deswegen gibts ja von denen eine eigene Entwicklungsumgebung für DBAs.

Datenbankdesign bzw. Datenbankscripte hängen in der Basis wesentlich von der verwendeten Datenbank ab. Klar macht es da Unterschiede, ob Du entweder MS-SQL oder z.B. Oracle einsetzt. In den Grundbegriffen des SQL sind beide (bedingt) kompatibel, aber auch da kanns Ärger geben. Z.B. hat MS-SQL keinen Trouble mit kleingeschriebenen Tabellennamen während Oracle da sehr wohl zu spinnen anfangen kann usw usw usw....

Scripte können modifiziert werden, um dann an entsprechende DBA konvertiert zu werden. Allerdings hat das schnell ein Ende, wenn Du Package Bodies oder Trigger programmierst. Ganz abgesehen von sog. VIEW-Prozeduren usw.

Ich empfehle Dir als Management tool bei wirklich komplexen Vorhaben den TOAD von Quest Software.

Re: frage bzgl sql datenbanken

Montag, 16. Januar 2006, 13:35

.sql wird oft als Endung für SQL-Scripte/-Schemata/-Dumps (d.h. Export von Daten z.B. in wieder importierbare INSERT INTO-Statements) verwendet. Die eigentlichen Daten liegen aber in Dateien mit anderen Endungen, die auch gar nicht von Belang sind. Es gibt allerdings DBMS wie SQLite, das die Daten direkt in Flatfiles speichert, so dass es da schon zum Laden wichtig ist, den Dateinamen zu kennen.

Wie Chewy schon sagte gibt es eine gewisse Teilmenge von SQL (mehrere Versionen des ANSI-Standards, u.a. 99 und 2003), die die allermeisten DBMS idR vollständig implementieren. Dazu kommen aber teils gravierende Unterschiede und Ergänzungen bei den Datentypen (z.B. bei Oracle nimmt man gewöhnlich eher VARCHAR2 als das bekannte VARCHAR) und Funktionen (Datumsberechnung, Stringverarbeitung u.v.m.). Auch die Syntax selbst unterscheidet sich manchmal in Details, Dinge wie LIMIT sind sogar nicht in allen Systemen (u.a. Oracle) zu finden. Zudem gibt es diverse eigene oder standardisierte Erweiterungen (Subqueries, Trigger usw.) die nicht alle DMBS unterstützen oder nur ab bestimmten Versionen (MySQL kann z.B. Subqueries erst ab 4.1 und afaik Trigger ab 5.0).


Wenn du z.B. aus PHP auf eine MySQL-Datenbank zugreifen willst, geht das über die mitgebrachten mysql_*-Funktionen - für viele andere Systeme gibt es entsprechende Funktionsmengen (Firebird/Interbase ist allerdings experimentell).
Zum Zugriff unter z.B. Python gibt es für MySQL das Paket 'MySQLdb', von Java oder .NET sprichst du MySQL mit dem 'MySQL Connector/J' bzw. 'MySQL Connector/Net' an usw.

Re: frage bzgl sql datenbanken

Montag, 16. Januar 2006, 15:30

okay, das hilft mir n stück weiter.. werde mir aufgrund der hohen verbreitung mal mysql näher anschauen, weil ich (denke ich zumindestens) nur standartanforderungen an die database stelle.

messi

Re: frage bzgl sql datenbanken

Montag, 16. Januar 2006, 17:42

Zitat von »Y0Gi«

(MySQL kann z.B. Subqueries erst ab 4.1 und afaik Trigger ab 5.0).

Trigger endlich seit version 5 :)

Bin leider noch nicht dazu gekommen die mal zu testen, obv die auch was taugen...

Zitat



Wenn du z.B. aus PHP auf eine MySQL-Datenbank zugreifen willst, geht das über die mitgebrachten mysql_*-Funktionen - für viele andere Systeme gibt es entsprechende Funktionsmengen (Firebird/Interbase ist allerdings experimentell).
Zum Zugriff unter z.B. Python gibt es für MySQL das Paket 'MySQLdb', von Java oder .NET sprichst du MySQL mit dem 'MySQL Connector/J' bzw. 'MySQL Connector/Net' an usw.

Für c++ gibt es mysql++ :)
c++: The power, elegance and simplicity of a hand grenade.