|
|
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
Доброго дня, понапропускал пары, теперь препод дал экзаменационную работу мне "интересную")) Вообщем след ситуация, есть таблица с ФИО, к каждый человек из этой таблицы предоставляет данные о покупках чего либо в коком то магазине, причем не важно что он покупал, важно сколько он затратил на эту покупку денег, и важно кол-во покупок, т.е. их может быть как 5 так и 45, у каждого свое кол-во этих покупок. Нужно для каждого случая создать свою таблицу, т.е. таблица с 5 покупкапи, 7, 9 и т.д.. Так же нужно будет написать приложение в котором все это будет вводится, но с этим я разбирусь надеюсь. Я не могу понять как сделать связь между таблицей с ФИО и таблицей с покупками. Я так понимаю что нужно сделать так: ФИО->посредник->покупки в посреднике записывается ключ из фио, внешний ключ на таблицу с покупками и имя этой таблицы. Правильно ли я рассуждаю? Или это все чушь и можно сделать проще?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2011, 16:07 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2011, 16:20 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
BrokenMind, Связь между таблицами осуществляется по ключевому полю. Например, в таблице покупателей -это первичный ключ (PK, primary key) в таблице покупок это внешний ключ (FK, foreign key), т.е. ссылка на таблицу покупателей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2011, 16:32 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
Дело в том что кол-во таблиц с покупками не постоянно, оно зависит от уже совершенных покупок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2011, 16:39 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
BrokenMindДело в том что кол-во таблиц с покупками не постоянно Так сделай постоянным - свали все покупки в одну таблицу. В чём проблема-то?.. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2011, 16:45 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
BrokenMind, это не имеет значения сколько таблиц.. Хотя если говорить о данной задаче, то нужны только три: таблица товаров, таблица покупателей и таблица покупок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2011, 16:48 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
BrokenMindЯ так понимаю что нужно сделать так: ФИО->посредник->покупки в посреднике записывается ключ из фио, внешний ключ на таблицу с покупками и имя этой таблицы. Правильно ли я рассуждаю? Или это все чушь и можно сделать проще?) Абсолютно неправильно. Чушь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2011, 17:59 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
Программист-ЛюбительBrokenMindЯ так понимаю что нужно сделать так: ФИО->посредник->покупки в посреднике записывается ключ из фио, внешний ключ на таблицу с покупками и имя этой таблицы. Правильно ли я рассуждаю? Или это все чушь и можно сделать проще?) Абсолютно неправильно. Чушь. тогда как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2011, 18:32 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
BrokenMind вам же сказали GwaBrokenMind, это не имеет значения сколько таблиц.. Хотя если говорить о данной задаче, то нужны только три: таблица товаров, таблица покупателей и таблица покупок и monsenior хорошую ссылку дал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2011, 18:41 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
BrokenMind, я же не просто так написал Вам, что Связь между таблицами осуществляется по ключевому полю Ваша задача теперь не выдумывать каких-то "посредников", а взять учебник и прочитать про ключи и как с их помощью связать таблицы. Тогда в Вашей голове, я надеюсь, наступит рассвет.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2011, 18:52 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
по проектированию бд читал только "Осопов Базы данных и Delphi" там вроде более менее понятно все расписано по основам бд, но все равно НФ дальше 1 не смог осилить к сожалению. Но не в этом суть. Что сейчас есть: Вроде с ключами нормально все(хотя если не прав, буду рад поправке), но в чем суть проблемы. Кол-во покупок может быть разным у каждого человека, а добавлять уже в приложении новые поля в таблице - мне кажется не очень хорошей идеей, хотя бы потому что потом будет полная путаница. За, скажем, строкой с 3 покупками, будет идти строка с 40. Потом просто будет адски сложно вывести все в адекватно виде, а тем более просчитать какие-нибудь законы распределения(статистика) будет вообще не крайне трудно и все через опу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2011, 22:03 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
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') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2011, 03:29 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
Так как не важно что покупалось, то достаточно 2 таблицы: Покупатели и Покупки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2011, 10:27 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
Дело в том что не нужны мне такие подробности. Все что мне нужно это таблица с ФИО, и таблица с покупками, в которой будет инфа о покупках человека за день, не суммарная, а конкретные числа, т.е. купил булку хлеба в одном поле 14, купил еще что нибудь, в отдельное поле и т.д. Т.е. таблица с покупками может состоять из разного кол-ва полей. Поэтому остановился на таком варианте, он может и не правильный, зато я понимаю его. Делаю так, в приложении при добавлении фио будет диалог о кол-ве покупок, в соответствии с введенным числом буду смотреть, либо записывать в существующюю таблицу, любо создавать новую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2011, 11:23 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
BrokenMind.. Т.е. таблица с покупками может состоять из разного кол-ва полей. .. Это совершенно неправильно. Каждая покупка должна отражаться строкой в таблице покупок. И структура таблицы покупок (т.е. количество и типы полей) при это остаются неизменными.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2011, 11:32 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
BrokenMind, например, есть таблица Покупатели Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. Петров купил 2 батона и 2 бутылки молока Иванов -полкило колбасы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2011, 12:07 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
GwaBrokenMind, например, есть таблица Покупатели Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. Петров купил 2 батона и 2 бутылки молока Иванов -полкило колбасы ФИО тоже, но покупки другие 123 324 213 121234 432345456456 123 56756 345 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2011, 12:36 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
Gwa, да мы ему говорим как правильно, а он в своё упёрся и слушать ни чего не хочет. я привёл структуру таблиц из реального интернет магазина(не нужные поля только потёр) BrokenMind - вы разобрались в том что я написал? Или объяснить какая таблица для чего и как работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2011, 12:39 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
BrokenMindДело в том что не нужны мне такие подробности. Все что мне нужно это таблица с ФИО, и таблица с покупками, в которой будет инфа о покупках человека за день, не суммарная, а конкретные числа, т.е. купил булку хлеба в одном поле 14, купил еще что нибудь, в отдельное поле и т.д. Т.е. таблица с покупками может состоять из разного кол-ва полей. Поэтому остановился на таком варианте, он может и не правильный, зато я понимаю его. Делаю так, в приложении при добавлении фио будет диалог о кол-ве покупок, в соответствии с введенным числом буду смотреть, либо записывать в существующюю таблицу, любо создавать новую. Вы зачем здесь на форуме пишете и задаете дальше вопросы, если не слушаете грамотных ответов? "Правильно ли я рассуждаю? Или это все чушь и можно сделать проще?)" Пока вы рассуждаете не правильно, и дело не в простоте, а в правильности. Еще раз для начала определитесь какую КОНКРЕТНО задачу вы хотите решить. Ответть на вопрос какую информацию и в каком виде вы должны будете получить из этих таблиц. Ваш исходный текст: "есть таблица с ФИО, к каждый человек из этой таблицы предоставляет данные о покупках чего либо в коком то магазине, причем не важно что он покупал, важно сколько он затратил на эту покупку денег, и важно кол-во покупок, т.е. их может быть как 5 так и 45, у каждого свое кол-во этих покупок". Сначала определимся с сущностями. В данной задаче встречаются сущности: Персона, Магазин, Покупка, и атрибуты сущностей Персона: id, ФИО, пол (м/ж) Магазин: id, название магазина Покупка: id, id персоны, id магазина, дата покупки, время покупки, сумма покупки, количество покупок. Напишите краткое определение для каждой сущности что она означает. По количеству покупок важно уточнить следующие моменты что именно является количество покупок: количество позиций в чеке количество уникальных товарных позиций в чеке количество приобретенных товаров (без указания товаров нет смысла использовать такой вариант нет смысла) и т.п. Вам нужны всего три таблицы Персоны, Магазины, Покупки. По тем таблицам атрибутам, которые предложены, можно получить следующую информацию: - сколько раз, сколько покупок, на какую сумму, в каких магазинах осуществляла конкретная персона, за указанный период времени; - сколько покупок, на какую сумму осуществлено в каждом из магазинов за указанный период времени; При расширении атрибутов сущностей можно делать более сложные выборки, например введя год рождения в персоны или возрастную группу, можно посчитать сколько покупок на какую сумму за указанный период совершала та или иная группа или люди одного возраста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2011, 12:40 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
BrokenMindФИО тоже, но покупки другие 123 324 213 121234 432345456456 123 56756 345 Что это за бред ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2011, 12:43 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
BrokenMind123 324 213 121234 432345456456 123 56756 345 Вы же написали что не важно ЧТО ИМЕННО КУПИЛ ПОКУПАТЕЛЬ, а теперь пишете покупки другие? Может сначала определитесь еще раз в задачей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2011, 12:55 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
не важно что именно, важно сколько он на это потратил денег, отсюда и выходит, что хранить нужно только потраченную сумму. Но куждая сумма должна быть отдельной, т.е. пришел в магаз купил то то и то то записали сумму в таблицу, купил газету записали, купил машину записали, купил дом записали, купил голоса на выборах - записали)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2011, 13:02 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
BrokenMind, курите приведённую мной схему таблиц. Там что, когда, сколько, за сколько, когда и кто всё сохраняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2011, 13:53 |
|
||
|
неопределенное число записей в таблице
|
|||
|---|---|---|---|
|
#18+
BrokenMindне важно что именно, важно сколько он на это потратил денег, отсюда и выходит, что хранить нужно только потраченную сумму. Но куждая сумма должна быть отдельной, т.е. пришел в магаз купил то то и то то записали сумму в таблицу, купил газету записали, купил машину записали, купил дом записали, купил голоса на выборах - записали)) В вашем случае все очень просто решается в дополнение к предложенным отдельной таблицей ДетализацияПокупки, в которой указан общий id покупки и каждая отдельная запись таблицы это отдельная сумма покупки (без указания что именно куплено). Этот и есть решение вашей "проблемы" с плавающим количеством полей. Сумма по всем покупкам одного id автоматически должна записываться в поле сумма покупки в таблицу покупки записи с тем же самым id покупки, количество покупок - число записей в таблице ДетализацияПокупки с этим id. Для ввода данных обычно разрабатывают форму ввода, которая открывается при инициировании оператором ввода новой покупки персоны. В полях на форма указываются персона (из таблицы Персон), магазин ()из таблицы магазинов), id покупки присваивается автоматически (инкремент). Для ввода детализации покупки на форме располагают таблицу, при добавлении строк в которую и указании суммы покупки выполняется запись в таблицу детализация покупок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2011, 14:59 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37573111&tid=1541901]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 481ms |

| 0 / 0 |
