Как просмотреть схему базы данных в oracle

Обновлено: 30.06.2024

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

Почему это проблема?

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

Это руководство поможет решить эти проблемы.

Использование информационной схемы

Запрос метаданных в источнике данных — это самый простой способ определить структуру таблицы, если вы еще не имеете о ней представления. Microsoft SQL Server предоставляет представление информационной схемы как один из нескольких методов получения этих метаданных. Как указано в документации поддержки, «представления информационной схемы обеспечивают внутреннее, независимое от системных таблиц представление метаданных SQL Server. Представления информационной схемы позволяют приложениям работать правильно, хотя в базовые системные таблицы были внесены значительные изменения».

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

Чтобы показать ТАБЛИЦЫ и СТОЛБЦЫ в базе данных или найти ТАБЛИЦЫ и СТОЛБЦЫ .

Этот первый запрос вернет все таблицы в запрашиваемой базе данных.

Второй запрос вернет список всех столбцов и таблиц в запрашиваемой базе данных.

Или вы также можете запросить только СТОЛБЦЫ из определенной таблицы и вернуть имена столбцов из конкретной таблицы "Альбом" в нашей базе данных.

С помощью этого следующего запроса вы можете узнать, есть ли в источнике данных ТАБЛИЦА, которая соответствует какому-либо параметру поиска.

Запрос вернет слово «найден», если таблица «Альбом» существует в нашей базе данных.

Теперь, чтобы пойти дальше, вы можете использовать этот запрос, чтобы узнать, есть ли в источнике данных СТОЛБЦ, который соответствует какому-либо параметру поиска.

Использование представления INFORMATION_SCHEMA в вашем источнике данных может быть надежным способом определить, что находится в источнике данных, пока вы создаете свои запросы.

Дополнительную информацию о представлениях схемы системной информации Microsoft SQL Server можно найти в их документах поддержки.

Помимо изучения базы данных и ее содержимого с помощью представления DbXplorer, инструментальные средства ORM Workbench BEA Workshop Studio отображают диаграммы базы данных и позволяют выполнять запросы с помощью DbXaminer.

Просмотр диаграммы базы данных

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

Примечание. Если DbXplorer в данный момент не открыт, перейдите в меню "Окно" и выберите "Показать вид" > "DbXplorer".

    В представлении DbXplorer щелкните правой кнопкой мыши схему, таблицу или столбец для любого соединения и выберите Показать в DbXaminer.

Выполнение запросов

Помимо диаграммы базы данных, ORM Workbench DbXaminer предоставляет три редактора запросов: редактор SQL, редактор EJBQL (для построения выражений языка запросов EJB) и редактор HQL (для построения выражений языка запросов Hibernate). Каждый из них имеет подсветку синтаксиса и завершение операторов для соответствующих языков.

Использование редактора SQL

Редактор SQL-запросов позволяет легко определять и выполнять операторы запросов, отображать и сортировать результаты запросов, а также добавлять новые данные.

    При определении оператора запроса Workshop обеспечивает завершение кода для ключевых слов и артефактов базы данных, нажав CTRL+ПРОБЕЛ. В приведенном ниже примере автозавершение кода используется для просмотра возможных таблиц в базе данных продаж.

Использование редакторов EJBQL и HQL

Редактор EJBQL и HQL по существу имеет те же функции, что и редактор SQL, за исключением того, что запросы выполняются к сущностям, а не к базе данных. Другими словами, вы используете в выражениях имена сущностей и свойств, а не имена таблиц и столбцов. Кроме того, редактор позволяет получить соответствующие выражения SQL для построенных вами выражений EJBQL и HQL, как показано в конце этого раздела.

    Редакторы EJBQL и HQL доступны на альтернативных вкладках в нижней части DbXaminer.

Завершение выражения EJBQL

Завершение выражения HQL

Результаты запроса EJBQL

Результаты HQL-запроса

SQL, сгенерированный из запроса EJBQL

SQL, сгенерированный из запроса HQL

Для получения дополнительной информации об EJBQL и HQL (которые очень похожи) вас может заинтересовать глава 7: EJB-QL: язык объектных запросов на веб-сайте Hibernate.

Для использования руководств в этом документе вы должны быть подключены к базе данных Oracle как пользователь отдела кадров из SQL Developer. Инструкции см. в разделе «Подключение к базе данных Oracle в качестве пользователя отдела кадров из SQL Developer».

Учебное пособие. Просмотр объектов схемы HR

В этом руководстве показано, как использовать SQL Developer для просмотра объектов, принадлежащих схеме HR. Это называется просмотром схемы HR.

Чтобы просмотреть схему HR:

В навигационном фрейме щелкните вкладку Подключения .

На панели "Подключения" отображается значок hr_conn. Слева от значка находится знак плюса (+).

Нажмите значок плюса .

Если вы не подключены к базе данных, откроется окно Информация о подключении. Если вы подключены к базе данных, информация hr_conn расширяется (см. информацию после «Нажмите OK» на шаге 3).

Если откроется окно с информацией о соединении:

В поле "Имя пользователя" введите hr .

В поле Пароль введите пароль пользователя hr .

Информация hr_conn расширяется: знак плюс становится знаком минус, а под значком hr_conn появляется список типов объектов схемы — таблицы, представления, индексы и т. д. (Если щелкнуть знак «минус», информация hr_conn свернется: знак «минус» станет знаком «плюс», и список исчезнет.)

"Об объектах схемы" для краткого описания типов объектов схемы

Руководство пользователя Oracle Database SQL Developer для получения дополнительной информации о пользовательском интерфейсе SQL Developer

Учебное пособие. Просмотр свойств и данных таблицы EMPLOYEES

В этом руководстве показано, как использовать SQL Developer для просмотра свойств и данных таблицы EMPLOYEES в схеме HR, если вы просматриваете схему HR.

Если вы не просматриваете схему HR, следуйте инструкциям в разделе "Учебник: просмотр объектов схемы HR", а затем вернитесь к этому разделу.

Чтобы просмотреть свойства и данные таблицы EMPLOYEES:

На панели "Подключения" разверните "Таблицы" .

В разделе "Таблицы" отображается список таблиц в схеме HR.

Выберите таблицу EMPLOYEES .

В правой части окна Oracle SQL Developer на панели Столбцы отображается список всех столбцов этой таблицы. Справа от каждого столбца указаны его свойства — имя, тип данных и т. д. (Чтобы просмотреть все свойства столбца, переместите горизонтальную полосу прокрутки вправо.)

В правом фрейме нажмите вкладку Данные .

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

В правом фрейме нажмите вкладку Ограничения .

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

Изучите другие свойства, нажав на соответствующие вкладки.

Руководство пользователя Oracle Database SQL Developer для получения дополнительной информации о пользовательском интерфейсе SQL Developer

Глава 4, "Выбор табличных данных", для получения информации об использовании запросов для просмотра табличных данных

Вопрос: я пытаюсь написать запрос, который будет отображать все схемы в моей базе данных Oracle. Владелец схемы — это идентификатор пользователя, но это не обязательно «настоящая» схема, пользователь, заполнивший таблицы. Как написать запрос для отображения всех моих схем?

Ответ. Определить владельцев схем в любой реляционной базе данных непросто, но если вы сделаете несколько предположений, вы можете написать запрос к словарю для отображения всех схем. Приведенный ниже запрос извлечет все имена схем из словаря данных Oracle.

выберите отдельного
владельца,
из
dba_segments,
где
владелец
(выберите имя пользователя,
из dba_users,
где default_tablespace не в ('SYSTEM','SYSAUX')
)
;

выбрать отдельного
владельца,
из
dba_segments,
где
владелец не входит (
'SYSTEM', ' XDB', 'SYS', ' TSMSYS", "MDSYS", "EXFSYS", "WMSYS", "ORDSYS", "OUTLN", "DBSNMP");


Бурлесон — американская команда


Примечание. Эта документация по Oracle была создана в качестве справочника по поддержке и обучению Oracle для использования нашими специалистами-консультантами по настройке производительности администраторов баз данных. Не стесняйтесь задавать вопросы на нашем форуме Oracle.

Проверьте опыт! Любой, кто рассматривает возможность использования услуг эксперта службы поддержки Oracle, должен самостоятельно проверить свои полномочия и опыт, а не полагаться на рекламу и самопровозглашенный опыт. Все законные эксперты Oracle публикуют свои квалификации Oracle.

Ошибки? Технология Oracle меняется, и мы стараемся обновлять информацию о поддержке BC Oracle. Если вы обнаружите ошибку или у вас есть предложение по улучшению нашего контента, мы будем признательны за ваш отзыв. Просто электронная почта:


и укажите URL-адрес страницы.


Burleson Consulting

Оракул поддержки баз данных

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

Что такое словари данных Oracle?

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

Оттуда словари только для чтения можно читать и запрашивать, как и любую стандартную таблицу, которая, как мы увидим ниже, обеспечивает некоторые очень полезные функции.

Просмотр таблиц, принадлежащих текущему пользователю

На самом базовом уровне вам может понадобиться просмотреть список всех таблиц, принадлежащих текущему пользователю Oracle. Это можно сделать с помощью простого запроса SELECT к словарю данных USER_TABLES.

После подключения к Oracle выполните следующее заявление:

Это вернет список всех таблиц, владельцем которых является текущий пользователь, как указано в столбце владельца.

Просмотр таблиц, доступных текущему пользователю

В ситуации, когда вас интересует только то, к каким таблицам имеет доступ текущий пользователь Oracle, независимо от владельца, вместо этого вы будете использовать словарь данных ALL_TABLES.

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

Просмотр всех таблиц

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

Важно отметить, что для этого окончательного словаря DBA_TABLES могут потребоваться привилегии пользователя, превышающие те, которые есть у текущего пользователя. При необходимости вам может потребоваться предоставить привилегию SELECT ANY DICTIONARY или роль SELECT_CATALOG_ROLE. Дополнительную информацию о предоставлении этих привилегий можно найти в официальной документации.

Читайте также: