Инициация планирования

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

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

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

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

Основными задачами шага являются:

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

Целью третьего шага является адаптация методологии планирования и создание руководства по методологии. Основными задачами шага являются:

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

Целью четвертого шага является наведение порядка с компьютерными ресурсами и оценка инструментария создания ЕА. Основными задачами шага являются:

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

Цель пятого шага — создание проектной команды. Основными задачами шага являются:

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

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

Предварительное бизнес-моделирование

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

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

Предварительная бизнес-модель идентифицирует функции, дает их описания и идентифицирует организационные единицы — исполнителей функций. По оценкам ряда экспертов этап требует 25-30% всех трудозатрат на моделирование, он осуществляется в три шага.

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

Основными задачами шага являются:

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

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

Основными задачами шага являются:

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

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

  • формирование отчетов по бизнес-модели;
  • распространение отчетов и проведение презентации;
  • сбор замечаний и предложений.

Формирование снимка предприятия

Этап включает в себя следующие три шага:

  • планирование, подготовка и проведение интервью;
  • построение бизнес-модели;
  • распространение и анализ бизнес-модели.

При планировании интервью осуществляется формирование списка интервьюируемых (с датами и временем проведения) и его согласование, распределение интервьюирующих по деятельностям и бизнес-процессам (функциональным направлениям), подготовка инструкции для конкретных участников (задачи и цели, кто, когда, где, какие вопросы и т. д.), а также, при необходимости, корректировка плана создания ЕА. Подготовка интервью включает разработку форм для управления процессом интервьюирования и фиксации результатов (прежде всего, для определения функций и информационных источников). Главной целью собственно интервьюирования является выявление необходимых данных по бизнес-модели.

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

Описание текущих систем и технологий

Целью этапа является документирование всех используемых на предприятии системных и технологических платформ, т. е. создание так называемого каталога информационных ресурсов IRC (Information Resource Catalog), по-другому — системной энциклопедии, являющейся высокоуровневым объектом, а не детальным словарем данных.

Целью первого шага является определение видов данных для IRC и проектирование форм для сбора данных.

Основные задачи шага включают:

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

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

  • сбор системной документации;
  • сопоставление приложений и бизнес-функций и формирование соответствующей матрицы;
  • сопоставление приложений и технологических платформ и формирование соответствующей матрицы;
  • ввод информации в инструментарий.

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

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

Формирование архитектуры данных

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

Этап содержит четыре шага:

  • формирование списка кандидатов в сущности (трудозатраты — 10%);
  • определение сущностей, атрибутов и отношений (трудозатраты — 60%);
  • сопоставление сущностей и бизнес-функций (трудозатраты — 20%);

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

Целью второго шага является создание стандартного определения и описания каждой сущности, обеспечение графической иллюстрации их взаимодействий. Здесь сущности определяются и документируются, осуществляется построение ER-модели, производится сопоставление файлов и БД из IRC с сущностями.

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

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

Формирование архитектуры приложений

На этом этапе определяются основные виды приложений, необходимых для управления данными и поддержки бизнес-функций. Архитектура приложений не является ни системным проектом, ни детальными требованиями к системам. Она только определяет, какие приложения будут управлять данными, и снабжает соответствующей информацией исполнителей бизнес-функций.

  • формирование списка кандидатов в приложения (трудозатраты — 10%);
  • определение приложений (трудозатраты — 50%);
  • сопоставление приложений и функций (трудозатраты — 15%);
  • анализ применимости существующих приложений (трудозатраты — 15%);
  • анализ результатов (трудозатраты — 10%).

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

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

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

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

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

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

Формирование технической архитектуры

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

Основными шагами этапа являются:

  • идентификация технических принципов и платформ (трудозатраты — 15%);
  • определение платформ и их распределение (трудозатраты — 50%);
  • сопоставление платформ с приложениями и бизнес-функциями (трудозатраты — 20%);
  • анализ результатов (трудозатраты — 15%).

Целью первого шага является формулирование общих принципов для технических платформ и идентификация потенциальных кандидатов в платформы.

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

Основными задачами шага являются:

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

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

На четвертом шаге производится подготовка, распространение и анализ отчета по технической архитектуре.

Разработка плана реализации

Этап включает следующие основные шаги:

  • формирование последовательности реализации приложений;
  • оценка трудозатрат и ресурсов, построение плана;
  • оценка стоимости и достоинств плана;
  • определение факторов успеха и рекомендаций по их достижению.

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

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

