• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

relacyjna baza danych jdbc

Object Storage Arubacloud
0 głosów
140 wizyt
pytanie zadane 6 czerwca 2018 w SQL, bazy danych przez Adrian Paź Obywatel (1,270 p.)

Witam! Czy jeżeli już uda mi się stworzyć relacyjną baze danych (z małą waszą pomocą....) z następującymi tabelami:

czytelnicy(id_czytelnika, imie, nazwisko, login)

ksiazki(id_ksiazki, tytul, autor)

wypozyczenia(id_wypozycz, id_czytelnika, id_ksiazki)

(btw jak zrobić taką relację 3 tabel POMOCYY)

to czy mogę potem np zrobić w celu wyświetlenia wartości w postaci Jan Kowalski - Harry Potter, Rowling

używając czegoś takiego:

select imie, nazwisko, tytul, autor FROM czytelnicy, ksiazki WHERE id_wypozycz >0;

Jak nie to jak to można zrobić? w tabeli wypozyczenia mam wpisane id_czytelnika i id_ksiazki. Jak odczytac wiec wartości z tych dwoch tabel o id takim jaki jest w id_wypozycz? No i nie chce zeby wyswietlało wszystkich pracowników tylko tych których id są w wypozyczeniach... Jestem wdzieczny za każdą pomocną odpowiedź :)

komentarz 6 czerwca 2018 przez Wiciorny Ekspert (269,710 p.)
pytanie brzmi co ma byc "kluczem relacji" jakie atrybuty posiadaja poszczegolne elementy :) inwencja twórcza
komentarz 6 czerwca 2018 przez Adrian Paź Obywatel (1,270 p.)
id_czytelnika może być :D ale patrząc na komentarz Catalonya1992 to tak się zastanawiam po co tworzyć relacyjną bazę jak można połączyć tabele i tak zadziała :D Jakieś tipy? :D

1 odpowiedź

+1 głos
odpowiedź 6 czerwca 2018 przez Catalonya1992 Mądrala (5,440 p.)
W poprzednim poście napisałem rozwiązane, musisz zmienić tylko select

select c.nazwisko||' - '||k.tytul||', '||t.autor
from czytelnicy c
inner join wypozyczenia w on c.id_czytlenika = w.id_czytelnika
inner join ksiazki k on k.id_ksiazki = w.id_ksiazki;

W twoim zapytaniu brakuje warunku złączenia tabel, więc wychodzi Ci iloczyn kartezjański.
Nie połączysz tabeli czytelnicy z książki bez tabeli wypożyczenia, jeśli te tabele będą miały taką strukturę.
komentarz 6 czerwca 2018 przez Adrian Paź Obywatel (1,270 p.)
Koniecznie musisz zrobić film na temat łączenia i wyjaśnić to tak obrazowo jak to robisz w innych filmach bo super tłumaczysz! Dzięki wielkie! Przepisać nie sztuka, więc czeka mnie zrozumienie Twojego przyszłego odcinka :D
komentarz 6 czerwca 2018 przez Adrian Paź Obywatel (1,270 p.)

@Catalonya1992, Tak w ogóle bo już 2 wątki takie same po sobie założyłem bo nikt nie odpowiada :D Jak zrobić tak by program reagował na ograniczenie UNIQUE? Wpisuje tak jak na jakiejś stronie angielsiej ktoś pokazał xD ale nie działa mi i mogą się powtarzać :(

login CHAR(10) CONSTRAINT unique_val UNIQUE

Czy coś źle jest napisane?

komentarz 6 czerwca 2018 przez Catalonya1992 Mądrala (5,440 p.)
Nie widzę błędu w powyższym zapisie. Pokaż cały kod tworzący tabelę oraz 2 przykładowe inserty.
komentarz 6 czerwca 2018 przez Adrian Paź Obywatel (1,270 p.)

Hah nie wiem czemu ale wróciłem do domu, ktoś mi polecił wpisanie

CREATE UNIQUE INDEX unique_login ON czytelnicy(login)

ale wyrzucało mi, że "Contrain unique_login is already exists" więc zakomentowałem i napisałem jeszcze raz tamto żeby Ci wysłać i... działa.. :D

komentarz 6 czerwca 2018 przez Catalonya1992 Mądrala (5,440 p.)
Unikalność kolumn można uzyskać na kilka sposobów. Mogłeś to też zrobić indeksem tak jak wyżej, aczkolwiek indeks a constrain to dwie zupełnie inne rzeczy :)

https://community.oracle.com/thread/1033157

Podobne pytania

0 głosów
0 odpowiedzi 180 wizyt
pytanie zadane 16 września 2023 w SQL, bazy danych przez martinez369 Początkujący (460 p.)
+1 głos
3 odpowiedzi 200 wizyt
pytanie zadane 5 czerwca 2018 w SQL, bazy danych przez Adrian Paź Obywatel (1,270 p.)
0 głosów
0 odpowiedzi 246 wizyt

92,555 zapytań

141,404 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...