Sql

Mysql онлайн учебник: Интерактивный онлайн учебник по работе с SQL

Содержание

Интерактивный тренажер по SQL — Stepik

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

What you will learn

  • создавать реляционные базы данных;
  • изучать различные типы SQL-запросов;
  • формулировать, создавать и отлаживать запросы SQL.

About this course

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

Для создания, выполнения и отладки SQL-запросов используется платформа Stepik, на свой компьютер ничего дополнительно устанавливать не надо.

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

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

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

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

  Кому подойдет данный курс?

  • начинающим аналитикам;
  • разработчикам;
  • маркетологам.
 Курс – победитель Международного конкурса открытых онлайн курсов EDCRUNCH AWARD OOC 2021 в номинации «Творческое программирование».

Автор курса

Озерова Галина Павловна

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

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

 

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

Сфера научных интересов: e-Learning, learning analytics, машинное обучение, стохастическое моделирование.

Whom this course is for

Курс подходит как для тех, кто начинает изучать SQL и базы данных, так и для тех, кто хочет актуализировать свои знания.

Initial requirements

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

Meet the Instructors

Course content

Certificate

Stepik

What you will get

Share this course

https://stepik.org/course/63054/promo

Direct link:
https://stepik.org/63054

Читать онлайн «MySQL 5.0. Библиотека программиста», Виктор Гольцман – ЛитРес

Введение

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

Данная книга предназначена для всех, кто желает освоить MySQL. Чтобы начать работу, вам не потребуется никаких специальных знаний – достаточно быть пользователем Windows. Вы узнаете, как установить и запустить MySQL, как построить, администрировать собственную базу данных и оптимизировать ее работу. Вы также узнаете, как работать с данными с помощью команд языка SQL. Разработчики веб-приложений на языках PHP, Perl и Java найдут в этой книге руководство по использованию базы данных MySQL в соответствующих приложениях. В книге приводятся подробные пошаговые инструкции по выполнению всех операций. Кроме того, все основные действия поясняются на примере учебной базы данных, содержащей информацию о клиентах, товарах и заказах торговой компании. Книга состоит из шести глав.

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

• Глава 2. Управление базой данных с помощью SQL. Глава посвящена SQL-командам, обеспечивающим работу с таблицами и их данными. Изучив эту главу, вы сможете управлять структурой таблиц, добавлять, редактировать и получать данные.

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

• Глава 4. Доступ к базе данных из веб-приложений. Глава содержит три раздела, в которых рассматриваются интерфейсы MySQL с языками программирования PHP, Perl и Java. В каждом из разделов описываются функции подключения к базе данных, ввод и извлечение данных, обработка ошибок взаимодействия с БД, а также примеры веб-приложений, использующих эти функции.

• Глава 5. Администрирование и безопасность. Глава описывает систему привилегий доступа пользователей MySQL к различным операциям с данными, а также процедуру резервного копирования и восстановления данных в случае сбоя.

• Глава 6. Оптимизация. В заключительной главе приводятся рекомендации по повышению производительности сервера MySQL.

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

От главы коллектива авторов

Высказать замечания и пожелания, задать вопросы по этой книге вы можете по адресу [email protected] или посетив нашу домашнюю страничку www.sigmaplus.mcdir.ru (там вы найдете также дополнительные материалы по книге, сможете принять участие в форуме или пообщаться в чате).

Александр Жадаев

От издательства

Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты gurski@minsk. piter.com (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.

Глава 1


Знакомство

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

1.1. Что такое MySQL

MySQL – это свободно распространяемая СУБД, разработанная компанией MySQL AB (www.mysql.com). MySQL имеет клиент-серверную архитектуру: к серверу MySQL могут обращаться различные клиентские приложения, в том числе с удаленных компьютеров. Рассмотрим важнейшие особенности MySQL, благодаря которым эта программа приобрела популярность.

• MySQL – это СУБД с открытым кодом. Любой желающий может бесплатно скачать программу на сайте разработчика (http://dev.mysql.com/downloads/) и при необходимости доработать ее. Существует множество приложений MySQL, созданных и свободно распространяемых сторонними разработчиками. Однако для применения MySQL в коммерческом приложении необходимо приобрести коммерческую лицензированную версию программы у компании MySQL AB.

• MySQL – кроссплатформенная система. Ее можно использовать практически во всех современных операционных системах, в том числе Windows, Linux, Mac OS, Solaris, HP-UX и др. В этой книге мы рассмотрим работу с MySQL только в ОС Windows.

• MySQL имеет множество программных интерфейсов (API), благодаря которым к базе данных MySQL могут подключаться приложения, созданные с помощью C/C++, Eiffel, Java, Perl, PHP, Python, Tcl, ODBC, NET и Visual Studio. В главе 4 вы узнаете, как обращаться к базе данных MySQL из PHP-, Perl– и Java-приложений.

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

• MySQL имеет развитую систему обеспечения безопасности и разграничения доступа на основе системы привилегий (гл. 5).

MySQL представляет собой реляционную СУБД, то есть систему управления реляционными базами данных. Поэтому для построения базы данных в MySQL нам потребуются базовые понятия теории реляционных баз данных. Этим понятиям посвящается следующий раздел.

1.2. Основные сведения о реляционных базах данных

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

Таблицы

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

Рассмотрим таблицу, содержащую сведения о клиентах компании (табл. 1.1).

Таблица 1.1. Customers (Клиенты)

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

Каждый столбец таблицы имеет имя и тип данных, которому соответствуют все значения в столбце. Так, в нашем примере столбцы с именами id и rating – числовые, а с именами name, phone и address – символьные.

По существу, таблица реляционной базы данных представляет собой набор информации об однотипных объектах. При этом каждая строка содержит сведения об одном объекте, а каждый столбец – значения некоторого атрибута этих объектов. Например, строка с идентификационным номером 533 содержит информацию об объекте, у которого атрибут name (имя) имеет значение ООО «Кускус», атрибут phone (телефон) – значение 313-48-48 и т. д.

Далее мы рассмотрим специальные столбцы таблицы – первичный и внешний ключи.

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

Строки таблицы неупорядочены и не имеют номеров, поэтому различить их можно только по содержащимся значениям. В связи с этим возникает необходимость рассмотреть понятие первичного ключа (primary key).

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

На практике первичным ключом служит специальный столбец, значения которого автоматически задает СУБД. Например, в таблице Customers (Клиенты) (см. табл 1.1) это столбец id (идентификатор). Использовать такой искусственный первичный ключ значительно проще, чем естественный (основанный на атрибутах объекта). Например, в таблице Customers столбец name (имя) не может быть первичным ключом, так как имена клиентов могут совпадать; а первичный ключ из столбцов name (имя) и phone (телефон) был бы слишком громоздким. Дополнительными преимуществами искусственного ключа являются гарантированная уникальность значений (ее обеспечивает СУБД), постоянство значений (может меняться значение атрибута, но не значение искусственного ключа), а также числовой тип данных (поиск по числовым значениям выполняется намного быстрее, чем по символьным).

Еще одна функция первичного ключа – организация связей между таблицами.

Связи между таблицами. Внешний ключ

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

Рассмотрим на примере, что такое связь между таблицами. Допустим, у нас есть таблицы A и B, и мы хотим их связать. Для этого в каждую строку таблицы A мы должны поместить некую информацию, позволяющую идентифицировать связанную с ней строку таблицы B. Эта информация называется ссылкой, а поля таблицы A, содержащие эту ссылку, – внешними ключами. Наверное, вы уже сами догадались, что в качестве ссылки используется первичный ключ таблицы B, поскольку именно его значения позволят однозначно идентифицировать нужную строку таблицы B. После того как мы во все строки таблицы A поместим ссылки на строки таблицы B, эти таблицы будут связаны. При этом таблица A будет называться дочерней, а таблица B – родительской.

 

Существует три типа связей, устанавливаемых между таблицами в базе данных.

• Связь «один ко многим».

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

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

Рассмотрим таблицу, которая содержит сведения о заказах, сделанных клиентами, и является дочерней по отношению к таблице Customers (Клиенты) (табл. 1.2).

Таблица 1.2. Orders (Заказы)

В таблице Orders внешним ключом является столбец customer_id (клиент), в котором содержатся номера клиентов из таблицы Customers (Клиенты). Таким образом, каждая строка таблицы Orders ссылается на одну из строк таблицы Customers. Например, строка с идентификационным номером 1012 содержит в столбце customer_id (клиент) значение 533: это означает, что заказ № 1012 сделан клиентом ООО «Кускус».

Столбец product_id таблицы Orders также является внешним ключом – он содержит номера товаров из столбца id (идентификатор) таблицы Products (Товары). Таким образом, таблица Orders является дочерней по отношению к таблицам Customers и Products.

• Связь «один к одному».

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

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

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

• Связь «многие ко многим».

Этот тип связи в реляционной базе данных реализуется только с помощью вспомогательной таблицы. Например, если потребуется включить в заказ несколько наименований товаров, связь «многие ко многим» между таблицами Orders (Заказы) и Products (Товары) можно организовать с помощью вспомогательной таблицы Items (Позиции заказа), содержащей столбцы product_ id (номер товара из таблицы Products), qty (количество товаров данного наименования в заказе) и order_id (номер заказа из таблицы Orders). При этом столбцы product_id и qty из таблицы Orders исключаются. Таким образом, таблица Items будет дочерней по отношению к таблицам Orders и Products и каждая строка таблицы Items будет соответствовать одному наименованию товара в заказе.

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

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

Целостность данных

Целостностью данных, хранимых в СУБД, называется их корректность и непротиворечивость.

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

Целостность сущностей означает, что в каждой таблице есть первичный ключ – уникальный идентификатор строки. Первичный ключ не должен содержать повторяющихся и неопределенных значений. Например, если в таблицу Customers (Клиенты) добавить еще одну строку с идентификатором 533 (притом что одна строка с таким идентификатором уже существует в таблице), то целостность сущностей будет нарушена и невозможно будет определить, кому из этих двух клиентов с одинаковыми идентификаторами принадлежат заказы №№ 1012 и 1014.

Целостность связей означает, что внешний ключ в дочерней таблице не содержит значения, отсутствующие в первичном ключе родительской таблицы. Иными словами, строка дочерней таблицы не должна ссылаться на несуществующую строку родительской таблицы. В отличие от первичного, внешний ключ может содержать неопределенные значения (NULL), и в этом случае целостность не нарушится. Например, в таблицу Orders (Заказы) добавлена строка, содержащая в столбце customer_id значение 999. Здесь нарушится целостность связи между таблицами Customers и Orders: с одной стороны, заказ не является «ничьим», так как в этом случае в столбце customer_id было бы установлено значение NULL, с другой стороны, невозможно выяснить имя и адрес клиента, сделавшего этот заказ.

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

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

• Запрет (RESTRICT): если на строку родительской таблицы ссылается хотя бы одна строка дочерней таблицы, то удаление родительской строки и изменение значения первичного ключа в такой строке запрещаются. Например, не допускается удаление информации о клиенте из таблицы Customers (Клиенты), если у этого клиента есть зарегистрированные заказы, то есть строки в таблице Orders (Заказы), которые ссылаются на строку со сведениями об этом клиенте.

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

Например, при удалении записи о клиенте из таблицы Customers (Клиенты) автоматически удаляются сведения о заказах этого клиента, то есть соответствующие строки в таблице Orders (Заказы).

• Обнуление (SET NULL): при удалении строки и при изменении значения первичного ключа в строке значение внешнего ключа во всех строках, ссылающихся на данную, автоматически становится неопределенным (NULL). Например, при удалении записи о клиенте из таблицы Customers (Клиенты) заказы этого клиента автоматически становятся «ничьими», то есть в соответствующих строках таблицы Orders (Заказы) в столбце customer_id (клиент) устанавливается значение NULL.

В СУБД MySQL способ поддержания целостности связи указывается при создании или изменении структуры дочерней таблицы.

С понятием целостности данных тесно связано понятие транзакции. Транзакцией называется группа связанных операций, которые должны быть либо все выполнены, либо все отменены. Если при выполнении одной из операций происходит ошибка или сбой, то транзакция отменяется. При этом все уже внесенные другими операциями изменения автоматически аннулируются и восстанавливается исходное состояние базы данных. Важнейшее применение транзакций – это объединение тех операций, которые, будучи выполнены по отдельности, могут нарушить целостность данных. Например, рассмотренная выше операция каскадного удаления выполняется как единая транзакция: строка родительской таблицы должна быть удалена вместе со всеми ссылающимися на нее строками дочерней таблицы, а если по каким-либо причинам одну из этих строк удалить невозможно, то не будет удалена ни одна из строк.

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

1.3. Проектирование базы данных

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

Проектирование включает в себя следующие основные этапы.

• Определение требований к базе данных.

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

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

 п. Эти требования и будут положены в основу проекта базы данных.

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

• Проектирование «снизу вверх», от элемента к структуре: вначале определяется, какие именно атрибуты должны храниться в базе данных, затем группы атрибутов объединяются в объекты. Этот метод годится для небольших баз данных, в которых количество атрибутов невелико.

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

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

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

• Для товаров: идентификатор, наименование, описание, название склада, где хранится этот вид товара, и адрес склада.

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

• Нормализация.

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

 

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

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

Ответ на вопрос, является ли атрибут атомарным, зависит от функциональных требований к базе данных. Рассмотрим, например, столбец address (адрес) из таблицы Customers (Клиенты) (см. табл. 1.1). Если адрес клиента будет использоваться только целиком, то этот столбец является атомарным. Если же потребуется получать из базы отдельно название города, улицы и т. п., то для приведения таблицы Customers к первой нормальной форме столбец address следует разбить на столбцы city (город), street (улица), building (здание) и т. д.

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

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

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

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

Примечание

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

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

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

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

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

Итак, мы разработали логическую структуру базы данных, и можно переходить к созданию базы данных в СУБД MySQL. Если программа MySQL еще не установлена на вашем компьютере, из следующего раздела вы узнаете, как это сделать.

Online MySQL Tutorial — 2023 »Основы программирования

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

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

MySQL — это система управления реляционными базами данных с открытым исходным кодом ( RDBMS ), которая поддерживает SQL-запросы для взаимодействия с базой данных. Если вы новичок в базе данных, тогда это лучшее место для изучения MySQL с нуля до продвинутого уровня. Наш Онлайн Учебник MySQL охватывает все темы MySQL, которые предоставляют возможность управлять базой данных с помощью SQL-запросов.


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

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

Заголовки содержания

  • 1 Что такое база данных?
  • 2 Что такое реляционная база данных?
  • 3 Что такое РСУБД (система управления реляционными базами данных)?
  • 4 Что такое база данных MySQL?
  • 5 SQL – Язык структурных запросов:
  • 6 Компании используют базу данных MySQL:
  • 7 Учебный указатель MySQL
  • 8 Заключение:

Что такое база данных?

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

Что такое реляционная база данных?

Реляционная база данных ( RDB ) представляет собой набор информации, которая организует данные в предопределенных отношениях.

В реляционных базах данных данные хранятся в виде таблиц, а данные могут храниться в одной или нескольких таблицах, которые также называются отношениями. Каждая таблица представляет собой набор строк и столбцов, где каждая строка называется записью, а каждый столбец — атрибутом. В реляционных базах данных отношения — это логическая связь между таблицами.
Чтобы получить доступ к данным из реляционных таблиц, RDB ( Реляционная база данных ) имеет возможность устанавливать соединения или отношения, такие как объединение таблиц.

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

Атрибуты таблицы сотрудников:

  • emp_id ( первичный ключ )
  • emp_name
  • emp_age
  • emp_salary
  • dep_id (внешний ключ)

Таблица атрибутов отдела :

  • dep_id (первичный ключ)
  • dep_name

Таблица Сотрудник содержит данные о сотрудниках организации, а таблица Отдел содержит данные об отделе, такие как идентификатор отдела и его название.

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

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

Что такое РСУБД (система управления реляционными базами данных)?

РСУБД (система управления реляционными базами данных) — это набор программ, которые используются для работы с реляционной базой данных.
Используя RDBMS, любая ИТ-команда или кто-либо другой может создавать, обновлять, удалять и администрировать информацию с помощью реляционной базы данных.
Все современные системы баз данных, подобные MySQL, Oracle, Microsoft SQL Server, PostgreSQL и т. д. являются примерами СУБД (система управления реляционными базами данных).

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

Что такое база данных MySQL?

MySQL является одним из самых популярных систем управления реляционными базами данных с открытым исходным кодом , программного обеспечения с открытым исходным кодом, разработанного Oracle Corporation в 1995 .

База данных MySQL является пользовательской системой управления базами данных по сравнению с другими базами данных. MySQL поддерживает SQL ( Structural Query Language ) для взаимодействия с базой данных.
С помощью SQL-запроса вы можете легко управлять записями базы данных.

MySQL — это автономный клиент, который позволяет пользователям напрямую взаимодействовать с базой данных с помощью запроса SQL. MySQL является компонентом LAMP ( Linux, Apache, MySQL и Perl/Python/Perl ).

База данных MySQL написана на языках программирования C и C++ .

MySQL — лучший вариант для разработки приложений, управляемых базами данных, таких как Drupal , WordPress , Joomla и так далее.

SQL — Язык структурных запросов:

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

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

В конце этого онлайн-руководства по MySQL вы сможете полностью работать с SQL-запросом.

Компании используют базу данных MySQL:

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

  • Facebook
  • Твиттер
  • YouTube
  • Flickr
  • Медиавики
  • НАСА
  • Нетфликс
  • Гитхаб

MySQL Tutorial Index


Заключение:

Итак, в этом онлайн-учебнике MySQL вы узнали основы базы данных и базы данных MySQL . В следующем учебном пособии MySQL мы шаг за шагом рассмотрим все темы базы данных MySQL.


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

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

Для получения дополнительной информации: — Щелкните здесь

◀Предыдущая статья

Следующая статья▶

Учебники и онлайн-курсы по MySQL

Перейти к содержимому

Будучи одной из наиболее широко используемых систем управления реляционными базами данных с открытым исходным кодом (RDBMS), наличие MySQL в вашем наборе навыков программирования только поможет вам продвинуться по карьерной лестнице. Погрузитесь в специальные учебные пособия по MySQL с реальными сценариями и практическим обучением. Вы узнаете все, от основ MySQL до инструментов для глубокого погружения в графический интерфейс. Узнайте, почему это одна из самых популярных и эффективных баз данных для веб-приложений и стеков программного обеспечения с открытым исходным кодом.

Учитесь по собственному графику

Совершенствуйте свое мастерство

Идите в ногу с новыми тенденциями

Повышайте уровень своих навыков работы с MySQL

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

Основные пути MySQL

Путь

MySQL

  • 8 курсов
  • 17 часов
  • Уровень IQ доступен Получите свой IQ навыка

Путь

Запрос данных с помощью SQL в MariaDB

  • 5 курсов
  • 8 часов
  • Уровень IQ доступен Получите свой IQ навыка
Лучшие курсы по MySQL

Расширенный

Расширенный

Расширенный

Показать больше

Платформа технологических навыков

Pluralsight IQ

Проверка уровней навыков с помощью оценок, которые занимают 5 минут или меньше.

Каналы

Подбирайте контент Pluralsight и делитесь им, чтобы быстрее достигать целей обучения.

Практическое обучение

Практика и применение знаний быстрее в реальных сценариях с проектами и интерактивными курсами.

Тысячи курсов

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

Что говорят наши клиенты

Мартин Теркельсен @Mracket

Вчера я сдал экзамен AZ-104. Курсы @pluralsight отлично подходят для подготовки к этим экзаменам. #citrixctp #лазурь

  • 7

Уильям Маски 🛰️🏜️ @billver3

Только что сдал экзамен #Cisco DEVASC 200-901! Тяжелый экзамен, но это был отличный опыт. Я очень рад быть частью #DevNet Class 2020! Также большое спасибо @nickrusso42518 за его замечательный учебный план и курс @pluralsight. Я настоятельно рекомендую его, если вы готовитесь к DEVASC 9.0012

  • 6

Джуди @judy_seyram

Лучшее, что случилось со мной в 2020 году, это #GADS2020, который познакомил меня с @pluralsight. Мой интерес к информационным технологиям и программированию достиг своего пика, когда я присоединился к программе, и теперь я считаю, что это та карьера, которую я хочу выбрать. #womenintech #WomenWhoCode #Andela #Pluralsight #GADS https://t.co/oYchlj6V5W

  • 5

Скайлер @SkylerDevops

Только что закончил «Автоматизация с помощью Windows #Powershell Scripts» на @pluralsight от @JeffHicks. Это было действительно хорошо объяснено, вы узнали несколько вещей, определенно рекомендую, если вам нужно сделать что-то PS ☺️

  • 1

Хавьер Монтеро @DataSlugger

Мне нравится функция напоминаний о расписании, которую @pluralsight добавил (хорошо не знаю, когда, но сегодня я это увидел), вы делаете мою жизнь проще, молодцы. #обучение https://t.co/0EEjxVQJbm

  • 3

Кайоде Омотойе @kontrepid

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

  • 1

Марк Поттер @BoyPotsy

Только что сдал экзамен Microsoft Power Platform Fundamentals Pl-900. Спасибо @pluralsight @knight_devin @vladcatrinescu

  • 2

Дорон Гринштейн @dorongrinstein

Я люблю @pluralsight, а @nusco — мой любимый инструктор.

  • 1

ДжодиМ @jodiem

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

  • 3

кратос стэн аккаунт @therealemsqrd

Дети решили, что хотят провести неделю у бабушек и дедушек. Похоже, самое время, наконец, сказать @pluralsight, что я готов работать стабильно. #devlife

  • 4

Планы и цены

Ежемесячно Ежегодно

Сэкономьте не менее {{годовой-процент-сбережения}}%!

Стандартный

29,00 $

в месяц

299,00 $

в год

Библиотека основных курсов,
путей и оценок навыков.

  • 10-дневная бесплатная пробная версия
  • Доступ к основной библиотеке
  • Оценка навыков и ролей
  • Пути и каналы обучения

Premium

49,00 $

в месяц

449,00 $

в год

Полная библиотека основных и расширенных курсов, экзаменов, проектов и интерактивных курсов.

  • Все в соответствии со стандартом плюс:
  • Расширенный доступ к библиотеке
  • Доступ к библиотеке сертификации
  • Интерактивные курсы и проекты

Другие ресурсы MySQL

Учитесь у наших опытных авторов MySQL

Готовность к будущему


ваши навыки

С планом Pluralsight вы можете:

С 30-дневным пилотным проектом вы можете: развивать критические навыки

  • Предоставьте до 10 пользователей доступ к тысячам видеокурсов
  • Практика и применение навыков с интерактивными курсами и проектами
  • Просмотр данных о навыках, использовании и тенденциях для ваших команд
  • Подготовьтесь к сертификации с помощью лучших в отрасли практических экзаменов
  • Измерение уровня владения навыками и ролями
  • Согласуйте обучение с вашими целями с помощью путей и каналов
  • Готовы повысить уровень


    всей своей команды?

    10

    Подписки

    Нужно больше подписок? Свяжитесь с отделом продаж.

    Добавить комментарий

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