1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Access oder SQL? Was soll ich verwenden?

Discussion in 'Office-Programme' started by motzkat, Nov 2, 2014.

Thread Status:
Not open for further replies.
  1. motzkat

    motzkat ROM

    Hallo zusammen

    Ich möchte mir eine (mehrfache) Datenbank(en) (mit Access als "Steuerprogramm") erstellen.

    Vorgaben

    Ich möchte:
    1.) Alle Videos (ca. 20.000 Stck.) die auf Festplatte(n) und DVD's vorliegen verwalten
    2.) Alle Musik (ca. 2.000.000 Stck.) die ich auf Festplatten, CD's und DVD's vorliegen habe verwalten
    3.) Alle Adressen, Kontakte, Telefonnummern etc. verwalten
    4.) Alle (selbst) gemachten Fotos/Bilder (ca. 5.000.000 Stck.) verwalten
    5.) Soll(en) die Dantenbank(en) flexibel, leicht bedien- und erweiterbar sein

    Verwalten heißt für mich: Erfassung, Bearbeitung, Löschung, Erweiterung aller/einzelner Daten.


    Meine Fragen

    Nun meine "dumme/n" Frage/n an euch:
    1.) Was empfehlt ihr mir? Nur Access oder Access mit SQL?
    2.) Sollte ich die Datenbank in so kleine Tabellen unterteilen dass z.B. bei Musik Interpret, Komponist, Titel und alle weiteren Angaben jeweils in einer eigenen Tabelle speicher? (Interpret = tblinterpret, Komponist = tblkomponist usw.)
    3.) Sollte ich die einzelnen Daten (Adressen, Musik, Videos, Fotos...) in einzelnen Datenbanken abspeichern oder wäre es besser sie per entsprechenden Tabellen, Abfragen, Berichten, Formularen etc. in einer einzigen Datenbank abspeichern? Der Vorteil einer einzigen Dantenbank wäre das man nicht ständig zwischen den Datenbanken wechseln müsste wenn man etwas hinzufügen, ändern oder sonst was machen möchte.
    4.) Um den Arbeitsaufwand zu minimieren würde ich gerne die Festplatten, Ordner etc. auslesen. Gibt es da irgend eine kostenlose (nicht engeschränkte) Lösung und wenn ja wie? (Bei den alten Officeversionen konnte man dies ja)


    Zu Frage 2.) ist mir die Erweiterbarkeit der jeweiligen Daten(bank) extrem wichtig da vielleicht auch noch weitere Daten hinzukommen.
    Zu Frage 3.) ist mir die Datensicherheit (unbefugte Zugriffe) und Sicherheit der Daten (Datenverlust) durch Programmabsturz o.a. extrem wichtig. (Backups werden regelmässig gemacht)

    Ich würde mich über reichliche Anregungen, Diskussionen etc. freuen und bedanke mich hier schon einmal im Voraus bei euch.

    LG

    Michael

    p.s.: Ich nutze Office 2010 und Windows 7. Der (Haupt)PC ist auch entsprechend Hardwareseitig ausgestattet dass auch umfassende Programme etc. laufen. 16 GB Hauptspeicher, 4x3,2 GHz, 1,5 GB Grafikspeicher, 20 TB Festplattenspeicher, nochmals 20 TB als NAS, 1000'er Netzwerk...
     
  2. Eric March

    Eric March CD-R 80

    1.) Was empfehlt ihr mir? Nur Access oder Access mit SQL?
    ..? Access ist ein Datenbank(software), SQL (wie der Name verrät) eine standardisierte [Ab]Frage Sprache.
    Ich kann mit der SQL von Access in Access Abfragen stellen, ich kann es über die eingebauten Funktionen verwirklichen. Mir ist der Gehalt der Frage nicht transparent.

    2.) Sollte ich die Datenbank in so kleine Tabellen unterteilen dass z.B. bei Musik Interpret, Komponist, Titel und alle weiteren Angaben jeweils in einer eigenen Tabelle speicher? (Interpret = tblinterpret, Komponist = tblkomponist usw.)
    »Das musst Du wissen!«.
    Ob ich dir anraten muss mal ein bisschen via Google in Datenbankdesign einzusteigen kann ich so nicht sagen… Mein Ansatz wäre immer der, dass es den ›Eindeutigen Bezeichner‹ gibt über den sich einzelne Tabellen verbinden lassen, Beziehungen aufbauen (›Relationale Datenbank‹). Was ist für dich der Aufhänger? Je vollständiger ein Datensatz ist desto weniger Zusatztabellen (die ich an was orientieren; Interpret, Komponist, Liedtitel..?)

    3.) […] Der Vorteil einer einzigen Dantenbank wäre das man nicht ständig zwischen den Datenbanken wechseln müsste wenn man etwas hinzufügen, ändern oder sonst was machen möchte.
    Nun halte mal eine Relationale Datenbank nicht für ein gar so großes Dummchen. Je nach dem wie du die Eingabe strickst wird das alles ordentlich in den Schubladen verstaut. Wie angedeutet, je zusammenhängender desto weniger Aufwand. Z.B. Kann ich in einer Firma Einkauf und Verkauf nicht in eine Topf werden, auch wenns Kunden gibt mit denen ich beides betreibe. Deine Sammlung scheint mir in der Tat recht eindimensional wo alles in eine Tabelle passen dürfte.

    4.) Um den Arbeitsaufwand zu minimieren würde ich gerne die Festplatten, Ordner etc. auslesen. Gibt es da irgend eine kostenlose (nicht engeschränkte) Lösung und wenn ja wie? (Bei den alten Officeversionen konnte man dies ja)
    Ob man das bei alten Officeversionen wirklich effizient konnte glaube ich aus dem Bauch raus nicht. Nun beschränkt sich mein musikalisches Empfinden auf den Klang des Essensgongs, aber Musikfans sollten SW anbieten können die alle Ordner abläuft und aus den MP3 (gehe ich mal von aus) alle Metadaten ausliest die es gibt, und das möglichst ordentlich sortiert. Das gibt eine Tabelle die du letztlich direkt an Access verfüttern kannst.
    Ob eine Software wie die gesuchte sogar selbst eine Datenbank enthält und dir den Aufwand mit Access spart muss du wissen.

    Eric March
     
  3. motzkat

    motzkat ROM

    Hallo Eric March

    Danke dir für deine schnelle Antwort.

    (Hmmmm... Wieso werde ich immer auf das aktuelle Datum (Monat/Jahr) mit meinen Beiträgen zurückgesetzt? TZTZTZ... *lach* Aber egal, das gehört nicht hierher.)
    Nur mal als Randbemerkung: Ich (be)nutze Computer schon seit 35 Jahren (Sinclair ZX81) und habe auch in der Gestaltung von Datenbanken etwas Erfahrung und mich diesbezüglich auch schon schlau gemacht, aber bisher noch nicht die Antwort(en) gefunden die ich suche bzw. die mir weiterhelfen würden. (Nein, das schreibe ich nicht weil ich mich beleidigt fühle sondern nur alle anderen, die eventuell antworten sollten, informieren möchte)

    Vielleicht sollte ich meine Frage dahingehend auch ändern/erweitern und fragen: Sollte ich eine rationale oder eine irrationale Datenbank erstellen oder nicht?
    Und Access kann nur EINE Datenbank öffnen und nicht mehrere. Alleine deswegen schon die Unterteilung in mehere Tabellen. Dass man praktisch alle Tabellen unter der "Rubrik"/den "Rubriken": Adressen / Videos / Musik / etc. hat. Z.B. tbladrname, tbladrvorn, tbladrgeburt,... sodass man anhand dieser Kürzel schon ersehen kann: tbladrname = Tabelle/Adressen/Name, tbladrvorn = Tabelle/Adressen/Vorname...
    Mit dem Befehl "dirlist" konnte man in der/den alten Officeversion/en Ordner/Direktories (bequem) auslesen. Mit Dirprint kann man das auch (ist SW) aber bei so großen Datenmengen hängt es sich bei mir jedes Mal auf bzw. liest mir nicht alles ein.

    Es gibt aber leider folgendes "Problem":

    Wenn ich ALLES in eine einzige Datenbank (Tabelle) schreibe wird diese so groß dass alleine das Öffnen aufgrund der Datenmenge eine halbe Ewigkeit dauert. Selbst wenn man einen leistungsstarken PC hat.
    Bei der Musik will ich praktisch "alles" erfassen: Interpret, Titel, Komponist, Sänger, Gitarrist, Keyboarder, Dirigent, Bitrate, Samplingrate, Kompressionsverfahren, Kodex (mp3, flac, ...), (Spiel)Dauer, min./max. Amplitudenlevel, Bewertung(en), gesichert als Backup, auf welcher CD/DVD/Blueray oder anderem Medium, orginal CD-Titel, Coverversion, Bild(er), Lyrik, Geschichte zur Band/zum Interpreten, Preis, Veröffentlichung (Jahr), Kaufdatum, Remastert, Version (Maxi-, DJ-, Radioedition, ...), Aufnahmeart (DDD, DDA, DAA, ...), Genre, Tempo, Stimmung, BPM, Tracknr., eigene Titel-ID, eigene Album-ID, Erfassungsdatum in Datenbank, Herausgeber/Produzent, Aufnahmestudio, Dateigröße, Freigabe im Netzwerk, (Netzwerk)Pfad, Stereo/Mono/Surround/5.1 Sound, eigene Klassifizierung(en), Soundtrack von/zu Film, Quelle des Musikstücks (CD/DVD/Blueray...), Songsprache, Texter, Webseite Band/Musiker/Komponist..., eigene Bemerkung(en).
    Bei den Videos ist es ebenso nur eben auf Filme abgestimmt: Regiseur, Schauspieler, etc..

    Zu den Bildern muss ich schreiben dass ich diese hochauflösend einscanne und abspeicher sodass teilweise mehrere MB für ein einziges Bild zusammen kommen. Alleine aus diesem Grund will ich dies nicht alles in eine einzige Tabelle integrieren, selbst nicht als "nur" Verknüpfung. Deswegen dachte ich dass ich z.B. zu jedem Interpreten etc. eine eigene Tabelle mit entsprechenden Verknüpfungen zu den Bildern erstelle. Die Ladezeit ist mir hierbei nicht soooo vordringlich solange ich sowohl den Speicher und den Prozessor nicht zu sehr auslaste. (Muss ja nicht sein dass dieser immer auf 100% fährt) Und wenn ich eine einzige Tabelle erstelle wird diese, soweit ich dies richtig im Kopf habe, immer KOMPLETT in den Speicher geladen. Wenn diese dann 10, 20 oder mehr GB groß ist was macht dann der Speicher und die CPU? *lach* Alle stöhnen immer darüber dass Windows und seine Software drumherum immer mehr Speicher einnehmen aber man muss das doch nicht auch noch selber machen oder? Und was ist mit der Anwenderfreundlichkeit bei einer so riesigen Datenbank und -menge? Es ist doch leichter Daten in einer "kleinen" Tabelle zu ändern als in einer riesengroßen. (Sprich: Unter anderem auch die Verarbeitungsgeschwindigkeit geschweige denn von der Fehlersuche)


    LG

    Michael
     
  4. 1.) Was empfehlt ihr mir? Nur Access oder Access mit SQL?

    Bei dieser Größenordnung würde ich auf jeden fall eine SQL-Datenbank nehmen und Access als Frontend.

    2.) Sollte ich die Datenbank in so kleine Tabellen unterteilen dass z.B. bei Musik Interpret, Komponist, Titel und alle weiteren Angaben jeweils in einer eigenen Tabelle speicher? (Interpret = tblinterpret, Komponist = tblkomponist usw.)

    Auf jeden Fall sonst wird die DB unnötig aufgebläht.

    3.) Sollte ich die einzelnen Daten (Adressen, Musik, Videos, Fotos...) in einzelnen Datenbanken abspeichern oder wäre es besser sie per entsprechenden Tabellen, Abfragen, Berichten, Formularen etc. in einer einzigen Datenbank abspeichern? Der Vorteil einer einzigen Dantenbank wäre das man nicht ständig zwischen den Datenbanken wechseln müsste wenn man etwas hinzufügen, ändern oder sonst was machen möchte.

    Alles in eine

    4.) Um den Arbeitsaufwand zu minimieren würde ich gerne die Festplatten, Ordner etc. auslesen. Gibt es da irgend eine kostenlose (nicht engeschränkte) Lösung und wenn ja wie? (Bei den alten Officeversionen konnte man dies ja) - See more at: http://www.pcwelt.de/forum/showthre...L-Was-soll-ich-verwenden#sthash.pHeXkQht.dpuf

    Keine Ahnung :(
     
  5. kalweit

    kalweit Hüter der Glaskugel

    Access ist nichts für wirklich große Datenmengen:

    http://office.microsoft.com/de-de/access-help/access-2010-spezifikationen-HA010341462.aspx

    Einen Teil der Beschränkungen lassen sich umgehen, in dem man Access an einen MSSQL Server klöppelt. Da liegen dann die Einschränkungen in der gewählten Lizenz des Servers.

    Alternativ könntest du OpenOffice Base versuchen. Zwar kann ich dir nicht sagen, ob das Tool wirklich was taugt - es liegt jedoch mySQL als Datenbank darunter, die sich ohne Kosten fast beliebig skalieren lässt. Der Zugriff auf diese ist zudem relativ simpel mit allen gängigen Prgrammiersprachen zu machen, so dass du dir dein Frontend im Zweifel selbst stricken kannst.
     
  6. kalweit

    kalweit Hüter der Glaskugel

    Das würde ich nicht an der Datenstruktur selbst, sondern an den Abfragen fest machen. Das exzessive Normalisieren stammt aus einer Zeit, in der Festplattenspeicher rar war und man mit jedem Byte geizen musste. Heute ist die Frage entscheidend: passt die Abfrage in den Arbeitsspeicher des Datenbankservers. Da kann es durch aus Sinn machen, dass ein oder andere "überflüssige" Feld durchzuschleppen.
     
  7. motzkat

    motzkat ROM

    Ich danke euch allen für eure rasche Antworten und eurer Hilfestellung zur Meinungs-/Entscheidungsfindung. Sie haben mich in meiner Meinung bestärkt die Kombi Access/SQL zu verwenden bzw. mir eventuell selbst etwas zu "stricken". (vielleicht nen Schal oder Pulli?) *lach*
    Werde es wohl auch so machen dass man sowohl über eine eigene Engine und Oberfläche alle Daten erfassen, ändern, löschen etc. kann und dass man sowohl in einem Browser im und aus dem Internet/Intranet auf die Datenbank, deren Daten und alles andere mit entsprechenden Zugriffsberechtigungen zugreifen kann.

    LG

    Michael
     
Thread Status:
Not open for further replies.

Share This Page