О web-разработке
и даже немного больше...

1. Введение в MySQL

Основные запросы манипуляции данными

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

База данных – совокупность связанных данных, организованных по определенным правилам.

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

Какие базы данных бывают?

EmbeddedВстроенные БД, которые располагаются в памяти самого устройства. Приложения использующие такие данные взаимодействуют напрямую с ними.

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

Система Управления Базами Данных (СУБД)

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

Примеры популярных СУБД: MSSQL, MySQL, PostgreSQL, SQLite.

MSSQL, MySQL, PostgreSQL являются серверными СУБД. Главное их отличие в синтаксисе. К примеру, в MSSQL можно использовать напрямую транзакции. По аналогии с языком программирования, мы можем объявить переменную, затем используя её пробежаться, к примеру в цикле. Что касается MySQL то там тоже есть Transact SQL но мы напрямую её использовать не можем, только в хранимых процедурах и функциях.

Что касается SQLite – это встроенная СУБД, которая как правило используется непосредственно на устройствах.

RDB (Relation Database)

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

Таблицы

Таблицы хранят непосредственно данные и состоят из полей и записей. Основные свойства таблицы:

  • Имя
  • Тип данных
  • Допустимость пустого значения

Structured Query Language

SQL – информационно-логический язык, предназначенный для описания, изменения и извлечения данных, хранимых в реляционных БД.

Основной набор операций SQL

  • Создание в базе новых таблиц
  • Добавление записей в таблицу
  • Обновление записей в таблице
  • Удаление записей в таблице
  • Выборка записей из одной или нескольких таблиц (с заданными условиями)
  • Изменение структуры таблиц

Основные операции с данными принято разделять на DDL и DML.

  • DDL (Data Definition Language) – Включает в себя операции по работе с самой базой и таблицами. Например, создание БД, создание и модификация структуры таблиц БД.
  • DML (Data Modification Language) – Включает в себя операции для работы непосредственно с данными хранимыми в таблицах.
  • DCL (Data Control Language) — Используется для работы с пользователями, работа с привилегиями и другое что относится к пользователю.
  • TCL (Transaction Control Language) — Работа с транзакциями.

Типы данных

  • Целые числа
  • Вещественные FLOAT, DOUBLE
  • Строки CHAR, VARCHAR
  • Строки TEXT
  • Дата и время DATETIME
  • Бинарные BLOB
  • Логические данные TINYINT

Инструмент MySQL Workbench

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

Подключение к БД

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

В главном меню выбираем: Database -> Connect to Database

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

Отключение защиты от изменения и удаления данных

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

Переходим в меню: Edit -> Preferences ->SQL Editor

Снимаем галочку с пункта «Safe Updates (rejects UPDATEs and DELETEs with no restrictions».

Пример простой выборки данных

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

use sakila;

Где sakila – это имя базы с таблицами, которой мы хотим работать.

Далее простая выборка всех записей из таблицы sakila;

SELECT * FROM city;

Пример создания базы данных и таблицы

// Удаляет базу если она существует
DROP database CarsShop;

// Создаем базу данных
CREATE DATABASE CarsShop;

// Выбираем базу для работы с ней
USE CarsShop;

// Создаём таблицу в базе
CREATE TABLE clients
(
id INT AUTO_INCREMENT NOT NULL,
name VARCHAR(30),
age TINYYNT,
phone VARCHAR(15),
PRIMARY KEY (id)
)

Что касается регистра имени базы и таблицы, то для работы с ними не имеет значения.

Нормализация данных

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

Для нормализации таблиц БД используют ограничения:

  • Первой нормальной формы
  • Второй нормальной формы
  • Третьей нормальной формы

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

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

Третья нормальная форма (3NF) — это способ организации таблиц в базе данных, который гарантирует, что таблица находится в первой нормальной форме (1НФ) и каждый не ключевой атрибут полностью функционально зависит от всего составного первичного ключа. Это означает, что если первичный ключ состоит из нескольких столбцов, то каждый не ключевой столбец должен зависеть от всех этих столбцов в совокупности, а не от их части. Цель 2НФ — устранить частичные зависимости, уменьшить избыточность данных и предотвратить аномалии при обновлении, вставке и удалении данных.

Опубликован: 27.05.2026 г.

См. также:

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

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