MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 26.09.2003, 13:57   #1
Julietta
MOF User
MOF User
Standard Datenbankstruktur

SQL Server, Acces- Projekt XP

Halli hallo,
ich stehe vor einer Entscheidung, ob ich meine Datebankstruktur ändern muss oder nicht.
Ich hänge unten die jetzige DB Struktur dran.
Dazu erkläre ich kurz:
Die Tabelle tblHardware enthält alle Hardware einer Firma.
In jedem Datensatz steht auch, welcher Kostenstelle sie zugeordnet ist.
(z.B. ein Schulungsrechner, der von ganz vielen Leuten benutzt wird.)
in manchen Datensätzen steht auch eine UserID, falls der Rechner neben der Kostenstelle auch einer ganz bestimmten Person zugeordnet ist.
Dieses Feld ist also nicht immer gefüllt und gleichzeitig die Verknüpfung zur Tabelle mit allen Mitarbeitern.
Wenn ich mir nun in einem Unterformular alle Hardware anzeigen lassen möchte inklusive der Personen, denen sie ggf. zugeordnet sind, habe ich ein Problem.
Es wird nur die Hardware aufgelistet, die auch einer Person zugeordnet ist und nicht nur einer Kostenstelle, diese sehe ich dann nämlich nicht. Die Übersicht ist also nicht vollständig.
Muss ich, um das zu umgehen, eine kleine Tabelle einbauen, die nur die HardwareID- UserID Zuordnung enthält, und dann die Spalte UserID aus der Tabelle Hardware rausschmeissen?

Ich wäre sehr glücklich, wenn jemand einen Tip für mich hat!!
Vielen Dank im Voraus
Julia
Angehängte Grafiken
Dateityp: jpg tabellenstruktur2.jpg (30,3 KB, 77x aufgerufen)
Julietta ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.09.2003, 14:08   #2
Paul.Ostermeier
MOF Koryphäe
MOF Koryphäe
Standard

am wenigsten Arbeit hättest Du, wenn Du einen User "Catchall" anlegst, dem Du dann bezogen auf eine Kostenstelle alle nicht einem Mitarbeiter zugeordnete Hardware zuordnest .....

ansonsten wirst Du zusätzliche Zuordnungstabellen einführen müssen, Du kannst ja mal das Forum nach dem Stichwort "Normalisierung" durchsuchen
Paul.Ostermeier ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.09.2003, 14:12   #3
J_Eilers
MOF Guru
MOF Guru
Standard

Hallo,

IMO brauchst du dafür nichts zu verändern. Evtl solltest du den Standardwert dort auf 0 stellen. Da ich nicht weiß, wie deine Abfrage lautete kann ich nur raten, aber versuche doch mal ob du mit einem "*" weiter kommst oder dir vielleicht ein UNION etwas bringt.
HTH

__________________

Bis denn dann
Jan


FAQ | relationale Datenbanken | Grundlagen | DBWIKI | Josef's Access Seite | Meine Homepage und Access | Abhängigkeiten | Suchen und Nachschlagen | Tab2Web |
SQL-Codes bitte formatieren und als Code posten. Danke!

Bitte keine Fragen als PN! Probleme gehören ins Forum und mit Feedback kann man sie auch lösen.
J_Eilers ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.09.2003, 14:30   #4
Julietta
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo,
ich habe jetzt mal nach der Normalisierung gesucht, ist ja ein schwieriges Thema..
Ich denke, es ist grundsätzlich nicht gut,Null Felder zu haben..
aber vielleicht habe ich wirklich noch nicht alles probiert, um die Abfrage erfolgreich hinzubekommen.
Wenn ich statt Null in die Felder der UserID eine 0 eintragen würde, dann ginge das doch nur, wenn es auch einen Dummie User gäbe, der die ID 0 besitzt, oder?
Die UserID ist ein Autowert bei mir, geht das dann überhaupt so?

Ich werde wohl noch ein bißchen mit der Abfrage herumbasteln..

Vielen Dank
Julia
Julietta ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.09.2003, 15:33   #5
Nouba
MOF Guru
MOF Guru
Standard