Остальные шаги этапа традиционны для задачи планирования и здесь не рассматриваются.

Заключительное планирование

На этом этапе осуществляется подготовка окончательного отчета по ЕА, подготовка и проведение презентации.

Переход к реализации

Основными шагами этапа являются:

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

Все эти шаги являются достаточно традиционными и не представляют интереса в рамках настоящей статьи.

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

Это частный случай проектирования программного обеспечения.

Чем занимается

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

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

Должностные задачи

Обязанности, которые выполняет системный архитектор, разноплановые и многогранные.

Архитектор осуществляет:

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

В обязанности также входит сама разработка проекта.

Среди обязательных пунктов:

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

Документация

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

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

Ответственность

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

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

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

Где необходимы

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

Обучение

Как стать системным архитектором? Для этого обязателен опыт работы в сфере программирования. На практике архитектор - это следующая ступень развития для ведущего/главного инженера, который не хочет расставаться с практической частью своей работы.

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

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

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

Заработная плата

Данная позиция - довольно редко встречается даже среди специалистов узкой сферы интернет-технологий. Исходя из этого, оплата труда начинается от 70 000 р. в регионах, а крупных городах, таких как Екатеринбург, Санкт-Петербург, Москва, стартует от 130 000 р.

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

  • Образование должно быть только высшим (ИТ или технического направления).
  • Знание современных методологий, ПО - обязательно.
  • Широкий кругозор и начитанность в сфере технологий, а также умение применять отдельные элементы к своей системе - необходимый навык.
  • Английский - как минимум Intermediate level, что позволяет читать документацию и инструкции к оборудованию на языке оригинала.
  • Опыт работы по специальности - от трех лет.

Стоит отметить, что даже для специалиста без опыта работы заработные платы в Москве - от 80 000 р.

Описание сотрудника

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

  • 30 - 40 лет - средний возраст сотрудника в должности архитектора. Таких работников - почти половина, 46%.
  • Высшее образования есть у 92%, а 75% всех сотрудников на данной должности имеют управленческий опыт и проходили дополнительное обучение.
  • Английский язык на уровне чтения документов и инструкций знает 52%, а свободно владеет на разговорном уровне - более 35%.

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

Основные понятия

Сущности - предметы или факты, информацию о которых необходимо хранить. Например, сотрудник фирмы или проекты, реализуемые предприятием. Атрибуты - составляющая, которая описывает или квалифицирует сущность. Например, атрибут сущности «работник» - заработная плата, а атрибут сущности «проект» - сметная стоимость. Связи - ассоциации между двумя элементами. Она может быть двунаправленная. Также существует рекурсивная связь, то есть связь сущности с самой собой.

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

Переход от ER-диаграммы к табличной модели

Правила перехода к табличной модели:

  1. Преобразовать все сущности в таблицы.
  2. Преобразовать все атрибуты в столбцы, то есть каждый атрибут сущности должен быть отображен в имени столбца таблицы.
  3. Уникальные идентификаторы преобразовать в первичные ключи.
  4. Все связи преобразовать во внешние ключи.
  5. Осуществить создание таблицы SQL.

Создание базы

Сначала неоходимо запустить сервер MySQL. Для его запуска следует зайти в меню "Пуск", затем в "Программы", далее в MySQL и MySQL Server, выбрать MySQL-Command-Line-Client.

Для создания базы данных применяется команда Create Database. Данная функция имеет следующий формат:

CREATE DATABASE название_базы_данных.

Ограничения на название базы следующие:

  • длина составляет до 64 знаков и может включать буквы, цифры, символы «» и "";
  • имя может начинаться с цифры, но в нем должны присутствовать буквы.

Нужно помнить и общее правило: любой запрос или команда заканчиваются разделителем (delimiter). В SQL принято в качестве разделителя использовать точку с запятой.

Серверу необходимо указать, с какой базой данных нужно будет работать. Для этого существует оператор USE. Этот оператор имеет простой синтаксис: USE название_базы_данных.

Создание таблицы SQL

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

SQL Server создания таблицы

Используя всего лишь одну команду DDL, можно создавать различные объекты базы, варьируя ее параметры. Для применяется команда Create Table. Формат tt выглядит следующим образом:

CREATE TADLE название_таблицы, (название_столбца1 название _столбца2 тип данных [ограничение_столбца],[ограничения_таблицы]).

Следует подробнее описать синтаксис указанной команды:

  • Название таблицы должно иметь длину до 30 символов и начинаться с буквы. Допустимы только символы алфавита, буквы, а также символы «_», «$» и «#». Разрешено использование кириллицы. Важно отметить, что имена таблиц не должны совпадать с именами других объектов и с зарезервированными словами сервера базы данных, таких как Column, Table, Index и т. д.
  • Для каждого столбца следует обязательно указать тип данных. Существует стандартный набор, используемый большинством. Например, Char, Varchar, Number, Date, тип Null и т. д.

  • С помощью параметра Default можно задать значение по умолчанию. Это гарантирует, что в таблице не будет неопределенных значений. Как это понимать? Значением по умолчанию может быть символ, выражение, функция. Важно помнить, что тип этих данных, заданных по умолчанию, должен совпадать с типом вводимых данных столбца.
  • Ограничения на каждый столбец используют для реализации обеспечения условий целостности для данных на уровне таблицы. Есть и еще нюансы. Запрещено удалять таблицу, если есть зависимые от нее другие таблицы.

Как работать с базой

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

  • SHOW DATABASES - показывает на экране все созданные базы данных SQL;
  • SHOW TABLES - выводит список всех таблиц для текущей базы данных, которые выбираются командой USE;
  • DESCRIBE название_таблицы - показывает описание всех столбцов таблицы.
  • ALTER TABLE - позволяет изменять структуру таблицы.

Последняя команда позволяет:

  • добавить в таблицу столбец или ограничение;
  • изменить существующий столбец;
  • удалить столбец или столбцы;
  • удалить ограничения целостности.

Синтаксис этой команды выглядит так: ALTER TABLE название_таблицы { | | | | [{ENABLE | DISABLE} CONSTANT имя_ограничения ] | }.

Существуют и другие команды:

  • RENAME - переименование таблицы.
  • TRUNCATE TABLE -удаляет все строки из таблицы. Эта функция может быть нужна, когда необходимо заполнить таблицу заново, а хранить предыдущие данные нет необходимости.

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

Синтаксис команды довольно простой: DROP TABLE название _таблицы.

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

С помощью CREATE TABLE можно создать пустую таблицу и в дальнейшем заполнить ее данными. Но это еще не все. Также можно сразу создавать таблицу из другой таблицы. Как это? То есть существует возможность определить таблицу и заполнить ее данными другой таблицы. Для этого существует специальное ключевое слово AS.

Синтаксис очень простой:

  • CREATE TABLE название _таблицы [(определение_столбцов )] AS подзапрос;
  • определение_столбцов - имена столбцов, правила целостности для столбцов вновь создаваемой таблицы и значения по умолчанию;
  • подзапрос - возвращает такие строки, которые нужно добавить в новую таблицу.

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

Временные таблицы

Временные таблицы - это таблицы, данные в которых стираются в конце каждого сеанса или раньше. Они используются для записи промежуточных значений или результатов. Их можно применять в качестве рабочих таблиц. Определять временные можно в любом сеансе, а пользоваться их данными можно только в текущем сеансе. Создание временных таблиц SQL происходит аналогично обычным, с использованием команды CREATE TABLE. Для того чтобы показать системе, что таблица временная, нужно использовать параметр GLOBAL TEMPORARY.

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

  • DELETE ROWS -очистить временную таблицу (удалить все данные сеанса) после каждого завершения транзакции. Обычно это значение используется по умолчанию.
  • PRESERVE ROWS -оставить данные для использования их в следующей транзакции. Помимо этого, можно очистить таблицу только после завершения сеанса. Но есть особенности. Если произошел откат транзакции (ROLLBACK), таблица будет возвращена к состоянию на конец предыдущей транзакции.

Синтаксис создания временной таблицы может быть представлен таким образом: CREATE TABLE название _таблицы, (название _столбца1 тип данных [ограничение_столбца], название _столбца2 тип данных [ограничение_столбца], [ограничения_таблицы]).

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

Что Вам потребуется?

SQL (Structured Query Language) язык специально разработанный для взаимодействия с системами управления баз данных, таких как MySQL, Oracle, Sqlite и прочие... Для выполнения SQL запросов в этой статье я советую Вам установить MySQL на локальный компьютер. Также я рекомендую использовать phpMyAdmin в качестве визуального интерфейса.

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

В денвере есть встроенная MySQL консоль. Ей мы и будем пользоваться.

CREATE DATABASE: создание базы данных

Вот и наш первый запрос. Мы создадим нашу первую БД для дальнейшей работы.

Для начала, откройте MySQL консоль и залогиньтесь. Для WAMP пароль по умолчанию пустой. То есть ничего:). Для MAMP - "root". Для Денвера необходимо уточнить.

После логина введите следующую строку и нажмите Enter:

CREATE DATABASE my_first_db;

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

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

Опци онально: Character Set и Collation

Если Вы хотите установить character set (набор символов ) и collation (сравнение ) можно написать следующую команду:

CREATE DATABASE my_first_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Находится список наборов символов, которые поддерживаются в MySQL.

SHOW DATABASES: выводит список всех БД

Эта команда используется для вывода всех имеющихся БД.

DROP DATABASE: удаление БД

Вы можете удалить существующую БД с помощью этого запроса.

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

USE: Выбор БД

Технически это не запрос, а оператор и он не требует точки с запятой в конце.

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

Что же такое таблица в БД?

Вы можете представить таблицу в БД в виде Excel файла.

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

CREATE TABLE: Создание таблицы

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

Следующий запрос создаст таблицу с 2-мя колонками.

CREATE TABLE users (username VARCHAR(20), create_date DATE);

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

Первая строка простая. Мы просто создаем таблицу с названием "users ". Далее в скобках, через запятую, идет список всех колонок. После каждого названия колонки у нас идут типы информации, такие как VARCHAR или DATE.

VARCHAR(20) означает, что колонка имеет тип строки и может быть максимум 20 символов в длину. DATE также тип информации, который используется для хранения дат в таком формате: "ГГГГ - ММ-ДД ".

PRIMARY KEY ( первичный клю ч)

Перед тем как мы выполним следующий запрос, мы также должны включить колонку для "user_id ", которая будет нашим первичным ключом. Вы можете воспринимать PRIMARY KEY как информацию, которая используется для идентифицирования каждого ряда таблицы.

CREATE TABLE users (user_id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(20), create_date DATE);

INT делает 32 битный целый тип (например, числа). AUTO_INCREMENT автоматически генерирует новое значение ID каждый раз, когда мы добавляем новые ряды информации. Это не обязательно, но делает весь процесс проще.

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

Давайте выполним запрос:

SHOW TABLES: показать все таблицы

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

EXPLAIN: Показать структуру таблиц

Для показа структуры существующей таблицы Вы можете пользоваться этим запросом.

Колонки отображаются со всеми свойствами.

DROP TABLE: удалить таблицу

Также как и DROP DATABASES, этот запрос удаляет таблицу и ее содержание без предупреждения.

ALTER TABLE: изменить таблицу

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

(если Вы удалили таблицу в прошлом шаге, создайте ее снова для тестов)

ДОБАВЛЕНИЕ КОЛОНКИ

ALTER TABLE users ADD email VARCHAR(100) AFTER username;

Благодаря хорошей читабельности SQL, я думаю, что нет смысла ее подробно объяснять. Мы добавляем новую колонку "email " после "username ".

УДАЛЕНИЕ КОЛОНКИ

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

Восстановите только что удаленную колонку для дальнейших экспериментов.

ВНЕСЕНИЕ ИЗМЕНЕНИЯ В КОЛОНКУ

Иногда Вы можете захотеть внести изменения в свойства колонки, и Вам не надо ее полностью удалять для этого.

Этот запрос переименовал колонку пользователь в "user_name " и изменил ее тип с VARCHAR(20) на VARCHAR(30). Такое изменение не должны изменить данные в таблице.

INSERT: Добавление информации в таблицу

Давайте добавим некоторую информацию в таблицу используя следующий запрос.

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

Заметьте, что первое значение NULL для поля PRIMARY KEY под названием "user_id ". Мы делаем это для того, чтобы ID было сгенерировано автоматически, так как колонка имеет свойство AUTO_INCREMENT. Когда информация добавляется первый раз ID будет 1. Следующий ряд - 2, и так далее...

АЛЬТЕРНАТИВНЫЙ ВАРИАНТ

Есть еще один вариант запроса для добавления рядов.

В этот раз мы используем ключевое слово SET вместо VALUES, и у него нет скобок. Есть несколько нюансов:

Колонку можно пропустить. К примеру, мы не присвоили значение для "user_id ", которое по умолчанию получит свое AUTO_INCREMENT значение. Если Вы пропустите колонку с типом VARCHAR, тогда будет добавлено пустая строка.

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

АЛЬТЕРНАТИВНЫЙ ВАРИАНТ 2

Вот еще вариант.

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

LAST_INSERT_ID()

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

NOW()

