Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Primärschlüssel, Fremdschlüssel, etc.

Empfohlene Antworten

Veröffentlicht

Hi!

Hab mal eine etwas einfachere Frage:

Also, ich habe eine Tabelle (Tab1) mit einem Primärschlüssel welcher auf drei Spalten gelegt ist. Außerdem habe ich noch eine Tabelle (Tab2), welche eine der selben Spalten aus Tab1 besitzt. Auf diese Spalte in Tab2 ist ein Primary Key sowie ein Foreign Key, welcher auf dieselbe Spalte in Tab1 zeigt, gelegt.

Nun zu dem Problem:

Ich möchte aber nur eine Spalte aus Tab1 vergleichen. Da in der Tabelle aber die drei Spalten als Primary Key angegeben sind, versucht SQL immer die drei Spalten zu vergleichen. Ich möchte aber nur eine der drei.

Gibt es irgendeine andere Möglichkeit (einen zweiten Primärschlüssel(?) oder noch einen anderen Key?) womit ich das Problem lösen kann?

Würde mich um Antworten freuen!

Danke im Voraus!

MfG

Chriss

So kann mans! ;-) :

create table ZUORDNUNG

(

BESTELLUNGSNUMMER INTEGER not null,

ARTIKEL_NAME VARCHAR2(30) not null,

MENGE INTEGER,

constraint PK_ZUORDNUNG primary key(BESTELLUNGSNUMMER, ARTIKEL_NAME)

)

/

das geht auch so ganz normal - zwei spalten markieren und schlüssel drauf tun... is halt gedacht wenn man aus zwei spalten eine eindeutige kombination bekommt, nicht aber aus einer der beiden...

Hi,

mit welcher DB arbeistest Du denn?

Gruß Tiana

Arbeite mit einer Oracle DB also SQL.

Hi,

na SQL war mir schon klar. Also bei Access z.B. hätetst Du die Möglichkeit gehabt die anderen beiden Felder auszublenden.

OK, also. Da die DB versucht immer alle Schlüsselfelder zu vergleichen, gehe ich davon aus, dass Du mit einem Designer arbeitest???

Ansonsten verstehe ich dein Problem nicht, da Du doch dein Ergebnis mit einem einfachen SQL-Statement erreichen könntest (oder ist Oracle so anders???).

SELECT * FROM TBL1,TBL2 Where TBL1.Feld=TBL2.Feld

Oder???

Gruß, Tiana

Mein Vorgesetzter hat mir grad einen Tipp gegeben:

Select Telefonnummer from Tiana

where Alter >= 18

and Groesse like '1,80m'

and Oberweite between 70 and 100;

Deine Lösung ist zwar ganz okay, aber damit wäre das per Software abgesichert und das ist nicht sooo toll. Ich versuchs jetzt mit sogenannten alternativen Schlüsseln. Das sind keine richtigen Primär-Schlüssel, erzwingen aber trotzdem eine Eindeutigkeit. Einen richtigen Primär-Schlüssel leg ich dann nur auf die Spalte, die ich vergleichen will.

Trotzdem Danke für deine Hilfe!

Hi,

kein Problem. Bin leider kein ORACLE-Spezialist, aber manchmal reichen ja auch die bescheidenen SQL-Kenntnisse aus!

Gruß, Tiana

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.