Руководство по spl

sPlan 7.0. Подробное руководство.

Многим радиолюбителям давно известна программа для черчения электрических схем под названием sPlan, но есть и такие, кто ещё не знаком с этой программой, что и побудило на написание этой статьи. На данный момент последняя версия программы вышла под номером 7.0, и с ней мы и будем знакомится.

;

sPlan 7.0. — это одна из самых простых и удобных программ и не потребует много времени на свое освоение, но позволяет быстро рисовать электрические схемы и рисунки, практически любой сложности.
Для создания схемы необходимо просто перетащить необходимые элементы (спрайты) из библиотеки на лист и соединить их между собой. Все графические элементы автоматически привязываются к сетке листа.
Все элементы и компоненты из библиотеки могут быть свободно отредактированы как Вам необходимо, их все можно группировать, перемещать, вращать на заданный угол, копировать, вырезать, вставлять, удалять и т.д., то есть делать с ними всё, что Вам угодно.
Но давайте будем знакомиться с ней по порядку.

Интерфейс программы sPlan 7.0.

После того как установили и запустили программу, мы видим такое вот окно.

Это непосредственно окно работы нашей программы, где мы в последствии будем рисовать схему.

Начнем с верхней панели

 

Посмотрим, что у нас прячется за надписью Файл.
Жмем на эту надпись, и тут же у нас появляется выпадающее меню.

 

 

  • Создать новый лист, Открыть лист (схему), Сохранить, Сохранить как. Здесь и так все ясно, и Вы сами разберётесь без труда.
  • Чертежи (*.spl7) Смотрим, что находится там.

 

А здесь у нас находятся заготовки для схем (чертежей), рамки для листов размером А4. Можно все их посмотреть при желании.

 

  • Экспорт.  Эта функция экспорта файлов, позволяет сохранять созданную нами схему, чертеж в форматах: GIF, JPG, BMP, EMF и SVG.. Если двигать рычажок «Качество» в правую сторону, то размер, а следовательно и качество сохраняемого рисунка будет больше. Можете сами посмотреть, что и как изменяется в сохранении и выбрать оптимальный вариант.
  • Печать… Вывести на печать чертеж электрической схемы можно с помощью простого и понятного окна печати.

 

Однако в версии программы sPlan 7 появилась возможность печати баннера. Эта функция позволяет печатать чертеж любого размера, на листах под ваш принтер. То есть, если схема будет большого размера, или просто установить больший масштаб схемы и выбрать 2 листа по Х и 2 по Y (формат А2), или два листа в книжном формате (формат А3), то происходит автоматическая разрезка чертежа на части, с заданным нахлестом (выбран 5 мм), и печать этих частей .

 

 

Со следующими пунктами «Правка», «Лист», «Штамп», «Сервис», «Настройки». «Элемент» и «Справка» думаю понятно. Скажу о них кратко;
«Лист», — задаются свойства листа.
«Штамп» — можно вставить в лист стандартный штамп (рамку) или убрать его, так же есть редактор штампов.
В меню «Сервис» — есть пункт «Направляющие».
Направляющие в программе sPlan используются как вспомогательные линии при создании чертежа. Поэтому они не имеют свойств и не будут напечатаны. Направляющие бывают полезными, если необходимо точно установить положение элемента на листе. Для этого устанавливают точное положение направляющих и перемещают необходимый элемент к этим направляющим. При приближении элемента к направляющей его ближайшая сторона «прилипает» к направляющей.

«Элемент» и там-же «Правка подписей к элементам» — можно сразу во всей схеме изменить размеры подписей (номиналы, обозначения и нумерация) всех элементов.
Далее ниже находится следующая панель инструментов.

Что у нас там идёт? «Создать новый лист», «Открыть лист», «Сохранить», «Печать», тоже надеюсь понятно, далее стрелки «Отменить» и «Вернуть» относятся к каким либо действиям при рисовании схем и к отдельным элементам схем, и к ним же далее «Вырезать», «Копировать», «Вставить», «Дублировать», «Удалить», далее «На передний план», «На задний план», «Повернуть на 90», «Отразить по горизонтали», «Отразить по вертикали», «Выравнивание», «Группировать», «Разгруппировать», разберётесь надеюсь без труда сами, но некоторые из них мы рассмотрим отдельно.
Далее идут «Перенумеровать», «Перечень элементов», «Поиск», «Шаг сетки», «Масштаб», «Связь (Основной — Приданные)» и «Размеры Вкл/Выкл.».

Далее ниже слева находятся библиотеки элементов. Если кликнуть по голубой книжке, то появится список имеющихся библиотек, из которых можно выбрать необходимую нам.
В программе sPlan реализована функция отображения всплывающих подсказок, которые можно увидеть, если кратковременно навести курсор на любой элемент интерфейса. Слева внизу находятся кнопочки «+». «-«, кнопка «название в библиотеке» (убирает или добавляет названия) и стрелочки «вверх» и «вниз».
Если нажать «+», то добавится ещё колонка с элементами, нажать «-» — убавится, стрелки вверх и вниз позволяют переключать разделы отображаемых элементов.
С помощью мыши, Вы можете перетащить любой элемент из библиотеки на лист.
В нижней часть окна программы расположена строка состояния, в которой отображается информация о позиции мыши, настройках линий и т. д. Так же здесь Вы можете включить или выключить некоторые параметры программы, такие как привязка к сетке, значение угла сетки и др.
Справа от окна библиотеки компонентов имеется вертикальная панель с инструментами для создания и редактирования чертежей и схем.

 

Давайте подробнее рассмотрим эту панель и эти кнопки:

Сверху вниз там находятся следующие кнопки.

Указка
Прямоугольник
Окружность
Особая форма
Фигура
Линия
Кривая Безье
Размеры
Узел (Точка соединения)
Текст
Текстовый блок
Рисунок
Лупа
Измеритель

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

Прямоугольник
При нажатии на эту кнопку, можно рисовать прямоугольники, квадраты, скругленные прямоугольники.
При нажатии на эту кнопку, на листе появляется перекрестие из двух синих линий, и для рисования прямоугольника в необходимой (начальной) точке нажмите кнопку мыши, удерживая ее, переместите курсор во вторую точку листа (конечную точку) и отпустите кнопку мыши. Всё, прямоугольник готов.
Если вы хотите начертить квадрат, то проделайте действия аналогичные как при черчении прямоугольника, но с нажатой клавишей CTRL. Что бы отключить действие этой кнопки, нужно кликнуть правой кнопкой мыши в районе листа, или нажать на стрелку — кнопка «Указка» на панели инструментов. Перекрестие пропадёт.
Впрочем все кнопки отключаются аналогичным образом.

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

В левом верхнем углу появился маленький белый квадратик. Теперь можно «взять» его указкой и потащить за угол внутрь.
Видите, как скругляются его углы. Можно потащить дальше и получится у нас баллон электронной лампы, только лежащий на боку. Теперь приблизим указку к любому чёрному квадратику, и когда у нас в районе квадратика появится стрелка, указывающая на возможное направление, можно «захватить» левой кнопкой мыши наш прямоугольник и растягивать или сжимать его в любом направлении.

Двойной щелчок мышью на линии прямоугольника, откроет окно свойств прямоугольника (в нашей версии окно называется Контур и заливка). В этом окне можно изменять такие свойства, как стиль, ширина и цвет линии, а так же выполнить заливку прямоугольника.

Следующий пункт у нас Окружность:

Для эллипсов всё то же самое, как и для прямоугольников, круги так же рисуются с нажатой клавишей CTRL. Но здесь немного другой смысл белого квадратика.

Хватаем его указкой и двигаем вниз. У нас получается разрыв и уже два белых квадратика. Так же можно двигать и верхний квадратик. То есть можно нарисовать дугу любого размера и положения и менять её размеры чёрными квадратиками.
Если к дуге применить заливку, то получиться сектор (сегмент) круга.

Дальше у нас идёт кнопка «Особая форма», нажимаем эту кнопку и появляется следующая табличка, в которой можно выбрать необходимую нам вкладку с одной из четырех имеющихся фигур. Для каждой фигуры имеются свои настройки, которые нужно установить в этом окне..
В программе sPlan имеются четыре специальные формы элементов (особые фигуры):
Многогранник (правильный многоугольник)
Звезда
Таблица
Синусоида.

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

Дальше у нас идёт «Фигура», иногда называется Полигон (замкнутая фигура).
Нажимаем эту кнопку. появляется знакомое «перекрестие» и можно рисовать любой неправильный многоугольник.
Первое нажатие мыши отмечает начальную точку полигона. Последующие нажатия отмечают промежуточные точки (углы) полигона. По завершению черчения полигона нажмите на правую кнопку мыши. Чтобы отключить это действие, нужно ещё раз нажать правую кнопку мыши.

Можно кликнуть по линии этого многоугольника, появятся чёрные и белые квадратики, за которые можно придать нашему творению любую форму. Появившиеся синие точки — это дополнительные места корректировки фигуры. За них тоже можно тянуть и изменять полигон.

Дальше у нас идёт «Линия».
Рисуем линии соединений схемы, или просто линии. Действия аналогичные по описанным выше.

Следующая «Кривая Безье».
В программе sPlan используется кубическая кривая Безье — кривая, которая имеет четыре опорные точки: начальную, конечную и две промежуточные. Две промежуточные точки необходимы для управления формой кривой.
Вы можете создать несколько кривых Безье следующих друг за другом. В этом случая конечная точка первой кривой, будет являться начальной точкой второй кривой и так далее.
Всё рисуется, как и описывали выше, первый щелчок определяет положение начальной точки кривой, следующие два положение промежуточных точек, а четвертый положение конечной точки кривой Безье. Если мы хотим создать еще одну кривую, то далее выбираем только две промежуточных точки и конечную, так как начальная точка этой кривой является концом предыдущей кривой Безье.
Чтобы закончить рисование кликните правой кнопкой мыши на листе sPlan. Чтобы выйти из режима черчения кривой Безье еще раз нажмите правую кнопку мыши.

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

Дальше у нас идёт очень интересная кнопочка «Размеры». Нажимаем её и подводим перекрестие к началу нашей кривой.

Дальше ведём перекрестие к окончанию нашей кривой Безье. В моменты совпадения линий — появляется красный квадратик.

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

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

Наносить размеры можно на любые фигуры. Для этого нужно нажать на маленький красный треугольник кнопки «Размеры», и в выпадающем списке выберите необходимый вид размерной линии :
Размер
Радиус
Диаметр
Угол.

 

Теперь вы можете нанести размерную линию (провести измерение) определив положение контрольных точек для этого элемента. Если в процессе нанесения размерной линии вы хотите отменить ее создание, то кликнете правой кнопкой мыши на листе программы sPlan.

Вы можете изменить дизайн размерных линий (цвет, шрифт размерных чисел, конфигурацию стрелок и т.п.), который будет использоваться в вашем чертеже. Для этого кликните по линии размера и откроется окно «Настройка простановщика размера».

Нажимаем кнопочку «Больше», которая расположена в левом нижнем углу, и окно развернётся до полного размера и приобретёт следующий вид.

Диаметр:
При нажатии на эту кнопку, перед размерным числом появиться символ диаметра.
Префикс:
Вводится текст, который появится перед числовым значением.
Авто:
При установке галочки в окошке «Авто», числовое значение размера в окне Значение, будет установлено автоматически.Вы можете ввести фиксированное числовое значение размера, если отключить функцию автоматического ввода размерного числа.
Суффикс:
Вводится текст, который появится после числового значения.
Допуски:
Здесь вы можете ввести специальные допуски на размеры. Допуски появятся выше и ниже после размерного числа.
Дизайн:
В этом разделе вы можете изменить дизайн размерной линии.
Установить по умолчанию:
С помощью этой кнопки можно установить дизайн размерной линии по умолчанию. Значение по умолчанию является фиксированным и соответствует общему обозначению размерной линии.

Забыл сказать, показ обозначения размеров на схеме, можно включать и отключать самой крайней правой кнопкой на панели инструментов «Размеры. Вкл/Выкл».

Дальше у нас идё кнопочка «Узел (Точка соединения)». Ставится точка в местах электрических соединений проводников..

Чтобы добавить текст на ваш чертеж, нажмите кнопку «Текст», которая у нас идёт следующей.
Щелкните мышкой на том месте листа программы sPlan, где вы хотите разместить текст. Перед вами откроется диалоговое окно «Свойства текста».

Теперь вы можете ввести текст и определить его высоту с шагом 1/10 мм (то есть значение, установленное в окне высота умножить на 1/10 мм).
В этом окне вы также можете установить выравнивание позиции текста (слева, по центру или справа) в случае его редактирования относительно первоначального расположения, не редактированного текста.
Если нажать кнопку справа вверху окошка «Текст», то появится следующее окно, в которое вы можете вставить текст, переменные и константы.

В программе sPlan есть возможность тексту определять активные ссылки.
Имеется два вида активных ссылок:
Связь с внешним файлом (Внешние ссылки):
С помощью этой функции можно создать ссылку на сайт (например, «www.abacom-online.de») или на файл (например, PDF-документ).
Внутренняя связь (Внутренние ссылки):
С помощью этих ссылок, вы можете перейти в любое место вашего проекта. Вы даже можете перейти на другие страницы вашего проекта. Перемещение по ссылки производится с помощью двойного щелчка мыши. Таким образом, можно создавать интерактивные схемы.
После определения всех параметров текста закройте диалоговое окно «Свойства текста». В результате на листе создаться ваш текст с заданными вами параметрами.
Для выхода из режима редактирования текста в sPlan нажмите правую кнопку мыши.
После двойного щелчка на тексте, вы можете снова вызвать диалоговое окно «Свойства текста» для изменения любых настроек.
С помощью черных квадратиков, которые появляются при выделении текста, можно изменить его размер, форму и положение.

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

В этом окне вы можете редактировать ваш текст. При редактировании текста все изменения можно увидеть на листе в текстовом блоке.
В окне «Текстовый блок» программы sPlan вы также можете изменить тип шрифта, его высоту и установить необходимое выравнивание текста.
Двойной щелчок на текстовом блоке открывает снова окно «Текстовый блок».
Если вы выделите текстовый блок, то на экране отобразиться прямоугольная пунктирная область. Эта область не будет отображаться при распечатке или экспорте чертежа в рисунок. Если текст будет выходить за эту пунктирную область, то он будет обрезан. Пунктирная область определяет максимальный размер текстового блока в sPlan.
Если вы выделите текстовый блок, то с помощью черных квадратиков вы можете изменить его размер, форму или повернуть на определенный угол.

Дальше у нас идёт кнопка «Рисунок» и предназначена для вставки изображений, рисунков.
Для вставки рисунка вы также можете выбрать пункт меню Загрузить изображение из меню Файл.
Программа sPlan поддерживает форматы изображений типа BMP и JPG. Если вам нужно вставить изображение другого формата, то сначала вам придется конвертировать их в BMP или JPG формат с помощью других программ.
Если выделить вставленное изображение, то с помощью черных квадратиков вы можете изменить его форму, размер и повернуть на заданный угол.

Следующая кнопка «Лупа»,предназначена для изменения масштаба чертежа, схемы. Можно увеличить масштаб чертежа, щелкнув левой кнопкой мыши на листе sPlan. Правая кнопка мыши уменьшает масштаб чертежа. Вы также можете выделить мышкой область, которую необходимо увеличить.
Но теперь в программе sPlan 7.0 изменение масштаба происходит вращением колёсика мыши. Это самый лучший и самый удобный способ для изменения масштаба ваших чертежей, который появился только в седьмой версии программы.

Есть ещё три дополнительных функций изменения масштаба доступных из панели инструментов sPlan: (третья кнопка справа).

 

Масштаб листа – подгоняет размер листа под размер монитора.
Масштаб элемента – увеличивает область со всеми элементами на размер монитора.
Масштаб по выделенному – увеличивает до видимой области выделенный фрагмент чертежа.

Что там ещё осталось — измеритель. С помощью него можно измерить размер всего рисунка, схемы.

Как осуществить поворот, отражение и пространственное размещение объектов в sPlan.
Эти функции доступны в меню функций на панели инструментов или из контекстного всплывающего меню. Чтобы выполнить одну из этих функций, сначала выберите объект, а затем вызовите соответствующую функцию.
В sPlan доступны следующие функции:
повернуть;
отразить по горизонтали;
отразить по вертикали;
на передний план;
на задний план.

С помощью кнопки «Повернуть» на панели инструментов вы можете вращать выбранные элементы на 90 ° по часовой стрелке.
С помощью пункта «Повернуть …» в контекстном всплывающем меню вы можете повернуть выбранные элементы на заданный угол, который устанавливается в одноименном с пунктом окне. Если при вращении элемента удерживать клавишу Shift на клавиатуре, то текст элемента (обозначение и номинал) вращаться не будет и останется в первоначальном положении. Вы можете вращать выбранные элементы также с помощью мыши .
Отразить по горизонтали/по вертикали.
Все выбранные объекты будут отражены вдоль вертикальной или горизонтальной оси. Текстовые объекты не будут отражаться в целях читабельности текста. Если вы хотите отразить текст, то во время вызова этой функции удерживайте нажатой на клавиатуре клавишу Shift.
На передний план/на задний план.
Эти функции позволяют помещать графические объекты sPlan на задний или передний план. Эффект этих функций можно увидеть если на чертеже перекрыты два и более объектов. Объект помещенные на передний план будет закрывать объекты, помещенные за ним. Объекты, помещенные на задний план, будут закрываться объектами, находящимися перед ними..

Создание схем, чертежей в программе sPlan 7.0.

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

 

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

Настройка сетки.

При создании схем в sPlan, как правило на листе всегда включена сетка. Это очень удобный вспомогательный инструмент, с помощью которого можно точно совместить графические элементы и компоненты схемы при их соединении. Размер сетки по умолчанию равен 1 мм. Обычно это оптимальное значение размера, однако вы можете изменить это значение, если это необходимо, например для наших библиотек лучше подходит размер сетки 0,5 мм.
Размер сетки сохраняется для каждого отдельного файла проекта и может быть изменен в окне Параметры, войти в которое можно из главного меню Опции — Основные параметры, а далее выбрать сетку в левой части окна.
Вы также можете вызвать окно Параметры с включенной вкладкой Сетка, используя кнопку Сетка на панели инструментов. Если вам нужно изменить размер сетки в диапазонах наиболее часто используемых значений, вы можете нажать на стрелку вниз справа от кнопки Сетка для выбора необходимого значения размера сетки.

Контрастность:
С помощью этого выпадающего списка Вы можете определить контрастность отображения сетки на листе. Вы даже можете скрыть сетку, выбрав пункт Невидимо.
Маркер сетки:
В данном пункте Вы можете установить градацию линий сетки. Например, если установлена цифра «10», то каждая десятая линия будет чуть жирнее, чем остальные. На практике очень удобная функция.
Радио-кнопки Линии / Точки.
Переключая кнопки Линии / Точки, можно устанавливать отображение сетки либо в виде линий, либо в виде точек.

Для временного отключения привязки к сетке необходимо нажать клавишу SHIFT при перемещении графического элемента.
Вы также можете выключить привязку к сетке полностью, с помощью соответствующей кнопки в строке состояния в нижней части окна программы sPlan.

 

В этом случае сетка видна, но привязка к сетке отключена.

Функция «резиновая лента».

Функция резиновая лента позволяет сохранить в программе sPlan соединения между компонентами схемы при перемещении одного их них. Если соединенный компонент перемещать при включенной функции резиновая лента, то линии подключенная к этому компоненту перемещаются вместе с ним.
Включается этой кнопкой;

 

С помощью этой кнопки в строке состояния программы sPlan Вы можете включить или отключить функцию резиновая лента.
Функция «резиновая лента» работает в том случае, если компоненты соединены между собой проводниками (линиями), то есть, подключены друг к другу. Если имеет место простое пересечение проводников, или компоненты соединены между собой без соединительных линий (проводников), то функция «резиновая лента» не будет работать, и эти линии перемещаться вместе с компонентом не будут.
После перемещения компонента с включенной функцией резиновая лента, потом требуется скорректировать линии связи между компонентами. При выделении линии можно перемещать из за узлы и границы. Вы можете добавлять или удалять узлы на линиях. Для этого кликните правой кнопкой мыши на узле и выберете удалить или добавить узел.

Функция «привязка к концам».

Функция Привязка к концам  очень полезная в программе. Эта функция является дополнением к функции привязки к сетке. Автоматическая привязка осуществляется для всех точек соединения и концов графических элементов.
С помощью этой кнопки в строке состояния в sPlan вы можете включить или отключить привязку к концам.

 

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

Изменение цвета нескольких элементов.

Выделите объекты, которые должны быть изменены и вызовите функцию «Изменить цвет» из меню Сервис главного меню sPlan или выберите пункт «Изменить цвет…» из контекстного всплывающего меню. Откроется окно с палитрой цветов, которое позволит вам выбрать необходимый цвет. Для того, чтобы увидеть эффект изменения цвета снимите выделение с выбранных элементов. Все контуры и заливки элементов изменят свой цвет на новый, за исключением объектов, которые имеют белую заливку. Элементы, залитые белым цветом, обычно предназначены для размещения в них текста, который всегда должен быть читаемым.

Группировка и разгруппировка элементов sPlan.

Графические элементы в sPlan могут быть объединены в группы, то есть сгруппированы. Группировка позволяет выделять одним щелчком мыши все элементы, находящиеся в группе. Так же вы не сможете случайно изменить позицию элемента в группе, а так же его свойства, такие как цвет и т.д. Сгруппированные элементы не могут быть удалены по отдельности.
Чтобы сгруппировать элементы, нажмите кнопку «Группировать» на панели инструментов (закрытый замочек), либо выберите пункт «Группировать» из контекстного выпадающего меню, или из меню «Сервис».
Если вы хотите изменить свойства элемента входящего в группу, вы должны сначала разгруппировать эту группу. Выберите опцию «Разгруппировать» главного меню «Сервис», либо нажмите кнопку «Разгруппировать» на панели инструментов (открытый замочек), либо выберите пункт контекстного меню «Pазгруппировать». Если группа содержит подгруппы, они не будут разгруппированы. Для разделения подгруппы на отдельные элементы с ней необходимо проделать такие же операции, что и с группой.

Использование форм в sPlan.

На любой лист проекта в sPlan вы можете вставить так называемую фоновую форму. Форма представляет собой отдельный слой, который находится под чертежом, то есть на заднем плане. В режиме черчения схемы сама форма не доступна для редактирования. Преимущество использования формы заключается в том, что ее элементы не мешают вашей работе, при редактировании схемы.
Вы можете создавать свои собственные формы, или редактировать существующие формы, специально под ваш проект.
Создание собственной формы в sPlan.
Если вы хотите внести изменения в форму или создать собственную форму в меню Форма выберите пункт Редактор форм. При этом ваш чертеж будет скрыт, а форма станет доступна для редактирования. Теперь вы можете изменить форму с помощью стандартных инструментов и приемов sPlan.
После окончания редактирования формы вам необходимо выйти из режима редактирования форм, выбрав пункт Редактор форм в меню Форма. В результате форма будет установлена на задней план чертежа, а схема вновь отобразиться на листе.
Как сохранить формы в файл.
Созданная или отредактированная форма может быть сохранена в файл в случае дальнейшего использования на других листах и проектах. Для этого в меню Форма активируйте пункт «Сохранить форму…». В открывшемся окне выберите путь для сохранения и нажмите кнопку «Сохранить». Файлы, содержащие формы, имеют расширение *. SBK.
Как загрузить формы из файла.
Вы можете загрузить существующие формы на текущую страницу. Вызовите пункт «Открыть форму…» в меню Форма и выберите файл с расширением *. SBK. Обратите внимание, что любая существующая форма на текущей странице теряется, если вы загружаете новую форму.

Свойства элемента из библиотеки.

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

 

Чтобы отредактировать элемент, нужно нажать кнопку «Редактор» и откроется редактор этого элемента.

 

В нём в принципе всё то же самое, только по окончании редактирования элемента нужно не забыть нажать кнопку «ОК» с зелёной галочкой для закрепления результатов редактирования.
Если Вы отредактировали (сделали из элемента другой) элемент на схеме, и его у Вас нет в библиотеке, то его можно добавить в библиотеку.
Для этого выбираем соответствующий раздел в библиотеке, выделяем элемент (или элементы, которые нужно добавить), и в меню «Элемент» выбираем пункт «Элемент с новым номиналом в библиотеку», и выделенный элемент или несколько элементов добавятся в библиотеку. Их потом при желании можно будет курсором переместить вверх или вниз по разделу библиотеки, то есть расставить на места.

Но вот в принципе и всё, что хотел Вам сказать. Я уже не останавливаюсь на том, как перетаскивать элементы из библиотек на лист и рисовать схемы, Вы освоите это и без меня.
Если у Вас хватило времени и мужества дочитать всё это до конца, то работу в программе sPlan 7.0 Вы освоите гораздо быстрее.

Удачи Вам в создании принципиальных схем!

 

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

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

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

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

Рассмотрим подробнее процесс работы с программой sPlan 7.

Содержание

  1. Интерфейс продукта sPlan 7.0.
  2. sPlan 7.0.0.9 Portable (Multi / Rus)
  3. sPlan
  4. Расширение файла SPL7
  5. Что такое файл SPL7?
  6. Программы, которые поддерживают SPL7 расширение файла
  7. Программы, обслуживающие файл SPL7
  8. Как открыть файл SPL7?
  9. Шаг 1. Установите sPlan программное обеспечение
  10. Шаг 2. Убедитесь, что у вас установлена последняя версия sPlan
  11. Шаг 3. Назначьте sPlan для SPL7 файлов
  12. Шаг 4. Убедитесь, что SPL7 не неисправен
  13. sPlan 7.0. Подробное руководство.
  14. Создание схем, чертежей в программе sPlan 7.0.
  15. Настройка сетки.
  16. Функция «резиновая лента».
  17. Функция «привязка к концам».
  18. Изменение цвета нескольких элементов.
  19. Группировка и разгруппировка элементов sPlan.
  20. Использование форм в sPlan.
  21. Свойства элемента из библиотеки.

Интерфейс продукта sPlan 7.0.

После установки и запуска откроется такое окно.

min sPlan id603606

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

Начнем знакомство с верхней панели

min sPlan id759788

Нажимаем на вкладку «Файл» и перед нами открывается меню.

Здесь расположены заготовки для чертежей электросхем и рамки для листов формата А4.

При передвижении рычажка «Качество» вправо, качество и размер созданного рисунка будет увеличиваться. Оптимальный вариант изображения здесь подбирается индивидуально пользователем.

Версия 7 программы sPlan отличается от предыдущих наличием возможности распечатки баннера, т.е. распечатки рисунков любых размеров, как на одном листе, в зависимости от размеров вашего принтера, так и на нескольких листах в различных форматах (А2, А3), с возможностью авторазрезки чертежа на части и печати частей с учетом заданного нахлеста, для последующего соединения отдельных листов в одну схему.

min sPlan id158162

Оставшиеся пункты («Правка», «Лист», «Штамп», «Сервис», «Настройки», «Элемент», «Справка»), думаю, описывать нет надобности.

Источник

sPlan 7.0.0.9 Portable (Multi / Rus)

1511200287 splan 7.0.0.9 portable

Версия 7.0.0.9 является дальнейшим развитием надежного предшественника. Много новых и усовершенствованных возможностей помогут вам создавать свои схемы легко и чисто. Работа с sPlan на самом деле довольно проста, не требует долгого освоения и подходит для новичков. Версия 7 полностью совместима со своими предшественниками sPlan 6.0, 5.0 и 4.0. Вы можете загружать и редактировать все файлы из этих версий.

Портативная версия работает без инсталляции на компьютер

• Компоненты могут быть взяты из обширной библиотеки простым перетаскиванием мышью. Определяемая пользователем сетка захвата позволяет легко размещать и соединять компоненты.

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

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

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

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

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

• sPlan оснащена удобными предварительным просмотром распечаток. Вы можете выбрать принтер, настроить увеличение, положение распечатки на бумаге, и так далее. Вы можете печатать одну страницу, выбор страницы или всех страниц Вашего проекта. Здесь же вы можете увидеть, как именно будет выглядеть распечатка на бумаге. Все настройки, которые вы делаете в окне предварительного просмотра будут отображаться сразу же, так что вы можете видеть влияние каждого из вариантов, без каких-либо отходов бумаги

• Родитель-потомок отношения. Компоненты могут иметь связи как родитель и ребенок. «Родитель» знает все о его «ребенке», а «ребенок» знает, кто его «родитель». Это позволяет «ребенку» получать идентификатор его «родителя». Если «родитель» изменился, «ребенок» также будет менять свои идентификаторы автоматически.

1451056560 4865512 1451056571 4865515

Программа работает на любом носителе. то есть портативная.
УДАЛИТЕ из скачанной вами папки с программой INI файл SPLAN70.INI
Иначе программа не полностью будет работоспособна. Редактор форм и исчезновение Библиотек.
Разместите папку с программой в любое вами желаемое место, флешку или на любой диск винта. При первом запуске программа сама создает INI файл SPLAN70.INI в папке Splan7.0

Если у вас появилось желание сменить носитель, удалите ини файл из папки и переместите программу куда хотите, после первого запуска программа опять создаст новый INI файл SPLAN70.INI и будет работать как прежде.

Продвинутые могут просто отредактировать INI файл в пяти строчках, изменив старый адрес на новый, сохранив остальные записи прежними. Вот эти строчки выглядят так:
[General]
Formblatt_Verz_Vorgabe=C:Splan70Файлы
SPL_Verz=C:Splan70Файлы
Formblatt_Verz=C:Splan70Файлы
[BIBO]
BIBOPATH0=C:Splan70BIBO
BIBOPATH1=C:Splan70BIBOUSER
Имейте в виду что программа немецкая и прописывает в INI файле русское слово «Файлы» кракозябрами, не трогайте эти кракозябры, программа их читает успешно, если напишите в место них по русски слово «Файлы» программа работать не будет! INI файл надо открывать не блокнотом а специальной программой например Notepad++ так как блокнот кракозябры сотрет и поставить вместо них вопросики он не понимает иных кодировок.

Год выпуска: 2012
Версия: 7.0.0.9 Portable
Разработчик: ABACOM
Платформа: Windows XP / Vista / 7 (32 / 64 bit)
Язык интерфейса: Multi / Русский
Таблэтка: Не требуется
Размер: 8,31 Мб

Скачать sPlan 7.0.0.9 Portable (Multi / Rus)

Источник

sPlan

sPlan — программа для черчения электронных схем.

Редактор схем sPlan разрабатывается с начала 2000-х годов немецкой фирмой ABAKOM. Программа поддерживается и в настоящее время, на данный момент последняя версия sPlan 7.0. В конце 2014 г. компания заявила, что ведет разработки новой версии sPlan 8.0. С документацией по всем функциям программы можно ознакомиться, используя встроенную справку (на английском языке).

splan1

sPlan очень удобен в использовании. Добавляемые компоненты просто «перетаскиваются» с находящейся слева панели, справа от которой находится панель инструментов для рисования линий и различных геометрических форм, добавления надписей, вставки растровых изображений и т.д. Нумерация компонентам может присваиваться как автоматически, так и вручную. Режим можно выбрать правой кнопкой мыши через свойства компонента (Properties), в том же окне редактируются дополнительные атрибуты, в том числе текстовое поле (в нём можно написать, например, номинал данной детали и т.д.). В комплект программы включено большое количество готовых библиотек электронных компонентов, возможно создание и сохранение собственных шаблонов компонентов. Редактор может работать с несколькими страницами (в виде вкладок), имеются функции экспорта документа в графический файл и печати с предварительным просмотром. В последней версии удобно реализовано масштабирование при помощи колёсика мыши, возможна печать больших листов на обычном принтере, рассчитанном на лист формата А4.

