Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Stimmt meine Lösung Access 2007
zurück: Datenbank für Reinigung, Inspektion und Wartung weiter: Datenbankennormalisierungen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Johannesjk
Gast


Verfasst am:
21. Nov 2011, 14:17
Rufname:

Stimmt meine Lösung Access 2007 - Stimmt meine Lösung Access 2007

Nach oben
       Version: Office 2007

Hallo. Ich wollte die Tabelle, siehe Bild normalisieren. Brauch aber Hilfe.

Soweit bin ich schonmal:
2. Normalform:
Kunde:(Kunden-Nr, Kunde, Straße, Plz, Ort)
Artikel:(Art-Nr, Bezeichnung, Stückpreis)
Bestellung:( Bestell-Nr, Kunden-Nr, Datum, Menge, Art- Nr)

3. Normalform:
Kunde: (Kunden-Nr, Kunde, Straße Plz)
Adresse (Plz, Ort)

Rest hab ich so gelassen, aber ich glaub "Bestellung" ist noch was falsch oder?

Danke wenn jemand sich das mal kurz ansieht.



Vorlage.jpg
 Beschreibung:
Angehaengt by Willi Wipp
 Dateigröße:  53.87 KB
 Angeschaut:  398 mal

Vorlage.jpg


redround
Entwickler und ext. Datenschutzbeauftragter


Verfasst am:
21. Nov 2011, 14:26
Rufname:


AW: Stimmt meine Lösung Access 2007 - AW: Stimmt meine Lösung Access 2007

Nach oben
       Version: Office 2007

leider läßt meine Firewall Deinen Upload nicht durch. Ich kann deshalb nicht beurteilen, in wie weit das Modell den Ausgangsdaten entspricht. Deshalb nur zwei Anmerkungen:

a) ob PLZ ein valider Schlüssel für den Ort ist, wird häufig sehr kontrovers diskutiert.

b) Bis jetzt besteht jede Bestellung bei Dir nur aus einem Artikel. Das erscheint mir eher ungewöhnlich Wink

_________________
wenn Euch die Umsetzung der Lösung zu mühseelig ist, findet sich hier im Forum per PN bestimmt auch jemand, der das für einen geringen Obulus macht Smile
Johannesjk
Gast


Verfasst am:
23. Nov 2011, 16:21
Rufname:

AW: Stimmt meine Lösung Access 2007 - AW: Stimmt meine Lösung Access 2007

Nach oben
       Version: Office 2007

Also sollte ich in die Tabelle "Bestellung" auch den Preis oder wie meinste das. Sry
bin nicht so gut in Informatik. Danke wenn du mir das nochmal erklärst.
KlausMz
Moderator Access


Verfasst am:
23. Nov 2011, 16:33
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Stimmt meine Lösung Access 2007 - AW: Stimmt meine Lösung Access 2007

Nach oben
       Version: Office 2007

Hallo,
mir scheint das so richtig.
In der Tabelle für die Bestellung würde ich noch den Preis redundant mit aufnehmen. Die Preise ändern sich ja und dann würden die alten Bestellungen nicht mehr stimmen.
Die PLZ ist als Schlüssel nicht geeignet, das es Orte gibt mit gleicher PLZ.
Weiterhin muss PLZ Text sein, wegen der führenden 0 bei einigen PLZ. Und Textfelder sind für Beziehungen auch nicht so geeignet.
Ich würde in jeder Tabelle einen Autowert als Primärschlüssel verwenden und nicht die Felder mit einer Bedeutung. Für den n-Teil der Beziehungen dann ein extra Feld (Zahl, Long). Textfelder sind für Beziehungen wie bereits gesagt nicht so geeignet und eine Artikelnummer könnte ja durchaus so aussehen AB-0123.
Weiterhin solltest Du auf Leer und Sonderzeichen in Feldnamen verzichten. Nicht Artikel-Nr, sondern ArtikelNr.

redround hat folgendes geschrieben:
Bis jetzt besteht jede Bestellung bei Dir nur aus einem Artikel. Das erscheint mir eher ungewöhnlich
Wieso, in die Bestelltabelle können mehrere Positonen aufgenommen werden zur gleichen Bestellnr. Der Kunde ist ja in der Bestellung, wie es richtig ist.
_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Johannesjk
Gast


Verfasst am:
24. Nov 2011, 17:17
Rufname:


AW: Stimmt meine Lösung Access 2007 - AW: Stimmt meine Lösung Access 2007

Nach oben
       Version: Office 2007

Johannsjk am 23. Nov 2011 um 15:53 hat folgendes geschrieben:
Wow. Vielen Dank für die schnelle Antwort. Werde deine Tipps umsetzen und wenn ich Fragen habe melde ich mich nochmal. Danke

Nochmal eine kurze Frage.
Wir haben heute die Lösung bekommen und da steht alles auch so wie ich es habe, bis auf die " Bestellung", die wurde dort nochmal in der 3. Normalform so unterteilt:
bestellt. Art. (BestellNr, ArtNr, Menge)
Bestellung: (BestellNr, KundenNr, Datum)

