powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / неопределенное число записей в таблице
25 сообщений из 25, страница 1 из 1
неопределенное число записей в таблице
    #37559519
BrokenMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня, понапропускал пары, теперь препод дал экзаменационную работу мне "интересную"))
Вообщем след ситуация, есть таблица с ФИО, к каждый человек из этой таблицы предоставляет данные о покупках чего либо в коком то магазине, причем не важно что он покупал, важно сколько он затратил на эту покупку денег, и важно кол-во покупок, т.е. их может быть как 5 так и 45, у каждого свое кол-во этих покупок. Нужно для каждого случая создать свою таблицу, т.е. таблица с 5 покупкапи, 7, 9 и т.д.. Так же нужно будет написать приложение в котором все это будет вводится, но с этим я разбирусь надеюсь. Я не могу понять как сделать связь между таблицей с ФИО и таблицей с покупками.
Я так понимаю что нужно сделать так:
ФИО->посредник->покупки
в посреднике записывается ключ из фио, внешний ключ на таблицу с покупками и имя этой таблицы.
Правильно ли я рассуждаю? Или это все чушь и можно сделать проще?)
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37559543
monsenior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37559565
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenMind,
Связь между таблицами осуществляется по ключевому полю.
Например,
в таблице покупателей -это первичный ключ (PK, primary key)
в таблице покупок это внешний ключ (FK, foreign key), т.е. ссылка на таблицу покупателей
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37559593
BrokenMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело в том что кол-во таблиц с покупками не постоянно, оно зависит от уже совершенных покупок
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37559608
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenMindДело в том что кол-во таблиц с покупками не постоянно

Так сделай постоянным - свали все покупки в одну таблицу. В чём проблема-то?..
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37559617
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenMind,
это не имеет значения сколько таблиц..
Хотя если говорить о данной задаче, то нужны только три:
таблица товаров, таблица покупателей и таблица покупок
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37559766
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenMindЯ так понимаю что нужно сделать так:
ФИО->посредник->покупки
в посреднике записывается ключ из фио, внешний ключ на таблицу с покупками и имя этой таблицы.
Правильно ли я рассуждаю? Или это все чушь и можно сделать проще?)
Абсолютно неправильно. Чушь.
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37559823
BrokenMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист-ЛюбительBrokenMindЯ так понимаю что нужно сделать так:
ФИО->посредник->покупки
в посреднике записывается ключ из фио, внешний ключ на таблицу с покупками и имя этой таблицы.
Правильно ли я рассуждаю? Или это все чушь и можно сделать проще?)


Абсолютно неправильно. Чушь.
тогда как?
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37559834
Фотография AHTOH_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenMind вам же сказали
GwaBrokenMind,
это не имеет значения сколько таблиц..
Хотя если говорить о данной задаче, то нужны только три:
таблица товаров, таблица покупателей и таблица покупок

и monsenior хорошую ссылку дал.
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37559849
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenMind,
я же не просто так написал Вам, что
Связь между таблицами осуществляется по ключевому полю
Ваша задача теперь не выдумывать каких-то "посредников", а взять учебник и прочитать про ключи и как с их помощью связать таблицы.
Тогда в Вашей голове, я надеюсь, наступит рассвет..
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37560054
BrokenMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по проектированию бд читал только "Осопов Базы данных и Delphi" там вроде более менее понятно все расписано по основам бд, но все равно НФ дальше 1 не смог осилить к сожалению. Но не в этом суть. Что сейчас есть:

Вроде с ключами нормально все(хотя если не прав, буду рад поправке), но в чем суть проблемы. Кол-во покупок может быть разным у каждого человека, а добавлять уже в приложении новые поля в таблице - мне кажется не очень хорошей идеей, хотя бы потому что
потом будет полная путаница. За, скажем, строкой с 3 покупками, будет идти строка с 40. Потом просто будет адски сложно вывести все в адекватно виде, а тем более просчитать какие-нибудь законы распределения(статистика) будет вообще не крайне трудно и все через опу...
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37560273
Фотография AHTOH_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenMind
Да блин!.
Читайте литературу и думайте.
2-3 часа потратьте на чтение и всё вам будет ясно и понятно.


4 таблицы надо если уж правильно делать
как то так:
Customers ('CustomerID' 'Email' 'Username' 'Password' 'FirstName' 'LastName', 'CreateDate')
Orders ('OrderID' 'OrderDate' 'OrderStatusID' 'CustomerID' 'OrderTotal')
OrdersDetails ('OrderDetailsID' 'OrderID' 'Quantity' 'ProductID' 'OrderDetailsPrice')
Product ('ProductID' 'ProductName' 'FullName' 'Article' 'EdIzm' 'Price', 'CreateDate')
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37560476
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так как не важно что покупалось, то достаточно 2 таблицы: Покупатели и Покупки
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37560587
BrokenMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело в том что не нужны мне такие подробности. Все что мне нужно это таблица с ФИО, и таблица с покупками, в которой будет инфа о покупках человека за день, не суммарная, а конкретные числа, т.е. купил булку хлеба в одном поле 14, купил еще что нибудь, в отдельное поле и т.д. Т.е. таблица с покупками может состоять из разного кол-ва полей.
Поэтому остановился на таком варианте, он может и не правильный, зато я понимаю его. Делаю так, в приложении при добавлении фио будет диалог о кол-ве покупок, в соответствии с введенным числом буду смотреть, либо записывать в существующюю таблицу, любо создавать новую.
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37560598
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenMind.. Т.е. таблица с покупками может состоять из разного кол-ва полей.
..

Это совершенно неправильно.
Каждая покупка должна отражаться строкой в таблице покупок.
И структура таблицы покупок (т.е. количество и типы полей) при это остаются неизменными..
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37560663
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenMind,
например, есть таблица Покупатели
Код: plaintext
1.
2.
3.
4.
  ID  FIO
  1   Иванов
  2   Петров
  3   Сидоров
в таблице покупок имеем
Код: plaintext
1.
2.
3.
4.
   ID покупателя  ЧтоКупил   Почём       Кол-во  Сумма
       2                 батон         20р/шт        2        40
       2                 молоко       30р/бут       2        60
       1                 колбаса      200р/кг       0.5    100

Петров купил 2 батона и 2 бутылки молока
Иванов -полкило колбасы
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37560734
BrokenMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GwaBrokenMind,
например, есть таблица Покупатели
Код: plaintext
1.
2.
3.
4.
  ID  FIO
  1   Иванов
  2   Петров
  3   Сидоров
в таблице покупок имеем
Код: plaintext
1.
2.
3.
4.
   ID покупателя  ЧтоКупил   Почём       Кол-во  Сумма
       2                 батон         20р/шт        2        40
       2                 молоко       30р/бут       2        60
       1                 колбаса      200р/кг       0.5    100

Петров купил 2 батона и 2 бутылки молока
Иванов -полкило колбасы
ФИО тоже, но покупки другие
123 324 213 121234 432345456456 123 56756 345
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37560742
Фотография AHTOH_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gwa, да мы ему говорим как правильно, а он в своё упёрся и слушать ни чего не хочет.

я привёл структуру таблиц из реального интернет магазина(не нужные поля только потёр)

BrokenMind - вы разобрались в том что я написал?
Или объяснить какая таблица для чего и как работает?
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37560744
Фотография Dinamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenMindДело в том что не нужны мне такие подробности. Все что мне нужно это таблица с ФИО, и таблица с покупками, в которой будет инфа о покупках человека за день, не суммарная, а конкретные числа, т.е. купил булку хлеба в одном поле 14, купил еще что нибудь, в отдельное поле и т.д. Т.е. таблица с покупками может состоять из разного кол-ва полей.
Поэтому остановился на таком варианте, он может и не правильный, зато я понимаю его. Делаю так, в приложении при добавлении фио будет диалог о кол-ве покупок, в соответствии с введенным числом буду смотреть, либо записывать в существующюю таблицу, любо создавать новую.
Вы зачем здесь на форуме пишете и задаете дальше вопросы, если не слушаете грамотных ответов?
"Правильно ли я рассуждаю? Или это все чушь и можно сделать проще?)"
Пока вы рассуждаете не правильно, и дело не в простоте, а в правильности.

Еще раз для начала определитесь какую КОНКРЕТНО задачу вы хотите решить.
Ответть на вопрос какую информацию и в каком виде вы должны будете получить из этих таблиц.
Ваш исходный текст: "есть таблица с ФИО, к каждый человек из этой таблицы предоставляет данные о покупках чего либо в коком то магазине, причем не важно что он покупал, важно сколько он затратил на эту покупку денег, и важно кол-во покупок, т.е. их может быть как 5 так и 45, у каждого свое кол-во этих покупок".
Сначала определимся с сущностями.
В данной задаче встречаются сущности:
Персона, Магазин, Покупка,
и атрибуты сущностей
Персона: id, ФИО, пол (м/ж)
Магазин: id, название магазина
Покупка: id, id персоны, id магазина, дата покупки, время покупки, сумма покупки, количество покупок.
Напишите краткое определение для каждой сущности что она означает.
По количеству покупок важно уточнить следующие моменты что именно является количество покупок:
количество позиций в чеке
количество уникальных товарных позиций в чеке
количество приобретенных товаров (без указания товаров нет смысла использовать такой вариант нет смысла)
и т.п.

Вам нужны всего три таблицы Персоны, Магазины, Покупки.
По тем таблицам атрибутам, которые предложены, можно получить следующую информацию:
- сколько раз, сколько покупок, на какую сумму, в каких магазинах осуществляла конкретная персона, за указанный период времени;
- сколько покупок, на какую сумму осуществлено в каждом из магазинов за указанный период времени;
При расширении атрибутов сущностей можно делать более сложные выборки, например введя год рождения в персоны или возрастную группу, можно посчитать сколько покупок на какую сумму за указанный период совершала та или иная группа или люди одного возраста.
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37560758
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenMindФИО тоже, но покупки другие
123 324 213 121234 432345456456 123 56756 345
Что это за бред ?
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37560792
Фотография Dinamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenMind123 324 213 121234 432345456456 123 56756 345
Вы же написали что не важно ЧТО ИМЕННО КУПИЛ ПОКУПАТЕЛЬ, а теперь пишете покупки другие?
Может сначала определитесь еще раз в задачей?
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37560803
BrokenMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не важно что именно, важно сколько он на это потратил денег, отсюда и выходит, что хранить нужно только потраченную сумму. Но куждая сумма должна быть отдельной, т.е. пришел в магаз купил то то и то то записали сумму в таблицу, купил газету записали, купил машину записали, купил дом записали, купил голоса на выборах - записали))
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37560935
Фотография AHTOH_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenMind, курите приведённую мной схему таблиц.
Там что, когда, сколько, за сколько, когда и кто всё сохраняется.
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37561087
Фотография Dinamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenMindне важно что именно, важно сколько он на это потратил денег, отсюда и выходит, что хранить нужно только потраченную сумму. Но куждая сумма должна быть отдельной, т.е. пришел в магаз купил то то и то то записали сумму в таблицу, купил газету записали, купил машину записали, купил дом записали, купил голоса на выборах - записали))
В вашем случае все очень просто решается в дополнение к предложенным отдельной таблицей ДетализацияПокупки, в которой указан общий id покупки и каждая отдельная запись таблицы это отдельная сумма покупки (без указания что именно куплено).
Этот и есть решение вашей "проблемы" с плавающим количеством полей.
Сумма по всем покупкам одного id автоматически должна записываться в поле сумма покупки в таблицу покупки записи с тем же самым id покупки, количество покупок - число записей в таблице ДетализацияПокупки с этим id.

Для ввода данных обычно разрабатывают форму ввода, которая открывается при инициировании оператором ввода новой покупки персоны.
В полях на форма указываются персона (из таблицы Персон), магазин ()из таблицы магазинов), id покупки присваивается автоматически (инкремент). Для ввода детализации покупки на форме располагают таблицу, при добавлении строк в которую и указании суммы покупки выполняется запись в таблицу детализация покупок.
...
Рейтинг: 0 / 0
неопределенное число записей в таблице
    #37573111
BrokenMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал, нор встал вопрос, как отоюразить столбец с параметрами в строку для отображения и расчетов?
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / неопределенное число записей в таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]