Zum Thema Sport lassen sich durchaus komplexe Geschichten umsetzen.
(Fussball / Formel 1 / Handball ect). Besonders kann man unendlich viele
Statistik-Reports bilden.
Hi,
Disclaimer: Ich habe sehr wenig Erfahrung mit MSSQL, ich bin Postgres bzw. notfalls Oracle-User und muss auch öfters mit MySQL hantieren als mir lieb ist.
SideWinder schrieb:
und eine öffentliche die dann quasi das Endergebnis zusammenjoint? Ist das performant?
Das hörst Du jetzt vermutlich nicht gerne, aber das wirst Du ausprobieren müssen.
Normalerweise sollte sowas schon recht schön performant machbar sein, wobei es natürlich stark davon abhängt, wie Deine jeweiligen Joins aussehen. EXPLAIN (PLAN) sollte ab jetzt zu Deinem engsten Freundeskreis gehören.
(Bei MSSQL wirst Du nach SHOWPLAN_ALL googeln wollen, IIRC.)
Aber: Ich mag zusammengelayerte Views sehr gerne, wenn nicht gerade irgendwas dagegenspricht, sowas zu verwenden.
Hi,
ich stehe vor folgendem Problem: In einer nativen C++-Anwendung (programmiert mit VS 2008) soll auf eine passwortgeschützte mdb-Datei (d. h. Access-Datenbank) zugegriffen werden. Dabei sollen keine Änderungen am System vorgenommen werden oder besondere Rechte nötig sein. Am besten sollte die verwendete (kostenlose) Bibliothek sich komplett in meine exe integrieren.
Leider habe ich keine Ahnung von Datenbanken. Die Versuche, die in der FAQ erwähnten ODBC-Wrapper zu verwenden, scheiterten:
- DTL ist veraltet.
- Bei SOCI 3.0 fehlt die Hälfte der Dateien und SOCI 2.2 kompiliert nicht wegen char/wchar_t-Konflikten.
- OTL kompiliert zwar, aber ich bekomme keine Verbindung zur Datenbank hin, ohne erst was an den Systemeinstellungen (DSN) zu ändern. Alle anderen Versuche werden mit
[Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und
es wurde kein Standardtreiber angegeben
IM002
quittiert.
Für Lösungsvorschläge wäre ich sehr dankbar.
MfG
Michael E.
Hm. Das habe ich fast befürchtet. Nagut, dann wird uns wohl nix anderes übrig bleiben, als es ausserhalb der datenbank zu lösen.
Wenigstens kann ich die entsprechenden einträge per regexp suchen. Das erleichtert die Sache doch enorm.
Trotzdem vielen Dank fürs Gedanken machen!
Also es sind keine Surrogate-Keys. Die Anforderung dass die "Werks-Nummern" für jeden "Autor" bei 1 anfangen impliziert das ja bereits (bei einem Surrogate-Key wäre es vollkommen egal wo der anfängt und wie er "zählt").
Hmpf.
Lücken sollen nicht aufgefüllt werden.
Und Nummern dürfen auch nicht neu vergeben werden. Selbst wenn es keine FKs mehr gibt die auf eine Nummer referenzieren, da es ausserhalb der Datenbank noch "verweise" auf die Nummer geben könnte.
Ich gehe auch davon aus, dass die "Werke" nie gelöscht werden dürfen. Demzufolge wäre ein Neu-Vergeben auch garnicht möglich.
Trotzdem habe ich bei "MAX() + 1" immer ein etwas ungutes Gefühl.
Was die Frage "sollte die Nummer Bestandteil des Primärschlüssels sein?" angeht: mir erstmal vollkommen egal, da die "Werksnummer" (mit den beschriebenen Eigenschaften) trotzdem benötigt wird. Irgendwie müssen die "Werksnummern" also auf jeden Fall generiert werden, ganz egal ob man zusätzlich dann noch einen Surrogate-Key verwendet.
nman schrieb:
Ihr habt auf einen Post geantwortet, der über fünf Jahre alt ist.
(Verräterisch: rüdiger empfiehlt "PHP oder Perl mit MySQL". ;))
Autsch. Wenn du möchtest, darfst du meinen Post gerne entfernen.
Gibt es eine Möglichkeit, eine ADO Connection (*kein* ADO.Net!) so einzustellen, dass sämtliche Statements/Commands/... sofort fehlschlagen, wenn keine explizite Transaktion mehr offen ist?
DBMS ist der SQL Server 2005.
Würde mir sehr helfen.
Ich benutze eine PostgreSQL Datenbank und will sie per psycopg2 und Python ansprechen. Dies funktioniert auch so weit ganz gut.
Nun möchte ich aber wissen wie viele Zeilen während eines updates verändert wurden. Wenn ich den Query in psql ausführe, dann kriege ich ein Feedback der Art "UPDATE 4" wobei 4 die Zahl der veränderten Zeilen ist.
Wie komme ich in Python an diese Information?
ich denke eine Threadid alleine sollte hierfür auch ausreichen. es ist ja keine baumstruktur, sondern nur eine liste. und wenn man nach timestamp sortiert sollte die korrekte nachrichtenfolge wiedergegeben werden
der_burner schrieb:
mhh, stimmt XML ist doch was tolles
Bei SQLite und firebird, braucht der Client der später das Programm ausführt noch irgendwas, muss der evtl. die auch installieren?
sqlite liegt direkt deinem Programm bei. Afaik ist das nur eine zusätzliche dll, die im Programmpfad liegen muss.
Gibts für MySQL auch, wenn mich nicht alles täuscht
Es gibt beim Erstellen/Ändern von Tabellen table-constraints und column-constraints. Einen zusammengesetzen Primschlüssel kann man nur als Tabellen-Constraint angeben:
ALTER TABLE Buch ADD PRIMARY KEY (ISBN ,EAN )
CREATE TABLE Buch (
ISBN varchar(32) NOT NULL,
EAN varchar(32) NOT NULL,
PRIMARY KEY (ISBN ,EAN ))
So kannst du auch in deinem zweiten Beispiel die drei Tabellen anlegen und dann die Fremdschlüssel definieren.
Cool danke für die hilfe habs grad getestet und funktioniert
nur mit der Ausnahme dass es nich res.getString() heißt sondern res->getString
aber egal nochmal dickes thx
Gruß Redhawk