Neuigkeiten:

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

Mobiles Hauptmenü

Hilfe! Korrektur einer erstellten Datenbank

Begonnen von warhola1900, Juli 26, 2012, 15:19:03

⏪ vorheriges - nächstes ⏩

warhola1900

hallo,
hätte folgende frage: wenn ich eine haupttabelle zum thema bücher erstellt habe, darunter erscheint bspweise autor. kann ich in der nebentabelle eine autorentabelle erstellen mit bspweise den angaben geburtsort, geburtsdatum etc. oder funktioniert dann die herstellung der beziehung nicht?  dürfen denn in der nebentabelle begriffe aus der haupttabelle näher erläutert werden?

haupttabelle: bücher
id     autor            buchtitel      epoche      jahr  etc...
...     ....                  .....             ....              ....

nebentabelle: autor
geburtsdatum    geburtsort    werke  etc...
....                     ....                  ....

danke!

oma

hallo,

deinen bisherigen Tabellenaufbau solltest du korrigieren:

tblBuecher:  Buch_ID, Autor_ID_FK, Titel, .....
tblAutoren:  Autor_ID, Nachname, Vorname, DatumGeburt...

Hierbei ist Autor_ID ein Primärschlüssel in der Tabelle tblAutoren und Autor_ID_FK ein Frmdschlüssel in Tabelle tblBuecher als Verweis auf einen Autor.

Sicher benötigst du noch weitere Tabellen mot entsprechenden Schlüsselsn, wie z.B evt Verlage, Epochen, Gattung u.a.

Gruß Oma
nichts ist fertig!

warhola1900

zunächst, danke für deine antwort. es ist also möglich, dass man zu begriffen aus der haupttabelle eine nebentabelle erstellen kann. ist es denn einfacher nebentabellen zu erstellen, deren begriffe in den haupttabelle nicht auftreten?

MzKlMu

Hallo,
da ein Buch auch mehrere Autoren haben kann und ein Autor mehrere Bücher schreiben kann, fehlt hier eine Zwischentabelle zur Herstellung einer n:m Beziehung zwischen Autor und Buch.

Was ist für Dich eine Nebentabelle?
Gruß Klaus

oma

Hallo,

sorry, aber die Frage verstehe ich nicht: was heißt Haupttabelle bzw. Nebentabelle, was bedeutet "schwer erstellen" für eine Tabelle?

Du musst zum Aufbau deines relationalen Tabellendesign einige Regeln beachten.
Zunächst erstellst du Tabellen nach "Themen"  wie zum Beispiel Bücher, Autoren. Verlage usw. und definiert zu allen Tabellen aus deinen Anforderungen (Bedarf) die benötigten Felder und die Zusammenhänge mit Primär / Fremdschlüsselaufteilung.   Diese Tabellen können dann mit einfachen Regeln überprüft und gegebenenfalls verändert werden.

Diese Regeln können wie folgt definiert werden:
Eindeutigkeit: Jedes Feld hat eindeutige Informationen. Es gibt keine Felder mit gleichen Informationen. (Preis1, Preis2 usw.)
Primärschlüssel: Jede Tabelle hat ein eindeutiges Merkmal aus einem oder mehreren Feldern. Es gibt keine doppelten Datensätze.
Funktionale Unabhängigkeit: Eine Tabelle hat keine irrelevanten Daten. Die Daten einer Tabelle decken das Thema ab.
Feldunabhängigkeit: Änderungen müssen in allen Feldern (außer Primärschlüssel) möglich sein. Eine Änderung in einem Feld in einer Tabelle darf sich nicht auf andere Felder der Tabelle auswirken. 

Für "kleine" Datenbankne kommt oft mit diesen Regeln aus; einfach strukturierte Datenbanken können so relativ einfach und schnell erstellt werden.
Ist die zu entwickelnde Datenbank komplexer, so helfen verschiedene streng formale Methoden mit Regeln zur Erstellung von notwendigen bzw. zweckmäßigen Tabellen.

