Sql explorer как пользоваться

Обновлено: 02.07.2024

Проводник служебной программы, компонент среды SQL Server Management Studio, подключается к экземплярам компонента Компонент Database Engine для отображения всех объектов в служебной программе представления SQL Server в виде дерева. Панель содержимого обозревателя программ предоставляет несколько способов просмотра сводных и подробных данных о состоянии исправности ресурсов управляемых экземпляров SQL Server. Обозреватель программ также реализует пользовательский интерфейс для просмотра определений политик и управления ими. Возможности обозревателя программ немного различаются в зависимости от объектов, представленных в служебной программе SQL Server , однако в целом они охватывают объекты, данные и политики, управляемые служебной программой SQL Server . Дополнительные сведения см. в разделе Функции и задачи служебной программы SQL Server.

Создание пункта управления программой

Перед использованием программы SQL Server необходимо создать пункт управления программой. Дополнительные сведения см. в статье Функции и задачи служебной программы SQL Server или Создание точки управления служебной программой SQL Server (служебная программа SQL Server Utility).

Чтобы развернуть приложение уровня данных на экземпляре SQL Server, управляемом в программе SQL Server, перейдите на вкладку Обозреватель объектов, раскройте узел Управление и щелкните правой кнопкой мыши элемент Приложения уровня данных. В меню правой кнопки мыши выберите команду Развернуть приложение уровня данных. Дополнительные сведения см. в статье Развертывание приложения уровня данных.

Отображение обозревателя программ

По умолчанию обозреватель программ не отображается в среде Среда Management Studio . Если обозреватель объектов отсутствует в пользовательском интерфейсе среды Среда Management Studio , в меню Вид выберите пункт Обозреватель программ. Чтобы открыть панель содержимого обозревателя программ, в меню Вид выберите пункт Содержимое обозревателя программ.

Просмотр объектов в обозревателе программ

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

Панель навигации служебной программы SQL Server

Панель навигации обозревателя программ предоставляет дерево объектов служебной программы SQL Server , сгруппированных по пункту управления программой. Чтобы раскрыть папку, щелкните знак «плюс» (+) или дважды щелкните имя пункта управления программой панели навигации обозревателя программ. Для выполнения стандартных задач щелкните правой кнопкой мыши папку или объект. Дерево включает следующие узлы.

Верхним узлом в дереве является пункт управления программой. Имя узла составляется следующим образом: "Имя_программы" (Имя_компьютера\имя_экземпляра_пункта_управления_программой). Если пункт управления программой отсутствует, его необходимо создать. Если отсутствует соединение с программой SQL Server , необходимо установить его. Дополнительные сведения см. в разделе Функции и задачи служебной программы SQL Server. Чтобы отобразить данные на панели содержимого обозревателя служебной программы SQL Server, щелкните имя пункта управления программой в дереве. Дополнительные сведения см. в статье Панель мониторинга программ (служебная программа SQL Server).

Щелкните правой кнопкой мыши узел пункта управления программой (UCP), чтобы обновить данные на панели управления.

Щелкните правой кнопкой мыши узел Развернутые приложения уровня данных в дереве, чтобы получить доступ к параметрам фильтра или обновить данные в списке.

Щелкните правой кнопкой мыши узел Управляемые экземпляры в представлении в виде дерева, чтобы добавить управляемые экземпляры SQL Server в служебную программу SQL Server, а также получить доступ к параметрам фильтра или обновить данные в списке.

Щелкните правой кнопкой мыши узел Администрирование программ в дереве, чтобы обновить данные на панели содержимого.

Панель мониторинга служебной программы SQL Server

Фильтрация списка объектов в области содержимого обозревателя программ

Если узел содержит большое число объектов, поиск нужного объекта может быть затруднен. В таких случаях следует уменьшить размер списка, используя функцию фильтра обозревателя программ. Например, может потребоваться найти определенный экземпляр SQL Server или только компьютеры с большим объемом свободного файлового пространства. Щелкните правой кнопкой мыши папку, которую требуется отфильтровать, нажмите кнопку фильтра, а затем кнопку Параметры фильтра , чтобы открыть диалоговое окно "Параметры фильтра обозревателя программ". Фильтровать список можно по имени, ЦП компьютера, ЦП экземпляра, файловому пространству, пространству тома, параметрам переопределения политик или последнему времени получения отчетов. В раскрывающихся списках в столбцах Оператор и Значение приведены дополнительные операторы фильтрации.

Запуск PowerShell

Сеанс PowerShell можно запустить, щелкнув любую папку или объект в дереве обозревателя объектов правой кнопкой мыши и выбрав пункт Запустить Powershell. В результате этого запускается сеанс PowerShell с поддержкой SQL Server PowerShell, в котором установлен путь к объекту, выбранному щелчком правой кнопкой мыши в обозревателе объектов. После этого можно вводить команды PowerShell в интерактивной среде PowerShell. Подробные сведения см. в статье SQL Server PowerShell.

В PowerShell отсутствует справка F1, но содержится командлет Get-Help, позволяющий получить сведения об использовании PowerShell. Дополнительные сведения об использовании Get-Help см. в статье Get Help SQL Server PowerShell.

Программа SQL Explorer представляет собой аналог Проводника Windows, с по­мощью которого можно просматривать и редактировать базу данных. В зависи­мости от версии эта программа имеет различные возможности и даже разные названия, например, SQL Explorer, Explorer или Database Explorer. Для запуска SQL Explorer нужно выполнить команду Database/Explorerменю Delphi или за­пустить файл dbexplor.exe, находящийся в каталоге BIN главного каталога Delphi. Программу также можно вызвать через главное меню Windows выбором пункта Programs/Borland Delphi 7/SQL Explorer.

Интерфейс программы SQL Explorer практически не отличается от интерфейса программы BDE Administrator. В левой части окна (рис.37) из древовидной структуры выбирается объект, после чего свойства этого объекта становятся дос­тупными для просмотра и редактирования в правой части окна.


Рис. 37. Окно программы SQL Explorer

SQL Explorer дает возможность:

Операции с псевдонимами не отличаются от аналогичных операций в програм­ме BDE Administrator.

Для просмотра структуры БД (таблицы) в левой панели окна выбирается нужная БД (таблица) — на рис. 37 это локальная таблица clients.dbf, расположение которой указывает псевдоним bcdemos. Для этой таблицы можно просмотреть ее объекты:

§ индексы (Indices);

§ ограничения ссылочной целостности (Referential Constraints);

§ ограничения на значения полей (Validity Checks);

§ права доступа (Security Spects).

Список доступных объектов базы данных зависит от особенностей ее или таб­лицы. Например, для удаленной БД InterBase в состав ее структуры включаются триггеры и генераторы.

Если для БД или таблицы установлен режим ограничения доступа, то при по­пытке открыть ее (получить к ней доступ) запрашиваются имя пользователя и его пароль.

Для просмотра и редактирования содержимого таблицы нужно выделить ее на­звание и на правой панели программы SQL Explorer выбрать вкладку Data.Записи таблицы отображаются в сетке, не отличающейся от компонента DBGrid. Для навигации по записям и их редактирования можно использовать навигаци­онный интерфейс, расположенный в панели инструментов и аналогичный ком­поненту DBNavigator.

Для просмотра содержимого данных формата BLOB (например, рисунков) сле­дует нажать кнопку Explorer BLOB,которая расположена в панели инструмен­тов. Объект BLOB выводится в отдельном окне.

Редактирование и запуск SQL-запросов осуществляется в текстовом редакторе, расположенном на вкладке Enter SQL.Выполнение запроса происходит при нажатии кнопки, размещенной справа от текстового редактора. Результаты ра­боты запроса выводятся в окне, расположенном под окном текстового редакто­ра. Переключение между запросами выполняется при нажатии кнопок с изо­бражениям синих треугольников: нажатие верхней кнопки вызывает переход к предыдущему запросу, а нижней — к следующему.

Для операций со словарями данных нужно выбрать вкладку Dictionary(Словарь) в левой части окна программы SQL Explorer (см. рис.37). При этом структу­ра выбранного словаря данных отобразится в виде иерархического дерева. Со словарем можно выполнить такие операции, как:

В скобках указаны команды меню вкладки Dictionary.

Словарь данных включает в себя описание структур БД (объект Database) и атрибуты (объект Attribute Sets).

Для работы с базами данных нам понадобятся инструменты. Во-первых, это сам Delphi. ;) Во-вторых это Database Desktop, с помощью которого можно создать таблицу и задать ее свойства. В-третьих это SQL Explorer, который позволяет просматривать данные в таблицах, как подряд, так и выборочно. В третьих это SQL Monitor, позволяющий рассмотреть в деталях, как выполняются наши запросы к ODBC. ODBC мы будем использовать при подключении в MS SQL Server'у, тогда и воспользуемся им. И, наконец, BDE Administrator и DataPump, которыми мы будем пользоваться довольно-таки редко, но знать о них необходимо.

Database Desktop

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

Для того чтобы создать таблицу следует выбрать пункт File ->New -> Table. При этом вас спросят, какого типа таблицу вы собираетесь создавать (Paradox 7). Нажмите OK, и приступим к собственно созданию таблицы. Первыми у нас будут идти поля, составляющие первичный ключ. Эти поля всегда располагаются в начале таблицы. Чтобы указать, что поле входит в первичный ключ надо в свойстве Key этого поля поставить . Это можно сделать нажатием пробела, когда курсор установлен в этот столбце, или правой кнопки мыши. Рекомендую для первичного ключа создавать специальное поле типа Autoincrement - так называемый . Преимуществ у этого подхода несколько. Возможно, конечно, создание таблицы вообще без ключей и индексов, но в дальнейшем они нам пригодятся, так что следует все-таки их (ключевые поля) создать.

Итак, первым вводим ключевое поле. Можем назвать его KeyField, или по другому, кому как нравится. Тип ему поставим "+", т.е. Autoincrement. Чтобы указать тип поля можно нажать пробел. Выпадет список всех возможных значений типа. У каждого есть горячая клавиша. В дальнейшем удобнее пользоваться именно ими.

Для поля этого типа длина не задается, поэтому при нажатии Tab мы перескакиваем сразу в колонку Key. Нажмем в ней пробел, указав, таким образом, что это поле входит в первичный ключ.

Следующим полем пусть у нас будет символьное. В колонке Type будет отображено (от &ltAlpha>), а не (от &ltString>), как можно было бы подумать. &ltS> означает &ltShort>, т.е. короткое целое, не путайтесь. Для символьного поля уже следует задать длину в колонке Size. Строк переменной длины не предусмотрено, поэтому следует сразу указать необходимое число символов. В дальнейшем увеличение длины поля может вызвать неудобства в виде перекомпиляции проекта (это зависит от способа обращения к полям). Это связано с тем, что Delphi изменение длины символьного поля рассматривает как изменение типа. Посмотрите на рисунок, здесь показана как раз эта стадия создания таблицы.

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

После того, как мы создали структуру таблицы, самое время указать свойства языка. Для этого в справа вверху в выпадающем списке выбираем . Нажмем . Укажем значение Pdox ANSI Cyrillic. Это позволит нам правильно видеть и сортировать русскоязычные текстовые поля в таблице.

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

Среди других возможностей отметим защиту паролем ("Password security"), подстановку значений из зависимых таблиц, ("Table Lookup"), просмотр списка зависимых таблиц ("Dependent tables") и контроль ссылочной целостности ("Referential Integrity"). О последнем пункте подробнее. Когда у вас есть главная и подчиненная таблицы возможна ситуация, когда при удалении записей из одной таблицы, другая окажется без связанных значений. Контроль ссылочной целостности позволяет отследить такую ситуацию и запретить удаление. Подробнее об этом здесь.

Еще одна возможность Database Desktop - конструирование таблицы не только вышеописанным способом, но и с помощью SQL запросов, выбрав в меню File ->New -> SQL File. Подробнее о создании таблиц с помощью SQL запросов см. соответствующий урок.

Database Desktop для нас полезен также своим меню "Tools". Здесь можно создать псевдоним "Alias Manager:" (см. BDE Administrator), скопировать содержимое одной таблицы в другую "Utilities->Copy", очистить содержимое таблицы "Utilities->Empty table", просмотреть ее структуру "Utilities->Info structure" и другие возможности.

Примечательна возможность выборки данных в Database Desktop - QBE или Query by example - запрос на базе примера. Мастер позволит вам выбрать таблицу, на базе которой создается запрос, поля, значения которых должны попасть в результирующую таблицу, при необходимости объединить несколько таблиц, и все это просто щелкая мышкой. Однако если мы хотим считать себя профессионалами, знание SQL необходимо. QBE нам в этом поможет - то что мы нащелкали мышкой преобразуются в команды SQL, которые мы можем просмотреть нажав кнопку "Show SQL" на панели инструментов. Но для выборки данных мы чаще будем использовать


SQL Explorer

SQL Explorer. Это наиболее универсальный и часто используемый инструмент при работе с базами данных. С его помощью можно не только создавать псевдонимы БД, но и просматривать и, при необходимости, редактировать их содержимое. В окне SQL Explorer расположены главное меню, инструментальная панель и два рабочих поля -левое в закладками Database и Dictionary и правое с закладками Definition, Data и Enter SQL. Главное меню и инструментальная панель служат для управления утилитой и ее настройки. Левое поле в режиме отображения Database позволяет просматривать уже созданные псевдонимы и создавать новые, редактировать и уничтожать их. Здесь же можно просмотреть структуру БД, связанной с конкретным псевдонимом: входящие в нее таблицы, домены, представления, хранимые процедуры и т.д. В режиме отображения Dictionary левое поле открывает доступ к словарям БД. Закладки правого поля меняются в зависимости от того, какой компонент выбран в левом поле. В режиме Definition оно отображает определение или параметры выбранного компонента (таблицы, поля, хранимой процедуры и т.п.). В режиме Data можно увидеть содержимое таблицы, выбранной в левом окне. Режим Enter SQL предназначен для ввода SQL-операторов, их выполнения и отображения результатов выполнения. Рассмотрим некоторые, важные для нас, пункты меню SQL Explorer:
Dictionary - обслуживает словари, т.е. хранилища информации о базах данных и существующих в них объектах (таблицах, ограничениях, ссылочных целостностях и т.п.):

  • Select - открывает диалоговое окно Select a Dictionary для выбора одного из доступных словарей. Выбранный словарь становится активным словарем, доступ к объектам которого открывает левое поле в режиме Dictionary.
  • Register - заносит текущий словарь в список доступных словарей окна Select a Dictionary.
  • Unregister - удаляет регистрацию текущего словаря из списка Select a Dictionary.
  • New - создает новый словарь.
  • Delete - уничтожает текущий словарь.
  • Import From Database - импортирует в текущий словарь сведения об объекте.
  • Import From File - добавляет в текущий словарь сведения из файла, созданного опцией Export To File. Опция полезна для переноса словарей на машину другого разработчика.
  • Export To File - записывает в файл данные из текущего словаря.

Options определяют некоторые параметры утилиты:

  • Query - задает ограничители строк, предложений, комментариев в тексте запроса, а также определяет, будет ли возвращаемый НД изменяемый.
  • Transaction Isolation - устанавливает уровень разграничения транзакций.
  • Word Wrap - если отмечена, редактор ввода переносит текст запроса на новую строку, если очередное слово не умещается в рамке окна.
  • Show Confirmations - определяет, будет ли появляться диалоговое окно для подтверждения вносимых изменений.
  • Show Warnings - указывает, будет ли появляться диалоговое окно с предупреждением о возможной потере данных. Данные могут быть потеряны, например, при перемещении столбца на новое место, так как в этом случае запрос должен быть повторен с указанием нового порядка следования полей.
  • Sync Pages - переносит схемную информацию из выбранной БД в выбранный словарь при переключении с закладки Database на закладку Dictionary. Перед переносом появится диалоговое окно для подтверждения операции

С помощью SQL Explorer можно создавать новые псевдонимы БД ("Object->New"), изменять их параметры и уничтожать. Однако в отличие от BDE Administrator, утилита SQL Explorer не может изменить свойства всех однотипных псевдонимов или сделать общесистемные установки форматов.

Если раскрыть дерево метаданных для какой-нибудь базы данных, то можно увидеть все или некоторые (зависит от типа БД) из таких узлов:

  • Domains - домены;
  • Tables - таблицы;
  • Views - виртуальные таблицы (представления);
  • Procedures - хранимые процедуры;
  • Functions - функции, определенные пользователем;
  • Generators - генераторы;
  • Exceptions - исключения;
  • Blob Filters - BLOB-фильтры.

В состав метаданных локальных БД входят только таблицы.

Открыв, например, дерево "таблицы", можно увидеть список таблиц, выбрать какую-нибудь можно щелкнув по ней мышкой. При этом в правом окне отобразится детальная информация об этой таблице, такая как: тип, язык, Версия, дата и время последней модификации, и др., в зависимости от типа таблицы. Перейдя на закладку "Data" можно увидеть содержимое этой таблицы, а на закладке "Enter SQL" ввести SQL-запрос и выполнить его. Этой возможностью мы будем часто пользоваться в дальнейшем.


BDE Administrator

BDE Administrator предназначен для создания псевдонимов баз данных и настройки их свойств. В начале урока я упомянул, сто пользоваться им нам придется редко. Это потому, что, обычно, им приходится пользоваться один-два раза за все время разработки проекта.

Создать псевдоним (Alias, в терминах Delphi) можно выбрав в меню Object пункт New. В появившемся окне выбрать тип базы данных - STANDARD для баз данных формата Paradox (.db) и dBase/FoxPro/Clipper (.dbf), INTRBASE для баз данных Interbase и т.д. Обратите внимание, что в этот список также включены все установленные в вашей системе драйвера ODBC. А так же на то, что если у вас уже есть настроенные ODBC-соединения, то они так же будут отображены в списке псевдонимов. Т.е. налицо полная поддержка ODBC через DBE. О том, что нам это дает, мы поговорим позже.

После задания типа базы данных надо ввести имя псевдонима в левом окне, и задать свойства в правом окне. Набор свойств зависит от выбранного типа базы данных. Для простейшего случая - локальная таблица Paradox - здесь только путь, где будут располагаться наши таблицы. Это позволяет нам при переносе программы расположить ее в любой папке, а потом только указать путь к ней в BDE Administrator. Но это уже тогда, когда вы закончите разработку и будете устанавливать свой проект клиенту. А до этого еще далеко:

Заметим еще, что создать псевдоним можно не только с помощью BDE Administrator'а, но и с помощью Database Desktop'а и SQL Explorer'а.

В левом окне на закладке Configuration можно найти еще одно дерево с параметрами. На этот раз речь идет не о параметрах подключения, а о параметрах BDE.

В узле Drivers этого дерева настраиваются параметры драйверов баз данных, как встроенных в BDE (Native), так и заимствованных из ODBC.

Рассмотрим параметры драйвера Paradox, так как этих таблицах мы будем рассматривать однопользовательский подход к проектированию баз данных:

К MS SQL Server'у можно подключиться и через BDE, и через ODBC. Рассмотрим оба варианта
Некоторые параметры драйвера MSSQL

Некоторые параметры драйвера SQL Server (ODBC)

Отметим, что большинство параметров менять нет никакой необходимости. Значения по умолчанию нас вполне устроят.

Последнее приложение, которое мы рассмотрим в рамках этого урока - DataPump. Этот инструмент пригодится для переноса большого количества данных из одного источника в другой. Он и переводится с английского как "насос данных". Например, проект перерос сам себя, понадобились возможности технологии "Клиент/сервер". Вы модернизируете ваш проект, а затем вам надо не потерять наработанные данные. Вот в этом случае вам и пригодится DataPump. Или в какой другой задаче переноса большого количества данных. Мастер проведет вас последовательно по всем шагам, расспросит о ваших пожеланиях, позволит вам выбрать место, откуда брать и куда помещать данные, какие создавать индексы и т.п. Интерфейс весьма прост и нагляден, так что не будем больше тратить на него время.

Для работы с базами данных нам понадобятся инструменты. Во-первых, это сам Delphi . ;) Во-вторых это Database Desktop, с помощью которого можно создать таблицу и задать ее свойства. В-третьих это SQL Explorer, который позволяет просматривать данные в таблицах, как подряд, так и выборочно. В третьих это SQL Monitor, позволяющий рассмотреть в деталях, как выполняются наши запросы к ODBC. ODBC мы будем использовать при подключении в MS SQL Server'у, тогда и воспользуемся им. И, наконец, BDE Administrator и DataPump, которыми мы будем пользоваться довольно-таки редко, но знать о них необходимо.

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

Для того чтобы создать таблицу следует выбрать пункт File ->New -> Table . При этом вас спросят, какого типа таблицу вы собираетесь создавать (Paradox 7). Нажмите OK , и приступим к собственно созданию таблицы. Первыми у нас будут идти поля, составляющие первичный ключ. Эти поля всегда располагаются в начале таблицы. Чтобы указать, что поле входит в первичный ключ надо в свойстве Key этого поля поставить <!--webbot bot="HTMLMarkup" startspan -->< <!--webbot bot="HTMLMarkup" endspan -->*>. Это можно сделать нажатием пробела, когда курсор установлен в этот столбце, или правой кнопки мыши. Рекомендую для первичного ключа создавать специальное поле типа Autoincrement - так называемый <суррогатный ключ>. Преимуществ у этого подхода несколько. Подробнее об этом читайте в статье "Естественные ключи против искуственных ключей". Возможно, конечно, создание таблицы вообще без ключей и индексов, но в дальнейшем они нам пригодятся, так что следует все-таки их (ключевые поля) создать.

Итак, первым вводим ключевое поле. Можем назвать его KeyField , или по другому, кому как нравится. Тип ему поставим " + ", т.е. Autoincrement . Чтобы указать тип поля можно нажать пробел. Выпадет список всех возможных значений типа. У каждого есть горячая клавиша. В дальнейшем удобнее пользоваться именно ими.

Для поля этого типа длина не задается, поэтому при нажатии Tab мы перескакиваем сразу в колонку Key . Нажмем в ней пробел, указав, таким образом, что это поле входит в первичный ключ.

Следующим полем пусть у нас будет символьное. В колонке Type будет отображено < A > (от <Alpha>), а не < S > (от <String>), как можно было бы подумать. <S> означает <Short>, т.е. короткое целое, не путайтесь. Для символьного поля уже следует задать длину в колонке Size . Строк переменной длины не предусмотрено, поэтому следует сразу указать необходимое число символов. В дальнейшем увеличение длины поля может вызвать неудобства в виде перекомпиляции проекта (это зависит от способа обращения к полям). Это связано с тем, что Delphi изменение длины символьного поля рассматривает как изменение типа. Посмотрите на рисунок, здесь показана как раз эта стадия создания таблицы.

Вообще, названия типов говорят сами за себя, подробнее рассматривать, наверное, смысла нет. Добавлю только, из собственного опыта, что пользоваться полем типа <!--webbot bot="HTMLMarkup" startspan -->< <!--webbot bot="HTMLMarkup" endspan -->Money> неудобно. Оно требует к значению, которое вы собираетесь записать в такое поле, приписывать знак денежной единицы, причем такой, как определен в региональных настройках Windows.

После того, как мы создали структуру таблицы, самое время указать свойства языка. Для этого в справа вверху в выпадающем списке выбираем <!--webbot bot="HTMLMarkup" startspan -->< <!--webbot bot="HTMLMarkup" endspan -->Table language>. Нажмем <!--webbot bot="HTMLMarkup" startspan -->< <!--webbot bot="HTMLMarkup" endspan -->Modify>. Укажем значение Pdox ANSI Cyrillic . Это позволит нам правильно видеть и сортировать русскоязычные текстовые поля в таблице.

Создать вторичные индексы можно, выбрав в выпадающем списке, справа вверху пункт <!--webbot bot="HTMLMarkup" startspan -->< <!--webbot bot="HTMLMarkup" endspan -->Secondary Indexes> Они пригодятся нам при поиске и сортировке. Однако не стоит ими чрезмерно увлекаться: каждая операция записи данных в таблицу влечет за собой изменение индексов, при слишком большом их количестве и большой таблице это может заметно замедлить работу.

Среди других возможностей отметим защиту паролем (" Password security "), подстановку значений из зависимых таблиц, (" Table Lookup "), просмотр списка зависимых таблиц (" Dependent tables ") и контроль ссылочной целостности (" Referential Integrity "). О последнем пункте подробнее. Когда у вас есть главная и подчиненная таблицы возможна ситуация, когда при удалении записей из одной таблицы, другая окажется без связанных значений. Контроль ссылочной целостности позволяет отследить такую ситуацию и запретить удаление. Подробнее об этом здесь.

Еще одна возможность Database Desktop - конструирование таблицы не только вышеописанным способом, но и с помощью SQL запросов, выбрав в меню File ->New -> SQL File . Подробнее о создании таблиц с помощью SQL запросов см. соответствующий урок.

Database Desktop для нас полезен также своим меню " Tools ". Здесь можно создать псевдоним " Alias Manager: " (см. BDE Administrator ), скопировать содержимое одной таблицы в другую " Utilities->Copy ", очистить содержимое таблицы " Utilities->Empty table ", просмотреть ее структуру " Utilities->Info structure " и другие возможности.

Примечательна возможность выборки данных в Database Desktop - QBE или Query by example - запрос на базе примера. Мастер позволит вам выбрать таблицу, на базе которой создается запрос, поля, значения которых должны попасть в результирующую таблицу, при необходимости объединить несколько таблиц, и все это просто щелкая мышкой. Однако если мы хотим считать себя профессионалами, знание SQL необходимо. QBE нам в этом поможет - то что мы нащелкали мышкой преобразуются в команды SQL, которые мы можем просмотреть нажав кнопку "Show SQL" на панели инструментов. Но для выборки данных мы чаще будем использовать

SQL Explorer . Это наиболее универсальный и часто используемый инструмент при работе с базами данных. С его помощью можно не только создавать псевдонимы БД, но и просматривать и, при необходимости, редактировать их содержимое. В окне SQL Explorer расположены главное меню, инструментальная панель и два рабочих поля -левое в закладками Database и Dictionary и правое с закладками Definition , Data и Enter SQL . Главное меню и инструментальная панель служат для управления утилитой и ее настройки. Левое поле в режиме отображения Database позволяет просматривать уже созданные псевдонимы и создавать новые, редактировать и уничтожать их. Здесь же можно просмотреть структуру БД, связанной с конкретным псевдонимом: входящие в нее таблицы, домены, представления, хранимые процедуры и т.д. В режиме отображения Dictionary левое поле открывает доступ к словарям БД. Закладки правого поля меняются в зависимости от того, какой компонент выбран в левом поле. В режиме Definition оно отображает определение или параметры выбранного компонента (таблицы, поля, хранимой процедуры и т.п.). В режиме Data можно увидеть содержимое таблицы, выбранной в левом окне. Режим Enter SQL предназначен для ввода SQL-операторов, их выполнения и отображения результатов выполнения. Рассмотрим некоторые, важные для нас, пункты меню SQL Explorer:
Dictionary - обслуживает словари, т.е. хранилища информации о базах данных и существующих в них объектах (таблицах, ограничениях, ссылочных целостностях и т.п.):

  • Select - открывает диалоговое окно Select a Dictionary для выбора одного из доступных словарей. Выбранный словарь становится активным словарем, доступ к объектам которого открывает левое поле в режиме Dictionary.
  • Register - заносит текущий словарь в список доступных словарей окна Select a Dictionary.
  • Unregister - удаляет регистрацию текущего словаря из списка Select a Dictionary.
  • New - создает новый словарь.
  • Delete - уничтожает текущий словарь.
  • Import From Database - импортирует в текущий словарь сведения об объекте.
  • Import From File - добавляет в текущий словарь сведения из файла, созданного опцией Export To File. Опция полезна для переноса словарей на машину другого разработчика.
  • Export To File - записывает в файл данные из текущего словаря.

[an error occurred while processing this directive]

Options определяют некоторые параметры утилиты:

  • Query - задает ограничители строк, предложений, комментариев в тексте запроса, а также определяет, будет ли возвращаемый НД изменяемый.
  • Transaction Isolation - устанавливает уровень разграничения транзакций.
  • Word Wrap - если отмечена, редактор ввода переносит текст запроса на новую строку, если очередное слово не умещается в рамке окна.
  • Show Confirmations - определяет, будет ли появляться диалоговое окно для подтверждения вносимых изменений.
  • Show Warnings - указывает, будет ли появляться диалоговое окно с предупреждением о возможной потере данных. Данные могут быть потеряны, например, при перемещении столбца на новое место, так как в этом случае запрос должен быть повторен с указанием нового порядка следования полей.
  • Sync Pages - переносит схемную информацию из выбранной БД в выбранный словарь при переключении с закладки Database на закладку Dictionary. Перед переносом появится диалоговое окно для подтверждения операции

