![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Norfonzor |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
Здавствуйте!
За ранее извиняюсь за ламерский вопрос но не могу создать БД и не могу понять как работает php с Mysql Данные: Один server содержит БД теста. Несколько пользователей, проходят тестирования, для каждого пользователя создается отдельная БД_N тестирования. установлен Denver Вопрос: 1) как создать БД тестирования на сервере, и ручками потом ее редактировать. 2) как создать БД_N для каждого пользователя? БД они должны иметь разные имена? 3) все БД хранить на сервере?? 4) а где они хранятся? Z:\usr\local\mysql-5.1\data ? 4) каждый пользователь должен работать одновременно с 2мя БД. Рационально ли это, или стоит скопировать (1раз) из одной БД в другую необходимую информацию(часть двух таблиц) и работать с одной БД? Предположения:
в ответе я получаю: "создана БД baz1 не найдена" Помогите пожалуйста разобраться! Это сообщение отредактировал(а) Norfonzor - 8.12.2010, 13:14 |
|||
|
||||
| triclosan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 18.8.2006 Репутация: 1 Всего: 12 |
||||
|
||||
| Norfonzor |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
triclosan, спасибо с правильностью написания разобрался, БД создалась, появилась папка Z:\usr\local\mysql-5.1\data\baz1
а на счет др вопросов? Это сообщение отредактировал(а) Norfonzor - 8.12.2010, 13:09 |
|||
|
||||
| triclosan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 18.8.2006 Репутация: 1 Всего: 12 |
Тестирование какого рода, нагрузочное? Тогда почему на Денвере, а не на продакшене?
ага всегда. бд хранятся в хранилище вашего mysql-сервера. Я не думаю, что это может сильно сказаться на нагрузке. Имхо лучше исходить из логичности структуры данных. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
странно, что ещё никто не спросил: а зачем более одной базы данных?
|
|||
|
||||
| Norfonzor |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
bars80080,
Схема: SERVER: 1) Хранит БазыДанных тестирования, для каждой темы-своя БД (DATA-test1, DATA-test2...) содержит вопросов(MAX_questions) ![]() 2) Хранит БД пользователей ![]() 3) После регистрации пользователя создается БД TESTING_+[TAB_users.id] (По одной для каждого пользователя) TESTING_N содержит таблицы: КЛИЕНТ: Алгоритм: 1) Регистрация/авторизация пользователя а) Создание/открытие БД TESTING_+[TAB_users.id]- хранит информацию о пройденных тестах и результатах тестирования 2) Выбор темы теста для тестирования, выбор кол-во вопросов (1..MAX_questions) 3) Подготовка к тестированию а) Генерация (random) номеров вопросов и копирование их из DATA_TEST_1 в TESTING_N, таблицы: TAB_testing_N, TAB_vopros, TAB_Responders б) заполнение TAB_data в) Переход к 1ой странице теста 4) Тестирование: работа с БД TESTING_N 5)Завершение тестирования: а) работа с БД TESTING_N, проверка правильных ответов, заполнение TAB_data б) вывод результатов тестирования |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
вкратце уже было рассказано в первом посте, вопрос остаётся прежним: зачем более одной базы данных?
почему нельзя всё уместить в одной? почему нельзя регистрировать всех пользователей в одной таблице одной базы? почему нельзя вопросы тестирования для всех разместить в одной таблице? почему нельзя ответы на все вопросы разместить в одной таблице? зачем больше одной базы? |
|||
|
||||
| Norfonzor |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
bars80080,
к примеру необходимо добавить на 2ой компьютер, 1 из 10 имеющихся тестов с 1го пк. При добавлении необходимо будет сохранить имеющиеся тесты на 2м пк. если все будет в 1ой БД то нельзя будет выделить 1тест и скопировать его на 2ю машину, через проводник Windows. Да и каша может получиться в таблице содержащей кучу тестов. 10тестов по 2000вопрососов, очень уж большая БД получится. мм а при частом переключении между БД будет значительное замедление системы? Или почему не стоит работать с несколькими БД с технической стороны? |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
у меня логи в тестовом режиме крутятся больше. а это без пользователей и в наиболее простом варианте мускле
вот эту вещь поподробнее. зачем что-то копировать с одного ПК на другой? они в сеть включены? как вообще выглядит задача работы с тестами? я так понимаю - есть класс с несколькими рабочими местами, приходят пользователи, садятся куда-нибудь и выполняют некоторый тест(ы)? |
|||
|
||||
| Norfonzor |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
да, именно так, только таких классов несколько. Может быть несколько учреждений будут проходить тестирование используя это ПО.
компьютеры будут в сети, копировать с 1го сервера теста на другой. Требуется мобильность при перемещении тестов. Тесты будут набирать несколько человек, находящиеся может и не в сети, и территориально не в одном месте. |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
если все компьютеры подключены к сети, то максимальная мобильность и максимальный территориальный обхват достигается при базировании всех данных на одном сервере. связь через интернет или удалённый доступ (по сути одно и то же). в таком случае отпадает проблема синхронизации, проблема переноса данных, проблема доставки результатов. система безопасности и система достоверности упрощаются до минимума. особенным плюс является то, что для вэба на ПК уже всё установлено - это браузер, единственная требующаяся программа. в этом суть вэба: любые ПК - всего лишь терминалы, потому в него и переносится всё больше и больше систем. в частности у нас уже вся отчётность между агентами продаж и перепродаж разных уровней идёт сплошняком через вэб. даже бухгалетрию постепенно туда переводят. поэтому, я бы старательно рекомендовал пересмотреть вариант ситуации, когда тестирование проходит на ПК без доступа в сеть. это неимоверно усложняет проект и многократно делает его более дорогим. во всяком случае, я не могу поверить, что во всём учреждении нет доступа в интернет. и уж тем более не поверю, что подключиться к сети сложнее, чем поставить специальный вэб-сервер в этом учреждении. Добавлено через 3 минуты и 15 секунд п.с. я почему настоятельно акцентирую внимание на этом вопросе? я не знаю, может вы работаете в бюджетной сфере, где денег не считают, но что касается озвученной задачи - делать систему не через вэб - выкидывание порядка 95% средств в воздух. любому частному предпринимателю я это легко докажу. |
|||
|
||||
| Norfonzor |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
Господа подскажите пожалуйста как скопировать часть таблицы(по id) из 1ой БД в пустую таблицу 2ой БД?
имеется массив $id_mas, содержит номера id. Необходимо скопировать строки, id которых совпадают с массивом id_mas. придумал 2 схемки: 1ая:
2ая схема
Способы придумал сам, какой способ лучше использовать? Или как можно быстрее и более изящно скопировать данные? |
||||
|
|||||
| triclosan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 18.8.2006 Репутация: 1 Всего: 12 |
№1 - плохо, вполне можно обойтись без временной таблицы, зачем она там не пойму.
если массив $id_mas небольшой
если записей много - идея та же, только в цикле пробежать по TAB1_1 и в нем же инсертить по одной записи в TAB2, используя полные пути к таблицам, без этого вашего mysql_select_db Добавлено @ 11:30 линки подключения к бд одинаковые в вашем коде, это же на одном инстансе mysql все происходит, я верно понял? Это сообщение отредактировал(а) triclosan - 23.12.2010, 12:55 |
|||
|
||||
| Norfonzor |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
triclosan, да все будет работать под 1о Mqsql, на 1м сервере.
таким способом поступить?:
Это сообщение отредактировал(а) Norfonzor - 26.1.2011, 08:07 |
|||
|
||||
| triclosan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 18.8.2006 Репутация: 1 Всего: 12 |
можно, скажите только сколько нулей у числа count($id_mas), кстати его (подсчет числа) не вредно из условия вынести, у вас же массив во время выполнения не меняется?
Добавлено через 2 минуты и 44 секунды У вас массив с индекса 1 начинается ? Если да похоже тут надо $i=1 Добавлено через 7 минут и 30 секунд ну и $i<count($id_mas); |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |