SQL cобеседования – Telegram
SQL cобеседования
777 subscribers
97 photos
181 links
Подготовка к собеседованиям в IT

Еще больше разобранных вопросов для подготовки на сайте https://frontview-it.ru

Backend - @frontview_backend
Frontend - @frontview_it
Все IT вакансии - @frontview_all_vacancies
Download Telegram
🔥 Что такое триггер в базе данных?

Триггер – это автоматически выполняемый набор SQL-операций, который срабатывает при наступлении определённых событий в базе данных, таких как вставка, обновление или удаление записей.

Создание триггера:

CREATE TRIGGER trg_before_insert
BEFORE INSERT ON employees
FOR EACH ROW
BEGIN
SET NEW.created_at = NOW();
END;

В этом примере триггер trg_before_insert устанавливает поле created_at текущим временем перед вставкой новой записи в таблицу employees.

Типы триггеров:
- BEFORE – выполняется перед операцией (INSERT, UPDATE, DELETE).
- AFTER – выполняется после операции.
- INSTEAD OF – используется в представлениях для замены стандартных операций.

Преимущества использования триггеров:
- Автоматизация задач: автоматически поддерживают целостность данных.
- Контроль данных: обеспечивают выполнение бизнес-логики на уровне базы данных.
- Безопасность: ограничивают прямое изменение данных пользователями.

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

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

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
🔥 Как обеспечить безопасность данных в SQL?

Безопасность данных в SQL достигается посредством нескольких ключевых методов:

1. Контроль доступа:
Использование ролей и привилегий для ограничения доступа к данным.

GRANT SELECT, INSERT ON employees TO user_role;


2. Аутентификация и авторизация:
Настройка надежной аутентификации пользователей и определение их прав доступа.

3. Шифрование данных:
Шифрование чувствительных данных как при хранении, так и при передаче.

CREATE TABLE users (
user_id INT PRIMARY KEY,
username VARCHAR(50),
password VARBINARY(256) -- хранение хешированных паролей
);


4. Защита от SQL-инъекций:
Использование параметризованных запросов и подготовленных выражений.

cursor.execute("SELECT * FROM users WHERE username = %s", (username,))


5. Аудит и мониторинг:
Ведение журналов доступа и изменений для отслеживания подозрительной активности.

6. Регулярное обновление:
Применение обновлений безопасности и патчей к системе управления базами данных (СУБД).

7. Резервное копирование:
Создание регулярных резервных копий данных для предотвращения потери информации.

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

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
🔥 Что такое миграция данных?

Миграция данных – процесс переноса информации из одной системы или базы данных в другую. Этот процесс необходим при обновлении систем, консолидации данных или переходе на новые платформы.

Основные этапы миграции данных:

1. Планирование: Определение целей, объёма данных и требований к новой системе.
2. Анализ источника и целевой системы: Оценка структуры данных, совместимости и возможных проблем.
3. Очистка данных: Устранение дублирующейся или некорректной информации для обеспечения качества данных.
4. Трансформация данных: Преобразование данных в формат, совместимый с целевой системой.
5. Перенос данных: Физическое перемещение данных с использованием инструментов миграции.
6. Валидация: Проверка целостности и корректности перенесённых данных.
7. Тестирование и запуск: Убедиться в правильной работе новой системы с мигрированными данными.

Инструменты для миграции данных:
- ETL-платформы (Extract, Transform, Load) такие как Informatica, Talend.
- Средства встроенных СУБД, например, SQL Server Migration Assistant.
- Скрипты на SQL для ручной миграции.

Рекомендации:
- Тщательно планировать процесс миграции.
- Проводить миграцию в несколько этапов с тестированием на каждом шаге.
- Обеспечивать резервное копирование данных перед началом миграции.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🔥 Что такое временные данные в базе данных?

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

Типы временных данных:
- Текущее время: Отражает актуальное состояние данных.
- Исторические записи: Хранят предыдущие состояния данных для анализа изменений.
- Период времени: Указывает временные рамки, в течение которых данные были актуальны.

