1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
|
|
1 | |
Выбрать архитектуру приложения с БД17.10.2016, 16:50. Показов 1022. Ответов 15
Метки нет (Все метки)
Доброго времени суток, уважаемые программисты! Помогите разобраться. Пытаюсь написать приложение с базой данных, которую заполняет пользователь. Должно быть так: открываем приложение здесь список, например, адресов, которые пользователь сам добавляет, при нажатии на один из адресов выводится список, например, заказанных товаров, которые тоже добавляет пользователь. Вопрос - Нужно использовать две таблицы ( в одной адреса с id, в другой товары добавляются с id адреса) или можно использовать одну таблицу?
0
|
17.10.2016, 16:50 | |
Ответы с готовыми решениями:
15
Какую архитектуру предпочтительнее выбрать? Про архитектуру приложения Посоветуйте архитектуру приложения для отзывов с БД Как выбрать архитектуру из 32x и 64x? |
42 / 42 / 5
Регистрация: 20.01.2015
Сообщений: 279
|
|
17.10.2016, 17:05 | 2 |
Я бы использовал две таблицы. Первая мастер где поля _id пользователя, адрес пользователя, список товаров. Вторая славе где поля _id товара, стоимость, наличие на складе и тд. В списке показывает содержимое мастер таблицы, при клацании на этом списке выводим вторую таблицу с товарами. При клацании на второй таблице, _id товара записываем через запятую в соотв поле первой таблице. Ну и где нибудь в отдельной активити просмотр и редактирование таблиц.
0
|
50 / 50 / 4
Регистрация: 12.03.2013
Сообщений: 171
|
|
17.10.2016, 22:03 | 3 |
Как минимум 2 таблицы нужно. А вообще настоятельно рекомендую почитать - SQL-запросы для простых смертных, Практическое руководство по манипулированию данными в SQL, Майкл Дж. Хернандес, Джон Л. Вьескас., 2003. С первых глав приходит понимание, как правильно проектировать свою БД. Без этих знаний, ничего толкового, кроме простых учебных примеров сделать не получится.
0
|
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
|
|
28.10.2016, 00:21 [ТС] | 4 |
Hellrider_, Спасибо за рекомендации. Почему минимум 2 таблицы? Разве нельзя сделать добавлять в одну, а потом группировка и сортировка?
Добавлено через 2 минуты Alex_Fedor, Да мне надо не интернет-магазин, а например, человек собрался ехать в магазин на Ленина 1, он выбивает адрес, а далее список продуктов, которые надо купить. Это например.
0
|
42 / 42 / 5
Регистрация: 20.01.2015
Сообщений: 279
|
|||||||||||
28.10.2016, 09:51 | 5 | ||||||||||
Делал такое. недобитый проект где то в архивах. В общем принцип был такой. Есть мастер таблица с такими полями куда пишутся места например магазин на ленина.
0
|
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
|
|
30.10.2016, 22:19 [ТС] | 6 |
Alex_Fedor, а как потом удалять из двух таблиц сразу?
0
|
42 / 42 / 5
Регистрация: 20.01.2015
Сообщений: 279
|
||||||
31.10.2016, 08:22 | 7 | |||||
Из мастера удаляете запись методом db.delete(useTableName, "_id=?", new String[] { String.valueOf(idRecordforDell)});
Для удаления таблицы в дбхелпер напишите такой метод.
0
|
43 / 16 / 6
Регистрация: 05.12.2015
Сообщений: 65
|
|
31.10.2016, 08:41 | 8 |
Для каждой записи в таблице создается отдельная таблица, я правильно понял?!?!?!
Что то это на извращение похоже )
0
|
42 / 42 / 5
Регистрация: 20.01.2015
Сообщений: 279
|
|
31.10.2016, 09:46 | 9 |
0
|
43 / 16 / 6
Регистрация: 05.12.2015
Сообщений: 65
|
|
31.10.2016, 14:55 | 10 |
0
|
42 / 42 / 5
Регистрация: 20.01.2015
Сообщений: 279
|
|
31.10.2016, 16:31 | 11 |
В ячейке мастер таблицы строка в которой через запятую куча ид из второй таблицы. Надо при добавлении записи в первой таблице добавить записи во второй таблице. Кроме того во второй таблице также куча записей. Самое веселое при удалении или добавлении записи во второй таблице. Надо ид этой записи, найти во всех ячейках где она фигурирует и подправить. Я так прикинул проще создавать и удалять отдельные таблицы.
0
|
314 / 257 / 81
Регистрация: 31.10.2016
Сообщений: 619
|
|
31.10.2016, 18:08 | 12 |
Не смог удержаться.
Если есть адреса (покупатель) и товары, и присутствует слова "Заказанные товары", то автоматически добавляется 3 таблица: заказ, в котором содержится id покупателя, id товара, и еще служебные поля, если нужно, типа даты заказа или иного. И потом тягать записи из БД с помощью INNER JOIN. А создавать под каждый адрес таблицу - это глупость. Создавать в первой таблице список через запятую - это не оптимально. Потом обновлять запись при каждом обновлении заказанных товаров? Или товары вытягивать через WHERE id_<товара> IN(id, id, id)? Это сложная конструкция. А если к одному адресу будет идти не один заказ, а несколько? Если хотите гибкости, то 3 таблицы. Опять же, все зависит от ситуации. То, что вы описали, довольно примитивный случай. В нем можно обойтись 2 таблицами, запись заказанного товара должна иметь id адреса. И тогда обычный select с выборкой по id адреса даст тот результат, что нужен.
0
|
42 / 42 / 5
Регистрация: 20.01.2015
Сообщений: 279
|
|
31.10.2016, 20:29 | 13 |
Коды!Коды!
Задача органайзер. Как я понимаю ТК. С вечера составляю список дел на завтра. 1 Магазин на Ленина. подпункты список товаров надо купить. 2 Автомагазин. подпункты также список товаров. 3 Прийти на работу. подпункты там уже список дел. 4 Дача. подпункты список дел. Предусмотреть возможность удаления из отображаемых списков любого из пунктов или подпунктов. например купил пива запись удалил. На дачу забил запись удалил. список дел на послезавтра 1 Банк 2 работа 3 Космодром Список дел на после после завтра 1 накопать картошки 2 библиотека 3 посидеть на киберфорум 4 приготовить ужин. Само собой везде подпункты Все что не сделал сегодня автоматом переносится на завтра. И обратите внимание это не магазин. где ид товара можно вписать любому покупателю, или наоборот. В следующий раз в магазин на Ленина пойду через год потому как там слишком дорого. А в атомагазин больше не пойду, ключи от машины жена отобрала.
0
|
43 / 16 / 6
Регистрация: 05.12.2015
Сообщений: 65
|
|
01.11.2016, 08:53 | 14 |
Я не уверен что мы вообще про реляционные базы данных говорим. Какие запятые, какой поиск id по ячейкам? Вы явно что не то делаете, изучите хотя бы минимальную теорию по работе с базами данных.
0
|
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
|
|
01.11.2016, 19:15 [ТС] | 15 |
Всё, у меня получилось реализовать с одной таблицей.
Добавлено через 9 часов 45 минут А если у меня строки сгруппированы, как удалить целую группу? Т.е. это строки с одинаковым значением. Пытаюсь организовать это через контекстное меню.
0
|
1 / 1 / 0
Регистрация: 18.11.2015
Сообщений: 73
|
|||||||||||
03.11.2016, 00:12 [ТС] | 16 | ||||||||||
по id строки удаляю так
0
|
03.11.2016, 00:12 | |
03.11.2016, 00:12 | |
Помогаю со студенческими работами здесь
16
Какую архитектуру программы лучше выбрать? Как выбрать архитектуру и характеристики контроллера Как построить архитектуру приложения? Простой вопрос про архитектуру проектируемого приложения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |