Создание таблицы Product_Сlass:
Код для создание этой таблицы представлен на рисунке ниже (см. Рис.5)
Рисунок 5 – Создание таблицы Классов продуктов
Все поля таблицы Product_Class были описаны ранее. Однако, на них налагаются некоторые ограничения: поля имени и id не могут быть нулевыми. Реализована возможность отсутствия родителя у класса, также реализована возможность отсутствия единицы измерения у класса.
Кроме того, данная таблица предусматривает то, что если удаляется единица измерения, на которую ссылается объект, или класс, на который он ссылается, то и сам объект удаляется. При обновлении соответствующих таблиц с объектом ничего не происходит.
Создание таблицы Unit_Of_Measure:
Создание этой таблицы представлено на рисунке ниже (см. Рис. 6).
Рисунок 6 – Код создания таблицы единиц измерения
Поля таблицы были описаны ранее, однако на каждое из них наложено ограничение: они должны содержать какое-либо значение: не могут быть нулевыми.
3. Создание таблицы Product:
Создание данной таблицы представлено на рисунке ниже (см. Рис. 7).
Рисунок 7 – Код создания таблицы Продукты
Поля id, названия и класса продукта имеют ограничения: они должны быть не нулевыми.
Кроме того, внешний ключ id_сlass, ссылающийся на таблицу классов имеет ограничения, которые реализуют удаление объекта в случае удаления его класса. Помимо этого, возможна ситуация, когда продукт не имеет класса.
Разработка основных SQL-процедур.
Добавление классов в классификатор:
Для добавления класса в классификатор была написана функция add_class (см. Рис. 8). Она добавляет в структуру новый объект класса.
В неё передается имя нового класса, id класса-родителя нового класса и единица измерения нового класса.
Рисунок 8 – Добавление класса. Код
Добавление элементов в таблицу EI:
Для добавления новой единицы измерения в таблицу единиц измерения была написана функция add_uom (см. Рис. 9).
В неё передается короткое имя новой ЕИ и полное имя новой ЕИ.
Рисунок 9 – Добавление ЕИ. Код
Добавление продукта(книги):
Для добавления класса в классификатор была написана функция add_product (см. Рис. 10).
В неё передается имя нового продукта и id класса, к которому принадлежит продукт.
Рисунок 10 – Добавление продукта. Код
Смена родителя класса:
Для смены родителя класса была написана функция change_parent_class (см. Рис. 11).
В неё передаётся значение id класса, в котором нужно изменить родителя. А также значение id нового родителя.
Рисунок 11 – Смена родителя класса. Код
Смена класса продукта:
Для смены родителя класса была написана функция change_product_class (см. Рис. 12).
В неё передаётся значение id продукта, для которого нужно сменить класс. А также значение id нового класса.
Рисунок 12 – Смена класса продукта. Код
Удаление класса из классификатора:
Для удаления класса из структуры была написана функция delete_class (см. Рис. 13).
В неё передаётся id класса, который нужно удалить.
Рисунок 13 – Удаление класса из классификатора. Код