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

Relacje - Xampp PhpMyAdmin - Baza danych

Object Storage Arubacloud
0 głosów
2,311 wizyt
pytanie zadane 20 marca 2017 w SQL, bazy danych przez Turqus Obywatel (1,420 p.)

Witam mam pytanie odnośnie relacji czy dobrze to robię i może być tak: (jeszcze nie jest skończone)

Drugie pytanie jak łączę to tylko da się po typ'ach INT w xampp phpMyAdmin?

1 odpowiedź

0 głosów
odpowiedź 20 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)
Słaba rozdzielczość.

Dobrze.

Nie tylko po Int'ach.
komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)

Jak lacze Rezerwacja data z Inforezerwacja data wyskakuje blad:

komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)

\

Lepsza rozdzielczosc

komentarz 20 marca 2017 przez xandros Nałogowiec (29,450 p.)
> Nie tylko po Int'ach.

Ale po jakimś identifikatorze, np. UUID. Radziłbym nie tworzyć fk w oparciu o created_at =/
komentarz 20 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)
Nie robi się relacji po samej dacie bo to nie jest jednoznaczne. Wtedy będziesz mieć połączenie typu wiele do wielu. I tak na prawdę nie będziesz wiedział co z czym jest połączone.

Do tabeli 'rezerwacje' dodaj pole 'inforezerwacje_id' INT(11). Gdzie będziesz trzymał id konkretnej informacji o rezerwacji.
komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)

a pytanie można robić inne relacje w xampp jak jeden do jeden? bo wszędzie szukałem i nie mogę znaleść a na ta chwilę taki efekt:

Dobrze robie?

Zaraz poprawie to co Pan napisał

komentarz 20 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)
Można jeden do wielu na przykład.

Jeden klient może mieć wiele rezerwacji. Nie tylko jedną.
komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)
Tylko jak to zrobic w XAMPP?
komentarz 20 marca 2017 przez xandros Nałogowiec (29,450 p.)

Ja jeszcze dodam, byś wrzucił obrazki na biggura, bo tutaj nic nie zobaczymy.

komentarz 20 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)
Z głową. :-)

To jakiego typu masz relacje zależy jakich pól do niej użyjesz. Nie nadajesz typu ręcznie tylko 'wirtualnie'.
komentarz 20 marca 2017 przez xandros Nałogowiec (29,450 p.)

> Tylko jak to zrobic w XAMPP?

Jest pare opcji. 

  1. Szukasz tych opcji w panelu phpMyAdmin
  2. wchodzisz w phpMyAdminie w zakladke SQL i wpisujesz odpowiednie zapytanie. bedzie w stylu ALTER TABLE 'rezerwacje' ADD COLUMN... (poszukaj w manualu)
komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)
może Pan tą wiadomość jakoś rozszerzyć bo nie rozumiem troszkę,

 

link:

http://fotowrzut.pl/2H6PT9KLAY

(z google znalazlem strone do wrzucania)
komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)
http://fotowrzut.pl/IAJPXLYFVO Tutaj robi się inne relacje?
komentarz 20 marca 2017 przez xandros Nałogowiec (29,450 p.)
Tutaj się robi FK i relacje po stronie mysqla. Typu, co ma się stać z danym rekordem, jeżeli coś zrobimy z przypisanym do niego rekordem z innej tabeli.
1
komentarz 20 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)
Coś mi nie pasuje w tych Twoich relacjach!

Pozamieniaj te varchary w tabeli 'ksiazka' na pola typu INT!

ksiazka.wydawnictwo_id -> wydawnictwo.id - relacja jeden do wielu. Jedna książka może mieć jedno wydawnictwo. Ale jedno wydawnictwo może być w wielu książkach.

ksiazka.gatunek_id -> gatunek.id

ksiazka.autor_id -> autor.id

itd.

