Извлечение метаданных таблиц SQL Server: описание, поля

Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для проведения анализа схемы таблицы, включая её столбцы, типы данных и описание, обратитесь к sys.tables, sys.columns, sys.types и sys.extended_properties.

SQL
Скопировать код
SELECT 
    t.name AS Название_Таблицы,
    c.name AS Название_Столбца,
    tp.name AS Тип_Данных,
    EP.value AS Описание_Столбца
FROM sys.tables t
INNER JOIN sys.columns c ON t.object_id = c.object_id
INNER JOIN sys.types tp ON c.user_type_id = tp.user_type_id
LEFT JOIN sys.extended_properties ep ON ep.major_id = c.object_id AND ep.minor_id = c.column_id
WHERE ep.name = 'MS_Description' AND t.name = 'YourTable' -- Замените 'YourTable' на имя нужной вам таблицы.

Этот скрипт представляет всю необходимую информацию о столбцах выбранной таблицы. Если требуется информация по всем таблицам, просто уберите условие WHERE.

Глубокое погружение в метаданные

Рассмотрим все аспекты

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

Обратите внимание на скрытые столбцы

Некоторые столбцы могут быть скрытами, не имея явного описания. Для учёта таких столбцов, мы добавляем LEFT JOIN.

SQL
Скопировать код
LEFT JOIN sys.extended_properties ep
    ON t.object_id = ep.major_id 
    AND c.column_id = ep.minor_id
    AND ep.name = 'MS_Description' -- Не допустим, чтобы важные данные остались незамеченными

Разгадываем загадки таблиц

Ключевым могут быть описания на уровне таблицы. Это как их можно добавить к выдаче метаданных:

SQL
Скопировать код
SELECT 
    TABLE_NAME,
    TABLE_TYPE,
    EP.value AS Описание_Таблицы  
FROM INFORMATION_SCHEMA.TABLES AS t
LEFT JOIN sys.extended_properties AS ep 
    ON t.TABLE_TYPE = 'BASE TABLE' 
    AND ep.major_id = OBJECT_ID(t.TABLE_SCHEMA + '.' + t.TABLE_NAME)
    AND ep.minor_id = 0
    AND ep.name = 'MS_Description' -- Все детали важны для получения полного представления

Визуальное представление результатов в SQL

Сравнивая базу данных с библиотекой, таблицы в ней можно представить как карточки каталога. Каждая таблица содержит:

  • Название (то есть имя таблицы)
  • Описание
  • Столбцы (напоминающие разделы книги)
  • Типы данных (аналог жанров книг)

Пример:

Название таблицы: "Книги"
Описание: "Собрание литературных произведений."
Столбцы: Название, Автор, ISBN
Типы данных: Varchar, Varchar, Int

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

Глубины SQL: детальный анализ

Быстрый вызов sp_help

Для получения быстрого обзора структуры таблицы используйте sp_help, выполнив EXEC sp_help 'YourTableName';.

Изучение глубин

Для более детального анализа можно обратиться к sys.indexes, sys.foreign_keys и sys.foreign_key_columns, чтобы узнать о связях и ограничениях, обусловленных схемой данных.

Ориентируемся во времени SQL Server

Не забывайте о совместимости функциональности в старых версиях SQL Server, например, SQL Server 2008, где некоторые возможности могли устареть.

При сомнениях обращайтесь к документации

SQL Server Management Studio предложит вам достаточно информации о таблице через своё окно свойств для последующей проверки и понимания.

Читаемость – это важно

Скрипт, организованный в простой и понятной форме, вместе с комментариями всегда облегчает понимание кода, делая его более интересным и актуальным.

Полезные материалы