Kann mir nochmal jemand erklären warum dies gemacht wurde ?
Danke
redround
Entwickler und ext. Datenschutzbeauftragter


Verfasst am:
24. Nov 2011, 17:27
Rufname:

AW: Stimmt meine Lösung Access 2007 - AW: Stimmt meine Lösung Access 2007

Nach oben
       Version: Office 2007

weil wie ich schon sagte, in Deinem Datenmodell zu jeder Bestellung nur ein einziger Artikel möglich wäre. Es gibt aber eine 1:N Abhägigkeit von der Bestellung zu den bestellten Artikeln. Deshalb eine eigene Tabelle für die Artikel und Mengen die bestellt werden (mit Bestellnummer als Fremdschlüssel).

Die Lösung ist aber auch nur in der nackten Theorie richtig. In der Praxis würde das kein Entwickler so machen!!! Wie Klaus schon geschrieben hat, fügt man in der Praxis in jede Tabelle einen Autowert ein, über den verknüpft wird. Zum einen geht die Verknüpfung über einen Zahlenwert schneller als über einen String-Wert, zum andern können sich z. B. Artikelnummern mit der Zeit ändern. Man kann dann zwar alle abhängigen Felder aktualiseren, aber das entfällt wenn man gleich über Autowerte verknüpft hat. Zum andern kann es aber auch passiern, dass ein Unternehmen auf die Idee kommt, statt rein numerischen Artikelnummern plötzlich alphanumerische zu verwenden. Dann musst Du an zig verschiedenen Stellen das Datenmodell anpassen und hoffen, kein abhängiges Feld zu vergessen. Wenn Du aber über Autowert verknüpft hast, änderst Du nur den Datentyp eines einzigen Feldes und fertig.

Aber wie gesagt: das ist der Unterschied zwischen Theorie und Praxis Wink

_________________
wenn Euch die Umsetzung der Lösung zu mühseelig ist, findet sich hier im Forum per PN bestimmt auch jemand, der das für einen geringen Obulus macht Smile
Johannesjk
Gast


Verfasst am:
26. Nov 2011, 14:54
Rufname:

AW: Stimmt meine Lösung Access 2007 - AW: Stimmt meine Lösung Access 2007

Nach oben
       Version: Office 2007

Also sieht das dann mit Primärschlüsseln so aus:?
bestellt. Art. (ArtNr,BestellNr, Menge)
Bestellung: (BestellNr, KundenNr, Datum)
(unterstrichen jeweils die Primärschlüssel)

Da ich noch zur Schule gehe zählt hier im Moment mehr die Theorie, deshalb versuch ich das nochmal zu erklären, weil ich diesen Schritt verstehen muss, um auch andere Tabellen richtig zu normalisieren:
Die Tabelle Bestellung wird nochmal aufgeteilt, da die Kunden in jeder Bestellung sonst nur 1 Artikel bestellen könnten, weil es pro Bestellung auch nur 1 Bestellnr. gibt.
Was ich mich frage: Könnte man auch in die Tabelle: "bestellt. Art. einen zusammengesetzen Primärschlüssel aus ArtNr und BestellNr verwenden, wovon die Menge abhängt und die Tabelle "Bestellung" so lassen? Und warum nimmt man die ArtNr als Primärschlüssel? Weil nur davon die Menge abhängt?

Ich weiß sind ne Menge fragen, aber ich muss das einmal verstehen, damit ich das auch auf andere Tabellen anwenden kann und den Zusammenhang drauf habe.

Danke schonmal das ihr so geduldig geantwortet habt.
Marmeladenglas
komme zurecht


Verfasst am:
26. Nov 2011, 15:21
Rufname:

AW: Stimmt meine Lösung Access 2007 - AW: Stimmt meine Lösung Access 2007

Nach oben
       Version: Office 2007

Hi,
geh doch einfach mal eine Ebene höher.
Mit diesem Modell könntest du ja auch sagen, ich schreibe die Bestellung zu der Tabelle Kunde.
Das hätte zur Folge, dass du pro Kunde (bzw. pro Datensatz) nur 1 Bestellung aufnehmen könntest. D.h. für eine weitere Bestellung für den gleichen Kunden müßtest du in einem neuen Datensatz wieder alle DAten für den Kunden erstmal aufnehmen.
Genauso verhält es sich mit Bestellung und Bestell-Details.
D.h. du erfasst die "Kopfdaten" der Bestellung (Bestell-Datum, Bearbeiter was weiß ich), und in einem abhängigen Tabelle die Artikel, die zu der Bestellung gehören.
redround
Entwickler und ext. Datenschutzbeauftragter


Verfasst am:
26. Nov 2011, 15:26
Rufname:

Re: AW: Stimmt meine Lösung Access 2007 - Re: AW: Stimmt meine Lösung Access 2007

Nach oben
       Version: Office 2007

Johannesjk - 26. Nov 2011, 13:54 hat folgendes geschrieben:
Was ich mich frage: Könnte man auch in die Tabelle: "bestellt. Art. einen zusammengesetzen Primärschlüssel aus ArtNr und BestellNr
Man kann nicht nur, sonder man muss es sogar! Mal angenommen, der Primärschlüssel der Tabelle wäre nur die Artikelnummer. Die Bestellnummer wäre das Fremdschlüsselfeld zur Verknüpfung mit der Bestell-Tabelle. Das Resultat wäre, dass eine Bestellung zwar beliebig viele Artikel umfassen könnte, aber jeder Artikel nur in einer einzigen Bestellung berücksichtigt werden kann.

Tatsächlich ist es aber doch so, dass
a) eine Bestellung beliebig viele verschiedene Artikel umfassen kann
b) ein Artikel in beliebig vielen verschiedenen Bestellungen enthalten sein kann.

Daraus ergibt sich eine N:M-Beziehung zwischen Artikel und Bestellung ... und dafür brauchst Du eben eine Zwischentabelle zur Auflösung (in Deinem Fall "bestellt. Art."), die einen zusammengesetzten Primärschlüssel besitzt, der aus den beiden Primärschlüsseln der beteiligten Tabellen besteht.

By the way: "bestellt. Art." ist eigentlich kein datenbankkonformer Name, da Umlaute, Leer- und Sonderzeichen (außer Unterstrich) eigentlich tabu sind.

_________________
wenn Euch die Umsetzung der Lösung zu mühseelig ist, findet sich hier im Forum per PN bestimmt auch jemand, der das für einen geringen Obulus macht Smile
derArb
getting better


Verfasst am:
26. Nov 2011, 16:28
Rufname: derArb
Wohnort: Berlin


AW: Stimmt meine Lösung Access 2007 - AW: Stimmt meine Lösung Access 2007

Nach oben
       Version: Office 2007

Hallo, ist das möglicherweise ein doppelter thread?

Datenbankennormalisierungen

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler:Primärschlüssel doppelt, obwohl es nicht stimmt 4 Batzie 1221 07. Jun 2011, 11:35
KlausMz Fehler:Primärschlüssel doppelt, obwohl es nicht stimmt
Keine neuen Beiträge Access Tabellen & Abfragen: Filterung einzelner Zeilen in Access 2007 7 paula06 401 30. März 2011, 15:09
KlausMz Filterung einzelner Zeilen in Access 2007
Keine neuen Beiträge Access Tabellen & Abfragen: Datensatz aus DB(A) in DB(B) kopieren / Office 2007 10 ErnstRainer 483 30. Aug 2010, 00:37
Gast Datensatz aus DB(A) in DB(B) kopieren / Office 2007
Keine neuen Beiträge Access Tabellen & Abfragen: Access 2007 Beziehungen 4 ituser 1500 24. Aug 2010, 18:25
KlausMz Access 2007 Beziehungen
Keine neuen Beiträge Access Tabellen & Abfragen: Date() erstellt in 2007 funktioniert nicht in 2000 und 2003 1 Cuilster 782 10. Mai 2010, 16:35
MissPh! Date() erstellt in 2007 funktioniert nicht in 2000 und 2003
Keine neuen Beiträge Access Tabellen & Abfragen: Projekt von 2003 umziehen nach 2007 1 bendigo 278 03. Mai 2010, 19:01
Gast Projekt von 2003 umziehen nach 2007
Keine neuen Beiträge Access Tabellen & Abfragen: Acces 2007 Eingabefehler vermeiden 18 shark1734 1305 26. Apr 2010, 21:07
KlausMz Acces 2007 Eingabefehler vermeiden
Keine neuen Beiträge Access Tabellen & Abfragen: Im Ausdruck stimmt ein Datentyp nicht überein 4 Border79 683 15. März 2010, 18:37
MissPh! Im Ausdruck stimmt ein Datentyp nicht überein
Keine neuen Beiträge Access Tabellen & Abfragen: Outlook Tabellen in Acces 2007 0 VBeginner 381 09. März 2010, 10:12
VBeginner Outlook Tabellen in Acces 2007
Keine neuen Beiträge Access Tabellen & Abfragen: Access 2007 und 2003 im ausdruck stimmt ein datentyp nicht ü 3 joerg22 1599 11. Jan 2010, 17:56
Gast Access 2007 und 2003 im ausdruck stimmt ein datentyp nicht ü
Keine neuen Beiträge Access Tabellen & Abfragen: Lösung in Sql gesucht 5 Muenster36 400 07. Okt 2009, 22:52
Muenster36 Lösung in Sql gesucht
Keine neuen Beiträge Access Tabellen & Abfragen: Formatierung berechnetes Feld in einer Abfrage Access 2007 1 SHI 2637 13. Jun 2009, 11:51
Gast Formatierung berechnetes Feld in einer Abfrage Access 2007
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Word VBA