Программа платная, в бесплатной версии отключены функции сохранения, экспорта и печати файлов. Предлагается также отдельная бесплатная программа для просмотра и печати файлов (sPlan Viewer). Официальной русской версии нет, но в Интернете можно найти неофициальные русифицированные варианты, в том числе и версию portable (не требующую установки).

Программа работает в среде Windows NT, 2000, XP, Vista, 7, 8, 10 x32/64, к конфигурации компьютера каких-либо специфических требований нет.

Форматы файлов sPlan: SPL

Источник

Расширение файла SPL7

SPlan Data

Что такое файл SPL7?

Полное имя формата файлов, которые используют расширение SPL7: SPlan Data. ABACOM определил стандарт формата SPlan Data. Формат файла SPL7 совместим с программным обеспечением, которое может быть установлено на системной платформе Windows. SPL7 формат файла, наряду с #NUMEXTENSIONS # другими форматами файлов, относится к категории Другие файлы. sPlan является наиболее используемой программой для работы с SPL7 файлами. Программное обеспечение с именем sPlan было создано ABACOM. Чтобы найти более подробную информацию о программном обеспечении и SPL7 файлах, посетите официальный сайт разработчика.

Программы, которые поддерживают SPL7 расширение файла

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

Программы, обслуживающие файл SPL7

Как открыть файл SPL7?

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

Шаг 1. Установите sPlan программное обеспечение

Шаг 2. Убедитесь, что у вас установлена последняя версия sPlan

update softwareЕсли у вас уже установлен sPlan в ваших системах и файлы SPL7 по-прежнему не открываются должным образом, проверьте, установлена ли у вас последняя версия программного обеспечения. Иногда разработчики программного обеспечения вводят новые форматы вместо уже поддерживаемых вместе с новыми версиями своих приложений. Это может быть одной из причин, по которой SPL7 файлы не совместимы с sPlan. Все форматы файлов, которые прекрасно обрабатывались предыдущими версиями данной программы, также должны быть открыты с помощью sPlan.

Шаг 3. Назначьте sPlan для SPL7 файлов

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

associate software

Изменить приложение по умолчанию в Windows

Изменить приложение по умолчанию в Mac OS

Шаг 4. Убедитесь, что SPL7 не неисправен

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

check file

1. Проверьте SPL7 файл на наличие вирусов или вредоносных программ.

Если SPL7 действительно заражен, возможно, вредоносное ПО блокирует его открытие. Рекомендуется как можно скорее сканировать систему на наличие вирусов и вредоносных программ или использовать онлайн-антивирусный сканер. Если файл SPL7 действительно заражен, следуйте инструкциям ниже.

2. Убедитесь, что структура файла SPL7 не повреждена

Вы получили SPL7 файл от другого человека? Попросите его / ее отправить еще раз. Возможно, файл был ошибочно скопирован, а данные потеряли целостность, что исключает доступ к файлу. Это может произойти, если процесс загрузки файла с расширением SPL7 был прерван и данные файла повреждены. Загрузите файл снова из того же источника.

3. Проверьте, есть ли у пользователя, вошедшего в систему, права администратора.

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

4. Убедитесь, что в системе достаточно ресурсов для запуска sPlan

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

5. Убедитесь, что у вас установлены последние версии драйверов, системных обновлений и исправлений

Современная система и драйверы не только делают ваш компьютер более безопасным, но также могут решить проблемы с файлом SPlan Data. Устаревшие драйверы или программное обеспечение могли привести к невозможности использования периферийного устройства, необходимого для обработки файлов SPL7.

Вы хотите помочь?

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

Источник

sPlan 7.0. Подробное руководство.

Многим радиолюбителям давно известна программа для черчения электрических схем под названием sPlan, но есть и такие, кто ещё не знаком с этой программой, что и побудило на написание этой статьи. На данный момент последняя версия программы вышла под номером 7.0, и с ней мы и будем знакомится.

; 32623692

Интерфейс программы sPlan 7.0.

После того как установили и запустили программу, мы видим такое вот окно.

52066334

Это непосредственно окно работы нашей программы, где мы в последствии будем рисовать схему.

Начнем с верхней панели

3

Посмотрим, что у нас прячется за надписью Файл.
Жмем на эту надпись, и тут же у нас появляется выпадающее меню.

А здесь у нас находятся заготовки для схем (чертежей), рамки для листов размером А4. Можно все их посмотреть при желании.

82743934

8a

9

Давайте подробнее рассмотрим эту панель и эти кнопки:

Сверху вниз там находятся следующие кнопки.

Указка
Прямоугольник
Окружность
Особая форма
Фигура
Линия
Кривая Безье
Размеры
Узел (Точка соединения)
Текст
Текстовый блок
Рисунок
Лупа
Измеритель

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

10

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

11

В левом верхнем углу появился маленький белый квадратик. Теперь можно «взять» его указкой и потащить за угол внутрь.
Видите, как скругляются его углы. Можно потащить дальше и получится у нас баллон электронной лампы, только лежащий на боку. Теперь приблизим указку к любому чёрному квадратику, и когда у нас в районе квадратика появится стрелка, указывающая на возможное направление, можно «захватить» левой кнопкой мыши наш прямоугольник и растягивать или сжимать его в любом направлении.

12

Двойной щелчок мышью на линии прямоугольника, откроет окно свойств прямоугольника (в нашей версии окно называется Контур и заливка). В этом окне можно изменять такие свойства, как стиль, ширина и цвет линии, а так же выполнить заливку прямоугольника.

13

Следующий пункт у нас Окружность:

Для эллипсов всё то же самое, как и для прямоугольников, круги так же рисуются с нажатой клавишей CTRL. Но здесь немного другой смысл белого квадратика.

14

Хватаем его указкой и двигаем вниз. У нас получается разрыв и уже два белых квадратика. Так же можно двигать и верхний квадратик. То есть можно нарисовать дугу любого размера и положения и менять её размеры чёрными квадратиками.
Если к дуге применить заливку, то получиться сектор (сегмент) круга.

15

Дальше у нас идёт кнопка «Особая форма», нажимаем эту кнопку и появляется следующая табличка, в которой можно выбрать необходимую нам вкладку с одной из четырех имеющихся фигур. Для каждой фигуры имеются свои настройки, которые нужно установить в этом окне..
В программе sPlan имеются четыре специальные формы элементов (особые фигуры):
Многогранник (правильный многоугольник)
Звезда
Таблица
Синусоида.

16

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

Дальше у нас идёт «Фигура», иногда называется Полигон (замкнутая фигура).
Нажимаем эту кнопку. появляется знакомое «перекрестие» и можно рисовать любой неправильный многоугольник.
Первое нажатие мыши отмечает начальную точку полигона. Последующие нажатия отмечают промежуточные точки (углы) полигона. По завершению черчения полигона нажмите на правую кнопку мыши. Чтобы отключить это действие, нужно ещё раз нажать правую кнопку мыши.

17

18

Дальше у нас идёт «Линия».
Рисуем линии соединений схемы, или просто линии. Действия аналогичные по описанным выше.

19

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

20

Дальше у нас идёт очень интересная кнопочка «Размеры». Нажимаем её и подводим перекрестие к началу нашей кривой.

21

22

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

23

24

Наносить размеры можно на любые фигуры. Для этого нужно нажать на маленький красный треугольник кнопки «Размеры», и в выпадающем списке выберите необходимый вид размерной линии :
Размер
Радиус
Диаметр
Угол.

25

Теперь вы можете нанести размерную линию (провести измерение) определив положение контрольных точек для этого элемента. Если в процессе нанесения размерной линии вы хотите отменить ее создание, то кликнете правой кнопкой мыши на листе программы sPlan.

26

Вы можете изменить дизайн размерных линий (цвет, шрифт размерных чисел, конфигурацию стрелок и т.п.), который будет использоваться в вашем чертеже. Для этого кликните по линии размера и откроется окно «Настройка простановщика размера».

27

Нажимаем кнопочку «Больше», которая расположена в левом нижнем углу, и окно развернётся до полного размера и приобретёт следующий вид.

28

Диаметр:
При нажатии на эту кнопку, перед размерным числом появиться символ диаметра.
Префикс:
Вводится текст, который появится перед числовым значением.
Авто:
При установке галочки в окошке «Авто», числовое значение размера в окне Значение, будет установлено автоматически.Вы можете ввести фиксированное числовое значение размера, если отключить функцию автоматического ввода размерного числа.
Суффикс:
Вводится текст, который появится после числового значения.
Допуски:
Здесь вы можете ввести специальные допуски на размеры. Допуски появятся выше и ниже после размерного числа.
Дизайн:
В этом разделе вы можете изменить дизайн размерной линии.
Установить по умолчанию:
С помощью этой кнопки можно установить дизайн размерной линии по умолчанию. Значение по умолчанию является фиксированным и соответствует общему обозначению размерной линии.

Забыл сказать, показ обозначения размеров на схеме, можно включать и отключать самой крайней правой кнопкой на панели инструментов «Размеры. Вкл/Выкл».

Дальше у нас идё кнопочка «Узел (Точка соединения)». Ставится точка в местах электрических соединений проводников..

Чтобы добавить текст на ваш чертеж, нажмите кнопку «Текст», которая у нас идёт следующей.
Щелкните мышкой на том месте листа программы sPlan, где вы хотите разместить текст. Перед вами откроется диалоговое окно «Свойства текста».

29

Теперь вы можете ввести текст и определить его высоту с шагом 1/10 мм (то есть значение, установленное в окне высота умножить на 1/10 мм).
В этом окне вы также можете установить выравнивание позиции текста (слева, по центру или справа) в случае его редактирования относительно первоначального расположения, не редактированного текста.
Если нажать кнопку справа вверху окошка «Текст», то появится следующее окно, в которое вы можете вставить текст, переменные и константы.

30

В программе sPlan есть возможность тексту определять активные ссылки.
Имеется два вида активных ссылок:
Связь с внешним файлом (Внешние ссылки):
С помощью этой функции можно создать ссылку на сайт (например, «www.abacom-online.de») или на файл (например, PDF-документ).
Внутренняя связь (Внутренние ссылки):
С помощью этих ссылок, вы можете перейти в любое место вашего проекта. Вы даже можете перейти на другие страницы вашего проекта. Перемещение по ссылки производится с помощью двойного щелчка мыши. Таким образом, можно создавать интерактивные схемы.
После определения всех параметров текста закройте диалоговое окно «Свойства текста». В результате на листе создаться ваш текст с заданными вами параметрами.
Для выхода из режима редактирования текста в sPlan нажмите правую кнопку мыши.
После двойного щелчка на тексте, вы можете снова вызвать диалоговое окно «Свойства текста» для изменения любых настроек.
С помощью черных квадратиков, которые появляются при выделении текста, можно изменить его размер, форму и положение.

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

31

В этом окне вы можете редактировать ваш текст. При редактировании текста все изменения можно увидеть на листе в текстовом блоке.
В окне «Текстовый блок» программы sPlan вы также можете изменить тип шрифта, его высоту и установить необходимое выравнивание текста.
Двойной щелчок на текстовом блоке открывает снова окно «Текстовый блок».
Если вы выделите текстовый блок, то на экране отобразиться прямоугольная пунктирная область. Эта область не будет отображаться при распечатке или экспорте чертежа в рисунок. Если текст будет выходить за эту пунктирную область, то он будет обрезан. Пунктирная область определяет максимальный размер текстового блока в sPlan.
Если вы выделите текстовый блок, то с помощью черных квадратиков вы можете изменить его размер, форму или повернуть на определенный угол.

Дальше у нас идёт кнопка «Рисунок» и предназначена для вставки изображений, рисунков.
Для вставки рисунка вы также можете выбрать пункт меню Загрузить изображение из меню Файл.
Программа sPlan поддерживает форматы изображений типа BMP и JPG. Если вам нужно вставить изображение другого формата, то сначала вам придется конвертировать их в BMP или JPG формат с помощью других программ.
Если выделить вставленное изображение, то с помощью черных квадратиков вы можете изменить его форму, размер и повернуть на заданный угол.

Следующая кнопка «Лупа»,предназначена для изменения масштаба чертежа, схемы. Можно увеличить масштаб чертежа, щелкнув левой кнопкой мыши на листе sPlan. Правая кнопка мыши уменьшает масштаб чертежа. Вы также можете выделить мышкой область, которую необходимо увеличить.
Но теперь в программе sPlan 7.0 изменение масштаба происходит вращением колёсика мыши. Это самый лучший и самый удобный способ для изменения масштаба ваших чертежей, который появился только в седьмой версии программы.

Есть ещё три дополнительных функций изменения масштаба доступных из панели инструментов sPlan: (третья кнопка справа).

32

Масштаб листа – подгоняет размер листа под размер монитора.
Масштаб элемента – увеличивает область со всеми элементами на размер монитора.
Масштаб по выделенному – увеличивает до видимой области выделенный фрагмент чертежа.

Как осуществить поворот, отражение и пространственное размещение объектов в sPlan.
Эти функции доступны в меню функций на панели инструментов или из контекстного всплывающего меню. Чтобы выполнить одну из этих функций, сначала выберите объект, а затем вызовите соответствующую функцию.
В sPlan доступны следующие функции:
повернуть;
отразить по горизонтали;
отразить по вертикали;
на передний план;
на задний план.

33

Создание схем, чертежей в программе sPlan 7.0.

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

34

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

Настройка сетки.

35

Контрастность:
С помощью этого выпадающего списка Вы можете определить контрастность отображения сетки на листе. Вы даже можете скрыть сетку, выбрав пункт Невидимо.
Маркер сетки:
В данном пункте Вы можете установить градацию линий сетки. Например, если установлена цифра «10», то каждая десятая линия будет чуть жирнее, чем остальные. На практике очень удобная функция.
Радио-кнопки Линии / Точки.
Переключая кнопки Линии / Точки, можно устанавливать отображение сетки либо в виде линий, либо в виде точек.

Для временного отключения привязки к сетке необходимо нажать клавишу SHIFT при перемещении графического элемента.
Вы также можете выключить привязку к сетке полностью, с помощью соответствующей кнопки в строке состояния в нижней части окна программы sPlan.

36

В этом случае сетка видна, но привязка к сетке отключена.

Функция «резиновая лента».

Функция резиновая лента позволяет сохранить в программе sPlan соединения между компонентами схемы при перемещении одного их них. Если соединенный компонент перемещать при включенной функции резиновая лента, то линии подключенная к этому компоненту перемещаются вместе с ним.
Включается этой кнопкой;

37

С помощью этой кнопки в строке состояния программы sPlan Вы можете включить или отключить функцию резиновая лента.
Функция «резиновая лента» работает в том случае, если компоненты соединены между собой проводниками (линиями), то есть, подключены друг к другу. Если имеет место простое пересечение проводников, или компоненты соединены между собой без соединительных линий (проводников), то функция «резиновая лента» не будет работать, и эти линии перемещаться вместе с компонентом не будут.
После перемещения компонента с включенной функцией резиновая лента, потом требуется скорректировать линии связи между компонентами. При выделении линии можно перемещать из за узлы и границы. Вы можете добавлять или удалять узлы на линиях. Для этого кликните правой кнопкой мыши на узле и выберете удалить или добавить узел.

Функция «привязка к концам».

Функция Привязка к концам очень полезная в программе. Эта функция является дополнением к функции привязки к сетке. Автоматическая привязка осуществляется для всех точек соединения и концов графических элементов.
С помощью этой кнопки в строке состояния в sPlan вы можете включить или отключить привязку к концам.

38

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

Изменение цвета нескольких элементов.

Выделите объекты, которые должны быть изменены и вызовите функцию «Изменить цвет» из меню Сервис главного меню sPlan или выберите пункт «Изменить цвет…» из контекстного всплывающего меню. Откроется окно с палитрой цветов, которое позволит вам выбрать необходимый цвет. Для того, чтобы увидеть эффект изменения цвета снимите выделение с выбранных элементов. Все контуры и заливки элементов изменят свой цвет на новый, за исключением объектов, которые имеют белую заливку. Элементы, залитые белым цветом, обычно предназначены для размещения в них текста, который всегда должен быть читаемым.

Группировка и разгруппировка элементов sPlan.

