Правильная ссылка на эту страницу
http://az-design.ru/Support/DataBase/SQL/sql003.shtml

Как написать SQL-script
(3-й маленький совет)

       И, наконец, практические рекомендации, как оформить скрипт в Word-97.
       Первое на что следует обратить внимание, это, как ни странно, шрифт и стиль. Необходимо выбрать стиль "Plain Text" и шрифт Courier New размером от 8 до 10 пунктов. Шрифт должен быть моноширинный, т.е. когда ширина всех букв одинаковая. Это позволит форматировать текст с отступами для удобства восприятия. Чем меньше размер шрифта, тем больше символов умещается в строке, но труднее читать. Размер меньше 8 пунктов уже неприемлем.
       Второе, это оформление страницы. Т.е. страница должна иметь колонтитул, содержащий название скрипта, имя файла, дату и время последнего сохранения, номер страницы и количество страниц. Для этого выбираем в меню пункт "View/Header and Footer" ("Вид/Колонтитулы").
       Переключаемся на нижний колонтитул (Footer) и в выделенном поле пишем:
       - "наименование программы", - и через тире и пробел вставляем из автотекста (AutoText) либо имя файла и путь (Filename and path), либо только имя файла.
       - Отступив немного пробелами, вставляем дату (кнопка с календарем) и время (кнопка с часами). Так как дата вставляется с двумя цифрами года, то нужно немного подправить формулу. Для этого указываем курсором на дату, и после клика поле даты станет серым. После этого нажатием на правую кнопку мыши открываем меню свойств и выбираем (Toggle Field Codes), в результате дата превращается в формулу, которой текст "dd.MM.yy" нужно заменить на "dd.MM.yyyy". Снова выбираем из меню свойств (Toggle Field Codes) и сразу, опять из меню свойств, выбираем (Update Field).
       - Опять отступив немного пробелами, вставляем из автотекста "Стр. X из Y" (Page X of Y).
       - Далее пробелами выравниваем текст так, чтобы все это красиво лежало. При необходимости можно изменить шрифт и его характеристики.
       Когда все закончено можно закрыть панель колонтитулов.


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

       Теперь собственно SQL-скрипт.
       Начинать его нужно с описания структуры, оформленной в виде комментария между символами /* . . . */. Как оформлять структуру расскажем позже.

       Теперь описания таблиц. Так как с описанием таблицы, как правило, идут генераторы, триггера, возможно дополнительные процедуры и представления (view), то начинать описание таблицы нужно с новой страницы – так будет удобнее читать распечатку. Например


/* Таблица StatList*/
Create table StatList
      (StatID         Integer not null primary key,
       StatName       AZTITLE default '' not null,
       StNameEng      AZTitle default '' not null);
commit;

       И сразу, в любом месте фразы "/* Таблица StatList */" нужно вставить закладку. Делается это так:
       - в меню выбрать "Вставить/закладка" (Insert/bookmark) и в верхнем поле написать "Table_StatList" и нажать кнопку "добавить" (ADD). Название должно быть написано латинскими буквами (даже в русском Wordе) и не содержать пробелов. Если сначала поставить слово Table, то сортировка будет происходить по группам объектов.
       Таким образом, мы получили возможность ссылаться и переходить место в тексте, обозначенное определенным именем. Если нам нужно просто попасть на нужное место, то нажимаем Ctrl+G и выбираем имя закладки назначения. Переход в файле 4Мб (600стр.) происходит практически мгновенно.
       Теперь, можно построить структуру таблиц для облегчения навигации. Это может выглядеть примерно так:

/*
Вспомогательные таблицы для адресов и персоналий

+--> Address - Таблица адресов +--> StatList - список Федеральных единиц +--> AreaList - список областей +--> CityList - Список городов (населенных пунктов) +--> StreetList - Список улиц +--> BildList - Список домов +--> BlockList - Список корпусов +--> OfficeList – Список офисов, квартир */

 

       Построив "буковками" схему взаимодействия таблиц и их связей, можно на каждое название таблицы поставить гиперссылку и в дальнейшем одним щелчком мыши переходить на описание той или иной таблицы.
       Для этого нужно выделить текст, на который ставится гиперссылка, и выбрать в меню "Вставить/Гиперссылка" (Insert/HyperLink) или нажать клавиши Ctrl+K. После чего откроется диалог, в котором содержаться два поля:
       - Связать с файлом/URL (Link to file or URL)
       - Имя объекта в документе (вводить не обязательно) (Named location in file (optional))
       Так как мы вставляем гиперссылку на тот же документ, в котором работам, то на первое поле можно не обращать внимание, а во втором поле нужно нажать кнопку "Обзор" и из списка закладок выбрать необходимую и закрыть все диалоги, нажав кнопки "ОК". Возможно, Word изменит оформление текста на гиперссылке, но это легко подправить.
       После всех этих действий получиться удобная схема вместо оглавлений. Особенно если вспомнить, что в тексте таблицы, как правило, располагаются в обратном порядке, – т.е. сначала определяются составляющие, а затем определяется таблица, которая собирает в себя эти составляющие.

       Но это еще не все. Если в таблице определяются внешние ссылки, то их тоже можно определить как гиперссылки. Например:

/* Table ADDRESS */ 
Create table ADDRESS
      (ADDRID           Integer Not null Primary key,
       AdrParnt         Integer default 0,
       AdrCount         Integer default 0,
       AdrIndexPO       AZNOVAR,
       AdrCountry       SmallInt default 0 references Country    on update cascade,
       AdrStat          Integer  default 0 references StatList   on update cascade,
       AdrArea          Integer  default 0 references AreaList   on update cascade,
       AdrCity          Integer  default 0 references CityList   on update cascade,
       AdrStreet        Integer  default 0 references StreetList on update cascade,
       AdrBild          Integer  default 0 references BildList   on update cascade,
       AdrBlock         Integer  default 0 references BlockList  on update cascade,
       AdrOffice        Integer  default 0 references OfficeList on update cascade,
       AdrNotes         AZNOTES);
commit;

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

       Таким образом, несмотря на то, что текст скрипта может содержать десятки тысяч строк и сотни объектов, по нему можно построить очень удобную навигацию, не нарушающую текста скрипта. После сохранения этого текста в формате "Plain Text" все дополнения пропадают и не оказывают влияния на выполнение скрипта.

 

 

© 17.01.2003, Архангельский А.Г.

Оглавление
Главная страница




Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:44 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/DataBase/SQL/sql003.shtml