SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.09.2009 12:33:02

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Привилегии на уровне столбца

Возникло 2 вопроса по работе с привилегиями столбца...
Есть некая таблица из X полей. Нужно на неё дать доступ юзеру, при чём писать ему можно только в Y полей. Создаём привилегии и работаем, всё ок. Проблема начинается тогда, когда:
1. Юзеру мало полей, ему нужно создать ещё одно. Если дать ему ALTER, то он сможет менять существующие поля, чего делать нельзя. Вопрос: есть ли что-то типа ALTER на уровне столбца?
2. Даём юзеру ALTER, надеясь на его порядочность. Он создаёт поле и тут грабли - в новое поле он не может писать данные, хотя по логике, является его "хозяином" и должен иметь туда полный доступ. Есть ли пилюля?


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

#2 02.09.2009 13:20:58

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Привилегии на уровне столбца

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

P.S. А в какой задаче возникла такая необходимость?

Неактивен

 

#3 02.09.2009 14:08:43

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Re: Привилегии на уровне столбца

Хм, интересное решение с процедурой smile

Задача - реализовать принцип очереди посредством БД. Т.е. создаём юзеру табличку, даём права записи и дальше сервер обрабатывает записи как ему нужно. Но вот некоторые юзеры просят добавить доп.поля. Каждый раз руками лазить в эти таблицы и менять права доступа уже надоело, вот и задумался над расширением прав юзеров.

Самое популярное доп.поле - это ид их локальной записи для связи с нашим ид smile Можно было бы просто создать такое поле для всех юзеров, но подвох в том, что некоторые юзеры просят текстовое поле, вместо числового)) Ну и если всем вешать текстовое поле - как-то неправильно будет.


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

#4 02.09.2009 14:35:56

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Привилегии на уровне столбца

Я бы им объяснил, что нужно хранить эти данные в своих таблицах, а не в общих.
Насколько я понимаю, у них есть право изменять свои таблицы — пусть там и хранят свои
связи. Это наиболее логичное решение, кажется.

Неактивен

 

#5 02.09.2009 15:11:13

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Re: Привилегии на уровне столбца

С этим согласен, по началу так и делал, но начальство обычно возражает, когда не удовлетворяются потребности клиента smile


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

#6 02.09.2009 15:53:30

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Привилегии на уровне столбца

Потребность клиента — сделать так, чтобы работало. Сделать, чтобы работало
хорошо — лучше, чем сделать, чтобы работало плохо. У них будут гораздо
большие проблемы при добавлении колонок через процедуру, чем если они
добавят их у себя. Более того, они будут добавлять одинаковые колонки
просто потому что они не будут понимать, как это работает, и зачем это нужно.

Неактивен

 

#7 02.09.2009 16:18:00

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Re: Привилегии на уровне столбца

И снова согласен smile

Но разве могут быть подводные камни при использовании подобных процедур? Кроме, конечно же, описания их использования)))


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

#8 02.09.2009 20:24:49

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Привилегии на уровне столбца

Да, конечно. Например, создание, скажем, 10000 одинаковых колонок с целыми числами.
Если не нравится — то пусть будет 1000 колонок типа LARGEBLOB. Каждая из которых
заполнена максимум в одной строке таблицы. По-моему, это мягко говоря странная
реализация smile

Неактивен

 

#9 03.09.2009 09:31:26

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Re: Привилегии на уровне столбца

Уговорили))

Хотя можно ведь и ограничить количество и типы создаваемых полей big_smile

Отредактированно Neval (03.09.2009 09:32:42)


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson