| FAQ |
| Kalender |
|
|
|
|
#1 | ||
|
|||
|
Medlem
|
Nerix, jag förstår inte riktigt varför det behövs här?
Slängde ihop en sak som visar vad jag har i min databas: http://www.anaxa.se/schema.php Kan jag verkligen göra det enklare? Det känns bara krångligare att göra fler tabeller? |
||
|
|
Svara med citat
|
|
|
#2 | ||
|
|||
|
Medlem
|
Citat:
|
||
|
|
Svara med citat
|
|
|
#3 | ||
|
|||
|
Nykomling
|
Jag skulle ha gjort såhär:
Kod:
movies id title genres id title genres_movies id movie_id genre_id Kod:
$genre_id = mysql_real_escape_string($_GET['id']);
SELECT
movies.id, movies.title
FROM
movies
JOIN
genres_movies
ON
genres_movies.movie_id = movies.id
WHERE
genres_movies.genre_id= '$genre_id'
Senast redigerad av christian. den 2013-06-20 klockan 15:26 |
||
|
|
Svara med citat
|
|
|
#4 | ||
|
|||
|
Supermoderator
|
Det beror ju på vad du menar med enklare. Om du ska kunna göra systemet skalbart och göra effektiva sökningar så bör du normalisera din data. Är det 100% säkert att det inte växer nämnvärt så är det inte lika viktigt. Du verkar ha lite problem med din data förresten med negativa timestamps på några ställen.
__________________
Full-stack developer, free for smaller assignments |
||
|
|
Svara med citat
|
|
|
#5 | ||
|
|||
|
Medlem
|
Databasen kommer växa
men jag vill försöka optimera allting nu innan det drar igång.Det där med negativa timestamps är inget fel utan jag sparar bara ett datum bakom 1970 |
||
|
|
Svara med citat
|
|
|
#6 | ||
|
|||
|
Supermoderator
|
Citat:
Sitter på mobilen så allt är lite mindre överskådligt. Hur som helst så bör du strukturera din databas annorlunda så att du slipper trycka in flera värden i samma fält. Du får då snabbt problem. Tänk också på att två personer kan ha samma namn ifall det blir relevant.
__________________
Full-stack developer, free for smaller assignments |
||
|
|
Svara med citat
|
|
|
#7 | ||
|
|||
|
Medlem
|
Nu som ni kan se på länken så har jag droppat fältet 'genres' på ´movies´-tabellen och lagt in en tabell som heter 'movies_genres'. Den tabellen har relation med tabellerna 'movies' och 'genres'. Det borde följa 3nf om jag har läst på rätt.
@tartareandesire | jo jag antar att jag får lägga alla regissörer i en tabell också på samma sätt som jag gjort med genres. OT: Om det nu är så att två regissörer har likadana namn, finns det då något sätt att urskilja dem? Jag använder http://www.omdbapi.com/ för att få informationen om en specifik film. Men den hämtar namn och inget mer. Jag vet utifrån att ha kollat på Imdb att varje regissör har ett unikt id så jag antar att jag får göra en kolumn för en regissörs id i min databas.(guh va jobbigt :P) |
||
|
|
Svara med citat
|
|
|
#8 | ||
|
|||
|
Klarade millennium-buggen
|
Det mest grundläggande inom normalisering är att varje kolumn ska innehålla atomära värden, dvs du lägger ALDRIG ihop flera värden i samma kolumn. Det är 1NF (första normalformen).
3NF innebär att varje atomärt värde ska vara beroende av hela primärnyckeln och inget annat än primärnyckeln, ... so help me Codd som man brukar säga... (Codd var en matematiker som definierade normaliseringen i relationsdatabaser). |
||
|
|
Svara med citat
|
|
|
#9 | ||
|
|||
|
Medlem
|
Okej conny, så om alla filmer enligt min tabell har likadant årtal i sitt 'year' fält så strider det emot tredje formens normalisering?
Jag funderade också hur på jag ska hämta alla filmer som har genrerna komedi och skräck. Jag provade: PHP-kod:
|
||
|
|
Svara med citat
|
|
|
#10 | ||
|
|||
|
Klarade millennium-buggen
|
Citat:
|
||
|
|
Svara med citat
|
| Svara |
|
|