Схема (shema) в базе данных Oracle
Под термином схема в базе данных Oracle понимается — созданная учетная запись пользователя и объекты, которые ей принадлежат (например, индексы, триггеры, хранимые процедуры).
Посмотреть имеющиеся схемы в базе данных:
SQL> set pagesize 0; SQL> select username from dba_users order by 1;
Создать новую схему в базе данных
SQL> CREATE USER scott IDENTIFIED BY tiger;
Создать новую схему с явным указанием расположения, где должны храниться данные и индексы.
SQL> CREATE USER scott IDENTIFIED BY tiger DEFAULT TABLESPACE MY_DATA TEMPORARY TABLESPACE MY_TEMP ACCOUNT UNLOCK;
Делегировать пользователю возможность подключаться к базе и работать с ней
SQL> grant connect, resource to scott
Удалить схему можно следующей командой:
SQL> drop user scott cascade;
Разблокировать схему, можно командой:
SQL> alter user scott account unlock;
А поменять пароль
SQL> alter user system identified by NewPassword;
Tags: Oracle Database, shemas
Oracle DBA
Собираем также материалы по: SQL & PL/SQL
Лучше потратить какое-то количество времени, чтобы записать успешный опыт, чем потом повторно воспроизводить его по памяти.
Все материалы обновляются по мере нахождения лучших практик и апгрейда знаний. Если будут желающие добавлять свои знания или исправлять ошибки и неточности, пишите в телеграм чате. Если будет учавствовать больше людей, качество материалов будет улучшаться и обновляться быстрее. Ссылки на ваши профили в соц. сетях будут добавлены в статьях, в которых вы учавствуете.
Как в sql developer посмотреть схему бд
Скажите с помощью какой проги можно посмотреть схему базы данных Oracle (Таблицы и связи между ними)
как в SQL Management Studio
Re: Схема базы данных в Oracle
От: | Ведмедь |
Дата: | 06.10.10 10:38 |
Оценка: |
Здравствуйте, binom82, Вы писали:
B>Скажите с помощью какой проги можно посмотреть схему базы данных Oracle (Таблицы и связи между ними)
B>как в SQL Management Studio
Toad, SQL Navigator, PL/SQL Developer
Да пребудет с тобой Великий Джа
Re[2]: Схема базы данных в Oracle
От: | AC1D |
Дата: | 06.10.10 11:33 |
Оценка: |
Здравствуйте, Ведмедь, Вы писали:
В>Здравствуйте, binom82, Вы писали:
B>>Скажите с помощью какой проги можно посмотреть схему базы данных Oracle (Таблицы и связи между ними)
B>>как в SQL Management Studio
В>Toad, SQL Navigator, PL/SQL Developer
Power Disigner (он почти для любой базы данных, не только оракл)
Re[3]: Схема базы данных в Oracle
От: | Ведмедь |
Дата: | 06.10.10 12:12 |
Оценка: |
Здравствуйте, AC1D, Вы писали:
ACD>Здравствуйте, Ведмедь, Вы писали:
В>>Здравствуйте, binom82, Вы писали:
B>>>Скажите с помощью какой проги можно посмотреть схему базы данных Oracle (Таблицы и связи между ними)
B>>>как в SQL Management Studio
В>>Toad, SQL Navigator, PL/SQL Developer
ACD>Power Disigner (он почти для любой базы данных, не только оракл)
power designer все таки средство моделирования А так и Enterprise Archtect и Visio сможет вытащить в модель схему БД.
Хотя цель не понятна — если просто посмотреть схему, любое приличное средство моделирования подойдет.
Как получить информацию о структуре БД для документации
Из этой статьи вы узнаете, зачем нужно отслеживать метаданные в ИТ-проектах и какие существуют основные подходы к документированию баз данных, а также познакомитесь с примерами SQL запросов, которые помогут получить сведения о структуре и составе реляционной базы данных.
Это поможет любому участнику команды, а в первую очередь системному аналитику, решить такие задачи:
- Корректно сформулировать задачу на доработку системы в ситуации, когда её БД не описана
- Оценить актуальность имеющейся документации на БД
- Выполнить инвентаризацию информационных ресурсов
- Проводить мониторинг состояния БД на проекте
Время на чтение статьи: 14 минут
Оглавление
Какие метаданные полезно знать о своей БД?
При работе над любым ИТ-проектом полезно иметь возможность посмотреть на данные своих систем с высоты птичьего полёта.
Вот какая информация пригодится вам в первую очередь.
- Физическая структура данных: объекты БД (в первую очередь — таблицы и поля, их наименования, типы данных, допустимые диапазоны значений, ключи, а также — пользователи, индексы, представления и т. п.)
- Объём данных, частота их обновления, дата последнего обновления БД
- Модель данных (логическая, концептуальная) — ключевые атрибуты и сущности, связь между ними
- Смысл и значение данных, объяснение основных сущностей на языке бизнеса
- Распределение данных (количество пустых полей, кардинальность (количество уникальных и повторяющихся значений)
- Ответственный за данные — кто может пояснить смысл данных или помочь исправить найденные проблемы в них
Что такое словарь данных и зачем он нужен
Мы будем подразумевать под «словарем данных» (англ. — data dictionary) справочник или централизованное описание метаданных, дающее представление о структуре и содержании данных. У этого термина есть и другое значение, в рамках данной статьи не используемое: словарём данных называют технику моделирования, дополняющую требования при проектировании информационных систем, в культуре Systems Analysis and Design.
Мы все знаем, что в целостном и удобном для использования виде найти такую информацию по своему проекту аналитику бывает непросто. Структура таблиц базы данных попросту не описана в документации. Почему же так происходит?
Почему так редко задумываются о документировании БД?
- Это самая неинтересная для программистов часть
- На старте проекта БД создаётся по интуиции и видению разработчиков
- Для данных редко выделяется отдельный архитектор или просто ответственное лицо в команде
- По мере роста проекта требования к БД сложно выделить из множества требований на доработку
Вначале всё кажется очевидным, но по мере роста проекта оказывается, что единого описания данных и их структуры не существует, также как и носителя информации об этом среди участников команды. Иногда оказывается, что устройство БД уже усложнилось до такой степени, что приходится организовывать целую исследовательскую экспедицию для восстановления этой информации. В идеале нужно поддерживать актуальность информации о данных системы, и делать это можно разными способами.
Какие средства документирования можно применять для описания БД?
Инструмент, тип документации | Какую информацию можно найти | Примеры и комментарии | Что почитать |
Специальные платформы управления данными Data Management. | • Каталог данных (Data Catalog) — единый источник сведений о всех информационных активах организации. • Список полей и атрибутов • Метаданные — например, информацию о размере таблиц, дате последнего обновления • Информацию об ответственных лицах • Бизнес-глоссарий |
Дороги в применении, используются в крупных только в больших компаниях, актуальны для проектов создания DWH (централизованное персистентное хранение данных всего предприятия для аналитики). | Что такое каталог данных? Видео от DIS Group |
Как вы уже поняли, если перед вами стоит задача понять смысл и структуру данных вашей системы, то придётся обращаться к нескольким источникам. Рыться в документации полезно, но утомительно. Наверно, вам уже пришла в голову мысль, что лучший способ понять вашу базу данных «as is» будет заключаться в том, чтобы подключиться к ней и «пощупать её руками».
Источники информации о БД
Как можно получить информацию о данных, используемых в системе?
Способ | Описание | Пример |
Использовать специализированные инструменты, обеспечивающие возможность просмотра объектов БД. | Способ позволит визуально быстро понять, какие объекты есть в вашей базе данных. Можное осмотреть список таблиц и о каждой из них узнать что-то из контекстного меню или другой части внутри GUI используемого средства. Однако, получать, хранить и передавать информацию в такой форме неудобно. | Документация к редактору объектов DBeaver |
Вывести информацию об объектах БД с помощью соответствующих SQL запросов к служебным таблицам. | В РСУБД существуют служебные таблицы, которые содержат интересующие нас сведения об объектах базы данных. Вы можете строить несложные SQL запросы к служебным таблицам и системным каталогам БД (помимо таблиц со схемой, среди служебных таблиц обычно есть много интересного). | Использование схемы данных в SQL Server |
Не все из перечисленных способов могут быть доступны аналитику. Например, возможность просмотра полной схемы БД бывает ограничена только для администраторов, а построение запросов к служебным таблицам требует знания особенностей конкретной СУБД. В следующих частях статьи вы найдёте примеры таких запросов и сможете начать использовать их прямо сейчас.
Как получить информацию о БД
Как быстро получить словарь данных для популярных БД?
Несколько слов по данному вопросу от Александра Кротова.
Полагаю, многие системные и бизнес-аналитики сталкивались с задачей инвентаризации информационных ресурсов организации, то есть с работой по описанию имеющихся в наличии автоматизированных систем, баз данных, локальных АРМ-ов и других ИТ-объектов, играющих определённую роль в бизнес-процессах. Как правило, такие работы проводятся в целях анализа состояния и эффективности ИТ-инфраструктуры внутри компании или на стороне заказчика, либо на фазе обследования в проектах, связанных с доработкой существующих систем. Зачастую работа по документированию текущего состояния дел возлагается на системного аналитика или бизнес-аналитика. В этой статье мы не будем обсуждать всё, что может быть связано с подобной инвентаризацией, а остановимся на подходах к обследованию одного типа ИТ-ресурсов компании — её баз данных.
В идеале, конечно, такое обследование должно начинаться с изучения документации на используемые базы данных, но проблема в том, что далеко не всегда (а по моему опыту, так и почти никогда) такая документация существует. А если документация на БД существует, то крайне редко бывает достаточно полной и актуальной.
Что делать в такой ситуации? Первое, что пришло бы мне в голову, это провести для всех баз данных так называемый «реверс-инжиниринг» (reverse engineering). Можно было бы изучить имеющиеся данные и их структуру, взять могучее универсальное средство моделирования, построить ER-модели, сформировать текстовое описание и приступить к более глубокому анализу полученных материалов. Но здесь мы можем натолкнуться на ряд проблем: универсальные средства моделирования, способные работать с разными СУБД, стоят, как правило, дорого, и далеко не каждый работодатель будет готов потратить деньги на приобретение подобного программного продукта. А вероятность того, что в процессе инвентаризации информационных ресурсов придётся столкнуться с так называемым «зоопарком», то есть разбродом и шатанием в платформах, СУБД и их версиях, достаточно высока. Иначе и задача наведения порядка в информационном хозяйстве вообще вряд ли бы возникла.
И вот, в ситуации, когда «зоопарк» есть, а актуальной документации и подходящего инструмента для её создания нет, можно пойти по другому пути и попробовать сформировать необходимую для анализа документацию на основе так называемых «словарей данных» — служебных таблиц, в которых реляционная (и не только) СУБД хранит описание своих объектов — таблиц, полей, представлений, ключей, индексов и многого другого. В том или ином виде такие словари должны быть в любой СУБД, хотя структура их может сильно различаться. В общем, я решил посмотреть, как подобные словари устроены, взяв для примера несколько популярных СУБД: MySQL, PostgreSQL, Oracle, SQLite, MS Access. А задачу я себе поставил простую: для каждой СУБД написать SQL-запрос, который сформирует описание таблиц и полей выбранных баз данных. Только хотел бы предупредить, что для разных версий одной и той же СУБД запросы могут немного отличаться, но, думаю, это и так очевидно.
Словарь данных для MySQL
Начал я с MySQL. Здесь всё оказалось достаточно просто. Можно использовать стандартную схему под названием INFORMATION_SCHEMA (говорят, даже ANSI на неё свой стандарт оформила для разных СУБД). Схема содержит таблицы, в которых можно легко найти все необходимые метаданные. В нашем случае достаточно соединить таблицы TABLES (таблицы) и COLUMNS (поля) по именам схемы и таблицы, выбрать нужные атрибуты, присвоить понятные псевдонимы, задать условия выборки (например, по имени схемы и типу объектов, как на примере ниже). Получится примерно такой запрос:
Получим результат вот такого вида
(показано на фрагменте отчёта для учебной БД «Студенты»):
Таблица | Комментарий к таблице | № п.п | Поле | Комментарий к полю | Тип | Ключ | NULL |
EMPLOYEE | Сотрудники | 1 | ID | Идентификатор | int(11) | PK | NO |
EMPLOYEE | Сотрудники | 2 | LAST_NAME | Фамилия | varchar(45) | NO | |
EMPLOYEE | Сотрудники | 3 | FIRST_NAME | Имя | varchar(45) | NO | |
EMPLOYEE | Сотрудники | 4 | MIDDLE_NAME | Отчество | varchar(45) | YES | |
EMPLOYEE | Сотрудники | 5 | BIRTHDAY | День рождения | date | YES | |
GRADE | Оценки | 1 | ID | Идентификатор | int(11) | PK | NO |
GRADE | Оценки | 2 | STUDENT_ID | ИД студента в группе | int(11) | YES | |
GRADE | Оценки | 3 | MODULE_NUM | Номер модуля | int(11) | YES | |
GRADE | Оценки | 4 | GRADE | Оценка | int(11) | YES | |
GROUP_ST | Учебные группы | 1 | ID | Идентификатор | int(11) | PK | NO |
GROUP_ST | Учебные группы | 2 | GROUP_CODE | Код группы | varchar(45) | YES | |
GROUP_ST | Учебные группы | 3 | TEACHER_ID | ИД сотрудника-преподавателя | int(11) | YES | |
GROUP_ST | Учебные группы | 4 | CURATOR_ID | ИД сотрудника-куратора | int(11) | YES | |
STUDENT | Студенты | 1 | ID | Идентификатор | int(11) | PK | NO |
STUDENT | Студенты | 2 | LAST_NAME | Фамилия | varchar(45) | NO | |
STUDENT | Студенты | 3 | FIRST_NAME | Имя | varchar(45) | NO | |
STUDENT | Студенты | 4 | MIDDLE_NAME | Отчество | varchar(45) | YES | |
STUDENT | Студенты | 5 | BIRTHDAY | День рождения | date | YES |
Единственное, надо не забывать, что запрос вернёт только те объекты БД, на просмотр которых у текущего пользователя есть привилегии. И ещё я бы обратил внимание на атрибут ORDINAL_POSITION, который был использован в составе оператора ORDER BY после TABLE_NAME (имя таблицы). Атрибут предназначен для хранения порядка полей, заданного в DDL-скрипте при создании таблицы (оператор CREATE TABLE) или установленного разработчиком позже (кстати, возможность изменять порядок полей после создания таблицы реализована далеко не во всех СУБД, MySQL здесь обогнал многих). Но зачем хранить исходный порядок полей, если теория реляционных баз данных утверждает, что порядок полей в таблице не несёт никакой смысловой нагрузки? Полагаю, эта возможность реализована исключительно для удобства пользователя. Разработчик, создавая таблицу, задаёт порядок полей не просто так, а на основе определённой бизнес-логики, и вправе ожидать, что выполнив запрос типа SELECT * FROM … без явно указанного порядка полей, или создав отчёт на основе словаря данных, как мы это сделали выше, он получит поля в порядке, соответствующем заложенной логике, а не как попало. Аналогичные по сути атрибуты с порядковым номером поля в таблице, есть и в других СУБД, что мы увидим ниже.
Просмотр Объектов базы данных
После того, как Вы создаете соединение с базой данных, можно использовать Навигатор Соединений, чтобы просмотреть множество объектов в схеме базы данных, включая Таблицы, Представления, Индексы, Пакеты, Процедуры, Триггеры и Типы.
Можно увидеть определение объектов, разбитое на вкладки с информацией, которая вытаскивается из словаря данных. Например, если Вы выбираете таблицу в Навигаторе, подробности о столбцах, ограничениях, привилегиях, статистические данные, триггеры и так далее выводятся на экран в удобной для чтения форме в отдельных вкладках.
Если Вы хотите увидеть определение таблицы EMPLOYEES как показано на рисунке, выполните следующие шаги:
- Разверните узел Connections в Навигаторе Соединений.
- Разверните Tables.
- Щелкните EMPLOYEES . По умолчанию выбирается вкладка Columns. Она показывает описание столбцов таблицы. Используя вкладку Data, можно просмотреть табличные данные, а также ввести новые строки, обновить данные и передать эти изменения в базу данных.
Далее: Команды Редактирования SQL*Plus
Post Views: 833
Похожие записи
Предложение WITH
Используя предложение WITH, можно определить блок запроса до его применения в запросе. Предложение WITH (формально называется subquery_factoring_clause) позволяет многократно использовать один и тот же блок запроса в инструкции SELECT, когда она встречается более одного раза в сложном запросе. Это особенно. Читать далее
Оператор WITH в sql
Оператор WITH в SQL — это чрезвычайно полезный инструмент для создания временных таблиц и использования их внутри других запросов. Это позволяет упростить код и улучшить производительность запросов. Оператор WITH (также известный как Common Table Expression) используется для создания временных таблиц. Читать далее
Выполнение запросов внешних таблиц
Внешняя таблица не описывает никаких данных, которые хранятся в базе данных. Внешняя таблица не описывает порядок хранения данных во внешнем источнике. Вместо этого она описывает, как уровень внешней таблицы должен представлять данные для сервера. За преобразования, которые требуется выполнять над. Читать далее
Инструкция FLASHBACK TABLE
Позволяет восстанавливать таблицы до состояния на заданный момент времени с помощью одной инструкции. Восстанавливает табличные данные вместе со связанными индексами и ограничениями. Позволяет возвращать таблицу и ее содержимое в состояние, существовавшее на определенный момент времени, или к изменению системы, определенному. Читать далее
Создание внешней таблицы
Внешние таблицы создаются с помощью предложения ORGANIZATION EXTERNAL инструкции CREATE TABLE. В действительности таблица не создается. Точнее, создаются метаданные в словаре данных, который можно использовать для доступа к внешним данным. Предложение ORGANIZATION применяется для указания порядка, в котором сохраняются строки. Читать далее
Инструкция DROP TABLE … PURGE
В базе данных Oracle имеется функция для удаления таблиц. При удалении таблицы база данных не сразу освобождает пространство, занимаемое таблицей. Точнее, база данных переименовывает таблицу и помещает ее в корзину, где таблица позже может быть восстановлена с помощью инструкции FLASHBACK. Читать далее
Создание внешней таблицы с помощью драйвера доступа ORACLE_LOADER
Рассмотрим, как создаются внешние таблицы посредством драйвера доступа ORACLE_LOADER. Предположим, что существует текстовый файл, в котором имеются записи в следующем формате: 10,jones,11-Dec-1934 20,smith,12-Jun-1972 Записи разделяются символом новой строки, и все поля заканчиваются запятой ( , ). Имя файла: /emp_dir/emp.dat. Читать далее
Пример создание внешней таблицы с помощью драйвера доступа ORACLE_DATAPUMP
Используя драйвер доступа ORACLE_DATAPUMP, можно выполнять с внешними таблицами операции выгрузки и повторной загрузки. Примечание. В контексте внешних таблиц загрузка данных обозначает операцию чтения данных из внешней таблицы и их загрузку в таблицу базы данных. Под выгрузкой данных понимается чтение. Читать далее
Установка Предпочтений SQL Developer
Можно настроить много аспектов интерфейса и среды SQL Developer, изменяя предпочтения SQL Developer согласно Вашим потребностям. Чтобы изменить предпочтения SQL Developer, выберите Tools, а затем Preferences. Настройте интерфейс SQL Developer и среду. В меню Tools выберите Preferences. Предпочтения группируется в. Читать далее
Резюме по SQL Developer
В этой рубрике было рассмотрено использование SQL Developer, чтобы выполнять следующие задачи: Просматривать, создавать и редактировать объекты базы данных Выполнять SQL-операторы и сценарии на Рабочем листе SQL Создавать и сохранять пользовательские отчеты SQL Developer является бесплатным графическим инструментом, позволяющим упростить. Читать далее