Тип информации, которую я хочу хранить в этом типе, например: «330,30 евро / тонна» или «25,15 долл. США / кг».
Итак, в основном:
- Цена указана в десятичном формате.
- Валюта как FK для другой таблицы.
- Единица веса в виде FK для другого стола.
Когда я делаю запросы, я бы хотел получить прямой доступ к участникам, например, "selling_price.price" или "selling_price.currency".
И я хотел бы также иметь возможность сортировать по этому полю ... Я понимаю, что это создает целый ряд проблем, поскольку нам необходимо конвертировать валюты и единицы веса.
Одним из решений было бы добавить четвертый элемент, который хранит ту же информацию в стандартизированном формате (например, доллары США / кг в виде числа с плавающей запятой), сортировать по нему, а затем обновлять его всякий раз, когда мы обновляем курсы валют.
Итак, в основном, этот пользовательский тип (назовем его PRICE_PER_UNIT) будет хранить:
- Цена указана в десятичном формате.
- Валюта как FK.
- Единица веса как FK.
- Значение в стандартизированном формате.
И сортировка по этому полю должна быть выполнена по стандартизированному полю, как число с плавающей запятой.
Поскольку я никогда раньше не делал ничего подобного в SQL, я понятия не имею, как вообще начать с этим ... Кто-нибудь?