Neuigkeiten:

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

Mobiles Hauptmenü

Variable Datensatzherkunft

Begonnen von Joe0301, November 24, 2016, 13:15:35

⏪ vorheriges - nächstes ⏩

MzKlMu

Hallo,
Zitatwir sollten abwarten, welche Informationen der Fragesteller noch liefern kann, ohne Gefahr zu laufen, Geheimnisse oder Interna preiszugeben.
wie bereits gesagt (#4 letzter Absatz), wenn man von den Feldnamen auf sensible, vertrauliche Daten schließen kann, hat man mit großer Wahrscheinlichkeit ein verbesserungsbedürftiges Datenmodell, weil Feldnamen gleichzeitig Feldinhalte beschreiben. Das könnte man ja seiner Anmerkung zu den Namen entnehmen.
Zitat von: Joe0301Leider handelt es sich um Sensible Daten und ein umschreiben der Namen wäre zu aufwendig bei der Größe der Datenbank.

Meine Äußerungen zum Datenmodell sind hiermit beendet.  ;D


Gruß Klaus

Joe0301

Wow, damit hab ich heute morgen nicht gerechnet.

Erstmal zur Entwarnung,
Die Datenbank ist so aufgebaut Wie es hier für richtig gehalten wird...und nur in TabelleA sind bereits Daten.
Ich bin gerade an dem Punkt wo die Benutzeroberfläche zur Datenauswertung abgeschlossen ist und nun war ich am überlegen wie die Datenmengen am besten zu Handhaben sind. Da es auf lange Sicht deutlich mehr Input wird.

Es war nur eine Überlegung statt in einem Buch erstmal nach Kapitel 25 zu Suchen direkt nur das richtige Buch zu nehmen.

Nunnochmal um Unklarheiten zu beseitigen
In meiner Tabelle gibt es dann die Spalte "Kennzeichen" Kennzeichen entspricht der Globalen variable, die ich immer als Kriterium In abfragen einsetze richtig ?
Auf lange Sicht (das muss noch wachsen) werden es auf jedenfall über 32 Kennzeichen
- 6x A4
- 4x A5
-7x Q7 usw
Also fällt für mich das arbeiten mit Indizes weg ?
(ich kann auch nicht garantieren das es weniger als 32 modelle bleiben)


Thema Sensible Daten,
Es geht natürlich nicht um Autos aber das war das beste Beispielwas mir dazu einfiel.
Die Felder sind so Allgemein wie möglich beschrieben wie das Beispiel Gehalt, man weiß natürlich nicht
wie hoch das Gehalt ist ja, aber man kann ersehen das es dabei um Gehälter geht. Die meisten würden damit nix anfangen können aber beim Unternehmen gibt es da keine Grauzonen und ich möchte kein Risiko eingehen, ich hoffe ihr könnt das verstehen.

Fazit,
So wie ich es verstanden habe habe ich bis hier hin unterm Strich alles richtig gemacht und war
dabei einen großen Fehler zu machen.
Auch wenn ich 15 modelle x10 Fahrezuge x2000 Datensätze habe
schreibe ich alles In eine Tabelle ?!
Pro Modell gibt es zwar auch noch unterschiede in anderen Feldern aber das könnte ich nach dem gleichen Prinzip weiter führen.

Ich Bedanke mich für die Rege Diskussion und das große Feedback
damit hab ich echt nicht gerechnet :D

MfG
Joe0301








MzKlMu

#17
Hallo,
ZitatIn meiner Tabelle gibt es dann die Spalte "Kennzeichen" Kennzeichen entspricht der Globalen variable, die ich immer als Kriterium In abfragen einsetze richtig ?
Wozu eine globale Variable ?
Wo kommt das Kriterium her ?

Zitat- 6x A4
- 4x A5
-7x Q7 usw
Also fällt für mich das arbeiten mit Indizes weg ?
Wie kommst Du zu diesem Schluss ? Gerade wenn es eine Tabelle ist kannst Du Indizes verwenden.
Und damit keine Missverständnisse aufkommen, alle Kennzeichen kommen in eine Spalte, nicht dass Du denkst, je Kennzeichen eine Spalte.

Übrigens. bei so vielen Kennzeichen ist auch hier eine Tabelle erforderlich und als Kennzeichen wird nur der entsprechenden Primärschlüssel als Fremdschlüssel gespeichert.


PS:
Aus meiner Erfahrung hier im Forum weiß ich, dass Abstrahierungen fast immer daneben liegen. Da kann man noch so fest davon überzeugt sein, dass die beispielhaften Angaben die Realität wiedergeben. Mit den realen Daten sieht das dann ganz anders aus. Von daher sind die Vorschläge nur auf das fiktive Beispiel bezogen, ob das dann in die Realität übertragbar ist steht in den Sternen.
Gruß Klaus

ebs17

ZitatIn meiner Tabelle gibt es dann die Spalte "Kennzeichen"
Auf lange Sicht (das muss noch wachsen) werden es auf jedenfall über 32 Kennzeichen
Also fällt für mich das arbeiten mit Indizes weg ?
Ein Index wird nicht auf einen Wert gelegt, sondern auf ein Feld bzw. eine Kombination aus Feldern, unabhängig, wieviele Werte darin sind.
Siehe hierzu z.B. Performance in Abfragen von Michael Zimmermann. Da gibt es umfassende Infos zur Indexplanung.
Ich meine, dass das Wissen um eine gescheite spätere Verarbeitung der Daten eine Rolle spielt bei der Planung der Datenstrukturen (Datenmodellierung). Regeln wie jene aus der Normalisierung sind so als gesammelte Erfahrungen für eine Gutverarbeitbarkeit von Daten in relationalen Datenbanken zu verstehen und somit bestgemeinte Empfehlungen und also frühestmöglich umzusetzen, insbesondere wenn es um wichtige und betrieblich genutzte Anwendungen geht.
Mit freundlichem Glück Auf!

Eberhard

Joe0301

Zitat
Wie kommst Du zu diesem Schluss ? Gerade wenn es eine Tabelle ist kannst Du Indizes verwenden
Da nur 32 Indizes verwendet werden können, und die Anzahl der Fahrzeuge 32 überschreitet, selbst die Anzahl der nächst größeren Stuffe (Model) 32 übersteigen kann. Ab den 33 Fahrzeug kann ich die Indiezes dann doch nicht mehr verwenden oder versteh ich was falsch,

ZitatWozu eine globale Variable ?
Wo kommt das Kriterium her ?

Am Anfang wird ja das Fahrzeug ausgewählt, in der Benutzeroberfläche gibt es zahlreiche Formulare und Einstellmöglichkeiten die sich nur auf das ausgewählte Fahrzeug beziehen sollen, um das nicht immer neu Einzugeben die globale variable kennzeichen. (Die in einer Funktion gespeichert wird)

nun Öffne ich ein Bericht der auf einer AuswahlAbfrage beruht. Im entwurfsmodus der Abfrage Trage ich bei dem Feld Fahrzeug bei Kriterium Die Funktion ein in der die variable gespeichert ist.
Um halt nur die Daten des ausgewählten Fahrzeuges zu haben.



MzKlMu

Hallo,
ZitatAb den 33 Fahrzeug kann ich die Indiezes dann doch nicht mehr verwenden oder versteh ich was falsch,
das verstehts Du falsch, aber gründlich. Eine Indizierung bezieht sich auf eine Spalte und nicht auf die Anzahl der Einträge. Egal, ob das 50, 500, oder 5000 Datensätze sind.
Weißt Du überhaupt was eine Indizierung ist und was diese bezweckt ?
Zitatin der Benutzeroberfläche gibt es zahlreiche Formulare und Einstellmöglichkeiten die sich nur auf das ausgewählte Fahrzeug beziehen sollen,
Wenn die DB korrekt aufgebaut ist, so gibt es ein einziges Formular für alle Fahrzeuge. Das Formular kann man dann auf das gewünschte Fahrzeug filtern. Globale Variablen braucht es da nicht.

Wenn ich Deine Beschreibung so lese, so fürchte ich, gibt es da erhebliche Fehlplanungen.
Leider kannst/darfst/willst Du nicht mal ein realistischen Datenmodell (Beziehungsfenster) hier zeigen. Das würde manches klären. Ich fürchte nämlich weiterhin, dass die Hilfskonstruktion Auto eher realitätsfern ist.

Gruß Klaus

ebs17

Zitatoder versteh ich was falsch
Gegenfrage: Liest Du angegebene Quellen?
Mit freundlichem Glück Auf!

Eberhard

Joe0301

Hallo,

@ebs17
Ja hatte ich gelesen anscheinend nur nicht ausführlich genug(hab ich jetzt nachgeholt), das mit den Indizes hab ich so weit verstanden jetzt, dies werde ich auf jedefall einbauen :)
Vielen Dank dafür.

@MzKIMu
Zitat
Das Formular kann man dann auf das gewünschte Fahrzeug filtern. Globale Variablen braucht es da nicht.
Jedes Formular ist für alle Fahrzeuge, es gibt lediglich verschiedene Formulare die verschiedene Aufgaben erfüllen.
Aber warum benötige ich dafür keine globalen variablen ? (Die sind bei mir dafür da um das Formular auf das gewünschte Fahrzeug zu filtern.)
ich möchte das gewünschte Fahrzeug nur einmal eingeben und nicht beim öffnen jedes Formulares erneut,
wie soll dies ohne die variable möglich sein ? 


Beaker s.a.

Hallo Joe,
Zitatich möchte das gewünschte Fahrzeug nur einmal eingeben und nicht beim öffnen jedes Formulares erneut,
wie soll dies ohne die variable möglich sein ? 
Vielleicht indem du dein Suchformular im Hintergrund (unsichtbar) geöffnet lässt.
Dann kannst du immer über einen Bezug auf dieses Formular an die ID kommen.
ZitatIrgendwas = Forms!DeinSuchform!txtID
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Joe0301

Okay das würde Funktionieren.
Es stellt sich mir jedoch die Frage wo da der Vorteil liegt.
Bei mir komm das so an, das Globale Variablen was schlechtes sind.
wenn dem so ist würde mich mal interessieren Warum ?

MfG
Joe0301

Beaker s.a.

Hallo Joe,
Weil die unsicher sind. Sie verlieren z. B. bei einem Laufzeitfehler ihren Inhalt.
Zur Verwendung in Abfragen kannst du auch mal dieses lesen:
http://www.donkarl.com?FAQ3.15
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

DF6GL

Hallo,

alternativ könnte man die Tempvars- oder Collection-Auflistung verwenden.
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

Joe0301

Hallo Beaker s.a.
Ja das war für mich die Definition von globaler variable, ist genau das Prinzip wie ich das in Abfragen für Formulare verwende.

@DF6GL
Danke für den Tipp die Collection-Auflistung könnte mit bei einer anderen Sache weiter helfen.