УП 01. Базы данных
Язык SQL
- План:
- 1. Введение
- 2. SQL
- 3. Функции языка SQL
- 4. Стандарты SQL
- 5. SQL в компьютерной сети
- 6. Элементы языка SQL
7. Ключевые слова. Имена. Константы
8. Типы данных. Выражения.
9. Встроенные функции
10. Чтение данных.
11. Оператор Select. Предложение Select
Введение
Большинство современных СУБД построено на реляционной модели данных. Для получения информации из отношений (таблиц) базы данных в качестве языка манипулирования данными в теоретическом плане используется язык SQL
- SQL – структурированный язык запросов, предназначенный для работы с БД реляционного типа.
- SQL является интерактивным языком запросов, который обеспечивает пользователю быстрый доступ к данным.
- SQL является также языком программирования баз данных. Программисты могут вставить SQL-запросы в свои программы, чтобы получить доступ к базам данных
- SQL – язык распределения базы данных, служит для распределения данных взаимодействующих систем, для распределенной обработки баз данных
Функции языка SQL:
- Организация данных – создание и изменение структуры баз данных
- Чтение данных
- Обработка данных – удаление, добавление и корректировка данных
- Управление доступа к данным – предоставление привилегий (ограничение возможностей) пользователю для чтения и изменения данных
- Совместное использование данных- координация общего пользования данных многими пользователями
- Целостность данных – защита данных от разрушения при сбое системы или других обстоятельствах
Стандарты SQL
Разработка SQL началась в 1982 году Американским институтом национальных стандартов ANSI (American National Standards Institute). В 1986 SQL был официально утвержден как стандарт ANSI, ф в 1987 году – в качестве стандарта ISO (International Standards Organization) – международной организации по стандартизации.
SQL в компьютерной сети
Сервер базы данных выполняет SQL – запрос и возвращает пользователю только ту информацию из базы данных, которая соответствует этому SQL — запросу
Элементы языка SQL
- Ключевые слова
- Имена
- Константы
- Типы данных
- Встроенные функции
- выражения
Ключевые слова. Имена. Константы
- Ключевые слова – это фиксированный набор английских слов, которые определяют тип запроса и необходимую информацию для выполнения этого запроса
- Имена используются для обозначения (присвоения имени) таблиц, столбцов в таблице, а также владельцев таблиц (баз данных)
- Константы служат для явного указания величин – чисел, строк, дату и время – в командах SQL
Типы данных. Выражения.
Типы данных служат для представления информации в базах данных. В SQL определен набор типов данных (char, varchar , integer, smallint…)
Выражения в SQL представляют собой имена, константы, встроенные функции, связанные между собой знаками арифметических операций. В сложных выражениях для изменения порядка вычислений применяются круглые скобки.
- Встроенные функции в основном предназначены для преобразования типов данных и для обработки строк
- Некоторые встроенные функции
- Current_date()- возвращает текущую дату
- Current_time (точность) — возвращает текущее время
- Char_length (строка) – возвращает длину строки
Extract – возвращает значение части day, hour и т.д. даты
- Lower (строка) — возвращает строку, преобразованную к нижнему регистру
- Upper (строка) — возвращает строку, преобразованную к верхнему регистру
- Month (дата) – возвращает значение месяца из указанной даты в виде целого числа
- Year (дата) – возвращает значение года из указанной даты в виде целого числа
Чтение данных. Оператор Select. Предложение Select
Оператор Select читает данные из базы данных и возвращает их в виде таблицы результата запроса
Предложение Select , с которого начинается оператор Select, содержит элементы данных, которые будут возвращены в виде результирующей таблицы. Указанные в предложении Select элементы данных будут составлять столбцы возвращаемой таблицы. В качестве возвращаемых столбцов могут быть указаны:
- Имя столбца некоторой таблицы базы данных;
- Константа, которая будет содержаться в соответствующем столбце возвращаемой таблицы
- Выражение, которое будет вычисляться для каждой строки возвращаемой таблицы, и помещаться в соответствующем столбце этой таблицы
Предложение FROM
Предложение FROM начинается с ключевого слова FROM , за которым следует в простом случае список спецификаций таблиц, разделенных запятыми. В общем случае за ключевым словом FROM указывается операция соединения ( JOIN ) исходных таблиц .
Спецификатор таблицы определяет таблицу, из которой запрашиваются исходные данные для формирования возвращаемой таблицы. Спецификатор таблицы представляет собой либо имя исходной таблицы, либо имя исходной таблицы вместе с псевдонимом, указываемым после имени через пробел. Синтаксическая диаграмма спецификатора таблицы следующая (рис 1).
- Рис 1 Синтаксическая диаграмма спецификатора
- таблицы.
- Псевдоним может быть может быть использован в следующих предложениях оператора SELECT вместо имени.
- Примеры
- FROM salespeople
- SELECT Sname, salespeople. City, Customers.*
From Salespeople S, Customers
- Предложение FROM
- Операция соединения определена в стандарте SQL2 и имеет следующую синтаксическую диаграмму (рис 2).
- Рис 2 Синтаксическая диаграмма
- операции соединения
Операция CROSS JOIN дает декартово произведение двух таблиц, UNION JOIN дает сложение двух таблиц.
Ключевое слово INNER задает внутреннее объединение (по умолчанию), OUTER – внешнее объединение (левое, правое и полное) ; NATURAL – естественное объединение (равенство значений в одноименных столбцах, при этом предложения ON и USING не обязательны).
Предложение WHERE
Предложение WHERE осуществляется отбор нужных строк из таблицы, получаемой в предложении FROM. Отбор строк производится в соответствии с условием поиска, которое указывается в предложении за ключевым словом WHERE. Условие поиска представляет собой выражение, которое вычисляется для каждой строки возвращаемой таблицы.
При вычислении выражения данные соответствующей строки берутся из столбцов, указанных в выражении. Для каждой проверяемой строки условие поиска может иметь одно из трех значений – TRUE, FALSE и NULL. Отбираются только те строки, для которой условие поиска имеют значение TRUE.
Условие поиска имеет следующую синтаксическую диаграмму (рис 3).
Рис 3 Синтаксическая диаграмма условии поиска
Из диаграммы видно, что условие поиска состоит из простых условий объединенных с помощью логических операций NOT, AND и OR .
- Предложение WHERE
- В следующей таблице приведены результаты логических операций над значениями TRUE, FALSE и NULL.
- В SQL существует пять простых условий поиска:
- Сравнение;
- Проверка на принадлежность диапазону;
- Проверка на принадлежность множеству;
- Проверка на соответствие шаблону;
- Проверка на равенство значению NULL.
Предложение WHERE
Сравнение. При сравнении вычисляются и сравниваются значения двух выражений. Существует шесть операций сравнения, которые показаны на следующей синтаксической диаграмме (рис 4)
- Рис 4 Синтаксическая диаграмма операций сравнения
- Результатом сравнения будет значения TRUE , если значения выражений сравниваются и
- FALSE – если не сравниваются. В случае, если значение хотя бы одного выражения будет NULL,
- то результат сравнения будет NULL.
=B ) AND (A где А – проверяемое выражение, а В и С – соответственно нижнее и верхнее границы диапазона. » width=»640″
- Предложение WHERE
- Проверка на принадлежность диапазону. Данная проверка определяет находится или нет значение проверяемого выражения в диапазоне, указанном за ключевым словом BETWEEN , как показано на следующей диаграмме (рис 5)
- Рис 5 Синтаксическая диаграмма проверки
- на принадлежность диапазону
- Проверка на принадлежность диапазону эквивалента следующему логическому выражению
- ( A=B ) AND (A где А – проверяемое выражение, а В и С – соответственно нижнее и верхнее границы диапазона.
- Предложение WHERE
- Проверка на принадлежность множеству. Данной проверке соответствует следующая синтаксическая диаграмма (рис 6)
- Рис 6 Синтаксическая диаграмма проверки
- на принадлежность множеству
- Проверка на принадлежность множеству определяет, равняется или нет значение проверяемого выражения одному из констант, указанных за ключевым словом IN . Проверка на принадлежность множеству эквивалентна следующему условию поиска сравнение
(А=С1) OR (A=C2)..(A=Cn) , где А – проверяемое выражение, а С i – константы.
Предложение WHERE
Проверка на соответствие шаблону. Данная проверка выполняется над текстовыми данными. Данной проверке соответствует следующая синтаксическая диаграмма (рис 7)
- Рис 7 Синтаксическая диаграмма проверки
- на соответствие шаблону
- С помощью этой проверки отбираются те строки, в которых данные, соответствующие заданному столбцу, отвечают некоторому шаблону, следующему в предложении за ключевым словом
Источник: https://videouroki.net/razrabotki/osnovy-iazyka-sql.html
Что такое СУБД
Представление о базах данных (БД) с пользовательской и системной точек зрения различны. Для пользователя БД – это таблица с нужной ему информацией на мониторе или листке бумаги. С администраторской(системной) БД — набор файлов, внутри которых реализованы таблицы и связи, к которым нужно обеспечить доступ пользователю.
Современная технология организации доступа к данным централизованная. В ее основе лежит взаимодействия клиентов и сервера. Клиенты – это компьютеры пользователей, которым нужно получить доступ к данным. Сервер БД – высокопроизводительный компьютер, обеспечивающий одновременный доступ к данным тысяч пользователей.
Поскольку и именно сервер предоставляет данные, клиенты должны запрашивать их. Клиент посылает запрос SQL серверу. Сервер обрабатывает запрос и возвращает клиенту запрошенные им данные. Запрос реализуется на специальном языке, который одинокого понятен пользователю и серверу. Этот язык SQL.
Сервера различаются тем:
- Как они предоставляют доступ;
- Как хранят данные;
- Как предоставляют данные пользователю.
Для каждой из этих целей служит отдельный программный компонент:
- Предоставление доступа и визуализация БД – прикладные программы;
- Предоставление данных – интерфейс;
- Хранение данных – программы взаимодействия с файловой системой;
Для взаимодействия этих программных компонентов существует еще один, которые объединяет их в систему, он называется Системой Управления Базами Данных (СУБД).
Зачем нужна СУБД
СУБД – это программная прослойка между пользователем и сервером. Поэтому она позволяет абстрагировать пользователя от системного видения БД, а системе предоставляет способ взаимодействовать с пользователем.
СУБД должна обеспечивать:
- извлечения данных с диска, сохранение данных на диск;
- работу с данными в оперативной памяти сервера;
- запись истории изменения БД (журналирование);
- поддерживать запросы пользователя для определения и манипулирования данными на языке SQL.
В зависимости от различия в реализации этих компонентов различаются и СУБД.
Виды СУБД
Базы данных различаются между собой тем, как внутри них связаны данные. Соответственно различаются и СУБД, которые эти БД поддерживают. Внутренние связи данных внутри БД называются моделями данных.
По поддержке баз данных различных моделей данных СУБД различаются на:
- Иерархические;
- Сетевые;
- Реляционные;
- Объектно-ориентированные;
- Объектно-реляционные.
Иерархические БД – это деревья данных, где каждый вышерасположенный объект имеет в подчинении несколько нижерасположенных. Доступ к данным осуществляется посредством движения по объектам сверху-вниз.
Сетевые отличаются от иерархических тем. Что каждый потомок в них может иметь несколько предков (множественное наследование).
Реляционные – безусловный лидер среди СУБД (93% всего рынка). Основаны на поддержке реляционных БД, то есть наборов таблиц и их отношений с возможность изменения обеих.
- Объектно-ориентированные (ООСУБД) управляют абстрактными объектами, которые наделены свойствами и наделены методами для выполнения действий.
- Объектно-реляционные (ОРСУБД) – реляционные СУБД, поддерживающие обьекты свойства и методы из объектно-ориентированной СУБД.
- По способу доступа к БД:
- Файл серверные.
- Клиент-серверные;
- Встраиваемые.
В файл серверных базы данных располагаются на сервере, а СУБД на клиенте. В клиент – серверных базы данных и СУБД располагаются на сервере. Встраиваемые – мини СУБД, обычно встроенные внутри приложения.
По степени распределённой данных:
- Локальные: клиент и сервер – один компьютер;
- Распределенные – клиент и сервер разные компьютеры.
Какую СУБД мы изучаем
В основу курса положена работа с СУБД от компании Microsoft – SQL Server. Это реляционная распределенная клиент-серверная СУБД. Все запросы в последующих главах написаны на диалекте языка SQL – Transact SQL.
Эта СУБД выбрана из -за ее популярности на системах на базе операционных систем Windows.
Следующий раздел посвящен тому. Что нужно для работы с этой СУБД. Откуда это взять. Как установить, настроить и приступить к работе.
Установка и настройка MS SQL Server и MS SQL Server Management Studio
Этот раздел посвящен вопросам установки, настройки и запуска СУБД MS SQL Server – для реализации сервера и установки, и настройки MS Server Management Studio – для реализации запросов на языке Transact SQL серверу.
Установка обоих компонентов будет производится на один компьютер. И несмотря на то, что SQL Server распределенная СУБД, выполнение запросов и их написание будет производится на одном и том же компьютере.
Установка ПО для работы
В данном разделе рассказывается как установить и настроить SQL Server на примере SQL Server 2016 Enterprise – самой новой версии.
Для начала скачайте установочный пакет SQL Server 2016 Enterprise с официальной страницы: https://www.microsoft.com/en-us/sql-server/sql-server-editions-express. Версия, которую вы скачали будет работать бесплатно в течении 180 дней.
Вместо нее можно использовать SQL Server 2016 Developer Edition, если у вас есть подписка MSDN. Станица для скачивания: https://www.microsoft.com/en-us/sql-server/sql-server-editions-developers.
Прежде чем запускать скаченный установщик, создайте учетную запись. Она потребуется чтобы авторизовываться вас на сервере с клиентского компьютера. Поскольку у вас это один и тот же компьютер, то авторизовываться будет SQL Server через Management Studio, его мы скачаем позже.
Создание учетной записи
Выполните следующие инструкции чтобы создать учетную запись в Windows. Способ работает во всех ОС этого семейства начиная с 2000 и заканчивая 10.
Инструкции:
- Кликните правой кнопкой мышки по значку «Мой компьютер» на рабочем столе и выберите из списка пункт «Управление». Откроется оснастка «Управление компьютером».
- В окне оснастке выберите пункт меню «локальные пользователи», затем выделите пункт «пользователи». Окно приобретёт вот такой вид:
- Кликните правой кнопкой мыши по пустому пространству папки или по названию папки и выберите пункт «новый пользователь». Откроется такое окно:
- Придумайте имя пользователя и пароль заполните их в формы и нажмите кнопку создать. Рекомендуем использовать латинские символы.
Установка SQL Server
- Запустите скачанный ранее пакет установки. Установщик проверит подходит ли ваш компьютер по производительности и есть ли на нем все необходимое для установки программное обеспечение. Если последнего не окажется, он его скачает. После этого откроется SQL Server Installation Server:
- Выберите пункт «Установка».
- После изменения экраны кликните на пункте «Новая установка изолированного экземпляра SQL Server». Запустится установка и установщик попытается обновиться до последней версии. Щелкните кнопку «Далее», чтобы перейти к следующему шагу:
- На этапе «правил установки» проследите чтобы в окне не было красных крестиков. Если они появились, то щелкайте по выделенным строкам предупреждений и следуйте инструкциям по устранениям. Затем, щелкните кнопку «Далее». Окно установки снова изменится:
- В появившемся окне выберите «Выполнить новую установку SQL Server 2016» и нажмите «Далее». Откроется окно регистрации продукта:
- Введите лицензионный ключ продукта, если он у вас есть. Либо выберите Evaluation для активации 180 дневной копии.
- В следующем окне прочтите лицензионное соглашение, и примите его, установив флажок в поле «Я принимаю…». И нажмите «Далее»
- Откроется окно компонентов. Выберите пункты, установив галочки напротив: • Службы ядра СУБД; • Соединение с клиентскими средствами; • Компоненты документации. Нажмите «Далее»
- В следующем окне выберите «экземпляр по умолчанию» если уже есть установленная копия SQL Server или именованный экземпляр, если устанавливаете первый раз. Введите в поле имя Экземпляра и нажмите «Далее».
- В следующем окне проверьте, хватает ли места на диске. Если нет, освободите его и нажмите «Далее».
- На этапе «Настройка Ядра СУБД» убедитесь, что выбрана строка «Проверка подлинности Windows». Если нет, выберите его. Затем добавьте в поле внизу пользователя, которого создавали перед установкой, либо добавьте текущего с помощью соответствующей кнопки Нажмите «Далее»
- На следующем окне перепроверьте все настройки установки и нажмите «далее»
- Понаблюдайте за установкой и нажмите «Закрыть», когда появится сообщение о завершении установки.
Установка и настройка MS SQL Server Management Studio
После того, как мы настроили сервер. Нужно настроить клиент. MS SQL Server Management Studio предоставляет удобный визуальный интерфейс для клиента и позволяет удобно разрабатывать и отправлять серверу запросы.
Установка его не сложнее плеера, поэтому останавливаться на этом не будем. Скачайте его с официального сайта Microsoft по одной из ссылок ниже.
И установите. Программа сама определит, где у вас сервер. Просто следуйте инструкциям.
Настройка и работа в Management Studio
- Найдите Management Studio в меню «ПУСК» и запустите.
- В открывшемся окне соединения с сервером выберите: В поле тип сервиса – Ядро СУБД В поле имя сервера – имя сервера, которое вы указали при установке Проверка подлинности – Проверка подлинности Windows
- Нажмите кнопку «соединить».
Management Studio подключится к SQL Server и откроется основное окно программы:
Настоятельно рекомендуем изучить элемент программы под названием обозреватель объектов. Он позволяет работать с всеми структурными элементами баз данных на сервере через интерфейс похожий на проводник Windows.
Создать новый запрос можно если кликнуть на кнопке «Создать запрос». Запрос будет создан для текущей таблицы, которая указана в выпадающем списке сверху, в данный момент master.
Если кликнуть по кнопке «создать запрос» несколько раз, то откроется несколько вкладок, как на скрине. Для каждого из них можно поменять текущую таблицу с помощью выпадающего списка.
Под полем редактора запросов располагается поле результатов. Там будут показываться результаты выполнения запроса:
Вот и все. Остальному можно научиться самостоятельно в процессе работы.
Источник: https://brainoteka.com/courses/ms-sql-dlya-nachinayushih/chto-takoe-subd
Язык SQL для работы с реляционными базами данных
SQL (обычно произносимый как «СИКВЭЛ» или “ЭСКЮЭЛЬ”) символизирует собой Структурированный Язык Запросов. Это — язык, который дает Вам возможность создавать и работать в реляционных базах данных, являющихся наборами связанной информации, сохраняемой в таблицах.
Информационное пространство становится более унифицированным. Это привело к необходимости создания стандартного языка, который мог бы использоваться в большом количестве различных видов компьютерных сред.
Стандартный язык позволит пользователям, знающим один набор команд, использовать их для создания, нахождения, изменения и передачи информации — независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ.
В нашем все более и более взаимосвязанном компьютерном мире, пользователь, снабженный таким языком, имеет огромное преимущество в использовании и обобщении информации из ряда источников с помощью большого количества способов.
Элегантность и независимость от специфики компьютерных технологий, а также его поддержка лидерами промышленности в области технологии реляционных баз данных, сделало SQL (и, вероятно, в течение обозримого будущего оставит его) основным стандартным языком. По этой причине, любой, кто хочет работать с базами данных 90-х годов, должен знать SQL.
Стандарт SQL определяетсяANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (Международной Организацией по Стандартизации).
Однако, большинство коммерческих программ баз данных расширяют SQL без уведомления ANSI, добавляя различные особенности в этот язык, которые, как они считают, будут весьма полезны.
Иногда они несколько нарушают стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и вскоре становиться стандартами «рынка» сами по себе в силу полезности своих качеств.
На данном уроке мы будем, в основном, следовать стандарту ANSI, но одновременно иногда будет показывать и некоторые наиболее общие отклонения от его стандарта.
Точное описание особенностей языка приводится в документации на СУБД, которую Вы используете. SQL системы InterBase 4.0 соответствует стандарту ANSI-92 и частично стандарту ANSI-III.
Язык SQL предназначен для манипулирования данными в реляционных базах данных, определения структуры баз данных и для управления правами доступа к данным в многопользовательской среде.
Поэтому, в язык SQL в качестве составных частей входят:
- язык манипулирования данными (Data Manipulation Language, DML)
- язык определения данных (Data Definition Language, DDL)
- язык управления данными (Data Control Language, DCL).
Подчеркнем, что это не отдельные языки, а различные команды одного языка. Такое деление проведено только лишь с точки зрения различного функционального назначения этих команд.
- Язык манипулирования данными используется, как это следует из его названия, для манипулирования данными в таблицах баз данных. Он состоит из 4 основных команд:
- SELECT (выбрать)
- INSERT (вставить)
- UPDATE (обновить)
- DELETE (удалить).
- Язык определения данных используется для создания и изменения структуры базы данных и ее составных частей — таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и сохраненных процедур. Основными его командами являются:
- CREATE DATABASE (создать базу данных)
- CREATE TABLE(создать таблицу)
- CREATE VIEW(создать виртуальную таблицу)
- CREATE INDEX(создать индекс)
- CREATE TRIGGER(создать триггер)
- CREATE PROCEDURE(создать сохраненную процедуру)
- ALTER DATABASE(модифицировать базу данных)
- ALTER TABLE(модифицировать таблицу)
- ALTER VIEW(модифицировать виртуальную таблицу)
- ALTER INDEX(модифицировать индекс)
- ALTER TRIGGER(модифицировать триггер)
- ALTER PROCEDURE(модифицировать сохраненную процедуру)
- DROP DATABASE(удалить базу данных)
- DROP TABLE(удалить таблицу)
- DROP VIEW(удалить виртуальную таблицу)
- DROP INDEX(удалить индекс)
- DROP TRIGGER(удалить триггер)
- DROP PROCEDURE(удалить сохраненную процедуру).
Язык управления данными используется для управления правами доступа к данным и выполнением процедур в многопользовательской среде. Более точно его можно назвать “язык управления доступом”. Он состоит из двух основных команд:
- GRANT (дать права)
- REVOKE (забрать права).
- С точки зрения прикладного интерфейса существуют две разновидности команд SQL:
- интерактивный SQL
- встроенный SQL.
Интерактивный SQL используется в специальных утилитах (типа WISQL или DBD), позволяющих в интерактивном режиме вводить запросы с использованием команд SQL, посылать их для выполнения на сервер и получать результаты в предназначенном для этого окне. Встроенный SQL используется в прикладных программах, позволяя им посылать запросы к серверу и обрабатывать полученные результаты, в том числе комбинируя set-ориентированный и record-ориентированный подходы.
Источник: https://infopedia.su/14x4dd2.html
Базы данных
Системный архитектор, Oracle DBA, разработчик perl/python, опыт в отрасли — 20 летВ настоящее время работает на аутсорсе. Работал в интернет-провайдерах и телекоме. Имел опыт внедрения и разработки продуктов в госструктурах, таких как минздрав и соцфонд.
Был главным разработчиком стартап проекта Ipstudio AMBS (биллинг для VoIP). Участвовал в проектировании и разработке OLTP систем. Проектировал и развертывал серверные системы в датацентрах.Закончил Кыргызско-Российский Государственный Университет, 2001, Инженер автоматизированных систем.
Собственный технический блог на — dbadmins.ru
Руководитель программы
Кристина Кучерова
Сбербанк России
Тимлидархитектор БД в US-based startup Кремниевой долины.Ex-Архитектор модели данных в Сбербанке России.Окончила ЮРГПУ (НПИ) по специальности «Математическое обеспечение и администрирование информационных систем». С 2015 года — аспирант в Санкт-Петербургском политехническом университете им. Петра Великого. Работала в компании Comepay в качестве DB-тимлида и заместителя тех. директора по архитектуре. Принимала участие в реализации проекта Syncplicity (Distillery, USA), где занималась разработкой БД и оптимизацией производительности. Участник отраслевых конференций CMG Impact 2016 (San Diego, USA), Zabbix Conf 2017 (Рига, Латвия) и прочих. Есть опыт преподавания курса «Базы Данных» в Ростовском колледже связи и информатики. Считает, что очень важно учиться именно на кейсах из реального производства.
Преподаватель
Александр Румянцев
Postgres Professional
Database administrator в компании Postgres Professional. Большой опыт руководства отделами администраторов в Wikimart, Rambler и Ru-Center. В отрасли более 15 лет: из них 10 – в highload и более 5 лет на позиции руководителя
Преподаватель
Инженер-программист хранилища данных Комус, www.komus.orgРанее был архитектором, техническим руководителем проекта,ООО «РД Консалтинг», rdtex.ruЗанимался проектом «Отчет по операционной деятельности» для банка из российского ТОП-3 (ведущий разработчик), проект «Автоматизированная система налогового учета» для банка из российского ТОП-10 (технический руководитель проекта).Большой объем разработки под Oracle 11 (написание кода для построения витрин данных, вторичной обработки данных в DWH), написание регламентирующих документов, консультации для начинающих коллег, техническая поддержка стендов разработки, оценки трудозатрат, распределение актуальных задач, контроль графика выполнения, взаимодействие с заказчиком.Занимался разработкой и исправлением функционала корпоративного DWHOracle 11G, Pentaho Kettle, Business Objects, mySQL, Informix, Java, разработка веб-интерфейсов, Javascript, Visual Basic 6.0, SAP Hana, Delphi 7, интеграция с SAP HybrisЗанимался разработкой архитектуры ядра ИС, руководил группой реинжиниринга.Был главным архитектором отдела ФГУП НИИ Почтовой связи, www.niips.ru, где проектировал архитектуры и разрабатывал приложения для автоматизированных сортировочных центров Почты России. Разрабатывал инструментальные средства сбора информации для отчетности по KPI. Написание отчетов вручную и разработка инструментальных средств построения отчетности результатов работы отдела/предприятия. Взаимодействие с заказчиком. Организационная работа. Техническое руководство командой разработчиков — оценки трудозатрат, распределение актуальных задач, контроль графика выполнения, определение функционального состава новых версий, взаимодействие с заказчиком (Почта России). Разработка регламентов и нормативов деятельности отдела, должностных инструкций сотрудников.Инструментарий: Oracle 10, Delphi 6,.ODAC, BDE, Developer Express components, Toad, PL/SQL Developer, Enterprise Architect, Java 1.7, Borland StarTeam. Системный инженер в холдинге компаний RusLink. Опыт в отрасли более 10 лет. Работал как в частном секторе, так и в окологосударственном (Ростелеком). Участвовал в разработке и внедрении новых продуктов и сервисов. Есть опыт в руководстве отделом тех. поддержки и администрирования.Профессиональные навыки:- знание современных клиентских и серверных ОС;- установка и настройка различных СУБД (MS SQL, PostgreSQL, MySQL, MariaDB);- администрирование веб-серверов Apache, Nginx;- виртуализация и знание продуктов VMware, VirtualBox, Proxmox, Vagrant;- написание скриптов на Bash;- применение Ansible;- знание активного сетевого оборудования Mikrotik, D-Link и др.
Преподаватель
Автор курса «Архитектор высоких нагрузок».Учился в технопарке Mail.Ru. В 2013 году начал работать стажером в проекте «Почта» компании Mail.Ru. С 2015 года преподавал различные (в том числе и авторские) курсы в образовательных проектах Mail.Ru. С 2016 года занимал должность руководителя группы в Почте. В том же году получил диплом магистра по специальности «Программная инженерия» в МГТУ им. Н.Э. Баумана.С 2018 года начал работать в Ситимобил на должности руководителя группы. С апреля 2019 года был назначен руководителем направления серверной разработки. Занимается развитием технических навыков людей, поддержкой их мотивации, развитием отказоустойчивых архитектур, внедрением новых технологий в процесс разработки (golang, tarantool).Основные технические навыки:GolangCMySQLTarantoolHighload architectureLinux API Аналитик со стажем работы в крупных телекоммуникационных компаниях, таких как МТС, Ростелеком.Уверена, что посчитать и измерить можно все на свете — главное найти правильную шкалу и метрику.Обожает задавать себе и другим сложные провокационные вопросы и найти на них ответ в данных.
Преподаватель
Ведущий специалист в АО «Гринатом».Более 10 лет опыта профессиональной разработки.Основной стек: .NET / C#, Java, MS SQL Server.Full stack разработка систем для внутренних и внешних заказчиков (от анализа требований до реализации, эксплуатации и технической поддержки). Закончил в 2006 году Московский институт электронной техники (МИЭТ) по специальности «Вычислительные машины комплексы системы и сети».
Преподаватель
Источник: https://otus.ru/lessons/subd/
Основы языка SQL
В настоящее время SQL (англ. structured query language – язык структурированных запросов) является стандартным реляционным языком БД и поддерживается всеми распространенными реляционными и объектно- реляционными СУБД.
В 1970-х гг. в IBM для проверки возможностей практической реализации реляционной модели данных разрабатывалась экспериментальная СУБД System R. Для нее был создан язык SEQUEL (англ. Structured English QUEry Language). Язык получил достаточно широкую популярность и несколько позже, из-за существования зарегистрированной торговой марки SEQUEL, был переименован в SQL.
Поддержка языка SQL, независимо реализуемая в СУБД ряда производителей, привела к необходимости разработки стандартов этого языка.
Разработка спецификации SQL была начата Американским национальным институтом стандартов (ANSI) в 1982 г. Стандарт был принят ANSI в 1986 г. и в 1987 г.
одобрен Международной организацией по стандартизации (ISO). Эта версия стандарта SQL обычно обозначается как SQL–86.
Следующая версия выпущена в 1989 г. (SQL–89). В ней, в частности, были четко стандартизованы синтаксис и семантика операторов выборки данных и манипулирования данными, определены средства ограничения целостности БД [15].
Версия стандарта SQL–92, также известная как SQL2, значительно расширила предыдущую версию, определив средства манипулирования схемой БД, управление транзакциями и сессиями, подключения к БД и т.д.
В выпущенную в 1999 г. версию SQL: 1999 (SQL3) добавлена поддержка регулярных выражений, рекурсивных запросов, поддержка триггеров, базовые процедурные расширения, нескалярные типы данных и некоторые объектно-ориентированные возможности.
Последующие версии – SQI-:2003, SQL:2006, SQL:2008 – внесли поддержку данных в формате XML, совместного использования в запросах SQL и языка запросов к XML-данным XQuery (SQL:2006) и ряд других новшеств.
Начиная с SQL:1999 стандарт разбивается на части, каждая из которых оформляется в виде отдельного документа. После утверждения в ISO эти документы выпускаются также в виде стандартов этой организации (серия 9075).
Например, вторая часть SQL:2008 выпущена как ISO/IEC 9075-2:2011 Information technology – Database languages – SQL – Part 2: Foundation (SQL/Foundation) («Информационные технологии. Языки базы данных. Язык структурированных запросов (SQL).
Часть 2. Основа»).
Язык SQL включает три подъязыка:
- • Data Definition Language (DDL) – язык определения данных, включающий такие операторы, как CREATE, ALTER, DROP;
- • Data Manipulation Language (DML) – язык обработки данных, который позволяет запрашивать и изменять данные и включает операторы SELECT, INSERT, UPDATE, DELETE;
- • Data Control Language (DCL) – язык управления данными, позволяет управлять разрешениями на доступ к данным и включает операторы GRANT и REVOKE.
Следует учитывать, что стандарт SQL может не в полной мере поддерживаться конкретной СУБД. И наоборот, конкретная СУБД может давать возможность использования в SQL-выражениях дополнительных функций, не предусмотренных стандартом.
Таким образом, большинство компаний- разработчиков поддерживает собственный диалект языка SQL, который может быть совместим с одной из версий стандарта SQL.
Ниже приведен перечень некоторых популярных СУБД и наименования диалектов SQL:
- • Microsoft SQL Server – Transact-SQL или T-SQL;
- • Microsoft Access – Jet SQL;
- • Oracle Database – PL/SQL;
- • IBM DB2 – SQL PL.
По ходу изложения материала в качестве примеров будут приводиться некоторые расхождения в правилах записи отдельных выражений в стандарте SQL и Transact-SQL. Подобные расхождения есть и у других производителей СУБД.
Используемые в SQL термины отличаются от принятых в реляционной алгебре. В частности, используются названия «таблица», «строка» и «столбец» вместо «отношение», «кортеж», «атрибут». Также необходимо отметить, что результат запроса на SQL может содержать повторяющиеся строки. Это отличает его от результата реляционного выражения, где повторяющихся кортежей быть не может.
Источник: https://studme.org/93805/informatika/osnovy_yazyka
Знакомство с основами языка SQL и построением SQL-запросов
Все языки манипулирования данными, созданные для многих СУБД до появления реляционных баз данных, были ориентированы на операции с данными, представленными в виде логических записей файлов. Разумеется, это требовало от пользователя детального знания организации хранения данных и серьезных усилий для указания того, какие данные необходимы, где они размещаются и как их получить.
Рассматриваемый язык SQL ориентирован на операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц-отношений.
Важнейшая особенность его структур – ориентация на конечный результат обработки данных, а не на процедуру этой обработки.
Язык SQL сам определяет, где находятся данные, индексы и даже какие наиболее эффективные последовательности операций следует использовать для получения результата, а потому указывать эти детали в запросе к базе данных не требуется. Типы команд SQL
Реализация в SQL концепции операций, ориентированных на табличное представление данных, позволила создать компактный язык с небольшим набором предложений. Язык SQL может использоваться как для выполнения запросов к данным, так и для построения прикладных программ.
- Основные категории команд языка SQL предназначены для выполнения различных функций, включая построение объектов базы данных и манипулирование ими, начальную загрузку данных в таблицы, обновление и удаление существующей информации, выполнение запросов к базе данных, управление доступом к ней и ее общее администрирование.
- Основные категории команд языка SQL:
- DDL – язык определения данных;
- DML – язык манипулирования данными;
- DQL – язык запросов;
- DCL – язык управления данными;
- команды администрирования данных;
- команды управления транзакциями
Язык определения данных (Data Definition Language, DDL) позволяет создавать и изменять структуру объектов базы данных, например, создавать и удалять таблицы. Основными командами языка DDL являются следующие: CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, ALTER INDEX, DROP INDEX.
Язык манипулирования данными (Data Manipulation Language, DML) используется для манипулирования информацией внутри объектов реляционной базы данных посредством трех основных команд: INSERT, UPDATE, DELETE.
Язык запросов DQL наиболее известен пользователям реляционной базы данных, несмотря на то, что он включает одну команду SELECT. Эта команда вместе со своими многочисленными опциями и предложениями используется для формирования запросов к реляционной базе данных.
Язык управления данными (DCL — Data Control Language)
Команды управления данными позволяют управлять доступом к информации, находящейся внутри базы данных. Как правило, они используются для создания объектов, связанных с доступом к данным, а также служат для контроля над распределением привилегий между пользователями. Команды управления данными следующие: GRANT, REVOKE.
Команды администрирования данных
С помощью команд администрирования данных пользователь осуществляет контроль за выполняемыми действиями и анализирует операции базы данных; они также могут оказаться полезными при анализе производительности системы. Не следует путать администрирование данных с администрированием базы данных, которое представляет собой общее управление базой данных и подразумевает использование команд всех уровней.
- Команды управления транзакциями
- Существуют следующие команды, позволяющие управлять транзакциями базы данных: COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION.
- Преимущества языка SQL
Язык SQL является основой многих СУБД, т.к.
отвечает за физическое структурирование и запись данных на диск, а также за чтение данных с диска, позволяет принимать SQL-запросы от других компонентов СУБД и пользовательских приложений.
Таким образом, SQL – мощный инструмент, который обеспечивает пользователям, программам и вычислительным системам доступ к информации, содержащейся в реляционных базах данных.
Не нашли то, что искали? Воспользуйтесь поиском:
Источник: https://studopedia.ru/18_43852_znakomstvo-s-osnovami-yazika-SQL-i-postroeniem-SQL-zaprosov.html
Иллюстрированный самоучитель по SQL для начинающих
В этой главе…
- Организация информации
- Что такое база данных
- Что такое СУБД
- Сравнение моделей баз данных
- Что такое реляционная база данных
- С какими трудностями можно столкнуться при проектировании баз данных
SQL (Structured Query Language – язык структурированных запросов) – это стандартный язык, предназначенный для создания баз данных, добавления новых и поддержки имеющихся данных, а также извлечения требуемой информации.
В зависимости от используемой теоретической модели, базу данных относят к одному из нескольких типов. Язык SQL был создан для работы с данными из тех баз, которые следуют реляционной модели.
Недавно в международный стандартный язык SQL были включены элементы объектной модели, в результате чего появились гибридные структуры, называемые объектно-реляционными базами данных. В этой главе рассказывается о хранении данных.
Один из ее разделов посвящен сравнению реляционной и других основных моделей. Кроме того, в ней представлен обзор главных особенностей реляционных баз данных.
Впрочем, перед тем как рассказывать о SQL, нужно дать определение понятию базы данных. Развитие компьютеров изменило способы хранения и обработки информации, а также значение этого термина.
Работа с данными
С помощью компьютеров люди выполняют множество таких задач, которые раньше выполнялись с помощью других инструментов. Документы теперь создают и исправляют не на пишущих машинках, а на компьютерах.
Электромеханические калькуляторы также заменены компьютерами – лучшим средством для выполнения математических вычислений.
Компьютеры пришли на смену миллионам листов бумаги, миллионам папок и стеллажей для документов и являются главными хранилищами важной информации.
Конечно, в сравнении со старыми инструментами компьютеры выполняют намного больше работы, намного быстрее и, главное, – с большей точностью. Однако за все приходится платить. Пользователи компьютеров больше не имеют прямого физического доступа к своим данным.
Как только компьютеры внезапно перестают работать, у сотрудников учреждений тут же закрадываются сомнения– а действительно ли компьютеризация благо? Раньше папкам с документами угрожало лишь падение на пол, и достаточно было просто нагнуться, собрать выпавшие листы бумаги и снова положить их в папку, чтобы все встало на свои места.
Если не считать землетрясений и других катаклизмов, то стеллажи с папками никогда не «удаляются» и никогда не отправляют сообщения об ошибке. А вот авария с жестким диском – это совсем другое дело: потерянные биты и байты «подобрать» нельзя.
Отказы оборудования, вызванные механическими, электрическими и человеческими воздействиями, могут безвозвратно отправить ваши данные на тот свет.
Малое – это прекрасно
В области хранения данных компьютеры действительно предстали во всей своей красе. Это произошло потому, что они могут хранить в двоичном виде любую информацию: текст, числа, звуки, графические изображения, телевизионные программы или анимацию.
Причем компьютер может хранить данные с очень высокой плотностью, позволяя поместить большое количество информации. По мере совершенствования технологий все больше и больше данных занимают все меньше и меньше места.
Где только ни используются сейчас компьютеры: и в газовых насосах, и в новых автомобилях, и в ошеломляющем количестве игрушек. Осталось недолго ждать появления компьютеризованных туфель, меняющих упругость своих подошв в зависимости от того, идете ли вы, бежите или прыгаете.
А звезды баскетбола, может быть, вскоре смогут использовать обувь с возможностью хранения небольшой базы данных с игровой статистикой…
Большая скорость и точность компьютеров только тогда пойдут на пользу, если будут приняты необходимые меры по защите от случайной потери данных. При хранении важных данных возникают четыре главные задачи.
- Соответствующие операции должны выполняться быстро и легко, так как заниматься ими вам, скорее всего, придется часто.
- Носитель, предназначенный для хранения данных, должен быть надежным. Вы не захотите впоследствии обнаружить, что большая часть ваших данных пропала.
- Получение данных должно быть быстрым и легким, независимо от количества сохраняемых элементов этих данных.
- Необходим способ легкого поиска нужной информации среди «тонн» ненужных данных.
Этим четырем критериям и соответствуют базы данных. Если приходится хранить более десятка элементов данных, то, вероятнее всего, появляется желание хранить эти элементы именно в базе данных.
Источник: http://samoychiteli.ru/document29120.html