Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> relacja ...z dodatkowym ograniczeniem?
kufalo
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kufalo
post
Post #2





Grupa: Zarejestrowani
Postów: 251
Pomógł: 2
Dołączył: 24.08.2005

Ostrzeżenie: (0%)
-----


Cytat
Nie wiem, czy MSSQL ma dziedziczenie tabel, ale gdyby to był PostgreSQL, to zrobiłbym zapewne tak, że tabele uczeń i nauczyciel dziedziczyłby po tabeli osoba.


A czy 'dziedziczenie tabel' to jakas specjalna funkcjonalnosc bazy??
Czy robi sie po poprostu relacje jeden do jednego pomiedzy polami:
osoby.id <-> nauczyciele.id
osoby.id <-> uczniowie.id
?

Cos jak drugi sposob stad:
http://kosciak.blox.pl/2007/11/Mapowanie-d...ych-bazach.html

Problemem jest jednak dodawanie danych poniewaz trzeba wstawiac w transakcji dane do dwoch tabel jednoczesnie...
Byc moze ten mechanizm w PostgreSQL zalatwia ta niedogodnosc?

Prawdopodobnie w MSSQL nie ma czego takiego jak dziedziczenie tabel.

Ten post edytował kufalo 22.01.2010, 15:41:54
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.06.2026 - 18:41