Anlage großer Kontaktdatenbank

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Tinker
Beiträge: 5
Registriert: Di, 01.08.2006 16:30

Anlage großer Kontaktdatenbank

Beitrag von Tinker »

Hallo alle!
Habe mich schon durchs Forum gelesen, aber konkret bin ich nicht schlau geworden. Es gibt ähnliche Anfragen, aber wie es halt so ist will jeder natürlich speziell dies und das. Ich ja auch, hehe.

Ich will für eine neu gegründete Firma eine Kontaktdatenbank aufbauen, die möglichst viel erfasst, und die Daten nach Bedarf ausgeben kann.
Bisher ist mein Plan, eine große Tabelle anzulegen in der alle Daten drin sind, und dann mit verschiedenen Abfragen, und 1-3 expliziten Suchformularen die Daten abzufragen

Struktur der Kontakttabelle:
Die Standards sind drin (Name, Vorname, Telefon etc.), jeder Kontakt bekommt aber auch eine Gruppe, und in dieser Gruppe eine Position (z.B. Gruppe "Presse", Position "Fotograf"). Das soll ermöglichen, dass zB alle Pressekontakte in einer Liste ausgegeben werden können, oder nur Fotografen.
Die Kontakte werden mit der Zeit sicher an die 1000 und mehr werden, also eine Riesentabelle. Ist das zuviel? Dauert die Abfrage zu lange? Hat da jemand Erfahrungswerte, bzw. andere Vorschläge für die Struktur der Basisdatensammlung?
Fällt mir nochwas ein: Was ist die einfachste Möglichkeit, eine anders strukturierte Tabelle mit der Datenbank zu verknüpfen, und die Ausgabe der relevanten Felder in meinen Abfragen zu berücksichtigen?

Eingabe / Datenerfassung
Die Eingabe soll über ein Formular laufen, das ist ja erstmal kein Problem.
Aber: Was für eine Möglichkeit gibt es, im Eingabeformular zu verhindern, dass ein schon erfasster Kontakt nochmal erfasst wird?
Stichwort Primärschlüssel: Gibt es die Möglichkeit eine versteckte Nummerierung der Datensätze zu machen? Auf so eine Nummerierung würde ich gern den Primärschlüssel legen, da ich bisher für kein anderes Feld garantieren kann, dass immer und unterschiedliche Einträge gemacht werden.

Suche:
Erstmal soll es ein Suchformular geben, in dem ich eine beliebige Suchanfrage starten kann. Derzeit helfe ich mir mit dem Symbolleisten-Button "Datensatz suchen", und der Datensatz wird in einem Formular ausgegeben. Das ist aber nur eine Überbrückungslösung und nicht schön.
Ziel: Ich kann in einem Formular (Felder entsprechen der Tabelle, bzw. Freitextsuche) suchen, und bekomme das Suchergebnis in einer Tabelle ausgegeben, oder hübschem Formular. Dabei sollen natürlich mehrfache Nennungen berücksichtig werden, also Suche nach "Düsseldorf", oder "Meier", oder "22".
Gerade da soll der Komfort der Datenbank liegen, aber ich als Neuling habe gerade keine Ahnung wie ich das gestalten kann.

Beim Lesen hier im Forum habe ich auch schon mitbekommen, dass Ende August ein Buch zu Base veröffentlicht wird. Leider ist das zu spät für mich, da unsere Erfassung gerade läuft (aus vorhandenen Tabellen, aus vorhandenen Adressbüchern, aus Listen, Zetteln und Visitenkarten). Ende des Monats sind die Kräfte stärker gebunden und wir können uns hier nicht mehr so intensiv damit beschäftigen wie jetzt (+2 Wochen).

Daher bin ich froh über jede Hilfestellung, und freue mich auch über Anregungen und Vorschläge für alternative Herangehensweisen.
Ich weiss, dass ich hier mit einem Riesenfass reinplatze, aber ich will die "mach das doch in access"-Stimmen zum verstummen bringen, und die MS-Office-Benutzer von OO überzeugen.

Danke schonmal im Voraus!!

Christian
Tinker
Beiträge: 5
Registriert: Di, 01.08.2006 16:30

Beitrag von Tinker »

Gut gut gut... 24h, 26 Views, keine Antwort, bitte spezifizieren.
Wird gemacht.

Am wichtigsten ist mir die Suchfunktion, da steh ich echt auf dem Schlauch. Basis-Tabelle, Abfragen, Berichte bekomm ich so lala hin.
Also: Suchfunktion

Plan:
- Ein Formular in dem ich in Eingabefeldern oder Dropdowns bestimmte Suchkriterien eintragen/auswählen kann. Das Formular besteht aus den wichtigsten Tabellenspalten wie Name, Gruppe, und einem Freitextteil mit dessen Hilfe ich auch die "Kommentar"-Spalte absuchen kann, z.B. nach "blöd" oder "toll"
- Die Ausgabe soll dann allerdings alle Spalten enthalten, also Telefon, E-Mail, eben alles. Das Ergebnis der Abfrage soll in einem Popup oder in einer neuen Tabelle auftauchen, auf jeden Fall sofort einsehbar mit allen evtl. Mehrfachnennungen.
- Nach Absenden der Suchanfrage soll das Suchformular wieder leer sein.

Ich bitte nochmal um Hilfe, oder wenigstens um einen Hinweis auf Tutorien, andere Threads, oder weitere Hilfeseiten. Ich bin bisher in Bezug auf die Konstruktion dieser Suche nicht fündig geworden.
Mit der Erfassung der Daten kann/will ich nicht beginnen, bevor ich nicht eine vernünftige Suche habe, denn sonst ist vielleicht alles umsonst.

Lieben Dank,

Christian
Mihilist
****
Beiträge: 120
Registriert: Di, 25.04.2006 15:27
Wohnort: Nürnberg
Kontaktdaten:

Beitrag von Mihilist »

Vielleicht solltest du dich erstmal allgemein mit den Möglichkeiten deiner DB auseinandersetzen, bevor du mit OO-Base darauf zugreifen willst...? *tipgeb*

;)

Also: Base ist keine DB, sondern greift auf eine bestehende DB zu. Daher solltest du dir erstmal überlegen, was du für eine DB hast/brauchst/willst, und dann schauen, was die DB kann. Alles was die DB von alleine kann brauchst du nicht selber machen :)

Für den Fall, dass du das schon getan hast, so hast du uns die Information vorenthalten, welche DB du benutzt - wäre uU hilfreich.
Tinker
Beiträge: 5
Registriert: Di, 01.08.2006 16:30

Beitrag von Tinker »

Daher habe ich mich ja offensiv als Anfänger geoutet. Grundsätzlich würd ich am liebsten auf die Base-interne zugreifen, damit ich auch anderen nur OO aufspielen muss, damit sie die Daten nutzen können.
Habe mittlerweile mitbekommen dass man auch andere nutzen kann (mysql etc.). Daher habe ich mein Vorhaben auch (hoffentlich) halbwegs genau geschildert, um Raum für Empfehlungen oder Ratschläge von den Profis zu eröffnen.
Mihilist
****
Beiträge: 120
Registriert: Di, 25.04.2006 15:27
Wohnort: Nürnberg
Kontaktdaten:

Beitrag von Mihilist »

Also ich arbeite mit eine MySQL-DB, und soweit ich weiß ist die integrierte DB, die man mit Base erzeugen kann, wenig komfortabel und - was erheblich schlimmer ist - nicht multi-user-tauglich. Das heißt: Ein Benutzer öffnet die DB, und alle anderen können bestenfalls noch lesen, aber nimmer schreiben :D

Ich würde zu MySQL raten, und wenn du dich ein wenig mit den Möglichkeiten von MySQL auseinandersetzt werden sich viele deiner Probleme in Luft auflösen.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Beitrag von komma4 »

Auf jeden Fall so etwas mit einer externen DB lösen (hier klappt's auch mit PostgreSQL prima).
Die verkraften 1000 records in einer Tabelle spielend.
[Das sind keine Mengen!]

Was Du sonst noch so vorhast: machbar ist Vieles. Viel Glück, das Du [als Anfänger?] das in den verbleibenden zwei Wochen bis zur Eröffnung [?] schaffst.

Meine Erfahrung beim Aufbau einer DB ist: am Besten mit native SQL arbeiten, also keine Tabellen "mit der Maus" designen, sondern Code schreiben.
Der lässt sich leicht ändern, kann wiederholt werden (auch als Vorlage dienen), in andere SQL-Dialekte übersetzen, ... "Mausklicks" lassen sich nicht sichern.

Ach ja, noch ein Tipp: denke an Datensicherungen!
Die Erfassung der Daten macht die meiste Arbeit.
Viel Erfolg
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten