Witam,
Ucząc się oracle'owego SQLa natrafiłem na tak zdefiniowany problem:
Mamy dwie tabele: KATEGORIA i PRODUKT. Kluczem głównym tabeli KATEGORIA jest ID, klucz główny tabeli PRODUKT składa się z kolumn KATEGORIA_ID (który jest kluczem obcym wskazującym na klucz główny tabeli KATEGORIA) i ID. Oprócz tego w tabelach KATEGORIA i PRODUKT jest jeszcze kolumna NAZWA. Poza kluczami głownymi i obcym, innych ograniczeń nie ma. Jest również widok utworzony przy pomocy następującego polecenia: CREATE OR REPLACE VIEW produkt_kategoria AS SELECT k.id, k.nazwa, p.id, p.nazwa FROM kategoria k, produkt p WHERE k.id = p.kategoria_id; Moje pytania są następujące: - dlaczego, korzystając z tego widoku można zmodyfikować wartości PRODUKT.ID i PRODUKT.NAZWA, a nie można KATEGORIA.NAZWA? KATEGORIA.ID rozumiem, że nie można ze względu na klucz obcy. - dlaczego, korzystając z tego widoku nie można dodać wiersza ani do tabeli KATEGORIA? bo do PRODUKT dlatego, że nie wszystkie składowe klucza głównego zawarte są w poleceniu budującym widok. Ale w przypadku KATEGORII są wszystkie.
Z góry dziękuję za wszelakie podpowiedzi.
Oracle Operacje na tabelach wykonywane za posrednictwem widokow
pyt
Q