hur ser din databas ut?
------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=20" TARGET=_blank>Har du husdjur hemma?
</A>Varför får man inte dricka saltvatten?
35 svar · 505 visningar · startad av timedia
På min filmsajt listar jag skådisar som har spelat i aktuell film. Jag har ett arkiv med ca. 170 filmtitlar och nu tänker jag göra en funktion; Om skådisen har spelat i en annan film som är recenserad på sajten så ska skådisen visas som en länk till en sida som listar alla filmerna som han har deltagit i. Hur gör jag denna funktion?
------------------
www.moviemix.nu
hur ser din databas ut?
------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=20" TARGET=_blank>Har du husdjur hemma?
</A>Varför får man inte dricka saltvatten?
Innehållet i accessdb:
Id = räknare (prim.nyckel)
Datum = Datum/tid
Titel = Text
Orig_titel = Text
Year = Tal
Land = Text
Regi = Text
Lengd = Tal
Hemsida = Text
Trailer = Text
Bild = Text
Betyg = Tal
Signatur = Text
Seen = Text
Kategori = Text
Votes = Tal
Addvote = Tal
Kopdvd = Text
Fronthead = Text
Koplank = Text
Actors = PM
Rec = PM
Hoppas det var så du ville ha det?
------------------
www.moviemix.nu
jag tycker du skulle behöva normalisera lite.
exempelvis kan du lägga alla aktörer i en egen tabell, sedan knyter du ihop filmerna och aktörerna i en tredje tabell typ
actor movie
1 5
1 6
2 5
detta menar att actor 1 medverkar i två filmer och actor 2 medverkar i en film, där även actor 1 medverkar.
Detta resulterar i att du lätt kan söka upp alla filmer och sedan även filmnamn m.m där en speciell actor är med.
Lycka till!
------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=20" TARGET=_blank>Har du husdjur hemma?
</A>Varför får man inte dricka saltvatten?
Tack Brimba. Jag förstår nu att jag måste lära mig relationsdb. Hade hoppats att det skulle finnas lättare lösningar :l
------------------
www.moviemix.nu
Hm, jag har precis samma problem, men funderade på om man inte på något sätt skulle tex ha en tabell för alla skådisar och i ett fält i filmdatabasen lista de skådisar (nummer i andra tabellen) som medverkar.
Tyckte detvrkade smidigt med en tabell mindre, dock inser jag att det kanske är onödigt att behöva plöja igenom hela filmdatabasen/tabellen efter alla skådisar?
timedia: Nu lista du alla dina skådisar (i varje film) i ett pmfält?
Själv la jag in flera fält så man "lätt" kunde separera/söka olika skådisar fast det blev onekligen lite struligt ändå.
------------------
/solbulle
Hemmabio | Spelautomater | The Who
Nu lista du alla dina skådisar (i varje film) i ett pmfält?
Ja, tyvärr. Visste inte bättre när jag började med sajten :( Nu krävs det nog så mycket jobb att jag får skjuta det på framtiden :(
ha en tabell för alla skådisar och i ett fält i filmdatabasen lista de skådisar (nummer i andra tabellen) som medverkar.
...jag tycker ju detta verkar vettigt också- fattade inte riktigt varför Brimba ville ha en tredje tabell?
------------------
www.moviemix.nu
... för annars blir det problem vid tex en sökning på en speciell skådis och vilka filmer han/hon varit med i, har huvudroll, biroll etc.
cya,
PatrikB
------------------
'## -- second place is the first looser -- ##'
Skulle nog bygga en tabell struktur typ denna, lite snabb ihopknåpat utan vidare tanke ;o :
tbl_movie_title
---------------
- fld_mt_id Räknare (int autonumber)
- fld_mt_name Text(255)
- fld_mt_desc PM
tbl_actors
----------
- fld_a_id Räknare (int autonumber)
- fld_a_firstname Text(255)
- fld_a_lastname Text(255)
- fld_a_bio PM
tbl_movie
---------
- fld_m_id Räknare (int autonumber)
- fld_m_mtid Tal
- fld_m_aid Tal
Relationer:
-----------
fld_mt_id - 1:N - fld_m_mtid
fld_a_id - 1:N - fld_m_aid
Något sådant
cya,
PatrikB
------------------
'## -- second place is the first looser -- ##'
Jag menade egentligen precis det PatrikB visade, men en tabell hade jag gjort annorlunda...
tbl_movie
---------
- fld_m_mtid Tal (nyckel)
- fld_m_aid Tal (nyckel)
------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=20" TARGET=_blank>Har du husdjur hemma?
</A>Varför får man inte dricka saltvatten?
... själv har jag en vana att alltid lägga med ett autonumber fält ... man vet aldrig om det kommer till användning vid ett senare tillfälle.
cya,
PatrikB
------------------
'## -- second place is the first looser -- ##'
OK, då får man ta och söka en del på relationer...
Antar att man i princip kan lägga alla "personer" i tabellen tbl_actors, även producenter och dyl för det kan väl knappast krångla till det hela.
Hur som helst måste man ju i tbl_movie_title notera vilken "roll" skådisen har. (huvudroll, biroll etc) och då kan man väl lika gärna lägga alla personer i samma tabell?
------------------
/solbulle
Hemmabio | Spelautomater | The Who
Nyckelns uppgift är att se till att varje post i en tabell är unik. Om man har för vana att lägga till räknare och använda de som nycklar, tycker jag man tappar lite av meningen med nycklar.
Det är ju dumt att ha dubletter.
Skulle det sedan visa sig att man behöver räknare, så kan man lägga till det fältet när det behovet uppstår.
Men alla gör som de tycker är bäst :)
------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=20" TARGET=_blank>Har du husdjur hemma?
</A>Varför får man inte dricka saltvatten?
Hur som helst måste man ju i tbl_movie_title notera vilken "roll" skådisen har. (huvudroll, biroll etc) och då kan man väl lika gärna lägga alla personer i samma tabell?
Jag skulle skapat en tabell till som heter tex (bättre namn kan ma nju ha)
tbl_PersonDoingInAMovie
id Description
1 huvudroll
2 producent
3 biroll
4 regissör
osv
sen i tbl_movie
lägger du till ett fält till
fld_p_id
på så sätt visar varje rad
vilken film, vilken person samt på vilket sätt han är inblandad i filmen.
[r] fixa stavning
------------------
National Blonde Day!
Alle ihre Basis ist uns gehört.
[Redigerat av mrblonde den 21 nov 2001]
Nu väcker vi denna gamla tråd.
För att fatta mig kort, hur gör jag? :x
Om jag utgår från detta:
tbl_movie_title
---------------
- fld_mt_id Räknare (int autonumber)
- fld_mt_name Text(255)
- fld_mt_desc PM
+ diverse faktafält om filmn, ljud, bild mm
tbl_actors
----------
- fld_a_id Räknare (int autonumber)
- fld_a_firstname Text(255)
- fld_a_lastname Text(255)
- fld_a_bio PM
(Ändrar namn typ till tbl_personer)
tbl_movie
---------
- fld_m_id Räknare (int autonumber)
- fld_m_mtid Tal
- fld_m_aid Tal
Sen hänger vi på denna:
tbl_PersonDoingInAMovie
id Description
1 huvudroll
2 producent
3 biroll
4 regissör
Här nu fattar jag inte riktig hur jag syr ihop dessa alla tabeller.
Jag ser sammanhanget med nednstående men fattar inte vad jag gör av det el/och går tillväga:
Relationer:
-----------
fld_mt_id - 1:N - fld_m_mtid
fld_a_id - 1:N - fld_m_aid
Lite hjälp, gärna en vägvisning till något script eller dylikt som använder sig av något liknande.
------------------
/solbulle
Hemmabio | Spelautomater | The Who
[Redigerat av solbulle den 13 dec 2001]
tbl_movie behöver inte räknarfältet, eftersom det är en ren relationstabell.
Plocka ut filmerna med en SQL sats som matchar skådespelar_id i relationstabellen
Skulle gärna skriva SQL satsen direkt, men det verkar som du inte är riktigt färdig med tabellerna med tanke på tbl_PersonDoingInAMovie
(konstigt med engelska tabellnamn och svenska fältnamn?)
/T
------------------
Jensen Ambassadör, mitt bästa köp! www.jensen.no
Okey... det börjar lossna lite nu.
Ang blandning sv/eng -det har varit många kockar i denna tråd. -Får utsa till namnen till slut.
om jag tittar närmare på mrblondes inlägg ser jag att han la till ett fält:
tbl_movie
---------
- fld_m_id Räknare (int autonumber)
- fld_m_mtid Tal
- fld_m_aid Tal
- fld_p_id
Men om man nu ska använda detta blir det väl en massa upprepningar, iofs bara i denna relationstabell, men det blir väl i princip en kolumn för varje befattningstyp i filmen; producent, huvudroll, biroll mfl fält i tbl_PersonDoingInAMovie?
Men det kanske är ok?
Om jag går vidare på Toonsters inlägg, då får jag väl bara med mig en person/befattning ur tbl_actors? (under namnbyte eftersom den tabellen kan innehålla alla inblandade människor i filmen.)
------------------
/solbulle
Hemmabio | Spelautomater | The Who
Nej, du får med alla personer i en viss film, eller tvärtom. det är det som är meningen med relationstabellen. (som inte ska ha någon räknare...)
/T
------------------
Jensen Ambassadör, mitt bästa köp! www.jensen.no
Ok... jag sitter och försöker, med varierande framgång.
Ett exempel på en SQL-sats för att få ut informationen skulle onekligen vara till hjälp.
En sak till, hur bör man egentligen namnge sina fält? Ska man ge dom typ kompletta namn som i exemplen i tråden eller vad är bäst?
Själv, ovan som man är har jag världens problem med att hålla isär allt, fast namnen eg är ganska logiska...
------------------
/solbulle
Hemmabio | Spelautomater | The Who
[Redigerat av solbulle den 14 dec 2001]
Det är oklart vad tabellerna heter och vilka fält dom har.
Om du vill få fram all information om ala personer i alla filmer.
select mt.*,p.*
from tbl_movie_title mt ,
tbl_movie m,
tbl_person p
where mt.fld_m_id = m.fld_m_id
and m.fld_p_id = p.fld_p_id
Om du vill ha en benämning på vad varje person gjorde i en film så får du lägga till ett typfält i tbl_movie.
------------------
essentitia preter non sans multiplicandum