|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
Какой вариант для хранения данных выбрать?10.10.2008, 15:05. Показов 5321. Ответов 32
Метки нет (Все метки)
Есть прога. Работает с БД (не суть важно для вопроса с какой). Программа принимает различные данные от пользователя. Номер контракта, дом телефон и т. д.. Все эти данные потом должна заноситься в БД.
Планирую в таблице примерно такую структуру: | №_контракта | дом_тел | . . . | . . . Но есть еще такие данные как виды выполняемых работ. В чем загвоздка. Например, для телефона я создаю одно поле (как видно выше) и все тип-топ. Но дело в том, что выполняемых работ может быть несколько (это задает пользователь), то есть, количество полей под это дело, нам уже заранее неизвестно. Плюс каждой выполняемой работе соответствует своя сумма денег. Ее тоже нужно хранить. Пока мне в голову приходит только: сделать одно поле для выполняемых работ. Задать ему определенный формат. Например, сначала текст "вид работы", потом какой нибудь специальный знак, а за ним цена работы. Тогда нужно читать строку, парсить... Бррр. Дублировать записи не пойдет. Создавать для каждой выполненной работы отдельное поле тоже. Т. к., будет куча пустых полей. Да еще цена... Что можно еще придумать?
0
|
|
| 10.10.2008, 15:05 | |
|
Ответы с готовыми решениями:
32
Подскажите какой вариант выбрать Какой оптимальный вариант хранения записей с одинаковыми значениями? Какой вариант хранения данных о пользователях лучше? |
|
Администратор
88013 / 53334 / 249
Регистрация: 10.04.2006
Сообщений: 13,784
|
||
| 10.10.2008, 17:08 | ||
|
Vourhey, ты поточнее опиши, что должно храниться в этой базе.
0
|
||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 10.10.2008, 17:09 [ТС] | |
|
Их тоже нет
0
|
|
|
Администратор
88013 / 53334 / 249
Регистрация: 10.04.2006
Сообщений: 13,784
|
|
| 10.10.2008, 17:15 | |
|
А что есть? Напиши блин конкретно, что должно быть в базе.
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 10.10.2008, 17:49 [ТС] | |
|
База. Номер контракта, телефон, выполняемые работы, сумма по каждой работе. Наличие остальных полей значения не имеют.
Добавлено через 24 секунды Я писал это выше. Ни слова о пользователях и заказчиках.
0
|
|
|
Администратор
88013 / 53334 / 249
Регистрация: 10.04.2006
Сообщений: 13,784
|
|
| 10.10.2008, 17:54 | |
|
Ну блин... Тогда так.
Таблицы: Работы (ИД, Наименование), Контракты (ИД, номер, телефон), Связь Работы-Контракты (ИД работы, ИД контракта, сумма). А телефон чей указывается? Остальные данные по контракту где находятся?
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 10.10.2008, 18:01 [ТС] | |
|
Ну, по сути, мы получаем то же самое, что и решили до этого. Я думаю, по номеру контракта связывать. И сделать поле неуникальным во второй таблице (по работам).
0
|
|
|
Администратор
88013 / 53334 / 249
Регистрация: 10.04.2006
Сообщений: 13,784
|
|
| 10.10.2008, 18:09 | |
|
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 10.10.2008, 23:09 [ТС] | |
|
Да не вообщем-то все фигня. Это гут. Мы пришли к такому варианту. (как же я не люблю работать с БД, кто бы знал...)))
Вобщем, я еще почему изначально поместил эту тему в "алгоритмы", потому что было бы интересно узнать, какой еще можно придумать способ все это реализовать в одной таблице. Как еще можно. Без особого ущерба производительности...
0
|
|
|
Администратор
88013 / 53334 / 249
Регистрация: 10.04.2006
Сообщений: 13,784
|
|
| 10.10.2008, 23:18 | |
|
0
|
|
|
269 / 31 / 6
Регистрация: 27.08.2008
Сообщений: 156
|
||
| 13.10.2008, 10:08 | ||
|
0
|
||
|
Администратор
88013 / 53334 / 249
Регистрация: 10.04.2006
Сообщений: 13,784
|
|
| 13.10.2008, 10:35 | |
|
0
|
|
|
269 / 31 / 6
Регистрация: 27.08.2008
Сообщений: 156
|
|
| 13.10.2008, 10:48 | |
|
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||
| 13.10.2008, 13:26 [ТС] | ||
sqlite. Так как, у меня особо, никаких сложных структур нет, проще встроить функции работы с БД в саму программу. И быстрее получится.Вообщем-то, рещил сделать так, как выше. Две таблицы. Праймари кей в одной таблице - номер контракта (он же номер заказа). Делаем его Unique, а во второй ключевое поле оно же (номер контракта), но на каждую выполненную работу, и ее стоимость будет отводиться по строке. Это самый простой способ получается из всех.
0
|
||
| 13.10.2008, 13:26 | |
|
Какой лучше выбрать формат для хранения векторов (массив float) в БД Какую базу данных выбрать для локального хранения Какой вариант выбрать ? Как выбрать внешний жесткий диск для хранения данных? Необходимо выбрать структуру (список, К-Ч дерево и т.д) для хранения данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|