Как выучить sql (пошаговое руководство) в 2021 году 🔥
Содержание:
- Признаки БД, чем отличаются от электронных таблиц
- Данные
- Общая система типов
- Совет 4: Учитесь лучшим практикам
- 6.3 Отдельные значения
- Шаг 3. Удаление повторений из строк
- Что такое база данных
- IDE для SQL
- Таблицы
- Совет 7: Поймите разницу между системами баз данных
- Данные и база данных
- «MongoDB в действии» Кайл Бэнкер
- Оператор create table: создание таблиц
- Карьера в SQL
- Процедуры
- Лучшие сертификаты SQL
- Системные представления
- Оператор join: объединение записей из двух таблиц
- MySQL
Признаки БД, чем отличаются от электронных таблиц
Любая база данных обладает набором стандартных признаков. Основными из них являются:
- хранение и обработка в вычислительной системе;
- логическая структура;
- наличие схемы или метаданных, которые описывают логическую структуру базы в формальном виде.
Примечание
Первый признак соблюдается строго, остальные могут трактоваться по-разному и иметь неодинаковые степени оценки. Согласно общепринятой практике, к базам данных не относят файловые архивы, интернет-порталы или электронные таблицы.
Рассмотреть базу данных целесообразно на примере Access. Это специальное приложение, в котором хранятся упорядоченные данные, что допускает применение и других приложений (к примеру, Excel). В обоих случаях информация представлена в табличном виде.
Excel включает особые средства, позволяющие работать с упорядоченными данными, позволяет формировать простые базы данных. При внешнем сходстве приложения обладают рядом отличий:
- Excel не предусматривает установку реляционных связей между таблицами. Благодаря связям в Access, исключается ненужное дублирование информации и ошибки при обработке данных. Также допускается совместное использование данных из разных таблиц.
- Access обеспечивает хранение в таблицах нескольких миллионов записей. При этом скорость их обработки сохраняется на высоком уровне.
- Access включает возможность организации одновременной работы с базой данных нескольких десятков пользователей, которые в реальном времени могут видеть изменения, выполненные другими пользователями.
- Данные в Access сохраняются автоматически после завершения редактирования текущей записи. В случае Excel для этого нужно запустить команду «Сохранить».
- Таблицы в Access характеризуются заранее предопределенной жесткой структурой. Невозможно в один столбец записать разные типы данных или форматировать отдельные ячейки.
- Прямо в таблице базы данных Access нельзя выполнять вычисления, подобные действия реализуются с применением запросов.
Вывод: Excel целесообразно использовать для создания компактных баз данных, которые могут поместиться на одном рабочем листе. Excel обладает рядом значительных ограничений для ведения полноценной базы данных, но может успешно использоваться для анализа данных благодаря достаточному математическому аппарату.
Данные
В контексте баз данных под данными понимают набор значений, который собирается в строки и столбцы, тем самым представляя таблицу. Представим, что у нас есть каталог мебельного магазина. Нам нужно сохранить все данные из раздела «Шкафы» этого каталога в таблицу. Мы решили, что все шкафы отличаются друг от друга характеристиками:
- название производителя;
- название модели;
- высота;
- длина;
- цвет;
- количество дверей.
Составим таблицу и вобьём в неё выдуманные данные.
У нас есть таблица с данными. Столбцами мы показываем, как они будут храниться. В примере я указал, что мы будем хранить информацию в структуре: производитель, модель, высота, длина, цвет, количество дверей. Иными словами, я создал структуру таблицы.
Добавляя в таблицу строки, я вводил в неё данные, ориентируясь на структуру, заданную в столбцах. Чем больше строк, тем больше данных. Чем больше столбцов, тем подробнее будут эти данные.
Ещё есть такое понятие, как «значение» — это пересечение столбца и строки. Например, у последней строки в столбце «Цвет» написано «хаки». Здесь «хаки» — значение. Если мы начнём группировать таблицы и добавим возможность манипулирования ими, то получим базу данных.
Общая система типов
Важной особенностью работы с базой данных является то, что в «1С:Предприятии 8» реализована общая система типов языка и полей баз данных. Иными словами, разработчик одинаковым образом определяет поля базы данных и переменные встроенного языка и одинаковым образом работает с ними.. Этим система «1С:Предприятие 8» выгодно отличается от универсальных инструментальных средств
Обычно, при создании бизнес-приложений с использованием универсальных сред разработки, используются отдельно поставляемые системы управления базами данных. А это значит, что разработчику приходится постоянно заботиться о преобразованиях между типами данных, поддерживаемыми той или иной системы управления базами данных, и типами, поддерживаемыми языком программирования.
Этим система «1С:Предприятие 8» выгодно отличается от универсальных инструментальных средств. Обычно, при создании бизнес-приложений с использованием универсальных сред разработки, используются отдельно поставляемые системы управления базами данных. А это значит, что разработчику приходится постоянно заботиться о преобразованиях между типами данных, поддерживаемыми той или иной системы управления базами данных, и типами, поддерживаемыми языком программирования.
Совет 4: Учитесь лучшим практикам
Важно знать, что ваше обучение шагает в ногу со временем. Запросы SQL ничем не отличаются, и уверенность в том, что вы всегда делаете все правильно, поможет вам избежать неприятностей в будущем
Многие новички перестают учиться после того, как они за короткое время научились программировать. Базовые концепции и синтаксис можно относительно легко выучить, и после этого вы можете подумать, что уже все знаете.
Тем не менее, лениться и писать код низкого качества, возможно, худшее, что вы можете сделать как обучающийся. Практика написания кода SQL без соблюдения передового опыта — это катастрофа. У вас появятся “вредные привычки”, это повлияет на вашу способность писать качественный код в будущем.
6.3 Отдельные значения
Бывают запросы, результатом которых являются всего одна строка и одна колонка. К ним можно относиться как к константным значениям, и их можно использовать везде, где используются значения, например, в операторах сравнения. Их также можно использовать в качестве двумерных таблиц или массивов, состоящих из одного элемента.
Давайте, к примеру, получим информацию о всех книгах, количество которых в библиотеке превышает среднее значение в данный момент.
Среднее количество можно получить таким образом:
Что дает нам:
avg |
---|
3.000 |
И это можно использовать в качестве скалярной величины .
Теперь, наконец, можно написать весь запрос:
Это то же самое, что:
И результат:
bookid | title | author | published | stock |
---|---|---|---|---|
3 | Who Will Cry When You Die? | Robin Sharma | 2006-06-15 00:00:00 | 4 |
Шаг 3. Удаление повторений из строк
Теперь мы займёмся устранением других проблем, а именно, избавимся от дубликатов в строках таблицы “users”. Поскольку пользователи @AndyRyder5 и @Brett_Englebert разместили по несколько твиттов, то их имена в таблице “users” (Таблица 3) дублируются в колонке full_name. Данная проблема также решается разделением таблицы “users”.
Поскольку текст твитта и время его создания являются уникальными данными, то их мы поместим в одну и ту же таблицу. Также нам нужно указать связь между твитами и пользователями. Для этого я создал специальный столбец username.
Таблица 4. tweets
username | text | created_at |
---|---|---|
_DreamLead | What do you think about #emailing #campaigns #traffic in #USA? Is it a good market nowadays? do you have #databases? | Tue, 12 Feb 2013 08:43:09 +0000 |
GunnarSvalander | Bill Gates Talks Databases, Free Software on Reddit http://t.co/ShX4hZlA #billgates #databases | Tue, 12 Feb 2013 07:31:06 +0000 |
GEsoftware | RT @KirkDBorne: Readings in #Databases: excellent reading list, many categories: http://t.co/S6RBUNxq via @rxin Fascinating. | Tue, 12 Feb 2013 07:30:24 +0000 |
adrianburch | RT @tisakovich: @NimbusData at the @Barclays Big Data conference in San Francisco today, talking #virtualization, #databases, and #flash memory. | Tue, 12 Feb 2013 06:58:22 +0000 |
AndyRyder5 | http://t.co/D3KOJIvF article about Madden 2013 using AI to prodict the super bowl #databases #bus311 | Tue, 12 Feb 2013 05:29:41 +0000 |
AndyRyder5 | http://t.co/rBhBXjma an article about privacy settings and facebook #databases #bus311 | Tue, 12 Feb 2013 05:24:17 +0000 |
Brett_Englebert | #BUS311 University of Minnesota’s NCFPD is creating #databases to prevent “food fraud.” http://t.co/0LsAbKqJ | Tue, 12 Feb 2013 01:49:19 +0000 |
Brett_Englebert | #BUS311 companies might be protecting their production #databases, but what about their backup files? http://t.co/okJjV3Bm | Tue, 12 Feb 2013 01:31:52 +0000 |
NimbusData | @NimbusData CEO @tisakovich @BarclaysOnline Big Data conference in San Francisco today, talking #virtualization, #databases,& #flash memory | Mon, 11 Feb 2013 23:15:05 +0000 |
SSWUGorg | Don’t forget to sign up for our FREE expo this Friday: #Databases, #BI, and #Sharepoint: What You Need to Know! http://t.co/Ijrqrz29 | Mon, 11 Feb 2013 22:15:37 +0000 |
Таблица 5. users
full_name | username |
---|---|
Boris Hadjur | _DreamLead |
Gunnar Svalander | GunnarSvalander |
GE Software | GEsoftware |
Adrian Burch | adrianburch |
Andy Ryder | AndyRyder5 |
Brett Englebert | Brett_Englebert |
Nimbus Data Systems | NimbusData |
SSWUG.ORG | SSWUGorg |
После разделения в таблице users (Таблица 5) у нас присутствуют уникальные (не повторяющиеся) строки.
Данный процесс удаления дубликатов из строк называется приведением ко второй нормальной форме.
Что такое база данных
Обычно под базой данных принято понимать любой набор информации, который хранится определенным образом, и этой информацией можно воспользоваться.
Однако если говорить о компьютерных базах данных, то здесь, конечно же, речь идет о так называемых реляционных базах данных.
Логически такая база данных представлена в виде таблиц, в которых и хранится вся эта информация.
Физически база данных представляет собой, конечно же, обычные файлы, созданные в специальном формате.
И здесь возникает вопрос, если база данных — это файлы, созданные в специальном формате, то как создать такие файлы и редактировать их?
Для этого, как Вы понимаете, нужен специальный инструмент, т.е. программа, которая могла бы создавать базы данных и управлять ими, иными словами, работать с файлами базы данных.
Такой программой как раз и выступает СУБД, т.е. система управления базами данных.
IDE для SQL
IDE или интегрированная среда разработки — это графический инструмент, который позволяет вам управлять всеми файлами, связанными с вашим приложением, и работать с такими инструментами, как полезные пакеты, функции автозаполнения, подсветка синтаксиса и т. Д., Чтобы улучшить ваш опыт разработки.
Хотя это правда, что вы можете создавать базы данных и таблицы и управлять ими прямо из самой командной строки, однако использование IDE всегда будет полезно для получения обзора всех баз данных, запросов, таблиц и других компонентов с высоты птичьего полета. Фактически, есть IDE, в которых есть раздел справки, в котором объясняются основные команды и их использование. Вы можете просто заполнить текстовые поля, выбрать различные предварительно отформатированные команды, нажать кнопку «ОК», и ваша работа будет выполнена. Это так просто. Более того, существуют IDE, которые также позволяют создавать резервные копии и восстанавливать базы данных и таблицы.
Следовательно, всегда разумно выбрать среду IDE, которая удовлетворяет ваши требования, прежде чем вы запачкаете руки SQL. Вот список лучших IDE, которые вы можете использовать для составления сложных SQL-запросов.
1. DBeaver
DBeaver— это среда разработки баз данных на основе Java с открытым исходным кодом. Его можно использовать бесплатно, и в нем есть мощные функции, которые обеспечат бесперебойную разработку.
Функции —
- Он позволяет экспортировать таблицы в файлы CSV и дамп, а также восстанавливать таблицы.
- Он позволяет сохранять наиболее часто используемые команды SQL. Вы можете загрузить эти сохраненные команды позже для других проектов.
- Также есть несколько цветовых тем.
- Он имеет инструмент управления сеансом.
- Он позволяет сравнивать две таблицы БД и их структуры.
- Выполненные запросы эстетично отображаются в отдельном интерфейсе.
- Он позволяет графически редактировать ячейки таблиц базы данных и фиксировать их.
2. PHPMyAdmin
PHPMyAdmin — это многофункциональный инструмент с открытым исходным кодом на основе HTML, который вы можете использовать для управления своими базами данных.
Функции —
- Это позволяет вам управлять пользователями и разрешениями.
- Он может поддерживать множество языков.
- Это позволяет создавать и редактировать запросы и столбцы результирующих строк.
- Вы можете сохранить свои запросы на более позднее время.
- IDE обладает широкими возможностями настройки для скрытия или отображения таблиц, комментариев, кодировок, временных меток и т. Д.
- Вы можете создавать резервные копии баз данных, конвертировать их в файлы CSV, импортировать дампы SQL и т. Д.
- Это позволяет вам управлять несколькими серверами.
- Вы можете использовать QBE для создания сложных запросов.
3. Adminer
Adminer можно использовать как альтернативу PHPMyAdmin. Он основан на веб-интерфейсе, поддерживает множество плагинов, позволяет работать с несколькими базами данных, такими как Oracle, SQLite и т. Д.
Особенности —
- Подключайтесь к базам данных, создавайте новые и т. Д.
- Вы можете распечатать схемы баз данных, даже если они связаны внешними ключами.
- Вы можете устанавливать и управлять разрешениями и правами пользователей и даже изменять их как администратор.
- Раздел справки неплохой, можно отображать переменные, у которых есть реферальные ссылки на документацию.
- Вы можете легко управлять разделами таблиц и событий.
Таблицы
Создание
CREATE TABLE test_table( IDENTITY(1,1) NOT NULL,--идентификатор, целое число int, не разрешены значения NULL (50) NULL, --ФИО, строка длиной 50 символов, значения NULL разрешены NULL, --сумма, приблизительное числовое значение, значения NULL разрешены NULL, --дата и время, значения NULL разрешены (100) NULL --строка длиной 100 символов, значения NULL разрешены ) ON GO
Добавление колонки
ALTER TABLE test_table ADD prosto_pole numeric(18, 0) NULL
Где,
- test_table — это название таблицы;
- add — команда на добавление;
- prosto_pole – название колонки;
- pole numeric(18, 0) – тип данных новой колонки;
- NULL – параметр означающий что в данном поле можно хранить значение NULL.
Изменение типа данных
Давайте изменим, тип данных нового поля, которое мы только что создали (prosto_pole) с numeric(18, 0) на bigint и увеличим длину поля comment до 300 символов.
ALTER TABLE test_table ALTER COLUMN prosto_pole bigint; ALTER TABLE test_table ALTER COLUMN comment varchar(300);
Примечание! SQL сервер не сможет выполнить изменение типа данных, если преобразование значений в этих полях невозможно, в этом случае придется удалять колонку, со всем данными, и добавлять заново или очищать все данные в этом поле.
Удаление колонки
Для удаления определенной колонки используем команду drop, например, для удаления поля prosto_pole используем следующий запрос
ALTER TABLE test_table DROP COLUMN prosto_pole
Удаление таблицы
Для того чтобы удалить таблицу, напишем вот такой простой запрос, где test_table и есть таблица для удаления
DROP TABLE test_table
Совет 7: Поймите разницу между системами баз данных
Прежде чем вы сможете работать в качестве разработчика SQL или администратора базы данных, вам необходимо узнать о некоторых доступных системах баз данных и о том, как они работают. Существуют сотни систем баз данных, каждая из которых имеет свои плюсы и минусы, которые делают ее подходящей для конкретной цели. Перед вами наиболее встречающиеся базы данных:
- Microsoft SQL Server
- MySQL
- Oracle
- IBM DB2
Каждая из этих систем имеет функции, которые имеют свои случаи использования. Я бы порекомендовал убедиться, что вы знакомы с каждой из вышеперечисленных систем и как они используются. Это сделает вас более трудоустроенным и увеличит ваши шансы получить работу, если вы сможете успешно изучать SQL.
Данные и база данных
Прежде всего нам нужно понять, что такое данные. Данные — это набор фактов об интересующем объекте. Данные о студенте могут включать такую информацию, как имя, уникальный id, возраст, адрес, образование и т. д. Программное обеспечение должно хранить данные, поскольку они необходимы для ответа на вопрос, например, сколько учащихся в возрасте 15 лет?
База данных:
База данных — это организованный набор данных, которые обычно хранятся и доступны в электронном виде из компьютерной системы. Проще говоря, мы можем сказать, что база данных находится в том месте, где хранятся данные. Лучшая аналогия — библиотека. В библиотеке собрана огромная коллекция книг разных жанров, здесь библиотека — это база данных, а книги — это данные.
Базу данных можно условно разделить на следующие группы:
- Централизованная база данных
- Распределенная база данных
- Оперативная база данных
- Реляционная база данных
- Облачная база данных
- Объектно-ориентированная база данных
- База данных графиков
Теперь мы сосредоточимся больше на реляционной базе данных, которая использует SQL для своих операций. Давайте использовать некоторые из
Как создать базу данных?
Мы используем оператор CREATE DATABASE для создания новой базы данных.
Синтаксис:
CREATE DATABASE имя базы данных
пример
СОЗДАТЬ БАЗУ ДАННЫХ School
Так будет создана база данных названия Школа. Если вы хотите удалить эту базу данных, вы должны использовать следующий синтаксис.
Как сбросить базу данных?
Синтаксис:
DROP DATABASE имя базы данных
пример:
DROP DATABASE Школа
База данных с названием Школа будет удалена.
«MongoDB в действии» Кайл Бэнкер
Книга Кайла Бэнкера — это введение в документо-ориентированную базу данных MongoDB. Она подойдет не только для разработчика, довольно много полезной информации найдет в ней и системный администратор. Подойдет для знакомства с данной базой данных. Автор подробно останавливается на вопросах создания хранилища базы данных в облаке. А также посвятил несколько глав углубленному описанию функционала MongoDB, в том числе репликации, автосегментирования и развертывания.
В России книга вышла в 2012 году в издательстве «ДМК Пресс». Несмотря на давний год выпуска, информация по базовым принципам работы с MongoDB не потеряла своей актуальности.
Оператор create table: создание таблиц
Создав новую БД, сообщим MySQL, что теперь мы собираемся работать именно с ней.
Выбор активной БД выполняется командой:
Пришло время создать первые таблицы!
Для ведения дневника по всем правилам, понадобится создать три таблицы: города (cities), пользователи (users) и записи о погоде (weather_log).
В подразделе «Запись» этой главы описано, как должна выглядеть структура таблицы weather_log. Переведём это описание на язык SQL:
Чтобы ввести многострочную команду в командной строке используйте символ в конце каждой строки (кроме последней).
Теперь создадим таблицу городов:
MySQL может показать созданную таблицу, если попросить об этом командой: .
В ответе будут перечислены все поля таблицы, их тип и другие характеристики.
Первичный ключ
В примере с созданием новой таблицы при перечислении необходимых полей первым полем идёт .
Это поле называется первичным ключом. Обязательно создавать первичный ключ в каждой таблице.
Первичный ключ — это особенное поле, в котором сохраняется уникальный идентификатор записи. Он нужен, чтобы у программиста и базы данных всегда была возможность однозначно обратиться к одной конкретной записи для её чтения, обновления или удаления.
Если назначить поле первичным ключом, то БД будет следить за тем, чтобы значение в этом поле больше не повторялось в таблице.
А если ещё и добавить аттрибут , то MySQL при добавлении новых записей будет заполнять это поле сама. будет играть роль счётчика — каждая новая запись в таблице получит значение на единицу больше максимального существующего значения.
Карьера в SQL
В организациях, ориентированных на данные, существует множество профессий и профессий, требующих использования SQL как навыка. Эти организации ищут специалистов по SQL, которые могут применить свое аналитическое мышление с помощью SQL, чтобы лучше понять огромные блоки данных, которые у них есть. Если вы кандидат, который умеет работать с данными и манипулировать ими, вам определенно следует искать карьеру в программировании SQL. Рынок вакансий, связанных с SQL, можно найти как в облачных организациях, так и в тех, кто использует базы данных локально.
Требуется образование
- Квалификация, которую рекрутеры ищут у специалиста по SQL, может варьироваться от компании к компании. Это во многом зависит от рентабельности инвестиций, требований клиентов, типа работы и т. Д.
- Базовая образовательная квалификация включает степень бакалавра или магистра в области компьютерных наук, информационных технологий или даже курсы специализации в области информационных технологий.
- Дополнительные сертификаты, такие как разработчик баз данных, администратор, дизайнер, архитектор и т. Д., Добавят цвета вашему портфолио и предоставят вам преимущество над тысячами других кандидатов.
- Было бы полезно иметь опыт работы с PL / SQL, ETL и т. Д.
Должности
- SQL Server является третьим по популярности сервером баз данных, и миллионы профессионалов в настоящее время работают над различными ролями, которые прямо или косвенно требуют SQL как навыка.
- Основные направления карьеры в SQL: администратор баз данных, специалисты по бизнес-аналитике, специалисты по данным, разработчики баз данных, тестировщики баз данных, разработчики ETL, разработчики приложений бизнес-аналитики, эксперты по большим данным, инженеры облачных баз данных, инженеры по миграции баз данных и т. д.
Оплата труда
- Средняя зарплата специалиста по SQL во многом зависит от выбранной им карьеры. Обычно профессионалы с опытом работы с SQL более 5 лет имеют более высокую среднюю зарплату по сравнению с новичками.
- Согласно отчету payscale за 2018 год, средняя заработная плата разработчиков SQL в США составляет около 65 тыс. Долларов США, для старших разработчиков SQL — 85 тыс. Долларов США, для старших администраторов баз данных — около 100 тыс. Долларов, для производственных администраторов баз данных средняя зарплата может достигать 130 тысяч долларов.
Процедуры
Процедуры – это набор SQL инструкций, которые компилируются один раз, и могут принимать, как и функции, различные параметры. Используются для упрощения расчетов, выполнения групповых действий.
Создание
CREATE PROCEDURE sp_test_procedure (@id INT) AS --объявляем переменные DECLARE @sum FLOAT --SQL инструкции SET @sum = 100 UPDATE test_table SET summa = summa + @sum WHERE id = @id GO
Изменение
ALTER PROCEDURE sp_test_procedure (@id int) AS --объявляем переменные DECLARE @sum float --SQL инструкции SET @sum = 500 UPDATE test_table SET summa = summa + @sum WHERE id = @id GO
Удаление
DROP PROCEDURE sp_test_procedure
Вызов процедуры
Можно вызывать по разному, например:
EXECUTE sp_test_procedure 1 --или EXEC sp_test_procedure 1
Где, EXECUTE и EXEC вызов процедуры, sp_test_procedure соответственно название нашей процедуры, 1 значение параметра
Лучшие сертификаты SQL
После того, как вы получите подробное представление о теоретических концепциях, а также о практических концепциях, следующим шагом для вас будет создание портфолио, которое подчеркнет ваши навыки SQL во время собеседований. Вы уже выполнили несколько проектов в SQL, и следующим шагом будет получение аккредитованных и проверяемых сертификатов от официальных поставщиков SQL. Несколько аккредитованных сертификатов SQL:
- MTA: Основы баз данных
- MCSA: SQL Server 2012/2014
- MCSA: администрирование базы данных SQL 2016
- MCSA: Разработка баз данных SQL 2016
Чтобы получить подробную информацию об этих сертификатах, а также о других лучших сертификационных курсах, вы можете посетить это руководство по 5 лучшим сертификатам SQL Server для повышения вашей карьеры .
Системные представления
В СУБД MS SQL Server есть таки системные объекты, которые могут предоставить иногда достаточно полезную информацию, например системные представления. Сейчас мы разберем парочку таких представлений. Обращаться к ним можно также как и к обычным представлениям (например, select * from название представление)
- sys.all_objects – содержит все объекты базы данных, включая такие параметры как: название, тип, дата создания и другие.
- sys.all_columns – возвращает все колонки таблиц с подробными их характеристиками.
- sys.all_views – возвращает все представления базы данных.
- sys.tables – все таблицы базы данных.
- sys.triggers – все триггеры базы данных.
- sys.databases – все базы данных на сервере.
- sys.sysprocesses – активные процессы, сессии в базе данных.
Их на самом деле очень много, поэтому все разобрать, не получиться. Если Вы хотите посмотреть, как их можно использовать на практике, то это мы уже делали, например, в материалах Как узнать активные сеансы пользователей в MS Sql 2008
Оператор join: объединение записей из двух таблиц
В нашей таблице для хранения погодного дневника город сохраняется как идентификатор, поэтому при обычном чтении данных из этой таблицы вместо названия города стоит непонятное число. Чтобы подставить на место числа действительное значение, а конкретнее — название города, в SQL существуют операторы объединения — .
Поддержка операторов объединения и позволяет базе данных называться реляционной.
Поменяем запрос на показ погодных записей, чтобы он объединял две таблицы, а в поле города показывалось его название, а не идентификатор:
Важно усвоить три самых главных момента:
- При чтении из объединённых таблиц, в перечислении полей после SELECT нужно явно указывать в поле имени также имя таблицы, с которой производится объединение.
- Всегда есть основная таблица (тб1), из которой читается большинство полей и присоединяемая (тб2), имя которой определяется после оператора JOIN.
- Помимо указания имени второй таблицы, обязательно следует указать условие, по которому будет происходить объединение. В этом примере таким условием будет соответствие идентификатора города из тб1 (weather_log.city_id) первичному ключу города из тб2 (cities.id).
MySQL
Существует множество различных реляционных СУБД. Самая известная СУБД — это Microsoft Access, входящая в состав офисного пакета приложений Microsoft Office.
Нет никаких препятствий для использования в качестве СУБД MS Access, но для задач веб-программирования гораздо лучше подходит альтернативная программа — MySQL.
В отличие от MS Access, MySQL абсолютно бесплатна, может работать на серверах с Linux, обладает гораздо большей производительностью и безопасностью, что делает её идеальным кандидатом на роль базы данных в веб-разработке.
Подавляющее большинство сайтов и приложений на PHP используют в качестве СУБД именно MySQL.