Графические элементы в sPlan могут быть объединены в группы, то есть сгруппированы. Группировка позволяет выделять одним щелчком мыши все элементы, находящиеся в группе. Так же вы не сможете случайно изменить позицию элемента в группе, а так же его свойства, такие как цвет и т.д. Сгруппированные элементы не могут быть удалены по отдельности.
Чтобы сгруппировать элементы, нажмите кнопку «Группировать» на панели инструментов (закрытый замочек), либо выберите пункт «Группировать» из контекстного выпадающего меню, или из меню «Сервис».
Если вы хотите изменить свойства элемента входящего в группу, вы должны сначала разгруппировать эту группу. Выберите опцию «Разгруппировать» главного меню «Сервис», либо нажмите кнопку «Разгруппировать» на панели инструментов (открытый замочек), либо выберите пункт контекстного меню «Pазгруппировать». Если группа содержит подгруппы, они не будут разгруппированы. Для разделения подгруппы на отдельные элементы с ней необходимо проделать такие же операции, что и с группой.

Использование форм в sPlan.

На любой лист проекта в sPlan вы можете вставить так называемую фоновую форму. Форма представляет собой отдельный слой, который находится под чертежом, то есть на заднем плане. В режиме черчения схемы сама форма не доступна для редактирования. Преимущество использования формы заключается в том, что ее элементы не мешают вашей работе, при редактировании схемы.
Вы можете создавать свои собственные формы, или редактировать существующие формы, специально под ваш проект.
Создание собственной формы в sPlan.
Если вы хотите внести изменения в форму или создать собственную форму в меню Форма выберите пункт Редактор форм. При этом ваш чертеж будет скрыт, а форма станет доступна для редактирования. Теперь вы можете изменить форму с помощью стандартных инструментов и приемов sPlan.
После окончания редактирования формы вам необходимо выйти из режима редактирования форм, выбрав пункт Редактор форм в меню Форма. В результате форма будет установлена на задней план чертежа, а схема вновь отобразиться на листе.
Как сохранить формы в файл.
Созданная или отредактированная форма может быть сохранена в файл в случае дальнейшего использования на других листах и проектах. Для этого в меню Форма активируйте пункт «Сохранить форму…». В открывшемся окне выберите путь для сохранения и нажмите кнопку «Сохранить». Файлы, содержащие формы, имеют расширение *. SBK.
Как загрузить формы из файла.
Вы можете загрузить существующие формы на текущую страницу. Вызовите пункт «Открыть форму…» в меню Форма и выберите файл с расширением *. SBK. Обратите внимание, что любая существующая форма на текущей странице теряется, если вы загружаете новую форму.

Свойства элемента из библиотеки.

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

39

Чтобы отредактировать элемент, нужно нажать кнопку «Редактор» и откроется редактор этого элемента.

40

В нём в принципе всё то же самое, только по окончании редактирования элемента нужно не забыть нажать кнопку «ОК» с зелёной галочкой для закрепления результатов редактирования.
Если Вы отредактировали (сделали из элемента другой) элемент на схеме, и его у Вас нет в библиотеке, то его можно добавить в библиотеку.
Для этого выбираем соответствующий раздел в библиотеке, выделяем элемент (или элементы, которые нужно добавить), и в меню «Элемент» выбираем пункт «Элемент с новым номиналом в библиотеку», и выделенный элемент или несколько элементов добавятся в библиотеку. Их потом при желании можно будет курсором переместить вверх или вниз по разделу библиотеки, то есть расставить на места.

Но вот в принципе и всё, что хотел Вам сказать. Я уже не останавливаюсь на том, как перетаскивать элементы из библиотек на лист и рисовать схемы, Вы освоите это и без меня.
Если у Вас хватило времени и мужества дочитать всё это до конца, то работу в программе sPlan 7.0 Вы освоите гораздо быстрее.

Удачи Вам в создании принципиальных схем!

Источник

  • Просмотров: 3233

Направление SPL родилось не вчера. Большой объем информации вы наверняка уже прочиталипросмотрели из множества различных источников — замечательно если это так, в очередной раз проговаривать банальные вещи придется по минимуму. В статье я сосредоточусь на таких нюансах, на том материале, который нигде и никогда ранее не встречал сам, но изучил достаточно глубоко, чтобы делиться с вами. Вполне вероятно, для вас это тоже будет чем-то новым и в чем-то особенным.

Приятного чтения и успехов в этом нелегком деле — SPL!

Глава 1. Кузов, подготовка и настройка.

Кузов является важнейшей частью SPL-системы. У вас нет и быть не может никаких серьезных шансов на высокий результат без соответствующей работы с кузовом.

Правильный выбор кузова — вопрос, рассматривать который мы не будем совсем, потому, что «идеальный» от «не идеального» отличается на 0.1-1дБ. Это очень много если речь о мировых рекордах, и ничто для локальных этапов или даже национальных финалов.

Единственное, на что действительно стоит обратить внимание — удобство и размещение оборудования. Багажник должен быть достаточно просторным, чтобы умещать все оборудование. Отсек под аккумулятор должен быть достаточно большим, чтобы с установкой АКБ повышенной емкости не возникло казусов.

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

Часть 1.1. Резонанс салона — что это и как это работает.

Казалось бы, ну чего такого нового, о чем и так уже не сказано сотни раз, можно написать о резонансе. Это ж просто частота, на которой «салон помогает». Как бы не так!

Основной резонанс салона, как и любой другой резонанс, имеет пиковую частоту и добротность, действует всегда в диапазоне частот.

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

Резонанс салона — это единственная частота.

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

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

Как работает резонанс.

Во первых, резонанс — это реакция на воздействие. Не будет воздействия определенной частоты, не будет и никакого резонанса. То есть, это не какая-то магическая энергия космоса прибавляет дБ, а сабвуфер, который через воздушные колебания передает часть энергии некоей поверхности(площади), заставляя последнюю колебаться. Создается эффект, когда в один момент воздух в салоне сжимает и диффузор сабвуфера, и поверхность одновременно — результат растет.

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

Во вторых, резонанс, как видно из графика — это совсем не единственная частота. Да, есть пиковая частота, где резонанс проявляется максимально, но речь всегда о диапазоне частот, которые могут этот резонанс вызывать.

В третьих, резонанс всегда обладает добротностью. Для SPL нам нужна минимальная добротность, когда не нужно тратить много энергии чтобы заставить крышу резонировать, а крыше не нужно много времени чтобы прекратить резонировать (тут, опять же, не путайте, «резонировать» означает «стоять на месте», а не «флексить со страшной силой»).

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

«Резонанс помогает».

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

И вам, SPL-практикам, прекрасно известно — есть салоны, где основной резонанс прям УХ как прибавляет, а есть такие, где резонанс вроде и есть, но для результата он что есть, что его нет… Теперь вы знаете почему (если, конечно, ранее не знали).

Что ниже и выше резонанса?

Ниже резонанса — безудержный и бесконтрольный флекс и никаких прибавок, только потери. По своей сути, эффект напоминает плавное превращение салона из замкнутого пространства в открытое, где основная преграда попросту отсутствует. Так, для низконастроенных систем жесткость кузова является критической.

Так же, начиная с частоты основного резонанса и вниз, бас всегда будет создаваться частично сабвуфером, а частично элементами салона — как следствие, локализовать источник невозможно.

Выше — «камень» и тоже никаких дополнительных прибавок. Но тут система по крайней мере обходится без дополнительных потерь.

Часть 1.2. Настройка, работа с кузовом.

Для начала, нам необходимо выяснить достоверные параметры основного резонанса. Крыша часто, но не всегда является источником основного резонанса в салоне. Что является в вашем случае — необходимо выяснять путем последовательного исключения всех прочих частей.

Полностью разбираем кузов до металла, настраиваем корпус на пик (максимальное давление при минимальной мощности). Так мы сперва выясняем реальную частоту основного резонанса, а затем, с помощью ШВИ тестируем одну часть кузова за другой для определения и источника основного резонанса, и параметров более мелких резонансов.

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

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

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

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

Не изменяя габаритные размеры источника основного резонанса, вы не можете изменить и резонанс.

Поделав все опыты в голом салоне, как следует настроив все элементы, приступаем к сборке.

Каждый мягкий элемент интерьера, а так же, вся ШВИ, обладающая вязкостью, являются поглотителями. Каждый жесткий элемент интерьера является либо отражателем, либо источником собственного резонанса.

Влияние элементов салона на основной резонанс. Красным пунктиром то, что мы имеем «до», синим — то, что остается «после.

Не торопитесь собирать салон, тк если соберете сразу, то имеете все шансы получить крайне грустную картину и похоронить всю работу по настройке кузова.

Устанавливайте элементы интерьера шаг за шагом, наблюдайте за тем, какое влияние они оказывают на основной резонанс. Пробуйте настраивать каждый элемент путем применения ШВИ.

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

Когда кузов настроен и все элементы салона установлены, приступаем к следующей части — тонкая настройка корпуса. Не имеет смысл точно настраивать корпус ранее, не выяснив точную частоту подлинного основного резонанса салона. Только точная настройка в настоящий основной резонанс удержит подвижную часть от попыток осуществить вылет в космос.

Глава 2. Особенности работы динамика, корпус и настройка.

Часть 2.1. Динамик и особенности его работы.

DD Z4 по праву считается самым эффективным «громким» сабвуфером в мире. Мощнейший мотор и уникальные элементы подвижной части.

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

Чтобы отработать, к примеру, частоту 50Гц, сабвуфер должен выполнить 50 полных циклов в секунду. Как выглядит один полный цикл — разгон, остановка, разгон, остановка. По завершении подачи мощности следует инерционный возврат в состояние покоя.

В какой из этих моментов формируется фронт звуковой волны? Очень важно это уяснить — фронт звуковой волны формируется только вследствие резкого торможения, а энергия звуковой волны прямо зависима от того, насколько резким это торможение было.

Когда к динамику подводится мощность, катушка получает мощнейший пинок и летит вперед. Мощнее пинок — больше скорости наберет, а значит и тормозить будет резче. Но что способно остановить подвижную часть(ПЧ) настолько резко и на такой скорости?!

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

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

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

Когда тормозим подвеской.

Тут несколько очевидных моментов, которые, тем не менее, стоит проговорить. Как подвеска, так и клеевые швы должны обладать достаточной прочностью, чтобы удерживать массу ПЧ, разогнанную как минимум пинком размером в RMS, а если все по честному — размером в пиковую мощность. Долго в таком режиме подвеска не жилец, что, типа, важно, но если даст рекорд в таком режиме, то и славно. Однако, это полбеды.

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

Плохо? Очевидно? Тогда почему большинство SPL-щиков давят именно в этом режиме? Потому, что так давить — легко и просто! Тут не нужен никакой контроль хода, не нужно сильно заморачиваться с настройкой корпуса — можно взять типичный порт-трубу, чуть потестить, настроить длину иили объем, и готово. Подвеска не растянется больше чем может, ну а пока может — в любом случае остановит ПЧ. Ну а не рекордный результат не беда, ведь он все равно окажется не мал.

В качестве примера одна из моих систем, где результат достигнут путем «давления подвеской».

Пара DD508 и 151.2дБ. Грязный объем 50л, порт D=125мм, L=270мм

Т.к. подвижная часть DD508 легкая, объема потребовалось достаточно много, а порт достаточно короткий — это нужно, чтобы динамики тормозили подвеской, а порт лишь поддерживал и не давал ПЧ вылететь. Результат получить было легко, все работы по настройке корпуса прошли безо всякой спешки, исключительно в удовольствие. Основным источником давления в системе выступает диффузор динамиков, не порт, следовательно, расположение динамиков критично, работает только так.

Не рекорд, но результат тем не менее впечатляющий и достаточный для первого места на этапе. Быстро и просто, отличный результат за 3-4 дня работы вечерами.

Когда тормозим портом.

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

Риск в данном случае есть, но он нисколько не больше, чем в случае с тормозом-подвеской, просто лежит на другой части динамика. Ну а очевидных плюсов в этом подходе много:

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

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

Опять же, рассмотрим пример, где результат достигнут работой на порт.

DD Z412 и 157.0дБ. Грязный объем 40л, порт D=250мм, L=490мм.

Тут, как видите, ситуация обратная — объем очень скромен, а порт, напротив, очень большой, и настроен очень точно. Работа по настройке заняла около двух недель. Основным источником давления тут является порт — его расположение критично, а динамик можно расположить, в общем то, там, где это банально удобно. КПД данной системы позволяет с легкостью оставаться в лидерах чемпионата много лет подряд.

Часть 2.2. Настройка.

Без элементов интерьера салона.

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

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

Начинаем тесты с малой мощности, 0.5RMS сабвуфера или около. Пробуем различные направления, различные сочетания параметров корпуса. Будьте последовательны, не вносите резкие изменения в конструкцию корпуса. Достаточно скоро вы поймете, какие параметры корпуса сработают для вас лучше всего.

Когда корпус настроен более-менее точно, все промерено — постепенно повышаем мощность и смотрим на характер роста импеданса. С ростом хода импеданс растет меньше — глядя на это и сопоставляя с текущей величиной хода, ход контролируется легко и довольно точно. А глядя на КПД, легко заметить момент, когда сабвуфер прекращает использовать полные возможности мотора (катушка вылетает).

В процессе и после установки элементов интерьера.

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

После каждого изменения пробуем чуть больший и чуть меньший объем для определения смещения пика. Необходимо всегда промерять частоты в диапазоне ±3Гц от целевой, и всегда измерять мощность — часто давление оказывается одинаковым, а оценить КПД возможно только зная мощность.

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

Друзья, на этом моменте, кажется, написанного уже вполне достаточно для строительства первоклассной SPL-системы на DD. А так же, достаточно идей, применимых в повседневных инсталляциях. По прочтении не стесняйтесь задавать вопросы и я дополню статью ответами на них. Желаю Вам успехов!

Ну, еще DD Z с зеленой корзиной и белым логотипом DD — ей тут быть совсем не обязательно, но она такая классная, так что пусть все же будет =)

Итак, мы рассмотрели специальную программу для разработки печатных плат, а теперь изучим технологию рисования схем на примере Splan 7.0. Раньше, в то время, когда персональные компьютеры еще не были так распространены, черчение больших и средних принципиальных схем было делом непростым. 

SPLAN - Инструменты для чертежа

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

Splan 7.0

   В этой программе мы можем воспользоваться ранее созданными графическими изображениями радиодеталей на схемах, а можем создать и сохранить в качестве компонентов – макросов свои. Также удобной представляется функция сохранения, для последующего использования часто используемых кусков схемы. Интерфейс программы очень простой, и разобраться в программе не составит труда даже начинающему пользователю компьютера. К тому же программа полностью на русском языке. Приступая к работе с программой Splan, рекомендую вначале выбрать размеры листа. Это можно сделать во вкладке Лист => Свойства

SPLAN - Выбор формата листа

   Там же можно выбрать ориентацию листа Книжную или Альбомную, ввести название листа и краткое описание схемы. Формат листа можно выбрать из ранее предустановленных, это может быть как А4, А3 или один из других предложенных форматов. Можно задать и свой, произвольный размер листа в миллиметрах. Сменить тип радиодетали для установки на схеме, можно кликнув на строчку, в данном случае Диоды.

SPLAN - Выбор детали из библиотеки

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

SPLAN - Выбор типов диодов

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

SPLAN - Две радиодетали на схеме

   Нам нужно соединить, например, катод светодиода с одним выводом резистора, а анод со вторым выводом. Для этого мы кликаем мышкой на пиктограмму Линия, в левой части экрана:

SPLAN - Чертим линию на схеме

   И кликнув на один вывод светодиода, зажав левую кнопку, чертим линию к выводу резистора. После проделываем то же самое со вторыми выводами. Допустим в точках соединения с резистором, у нас планируются узлы соединений с другими деталями. 

SPLAN - Установка узлов на схему

   Для установки узла мы кликаем на пиктограмму Узел и устанавливаем нужное количество узлов. В результате у нас получается следующая схема:

