Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.96/24: Рейтинг темы: голосов - 24, средняя оценка - 4.96
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696

Какой вариант для хранения данных выбрать?

10.10.2008, 15:05. Показов 5321. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть прога. Работает с БД (не суть важно для вопроса с какой). Программа принимает различные данные от пользователя. Номер контракта, дом телефон и т. д.. Все эти данные потом должна заноситься в БД.
Планирую в таблице примерно такую структуру:

| №_контракта | дом_тел | . . . | . . .

Но есть еще такие данные как виды выполняемых работ. В чем загвоздка. Например, для телефона я создаю одно поле (как видно выше) и все тип-топ. Но дело в том, что выполняемых работ может быть несколько (это задает пользователь), то есть, количество полей под это дело, нам уже заранее неизвестно. Плюс каждой выполняемой работе соответствует своя сумма денег. Ее тоже нужно хранить.

Пока мне в голову приходит только: сделать одно поле для выполняемых работ. Задать ему определенный формат. Например, сначала текст "вид работы", потом какой нибудь специальный знак, а за ним цена работы. Тогда нужно читать строку, парсить... Бррр.

Дублировать записи не пойдет. Создавать для каждой выполненной работы отдельное поле тоже. Т. к., будет куча пустых полей. Да еще цена...

Что можно еще придумать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.10.2008, 15:05
Ответы с готовыми решениями:

Подскажите какой вариант выбрать
Здравствуйте. Просьба за вопрос сильно камнями не закидывать, ибо только начал пытаться осваивать. Вопрос такой. Пишу программу...

Какой оптимальный вариант хранения записей с одинаковыми значениями?
Здравствуйте! Хотелось бы узнать ваше мнение как лучше хранить записи большинство которых имеют одинаковые повторяющиеся значения, но...

Какой вариант хранения данных о пользователях лучше?
Вариант 1. Есть папка Users. В ней находятся папки пользователей , в каждой папке есть текстовый файл содержащий пароль пользователя . И...

32
Администратор
 Аватар для mik-a-el
88013 / 53334 / 249
Регистрация: 10.04.2006
Сообщений: 13,784
10.10.2008, 17:08
Студворк — интернет-сервис помощи студентам
Vourhey, ты поточнее опиши, что должно храниться в этой базе.
Цитата Сообщение от Vourhey Посмотреть сообщение
Да дело в том, что о заказчиках речи вообще нет.
Дык есть же пользователи. Или и их тоже нет?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
10.10.2008, 17:09  [ТС]
Их тоже нет
0
Администратор
 Аватар для mik-a-el
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
Администратор
 Аватар для mik-a-el
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
Администратор
 Аватар для mik-a-el
88013 / 53334 / 249
Регистрация: 10.04.2006
Сообщений: 13,784
10.10.2008, 18:09
Цитата Сообщение от Vourhey Посмотреть сообщение
Ну, по сути, мы получаем то же самое, что и решили до этого.
Так эт чё, получается, что я зря спорил?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
10.10.2008, 23:09  [ТС]
Да не вообщем-то все фигня. Это гут. Мы пришли к такому варианту. (как же я не люблю работать с БД, кто бы знал...)))

Вобщем, я еще почему изначально поместил эту тему в "алгоритмы", потому что было бы интересно узнать, какой еще можно придумать способ все это реализовать в одной таблице. Как еще можно. Без особого ущерба производительности...
0
Администратор
 Аватар для mik-a-el
88013 / 53334 / 249
Регистрация: 10.04.2006
Сообщений: 13,784
10.10.2008, 23:18
Цитата Сообщение от Vourhey Посмотреть сообщение
Как еще можно. Без особого ущерба производительности...
Если хранить в БД, то никак. Индексы нужно будет только куда надо навесить.
0
 Аватар для Angry_Bobo
269 / 31 / 6
Регистрация: 27.08.2008
Сообщений: 156
13.10.2008, 10:08
Цитата Сообщение от Vourhey Посмотреть сообщение
Вобщем, я еще почему изначально поместил эту тему в "алгоритмы", потому что было бы интересно узнать, какой еще можно придумать способ все это реализовать в одной таблице. Как еще можно. Без особого ущерба производительности...
Теоритечески, можно реализовать вложенной таблицой, при условии что СУБД поддерживает NESTED TABLES, но их слишком геморройно обрабатывать...
0
Администратор
 Аватар для mik-a-el
88013 / 53334 / 249
Регистрация: 10.04.2006
Сообщений: 13,784
13.10.2008, 10:35
Цитата Сообщение от Angry_Bobo Посмотреть сообщение
Теоритечески, можно реализовать вложенной таблицой, при условии что СУБД поддерживает NESTED TABLES, но их слишком геморройно обрабатывать...
Это вроде только оракл умеет.
Vourhey, ты с СУБД определился?
0
 Аватар для Angry_Bobo
269 / 31 / 6
Регистрация: 27.08.2008
Сообщений: 156
13.10.2008, 10:48
Цитата Сообщение от mik-a-el Посмотреть сообщение
Это вроде только оракл умеет.
только версии 9 и выше
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
13.10.2008, 13:26  [ТС]
Цитата Сообщение от mik-a-el Посмотреть сообщение
Это вроде только оракл умеет.
Vourhey, ты с СУБД определился?
Да, определился. Я без СУБД работаю sqlite. Так как, у меня особо, никаких сложных структур нет, проще встроить функции работы с БД в саму программу. И быстрее получится.
Вообщем-то, рещил сделать так, как выше. Две таблицы. Праймари кей в одной таблице - номер контракта (он же номер заказа). Делаем его Unique, а во второй ключевое поле оно же (номер контракта), но на каждую выполненную работу, и ее стоимость будет отводиться по строке. Это самый простой способ получается из всех.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.10.2008, 13:26

Какой лучше выбрать формат для хранения векторов (массив float) в БД
Имеется массив float размерность его 128 значений (это для одного изображения). Для хранения массивов (векторов) используется SQL Server...

Какую базу данных выбрать для локального хранения
Здравствуйте. Хочу написать свое первое приложение для андроид подскажите ответ на пару вопросов. Приложение будет проверять машины на...

Какой вариант выбрать ?
Avast free antivirus + Comodo Firewall или сразу установить Comodo Internet Security?

Как выбрать внешний жесткий диск для хранения данных?
Что посоветуете, уважаемые гуру?

Необходимо выбрать структуру (список, К-Ч дерево и т.д) для хранения данных
Решил описать задачку здесь, может кому тоже интересно будет, такие не каждый день на выдумывание хитрых алгоритмов дают, это не скучная...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу
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
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru