AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Datenbank Frage

Ein Thema von The_Tremendous · begonnen am 13. Dez 2004 · letzter Beitrag vom 13. Dez 2004
Antwort Antwort
The_Tremendous

Registriert seit: 10. Nov 2004
65 Beiträge
 
#1

Datenbank Frage

  Alt 13. Dez 2004, 14:00
Ich muss eine Fahrtenbuchanwendund mit delphi und ParadoxTabellen schreiben.


Dafür habe ich zwei Tabellen: Fahrzeuge und Fahrtenbuch.


Fahrzeuge(Kennzeichen, Hersteller, Typenbezeichnung, Fahrzeugtyp, Fraftstoffart, Anfangskilometer)


Fahrtenbuch(Kennzeichen, Datum, Abfahrtsort, Fahrtziel, Abfahrtszeit, Ankunftszeit, Kilometerstand, Grund, Fahrer, Tankmenge, Tankkosten, Bemerkung)


1) Ist das so schon in der 3. Normalform??

2) Wäre ne andere Tabellenaufteilung sinnvoller??

3) Wie kann ich, da ich die Tabellen Programmieren muss die Schlüssel erstellen.
Wie einen Primer, und wie kann ich einen Sekundärschlüssel erstellen??

4) Sind die von mir gewählten Schlüssel so richtig, oder müssten die anders sein?



Wäre cool, wenn ihr mir helfen könntet.


The_Tremendous
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Datenbank Frage

  Alt 13. Dez 2004, 14:05
Hallo The_Tremendous,

zu 1) So wie ich das sehe sind die beiden Tabellen in der 3. Normalform.
zu 2) das musst du selbst wissen, es gibt weißgottwieviele Möglichkeiten für die beiden Tabellen
zu 3) Du musst die Tabellen nicht programmieren, sondern erstellen. Wie machst du dies? Über die Datenbankoberfläche oder mit SQL?
zu 4) In Tabelle "Fahrtenbuch" musst du einen anderen Primärschlüssel wählen, da mit einem Auto durchaus mehrere Fahrten gemacht werden können, und deshalb der Schlüssel "Kennzeichen" nicht mehr eindeutig ist. Evtl. löst du es mit einer AutoInc-ID und setzt "Kennzeichen" als Foreign Key fest.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: Datenbank Frage

  Alt 13. Dez 2004, 14:07
Zitat von The_Tremendous:
Ich muss eine Fahrtenbuchanwendund mit delphi und ParadoxTabellen schreiben.
Dafür habe ich zwei Tabellen: Fahrzeuge und Fahrtenbuch.
Dir fehlt die Tabelle Fahrer mit Name, Anschrift, Führerscheinnr/klassen, Telefon, Pager, EMail.
Zitat von The_Tremendous:
Fahrzeuge(Kennzeichen, Hersteller, Typenbezeichnung, Fahrzeugtyp, Fraftstoffart, Anfangskilometer)

Fahrtenbuch(KennzeichenDatum, Abfahrtsort, Fahrtziel, Abfahrtszeit, Ankunftszeit, Kilometerstand, Grund, Fahrer, Tankmenge, Tankkosten, Bemerkung)
Das Kennzeichen muss als Feld alleine vorhanden sein!
Abfahrtsdatum & Abfahrtsuhrzeit können in einem Feld gespeichert werden.
Primärschlüsselfelder wären dann Kennzeichen & Abfahrtszeit zusammen.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Datenbank Frage

  Alt 13. Dez 2004, 14:08
Hallo The_Tremendous,

1) ja, es ist schon die dritte Normalform
2) die Aufteilung ist in Ordnung
3) Beim Erstellen der Tabelle kannst du einen * in das Kennzeichenfeld packen, dann wird es zum Primärschlüssel. Wenn du noch einen Sekundärschlüssel brauchst, kannst du diesen auch über die Datenbankoberfläche erstellen. Einfach unter Tabelleneigenschaften "Sekundärindizes" auswählen.
4) Du könntest alternativ auch beiden Tabellen eine ID verpassen, aber du kannst auch das Kennzeichen benutzen.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#5

Re: Datenbank Frage

  Alt 13. Dez 2004, 14:09
Hi...

Nebenbei:
Das mit der 3. Normalform ist so eine Sache... Es ist immer gut in diese Richtung zu denken, aber nicht immer die 3. normalform mit gewalt anzuwenden. Meine persönliche Meinung...


Dein Kennzeichen kann streng genommen kein Primärschlüssel sein. weil 1. das Kennzeichen im Ausland nochmal vorkommen kann und 2. irgendwann der Wagen abgemeldet wird und nach 6 Monaten (glaub) ein Zweites mal auf Deutschlands Straßen fährt.

Der Schlüssel KennzeichenDatum (soll doch der Schlüssel sein, oder?) Kann nur funktionieren, wenn du zu jedem Datum und Fahrzeug auch NUR ein einzigen Eintrag erlauben willst. Wenn du mehr brauchst oder einen nachtrag pflegen willst ist das nicht mehr Möglich.

Meine Empfehlung: Mach eine "nichtssagende" ID, mit Autoincrement. Das ist eine saubere, eindeutige Lösung, die dir irgenswann viel ärger erspart.

Ausserdem brauchst du natürlich zu jedem Deiner Felder Hersteller, Typenbezeichnung, Fahrzeugtyp, Kraftstoff eine eigene tabelle um eine 1:n Beziehung herstellen zu können. Also kommst du mit zwei Tabellen nicht aus.

Hab mir das nur kurz angeschaut, aber das ist erstmal alles was mir so aufgefallen ist.

MfG

Tonic

[Edit]
Ich seh grad, du hast deinen beitrag überarbeitet...

So wie es jetzt ausschaut geht es garnicht. Wenn du in dem Fahrtenbuch das Kennzeichen als primärschlüssel einstzt, dann kannst du für Jeden Wagen jemals nur einen Eintrag machen und nie einen zweiten...
[/Edit]
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Datenbank Frage

  Alt 13. Dez 2004, 14:11
Ich hoffe, dass das "nur" eine Übungsaufgabe ist.
Wenn das regulär eingesetzt werden soll, muss das Programm imho zugelassen werden.
Frag mich jetzt aber nicht wo. Das kann dir aber vermutlich das örtliche Finanzamt mitteilen.
Peter
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Datenbank Frage

  Alt 13. Dez 2004, 14:12
Tabelle für Fahrer wäre sinvoll und eine Tabelle für Orte.

Wenn der Abfahrtsort IMMER gleich ist könnte man bei Tabelle Orte auch die Entfernung hinzuschreiben.


mfg
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz