Питонистическое.
Jan. 5th, 2020 09:37 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Выяснил что в стандартной библиотеке питона модуль collections, а в нем функция namedtuple. Позволяющая генерировать наборы данных с именованными полями и нулевым оверхедом. Более того named tuples - hashable, т.е. могут использоваться в качестве индекстов dict или элементов множества. И их очень удобно создавать из списков, dictionaries и тому подобных конструкций.
Теперь хочу реализацию операций реляционной алгебры над set of named tuples.
Теперь хочу реализацию операций реляционной алгебры над set of named tuples.
no subject
Date: 2020-01-06 07:04 am (UTC)Работать с данными все равно имеет смысл начиная с 1НФ, а вот там как разу уже дубликатов не будет.
Опять же, пересечение, объединение и симметрическая разность - очень полезные операции.
no subject
Date: 2020-01-06 08:16 am (UTC)Дубликаты в данных легко и непринуждённо образуются в результате неаккуратной реализации проекции.
Допущение «set of named tuples», впрочем, эту проблему снимает. Если, конечно, нас устраивает иммутабельность объектов.
no subject
Date: 2020-01-06 08:26 am (UTC)И в случае если данные у нас живут в памяти командно-строчного скрипта, ограничение на иммутабельность, как правило, не мешает. При старте прочитали с диска, обработали, построили рядом со старой новую копию, сохранили. (впрочем, в моем случае модифицировать придется не данные, а те объекты, о которых они. А метаинформацию в пригодном для чтении виде мне сгенерят внешние инструменты).
no subject
Date: 2020-01-06 09:08 am (UTC)no subject
Date: 2020-01-06 09:20 am (UTC)no subject
Date: 2020-01-06 11:12 am (UTC)no subject
Date: 2020-01-06 11:56 am (UTC)Данные размером меньше мегабайта обрабатывать во "взросллой СУБД", одностраничные служебные записки писать в полнофункциональном офисном пакете и так далее.
no subject
Date: 2020-01-06 05:27 pm (UTC)no subject
Date: 2020-01-06 12:03 pm (UTC)no subject
Date: 2020-01-06 12:29 pm (UTC)no subject
Date: 2020-01-06 01:12 pm (UTC)Вот я сейчас бегло пробежался по источникам, и там наоборот, говорят:
а также
no subject
Date: 2020-01-06 05:31 pm (UTC)no subject
Date: 2020-01-06 07:56 pm (UTC)Это странное заблуждение, к тому же уникальность элементов набора -- это свойство области предметной области, а не области схемы БД.