![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 4.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam baze z filmami w niej tabele FILMY z tytulami,aktorami,itd oraz inna tabele AKTORZY a w niej imie i nazwisko aktora teraz dodajac film do bazy wymyslilem ze do tabeli FILMY nie bede dopisywal aktorow tylko ich ID w tabeli AKTORZY jesli w jednym filmie gra wiecej aktorow to musze wpisac pare ID do pola w tabeli wiec wymyslilem ze pole aktorzy w tabeli FILMY to CHAR i ID aktorow bede rozdzielal przecinkiem np: 2,4,14 i tu zaczyna sie problem bo jesli pozniej bede chcial wyszukac film z jakims tam aktorem o ID 1 i zadam zapytanie do bazy to przeciez wywali mi tez te z aktorami np: 2,4,14 bo w tym tez znajduje sie 1 Czy jest jakis typ danych ktory pozwala na wpisanie wiekszej ilosci INT rozdzielonych jakims separatorem? A moze jakis inny pomysl jak rozwiazac ten problem? Inna rzecz na jaka wpadlem to to zeby do kazdego filmu tworzyc nastepna mala tabelke z ID aktorow ktorzy w nim graja w w polu aktorzy w tabeli FILMY tylko nazwe tej tabeli Ale teraz jesli bede szukal filmow z aktorem x to najpierw sprawdze jego ID w tabeli AKTORZY pozniej bede musial przeszukac wszystkie tabelki z aktorami grajacymi w filmach i tu zaczyna sie problem bo nie wiem czy jest mozliwosc zadania zapytania do bazy cos w stylu : ZNAJDZ MI TABELE GDZIE POLE JAK 'x' (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) mysle ze nie wiec bede musial wydac wszystkie nazwy tabel bo beda one lgenerowane losowo i przeszukac kazda z nich wydaje mi sie ze to troche robota na okolo Prosze naprowadzic mnie na jakies sensowne rozwiazanie bo troche sie zakrecilem i stoje w miejscu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) ![]() ![]() |
TYpowa relacja n->m.
Zalatwia sie to trzecia tabela w ktorej masz id_filmu i id_aktora Np: filmy: Kod 1 | terminator
2 | conan aktorzy: Kod 1 | arnold
2 | wrenek tablica laczaca: Kod aktor | film
1 | 1 1 | 2 2 | 2 oznacza ze arnold gral w terminatorze i conanie a wrenek tylko w conanie ale za to razem z arnoldem zapytania: kto gral w conanie ? [sql:1:0ecff77740] select aktor from aktorzy, laczaca, filmy where aktorzy.id = laczaca.id_aktora and laczaca.id_filmu = filmy.id and film='conan' [/sql:1:0ecff77740] gdzie gral arnold ? [sql:1:0ecff77740] select film from aktorzy, laczaca, filmy where aktorzy.id = laczaca.id_aktora and laczaca.id_filmu = filmy.id and aktor='arnold' [/sql:1:0ecff77740] PS. admini: zalozcie moze w podswietlaniu ze slowo kluczowe to <znakbialy>slowo_kluczowe<znakbialy>, co ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 19:26 |