База поставщиков

Автор m2013, 3 июля 2013, 15:10

0 Пользователи и 1 гость просматривают эту тему.

m2013

Всем доброго дня.
У меня на работе возникла задача вести базу данных поставщиков. Сейчас встал вопрос чем пользоваться. Базу создавать мне, до этого я с базами не работал. Предложил не тратить деньги на платные решения.
Выбор сделан в пользу LibreOffice 4.

Пока выполняю свои регулярные обязанности и знакомлюсь с документацией. Естественно, возникает много вопросов. Но главная задача сейчас - создание работоспособной базы поставщиков.

Посему просьба: подскажите, пожалуйста, кратчайший путь. Хотя бы как правильно создавать связи между ячейками и как сортировать поставщиков по типам продукции (у одного поставщика может быть от 1 и более типов продукции).
Если я правильно понял, то должно быть 2 таблицы: 1) тип продукции, 2) все остальное. При этом к одному поставщику должны быть привязаны несколько типов продукции. Остальные функции я постараюсь потом уже самостоятельно прикрутить. Когда разбираться в вопросе начну.

Колонки данных из таблицы CALC:
Название, Тип продукции, Описание, Процент, Контакт и должность, Телефон, E-mail, Сайт, Skype, Адрес, Примечание

В вложении демо таблица из 14 поставщиков - для наглядности. В настоящей более 200 поставщиков.

[вложение удалено Администратором]

CyberDaemon

Цитата: m2013 от  3 июля 2013, 15:10
Всем доброго дня.
У меня на работе возникла задача вести базу данных поставщиков. Сейчас встал вопрос чем пользоваться. Базу создавать мне, до этого я с базами не работал. Предложил не тратить деньги на платные решения.
Выбор сделан в пользу LibreOffice.

Пока выполняю свои регулярные обязанности и знакомлюсь с документацией. Естественно, возникает много вопросов. Но главная задача сейчас - создание работоспособной базы поставщиков.

Посему просьба: подскажите, пожалуйста, кратчайший путь. Хотя бы как правильно создавать связи между ячейками и как сортировать поставщиков по типам продукции (у одного поставщика может быть от 1 и более типов продукции).
Если я правильно понял, то должно быть 2 таблицы: 1) тип продукции, 2) все остальное. При этом к одному поставщику должны быть привязаны несколько типов продукции. Остальные функции я постараюсь потом уже самостоятельно прикрутить. Когда разбираться в вопросе начну.

Колонки данных из таблицы CALC:
Название, Тип продукции, Описание, Процент, Контакт и должность, Телефон, E-mail, Сайт, Skype, Адрес, Примечание

В вложении демо таблица из 14 поставщиков - для наглядности. В настоящей более 200 поставщиков.
А как Вы собираетесь работать с базой, поставщик-> продукция, или продукция -> поставщики?

m2013

Скорее всего "продукция -> поставщики".
В первую очередь поставщики будут искаться в базе по типу продукции.
Поставщиков так же будут искать и по названию. Но реже.

CyberDaemon

Цитата: m2013 от  3 июля 2013, 16:01
Скорее всего "продукция -> поставщики".
В первую очередь поставщики будут искаться в базе по типу продукции.
Поставщиков так же будут искать и по названию. Но реже.
2 таблицы, 1-описание продукци, 2-я описание поставщиков. В описании продукции - поле id_продукции, в описании поставщиков id_поставщиков. Связь - один к многим, при условии, что продукция одна, а поставщиков много. Иначе многие к многим через 3-ю таблицу.
Связь между таблицами - по ID_поставщиков.
Как то так.

m2013

#4
Цитата: CyberDaemon от  3 июля 2013, 15:30Связь - один к многим, при условии, что продукция одна, а поставщиков много. Иначе многие к многим через 3-ю таблицу.
Связь между таблицами - по ID_поставщиков.
Вот с этого момента я ни по руководствам, ни по вашим словам не понимаю. Можно подробнее?
Прикрепил скриншот. Что я делаю не так? Ни каких "Связь - один к многим" и т.д. не нахожу.

А как одному поставщику присвоить несколько типов продукции?

[вложение удалено Администратором]

CyberDaemon

Цитата: m2013 от  3 июля 2013, 16:50
Цитата: CyberDaemon от  3 июля 2013, 15:30Связь - один к многим, при условии, что продукция одна, а поставщиков много. Иначе многие к многим через 3-ю таблицу.
Связь между таблицами - по ID_поставщиков.
Вот с этого момента я ни по руководствам, ни по вашим словам не понимаю. Можно подробнее?
Прикрепил скриншот. Что я делаю не так? Ни каких "Связь - один к многим" и т.д. не нахожу.

А как одному поставщику присвоить несколько типов продукции?
Через общие поля, например ID_поставщика.
Типа как здесь:
http://shkamer.ru/2011/12/20/primer-sozdaniya-bazy-dannyx-v-libreoffice-base/


m2013

Цитата: CyberDaemon от  4 июля 2013, 09:40Через общие поля, например ID_поставщика.
Типа как здесь:
http://shkamer.ru/2011/12/20/primer-sozdaniya-bazy-dannyx-v-libreoffice-base/
Я уже читал эту статью. Там не объясняется как создавать связи типа «один-ко-многим»:
"Хватаем левой нопкой «мыши» поле ID в таблице Ucheniki (ID – это поле первичного индекса таблицы) и перетаскиваем его на поле N_uchen в таблице Ocenki. Если все было сделано правильно – то появляется связь «один-ко-многим»."
На скриншоте автора связи уже установлены. У меня при "перетаскивании" появляются просто линии, без обозначения связей. Возможно на приведенном мной выше скриншоте есть ошибка?

(На всякий случай прикрепляю скриншот из статьи с указанием обозначений, которых у меня нет)

[вложение удалено Администратором]

CyberDaemon

Цитата: m2013 от  4 июля 2013, 11:01
Цитата: CyberDaemon от  4 июля 2013, 09:40Через общие поля, например ID_поставщика.
Типа как здесь:
http://shkamer.ru/2011/12/20/primer-sozdaniya-bazy-dannyx-v-libreoffice-base/
Я уже читал эту статью. Там не объясняется как создавать связи типа «один-ко-многим»:
"Хватаем левой нопкой «мыши» поле ID в таблице Ucheniki (ID – это поле первичного индекса таблицы) и перетаскиваем его на поле N_uchen в таблице Ocenki. Если все было сделано правильно – то появляется связь «один-ко-многим»."
На скриншоте автора связи уже установлены. У меня при "перетаскивании" появляются просто линии, без обозначения связей. Возможно на приведенном мной выше скриншоте есть ошибка?

(На всякий случай прикрепляю скриншот из статьи с указанием обозначений, которых у меня нет)
Выложи образец своей базки.

m2013

Пожалуйста.
В 7z архиве два файла: ПОСТАВЩИКИ ДЕМО ".odb" и ".ods".

[вложение удалено Администратором]

CyberDaemon

Цитата: m2013 от  4 июля 2013, 14:10
Пожалуйста.
В 7z архиве два файла: ПОСТАВЩИКИ ДЕМО ".odb" и ".ods".
В табл. "Описание продукции" тебе надо занести поле ID_поставщиков. По значению соответствующая такому же полю из таблицы "поставщики". По ним и связывать.

m2013

Цитата: CyberDaemon от  4 июля 2013, 15:22В табл. "Описание продукции" тебе надо занести поле ID_поставщиков. По значению соответствующая такому же полю из таблицы "поставщики". По ним и связывать.
Создал поле ID_поставщиков.
Результат дальнейших действий тот же. См. скриншот.
К тому же столбец получается ID_поставщиков в таблице "описание продукции" получается намного больше количества типов продукции (см пример на скриншоте).

Как к одному поставщику привязать несколько типов продукции?

[вложение удалено Администратором]

CyberDaemon

Цитата: m2013 от  4 июля 2013, 17:02
Цитата: CyberDaemon от  4 июля 2013, 15:22В табл. "Описание продукции" тебе надо занести поле ID_поставщиков. По значению соответствующая такому же полю из таблицы "поставщики". По ним и связывать.
Создал поле ID_поставщиков.
Результат дальнейших действий тот же. См. скриншот.
К тому же столбец получается ID_поставщиков в таблице "описание продукции" получается намного больше количества типов продукции (см пример на скриншоте).

Как к одному поставщику привязать несколько типов продукции?
Значение полей ID_поставщиков в обоих таблицах должно быть одинаковым и в "описании продукции" не уникальным.
Тогда поставщику с ID_поставщиков = 1, например, будут соответствовать несколько записей в "описании продукции", где поле ID_поставщиков то же будет 1.
P.S.
Надо бы поизучать Вам основы реляционных баз данных.

m2013

Цитата: CyberDaemon от  5 июля 2013, 07:35Значение полей ID_поставщиков в обоих таблицах должно быть одинаковым и в "описании продукции" не уникальным.
Это я понимаю. Вопрос как несколько типов продукции будут относиться к одному поставщику? Получается просто дополнительная колонка "ID_поставщиков" в таблице "описании продукции".

Цитата: CyberDaemon от  5 июля 2013, 07:35Тогда поставщику с ID_поставщиков = 1, например, будут соответствовать несколько записей в "описании продукции", где поле ID_поставщиков то же будет 1.
Опять нет ответа на вопрос. Это просто утверждение "так должно быть" без объяснения.
Я же приводил скриншот - у меня устанавливаются какие-то "абстрактные" связи. На концах линий в моей базе нет обозначений типа "1" или "n".

Цитата: CyberDaemon от  5 июля 2013, 07:35Надо бы поизучать Вам основы реляционных баз данных.
Не спорю. Со следующей недели постараюсь найти информацию. На чтение и разбор уйдет время. А база нужна сейчас.

VlhOwn

#13
m2013,
обычно кроме списка контрагентов (в Вашем случае - таблица поставщиков) и номенклатуры товаров (в Вашем случае -  таблица продукции) присутствует еще таблица поставок, определяющая какой поставщик, какую продукцию, когда (дата), в каком количестве и по какой цене поставлял. Понятно, что поставщики и продукция в этой таблице представлены ссылками на таблицу контрагентов и таблицу товаров.

CyberDaemon

Цитата: m2013 от  5 июля 2013, 14:44
Цитата: CyberDaemon от  5 июля 2013, 07:35Значение полей ID_поставщиков в обоих таблицах должно быть одинаковым и в "описании продукции" не уникальным.
Это я понимаю. Вопрос как несколько типов продукции будут относиться к одному поставщику? Получается просто дополнительная колонка "ID_поставщиков" в таблице "описании продукции".

Цитата: CyberDaemon от  5 июля 2013, 07:35Тогда поставщику с ID_поставщиков = 1, например, будут соответствовать несколько записей в "описании продукции", где поле ID_поставщиков то же будет 1.
Опять нет ответа на вопрос. Это просто утверждение "так должно быть" без объяснения.
Я же приводил скриншот - у меня устанавливаются какие-то "абстрактные" связи. На концах линий в моей базе нет обозначений типа "1" или "n".

Цитата: CyberDaemon от  5 июля 2013, 07:35Надо бы поизучать Вам основы реляционных баз данных.
Не спорю. Со следующей недели постараюсь найти информацию. На чтение и разбор уйдет время. А база нужна сейчас.
Ну да, дополнительная колонка. В этой колонке информация к какому поставщику(ID_поставщика) относится продукция.