Сколько места занимают таблицы?
Информация о дисковом пространстве, используемом таблицами текущей базы данных.
DECLARE @TableInfo TABLE ( table_name sysname , row_count int, reserved_size nvarchar(50), data_size nvarchar(50), index_size nvarchar(50), unused_size nvarchar(50)) INSERT INTO @TableInfo EXEC sp_MSforeachtable 'sp_spaceused ''?''' SELECT * FROM @TableInfo ORDER BY table_name
Эмпирика
В качестве одной из метрик оценки качества реализации автоматизированной информационной системы можно принять соотношение числа таблиц в базе данных к числу тысяч строк кода программ (без учета кода тестов).
SPM (SQL Programming Macroprocessor). Создайте свой предметный язык - 2.
Назначение
Разработка серверного кода на процедурном расширении SQL имеет свои особенности. Во-первых, SQL - декларативный язык, и потому обычная для традиционного программирования функциональная декомпозиция зачастую является неэффективной. Во-вторых, SQL - специализированный язык манипуляции данными, и достичь наглядности и читаемости прикладного кода бывает нелегко.
Обе проблемы могут быть решены введением над SQL макроязыка. А поможет нам в этом достаточно простая утилита SPM (SQL Programming Macroprocessor), основанная на фактически стандартном для UNIX-среды макропроцессоре GNU m4.
Мнение о MySql
А вот интересная и,надеюсь, полезная информация по Mysql. С пылу. С жару.
http://nexus.arbinada.com/MySql?v=njx
PS:
Работа с датами. MS SQL 2005
Сюда складываю полезные функции, "шпаргалки" и другие тонкие моменты при работе с датами на MS SQL Server.
Случайная строка из таблицы. MS SQL 2005.
Воспользуемся псевдослучайной последовательностью на основе механизма проекций (view) для выборки случайной строки из таблицы.
Псевдослучайная последовательность в MSSQL
Использование встроенной функции rand() в запросах чревато проблемой получения последовательности одинаковых чисел. Например
Пронумеровать записи. Пример для MSSQL 2005
Как пронумеровать записи в таблице в одном ее поле по порядку следования другого поля. Пример для MSSQL 2005.
UPDATE table1
SET field1 = T2.rownum
FROM table1 T1 INNER JOIN
(SELECT ROW_NUMBER() OVER (ORDER BY field2 ASC) AS rownum, field2
FROM table1
) T2
ON T1.field2 = T2.field2
Порядок нумерации дубликатов не определен, как правило это будет физическое следование записей.
Тестовый пример:
ADO SQL Tools (MS Access Query Analyzer)
Инструмент разработки и отладки SQL-скриптов и запросов к базам данных, прежде всего MS Access, через интерфейс доступа ADO. Основные возможности:
- Понимает пакеты из нескольких SQL-команд, разделенных точкой с запятой, одно- и многострочные комментарии.
- Редактирование SQL-файлов с выделением синтаксиса
- Просмотр плана выполнения запроса (только для JET)
- Запуск всего пакета или выделенной на экране части, просмотр результатов
- Сохраняет текущие настройки: соединение с БД, размер окна.
- Сохраняет/восстанавливает соединение с БД из UDL-файла
- Интерфейс командной строки для выполнения пакетов:
ADOSQLCmd.exe <SQL batch file> <UDL file>