Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 1 Dołączył: 9.06.2005 Ostrzeżenie: (0%)
|
Witam!!
Chciałbym się zapytać jak przechowywać dane w Bazie MySQL. Powiedzmy ze robię sobie baze z filmami np. do katalogowania włąsnych zbiorów płyt. Budowanie skryptu ma na celu czeste wyszukiwanie pozycji wg różnorodnych kryteriów (więc musi to być wydajna metoda przy tak dużych danych). Mam formularz, w którym wypełnia się formularz. Większość danych jest prosta do wprowadzenia. Ale... Problem 1: Jak przechowywać gatunki filmowe?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Można co prawda zrobić serialize i wrzucic do bazy ciag ale wtedy wyszukiwanie byłoby mało skuteczne (zwłaszcza wyszukiwanie wg kilku gatunków). Tak więc najlepiej jakby wszystko było w bazie i tam zapytaniem mozna było sobie wyciagnac liste z tytułami o podanych kryteriach. Tak wiec mam to przekazywac np. - w postaci ciagu: 'Akcja, Dramat, Przygodowy' (tak mam obecnie w bazie) - w postaci jakiś kodów np. '#01:#04:#23' - czy może jakoś inaczej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Problem 2: Teraz w osobnej tabeli chciałbym dołączyć informacje o nośniku (np. DVD). Jest tam dość skompikowane wprowadzenie z formularza scieżki dźwiekowej (jest kilka ścieżek dźwiękowych w oryginalnym DVD). Chcąc je wszystki uwzględnić trzeba prowadzić dla POJEDYŃCZEJ ścieżki dźwiekwoej takie informacje jak rodzaj kodowania (DD 5.1, DD 2.0, DTS), a następnie język (Polski Lektor, Angielski). Na każdej płycie może być dowolna ilość ścieżek od 1 do 6. Jak to wprowadzać do bazy?? - Jako pełne nazwy w postaci ciągu np. 'DD 5.1 Angielski, DD 2.0 Polski Lektor' - czy jakoś inaczej, może bardziej wydajniej?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Przedstawione przykłady to jakby tabela w tabeli tylko ze MySQL nie obsługuje pól jako tablice (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) A umieszcenie tego w osobnych wierszach nie ma sensu. Ma ktoś jakieś własne przemyślenia lub doświadczenia?? |
|
|
|
![]() |
Post
#2
|
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 |
Przykładowo:
Kod 1. Tytuł: Film1, Opis: Opis dla filmu pierwszego1, Czas trwania: 01:03:23, Gatunek: komedia, dokumentalny 2. Tytuł: Film2, Opis: Opis dla filmu pierwszego2, Czas trwania: 02:05:31, Gatunek: tragedia, dramat, komedia Tabela filmy: Kod id:1, title:Film1, description:Opis dla filmu pierwszego1, time:01:03:23 id:2, title:Film2, description:Opis dla filmu pierwszego2, time:02:05:31 I np. komedia id: 1, dokumentalnyid: 2, tragedia id: 3, dramat id: 4 (te dane możesz trzymać również w tabeli). Tabela wiążąca filmy z gatunkami: Kod id_filmu:1, id_gatunku: 1
id_filmu:1, id_gatunku: 2 id_filmu:2, id_gatunku: 3 id_filmu:2, id_gatunku: 4 id_filmu:2, id_gatunku: 1 |
|
|
|
mxm Jak przechowywac dane (powtarzalne)? 2.02.2008, 11:42:35
webdicepl Ad 1. Zrób sobie tabele np. gatunki o takiej struk... 2.02.2008, 11:49:30
mxm Dane dla pojedynczego tytułu są przechowywane w JE... 2.02.2008, 11:53:12
mxm Właśnie snuje przemyślenia na ten temat i dochodze... 2.02.2008, 12:15:09
webdicepl Co to jest 2000 rekordów? 2.02.2008, 12:17:09
mxm mi chodzi wydajność bazy. Przeszukiwanie... 2.02.2008, 12:33:18
webdicepl Szukasz po gatunku, czyli zapytanie:
[SQL] pobier... 2.02.2008, 12:36:45
mxm O zapytanie to ja się nie martwie. Chodzi mi tylko... 2.02.2008, 12:48:54
kitol Proponuję tabelę gatunki: id_gatunku INT... 2.02.2008, 13:29:57
mxm Właśnie zastosowałem to rozwiązanie w mojej bazie.... 3.02.2008, 01:59:54
kitol ID_Film i ID_gatunek nie mogą się powtar... 3.02.2008, 16:20:35 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 12:09 |