SPLAN - Соединение деталей и установка узлов

   Допустим, эту часть схемы мы планируем применять в качестве макроса в будущих схемах. Тогда нам нужно объединить все это в макрос и сохранить. В этой программе макросы или часть сохраняемых схем обозначаются как компоненты. Для того чтобы можно было сохранить, нам нужно выделить мышью нужную часть схемы, и открыв меню Компонент выбрать Создать компонент из выделенного, на следующем рисунке выделено красным. Нужно придумать название, назовём для примера 123 и выбрать Копировать компоненты в библиотеку. На рисунке выделено зеленым.

SPLAN 7 - Создание компонента

   В Splan 7, сохраняются созданные компоненты в ту папку и тот раздел, который был открыт в настоящий момент в программе. В нашем случае, последним был открыт раздел резисторы, и компонент сохранился там. Что и можно увидеть на следующем рисунке.

SPLAN - Сохранившийся компонент

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

SPLAN - Меню вызываемое правой кнопкой мыши

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

SPLAN - Меню выбора масштаба

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

SPLAN 7 - Отраженные транзисторы

   На схеме можно делать надписи с помощью опции Текст, на рисунке ниже видно, где она находится:

SPLAN - Создание надписей в программе

   После нужно кликнуть мышью на то место, где мы хотим, чтобы находился текст, откроется следующее окно:

SPLAN - Меню при наборе текста

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

SPLAN - Вставить рисунок в схему

   В схему можно вставить и изображение в форматах BMP и JPG. Для этого нужно кликнуть на пиктограмму Рисунок, подчеркнуто красным на рисунке выше. После нужно выбрать рисунок на компьютере и кликнуть на то место, куда мы хотим вставить рисунок. У этого рисунка на схеме можно будет изменять масштаб, регулировать ширину с высотой и перетаскивая мышью менять его местоположение. Все это осуществляется, как и в любом графическом редакторе, путем наведения на черные квадратики по контуру рисунка:

SPLAN - Регулирование рисунка

   И наконец, перейдем к самому главному, возможности редактирования компонента. Любой компонент можно редактировать, достаточно кликнуть по нему правой кнопкой мыши, откроется уже знакомое нам окно, в нем нужно выбрать Свойства… На рисунке ниже подчеркнуто красным:

SPLAN 7 - Меню выбора свойств

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

SPLAN - Окно свойства

   И наконец, самая главная кнопка здесь это Редактор, на рисунке подчеркнуто красным. При нажатии на неё мы попадаем в открывшееся окно Редактора компонентов:

SPLAN - Редактор компонентов

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

SPLAN 7 - Транзистор из отдельных частей

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

SPLAN - Опции для рисования компонента

   Получившийся компонент можно сохранить для использования в схеме, нажав в левом верхнем углу Редактор схем => Сохранить и выйти.

SPLAN - Сохранение и выход из редактора

   При работе, как в редакторе, так и в основном окне программы Splan действует кнопка отменить, позволяющая отменить последнее действие. Получившуюся схему можно экспортировать в графические форматы JPG, BMP, GIF и еще несколько других. Саму схему можно сохранить для дальнейшего использования или редактирования в формате *.spl. Это формат сохранений в программе Splan. Также есть функция вывода схемы на принтер. Если у вас остались вопросы – мы будем рады помочь вам на форуме. Обзор подготовлен специально для сайта РадиосхемыAKV.

   Форум по программам для составления схем

О чем данный учебник

Данный учебник представляет собой что-то типа «штампа моей памяти» по языку SQL (DDL, DML), т.е. это информация, которая накопилась по ходу профессиональной деятельности и постоянно хранится в моей голове. Это для меня достаточный минимум, который применяется при работе с базами данных наиболее часто. Если встает необходимость применять более полные конструкции SQL, то я обычно обращаюсь за помощью в библиотеку MSDN расположенную в интернет. На мой взгляд, удержать все в голове очень сложно, да и нет особой необходимости в этом. Но знать основные конструкции очень полезно, т.к. они применимы практически в таком же виде во многих реляционных базах данных, таких как Oracle, MySQL, Firebird. Отличия в основном состоят в типах данных, которые могут отличаться в деталях. Основных конструкций языка SQL не так много, и при постоянной практике они быстро запоминаются. Например, для создания объектов (таблиц, ограничений, индексов и т.п.) достаточно иметь под рукой текстовый редактор среды (IDE) для работы с базой данных, и нет надобности изучать визуальный инструментарий заточенный для работы с конкретным типом баз данных (MS SQL, Oracle, MySQL, Firebird, …). Это удобно и тем, что весь текст находится перед глазами, и не нужно бегать по многочисленным вкладкам для того чтобы создать, например, индекс или ограничение. При постоянной работе с базой данных, создать, изменить, а особенно пересоздать объект при помощи скриптов получается в разы быстрее, чем если это делать в визуальном режиме. Так же в скриптовом режиме (соответственно, при должной аккуратности), проще задавать и контролировать правила наименования объектов (мое субъективное мнение). К тому же скрипты удобно использовать в случае, когда изменения, делаемые в одной базе данных (например, тестовой), необходимо перенести в таком же виде в другую базу (продуктивную).

Язык SQL подразделяется на несколько частей, здесь я рассмотрю 2 наиболее важные его части:

  • DDL – Data Definition Language (язык описания данных)
  • DML – Data Manipulation Language (язык манипулирования данными), который содержит следующие конструкции:
    • SELECT – выборка данных
    • INSERT – вставка новых данных
    • UPDATE – обновление данных
    • DELETE – удаление данных
    • MERGE – слияние данных

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

Данный учебник создан по принципу Step by Step, т.е. необходимо читать его последовательно и желательно сразу же выполняя примеры. Но если по ходу у вас возникает потребность узнать о какой-то команде более детально, то используйте конкретный поиск в интернет, например, в библиотеке MSDN.

При написании данного учебника использовалась база данных MS SQL Server версии 2014, для выполнения скриптов я использовал MS SQL Server Management Studio (SSMS).

Кратко о MS SQL Server Management Studio (SSMS)

SQL Server Management Studio (SSMS) — утилита для Microsoft SQL Server для конфигурирования, управления и администрирования компонентов базы данных. Данная утилита содержит редактор скриптов (который в основном и будет нами использоваться) и графическую программу, которая работает с объектами и настройками сервера. Главным инструментом SQL Server Management Studio является Object Explorer, который позволяет пользователю просматривать, извлекать объекты сервера, а также управлять ими. Данный текст частично позаимствован с википедии.

Для создания нового редактора скрипта используйте кнопку «New Query/Новый запрос»:

Для смены текущей базы данных можно использовать выпадающий список:

Для выполнения определенной команды (или группы команд) выделите ее и нажмите кнопку «Execute/Выполнить» или же клавишу «F5». Если в редакторе в текущий момент находится только одна команда, или же вам необходимо выполнить все команды, то ничего выделять не нужно.

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

Собственно, это все, что нам необходимо будет знать для выполнения приведенных здесь примеров. Остальное по утилите SSMS несложно изучить самостоятельно.

Немного теории

Реляционная база данных (РБД, или далее в контексте просто БД) представляет из себя совокупность таблиц, связанных между собой. Если говорить грубо, то БД – файл в котором данные хранятся в структурированном виде.

СУБД – Система Управления этими Базами Данных, т.е. это комплекс инструментов для работы с конкретным типом БД (MS SQL, Oracle, MySQL, Firebird, …).

Примечание
Т.к. в жизни, в разговорной речи, мы по большей части говорим: «БД Oracle», или даже просто «Oracle», на самом деле подразумевая «СУБД Oracle», то в контексте данного учебника иногда будет употребляться термин БД. Из контекста, я думаю, будет понятно, о чем именно идет речь.

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

Таблица – это главный объект РБД, все данные РБД хранятся построчно в столбцах таблицы. Строки, записи – тоже синонимы.

Для каждой таблицы, как и ее столбцов задаются наименования, по которым впоследствии к ним идет обращение.
Наименование объекта (имя таблицы, имя столбца, имя индекса и т.п.) в MS SQL может иметь максимальную длину 128 символов.

Для справки – в БД ORACLE наименования объектов могут иметь максимальную длину 30 символов. Поэтому для конкретной БД нужно вырабатывать свои правила для наименования объектов, чтобы уложиться в лимит по количеству символов.

SQL — язык позволяющий осуществлять запросы в БД посредством СУБД. В конкретной СУБД, язык SQL может иметь специфичную реализацию (свой диалект).

DDL и DML — подмножество языка SQL:

  • Язык DDL служит для создания и модификации структуры БД, т.е. для создания/изменения/удаления таблиц и связей.
  • Язык DML позволяет осуществлять манипуляции с данными таблиц, т.е. с ее строками. Он позволяет делать выборку данных из таблиц, добавлять новые данные в таблицы, а так же обновлять и удалять существующие данные.

В языке SQL можно использовать 2 вида комментариев (однострочный и многострочный):

-- однострочный комментарий

и

/*
  многострочный
  комментарий
*/

Собственно, все для теории этого будет достаточно.

DDL – Data Definition Language (язык описания данных)

Для примера рассмотрим таблицу с данными о сотрудниках, в привычном для человека не являющимся программистом виде:

Табельный номер ФИО Дата рождения E-mail Должность Отдел
1000 Иванов И.И. 19.02.1955 i.ivanov@test.tt Директор Администрация
1001 Петров П.П. 03.12.1983 p.petrov@test.tt Программист ИТ
1002 Сидоров С.С. 07.06.1976 s.sidorov@test.tt Бухгалтер Бухгалтерия
1003 Андреев А.А. 17.04.1982 a.andreev@test.tt Старший программист ИТ

В данном случае столбцы таблицы имеют следующие наименования: Табельный номер, ФИО, Дата рождения, E-mail, Должность, Отдел.

Каждый из этих столбцов можно охарактеризовать по типу содержащемся в нем данных:

  • Табельный номер – целое число
  • ФИО – строка
  • Дата рождения – дата
  • E-mail – строка
  • Должность – строка
  • Отдел – строка

Тип столбца – характеристика, которая говорит о том какого рода данные может хранить данный столбец.

Для начала будет достаточно запомнить только следующие основные типы данных используемые в MS SQL:

Значение Обозначение в MS SQL Описание
Строка переменной длины varchar(N)
и
nvarchar(N)
При помощи числа N, мы можем указать максимально возможную длину строки для соответствующего столбца. Например, если мы хотим сказать, что значение столбца «ФИО» может содержать максимум 30 символов, то необходимо задать ей тип nvarchar(30).
Отличие varchar от nvarchar заключается в том, что varchar позволяет хранить строки в формате ASCII, где один символ занимает 1 байт, а nvarchar хранит строки в формате Unicode, где каждый символ занимает 2 байта.
Тип varchar стоит использовать только в том случае, если вы на 100% уверены, что в данном поле не потребуется хранить Unicode символы. Например, varchar можно использовать для хранения адресов электронной почты, т.к. они обычно содержат только ASCII символы.
Строка фиксированной длины char(N)
и
nchar(N)
От строки переменной длины данный тип отличается тем, что если длина строка меньше N символов, то она всегда дополняется справа до длины N пробелами и сохраняется в БД в таком виде, т.е. в базе данных она занимает ровно N символов (где один символ занимает 1 байт для char и 2 байта для типа nchar). На моей практике данный тип очень редко находит применение, а если и используется, то он используется в основном в формате char(1), т.е. когда поле определяется одним символом.
Целое число int Данный тип позволяет нам использовать в столбце только целые числа, как положительные, так и отрицательные. Для справки (сейчас это не так актуально для нас) – диапазон чисел который позволяет тип int от -2 147 483 648 до 2 147 483 647. Обычно это основной тип, который используется для задания идентификаторов.
Вещественное или действительное число float Если говорить простым языком, то это числа, в которых может присутствовать десятичная точка (запятая).
Дата date Если в столбце необходимо хранить только Дату, которая состоит из трех составляющих: Числа, Месяца и Года. Например, 15.02.2014 (15 февраля 2014 года). Данный тип можно использовать для столбца «Дата приема», «Дата рождения» и т.п., т.е. в тех случаях, когда нам важно зафиксировать только дату, или, когда составляющая времени нам не важна и ее можно отбросить или если она не известна.
Время time Данный тип можно использовать, если в столбце необходимо хранить только данные о времени, т.е. Часы, Минуты, Секунды и Миллисекунды. Например, 17:38:31.3231603
Например, ежедневное «Время отправления рейса».
Дата и время datetime Данный тип позволяет одновременно сохранить и Дату, и Время. Например, 15.02.2014 17:38:31.323
Для примера это может быть дата и время какого-нибудь события.
Флаг bit Данный тип удобно применять для хранения значений вида «Да»/«Нет», где «Да» будет сохраняться как 1, а «Нет» будет сохраняться как 0.

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

Для выполнения примеров создадим тестовую базу под названием Test.

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

CREATE DATABASE Test

Удалить базу данных можно командой (стоит быть очень осторожным с данной командой):

DROP DATABASE Test

Для того, чтобы переключиться на нашу базу данных, можно выполнить команду:

USE Test

Или же выберите базу данных Test в выпадающем списке в области меню SSMS. При работе мною чаще используется именно этот способ переключения между базами.

Теперь в нашей БД мы можем создать таблицу используя описания в том виде как они есть, используя пробелы и символы кириллицы:

CREATE TABLE [Сотрудники](
  [Табельный номер] int,
  [ФИО] nvarchar(30),
  [Дата рождения] date,
  [E-mail] nvarchar(30),
  [Должность] nvarchar(30),
  [Отдел] nvarchar(30)
)

В данном случае нам придется заключать имена в квадратные скобки […].

Но в базе данных для большего удобства все наименования объектов лучше задавать на латинице и не использовать в именах пробелы. В MS SQL обычно в данном случае каждое слово начинается с прописной буквы, например, для поля «Табельный номер», мы могли бы задать имя PersonnelNumber. Так же в имени можно использовать цифры, например, PhoneNumber1.

На заметку
В некоторых СУБД более предпочтительным может быть следующий формат наименований «PHONE_NUMBER», например, такой формат часто используется в БД ORACLE. Естественно при задании имя поля желательно чтобы оно не совпадало с ключевыми словами используемые в СУБД.

По этой причине можете забыть о синтаксисе с квадратными скобками и удалить таблицу [Сотрудники]:

DROP TABLE [Сотрудники]

Например, таблицу с сотрудниками можно назвать «Employees», а ее полям можно задать следующие наименования:

  • ID – Табельный номер (Идентификатор сотрудника)
  • Name – ФИО
  • Birthday – Дата рождения
  • Email – E-mail
  • Position – Должность
  • Department – Отдел

Очень часто для наименования поля идентификатора используется слово ID.

Теперь создадим нашу таблицу:

CREATE TABLE Employees(
  ID int,
  Name nvarchar(30),
  Birthday date,
  Email nvarchar(30),
  Position nvarchar(30),
  Department nvarchar(30)
)

Для того, чтобы задать обязательные для заполнения столбцы, можно использовать опцию NOT NULL.

Для уже существующей таблицы поля можно переопределить при помощи следующих команд:

-- обновление поля ID
ALTER TABLE Employees ALTER COLUMN ID int NOT NULL

-- обновление поля Name
ALTER TABLE Employees ALTER COLUMN Name nvarchar(30) NOT NULL

На заметку
Общая концепция языка SQL для большинства СУБД остается одинаковой (по крайней мере, об этом я могу судить по тем СУБД, с которыми мне довелось поработать). Отличие DDL в разных СУБД в основном заключаются в типах данных (здесь могут отличаться не только их наименования, но и детали их реализации), так же может немного отличаться и сама специфика реализации языка SQL (т.е. суть команд одна и та же, но могут быть небольшие различия в диалекте, увы, но одного стандарта нет). Владея основами SQL вы легко сможете перейти с одной СУБД на другую, т.к. вам в данном случае нужно будет только разобраться в деталях реализации команд в новой СУБД, т.е. в большинстве случаев достаточно будет просто провести аналогию.

Чтобы не быть голословным, приведу несколько примеров тех же команд для СУБД ORACLE:

