Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RFpro.ru: Базы данных MySQL


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

solowey
Статус: Студент
Рейтинг: 393
∙ повысить рейтинг »
Megaloman
Статус: Академик
Рейтинг: 184
∙ повысить рейтинг »
SAW
Статус: 6-й класс
Рейтинг: 114
∙ повысить рейтинг »

∙ Базы данных

Номер выпуска:534
Дата выхода:11.02.2019, 18:15
Администратор рассылки:Коцюрбенко Алексей Владимирович (Модератор)
Подписчиков / экспертов:20 / 16
Вопросов / ответов:3 / 7

Консультация # 28055: Как узнать размер дискового пространства, которое занимает таблица ? Хочется понять, кто же занимает львиное место в базе данных.. А то база растет а что на это сильнее всего влияет - непонятно...
Консультация # 144985: Есть две таблицы Items: id, barcode,name..... ItemPrice: idItem, price, changeDate (дата изменения цены) как из этой таблицы вытащить последнее значение price (по дате)? ...
Консультация # 60471: Здравствуйте уважаемые эксперты. Ответьте пожалуйста на вопрос. Зачем в СУБД SQL Server предназначены Rules, Roles и Views. Где они применяются и для чего. Желательно с примером. ..

Консультация # 28055:

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

Дата отправки: 21.10.2005, 11:34
Вопрос задал: Игорь Елизаров
Всего ответов: 2
Страница онлайн-консультации »


Консультирует sergey2nk:

Здравствуйте, Игорь Елизаров!

Заранее извиняюсь, я здесь новенький. Но мне немножко не понятна традиция не указывать используемую СУБД. Я понимаю что тема SQL и он даже вроде как стандартный. Но даже те части стандартного синтаксиса которые поддерживаются различными представителями семейства SQL для оптимизации выполнения могут потребовать учитывать некоторые особенности реализации конкретной СУБД. Не говоря уже о том что в каждой реализации есть куча именно своих собственных \'надстроек\' над синтаксисом SQL. Может я конечно погорячился, (да простят меня админы портала), и это традиция такая, но по-моему желательно указывать используемую реализацию SQL.

На основании полученной (ограниченной) информации, можна предложить только:

SELECT COUNT(*) FROM table;

Потому что, по-моему, это и все что можна сделать для выяснения размера таблицы, в рамках стандарта SQL.

А вообще если не трудно, то укажите (хотя бы в комментарии к моему ответу):
СУБД (в некоторых реализациях важно также тип таблицы), платформу (систему), (если планируется автоматизация получения этой информации, то может понадобиться используемый язык программирования).

Надеюсь что на основании той информации кто-нибудь сможет дать вам более конкретный ответ.

Еще раз приношу свои извинения за замечание.

Консультировал: sergey2nk
Дата отправки: 21.10.2005, 15:02
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Jadd:

Здравствуйте, Игорь Елизаров!
А Сервер баз данных какой?

Консультировал: Jadd
Дата отправки: 21.10.2005, 16:49
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 144985:

Есть две таблицы
Items: id, barcode,name.....
ItemPrice: idItem, price, changeDate (дата изменения цены)
как из этой таблицы вытащить последнее значение price (по дате)?

Дата отправки: 25.09.2008, 11:49
Вопрос задал: Ladami
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Глымов Антип Петрович:

Здравствуй, Ladami!
попробуй так
select max(changeDate) from ItemPrice

Консультировал: Глымов Антип Петрович
Дата отправки: 25.09.2008, 12:14
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует PVS@Lviv:

Здравствуйте, Ladami!

что-то типа такого:
select i.id,i.barcode,i.name,p.price from items i, price p, price p2 where i.id=p.iditem and i.id=p2.iditem group by i.id,i.barcode,i.name,p.price having max(p2.changedate)=p.changedate

но возможны вариации в зависимости от СУБД

Консультировал: PVS@Lviv
Дата отправки: 25.09.2008, 12:17
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 60471:

Здравствуйте уважаемые эксперты.
Ответьте пожалуйста на вопрос.
Зачем в СУБД SQL Server предназначены Rules, Roles и Views. Где они применяются и для чего. Желательно с примером.

Дата отправки: 28.10.2006, 16:29
Вопрос задал: Ram
Всего ответов: 3
Страница онлайн-консультации »


Консультирует Марк Крейн:

Здравствуйте, Ram!
Rules - правила. Типа ограничений на вводимую информацию в БД. Roles - роли. Это для того чтобы объединять пользователей SQL сервера в роли чтобы было легче администрировать БД. Views - представления. Представление - это отдельная выборка из базы данных (возможно из нескольких связанных таблиц) по каким-то определённым критериям.
К сожалению примеры дать не могу, так как нет SQL сервера под рукой. А вообще для таких вопросов существует специальная (моя) рассылка MSSQL Server 2000/2005. Это просто на будущее, чтобы вопросы не перемешивались.

Консультировал: Марк Крейн
Дата отправки: 28.10.2006, 20:07
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Grigory:

Здравствуйте, Ram!
Вот как определяет SQL Server Rules Microsoft:
Rule:

A database object that is bound to columns or user-defined datatypes and specifies which data values are acceptable in a column. CHECK constraints provide the same functionality and are preferred because they are in the SQL-92 standard.

Иными словами, правило обычно привязано к колонке таблицы илипользовательскому типу данных и определяет приемлемые значения для данной колонки в таблице. Тот же эффект достигается с помощью ограничений CHECK, использование которого является предпочтительным, поскольку соответствует стандарту SQL-92.

Роль:
Используется для определения привилегий пользователя БД, например у Администратора БД привилегий больше, чем у обычного пользователя. Привилегии определяются через роль пользователя.
Роли подразделяются на: Server Roles, Database Roles, Application Roles.

View:
Является отображением всех или части данных содержащихся в одной или более таблицах - в зависимости от того, что Вы хотите, чтоб видел конкретный пользователь с конкретными привилегиями.

Удачи!

Консультировал: Grigory
Дата отправки: 29.10.2006, 02:29
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Delph:

Здравствуйте, Ram!

Ко всему, что сказано выше, добавлю своё мнение о представлениях (VIEW) данных. Их в самом деле можно использовать для разграничения прав доступа, но я чаще пользуюсь ими для сбора информации из разных таблиц базы данных. В само представление могут быть зашиты очень сложные запросы, объединяющие несколько таблиц в одно целое, а также определения вычисляемых полей (например, я формировал вычисление возраста человека по дате его рождения и текущей дате и определял результат как отдельный столбец). Приложение видит VIEW как отдельную таблицу, и если не нужна дополнительная фильтрация, оно может обратиться к представлению примерно так:

SELECT <список полей>
FROM <название_представления>

Можно, как и в случае с обычными таблицами, написать дополнительные критерии отбора:

WHERE <перечень условий>

Представления, как и таблицы, можно также объединять с другими представлениями и таблицами в SELECT-запросах и использовать в качестве основы для других представлений. Впрочем, если пишется сложный VIEW, то как правило он базируется на физических таблицах (из соображений эффективности, но это не более чем рекомендация, к которой Вы вольны прислушаться или проигнорировать её) и включает в себя всю необходимую информацию, чтобы приложению не было необходимости цеплять к нему дополнительные таблицы (тоже рекомендация, а не правило, к тому же представления бывают совершенно разными и по сложности, и по цели создания).

Если в Вашей базе данных существует сложная логическая связь между разными таблицами, которой Вы предполагаете часто пользоваться, имеет смысл оформить эту связь в "физическую" структуру при помощи представления: это упростит обращение к нужной информации. Если нужна более детальная консультация, пишите в личную почту.

Консультировал: Delph
Дата отправки: 30.10.2006, 10:53
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное