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

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


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

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

Вроде с ключами нормально все(хотя если не прав, буду рад поправке), но в чем суть проблемы. Кол-во покупок может быть разным у каждого человека, а добавлять уже в приложении новые поля в таблице - мне кажется не очень хорошей идеей, хотя бы потому что
потом будет полная путаница. За, скажем, строкой с 3 покупками, будет идти строка с 40. Потом просто будет адски сложно вывести все в адекватно виде, а тем более просчитать какие-нибудь законы распределения(статистика) будет вообще не крайне трудно и все через опу...
...
Рейтинг: 0 / 0
06.12.2011, 03:29
    #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
06.12.2011, 10:27
    #37560476
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
неопределенное число записей в таблице
Так как не важно что покупалось, то достаточно 2 таблицы: Покупатели и Покупки
...
Рейтинг: 0 / 0
06.12.2011, 11:23
    #37560587
BrokenMind
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
неопределенное число записей в таблице
Дело в том что не нужны мне такие подробности. Все что мне нужно это таблица с ФИО, и таблица с покупками, в которой будет инфа о покупках человека за день, не суммарная, а конкретные числа, т.е. купил булку хлеба в одном поле 14, купил еще что нибудь, в отдельное поле и т.д. Т.е. таблица с покупками может состоять из разного кол-ва полей.
Поэтому остановился на таком варианте, он может и не правильный, зато я понимаю его. Делаю так, в приложении при добавлении фио будет диалог о кол-ве покупок, в соответствии с введенным числом буду смотреть, либо записывать в существующюю таблицу, любо создавать новую.
...
Рейтинг: 0 / 0
06.12.2011, 11:32
    #37560598
Gwa
Gwa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
неопределенное число записей в таблице
BrokenMind.. Т.е. таблица с покупками может состоять из разного кол-ва полей.
..

Это совершенно неправильно.
Каждая покупка должна отражаться строкой в таблице покупок.
И структура таблицы покупок (т.е. количество и типы полей) при это остаются неизменными..
...
Рейтинг: 0 / 0
06.12.2011, 12:07
    #37560663
Gwa
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
06.12.2011, 12:36
    #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
06.12.2011, 12:39
    #37560742
AHTOH_L
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
неопределенное число записей в таблице
Gwa, да мы ему говорим как правильно, а он в своё упёрся и слушать ни чего не хочет.

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

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

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

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

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


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