Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Empfehlung für Datenbankaufbau

Begonnen von And_Re, Juli 11, 2011, 16:04:45

⏪ vorheriges - nächstes ⏩

And_Re

Hallo zusammen

Ich habe folgendes vor: Ich habe immer wiederkehrende Arbeiten bei Prüfungen auf der Arbeit. In verschiedenen Gebäuden müssen immer die gleichen Prüfungen durchgeführt werden. Für die Bestandsaufnahme der eingesetzten Mittel wollte ich mir nun eine Datenbank anlegen. Meine Frage ist nun wie wäre der optimale Tabellenaufbau für eine solche Datenbank.

Die Gliederung ist folgende: Gebäude // Raum Nr.* // Bezeichnung* // Inventarnummer // Prüflingdetails* // Prüfungsergebnisse

*mehrfach gleiche Bezeichnung

Die Summe der Datenbank-Einträge können hier schon in die Tausende gehen. Eine spätere Suchmaske soll so aussehen, das ich mittels Drop Down Leiste von Links nach Rechts gehend die Suche eingrenze. Sprich ich gebe das Gebäude an und es werden alle Geräte aus dem Gebäude gelistet, dann halt Raum Nr usw.

Als Ausgabe soll dann halt ein Protokoll mit allen Werten für dieses Teil ausgegeben werden. Evtl. wollte ich die Geräte auch noch um ein Feld erweitern, sollten immer wieder gleichwertige Probleme auftreten, um so Fehler schneller zu finden.

Beim Aufbau der Tabelle bin ich mir nun nicht so sicher, wie ich diese am besten gestalten soll. Sollte alles in eine Tabelle oder lieber fein aufgliedern und diese dann über Beziehungen verknüpfen.

Für Ratschläge bin ich Dankbar.

DF6GL

Hallo,

" lieber fein aufgliedern und diese dann über Beziehungen verknüpfen"


ist der einzig richtige Weg...




siehe Punkt 1 und 1a und weiterhin Punkt 3  in meiner Signatur.


"das ich mittels Drop Down Leiste von Links nach Rechts gehend die Suche eingrenze."



siehe hier:
http://dbwiki.net/images/6/6f/AccSampleKombiAuswahl.zip
und
http://www.donkarl.com/?FAQ4.36
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

And_Re

Hallo und recht herzlichen Dank für die schnelle Antwort. Die KombiAuswahl ist eigentlich ziemlich genau das, was ich vorhabe, nur würde ich den einzelnen Artikeln dann noch das jeweilige Protokoll anheften. Dies ist ja über Beziehungen kein Problem.
Was mich nun noch interessieren würde, alle Artikel sind hier in einer Tabelle verfasst, bei mir kommen da schon weit über 1000 zusammen. Ist es da Sinnvoller mehrere gleiche Tabellen zu erstellen, welche schon nach Gruppen sortiert sind?

MzKlMu

Hallo,
ZitatIst es da Sinnvoller mehrere gleiche Tabellen zu erstellen, welche schon nach Gruppen sortiert sind?
Nein, das ist ganz sicher nicht sinnvoll. Alle Artikeldaten gehören in eine Tabelle, egal, ob 100, 1.000 100.000 oder 1.000.000.
Du kannst den Artikeln noch ein Fremdschlüsselfeld für eine (noch anzulegende) Gruppentabelle verpassen, dann kannst Du auch bei Bedarf die Artikel einschränken.
Gruß Klaus

And_Re

Hallo und Danke für Deine Antwort.

Dachte das es ab gewissen Mengen auch Sinn macht diese zu trennen. Dann ergibt sich bei mir eigentlich nur eine einzelne Tabelle. Alle anderen angaben bei mir würden von keiner anderen Stelle aufgerufen werden. Die Datenbank soll ja lediglich für die Prfüfungen der Gerätschaften sein und um diese schnell zu finden. Eigene Tabellen für Gebäude und Zimmer Nummer erübrigen sich, da diese von keinen anderen Tabellen mitgenutz werden.

Oder würdet Ihr eine weitere Aufgliederung dennoch empfehlen?

MzKlMu

Hallo,
ZitatEigene Tabellen für Gebäude und Zimmer Nummer erübrigen sich, da diese von keinen anderen Tabellen mitgenutz werden.
Das bezweifle ich.
Ein Zimmer ist einem Gebäude zugeordnet. Da es eine Zimmernr wahrsheinlich in mehreren Gebäuden gibt, ist eine Zuordung von Zimmer zu Gebäude mit einer Zwischentabelle notwenig. Der Primärschlüssel der Kombination in der Zwischentabelle ist der Fremdschlüssel in der Gerätetabelle.
Da sehe ich jetzt schon mal 5 Tabellen:

- Geräte
- Gerätegruppen
- Zimmer
- Raum
- Zwischentabelle Zimmer/Raum.

Das dürfte aber noch nicht alles sein. Bitte erkläre mal die DB genauer.
Gruß Klaus

And_Re

Also eigentlich soll die DB nur die Felder enthalten:


  • Gebäude (5 an der Zahl G1-G5)
  • Raum Nr. (Zwischen 5-15)
  • Bezeichnung (PC/Monitor/Boxen...
  • Selbstvergebene ID 5 Stellig
  • Prüflingdetails (Hersteller / Typ / Spannung ...)
  • Prüfungsergebnisse (Tabelle mit genauen Messwerten)
Bei regelmässigen defekten Teilen könnte man diese auch noch mit in die Liste aufnehmen

2,3 und 5 können öfters auftauchen.

Jetzt kann ich eine Tabelle machen in der alles steht und die Geräte über die Suchmaske finden oder mehrere Tabellen und diese miteinander über Beziehungen verknüpfen.

Ich benötige die DB nur dazu, die Geräte schnell zu finden und einen Bericht auszugeben, welcher die Messwerte enthält. Ich bräuche also keine Datensätze für verschiedene Aufgaben, wodurch ja in diesem Fall auch nur eine Tabelle reichen würde oder seh ich das falsch?

DF6GL

Hallo,


das siehst Du falsch....


Wenn Du Dich, falls Du Access verwenden willst, nicht an die Grundregeln des Tabellenaufbaus (Normalisierung, siehe u. st. Links 1 und 1a) hältst, wirst Du bald an einen Punkt kommen, wo Du die DB in die Tonne wirfst....


Du hast nach Empfehlungen für einen Datenbankaufbau gefragt...  Die hast Du bekommen.  Umsetzen mußt Du die nun auch.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Stapi

Hallo And_Re

Ich lese deinen Beitrag und entnehme daraus das du wahrscheinlich deine Jährliche Prüfung für Ortveränderliche  Betriebsmittel nach VDE 702 durchführen möchtest?  das könnte so in etwa aussehen.
Tabelle Gebäude
Tabelle Raum verknüpft 1:n  >> Gebäude/Raum
Tabelle Prüfling dort gehören allen Informationen rein wie :Prüflings ID 5 Stellig, Hersteller, Type, Spannung, Schutzklasse, verschrottet als Ja/nein, etc) verknüpfung 1:n >> Raum/Prüfling , nur die muss auch klar sein das z.b ein TV Gerät von Gebäude1,Raum2 nach Gebäude3, Raum10 verbracht werden kann, wie gehst du damit um?
Tabelle Prüfung in den Grenzwerte und die Messwerte der jeweiligen Prüfung mit der Prüfling ID eingetragen werden

Über das Formular der Prüfung mit einem Komb Feld den Prüfling auswählen und in das Formular als neuen datensatz eintragen,  dem Prüfling müssen auch die zugrunde Liegende Grenzwerte sowie Schutzklasse bekannt sein bzw eingetragen werden. Messung durchführen und bei der Messung prüfen ob Grenzwerte eingehalten werden oder nicht, somit nach der Prüfung feststeht Prüfling hat Bestanden oder nicht Bestanden.

Gruß Stefan

Grüße aus dem schönen NRW
Stefan

And_Re

Also ich würde nach Euren Ratschlägen folgende Tabellen erstellen:

T1: Gebäude // Raumnummer
T2: Raumnummer // Prüfling
T3: Prüfling //Angaben zum Prüfling
T4: Prüfling // Datum // Messwerte
T5: Grenzwerte für Schutzklasse 1
T6: Grenzwerte für Schutzklasse 2
T7: Grenzwerte für Schutzklasse 3

T4 dient zum speichern der Messwerte mit Datum

Abfrage:
Auswahl vom Gerät und Datum über die Kombi Auswahl

Eingabe:
Auswahl vom Gerät bzw. hinzufügen eines neuen Gerätes, eingabe des Datums und der Messwerte

Bericht:
Angaben aus allen Tabellen. Berechnung ob bestanden oder nicht mittels GW aus T5-T7 mit Messwerten aus T3