Paul scheint mit seinem Statement schon richtig zu liegen. Du könntest ja mit Deiner Struktur ganz komische Konstellationen erstellen. Mitarbeiter A gehört Kostenstelle Z an. Die Hardware wird der Kostenstelle Y zugeordnet und erhält als User den Mitarbeiter A zugewiesen. Darf, kann oder muß das so sein?

__________________

Gruss Nouba

Codekabinett - Tipps zu Access, VBA und Co.
Nouba ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.10.2003, 11:33   #6
Julietta
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo,
bitte entschuldigt, dass ich mich so spät melde...
Es soll nicht so sein, dass oben genannte Logikfehler auftreten können..
mit den Kostenstellen, Mitarbeitern und Hardware.
In meinem Programm ist es so, dass eine Hardware eine Kostenstelle haben muß.
Dann kann man die Hardware einem Mitarbeiter einer anderen Kostenstelle zuordnen und automatisch wird dann die Kostenstelle der Hardware auf die Kostenstelle des Mitarbeiters geändert.Zusätzlich wird dann in der Spalte UserID der Hardware der neue Mitarbeiter eingetragen.
Wenn ich das so programmintern behandele ist das doch in Ordnung, oder??
Blöd ist eben nur, dass nicht jede Hardware einen User hat, also Nullfelder in der Spalte entstehen.
Da bekomme ich Abfrageprobleme, aber ich werde mir ein Programmierbuch kaufen und sehen, ob ich nur nicht den richtigen Befehl kenne, um mir alle Hardware inklusive der UserNamen aus einer gejointen Tabelle anzeigen zu lassen.
Falls einer von Euch einen Supertip hat, her damit!
Und vielen Dank
Julia
Julietta ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.10.2003, 11:39   #7
khs-hh
MOF Meister
MOF Meister
Standard

Genau dieselben Probleme haben wir mit unserer Inventarverwaltung auch.

Nicht jeder PC ist einer Person zuzuordnen. Und damit hat man keine Kostenstelle.

Wir haben das so gelöst, dass es alternativ eine Raum-Tabelle gibt. Die Räume sind ebenfalls mit Kostenstellen versehen.

Die Inventargegenstände können sowohl einer Person als auch einem Raum zugeordnet sein. beides ist optional.

Ich weiss, dass das nicht optimal ist, aber mir fällt keine bessere Lösung ein.

__________________

Gruss Kai
khs-hh ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.10.2003, 11:52   #8
Julietta
Threadstarter Threadstarter
MOF User
MOF User
Standard

Das ist bei mir so,
Jeder PC hat eine Kostenstelle, entweder die gleiche wie sein Benutzer, die des Kellers, wenn er gar nicht genutzt wird oder die des Bereiches, in dem er benutzt wird, wenn er keinen genauen User hat.
Das sind dann Schulungs PCs und so weiter.
Da ist das Problem nicht, aber wenn ich nun in der Hardwaretabelle einen PC habe, der eine Kostenstelle hat aber keinen User ( Schulungspc)
und einen PC, der eine Kostenstelle und einen User hat.
Dann möchte ich mir in einer Abfrage alle PC's anzeigen lassen. Bei denen die einem Mitarbeiter zugeordnet sind, soll auch der Username aus der Tabelle Mitarbeiter angezeigt werden. Also ein Join.
Bei mir werden dann aber nur die PC's angezeigt, die auch einem Mitarbeiter zugeordnet sind, bei denen Access in der Join Tabelle ein Gegenstück findet.
Vielleicht werde ich auch einen Dummieuser einrichten, damit alle PC's immer auch einem User zugeordnet sind, aber ich habe das blöde Gefühl, dass es nicht die sauberste Lösung ist.
Was denkst Du?
Julia
Julietta ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.10.2003, 12:04   #9
Julietta
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo,
ich glaube, ich habs, mit einem Left Join müsste es gehen!!
Werde es jetzt mal ausprobieren!
Julia
Julietta ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.10.2003, 12:08   #10
Julietta
Threadstarter Threadstarter
MOF User
MOF User
Standard

Ja, so klappts,
in der Abfrage auf die Verbindung gehen, Eigenschaften und dann
die Hardwaretabelle, also die mit den Null Feldern mit einbeziehen.
Falls es jemanden interessiert!
Julia
Julietta ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:50 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.