Права человека принято отождествлять с куцым листиком трехсотетней давности или того хуже с законами, гэбнёй и свободой слова. Но перечислить все права человека с математической точностью вряд ли представляется возможным, да и осмысленным. Обычно стараются перечислить запреты: нельзя клеветать, заходить в чужое жилище, воровать, выходить за пределы тюрьмы будучи туда посаженным и т.д., выдавая их за ограничения свободы. Но еще эти запреты похожи на права, но не человека, а общества. Над человеком.
grant CONTROL on [man] to [socium]
Тут самый захудалый DBA* начнет морщить носик и бить по рукам. Слишком жирно. А если кто-то drop database самого, прости-господи, [master]? Лучше заведем разные permissions и аккуратненько, чтобы маслице не разлить, понараздаем кому нужно. А кому не хватит, те придут попросят.
grant ACCESS on [high_school] to [everyone]
grant VIEW DEFINITION on [justice] to [everyone]
grant SELECT on [ELECTIONS] to [landlord]
grant TAKE OWNERSHIP on [slave] to [master]
Ну и нафигачил в пятницу всяких прав, залил на продакшн, да пиво пить пошел. И висел сервак долго и счастливо и лег в тот же день. На том сказочке конец, и начинается суровая реальность, ведь holy dba разрешил простым юзерам создавать свои собственные роли и раздавать им разные permissions, чтобы на выходных из бухгалтерии не дергали по пустякам. И тут понёс лось..
create role wife
create role husband
grant control on wife to husband
--grant control on husband to wife
--grant insert
У каждого было свое определение ролей и свои наборы разрешений для них. Как на картине "срачи прилетели", начались холивары, уравниловка прав. Каждый хотел shrink database permissions on [somebody] а получал access restricted.
Пришел holydba в понедельник с похмелюги и щетиной, посмотрел на этот вавилон, да и откатил сервак к последнему бекапу. На свежую голову два огурца шпротинку и зеленый лук амнямням сам насоздавал ролей на свое усмотрение, задеплоил и ждет.
А было бы интересно обойтись без ролей и разрешить юзерам давать отдельные разрешения тому, кому они хотят.
Не целиком add somebody to role [marriage], а по отдельности: общее имущество с тем и с тем, детей из садика забирать - тому и тому, выбирать лечение - вообще вот доктору хаусу пожалста.
Вместо незадокументированного add somebody to role [friend] болтать по душам с тем-то, плакаться в жилетку тому, пиво пить с теми, а ключ от квартиры вот этим вот.
Ну и конечно drop role [president]; create role [sa]
И да прибудет щасте.
P.S. В этой сказочке меня радует и интересует возможность забабахать подобное хоть сейчас параллельно существующим гражданско-правовым отношениям, неудобным и неработающим. На сладко-ванильном блокчейне. И без holydba. Вот
тут интересно про конституцию через git, думаю выстрелит немного в другом виде, но форкнуть уже можно и запулреквестить себе фичу, ага)
*DBA = database administrator. Как MBA только еще SQL умеет.