Что значит код поставщика. Импорт классификатора из Excel. Требования к формату данных Excel файла

Таблица 2. поставщики

Код поставщика

Наименование поставщика

Адрес

Телефон

Факс

Номер расчётного счёта

ООО "Теремок"

ул.Новая 12

ООО "Стоитель"

ул.Строительная 1

ООО "Лесник

ул. Лесная 9

Таблица 3. Накладная

Код накладной

Дата поставки

Код поставщика

Код материала

Количество

Сумма

Склад

Таблица 4. Склад

Таблица 5. Остаток на складе

Код остатка

Код склада

Код материала

Количество

Схема данных.

Связи это - отношение. Связь, установленная между двумя общими полями (столбцами) двух таблиц. Существуют связи с отношением «один – к – одному», «один – ко – многим» и «многие – ко – многим».

При создании связи между таблицами связываемые поля могут иметь разные имена. Однако связываемые поля должны иметь одинаковый тип данных, за исключением случая, когда поле первичного ключа является полем типа Счетчик. Поле счетчика связывается с числовым полем, если значения свойства размер поляобоих полей совпадают.

Рисунок 1. Схема данных.

5. ПРОЕКТИРОВАНИЕ ЭЛЕКТРОННЫХ ФОРМ ДЛЯ ОБРАБОТКИ ВХОДНЫХ ДОКУМЕНТОВ

Формы являются типом объектов базы данных, который обычно используется для отображения данных в базе данных. Форму можно также использовать как кнопочную форму, открывающую другие формы или отчеты базы данных, а также как пользовательское диалоговое окно для ввода данных и выполнения действий, определяемых введенными данными.

Рисунок 2. Материал

Рисунок 3. Поставщики

Рисунок 4. Накладная

Рисунок 5. Склад

Рисунок 6. Остаток на складе

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  • Адамова Н.А., Йохна В.А., Малова Т.Л., Пенкин Т.Е. Ор­ганизация и планирование производства швейной промыш­ленности, - Киев: «Высшая школа», - 1994.
  • Кожекин Г. Я., Синица Л. М. Организация производства, - Минск: ИП «Экоперспектива», - 1998.
  • Сергеев И.В. Экономика предприятия, - Москва: «Финансы и статистика», - 1997.
  • Кастеллани К. Автоматизация решения задач управления. М.: Мир, 1982. - 482 с.
  • Автоматизированные информационные технологии в экономике /Под ред. проф. Г.А.Титоренко. - М.: ЮНИТИ, 2000. - 400 с.
  • Коуров Л.В. Информационные технологии. - Мн.: Амалфея, 2000. - 192 с.
  • Дейт К. Дж. Введение в системы баз данных. - К.: Диалектика, 1998. - 784 с.

  • Штрих-код производителя - это последовательность черных и белых полос, представляющая некоторую информацию в виде, удобном для считывания техническими средствами. Информация, содержащаяся в коде может быть напечатана в читаемом виде под кодом (расшифровка). Штриховые коды используются в торговле, складском учете, библиотечном деле, охранных системах, почтовом деле, сборочном производстве, обработка документов. В мировой практике торговли принято использование штрихкодов символики EAN для маркировки товаров. В соответствии с принятым порядком, производитель товара наносит на него штриховой код, формируемый с использованием данных о стране местонахождения производителя и кода производителя. Код производителя присваивается региональным отделением международной организации EAN International. Такой порядок регистрации позволяет исключить возможность появления двух различных товаров с одинаковыми кодами.

    Существуют различные способы кодирования информации, называемые (штрихкодовыми кодировками или символиками). Различают линейные и двухмерные символики штрихкодов.

    Линейными (обычными) в отличие от двухмерных называются штрихкоды, читаемые в одном направлении (по горизонтали). Наиболее распространненые линейные символики: EAN, UPC, Code39, Code128, Codabar, Interleaved 2 of 5. Линейные символики позоволяют кодировать небольшой объем информации (до 20-30 символов - обычно цифр) с помощью несложных штрихкодов, читаемых недорогими сканерами. Пример кода символики EAN-13:

    Двухмерными называются символики, разработанные для кодирования большого объема информации (до нескольких страниц текста). Двухмерный штрих-код считывается при помощи специального сканера двухмерных кодов и позволяет быстро и безошибочно вводить большой объем информации. Расшифровка такого кода проводится в двух измерениях (по горизонтали и по вертикали). Datamatrix, Data Glyph, Aztec.

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

    Расшифровка штрих-кода производителя

    C помощью штрихового кода зашифрована информация о некоторых наиболее существенных параметрах продукции. Наиболее распространены американский универсальный товарный штрих-код UPC и Европейская система кодирования EAN. Наиболее распространенны EAN/UCC товарные номера EAN-13, EAN-8, UPC-A, UPC-E и 14-разрядный код транспортной упаковки ITF-14. Так же существует 128 разрядная система UCC/EAN-128. Согласно той или иной системе, каждому виду изделия присваивается свой номер, состоящий чаще всего из 13 цифр (EAN-13).

    Возьмем, к примеру, цифровой код: 4820024700016. Первые две цифры (482) означают страну происхождения (изготовителя или продавца) продукта, следующие 4 или 5 в зависимости от длинны кода страны (0024) - предприятие-изготовитель, еще пять (70001) - наименование товара, его потребительские свойства, размеры, массу, цвет. Последняя цифра (6) контрольная, используемая для проверки правильности считывания штрихов сканером.

    Штрих-код EAN-13

    Для "кода товара":

    1. цифра: наименование товара,

    2. цифра: потребительские свойства,

    3. цифра: размеры, масса,

    4. цифра: ингредиенты,

    5. цифра: цвет.

    Пример вычисления контрольной цифры для определения подлинности товара

    1. Сложить цифры, стоящие на четных местах: 8+0+2+7+0+1=18

    2. Полученную сумму умножить на 3: 18x3=54

    3. Сложить цифры, стоящие на нечетных местах, без контрольной цифры: 4+2+0+4+0+0=10

    4. Сложить числа, указанные в пунктах 2 и 3: 54+10=64

    5. Отбросить десятки: получим 4

    6. Из 10 вычесть полученное в пункте 5: 10-4=6

    Если полученная после расчета цифра не совпадает с контрольной цифрой в штрих-коде, это значит, что товар произведен незаконно.

    Таблица соответствия штрих-кода производителя стран мира

    Штрих-код производителя

    Организация EAN

    США и Канада

    UCC (U.S.A. & Canada)

    Внутренний штрих-код предприятия

    GENCOD-EAN France

    Болгария

    Словения

    Хорватия

    Босния и Герцеговина

    EAN-BIH (Bosnia-Herzegovina)

    Германия

    Distribution Code Center - DCC (Japan)

    UNISCAN / EAN RUSSIA (Russian Federation)

    Кыргызтан

    EAN Eesti (Estonia)

    Азербайджан

    Узбекистан

    Шри-Ланка

    Филиппины

    PANC (Philippines)

    Беларусь

    Казахстан

    HKANA (Hong Kong)

    Великобритания

    HELLCAN - EAN HELLAS (Greece)

    Македония

    EAN-MAC (FYR Macedonia)

    Ирландия

    Бельгия, Люксембург

    ICODIF/EAN Belgium.Luxembourg

    Португалия

    CODIPOR (Portugal)

    Исландия

    Южная Африка

    EAN South Africa

    Маврикий

    EAN Maroc (Marocco)

    Кот дИвуар

    TUNICODE (Tunisia)

    Иордания

    Саудовская Аравия

    EAN Saudi Arabia

    Объединенные Арабские Эмираты

    Финляндия

    Article Numbering Centre of China - ANCC (China)

    Норвегия

    EAN Norge (Norway)

    Israeli Bar Code Association - EAN Israel

    Гватемала

    Сальвадор

    Гондурас

    Никарагуа

    Коста-Рика

    Доминиканская Республика

    EAN Republica Dominicana

    Венесуэла

    Швейцария

    EAN (Schweiz, Suisse, Svizzera)

    Колумбия

    Аргентина

    CODIGO - EAN Argentina

    Парагвай

    Бразилия

    Camera de Comercio de la Republica de Cuba (Cuba)

    Словакия

    Югославия

    EAN YU (Yugoslavia)

    Монголия

    Северная Корея

    EAN DPR Korea (North Korea)

    Union of Chambers of Commerce of Turkey (Turkey)

    Нидерланды

    EAN Nederland (Netherlands)

    Южная Корея

    EAN Korea (South Korea)

    Камбоджа

    Сингапур

    SANC (Singapore)

    Индонезия

    Австралия

    Новая Зеландия

    Малайзия

    Malaysian Article Numbering Council (MANC).

    960-969

    Великобритания (для EAN-8)

    Периодические издания ISSN

    Книжные издания ISBN

    Музыкальные издания ISMN

    Возвратные квитанции

    Валютные купоны

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

    Любому специалисту, по роду своей деятельности так или иначе связанному с проектированием реляционных баз данных, полезно понимать и уметь осуществить нормализацию отношений. И этим постом хотелось бы начать небольшую серию публикаций, посвящённых нормальным формам, имеющую целью дать тем читателям Хабрахабра, которые по различным обстоятельствам ещё не освоили эту тему, возможность легко заполнить этот пробел в знаниях.

    Статья не имеет своей целью подробное и точное изложение принципов нормализациии, поскольку это, очевидно, невозможно в рамках блога в силу больших объёмов информации, необходимых для публикации при таком подходе. Кроме этого, для такой цели существует большое количество литературы, написанной прекрасными специалистами. Моя же задача, как я считаю, заключается в том, чтобы популярно продемонстрировать и объяснить основные принципы.

    Используемые термины

    Атрибут - свойство некоторой сущности. Часто называется полем таблицы.
    Домен атрибута - множество допустимых значений, которые может принимать атрибут.
    Кортеж - конечное множество взаимосвязанных допустимых значений атрибутов, которые вместе описывают некоторую сущность (строка таблицы).
    Отношение - конечное множество кортежей (таблица).
    Схема отношения - конечное множество атрибутов, определяющих некоторую сущность. Иными словами, это структура таблицы, состоящей из конкретного набора полей.
    Проекция - отношение, полученное из заданного путём удаления и (или) перестановки некоторых атрибутов.
    Функциональная зависимость между атрибутами (множествами атрибутов) X и Y означает, что для любого допустимого набора кортежей в данном отношении: если два кортежа совпадают по значению X, то они совпадают по значению Y. Например, если значение атрибута «Название компании» - Canonical Ltd, то значением атрибута «Штаб-квартира» в таком кортеже всегда будет Millbank Tower, London, United Kingdom. Обозначение: {X} -> {Y}.

    Первая нормальная форма

    Отношение находится в первой нормальной форме (сокращённо 1НФ), если все его атрибуты атомарны, то есть если ни один из его атрибутов нельзя разделить на более простые атрибуты, которые соответствуют каким-то другим свойствам описываемой сущности.

    Будем называть исходное отношение основным, а значение неатомарного атрибута - подчинённым.

    Для того, чтобы нормализовать исходное отношение, атрибуты которого неатомарны, необходимо объединить схемы основного и подчинённого отношений. Кроме того, если, например, таблица, соответствующая ненормализованному отношению уже содержится в БД и заполнена информацией, задача усложняется тем, что значение неатомарного атрибута может в свою очередь содержать несколько кортежей.

    Следует пояснить сказанное на примере. Рассмотрим отношение, имеющее атрибуты «Код сотрудника», «ФИО», «Должность», «Проекты». Очевидно, что один сотрудник может работать над несколькими проектами. Предположим, что проект описывается идентификатором, названием и датой сдачи.
    Легко заметить, что не все атрибуты этого отношения атомарны (неделимы). В частности, атрибут «Проекты» можно разделить на три более простых атрибута: «Код проекта», «Название», «Дата сдачи», а значение этого атрибута для сотрудника Иван Иванович Иванов содержит несколько кортежей - информацию о трёх проектах.

    Примечание: с некоторой точки зрения атрибут «ФИО» можно также считать неатомарным и в таком случае его также следует разделить на более простые, как «Фамилия», «Имя», «Отчество».

    Теперь настало время рассмотреть алгоритм нормализации отношения до 1НФ.

    1. Создать новое отношение, схема которого будет получена путём слияния основной и подчинённой схем исходного отношения в одну.
    2. Для каждого кортежа исходного отношения включить в новое столько строк, сколько кортежей содержится в подчинённом отношении этого кортежа.
    3. Заполнить значения атрибутов нового отношения, соответствующих атрибутам подчинённого отношения.
    4. Заполнить строки нового отношения значениями атомарных атрибутов исходного.
    Применим этот алгоритм к приведённому выше отношению. Схема нового отношения будет состоять из 6 атрибутов: «Код сотрудника», «ФИО», «Должность», «Код проекта», «Название», «Дата сдачи». Для одного единственного кортежа заданного отношения, добавим в новое три строки, по одной для каждого проекта (по количеству кортежей в подчинённом отношении). Теперь можно заполнить значения разделённых атрибутов кортежами из подчинённого отношения. Затем перенесём в каждую из этих строк значения атомарных атрибутов: «Код сотрудника», «ФИО», «Должность» (как Вы уже догадались, все три строки будут содержать одинаковые значения этих атрибутов).

    Результат будет выглядеть так:

    Вторая нормальная форма

    Ясно, что отношение, находящееся в 1НФ, также может обладать избыточностью. Для её устранения предназначена вторая нормальная форма. Но прежде чем приступить к её описанию, сначала следует выявить недостатки первой.

    Пусть исходное отношение содержит информацию о поставке некоторых товаров и их поставщиках.
    Заранее известно, что в этом отношении содержатся следующие функциональные зависимости:
    { {Код поставщика, Код товара} -> { Количество},
    {Код поставщика} -> {Город},
    {Код поставщика} -> {Статус},
    {Город} -> {Статус} }

    Первичный ключ в отношении: {Код поставщика, Код товара}.

    Очевидно, что отношение обладает избыточностью: оно описывает две сущности - поставку и поставщика. В связи с этим возникают следующие аномалии:

    • Аномалия вставки. В отношение нельзя добавить информацию о поставщике, который ещё не поставил ни одного товара.
    • Аномалия удаления. Если от поставщика была только одна поставка, то при удалении информации о ней будет удалена и вся информация о поставщике.
    • Аномалия обновления. Если необходимо изменить какую-либо информацию о поставщике (например, поставщик переехал в другой город), то придётся изменять значения атрибутов во всех записях о поставках от него.
    Физический смысл избыточности исходного отношения заключается в том, что оно описывает не одну сущность, а две - поставку и поставщика .

    Чтобы устранить эти аномалии, необходимо разбить исходное отношение на проекции:

    1. В первую следует включить первичный ключ и все неключевые атрибуты явно зависимые от него.
    2. В остальные проекции (в данном случае она одна) будут включены неключевые атрибуты, зависящие от первичного ключа неявно , вместе с той частью первичного ключа, от которой эти атрибуты зависят явно.
    В итоге будут получены два отношения:
    Первому отношению теперь соответствуют следующие функциональные зависимости:
    {Код поставщика, Код товара} -> {Количество}
    Второму отношению соответствуют:
    { {Код поставщика} -> {Город},
    {Код поставщика} -> {Статус},
    {Город} -> {Статус} }

    Такое разбиение устранило аномалии, описанные выше: можно добавить информацию о поставщике, который ещё не поставлял товар, удалить информацию о поставке без удаления информации о поставщике, а также легко обновить информацию в случае если поставщик переехал в другой город.

    Теперь можно сформулировать определение второй нормальной формы, до которого, скорее всего, читатель уже смог догадаться самостоятельно: отношение находится во второй нормальной форме (сокращённо 2НФ) тогда и только тогда, когда оно находится в первой нормальной форме и каждый его неключевой атрибут неприводимо зависим от первичного ключа.

    Литература

    Для более глубокого и основательного изучения рассмотренной темы, рекомендуется книга «Введение в системы баз данных» Криса Дж. Дейта, на основе материалов которой и была написана данная статья.