1.  ER-Modellierung:  Grafische Darstellung von Sachverhalten und die Anwendung einiger Regeln für ein Tabellenschema
2.  Normalisierung:    Schrittweises Überprüfen und Zerlegen von Grundtabellen in ein geeignetes Tabellenschema.

ER-Modellierung und Normalisierung sind zwei Verfahren, die unabhängig voneinander eingesetzt werden können.
Wird die ER-Modellierung für ein Entwurf umfassend und korrekt durchgeführt, so ist eine Normalisierung nicht mehr notwendig, da alle Bedingungen für normalisierte Tabellen bereits erfüllt sind.

Wird eine Normalisierung durchgeführt, so können damit nicht alle Vorschriften/Bedingungen abgebildet werden (Generalisierung, Aggregation )

Du solltest dich also mit der Normalisierung beschäftigen.
Im Forum kannst du deinen gesamten Tabellenaufbau mal vorstellen, denn dieser Aufbau ist ist Voraussetzung für eine "gut" funktionierende DB

Gruß Oma


nichts ist fertig!

warhola1900

vielen dank für die ausführliche antwort. habe es nun verstanden und werde nun meine tabelle erstellen:)

warhola1900

Eine letzte Frage stellt sich mir noch:

Muss der Primärschlüssel einer Nebentabelle (z.B. Autor_ID) zwingend Fremdschlüssel der Haupttabelle (z.B. Autor_ID_FK) sein?
Dann stünde ein identischer Wert in beiden Tabellen, einmal als Primärschlüssel, einmal als Fremdschlüssel. Wäre dies richtig?


MzKlMu

Hallo,
ZitatMuss der Primärschlüssel einer Nebentabelle (z.B. Autor_ID) zwingend Fremdschlüssel der Haupttabelle (z.B. Autor_ID_FK) sein?
Ja, das ist richtig. Und die Werte müssen gleich sein, das ist ja auch der Sinn der Schlüssel.

Hast Du meinen Beitrag in #3 gelesen?

Ein Buch kann doch mehr als ein Autor haben, wie willst Du einen weiteren Autor für das gleiche Buch erfassen?
Gruß Klaus

oma

Hallo warhola,

ZitatDann stünde ein identischer Wert in beiden Tabellen, einmal als Primärschlüssel, einmal als Fremdschlüssel. Wäre dies richtig?

du musst, bevor du weitermachst, dich unbedingt mit dem Prinzip von relationalen Datenbanken beschäftigen und dich hierbei mit der Normalisierung von Tabellen beschäftigen.
Dies ist das unbedingte Grundlagenwissen zum weitermachen.

Suche mal im Forum bzw. im Netz u. frage dann weiter!


Gruß Oma
nichts ist fertig!

warhola1900

hallo,
bin soweit mit der erstellung der datenbank fertig, leider sind einige probleme aufgetreten und das verknüpfen funktioniert nicht richtig. könnte ich dir die datenbank per mail schicken, sodass du mal darüberschaust @oma?
grüße

MzKlMu

Hallo,
ohne die Antwort von Oma vorwegzunehemn, aber warum lädst Du die DB nicht hier hoch (mit anonymen Daten)?
Es ist in einem Forum nicht üblich Email zu benutzen. Es sollen ja alle etwas davon haben.
Gruß Klaus

warhola1900

Danke für deine Antwort.Es gelang mir doch noch, Beziehungen zwischen den Tabellen herzustellen. Da ich das erste Mal Access nutze, wäre es super, wenn ihr einen Blick auf die Datenbank werfen könntet; habe die Datei bei RS hochgeladen. Vielen Dank im Voraus!

https://rapidshare.com/files/2625991403/DBMusik.accdb


DF6GL

Hallo,

der link lässt sich nicht (zumindest von mir) öffnen.  Repariere/komprimiere die DB zunäüchst und zippe sie anschliessend. Lad die Datei dann hier im Forum hoch (Datei anhängen im Antwort-Fenster unter Erweiterte Optionen )
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