-- создание таблицы
CREATE TABLE Employees(
  ID int, -- в ORACLE тип int - это эквивалент(обертка) для number(38)
  Name nvarchar2(30), -- nvarchar2 в ORACLE эквивалентен nvarchar в MS SQL
  Birthday date,
  Email nvarchar2(30),
  Position nvarchar2(30),
  Department nvarchar2(30)
);

-- обновление полей ID и Name (здесь вместо ALTER COLUMN используется MODIFY(…))
ALTER TABLE Employees MODIFY(ID int NOT NULL,Name nvarchar2(30) NOT NULL);

-- добавление PK (в данном случае конструкция выглядит как и в MS SQL, она будет показана ниже)
ALTER TABLE Employees ADD CONSTRAINT PK_Employees PRIMARY KEY(ID);

Для ORACLE есть отличия в плане реализации типа varchar2, его кодировка зависит настроек БД и текст может сохраняться, например, в кодировке UTF-8. Помимо этого длину поля в ORACLE можно задать как в байтах, так и в символах, для этого используются дополнительные опции BYTE и CHAR, которые указываются после длины поля, например:

NAME varchar2(30 BYTE) -- вместимость поля будет равна 30 байтам
NAME varchar2(30 CHAR) -- вместимость поля будет равна 30 символов

Какая опция будет использоваться по умолчанию BYTE или CHAR, в случае простого указания в ORACLE типа varchar2(30), зависит от настроек БД, так же она иногда может задаваться в настройках IDE. В общем порой можно легко запутаться, поэтому в случае ORACLE, если используется тип varchar2 (а это здесь порой оправдано, например, при использовании кодировки UTF-8) я предпочитаю явно прописывать CHAR (т.к. обычно длину строки удобнее считать именно в символах).

Но в данном случае если в таблице уже есть какие-нибудь данные, то для успешного выполнения команд необходимо, чтобы во всех строках таблицы поля ID и Name были обязательно заполнены. Продемонстрируем это на примере, вставим в таблицу данные в поля ID, Position и Department, это можно сделать следующим скриптом:

INSERT Employees(ID,Position,Department) VALUES
(1000,N'Директор',N'Администрация'),
(1001,N'Программист',N'ИТ'),
(1002,N'Бухгалтер',N'Бухгалтерия'),
(1003,N'Старший программист',N'ИТ')

В данном случае, команда INSERT также выдаст ошибку, т.к. при вставке мы не указали значения обязательного поля Name.
В случае, если бы у нас в первоначальной таблице уже имелись эти данные, то команда «ALTER TABLE Employees ALTER COLUMN ID int NOT NULL» выполнилась бы успешно, а команда «ALTER TABLE Employees ALTER COLUMN Name int NOT NULL» выдала сообщение об ошибке, что в поле Name имеются NULL (не указанные) значения.

Добавим значения для полю Name и снова зальем данные:

INSERT Employees(ID,Position,Department,Name) VALUES
(1000,N'Директор',N'Администрация',N'Иванов И.И.'),
(1001,N'Программист',N'ИТ',N'Петров П.П.'),
(1002,N'Бухгалтер',N'Бухгалтерия',N'Сидоров С.С.'),
(1003,N'Старший программист',N'ИТ',N'Андреев А.А.')

Так же опцию NOT NULL можно использовать непосредственно при создании новой таблицы, т.е. в контексте команды CREATE TABLE.

Сначала удалим таблицу при помощи команды:

DROP TABLE Employees

Теперь создадим таблицу с обязательными для заполнения столбцами ID и Name:

CREATE TABLE Employees(
  ID int NOT NULL,
  Name nvarchar(30) NOT NULL,
  Birthday date,
  Email nvarchar(30),
  Position nvarchar(30),
  Department nvarchar(30)
)

Можно также после имени столбца написать NULL, что будет означать, что в нем будут допустимы NULL-значения (не указанные), но этого делать не обязательно, так как данная характеристика подразумевается по умолчанию.

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

ALTER TABLE Employees ALTER COLUMN Name nvarchar(30) NULL

Или просто:

ALTER TABLE Employees ALTER COLUMN Name nvarchar(30)

Так же данной командой мы можем изменить тип поля на другой совместимый тип, или же изменить его длину. Для примера давайте расширим поле Name до 50 символов:

ALTER TABLE Employees ALTER COLUMN Name nvarchar(50)

Первичный ключ

При создании таблицы желательно, чтобы она имела уникальный столбец или же совокупность столбцов, которая уникальна для каждой ее строки – по данному уникальному значению можно однозначно идентифицировать запись. Такое значение называется первичным ключом таблицы. Для нашей таблицы Employees таким уникальным значением может быть столбец ID (который содержит «Табельный номер сотрудника» — пускай в нашем случае данное значение уникально для каждого сотрудника и не может повторяться).

Создать первичный ключ к уже существующей таблице можно при помощи команды:

ALTER TABLE Employees ADD CONSTRAINT PK_Employees PRIMARY KEY(ID)

Где «PK_Employees» это имя ограничения, отвечающего за первичный ключ. Обычно для наименования первичного ключа используется префикс «PK_» после которого идет имя таблицы.

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

ALTER TABLE имя_таблицы ADD CONSTRAINT имя_ограничения PRIMARY KEY(поле1,поле2,…)

Стоит отметить, что в MS SQL все поля, которые входят в первичный ключ, должны иметь характеристику NOT NULL.

Так же первичный ключ можно определить непосредственно при создании таблицы, т.е. в контексте команды CREATE TABLE. Удалим таблицу:

DROP TABLE Employees

А затем создадим ее, используя следующий синтаксис:

CREATE TABLE Employees(
  ID int NOT NULL,
  Name nvarchar(30) NOT NULL,
  Birthday date,
  Email nvarchar(30),
  Position nvarchar(30),
  Department nvarchar(30),
  CONSTRAINT PK_Employees PRIMARY KEY(ID) -- описываем PK после всех полей, как ограничение
)

После создания зальем в таблицу данные:

INSERT Employees(ID,Position,Department,Name) VALUES
(1000,N'Директор',N'Администрация',N'Иванов И.И.'),
(1001,N'Программист',N'ИТ',N'Петров П.П.'),
(1002,N'Бухгалтер',N'Бухгалтерия',N'Сидоров С.С.'),
(1003,N'Старший программист',N'ИТ',N'Андреев А.А.')

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

CREATE TABLE Employees(
  ID int NOT NULL CONSTRAINT PK_Employees PRIMARY KEY, -- указываем как характеристику поля
  Name nvarchar(30) NOT NULL,
  Birthday date,
  Email nvarchar(30),
  Position nvarchar(30),
  Department nvarchar(30)
)

На самом деле имя ограничения можно и не задавать, в этом случае ему будет присвоено системное имя (наподобие «PK__Employee__3214EC278DA42077»):

CREATE TABLE Employees(
  ID int NOT NULL,
  Name nvarchar(30) NOT NULL,
  Birthday date,
  Email nvarchar(30),
  Position nvarchar(30),
  Department nvarchar(30),
  PRIMARY KEY(ID)
)

Или:

CREATE TABLE Employees(
  ID int NOT NULL PRIMARY KEY,
  Name nvarchar(30) NOT NULL,
  Birthday date,
  Email nvarchar(30),
  Position nvarchar(30),
  Department nvarchar(30)
)

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

ALTER TABLE Employees DROP CONSTRAINT PK_Employees

