Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Составьте таблички за меня [2]
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
fullzero
Сравнение будет определено для всей таблицы, верно. Действует это так - при создании поля Вы задаете его сравнение, но это опционально. И вот если его не указать, то будет действовать сравнение, определенное для таблицы.
Впрочем, сравнение для таблицы так же может быть не указано. В этом случае оно будет установлено в значение, которое имеет сравнение самой БД.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
fullzero
Отправлено: 30 Мая, 2012 - 14:23:39
Гость
Покинул форум
Сообщений всего: 120
Дата рег-ции: Март 2011
Помог: 0 раз(а)
ТоEuGen тоесть если я при создании базы указал сравнение то оно будет по умолчанию. Со сравнением ясно, ещё раз спасибо
CREATEDATABASE`base`DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
tuareg
Отправлено: 30 Мая, 2012 - 17:20:47
Участник
Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010
Помог: 69 раз(а)
EuGen пишет:
Разница существенна
Еще академический вопрос
Вот Вы советуете InnoDB. Я читал про одно и про другое(MyISAM и InnoDB). В данной ситуации я думаю, что лучше будет именно MyISAM, т.к добавление в таблицу будет не так часто, UPDATE тоже.В основном все запросы будут SELECT. Почему же по Вашему мнению лучше InnoDB?
EuGen
Отправлено: 30 Мая, 2012 - 17:34:23
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
tuareg
Как я уже и говорил - постольку, поскольку InnoDB позволит автоматически, на уровне СУБД обеспечивать целостность данных - при помощи внешних ключей.
В целом, MyISAM необходим только там, где требуется полнотекстовый поиск (FULLTEXT индексы) - так как они не поддерживаются в InnoDB.
По поводу больших объемов данных (где была бы видна разница в скорости выборок) - InnoDB предпочтительнее, так как таблицы MyISAM при большиз объемах имеют повышенную вероятность "сломаться" (то, что исправляется при помощи REPAIR)и, кроме того, InnoDB имеет куда более высокий предел на размер таблиц.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
fullzero
Отправлено: 30 Мая, 2012 - 20:28:49
Гость
Покинул форум
Сообщений всего: 120
Дата рег-ции: Март 2011
Помог: 0 раз(а)
Доброго времени суток. Голова совсем пухнет уже.
EuGen я тут уже путаюсь. albums_tracks и albums я решил отложить до лучших времён. Оставлю только authors(id, name, description), tracks(id, name, description) и authors_tracks(author_id, track_id).
EuGen пишет:
Однако возможны ситуации, когда добавляется новая композиция уже существующего автора (и, возможно, в существующий альбом) - тогда это будет только запись в таблицу композиций, таблицу-связку между авторами и композициями и в связку между композициями и альбомами.
У меня как раз такая ситуация Придётся сначала автора создать а потом уже добавлять треки. Немного муторно будет
Вопрос: Как занести данные в 3 таблицы разом? Делать каждый запрос отдельно по очереди или можно как нибудь одним?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.