| pelikan |
Geschrieben am: Di 24.08.2004, 12:11
|
|
AyomRank 1 ![]() ![]() Gruppe: Member (inaktiv) Beiträge: 3 Mitglied seit: 24.08.2004 |
Hallo,
ich habe ein Problem mit den Datenbank Layout das mich schon länger beschäftigt. Mit MySQL ist es möglich ein Feld als Unique zu kenzeichnen. Das heist der zugewiesene Wert darf kein zweites Mal vorkommen. Nun mein Problem ist es das ich diese Funktion für zwei Felder brauche. Also Der Wert aus Feld1 darf nicht doppelt vorhanden sein und darf auch nicht in Feld2 vorhanden sein. Habe bis jetzt noch nicht einmal im Ansatz etwas gefunden dass ich verwenden kann. Es geht darum, dass ich 1:n beziehungen Habe und diese nicht 2mal vorkommen dürfen. Also Tabelle1 verweist auf Tabelle2 (1:N) Tabelle3 verweisst ebenfalls auf Tabbelle2 (1:N) darf aber auf keinen Datensatz verweisen, auf den schon Tabelle1 verweist. MFG Pelikan |
![]() |
| Alain_Aubert |
#2 Geschrieben am: Mi 25.08.2004, 09:36 (+21:25)
|
||
|
Ayom Slave Gruppe: Admin Beiträge: 4826 Mitglied seit: 25.09.2003 |
Lieber Pelikan Mir ist nicht ersichtlich, was du erreichen möchtest. Mit schönen Input-Funktionen kannst du deine Bedingen mit einfach Queries prüfen, aber zumindest ich benötige Genauere Beschreibungen.
Was ist das Int? Ausserdem ist mir nicht ganz klar, ob es sich um zwei Werte in einer Tabelle handelt, oder um Knoten von der 1sten und 3ten Tabelle 2ten Tabelle, wobei kein Knoten der 2ten doppelt geknüpft werden darf?!? Um was gehts so.... genau...? ;-) |
||
![]() |
| pelikan |
#3 Geschrieben am: Mi 25.08.2004, 15:58 (+06:22)
|
|
AyomRank 1 ![]() ![]() Gruppe: Member (inaktiv) Beiträge: 3 Mitglied seit: 24.08.2004 |
ok
Ich habe eine PC Tabelle und eine Drucker Tabelle Dazu kommt noch eine dritte Tabelle mit IP Adressen ich habe also in der Tabelle IP Adressen zwei FKs wobei einer mit der PC Tabelle der andere mit der Drucker Tabelle verknüpft ist. ich möchte jetzt verhindern. dass eine IP Adresse gleichzeitig an einen Drucker und an einen PC vergeben werden kann. Indem bestimme, dass nur eines der beiden Felder in der IP Tabelle ausgefüllt werden darf. Dies sollte möglichst auf Datenbank nicht erst auf Programm ebene geschehen. Und ja der Keys sind alle Integer. MFG Pelikan |
![]() |
| eVolver |
#4 Geschrieben am: Mi 25.08.2004, 16:29 (+00:30)
|
![]() AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 298 Mitglied seit: 23.08.2004 |
IMHO ist diese DB-Struktur gefährlich inkonsistent.
Nach gängiger Praxis würde man es eher so machen: Tabelle Clients ================ ID NAME TYP (Zur unterscheidung ob PC oder Drucker) Tabelle IP ================ ID IP Tabelle ClientIP ================ ID IDCLIENT IDIP Du hast also die Entitäten Clients und IPs und die assoziative Entität ClientIP, welche diese beiden n:n verbindet. In dieser Tabelle kannst Du dann einen Unique Index auf IDCLIENT und IDIP definieren. Hope I helped -------------------- Ständig auf der Suche nach neuen Aufträgen im Bereich Web-Development! >>> www.evolver.ch
www.britshop.ch - British food online! |
![]() |
| Hans-Werner |
#5 Geschrieben am: Mi 25.08.2004, 19:20 (+02:50)
|
![]() AyomRank 6 Gruppe: Experten Marketing Beiträge: 546 Mitglied seit: 23.03.2004 |
Hallo zusammen,
eine gute und vernünftige Lösung! Sollte es allerdings in der Client-Tabelle weitere beschreibende Elemente geben, die sich nur auf den PC oder nur auf den Drucker beziehen, wäre sie nicht mehr in der 3. Normalform. Dann würde sich eine Trennung anbieten und logischerweise auch zwei assoziative Entitäten mit entweder/oder-Beziehung zur IP-Tabelle. Schöne Grüße Hans -------------------- Dumme Benutzer gibt es nicht, es gibt nur schlecht gestaltete Webseiten.
|
![]() |
| eVolver |
#6 Geschrieben am: Mi 25.08.2004, 20:41 (+01:21)
|
![]() AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 298 Mitglied seit: 23.08.2004 |
Correct, nuff said!
-------------------- Ständig auf der Suche nach neuen Aufträgen im Bereich Web-Development! >>> www.evolver.ch
www.britshop.ch - British food online! |
![]() |
| pelikan |
#7 Geschrieben am: Do 26.08.2004, 11:39 (+14:57)
|
|
AyomRank 1 ![]() ![]() Gruppe: Member (inaktiv) Beiträge: 3 Mitglied seit: 24.08.2004 |
mahlzeit,
genau da ist der hacken in der pc tabelle gibt es ne menge werte die bei den druckern nicht sind. Ich bin aber fasst schon so weit es so zu machen. Mir fällt da keine andere Lösung mehr ein. @Hans-Werner was du meinst hab ich nicht verstanden. MFG Pelikan |
![]() |
| eVolver |
#8 Geschrieben am: Do 26.08.2004, 13:21 (+01:42)
|
![]() AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 298 Mitglied seit: 23.08.2004 |
Es gäbe natürlich noch die Möglichkeit in der Tabelle Clients
nur die Attribute abzulegen, welche für Drucker und PC's zutreffen und dann 2 "attributive" Tabellen namens PC und Drucker zu erstellen, welche per FK auf die Tabelle Clients verweisen und die gerätespezifischen Attribute enthalten. -------------------- Ständig auf der Suche nach neuen Aufträgen im Bereich Web-Development! >>> www.evolver.ch
www.britshop.ch - British food online! |
![]() |
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/2710
![]() |
![]() ![]() ![]() |
| Themen Titel | Autor | Views | Antworten | Letzte Aktion |
| Mehrere Bildschirme an einem PC | Seth.Gecko | 2128 | 14 | Mo 24.11.2008, 15:12 |
| Mehrere TexterInnen gesucht | Ansgar Sadeghi | 188 | 3 | Do 13.11.2008, 19:59 |
| Mehrere LCD Tv´s an einem Rechner | sniper007 | 212 | 9 | Sa 5.07.2008, 07:19 |
| Load Anzeige Tool für mehrere Server | Marc Schuler | 566 | 12 | Mo 26.05.2008, 13:11 |
| sessionfileds über mehrere seiten | easymoments | 156 | 4 | Do 22.05.2008, 14:22 |
| Mehrere Domains zu verkaufen | Duke | 297 | 2 | So 4.05.2008, 15:52 |
| Mehrere Links downloaden | woody | 205 | 4 | Do 1.05.2008, 11:54 |
| Mehrere Kunden auf Vserver | Sancheck | 172 | 2 | Mo 28.04.2008, 06:43 |
| Skalierbarkeit/Verteilen auf mehrere Server | cr4m0 | 181 | 2 | Fr 11.04.2008, 21:52 |
| MySQL für mehrere Anwendungen verwenden? | LindaXtra | 155 | 2 | Sa 22.03.2008, 11:56 |
Anzeige - [Hier werben / Mediadaten]