Примеры использования:
- Отслеживание изменений цен: Сохранение истории изменений стоимости товаров.
- Управление персоналом: Хранение информации о назначениях сотрудников на разные должности с указанием дат начала и окончания.
- Финансовые отчёты: Анализ финансовых показателей за разные периоды.

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


CREATE TABLE employees (
employee_id INT PRIMARY KEY,
name VARCHAR(100),
position VARCHAR(50),
valid_from DATETIME2 GENERATED ALWAYS AS ROW START,
valid_to DATETIME2 GENERATED ALWAYS AS ROW END,
PERIOD FOR SYSTEM_TIME (valid_from, valid_to)
) WITH (SYSTEM_VERSIONING = ON);


Преимущества временных данных:
- Улучшенная аналитика и отчётность.
- Возможность восстановления предыдущих состояний данных.
- Повышение прозрачности и контроля над изменениями в базе данных.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
🔥 Расскажи про эффективные запросы в SQL?

Эффективные запросы в SQL обеспечивают быструю обработку и минимальное использование ресурсов.

Ключевые подходы:

- Использование индексов: Создание индексов на часто используемых столбцах ускоряет поиск.

CREATE INDEX idx_name ON employees(name);


- Оптимизация JOIN: Применение правильных типов JOIN и условий ограничивает объем обрабатываемых данных.

- Уточнение выборки: Использование WHERE для фильтрации данных и выбор только необходимых столбцов вместо SELECT *.

SELECT name, salary FROM employees WHERE department_id = 3;


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

- Проверка плана выполнения: Использование EXPLAIN для анализа и улучшения эффективности запросов.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
🔥 Что такое администрирование баз данных?

Администрирование баз данных включает управление, настройку и обслуживание систем управления базами данных (СУБД). Основные задачи:

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

Резервное копирование и восстановление: Обеспечение сохранности данных путем регулярного создания резервных копий и возможности их восстановления при необходимости.

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

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

Обновление и патчи: Поддержка СУБД в актуальном состоянии, установка обновлений и исправлений для улучшения функциональности и безопасности.

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

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
🔥 Как импортировать данные в базу данных?

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

Основные методы импорта данных:

1. Использование SQL-команд:

COPY (PostgreSQL):


COPY employees FROM '/path/to/file.csv' DELIMITER ',' CSV HEADER;


BULK INSERT (SQL Server):


BULK INSERT employees
FROM 'C:\path\to\file.csv'
WITH (
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
FIRSTROW = 2
);


2. Инструменты СУБД:
Многие СУБД предоставляют графические мастера для импорта данных, упрощающие процесс без необходимости писать SQL-код.

3. ETL-инструменты:
Платформы Extract, Transform, Load (например, Talend, Informatica) позволяют автоматизировать и управлять сложными процессами импорта, включая трансформацию данных.

Рекомендации:

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

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

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
🔥 Что такое хранилище данных?

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

Ключевые особенности:
- Интеграция данных: Сбор и унификация информации из разных систем.
- Историчность: Хранение данных на длительный период для анализа тенденций.
- Неизменяемость: Данные фиксируются после загрузки, что обеспечивает их целостность.

Архитектуры:
- ETL-процесс (Extract, Transform, Load): Извлечение, преобразование и загрузка данных.
- Многомерные модели: Схемы звезд и снежинок для организации данных по измерениям.

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

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🔥 Что такое LEFT JOIN?

LEFT JOIN в SQL используется для объединения двух таблиц таким образом, что все записи из левой таблицы включаются в результат, а соответствующие записи из правой таблицы добавляются, если они существуют. Если соответствующих записей в правой таблице нет, поля правой таблицы будут содержать NULL.

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

Пример запроса:


SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.id;


В этом примере выводятся имена всех сотрудников и названия их отделов. Для сотрудников без отдела поле department_name будет NULL.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🔥 Что такое первичный ключ и для чего он нужен?

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

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

Например, в таблице сотрудников поле id может служить первичным ключом:


CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100),
department_id INT
);


В этом примере поле id гарантирует, что каждый сотрудник имеет уникальный идентификатор, что упрощает управление и поиск записей.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
🔥 В чем разница между коррелируемым и некоррелируемым подзапросом?

Коррелируемый и некоррелируемый подзапросы являются важными концепциями в SQL.

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


SELECT name FROM employees WHERE department_id IN (SELECT id FROM departments WHERE location = 'NY');


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


SELECT e1.name FROM employees e1
WHERE salary > (SELECT AVG(salary) FROM employees e2 WHERE e2.department_id = e1.department_id);


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

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
🔥 Как объединить несколько запросов в один?

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

UNION объединяет результаты двух или более SELECT-запросов. Все запросы должны иметь одинаковое количество и типы столбцов.


SELECT name FROM employees WHERE department = 'Sales'
UNION
SELECT name FROM customers WHERE region = 'West';


JOIN позволяет объединить данные из нескольких таблиц на основе связанных столбцов.


SELECT e.name, d.department_name
FROM employees e
JOIN departments d ON e.department_id = d.id;


Common Table Expressions (CTE) с помощью конструкции WITH позволяет создавать временные наборы данных, которые можно использовать в основном запросе.


WITH SalesDept AS (
SELECT * FROM departments WHERE name = 'Sales'
)
SELECT e.name, s.name
FROM employees e
JOIN SalesDept s ON e.department_id = s.id;


Выбор метода зависит от задачи и структуры данных. UNION подходит для объединения результатов с одинаковой структурой, JOIN — для сочетания связанных таблиц, а CTE удобны для упрощения сложных запросов и повышения читаемости.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
🔥 Что такое ACID-принципы?

ACID-принципы играют ключевую роль в обеспечении надежности транзакций в базах данных.

Атомарность (Atomicity) гарантирует, что транзакция выполняется полностью или не выполняется вовсе. Если часть транзакции не может быть выполнена, все изменения откатываются.

Согласованность (Consistency) обеспечивает переход базы данных из одного согласованного состояния в другое. Все правила и ограничения базы данных соблюдаются при выполнении транзакции.

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

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

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

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93
🔥 Какие существуют основные формы нормализации?

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

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

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

Нормальная форма Бойса-Кодда (BCNF)
Более строгая версия 3NF, где каждая детерминанта является кандидатом на ключ. Это еще больше устраняет аномалии и обеспечивает высокую степень нормализации.

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

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
🔥 Как создать представление?

Представление (view) в SQL — это виртуальная таблица, созданная на основе результата запроса. Оно позволяет упростить сложные запросы, обеспечить безопасность данных и повысить удобство работы с базой данных.

Для создания представления используется оператор CREATE VIEW.


CREATE VIEW SalesEmployees AS
SELECT name, department, salary
FROM employees
WHERE department = 'Sales';


После создания представления можно обращаться к нему как к обычной таблице:


SELECT * FROM SalesEmployees;


Преимущества использования представлений:

- Абстракция сложности запросов: упрощение доступа к данным.
- Ограничение доступа: предоставление только необходимых данных пользователям.
- Упрощение поддержки: централизованное управление логикой запросов.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🔥 Как создать триггер в SQL?

Триггер в SQL — это объект базы данных, который автоматически выполняет заданный набор действий при наступлении определённых событий, таких как вставка, обновление или удаление данных.

Для создания триггера используется оператор CREATE TRIGGER. Создание триггера, который записывает изменения при обновлении зарплаты сотрудника:


CREATE TRIGGER trg_after_update_salary
AFTER UPDATE ON employees
FOR EACH ROW
BEGIN
IF NEW.salary <> OLD.salary THEN
INSERT INTO salary_changes (employee_id, old_salary, new_salary, change_date)
VALUES (OLD.id, OLD.salary, NEW.salary, NOW());
END IF;
END;


Основные моменты:

