![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 11.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Baza wygląda jak powyżej. Założeniem jest: Miasto podzielone jest na ulice - tzw. rejony. Każdy pracownik ma przypisane ulice (czasem różne) - niektórzy mają przydzielone połowę ulicy (określone numery) a drugą część ma już inny pracownik. Każdy pracownik jest w pokoju, w niektórych pokojach jest ich kilku, każdy pokój ma przydzielony numer wewnętrzny. I teraz chce przypisać te ulice do pracowników - czyli powinienem w tabeli pracownik wpisać pole idUlica? Czy może założyć nową tabelę rejon(idPracownika, idUlica)? Jeśli wybiorę nazwe ulicy powinno mi się wyświetlić: imię, nazwisko, dyzur, pokoj, wewnetrzny, Ten post edytował koperkuba 5.08.2011, 07:56:50 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 61 Dołączył: 20.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Relacja wiele-do-wielu między pracownikami a ulicami. W takiej tabeli trzymaj też numery budynków lub NULLe jeśli pracownik ma przypisaną całą ulicę.
Kod +----------------+-----------+-----------+-----------+ | idPracownika | idUlicy | numerOd | numerDo | +----------------+-----------+-----------+-----------+ | 1 | 1 | NULL | NULL | | 1 | 2 | 1 | 20 | | 2 | 2 | 21 | 40 | | 2 | 3 | NULL | NULL | Zapytanie:
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 11.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Z numerami w tabeli łączącej pracowników z ulicami nie przejdzie, ponieważ są czasem ulice, gdzie numery są np. w zakresie ale nieparzyste, albo np. "blok socjalny" czy "wiezienie". Dlatego zrobiłem:
Napisałem swoje zapytanie, wyciągające to co chce, czyli pracownika z danymi dla podanej ulicy (zmienna), ale nie wiem czy nie jest przekombinowane - działa, ale coś mi mój nos początkującego mówi, że to zbyt "na siłę". Prosiłbym o przeanalizowanie poniższego zapytania.
Ten post edytował koperkuba 5.08.2011, 10:46:10 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 04:29 |