С помощью SQL Explorer можно создавать новые псевдонимы БД ("Object->New"), изменять их параметры и уничтожать. Однако в отличие от BDE Administrator, утилита SQL Explorer не может изменить свойства всех однотипных псевдонимов или сделать общесистемные установки форматов.

Если раскрыть дерево метаданных для какой-нибудь базы данных, то можно увидеть все или некоторые (зависит от типа БД) из таких узлов:

  • Domains - домены;
  • Tables - таблицы;
  • Views - виртуальные таблицы (представления);
  • Procedures - хранимые процедуры;
  • Functions - функции, определенные пользователем;
  • Generators - генераторы;
  • Exceptions - исключения;
  • Blob Filters - BLOB-фильтры.

В состав метаданных локальных БД входят только таблицы.

Открыв, например, дерево "таблицы", можно увидеть список таблиц, выбрать какую-нибудь можно щелкнув по ней мышкой. При этом в правом окне отобразится детальная информация об этой таблице, такая как: тип, язык, Версия, дата и время последней модификации, и др., в зависимости от типа таблицы. Перейдя на закладку "Data" можно увидеть содержимое этой таблицы, а на закладке "Enter SQL" ввести SQL-запрос и выполнить его. Этой возможностью мы будем часто пользоваться в дальнейшем.

BDE Administrator предназначен для создания псевдонимов баз данных и настройки их свойств. В начале урока я упомянул, сто пользоваться им нам придется редко. Это потому, что, обычно, им приходится пользоваться один-два раза за все время разработки проекта.

Создать псевдоним ( Alias , в терминах Delphi) можно выбрав в меню Object пункт New . В появившемся окне выбрать тип базы данных - STANDARD для баз данных формата Paradox (.db) и dBase/FoxPro/Clipper (.dbf), INTRBASE для баз данных Interbase и т.д. Обратите внимание, что в этот список также включены все установленные в вашей системе драйвера ODBC. А так же на то, что если у вас уже есть настроенные ODBC-соединения, то они так же будут отображены в списке псевдонимов. Т.е. налицо полная поддержка ODBC через DBE. О том, что нам это дает, мы поговорим позже.

После задания типа базы данных надо ввести имя псевдонима в левом окне, и задать свойства в правом окне. Набор свойств зависит от выбранного типа базы данных. Для простейшего случая - локальная таблица Paradox - здесь только путь, где будут располагаться наши таблицы. Это позволяет нам при переносе программы расположить ее в любой папке, а потом только указать путь к ней в BDE Administrator. Но это уже тогда, когда вы закончите разработку и будете устанавливать свой проект клиенту. А до этого еще далеко:

Заметим еще, что создать псевдоним можно не только с помощью BDE Administrator'а, но и с помощью Database Desktop'а и SQL Explorer'а.

В левом окне на закладке Configuration можно найти еще одно дерево с параметрами. На этот раз речь идет не о параметрах подключения, а о параметрах BDE.

В узле Drivers этого дерева настраиваются параметры драйверов баз данных, как встроенных в BDE ( Native ), так и заимствованных из ODBC.

Рассмотрим параметры драйвера Paradox , так как этих таблицах мы будем рассматривать однопользовательский подход к проектированию баз данных:

К MS SQL Server'у можно подключиться и через BDE, и через ODBC. Рассмотрим оба варианта
Некоторые параметры драйвера MSSQL

Некоторые параметры драйвера SQL Server (ODBC)

Отметим, что большинство параметров менять нет никакой необходимости. Значения по умолчанию нас вполне устроят.

Последнее приложение, которое мы рассмотрим в рамках этого урока - DataPump . Этот инструмент пригодится для переноса большого количества данных из одного источника в другой. Он и переводится с английского как "насос данных". Например, проект перерос сам себя, понадобились возможности технологии "Клиент/сервер". Вы модернизируете ваш проект, а затем вам надо не потерять наработанные данные. Вот в этом случае вам и пригодится DataPump. Или в какой другой задаче переноса большого количества данных. Мастер проведет вас последовательно по всем шагам, расспросит о ваших пожеланиях, позволит вам выбрать место, откуда брать и куда помещать данные, какие создавать индексы и т.п. Интерфейс весьма прост и нагляден, так что не будем больше тратить на него время.

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