- Событие триггера: INSERT, UPDATE, DELETE.
- Время срабатывания: BEFORE или AFTER события.
- Область действия: для каждой строки FOR EACH ROW или для всей операции.

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

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
👇 Другие направления для подготовки тут:

👩‍💻 Frontend
👩‍💻 Python
👩‍💻 Go
👩‍💻 Java
👩‍💻 C/C++
👩‍💻 C#
👩‍💻 PHP
👩‍💻 QA
👩‍💻 Git
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Как управлять доступом к базе данных?

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

Создание пользователя:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';


Назначение привилегий:

GRANT SELECT, INSERT, UPDATE ON database.table TO 'username'@'host';


Использование ролей:
Роли позволяют группировать привилегии и назначать их пользователям.

CREATE ROLE 'read_only';
GRANT SELECT ON database.* TO 'read_only';
GRANT 'read_only' TO 'username'@'host';


Отзыв привилегий:

REVOKE INSERT ON database.table FROM 'username'@'host';


Аутентификация и авторизация:
Аутентификация проверяет личность пользователя, а авторизация определяет его права доступа.

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

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

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

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
🔥 В чем разница между хранимой процедурой и функцией?

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

Хранимая процедура предназначена для выполнения операций, таких как изменение данных или управление транзакциями. Она может принимать параметры, выполнять множество SQL-запросов и не обязательно возвращает значение. Пример создания процедуры:


CREATE PROCEDURE UpdateSalary @EmployeeID INT, @NewSalary DECIMAL
AS
BEGIN
UPDATE employees SET salary = @NewSalary WHERE id = @EmployeeID;
END;


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


CREATE FUNCTION GetEmployeeSalary(@EmployeeID INT)
RETURNS DECIMAL
AS
BEGIN
RETURN (SELECT salary FROM employees WHERE id = @EmployeeID);
END;


Основные отличия:
- Возврат значения: функции обязательно возвращают значение, процедуры — нет.
- Использование в запросах: функции могут использоваться в SELECT, процедуры — нет.
- Изменение данных: процедуры могут изменять данные, функции только читать.
- Транзакции: процедуры могут управлять транзакциями, функции нет.

Понимание различий помогает эффективно использовать эти объекты для решения различных задач в базе данных.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🔥 Каковы основные этапы миграции данных?

1. Планирование и оценка
Определение целей миграции, анализ исходных и целевых систем, оценка объема и сложности данных. Разработка плана проекта с определением сроков и ресурсов.

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

3. Извлечение данных
Получение данных из исходных систем с использованием ETL-инструментов или скриптов. Обеспечение целостности и полноты извлеченных данных.

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

5. Загрузка данных
Импорт преобразованных данных в целевую систему. Использование методов массовой загрузки для эффективности и минимизации простоев.

6. Тестирование и валидация
Проверка корректности миграции, сравнение выборок данных, тестирование функциональности целевой системы с новыми данными. Выявление и исправление ошибок.

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

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
🔥 Как создать таблицу в SQL?

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

Синтаксис:

CREATE TABLE имя_таблицы (
столбец1 тип_данных [ОГРАНИЧЕНИЯ],
столбец2 тип_данных [ОГРАНИЧЕНИЯ],
...
);


Пример создания таблицы сотрудников:

CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
department VARCHAR(50),
hire_date DATE DEFAULT CURRENT_DATE,
salary DECIMAL(10,2) CHECK (salary > 0)
);


Пояснения:
- id INT PRIMARY KEY: уникальный идентификатор для каждого сотрудника.
- name VARCHAR(100) NOT NULL: имя сотрудника, обязательно для заполнения.
- department VARCHAR(50): отдел, может быть пустым.
- hire_date DATE DEFAULT CURRENT_DATE: дата найма, по умолчанию текущая дата.
- salary DECIMAL(10,2) CHECK (salary > 0): зарплата с проверкой на положительное значение.

Основные шаги:
1. Определение имени таблицы.
2. Перечисление столбцов с указанием типов данных.
3. Указание ограничений для обеспечения целостности данных.

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

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11