Но такой краткий синтаксис, без указания имен ограничений, удобно применять при создании временных таблиц БД (имя временной таблицы начинается с # или ##), которые после использования будут удалены.

Подытожим

На данный момент мы рассмотрели следующие команды:

  • CREATE TABLE имя_таблицы (перечисление полей и их типов, ограничений) – служит для создания новой таблицы в текущей БД;
  • DROP TABLE имя_таблицы – служит для удаления таблицы из текущей БД;
  • ALTER TABLE имя_таблицы ALTER COLUMN имя_столбца … – служит для обновления типа столбца или для изменения его настроек (например для задания характеристики NULL или NOT NULL);
  • ALTER TABLE имя_таблицы ADD CONSTRAINT имя_ограничения PRIMARY KEY(поле1, поле2,…) – добавление первичного ключа к уже существующей таблице;
  • ALTER TABLE имя_таблицы DROP CONSTRAINT имя_ограничения – удаление ограничения из таблицы.

Немного про временные таблицы

Вырезка из MSDN. В MS SQL Server существует два вида временных таблиц: локальные (#) и глобальные (##). Локальные временные таблицы видны только их создателям до завершения сеанса соединения с экземпляром SQL Server, как только они впервые созданы. Локальные временные таблицы автоматически удаляются после отключения пользователя от экземпляра SQL Server. Глобальные временные таблицы видны всем пользователям в течение любых сеансов соединения после создания этих таблиц и удаляются, когда все пользователи, ссылающиеся на эти таблицы, отключаются от экземпляра SQL Server.

Временные таблицы создаются в системной базе tempdb, т.е. создавая их мы не засоряем основную базу, в остальном же временные таблицы полностью идентичны обычным таблицам, их так же можно удалить при помощи команды DROP TABLE. Чаще используются локальные (#) временные таблицы.

Для создания временной таблицы можно использовать команду CREATE TABLE:

CREATE TABLE #Temp(
  ID int,
  Name nvarchar(30)
)

Так как временная таблица в MS SQL аналогична обычной таблице, ее соответственно так же можно удалить самому командой DROP TABLE:

DROP TABLE #Temp

Так же временную таблицу (как собственно и обычную таблицу) можно создать и сразу заполнить данными возвращаемые запросом используя синтаксис SELECT … INTO:

SELECT ID,Name
INTO #Temp
FROM Employees

На заметку
В разных СУБД реализация временных таблиц может отличаться. Например, в СУБД ORACLE и Firebird структура временных таблиц должна быть определена заранее командой CREATE GLOBAL TEMPORARY TABLE с указанием специфики хранения в ней данных, дальше уже пользователь видит ее среди основных таблиц и работает с ней как с обычной таблицей.

Нормализация БД – дробление на подтаблицы (справочники) и определение связей

Наша текущая таблица Employees имеет недостаток в том, что в полях Position и Department пользователь может ввести любой текст, что в первую очередь чревато ошибками, так как он у одного сотрудника может указать в качестве отдела просто «ИТ», а у второго сотрудника, например, ввести «ИТ-отдел», у третьего «IT». В итоге будет непонятно, что имел ввиду пользователь, т.е. являются ли данные сотрудники работниками одного отдела, или же пользователь описался и это 3 разных отдела? А тем более, в этом случае, мы не сможем правильно сгруппировать данные для какого-то отчета, где, может требоваться показать количество сотрудников в разрезе каждого отдела.

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

Третий недостаток – сложность обновления данных полей, в случае если изменится название какой-то должности, например, если потребуется переименовать должность «Программист», на «Младший программист». В данном случае нам придется вносить изменения в каждую строчку таблицы, у которой Должность равняется «Программист».

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

Давайте создадим 2 таблицы справочники «Должности» и «Отделы», первую назовем Positions, а вторую соответственно Departments:

CREATE TABLE Positions(
  ID int IDENTITY(1,1) NOT NULL CONSTRAINT PK_Positions PRIMARY KEY,
  Name nvarchar(30) NOT NULL
)

CREATE TABLE Departments(
  ID int IDENTITY(1,1) NOT NULL CONSTRAINT PK_Departments PRIMARY KEY,
  Name nvarchar(30) NOT NULL
)

Заметим, что здесь мы использовали новую опцию IDENTITY, которая говорит о том, что данные в столбце ID будут нумероваться автоматически, начиная с 1, с шагом 1, т.е. при добавлении новых записей им последовательно будут присваиваться значения 1, 2, 3, и т.д. Такие поля обычно называют автоинкрементными. В таблице может быть определено только одно поле со свойством IDENTITY и обычно, но необязательно, такое поле является первичным ключом для данной таблицы.

На заметку
В разных СУБД реализация полей со счетчиком может делаться по своему. В MySQL, например, такое поле определяется при помощи опции AUTO_INCREMENT. В ORACLE и Firebird раньше данную функциональность можно было съэмулировать при помощи использования последовательностей (SEQUENCE). Но насколько я знаю в ORACLE сейчас добавили опцию GENERATED AS IDENTITY.

Давайте заполним эти таблицы автоматически, на основании текущих данных записанных в полях Position и Department таблицы Employees:

-- заполняем поле Name таблицы Positions, уникальными значениями из поля Position таблицы Employees
INSERT Positions(Name)
SELECT DISTINCT Position
FROM Employees
WHERE Position IS NOT NULL -- отбрасываем записи у которых позиция не указана

То же самое проделаем для таблицы Departments:

INSERT Departments(Name)
SELECT DISTINCT Department
FROM Employees
WHERE Department IS NOT NULL

Если теперь мы откроем таблицы Positions и Departments, то увидим пронумерованный набор значений по полю ID:

SELECT * FROM Positions

ID Name
1 Бухгалтер
2 Директор
3 Программист
4 Старший программист
SELECT * FROM Departments

ID Name
1 Администрация
2 Бухгалтерия
3 ИТ

Данные таблицы теперь и будут играть роль справочников для задания должностей и отделов. Теперь мы будем ссылаться на идентификаторы должностей и отделов. В первую очередь создадим новые поля в таблице Employees для хранения данных идентификаторов:

-- добавляем поле для ID должности
ALTER TABLE Employees ADD PositionID int
-- добавляем поле для ID отдела
ALTER TABLE Employees ADD DepartmentID int

Тип ссылочных полей должен быть каким же, как и в справочниках, в данном случае это int.

Так же добавить в таблицу сразу несколько полей можно одной командой, перечислив поля через запятую:

ALTER TABLE Employees ADD PositionID int, DepartmentID int

Теперь пропишем ссылки (ссылочные ограничения — FOREIGN KEY) для этих полей, для того чтобы пользователь не имел возможности записать в данные поля, значения, отсутствующие среди значений ID находящихся в справочниках.

ALTER TABLE Employees ADD CONSTRAINT FK_Employees_PositionID
FOREIGN KEY(PositionID) REFERENCES Positions(ID)

И то же самое сделаем для второго поля:

ALTER TABLE Employees ADD CONSTRAINT FK_Employees_DepartmentID
FOREIGN KEY(DepartmentID) REFERENCES Departments(ID)

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

Имя ссылочного ограничения, обычно является составным, оно состоит из префикса «FK_», затем идет имя таблицы и после знака подчеркивания идет имя поля, которое ссылается на идентификатор таблицы-справочника.

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

Так же в некоторых случаях ссылку можно организовать по нескольким полям:

ALTER TABLE таблица ADD CONSTRAINT имя_ограничения
FOREIGN KEY(поле1,поле2,…) REFERENCES таблица_справочник(поле1,поле2,…)

В данном случае в таблице «таблица_справочник» первичный ключ представлен комбинацией из нескольких полей (поле1, поле2,…).

Собственно, теперь обновим поля PositionID и DepartmentID значениями ID из справочников. Воспользуемся для этой цели DML командой UPDATE:

UPDATE e
SET
  PositionID=(SELECT ID FROM Positions WHERE Name=e.Position),
  DepartmentID=(SELECT ID FROM Departments WHERE Name=e.Department)
FROM Employees e

Посмотрим, что получилось, выполнив запрос:

SELECT * FROM Employees

ID Name Birthday Email Position Department PositionID DepartmentID
1000 Иванов И.И. NULL NULL Директор Администрация 2 1
1001 Петров П.П. NULL NULL Программист ИТ 3 3
1002 Сидоров С.С. NULL NULL Бухгалтер Бухгалтерия 1 2
1003 Андреев А.А. NULL NULL Старший программист ИТ 4 3

Всё, поля PositionID и DepartmentID заполнены соответствующие должностям и отделам идентификаторами надобности в полях Position и Department в таблице Employees теперь нет, можно удалить эти поля:

ALTER TABLE Employees DROP COLUMN Position,Department

Теперь таблица у нас приобрела следующий вид:

SELECT * FROM Employees

ID Name Birthday Email PositionID DepartmentID
1000 Иванов И.И. NULL NULL 2 1
1001 Петров П.П. NULL NULL 3 3
1002 Сидоров С.С. NULL NULL 1 2
1003 Андреев А.А. NULL NULL 4 3

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

SELECT e.ID,e.Name,p.Name PositionName,d.Name DepartmentName
FROM Employees e
LEFT JOIN Departments d ON d.ID=e.DepartmentID
LEFT JOIN Positions p ON p.ID=e.PositionID

ID Name PositionName DepartmentName
1000 Иванов И.И. Директор Администрация
1001 Петров П.П. Программист ИТ
1002 Сидоров С.С. Бухгалтер Бухгалтерия
1003 Андреев А.А. Старший программист ИТ

В инспекторе объектов мы можем увидеть все объекты, созданные для в данной таблицы. Отсюда же можно производить разные манипуляции с данными объектами – например, переименовывать или удалять объекты.

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

ALTER TABLE Employees ADD ManagerID int

В данном поле допустимо значение NULL, поле будет пустым, если, например, над сотрудником нет вышестоящих.

Теперь создадим FOREIGN KEY на таблицу Employees:

ALTER TABLE Employees ADD CONSTRAINT FK_Employees_ManagerID
FOREIGN KEY (ManagerID) REFERENCES Employees(ID)

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

В результате мы должны увидеть следующую картину (таблица Employees связана с таблицами Positions и Depertments, а так же ссылается сама на себя):

Напоследок стоит сказать, что ссылочные ключи могут включать дополнительные опции ON DELETE CASCADE и ON UPDATE CASCADE, которые говорят о том, как вести себя при удалении или обновлении записи, на которую есть ссылки в таблице-справочнике. Если эти опции не указаны, то мы не можем изменить ID в таблице справочнике у той записи, на которую есть ссылки из другой таблицы, так же мы не сможем удалить такую запись из справочника, пока не удалим все строки, ссылающиеся на эту запись или, же обновим в этих строках ссылки на другое значение.

Для примера пересоздадим таблицу с указанием опции ON DELETE CASCADE для FK_Employees_DepartmentID:

DROP TABLE Employees

CREATE TABLE Employees(
  ID int NOT NULL,
  Name nvarchar(30),
  Birthday date,
  Email nvarchar(30),
  PositionID int,
  DepartmentID int,
  ManagerID int,
CONSTRAINT PK_Employees PRIMARY KEY (ID),
CONSTRAINT FK_Employees_DepartmentID FOREIGN KEY(DepartmentID) REFERENCES Departments(ID)
ON DELETE CASCADE,
CONSTRAINT FK_Employees_PositionID FOREIGN KEY(PositionID) REFERENCES Positions(ID),
CONSTRAINT FK_Employees_ManagerID FOREIGN KEY (ManagerID) REFERENCES Employees(ID)
)

INSERT Employees (ID,Name,Birthday,PositionID,DepartmentID,ManagerID)VALUES
(1000,N'Иванов И.И.','19550219',2,1,NULL),
(1001,N'Петров П.П.','19831203',3,3,1003),
(1002,N'Сидоров С.С.','19760607',1,2,1000),
(1003,N'Андреев А.А.','19820417',4,3,1000)

Удалим отдел с идентификатором 3 из таблицы Departments:

DELETE Departments WHERE ID=3

Посмотрим на данные таблицы Employees:

SELECT * FROM Employees

ID Name Birthday Email PositionID DepartmentID ManagerID
1000 Иванов И.И. 1955-02-19 NULL 2 1 NULL
1002 Сидоров С.С. 1976-06-07 NULL 1 2 1000

Как видим, данные по отделу 3 из таблицы Employees так же удалились.

Опция ON UPDATE CASCADE ведет себя аналогично, но действует она при обновлении значения ID в справочнике. Например, если мы поменяем ID должности в справочнике должностей, то в этом случае будет производиться обновление DepartmentID в таблице Employees на новое значение ID которое мы задали в справочнике. Но в данном случае это продемонстрировать просто не получится, т.к. у колонки ID в таблице Departments стоит опция IDENTITY, которая не позволит нам выполнить следующий запрос (сменить идентификатор отдела 3 на 30):

UPDATE Departments
SET
  ID=30
WHERE ID=3

Главное понять суть этих 2-х опций ON DELETE CASCADE и ON UPDATE CASCADE. Я применяю эти опции очень в редких случаях и рекомендую хорошо подумать, прежде чем указывать их в ссылочном ограничении, т.к. при нечаянном удалении записи из таблицы справочника это может привести к большим проблемам и создать цепную реакцию.

Восстановим отдел 3:

-- даем разрешение на добавление/изменение IDENTITY значения
SET IDENTITY_INSERT Departments ON

INSERT Departments(ID,Name) VALUES(3,N'ИТ')

-- запрещаем добавление/изменение IDENTITY значения
SET IDENTITY_INSERT Departments OFF

Полностью очистим таблицу Employees при помощи команды TRUNCATE TABLE:

TRUNCATE TABLE Employees

И снова перезальем в нее данные используя предыдущую команду INSERT:

INSERT Employees (ID,Name,Birthday,PositionID,DepartmentID,ManagerID)VALUES
(1000,N'Иванов И.И.','19550219',2,1,NULL),
(1001,N'Петров П.П.','19831203',3,3,1003),
(1002,N'Сидоров С.С.','19760607',1,2,1000),
(1003,N'Андреев А.А.','19820417',4,3,1000)

Подытожим

На данным момент к нашим знаниям добавилось еще несколько команд DDL:

  • Добавление свойства IDENTITY к полю – позволяет сделать это поле автоматически заполняемым (полем-счетчиком) для таблицы;
  • ALTER TABLE имя_таблицы ADD перечень_полей_с_характеристиками – позволяет добавить новые поля в таблицу;
  • ALTER TABLE имя_таблицы DROP COLUMN перечень_полей – позволяет удалить поля из таблицы;
  • ALTER TABLE имя_таблицы ADD CONSTRAINT имя_ограничения FOREIGN KEY(поля) REFERENCES таблица_справочник(поля) – позволяет определить связь между таблицей и таблицей справочником.

Прочие ограничения – UNIQUE, DEFAULT, CHECK

При помощи ограничения UNIQUE можно сказать что значения для каждой строки в данном поле или в наборе полей должно быть уникальным. В случае таблицы Employees, такое ограничение мы можем наложить на поле Email. Только предварительно заполним Email значениями, если они еще не определены:

UPDATE Employees SET Email='i.ivanov@test.tt' WHERE ID=1000
UPDATE Employees SET Email='p.petrov@test.tt' WHERE ID=1001
UPDATE Employees SET Email='s.sidorov@test.tt' WHERE ID=1002
UPDATE Employees SET Email='a.andreev@test.tt' WHERE ID=1003

А теперь можно наложить на это поле ограничение-уникальности:

ALTER TABLE Employees ADD CONSTRAINT UQ_Employees_Email UNIQUE(Email)

Теперь пользователь не сможет внести один и тот же E-Mail у нескольких сотрудников.

Ограничение уникальности обычно именуется следующим образом – сначала идет префикс «UQ_», далее название таблицы и после знака подчеркивания идет имя поля, на которое накладывается данное ограничение.

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

ALTER TABLE имя_таблицы ADD CONSTRAINT имя_ограничения UNIQUE(поле1,поле2,…)

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

Давайте добавим в таблицу Employees новое поле «Дата приема» и назовем его HireDate и скажем что значение по умолчанию у данного поля будет текущая дата:

ALTER TABLE Employees ADD HireDate date NOT NULL DEFAULT SYSDATETIME()

Или если столбец HireDate уже существует, то можно использовать следующий синтаксис:

ALTER TABLE Employees ADD DEFAULT SYSDATETIME() FOR HireDate

Здесь я не указал имя ограничения, т.к. в случае DEFAULT у меня сложилось мнение, что это не столь критично. Но если делать по-хорошему, то, думаю, не нужно лениться и стоит задать нормальное имя. Делается это следующим образом:

ALTER TABLE Employees ADD CONSTRAINT DF_Employees_HireDate DEFAULT SYSDATETIME() FOR HireDate

Та как данного столбца раньше не было, то при его добавлении в каждую запись в поле HireDate будет вставлено текущее значение даты.

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

INSERT Employees(ID,Name,Email)VALUES(1004,N'Сергеев С.С.','s.sergeev@test.tt')

Посмотрим, что получилось:

SELECT * FROM Employees

ID Name Birthday Email PositionID DepartmentID ManagerID HireDate
1000 Иванов И.И. 1955-02-19 i.ivanov@test.tt 2 1 NULL 2015-04-08
1001 Петров П.П. 1983-12-03 p.petrov@test.tt 3 4 1003 2015-04-08
1002 Сидоров С.С. 1976-06-07 s.sidorov@test.tt 1 2 1000 2015-04-08
1003 Андреев А.А. 1982-04-17 a.andreev@test.tt 4 3 1000 2015-04-08
1004 Сергеев С.С. NULL s.sergeev@test.tt NULL NULL NULL 2015-04-08

Проверочное ограничение CHECK используется в том случае, когда необходимо осуществить проверку вставляемых в поле значений. Например, наложим данное ограничение на поле табельный номер, которое у нас является идентификатором сотрудника (ID). При помощи данного ограничения скажем, что табельные номера должны иметь значение от 1000 до 1999:

ALTER TABLE Employees ADD CONSTRAINT CK_Employees_ID CHECK(ID BETWEEN 1000 AND 1999)

Ограничение обычно именуется так же, сначала идет префикс «CK_», затем имя таблицы и имя поля, на которое наложено это ограничение.

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

INSERT Employees(ID,Email) VALUES(2000,'test@test.tt')

А теперь изменим вставляемое значение на 1500 и убедимся, что запись вставится:

INSERT Employees(ID,Email) VALUES(1500,'test@test.tt')

Можно так же создать ограничения UNIQUE и CHECK без указания имени:

ALTER TABLE Employees ADD UNIQUE(Email)
ALTER TABLE Employees ADD CHECK(ID BETWEEN 1000 AND 1999)

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

При хорошем наименовании много информации об ограничении можно узнать непосредственно по его имени.

И, соответственно, все эти ограничения можно создать сразу же при создании таблицы, если ее еще нет. Удалим таблицу:

DROP TABLE Employees

И пересоздадим ее со всеми созданными ограничениями одной командой CREATE TABLE:

CREATE TABLE Employees(
  ID int NOT NULL,
  Name nvarchar(30),
  Birthday date,
  Email nvarchar(30),
  PositionID int,
  DepartmentID int,
  HireDate date NOT NULL DEFAULT SYSDATETIME(), -- для DEFAULT я сделаю исключение
CONSTRAINT PK_Employees PRIMARY KEY (ID),
CONSTRAINT FK_Employees_DepartmentID FOREIGN KEY(DepartmentID) REFERENCES Departments(ID),
CONSTRAINT FK_Employees_PositionID FOREIGN KEY(PositionID) REFERENCES Positions(ID),
CONSTRAINT UQ_Employees_Email UNIQUE (Email),
CONSTRAINT CK_Employees_ID CHECK (ID BETWEEN 1000 AND 1999)
)

Напоследок вставим в таблицу наших сотрудников:

INSERT Employees (ID,Name,Birthday,Email,PositionID,DepartmentID)VALUES
(1000,N'Иванов И.И.','19550219','i.ivanov@test.tt',2,1),
(1001,N'Петров П.П.','19831203','p.petrov@test.tt',3,3),
(1002,N'Сидоров С.С.','19760607','s.sidorov@test.tt',1,2),
(1003,N'Андреев А.А.','19820417','a.andreev@test.tt',4,3)

Немного про индексы, создаваемые при создании ограничений PRIMARY KEY и UNIQUE

Как можно увидеть на скриншоте выше, при создании ограничений PRIMARY KEY и UNIQUE автоматически создались индексы с такими же названиями (PK_Employees и UQ_Employees_Email). По умолчанию индекс для первичного ключа создается как CLUSTERED, а для всех остальных индексов как NONCLUSTERED. Стоит сказать, что понятие кластерного индекса есть не во всех СУБД. Таблица может иметь только один кластерный (CLUSTERED) индекс. CLUSTERED – означает, что записи таблицы будут сортироваться по этому индексу, так же можно сказать, что этот индекс имеет непосредственный доступ ко всем данным таблицы. Это так сказать главный индекс таблицы. Если сказать еще грубее, то это индекс, прикрученный к таблице. Кластерный индекс – это очень мощное средство, которое может помочь при оптимизации запросов, пока просто запомним это. Если мы хотим сказать, чтобы кластерный индекс использовался не в первичном ключе, а для другого индекса, то при создании первичного ключа мы должны указать опцию NONCLUSTERED:

ALTER TABLE имя_таблицы ADD CONSTRAINT имя_ограничения
PRIMARY KEY NONCLUSTERED(поле1,поле2,…)

Для примера сделаем индекс ограничения PK_Employees некластерным, а индекс ограничения UQ_Employees_Email кластерным. Первым делом удалим данные ограничения:

ALTER TABLE Employees DROP CONSTRAINT PK_Employees
ALTER TABLE Employees DROP CONSTRAINT UQ_Employees_Email

А теперь создадим их с опциями CLUSTERED и NONCLUSTERED:

ALTER TABLE Employees ADD CONSTRAINT PK_Employees PRIMARY KEY NONCLUSTERED (ID)
ALTER TABLE Employees ADD CONSTRAINT UQ_Employees_Email UNIQUE CLUSTERED (Email)

Теперь, выполнив выборку из таблицы Employees, мы увидим, что записи отсортировались по кластерному индексу UQ_Employees_Email:

SELECT * FROM Employees

ID Name Birthday Email PositionID DepartmentID HireDate
1003 Андреев А.А. 1982-04-17 a.andreev@test.tt 4 3 2015-04-08
1000 Иванов И.И. 1955-02-19 i.ivanov@test.tt 2 1 2015-04-08
1001 Петров П.П. 1983-12-03 p.petrov@test.tt 3 3 2015-04-08
1002 Сидоров С.С. 1976-06-07 s.sidorov@test.tt 1 2 2015-04-08

До этого, когда кластерным индексом был индекс PK_Employees, записи по умолчанию сортировались по полю ID.

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

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

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

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

Подытожим

На данном этапе мы познакомились со всеми видами ограничений, в их самом простом виде, которые создаются командой вида «ALTER TABLE имя_таблицы ADD CONSTRAINT имя_ограничения …»:

  • PRIMARY KEY – первичный ключ;
  • FOREIGN KEY – настройка связей и контроль ссылочной целостности данных;
  • UNIQUE – позволяет создать уникальность;
  • CHECK – позволяет осуществлять корректность введенных данных;
  • DEFAULT – позволяет задать значение по умолчанию;
  • Так же стоит отметить, что все ограничения можно удалить, используя команду «ALTER TABLE имя_таблицы DROP CONSTRAINT имя_ограничения».

Так же мы частично затронули тему индексов и разобрали понятие кластерный (CLUSTERED) и некластерный (NONCLUSTERED) индекс.

Создание самостоятельных индексов

Под самостоятельностью здесь имеются в виду индексы, которые создаются не для ограничения PRIMARY KEY или UNIQUE.

Индексы по полю или полям можно создавать следующей командой:

CREATE INDEX IDX_Employees_Name ON Employees(Name)

Так же здесь можно указать опции CLUSTERED, NONCLUSTERED, UNIQUE, а так же можно указать направление сортировки каждого отдельного поля ASC (по умолчанию) или DESC:

CREATE UNIQUE NONCLUSTERED INDEX UQ_Employees_EmailDesc ON Employees(Email DESC)

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

Удалить индекс можно следующей командой:

DROP INDEX IDX_Employees_Name ON Employees

Простые индексы так же, как и ограничения, можно создать в контексте команды CREATE TABLE.

Для примера снова удалим таблицу:

DROP TABLE Employees

И пересоздадим ее со всеми созданными ограничениями и индексами одной командой CREATE TABLE:

CREATE TABLE Employees(
  ID int NOT NULL,
  Name nvarchar(30),
  Birthday date,
  Email nvarchar(30),
  PositionID int,
  DepartmentID int,
  HireDate date NOT NULL CONSTRAINT DF_Employees_HireDate DEFAULT SYSDATETIME(),
  ManagerID int,
CONSTRAINT PK_Employees PRIMARY KEY (ID),
CONSTRAINT FK_Employees_DepartmentID FOREIGN KEY(DepartmentID) REFERENCES Departments(ID),
CONSTRAINT FK_Employees_PositionID FOREIGN KEY(PositionID) REFERENCES Positions(ID),
CONSTRAINT FK_Employees_ManagerID FOREIGN KEY (ManagerID) REFERENCES Employees(ID),
CONSTRAINT UQ_Employees_Email UNIQUE(Email),
CONSTRAINT CK_Employees_ID CHECK(ID BETWEEN 1000 AND 1999),
INDEX IDX_Employees_Name(Name)
)

Напоследок вставим в таблицу наших сотрудников:

INSERT Employees (ID,Name,Birthday,Email,PositionID,DepartmentID,ManagerID)VALUES
(1000,N'Иванов И.И.','19550219','i.ivanov@test.tt',2,1,NULL),
(1001,N'Петров П.П.','19831203','p.petrov@test.tt',3,3,1003),
(1002,N'Сидоров С.С.','19760607','s.sidorov@test.tt',1,2,1000),
(1003,N'Андреев А.А.','19820417','a.andreev@test.tt',4,3,1000)

Дополнительно стоит отметить, что в некластерный индекс можно включать значения при помощи указания их в INCLUDE. Т.е. в данном случае INCLUDE-индекс чем-то будет напоминать кластерный индекс, только теперь не индекс прикручен к таблице, а необходимые значения прикручены к индексу. Соответственно, такие индексы могут очень повысить производительность запросов на выборку (SELECT), если все перечисленные поля имеются в индексе, то возможно обращений к таблице вообще не понадобится. Но это естественно повышает размер индекса, т.к. значения перечисленных полей дублируются в индексе.

Вырезка из MSDN. Общий синтаксис команды для создания индексов

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name 
    ON <object> ( column [ ASC | DESC ] [ ,...n ] ) 
    [ INCLUDE ( column_name [ ,...n ] ) ]

Подытожим

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

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

Заключение по DDL

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

Главное — понять суть, а остальное дело практики.

Удачи вам в освоении этого замечательного языка под названием SQL.

Часть вторая — habrahabr.ru/post/255523

Введение

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

Фундаментальные основы

Это модуль сделан, чтобы бегло ознакомиться с фундаментальными знаниями о базах данных и восполнить потенциальные пробелы. Также в этом модуле мы познакомимся с терминологией реляционных СУБД.

Основы выборки I

В рамках этого модуля мы научимся писать наши первые SQL запросы, разбиремся с такими важными понятиями как условная выборка, сортировка и группировка данных.

Основы выборки II

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

Манипуляция с данными

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

Базы данных и таблицы

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

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

Аббревиатура SQL расшифровывается как «Structured Query Language» — язык структурированных запросов. С помощью этого языка вы можете работать с записями в базах данных.

SQL состоит из команд и декларативных ключевых слов, которые являются как бы инструкциями для базы данных.

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

В этой статье мы рассмотрим основные ключевые слова и операторы SQL и разберем, как с их помощью запрашивать конкретную информацию из базы данных.

Структура базы данных

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

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

Возьмем для примера некую компанию, штат которой разбросан по всему миру. Допустим, у этой компании есть много баз данных. Чтобы увидеть их полный список, нужно набрать SHOW DATABASES;

Результат может выглядеть как-то так:

+--------------------+
|     Databases      |
+--------------------+
| mysql              |
| information_schema |
| employees          |
| test               |
| sys                |
+--------------------+

В каждой отдельной базе данных может быть много таблиц. Чтобы увидеть, какие таблицы есть в базе данных employees из нашего примера, нужно набрать SHOW TABLES in employees;. В таблицах могут содержаться данные по разным командам, что отражается в названиях: engineering, product, marketing, sales.

+----------------------+
| Tables_in_employees  |
+----------------------+
| engineering          |
| product              |
| marketing            |
| sales                |
+----------------------+

Все таблицы состоят из различных столбцов, описывающих данные.

Чтобы просмотреть столбцы таблицы Engineering, используйте Describe Engineering;. Каждый столбец этой таблицы может описывать какой-то один атрибут сотрудника, например: employee_id, first_name, last_name, email, country и salary.

Вывод:

+-----------+-------------------+--------------+
| Name      |         Null      |      Type    |  
+-----------+-------------------+--------------+
|EMPLOYEE_ID| NOT NULL          | INT(6)       |  
|FIRST_NAME | NOT NULL          |VARCHAR2(20)  |
|LAST_NAME  | NOT NULL          |VARCHAR2(25)  | 
|EMAIL      | NOT NULL          |VARCHAR2(255) |
|COUNTRY    | NOT NULL          |VARCHAR2(30)  |
|SALARY     | NOT NULL          |DECIMAL(10,2) |
+-----------+-------------------+--------------+

Таблицы также состоят из строк — отдельных записей. В нашем примере в строках будут указаны id, имена, фамилии, email, зарплата и страны проживания сотрудников. Каждая строка будет касаться одного сотрудника, допустим, из команды Engineering.

Базовые запросы SQL

Все операции, которые можно осуществлять с данными, входят в понятие «CRUD».

CRUD расшифровывается как Create, Read, Update и Delete (создать, прочесть, обновить, удалить). Это четыре основных операции, которые мы осуществляем, делая запросы к базе данных.

Мы создаем информацию в базе (CREATE), мы читаем, получаем информацию из базы (READ), мы обновляем данные или осуществляем какие-то манипуляции с ними (UPDATE) и, при желании, можем удалять данные (DELETE).

Для осуществления различных операций с данными в SQL есть специальные ключевые слова (операторы). Ниже мы рассмотрим некоторые простые запросы SQL и их синтаксис.

Ключевые слова в SQL

CREATE DATABASE

Для создания базы данных с именем engineering мы используем следующий код:

CREATE DATABASE engineering;

CREATE TABLE

Синтаксис:

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype
);

Этот запрос создает новую таблицу в базе данных.

В нем задается имя таблицы, а также имена столбцов, которые нам нужны.

Что касается типов данных (datatype), они могут быть разными. Самые распространенные — INT, DECIMAL, DATETIME, VARCHAR, NVARCHAR, FLOAT и BIT.

В нашем примере запрос может быть таким:

CREATE TABLE engineering (
employee_id  int(6) NOT NULL,
first_name   varchar(20) NOT NULL,
last_name  varchar(25) NOT NULL,
email  varchar(255) NOT NULL,
country varchar(30),
salary  decimal(10,2) NOT NULL
);

Таблица, созданная по этому запросу, будет выглядеть так:

EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL COUNTRY SALARY


ALTER TABLE

После создания таблицы мы можем изменять ее путем добавления столбцов.

Синтаксис:

ALTER TABLE table_name 
ADD column_name datatype;

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

ALTER TABLE engineering
ADD  birthday date;

Теперь таблица выглядит немного иначе:

EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL COUNTRY SALARY BIRTHDAY


INSERT

Это ключевое слово служит для вставки данных в таблицы и создания новых строк. В аббревиатуре CRUD это соответствует букве C.

Синтаксис:

INSERT INTO table_name(column1, column2, column3,..) 
VALUES(value1, 'value2', value3,..);

Этот запрос создает новую запись в таблице, т. е. новую строку.

В части INSERT INTO мы указываем столбцы, которые хотим заполнить информацией. В VALUES указана информация, которую нужно сохранить.

При вставке строковых значений их нужно брать в одинарные кавычки.

Например:

INSERT INTO table_name(employee_id,first_name,last_name,email,country,salary) 
VALUES
(1,'Timmy','Jones','timmy@gmail.com','USA',2500.00);
(2,'Kelly','Smith','ksmith@gmail.com','UK',1300.00);

Теперь таблица будет выглядеть так:

EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL COUNTRY SALARY
1 Timmy Jones timmy@gmail.com USA 2500.00
2 Kelly Smith ksmith@gmail.com UK 1300.00

SELECT

Это ключевое слово служит для выборки данных из базы. В CRUD эта операция соответствует букве R.

Синтаксис:

SELECT  column1,column2
FROM    table_name;

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

SELECT first_name,last_name
FROM   engineering;

Результат:

+-----------+----------+
|FirstName  | LastName |
+-----------+----------+
| Timmy     | Jones    |
| Kelly     | Smith    |
+-----------+----------+

Ключевое слово SELECT указывает на конкретный столбец, из которого мы хотим выбрать данные.

В части FROM определяется сама таблица.

Вот еще один пример запроса SELECT:

SELECT * FROM table_name;

Астериск (звездочка) означает, что нам нужна вся информация из указанной таблицы (а не отдельный столбец).

WHERE

WHERE позволяет составлять более специфичные (конкретные) запросы.

Например, мы можем использовать WHERE, чтобы выбрать из нашей таблицы Engineering сотрудников с определенным уровнем зарплаты.

SELECT employee_id,first_name,last_name,email,country
FROM engineering
WHERE salary > 1500

Таблица из предыдущего примера:

EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL COUNTRY SALARY
1 Timmy Jones timmy@gmail.com USA 2500.00
2 Kelly Smith ksmith@gmail.com UK 1300.00

Теперь вывод будет такой:

+-----------+----------+----------+----------------+------------+
|employee_id|first_name|last_name |email           |country     |
+-----------+----------+----------+----------------+------------+
|          1| Timmy    |Jones     |timmy@gmail.com | USA        |
+-----------+----------+----------+----------------+------------+

Данные отфильтрованы, и нам показывается только то, что отвечает условию. То есть в выводе мы получаем только строки, где зарплата больше 1500.

Операторы AND, OR, BETWEEN в SQL

Эти операторы позволяют еще больше уточнить запрос. С их помощью можно добавить больше критериев в блоке WHERE.

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

SELECT column_name
FROM table_name
WHERE column1 =value1
    AND column2 = value2;

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

SELECT column_name
FROM table_name
WHERE column_name = value1
    OR column_name = value2;

Оператор BETWEEN отфильтровывает результаты в определенном диапазоне чисел или текста.

SELECT column1,column2
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

Все эти операторы можно комбинировать друг с другом.

Допустим, наша таблица выглядит так:

EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL COUNTRY SALARY
1 Timmy Jones timmy@gmail.com USA 2500.00
2 Kelly Smith ksmith@gmail.com UK 1300.00
3 Jim White jwhite@gmail.com UK 1200.76
4 José Luis Martìnez jmart@gmail.com Mexico 1275.87
5 Emilia Fischer emfis@gmail.com Germany 2365.90
6 Delphine Lavigne lavigned@gmail.com France 2108.00
7 Louis Meyer lmey@gmail.com Germany 2145.70

Если мы напишем такой запрос:

SELECT * FROM engineering
WHERE  employee_id BETWEEN 3 AND 7
        AND 
        country = 'Germany';

Мы получим следующий результат:

+------------+-----------+-----------+----------------+--------+--------+
|employee_id | first_name| last_name | email          |country |salary  |
+------------+-----------+-----------+----------------+--------+--------+
|5           |Emilia     |Fischer    |emfis@gmail.com | Germany| 2365.90|
|7           |Louis      |Meyer      |lmey@gmail.com  | Germany| 2145.70|
+------------+-----------+-----------+----------------+--------+--------+

Были выбраны все столбцы, где employee_id от 3 до 7, а страна проживания — Германия.

ORDER BY

Ключевое слово ORDER BY позволяет отсортировать выдачу по столбцам, указанным в SELECT.

Отсортированные результаты выводятся в порядке возрастания или убывания.

По умолчанию сортировка идет по возрастанию. Но мы можем указать желаемый порядок явно — при помощи команды ORDER BY column_name DESC | ASC .

SELECT employee_id, first_name, last_name,salary
FROM engineering
ORDER BY salary DESC;

В этом примере мы отсортировали зарплату сотрудников в команде engineering и представили вывод в порядке убывания числовых значений (DESC — от англ. descending — «нисходящий»).

GROUP BY

Ключевое слово GROUP BY в SQL позволяет комбинировать строки с идентичными и похожими данными.

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

SELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name;

Здесь COUNT(*) подсчитывает все строки и возвращает число строк в указанной таблице, группируя строки-дубликаты.

От редакции Techrocks: о COUNT и других агрегатных функциях можно почитать в статье «Агрегатные функции в SQL: объяснение с примерами запросов».

LIMIT

При помощи LIMIT можно указать максимальное число строк, которые должны попасть в результат.

Это бывает полезно при работе с большими наборами данных. Если данных много, запрос может обрабатываться слишком долго. Но когда будет достигнут лимит результатов, обработка прекратится.

Синтаксис:

SELECT column1,column2
FROM table_name
LIMIT number;

UPDATE

Ключевое слово UPDATE позволяет обновлять записи в таблице. В CRUD этой операции соответствует буква U.

Синтаксис:

UPDATE table_name 
SET column1 = value1, 
    column2 = value2 
WHERE condition;

В условии WHERE указывается запись, которую нужно отредактировать.

UPDATE engineering
SET    country = 'Spain'
WHERE   employee_id = 1

Прежде наша таблица выглядела так:

EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL COUNTRY SALARY
1 Timmy Jones timmy@gmail.com USA 2500.00
2 Kelly Smith ksmith@gmail.com UK 1300.00
3 Jim White jwhite@gmail.com UK 1200.76
4 José Luis Martìnez jmart@gmail.com Mexico 1275.87
5 Emilia Fischer emfis@gmail.com Germany 2365.90
6 Delphine Lavigne lavigned@gmail.com France 2108.00
7 Louis Meyer lmey@gmail.com Germany 2145.70

Теперь, после выполнения запроса, она выглядит так:

EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL COUNTRY SALARY
1 Timmy Jones timmy@gmail.com Spain 2500.00
2 Kelly Smith ksmith@gmail.com UK 1300.00
3 Jim White jwhite@gmail.com UK 1200.76
4 José Luis Martìnez jmart@gmail.com Mexico 1275.87
5 Emilia Fischer emfis@gmail.com Germany 2365.90
6 Delphine Lavigne lavigned@gmail.com France 2108.00
7 Louis Meyer lmey@gmail.com Germany 2145.70

Обновилась страна проживания сотрудника с id 1.

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

UPDATE table_name
SET table_name1.column_name1 = table_name2.column_name1
    table_name1.column_name2 = table_name2.column2
FROM table_name1
JOIN table_name2 
    ON table_name1.column_name = table_2.column_name;

DELETE

Ключевое слово DELETE служит для удаления записей из таблицы. В CRUD операция удаления представлена буквой D.

Синтаксис:

DELETE FROM table_name 
WHERE condition;

Пример с нашей таблицей:

DELETE FROM engineering
WHERE employee_id = 2;

При выполнении запроса будет удалена запись о сотруднике с id 2 из команды engineering.

DROP COLUMN

Чтобы удалить из таблицы столбец, можно воспользоваться следующим кодом:

ALTER TABLE table_name 
DROP COLUMN column_name;

DROP TABLE

Для удаления всей таблицы выполните следующий запрос:

DROP TABLE table_name;

Итоги

В этой статье мы пробежались по самым базовым запросам, с которых начинают все новички в SQL.

Мы научились создавать таблицы и строки, группировать и обновлять данные и, наконец, удалять их. Попутно мы также разобрали SQL-запросы в привязке к операциям CRUD.


Перевод статьи «Learn SQL Queries – Database Query Tutorial for Beginners».

От редакции Techrocks. Вам также могут быть интересны другие статьи по теме SQL:

  • Топ-30 вопросов по SQL на технических собеседованиях
  • ТОП-10 сайтов, на которых можно потренировать SQL-запросы
  • Порядок выполнения SQL-операций
  • Выражение CASE в SQL: объяснение на примерах

Понравилась статья? Поделить с друзьями:
  • Витамины для больных сахарным диабетом 2 типа инструкция по применению
  • Руководство по эксплуатации фольксваген туарег 3 поколения
  • Прага руководство по эксплуатации
  • Как поставить на автозапуск старлайн а91 на механике инструкция пошаговая
  • Вк50е 8 руководство по эксплуатации