sql

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/44

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

45 Terms

1
New cards

База данных

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

2
New cards

Данные

Это любая информация, которую можно сохранить в базе данных. Данные могут быть связаны с реальными объектами (например, людьми, вещами, местами). Пример: имя, адрес, дата рождения.

3
New cards

Модель баз данных

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

4
New cards

Иерархическая модель

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

<p>В этой модели данные представляют собой древовидную структуру, где каждый элемент (запись) связан с одним родителем. Это похоже на структуру папок на компьютере: одна папка может содержать другие папки и файлы.</p>
5
New cards

Сетевая модель

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

<p>это модель, в которой данные организованы в виде <strong>графа</strong>. В отличие от иерархической модели, где каждая запись может иметь только одного родителя, в сетевой модели <strong>одна запись может быть связана с несколькими родительскими и дочерними записями</strong>, то есть реализуются <strong>многие-ко-многим</strong> отношения.</p>
6
New cards

Реляционная модель

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

7
New cards

Модель ключ — значение

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

8
New cards

Документная модель

Здесь данные хранятся в виде документов (например, в форматах JSON или XML). Каждый документ может содержать разные типы информации, и не нужно заранее задавать структуру (не требуется заранее определять, какие поля и типы данных будут у документов — в отличие от реляционных баз данных). Эта модель используется для гибкого хранения данных, например, в социальных сетях или интернет-магазинах (гибкость и отсутствие фиксированной структуры).

9
New cards

Пример применения баз данных

  • Бизнес: Хранение данных о клиентах и продажах.

  • Медицина: Хранение данных о пациентах, результатах анализов.

  • В банках: Хранение информации о клиентах, счетах и транзакциях.

10
New cards

Таблица в реляционной базе

Таблица — это основная структура хранения в реляционной базе. Она состоит из строк и столбцов:

  • Строки (или записи) содержат данные об отдельных объектах. Например, одна строка может описывать одного человека.

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

11
New cards

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

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

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

12
New cards

Внешний ключ

Поле в таблице, которое содержит ссылки на значения первичного ключа в другой таблице. Благодаря этому возможно связать данные между таблицами. Например, таблица «Люди» может содержать поле «Код страны», которое ссылается на таблицу «Страны».

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

13
New cards

Схема данных

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

14
New cards

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

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

15
New cards

Избыточность данных

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

16
New cards

Аномалии

Это ошибки, которые возникают из-за плохой структуры таблицы:

Типы аномалий:

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

  2. Аномалия удаления — это потеря важной информации при удалении записи из базы данных.

  • Например, если студент — единственный, кто записан на курс, и его удалить, то вместе с ним удалится и информация о самом курсе.

3. Аномалия изменения — когда данные дублируются и при изменении нужно править во многих местах.

17
New cards

Первая нормальная форма (1НФ)

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

18
New cards

Вторая нормальная форма (2НФ)

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

19
New cards

Неключевые поля

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

20
New cards

Третья нормальная форма (3НФ)

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

EmployeeID

Name

DepartmentID

DepartmentName

  • EmployeeIDключ

  • DepartmentIDнеключевое поле

  • DepartmentNameнеключевое поле

И здесь:

  • DepartmentName зависит от DepartmentID

  • DepartmentID зависит от EmployeeID

21
New cards

Декомпозиция

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

22
New cards

Денормализация

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

23
New cards

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

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

24
New cards

SQL-запрос

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

25
New cards

SQL

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

26
New cards

Типы СУБД по расположению данных

  • Локальные СУБД — база данных находится на одном компьютере или сервере.

  • Распределённые СУБДданные хранятся на нескольких серверах, которые физически могут находиться в разных местах.

27
New cards

PostgreSQL

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

28
New cards

MySQL

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

29
New cards

SQLite

Минималистичная встраиваемая СУБД. Всё содержимое базы данных хранится в одном файле. Не требует установки и настройки сервера. Используется в проектах с небольшим трафиком.

30
New cards

NoSQL-СУБД

Системы управления базами данных, не использующие реляционную модель. Примеры: MongoDB (документы), Redis (ключ-значение), Neo4j (графовая модель). Подходят для работы с большими объёмами разнородных данных.

31
New cards

Диалекты SQL

Разные СУБД могут использовать слегка отличающиеся версии SQL. Например, синтаксис или расширенные функции могут отличаться в MySQL, PostgreSQL или SQLite. Несмотря на это, основная структура запросов остаётся схожей.

32
New cards

Транзакция

Последовательность операций, которая выполняется как единое целое. Если одна из операций неудачна, можно "откатить" все изменения. Пример — перевод денег между счетами: списание и зачисление должны произойти вместе.

33
New cards

Тип данных

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

34
New cards

Строковые типы данных

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

Обычно используют CHAR или VARCHAR:

  • CHAR(n) — строка фиксированной длины. Например, CHAR(4) всегда занимает 4 символа, даже если записано «ab» — оставшиеся два символа будут пробелами.

  • VARCHAR(n) — строка переменной длины. Если хранится «ab» в VARCHAR(4), реально займёт только два символа.

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

35
New cards

Целочисленные типы данных

В SQL целочисленные типы данных используются для хранения целых чисел. В MySQL их несколько видов (TINYINT, SMALLINT, INT, BIGINT), которые отличаются размером и диапазоном чисел, которые можно хранить. Например, TINYINT — это очень маленькие числа от -128 до 127, а BIGINT — очень большие.

36
New cards

signed и unsigned

Все целые числа в MySQL бывают двух видов — signed и unsigned. Signed — это числа с возможностью быть отрицательными и положительными. Unsigned — только положительные, но диапазон в два раза больше. Например, если ты знаешь, что значение не может быть отрицательным — например, количество товаров на складе — лучше использовать unsigned, чтобы иметь больше доступных значений.

37
New cards

Числа с плавающей точкой

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

38
New cards

NULL

это специальное значение, которое означает отсутствие данных. Это не то же самое, что 0 или пустая строка. 0 — это число, пустая строка — это текст, а NULL значит, что данных вообще нет. Например, если у пользователя нет телефона, в поле с телефоном можно записать NULL.

39
New cards

ENUM

это тип данных, который может принимать только заранее оговорённые значения. Например, поле “пол” может иметь только ‘male’ или ‘female’. Если попытаться записать другое значение, база выдаст ошибку. Это очень удобно, чтобы не допустить ошибочных данных.

40
New cards

Операторы

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

41
New cards

SELECT

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

42
New cards

FROM

ключевое слово для указания таблицы, из которой извлекаются данные.

43
New cards

DISTINCT

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

44
New cards

LIMIT

ключевое слово для ограничения количества извлекаемых записей.

45
New cards

OFFSET

ключевое слово для задания начальной точки извлечения. Можно использовать только в паре с ключевым словом LIMIT. Выражение LIMIT n OFFSET m можно записать в более коротком виде: LIMIT m, n.

Записи при использовании ключевого слова OFFSET индексируются с нуля, поэтому, например, выражение LIMIT 3 OFFSET 2 говорит о том, что должно быть извлечено три записи, начиная с третьей.