Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 2 Dołączył: 24.08.2005 Ostrzeżenie: (0%)
|
Witam,
Mam dwie tabele: 1) osoby: id, nazwisko, typ 1 kowalski nauczyciel 2 adamski uczen 3 nowak nauczyciel 4 socha uczen 2) dzienniki_lekcyjne: id, nazwa, id_nauczyciela 1 IVa 3 Tabele sa polaczone relacja pomiedzy polami: dzienniki_lekcyjne.id_nauczyciela <-> osoby.id Problem w tym, ze baza nie pilnuje tego abysmy nie mogli jako id_nauczyciela wstawic identyfikator nalezacy do ucznia. Czy da sie jakos z poziomu relacji to wymusic? ....A moze jakiegos coinstrainta dwutabelowego? Nie mam pojecia jak sie do tego zabrac ...moze jest jeszcze jakis inny sposob? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław |
Postgres ma coś takiego: http://www.postgresql.org/docs/8.4/static/ddl-inherit.html
Działa to (w uproszczeniu) analogicznie do dziedziczenia klas. Jeśli MSSQL nie ma takiego mechanizmu, to jednym z rozwiązań jest napisać procedurę składowaną i BEFORE INSERT / BEFORE UPDATE sprawdzać, czy obiekt z user o podanym id ma odpowiednie atrybuty, jeśli nie to wywalać wyjątek bazy. |
|
|
|
kufalo relacja ...z dodatkowym ograniczeniem? 22.01.2010, 11:27:12
scanner A nie lepiej mieć osobne tabele z nauczycielami i ... 22.01.2010, 12:41:11
prachwal Cytat(kufalo @ 22.01.2010, 11:27:12 )... 22.01.2010, 13:58:45
kufalo CytatNie wiem, czy MSSQL ma dziedziczenie tabel, a... 22.01.2010, 15:40:22 ![]() ![]() |
|
Aktualny czas: 13.06.2026 - 18:41 |