Теперь настало время показать, как Вы можете использовать функцию MySQL в запросах.

Функция NOW() выводит текущую дату. Так что Вы можете использовать ее для автоматического установления даты колонки на текущую при вставке нового ряда.

Заметьте, что мы получили 1 предупреждение, но не обращайте на него внимания. Причина этому то, что NOW() также служит для вывода временной информации.

SELECT: Чтение данных из таблицы

Если мы добавляем информацию в таблицу значит логично было бы научиться ее оттуда считывать. Именно в этом нам и поможет запрос SELECT.

Ниже представлен самый простой возможный запрос SELECT для чтения таблицы.

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

Условие WHERE

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

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

Заметьте, что для равенства использоваться один знак равно (=), а не два, как в программировании.

Вы можете также использовать сравнения.

AND или OR могут быть использованы для объединения условий:

Заметьте, что числовые значения не должны находиться в кавычках.

IN()

Это полезно для выборки по нескольким значениям

LIKE

Позволяет делать "wildcard" запросы

Значок % используется в качестве "wildcard". То есть на его месте может быть что-угодно.

Условие ORDER BY

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

Порядок по умолчанию ASC (от меньшегок большему). Для обратного используется DESC.

LIMIT ... OFFSET ...

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

LIMIT 2 берет только 2 первых результата. LIMIT 1 OFFSET 2 получает 1 результат после первых 2-х. LIMIT 2, 1 означает тоже самое (только обратите внимание сначала идет offset а потом limit ).

UPDATE: Внести изменения в информацию в таблице

Этот запрос используется для изменения информации в таблице.

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

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

DELETE: Удаление информации из таблицы

Также как и UPDATE, этот запрос используется с WHERE:

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

DELETE FROM users;

Но лучше использовать TRUNCATE

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

Отключение Строчных Значений и Специальных Слов

Строчные значения

Некоторые символы необходимо отключать (escape), или же могут быть проблемы.

Для этого используется задний слеш (\).

Специальные слова

Поскольку в MySQL есть много специальных слов (SELECT или UPDATE), чтобы избежать ошибок при их использовании необходимо использовать кавычки. Но не обычные кавычки, а вот такие (`).

То есть Вам необходимо будет добавить колонку с именем " delete", это необходимо сделать так:

Заключение

Спасибо, что дочитали до конца. Надеюсь, Вам эта статья была полезна. Это еще не конец! Будет продолжение:).

Вопрос: Запрос - получить список таблиц и индексов и их тип сжатия


Всем привет!

Помогите, пож-та, нужен скрипт, который выводит список таблиц базы и их тип сжатия - none, page, row.
Если можно, также и по индексам.

Ответ: Премного благодарен!

Вопрос: Создать SQL-запрос, добавляющий в таблицу новую запись


1.Создать SQL-запрос, добавляющий в таблицу, содержащую сведения о пассажирском транспорте, новую запись: Гос номер – ВВ148В, Марка – Volkswagen, Вместимость – 20
написала так-
INSERT INTO Пассажирский транспорт(Гос номер, Марка, Вместимость,) VALUES (ВВ148В, "Volkswagen", 20)
ошибка
Неправильный синтаксис около конструкции "транспорт".

2.Создать SQL-запрос, увеличивающий цену бензина АИ92 и АИ95 на 2%

Ответ:

Сообщение от iap

Символ подчёркивания уже и не симовл вовсе? Равен пробелу что ли?

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

Вопрос: MS SQL 2014 получить список полей таблицы с их описанием?


Подскажите откуда можно вытащить список полей с их описанием?
Описание добавляется таким скриптом:
EXEC sys. sp_addextendedproperty @name =N"MS_Description" , @value=N"Тип документов ГК" , @level0type=N"SCHEMA" , @level0name=N"dbo" , @level1type=N"TABLE" , @level1name=N"Fct_0008" , @level2type=N"COLUMN" , @level2name=N"IdNci_0063"
Как его можно получить в запросе рядом с именем поля таблицы?
Все эти запросы:
SELECT * FROM INFORMATION_SCHEMA. COLUMNS WHERE TABLE_NAME = "Fct_0008" SELECT * FROM [ sys].[ columns ] WHERE OBJECT_ID = OBJECT_ID ("Fct_0008" ) SELECT * FROM [ sys].[ all_columns] WHERE OBJECT_ID = OBJECT_ID ("Fct_0008" )
Не дают желаемого результата, в них нет описания. Подскажите как получить описание?

Ответ:

:P

Вопрос: Получить список таблиц, полей и описание полей базы данных


Добрый день!

Подскажите как можно получить список таблиц, полей и описание полей базы данных?

Ответ: я тоже прошла через несколько вариантов архивариуса-самописки
--в версии 97 года архивариус был нормальный, хорошо экспортировалчя и в ворд и ексель
--с 2000 --начались фокусы(например обрезались тексты запросов до 254 символа)
--сформировала отчет по форме --все свойства.... получилось очень длинно
...потом еще несколько вариантов, мало отличающихся

Определилась со списком полей для компактной справки по всем объектам

Name Type size Description RowSource
Код 4 4
Документ 4 4 Документ SELECT .[Код], .[Документ], .[Примечания] FROM Docum ORDER BY [Документ];
НомерДок 4 4
ДатаДок 8 8
ЦельУсл 4 4 Цель Услуги SELECT .[код], .[Вид], .[Примечания] FROM CelUsl ORDER BY [Вид];
Заявка 4 4
Накладная 4 4
Откуда 4 4
Куда 4 4 SELECT .[Код], .[Наименование] FROM Bases;
ДатаПР 8 8 дата прибытия
Судно 4 4 SELECT .[Код], .[ИмяНомер], .[Примечания] FROM Ships ORDER BY [ИмяНомер];
АВТО 4 4 SELECT .[Код], .[МаркаНомер], .[Примечания] FROM ATS;
Прицеп 1 1
Сотрудник 10 243 SELECT [Водитель].[ФамИО] FROM Водитель;
Кладовщик 10 243 SELECT [Кладовщик].[ФамИО] FROM Кладовщик;
Согласовано 10 243 SELECT [Согласован].[ФамИО] FROM Согласован;
ДатаВвоз 8 8
ОхрВвоз 10 243
ДатаВывоз 8 8
ОхрВывоз 10 243 SELECT [Охрана].[ФамИО] FROM Охрана;
ТМЦ 10 255
Тара 4 4 SELECT .[Код], .[Вид], .[Примечания] FROM Pack;
Кол 4 4
Брутто 6 4
Примечания 10 255
ДобавиитьТМЦ 1 1
для форм /отчетов --тип контрола, текст на кнопке/надписи, источник данных для полей
+тексты модулей

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

Вопрос: SQL запрос для трех таблиц. Пните в нужном направлении!


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

Ответ: Ничего себе! Чувствую себя нубом. Вот чего добился я. Выводит количество повторений петов в каждом полу:

Код SQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 SELECT ss. NamePet , ss. Sex , ss. koll FROM ( SELECT f. NamePet , t. Pet_ID , r. Sex , COUNT (* ) OVER (PARTITION BY t. pet_id, r. sex) AS koll FROM conformity t , People r , Pets f WHERE t. People_ID = r. ID AND f. ID = t. Pet_ID ) ss GROUP BY ss. NamePet , ss. Sex , ss. koll

Вопрос: SQL запрос сохранять в таблице


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

подготавливаю строку запроса к сохранению так
$query = mysql_real_escape_string ($query);

После извлечения так

$schemequery = stripslashes ($data[ "schemequery" ]);

Ответ:

Не совсем понял. У меня есть редактор составлений некоторых условий и пользовательских полей различающийся с SQL запросом. На основе этих полей и условий строится запрос. Эти поля и условия хранятся в этой же талице, а так как условия эти проверятся должны очень часто, для того что бы каждый раз не конструировать запрос я и сохранил их в таблицу уже сформированными. А при выполнении этих запросов подставляется только массив значений в IN (%s).

согласен, тогда забудьте что я написал.

Вопрос: Замена данных в базе, dle_post через sql запрос


Здравствуйте, в phpmyadmin через sql запрос нужно заменить в базе данных (dle_post - xfields - kp_ssilka) все значения, кроме цифр на пустоту, или просто удалить.
Вообще оставить просто цифры. CREATE TABLE emoployee_atpt ( EmpId INTEGER , EmpStart DATE , EmpEnd DATE , EmpDept VARCHAR (30 ) , PERIOD FOR EmpPeriod (EmpStart, EmpEnd) , ) ;

Ругается на строку "PERIOD FOR EmpPeriod (EmpStart, EmpEnd),". Помогите разобраться почему.

Ответ: B SQL Jet или SQL-92, с которыми непосредственно работает Аксесс, этого нет. Присоединяйте таблицы MS SQL (версия>=2016, вроде бы... .), и выполняйте такие запросы на сервере .