Abfrage:

Beziehung zwischen T1 und T2 : Raumnummer
Beziehung zwischen T2 und T3 : Prüfling
Beziehung zwischen T3 und T4 : Prüfling
Beziehung zwischen T5-T7 und T3 : Schutzklasse

DF6GL

#10
Hallo,

T5 bis T7 sollte eine Tabelle ("tblGrenzwerte") sein, dafür fehlt die  Tabelle "tbl_Schutzklassen", die mit tblGrenzwerte in Beziehung zu setzen ist.

Über Eingaben und Abfragen für Berichte brauchst Du Dir zum jetzigen Zeitpunkt noch keine Gedanken zu machen, erst wenn der Tabellenaufbau korrekt erledigt ist.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

And_Re

Hiho

Habe mich nun mal an den ersten Entwurf der DB gemacht. Wollte mal fragen ob die Struktur so prinzipiel richtig ist.
Ich danke Euch schonmal für Eure Hilfe und Geduld :-)

[Anhang gelöscht durch Administrator]

MzKlMu

#12
Hallo,
nein, das passt noch nicht.
Die Tabelle "Tbl_Gerät" ist nicht erforderlich, die Bezeichnung ist ja bereits bei den Gerätedetails.
Alle Tabellen sollten einen Autowert haben und darüber laufen dann die Beziehungen.
Nenne die ID Felder nicht einfach ID, sondern mit einem Bezug zur Tabelle. (z.B. PrueferID). Das entsprechende Fremdschlüsselfeld heist dann PrueferID_F. In einer DB sollte es keine gleichen Feldnamen geben.
Du musst in den Beziehungen referentielle Integrität einstellen können, wenn das nicht geht, hast Du bereits einen Fehler in den Beziehungen, was bei den meisten in der DB auch so ist?
Die Beziehung zwischen Gerätedetails und Prüfung ist falsch. In die Tabelle mit der Prüfung muss die GeräteID als Fremdschlüssel.
Die Beziehungen zwischen Prüfspannung, DI_GW, Ableitstrom, ISO_GW zu SK sind alle falsch.
Sind eigentlich diese 3 Tabellen in Abhängigkeit zur Schutzklasse?
Was ist mit Mängeln, ein Gerät könnte doch mehrere Mänge haben, nicht nur optische?
Und wie soll das ablaufen, wenn ein Gerät den Standort wechselt, die Historie (welches Gerät wann wo war) muss ja auch festgehlaten werden, oder nicht?

Hier hast Du noch einiges zu tun.
Gruß Klaus

And_Re

Hoffe hab das nun alles richtig verstanden und dementsprechend umgesetzt. Habe die Grundlagen mir zwar nun schon öfters zu gemüte geführt, aber glaube der Punkt wo es richtig Klick gemacht hat fehlt noch.



[Anhang gelöscht durch Administrator]

MzKlMu

Hallo,
nein, eigentlich noch falscher.
Was willst Du mit der Prüfungsnummer als Primärschlüssel im Gebäude?
Auch die Beziehungen zwischen Gebäude-Etage-Gerätedetails ist falsch.
Du hast teilweise die Primärschlüssel mit _F bezeichnet.
Die 1:1 Beziehung zwischen Gerätedetails und Prüfung ist falsch, GerätID_F darf kein Primärschlüssel sein und muss Duplikate zulassen. Nimm als Primärschlüssel für diese Tabelle einen Autowert (PruefungID).
PrueferID_F muss auch Duplikate zulassen.
In Deiner DB darf es keine einzige 1:1 Beziehung geben.
Auch Messwerte und Optik ist falsch.

Du hast keine einzige meiner Fragen beantwortet.
Die Fragen sind die Sätze mit den Fragezeichen am Ende.
Zitat von: MzKlMu
Die Beziehungen zwischen Prüfspannung, DI_GW, Ableitstrom, ISO_GW zu SK sind alle falsch.
Sind eigentlich diese 3 Tabellen in Abhängigkeit zur Schutzklasse?

Was ist mit Mängeln, ein Gerät könnte doch mehrere Mänge haben, nicht nur optische?

Und wie soll das ablaufen, wenn ein Gerät den Standort wechselt, die Historie (welches Gerät wann wo war) muss ja auch festgehlaten werden, oder nicht?

Bitte beantworte diese Fragen, das ist wichtig für den Aufbau der Struktur.
Gruß Klaus