Zum Inhalt springen

flashpixx

Mitglieder
  • Gesamte Inhalte

    8302
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von flashpixx

  1. Er meinte hier sicher nicht die redundante Speicherung sondern wohl eine m:n Beziehung. Prüfe vielleicht noch einmal Dein ERD und die normalisierten Tabellen ggf. einmal posten. Dann vielleicht noch einmal zu überdenken wie der Suchalgo funktionieren soll HTH Phil
  2. Evtl nimmst Du die einzelnen Abfragen auseinander und verpackst das in der Datenbank als Stored Procedure, die Du dann von außen aufrufst. Ich kann da leider zu mySQL nicht viel sagen, ich habe das nur mal unter Postgres gemacht und das dann mit Hilfe von PLSQL und Python innerhalb einer Procedure verwendet. Der Aufruf der Procedure kam dann via ADODB von außen. LG Phil
  3. Schade, ich dachte das Dinge und er nimmt dann intern den passenden Index. Dann musst Du den Select wohl komplett einfügen
  4. Dass Du keinen Index auf einen View setzen kannst ist klar. Nur das Match-Against müsste auch auf einem View funktionieren und es verkürzt für den Test das komplette Statement. Wenn es dann klappt, würde ich mir die Laufzeit mit explain mal einmal über den View und einmal über dem Statement + das Match anzeigen lassen. Kein Problem, mich interessiert das auch gerade Phil
  5. Wo ist das Problem? "ich bekomme das nicht hin" / "funktioniert nicht" ist keine aussagekräftige Hilfe Phil
  6. Ja, weil es dann keine normalisierten Tabellen sind und auch eine Datenbanktabelle kann nicht in die Unendlichkeit wachsen. Mir sind Tabellen mit 200 Stringfeldern untergekommen, wo man sich beklagt hat, warum es nicht noch 20 Felder mehr sein können. Das Modell war völlig falsch. Mach ein passendes Modell, aus dem Du dann eine Tabellenstruktur in der 3. Normalform entwickelst. Phil
  7. Nur damit wir hier nicht noch einmal den gleichen Thread aufrollen siehe bitte Forum Fachinformatiker.de - Einzelnen Beitrag anzeigen - Daten in Access von anderer DB importieren 3. Absatz Thx Phil
  8. Also im Moment ist es ein bisschen schwer zu erkennen wo was bei Dir steht: Ich gehe mal davon aus Name und Vorname stehen auf der Künstlertabelle und Album auf der Album Tabelle. So wie ich das sehe unterscheiden sich dann Deine Selects nur innerhalb des Match. Im Grunde wäre ja einmal die führende Tabelle für das Match gegen den Namen die Künstlertabelle und einmal der Titel auf der Albumtabelle (somit wäre das einmal from Kuenstler und einmal from Album). Ich würde folgendes versuchen: Ändere mal den Select so ab, dass es ein Join wird. Hinterlege den einmal als View in der DB und auf den View machst Du die Volltextsuche Habe leider grade kein Bsp wo ich das mal selbst testen könnte HTH Phil
  9. Schuss ins blaue, müsste das nichit "Before Delete" sein? Ein Datensatz wird gelöscht. D.h. er ist noch da, nun hängst Du die Referenzen um, in dem Du aus dem zu löschenden die ID liest und in die Kinder schreibst. Erst wenn das durch ist, löschst Du den Datensatz weg HTH Phil
  10. Ich bin davon ausgegangen (Original Post: SELECT @@identity), dass er durch die Datenbank generiert wird und dann wäre das Vorgehen ja: Datensatz einfügen, ID lesen, ID in das zweite SQL Statement einfügen (oder das ganze als Stored Procedure verpacken und es direkt in der Datenbank machen). Phil
  11. Ich habe mal schnell in der 5.1er Referenz zu mySQL nach geschlagen: MySQL :: MySQL 5.1 Referenzhandbuch :: 12.7.1 Boolesche Volltextsuche Im Grunde soll doch bei diesem Select in Titel, Vorname und Nachname nach "knopfler mark sailing to philadelphia" gesucht werden. Warum dann 2 Selects? Müsste die Where Bedingung nicht "where MATCH (Titel, Vorname, Nachname) AGAINST ('knopfler mark sailing to philadelphia')" lauten und den Select würde ich mit einem Select * from Album Join .... Where formulieren. HTH Phil
  12. Also Python ist eine ganz feine Sache, gerade was die OOP Design Patterns angeht. PHP ist halt schnell zu lernen, Perl, sorry aber nichts über die Stringfunktionen von Perl (die sind nur genial). Natürlich kannst Du auch C/C++ verwenden, wenn es der Server unterstützt. Aber ich würde Dir für den Anfang ein *AMP empfehlen. Dann hast Du mal mySQL und PHP. HTH Phil
  13. Hallo, ah okay ;-) Also ich weiß jetzt nicht mit welchem DBMS du arbeitest, aber ich habe mal vor Ewigkeiten für Postgres eine auf Fuzzy Logik basierte Volltextsuche gesehen. Wenn Du dich auf das DBMS noch nicht 100%ig festgelegt hast, dann würde ich das empfehlen. Für die Anbindung kann ich von PHP nur wirklich die ADODB empfehlen, denn die konkrete Umsetzung auf den Datenbankspezifischen SQL Syntax macht dann die ADODB für dich. Ich müsste aber bei Interesse noch einmal genauer nachsehen. Wie die Volltextsuche unter mySQL ist weiß ich nicht. Hier in meinem Fall ging es um Longtext Felder, in denen eine komplette Suche bis runter auf einzelne k-Tupel möglich sein musste Phil
  14. Was hat das jetzt damit zu tun? Wie komplex Deine Abfrage ist, spielt doch keine Rolle, es geht doch hier um die Where-Bedingung. Mir ist noch nicht so ganz klar "wie" Du suchen willst. Also eine Volltextsuche auf Namen, Album usw? Phil
  15. Hallo, nur eine Frage zum Verständnis: Sieht dann die Schnellabfrage bei Dir so aus "select * from tabelle where künster=$kuenstler or album=$album" und für die erweiterte dann eben mehrere Bedingungen? Evtl könnte Dir da die ADODB (ADOdb Database Abstraction Library for PHP (and Python) for MySQL, PostgreSQL, Microsoft SQL Server, Oracle, Firebird, Interbase, LDAP, Access, VFP, DB2 and many other databases) etwas helfen, damit ginge dann: if ($schnell) $data = array("kuenstler" => $kuenstler, "album" => $album); else $data = array( mehr inhalt ); $sql->query("select * from tabelle where ".implode("like %?% or", array_keys($data)), array_values($data)); mit der Hoffnung dass ich es richtig verstanden habe HTH Phil
  16. Vielleicht würdest Du damit beginnen, einmal die Fragen, die Du stellst in entsprechender Fachliteratur nach zu schlagen bzw. Grundlagen zu lernen, denn dann würdest Du solche Fragen erst gar nicht stellen. Eine Tabellen Struktur wird genau einmal definiert und nicht einfach on-the-fly ein paar Felder dazu gebaut. Lies Dir mal wenigstens die Wiki Artikel über Normalisierung Normalisierung (Datenbank ? Wikipedia) und über das ERM Entity-Relationship-Modell ? Wikipedia durch und überlege, ob Dein Modell korrekt ist. Die Antwort auf Deine Frage werde ich bewusst auslassen, denn solche Projekte enden fast immer damit, dass dann ein Nachfolger extrem viel Arbeitsaufwand in das Redesign stecken muss. Ich bin der Meinung, dass es kein Problem darstellt zunächst ein passendes Modell zu entwickeln. Meine gesamten Postings über die 2 Threads sind konstruktiv, denn sie zeigen Dir einen Weg auf, den Du gehen kannst. Du möchtest, entgegen des fachlichen Rates, nach eigenen Strukturen diese Datenbank aufbauen, ohne Dir die Grundlagen anzueigenen. Aufgrund aller Post würde ich mich hinsetzen und entweder die entsprechenden Dinge lernen oder eben das Projekt von jemanden anderen betreuen lassen. Phil
  17. Ich hatte dem OP mehrfach schon geraten die Grundlagen des Datenbankdesigns zu lernen, deshalb ist dieses nicht ungewöhnlich Phil
  18. Also VFP ist es wirklich nicht. Aber ich habe eben noch mal in meinen alten Pascal Quellcodes geschaut. Es könnte sich auch über Dateien der BDE (Borland Database Engine) handeln (Borland Database Engine ? Wikipedia). Evtl eben die Engine installieren und die Daten raus holen Sorry, im Moment bin ich etwas ratlos HTH Phil
  19. fein spricht etwas dagegen es so zu machen? Mach ein Feld "Jahr" in die Tabelle, das Du dann passend füllst, aber normalerweise haben Buchungsdatensätze ein Buchungsdatum, mit dem Du direkt arbeiten kannst Nein, und 500 Datensätze sind nicht viel. Wenn Du mal in die Größenordnung 10^4, 10^6 Datensätze kommst, dann würde ich mir Gedanken machen. Datenbanken sind für riesige Datenmengen gedacht Phil
  20. Für mich stellt sich die Frage, ob der Fehler in der Anwendung oder im DBMS liegt. Ich würde hier (aus Erfahrung) tippen, dass hier ein SQL Select "mal schnell" geschrieben wurde und eben Probleme mit der Lokalisierung auftreten. Aber ohne irgendwelche Infos, kann niemand helfen. Was unterscheidet Deine lokale Installation mit der vom Server? Wie sieht das SQL Select aus usw. Du musst erst einmal diese Fragen klären, damit man konkret helfen kann. Phil
  21. Du musst über die gleiche Verbindung die eingefügte ID bestimmen, evtl hilft das weiter Redirect to the most recently inserted record? HTH Phil
  22. Es wäre ja zu viel verlang mal bei Wikipedia nach zu schauen: Macrovision ? Wikipedia Evtl erklärt das Deine Bildstörungen
  23. Macrovision?
  24. Ich habe mal eben versucht die Dateien mit Visual FoxPro 9.0 (SP2) zu öffnen, leider sind es keine Datenbankenm / Tabellen für VFP bzw es ist noch älter so dass VFP nicht öffnen kann. Frag doch mal beim Hersteller der Software wegen eines Exportes an. Falls das nicht die vollständige Datenbank war, evtl noch mal bitte die komplette Datenbank online stellen oder mir mal eine PM schicken HTH Phil
  25. Bitte das nächste mal die Suchfunktion benutzen. Wenn Du über 18 bist, dann ist das absolut korrekt. Dir wird sowohl die Fahrzeit zu Deinen Arbeitsstelle mit gerechnet, d.h. wenn Dein Arbeitstag bis 19 Uhr geht, dann musst du z.B. nach 15 Uhr (Schuleende) wieder ins Büro Phil

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...