SQL Server - Tabellendefinition

ffw-hans

New Member
Hallo Leute,

ich habe zwei kurze Fragen, bei denen ich eure Hilfe bräuchte:

Ausgangslage: Ich habe eine Datenbank mit zwei Tabellen gegeben: Tabelle CD mit Primärschlüssel "cnr", und Tabelle Stücke mit "snr" als PK und "scnr" als Fremdschlüssel. Desweiteren sind noch die Attribute "nummer" und "titel" vorhanden.

Meine Fragen:

1. Wie kann man sicherstellen, dass für ein Stück immer zumindest entweder eine Nummer oder ein Titel existiert?

2. Wie kann man sicherstellen, dass das letzte Stück einer CD nicht gelöscht werden kann?

Ich finde nach langem rumprobieren einfach keine Lösung. Es wäre super, wenn mir jemand helfen könnte.

MfG ffw-hans
 
Das kannst Du IMHO nur programmiertechnisch lösen. Du könntest z.B. auf der Datenbankebene mit FOREIGN KEYS sicherstellen, dass kein Album gelöscht werden kann, wenn noch Stücke in der DB sind, aber umgekehrt geht das nicht.
 
Man kann heute schon vieles über Datenbanken lösen, allerdings kommt es immer darauf an, welche Datenbanksoftware man einsetzen kann/will.
Ein beliebtes Stichwort, wenn es um komplexe Integritätsüberprüfungen geht ist "Trigger". Von Triggern gibt es eine ganze Menge Varianten, z.B. vor dem Löschen/Updaten etwas überprüfen oder auch danach.
Vielleicht einfach mal mit dem Thema beschäftigen, damit kann man eine Menge erreichen.
 
Back
Top