A wiem po co to zrobiłeś. Chciałeś w ksiązce mieć informacje tekstowe. Tak się nie robi. Do tego służą np. widoki. Tworzy się je za pomocą polecenia w SQL z odpowiednimi join'ami. Wtedy ładnie Ci wyciągnie informacjie o Autorze, Gatunku itp.
komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)
Zrobilem po varchar bo robiac relacje pozniej wpisujac dane w tabeli wyskakuje nie identyfikatory a nazwy nie jest tak lepiej? musi byc po unikatowych id?
komentarz 20 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)
Tak musi. Chyba że w tabelach Autor czy Gatunek pola typu Varchar będziesz miał unikatowe.

Ale z drugiej strony zastanów się nad pojemnością Twojej bazy.

W ksiązkach trzymasz pola Varchar(100) a pola typu INT mają 11 znaków. Co więcej miejsca zabiera?
komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)
Czyli przywrocic wszystko na ID okej, tylko teraz głowie się z tymi relacjami bo:

 

Jak łącze relację to jest tak że:

Pokazuję Wybierz klucz odwołujący

czyli skąd pobierze dane, a potem klucz zewnętrzny gdzie je przekaże no to jak robię :

Klient.gatunek klucz odwołujący do gatunek.nazwa klucz zewnetrzny, to pobiera klient.gatunek nazwe z gatunek nazwa a jeśli zrobię na odwrót to gatunek.nazwa bedzie pobieralo z klient.gatunek czyli i tak i tak relacja jeden do jeden to jak z tym jeden do wielu?:/ nie rozumiem
komentarz 20 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)
edycja 20 marca 2017 przez Michał Kazula
A czy pole gatunek.id masz ustawione jako AI (AUTO_INCREMENT)? Bo coś mi tu śmierdzi.

Podeślij plik sql. bazy (Eksport bazy do pliku) to Ci sprawdzę.
komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)
w tabeli gatunek, id jest auto increment
komentarz 20 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)
Podeślij plik *.sql z bazą.
komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)
http://wrzucajplik.pl/download/232526f854e4ea91e2a6fb5f3f93c4af.html

 

Pobieranie z pomaranczowego paska tam odliczanie jest
komentarz 20 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)

Poprawiona baza:

Link do bazy - link

komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)
I jest tam jeden do wielu, wiele do wielu np??? zebym wiedzial gdzie patrzec by sie wzorowac
komentarz 20 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)

Na PW Ci napisałem:

Typ relacji zależy od strony w którą patrzysz:

książka.wydawnictwo_id <-> wydawnictwo.id.
Jedna książka jedno wydawnictwo (jeden do jeden).
Jedno wydawnictwo wiele książek (jeden do wielu)

komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)
Dziekuje bardzo, jestes wielki :)
komentarz 20 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)
Tak na przyszłość. Staraj się używać języka EN przy tworzeniu baz. Trzymaj tą konwencję co Ci zrobiłem.
komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)
W tym pliku nie mam relacji miedzy ksiazka a autor gatunek dostawcy wydawnictwo
komentarz 20 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)

A to co jest?

komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)

Gdzie Pan wszedl w wewnetrzne relacje w xampp?

komentarz 20 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)
Nie xampp tylko phpMyAdmin.

Tabela->Struktura->Relation view
komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)
To nie załadowało mi moze byc roznica wersji phpMyAdmina?? to ja skoncze to sam polacze relacje na Widoku i bedzie tak?
komentarz 20 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)
Tak
komentarz 20 marca 2017 przez Turqus Obywatel (1,420 p.)
OKej Dziekuje :)

Podobne pytania

0 głosów
1 odpowiedź 558 wizyt
pytanie zadane 27 marca 2017 w SQL, bazy danych przez Turqus Obywatel (1,420 p.)
0 głosów
1 odpowiedź 1,160 wizyt
pytanie zadane 12 marca 2017 w Systemy operacyjne, programy przez Turqus Obywatel (1,420 p.)
0 głosów
1 odpowiedź 491 wizyt
pytanie zadane 12 marca 2017 w Systemy operacyjne, programy przez Turqus Obywatel (1,420 p.)

92,596 zapytań

141,445 odpowiedzi

319,718 komentarzy

61,980 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!

...