в чем разница между операторами delete drop и truncate

Отличия TRUNCATE от DELETE в языке T-SQL

Приветствую всех на сайте Info-Comp.ru! Сегодня я расскажу Вам об отличиях, которые существуют между инструкциями TRUNCATE TABLE и DELETE в языке T-SQL, Вы узнаете, в каких случаях лучше использовать DELETE, а в каких предпочтительней TRUNCATE.

в чем разница между операторами delete drop и truncate. Смотреть фото в чем разница между операторами delete drop и truncate. Смотреть картинку в чем разница между операторами delete drop и truncate. Картинка про в чем разница между операторами delete drop и truncate. Фото в чем разница между операторами delete drop и truncate

Для того чтобы удалить данные из таблицы в Microsoft SQL Server можно использовать несколько инструкций, в частности DELETE и TRUNCATE TABLE. Эти операторы похожи, так как их предназначение одно – это удаление строк из таблицы. В связи с этим у многих возникают вопросы, например – а в чем отличие TRUNCATE от DELETE? или Когда лучше использовать TRUNCATE, а когда DELETE? Подобные вопросы задают и на собеседованиях, ведь понимание различий между этими операторами помогает разработчикам SQL эффективно работать с данными, строить приложения и запросы.

Заметка! Сборник статей для изучения языка T-SQL и Microsoft SQL Server – в этом материале я собрал лучшие свои статьи по SQL Server и сгруппировал их по уровню подготовки.

Для начала давайте дадим короткое определение этим двум операторам.

Что такое DELETE?

DELETE – это SQL инструкция языка T-SQL, которая удаляет одну или несколько строк из таблицы или представления в Microsoft SQL Server, при этом эта операция всегда полностью регистрируется в журнале транзакций, т.е. каждая удаленная строка.

Что такое TRUNCATE TABLE?

TRUNCATE TABLE – это SQL инструкция языка T-SQL, которая удаляет все строки в таблице, не записывая в журнал транзакций удаление отдельных строк данных. TRUNCATE TABLE похожа на инструкцию DELETE без предложения WHERE, но она выполняется быстрее и требует меньше ресурсов.

Сравнительная таблица отличий TRUNCATE TABLE и DELETE

Теперь давайте сформируем сравнительную таблицу, в которой отразим все отличия и особенности работы TRUNCATE TABLE и DELETE в языке T-SQL.

DELETETRUNCATE TABLE
DELETE – это оператор DML (Data Manipulation Language)TRUNCATE TABLE – это оператор DDL (Data Definition Language);
DELETE может удалить часть данных за счет использования WHERETRUNCATE TABLE удаляет все данные из таблицы, секцию WHERE использовать нельзя
DELETE записывает в журнал транзакций удаление каждой строкиTRUNCATE TABLE удаляет все строки в таблице, не записывая при этом удаление отдельных строк данных в журнал транзакций
Для DELETE требуется больший объем журнала транзакцийДля TRUNCATE TABLE требуется меньший объем журнала транзакций, за счет того, что она не заносит в журнал запись для каждой удаляемой строки
DELETE выполняется медленнееTRUNCATE TABLE выполняется быстрее также за счет меньшего использования журнала транзакций
DELETE удаляет строки по одной за разTRUNCATE TABLE удаляет все строки в таблице путем освобождения страниц
DELETE создает блокировку на каждую строку, которую требуется удалить из таблицыTRUNCATE TABLE блокирует в целом таблицу и страницу, чтобы удалить все записи
DELETE сохраняет счетчик идентификаторов и не сбрасывает его до начального значенияTRUNCATE TABLE сбрасывает счетчик идентификаторов до начального значения
DELETE может активировать триггерTRUNCATE TABLE не может активировать триггер, поскольку в данном случае в журнал не записываются удаление отдельных строк
DELETE сохраняет статистику объекта и выделенное пространствоTRUNCATE TABLE освобождает все страницы данных таблицы, поэтому TRUNCATE удаляет всю статистику и выделенное пространство
DELETE можно использовать, если таблица является частью индексированного представленияTRUNCATE TABLE нельзя использовать, если таблица является частью индексированного представления
Чтобы использовать DELETE, необходимы соответствующие права на удаление данныхЧтобы использовать TRUNCATE TABLE, у Вас должны быть права на ALTER TABLE, т.е. на изменение таблицы

Таким образом, проанализировав таблицу, Вы можете решить, в каком случае для Вас будет лучше использовать TRUNCATE TABLE, а в каком DELETE.

Самым очевидным здесь является то, что если Вам нужно удалить не все данные из таблицы, а только часть, т.е. по условию WHERE, то Вы можете использовать только DELETE.

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

Пример отличия в работе TRUNCATE TABLE от DELETE

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

Создание тестовой таблицы

Выполняем удаление с помощью DELETE

в чем разница между операторами delete drop и truncate. Смотреть фото в чем разница между операторами delete drop и truncate. Смотреть картинку в чем разница между операторами delete drop и truncate. Картинка про в чем разница между операторами delete drop и truncate. Фото в чем разница между операторами delete drop и truncate

Выполняем удаление инструкцией TRUNCATE TABLE

в чем разница между операторами delete drop и truncate. Смотреть фото в чем разница между операторами delete drop и truncate. Смотреть картинку в чем разница между операторами delete drop и truncate. Картинка про в чем разница между операторами delete drop и truncate. Фото в чем разница между операторами delete drop и truncate

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

Заметка! Для комплексного изучения языка SQL и T-SQL рекомендую посмотреть мои видеокурсы по T-SQL, в которых используется последовательная методика обучения специально для начинающих.

Источник

Русские Блоги

2_TRUNCATE, разница между DELETE и DROP

Разница между TRUNCATE и DELETE

(1) Различные типы выписок

(2) Различный диапазон блокировки

При выполнении DELETE блокирует каждую строку данных; TRUNCATE блокирует всю таблицу

(3) Другой диапазон удаления

DELETE может ограничить диапазон удаляемых строк, добавив WHERE; TRUNCATE удаляет все данные в таблице

(4) DELETE может запускать триггер, TRUNCATE не запускает триггер

Примечание. Причина в том, что при DELETE операция удаления каждой строки будет регистрироваться; TRUNCATE не

(5) __ DELETE медленный по скорости, TRUNCATE быстрый, __ потому что DELETE имеет концепцию журнала

(6) __DELETE может ROLLBACK, TRUNCATE не может ROLLBACK

Примечание. По той же причине операция TRUNCATE не оставила журнал.

(7) Для столбца auto_increment счетчик не изменяется после DELETE; после TRUNCATE счетчик сбрасывается на начальное значение 1

(1) DROP также является оператором DDL

подводить итоги

УДАЛИТЬ удалить небольшую область;

TRUNCATE восстанавливает таблицу до того момента, когда она была только что создана без данных;

DROP стирает весь след таблицы

Интеллектуальная рекомендация

Tree Дерево отрезков линии】 COGS 2632

Ссылочный блогАвтор:dreaming__ldxИсточник: CSDN Портал последовательности операций 【Название описания】 Последовательность длины n, вес порядкового номера в начале равен 0, есть m операций Поддерживают.

в чем разница между операторами delete drop и truncate. Смотреть фото в чем разница между операторами delete drop и truncate. Смотреть картинку в чем разница между операторами delete drop и truncate. Картинка про в чем разница между операторами delete drop и truncate. Фото в чем разница между операторами delete drop и truncate

PAT-A-1046 кратчайшее расстояние [префикс и]

The task is really simple: given N exits on a highway which forms a simple cycle, you are supposed to tell the shortest distance between any pair of exits. Input Specification: Each input fi.

в чем разница между операторами delete drop и truncate. Смотреть фото в чем разница между операторами delete drop и truncate. Смотреть картинку в чем разница между операторами delete drop и truncate. Картинка про в чем разница между операторами delete drop и truncate. Фото в чем разница между операторами delete drop и truncate

Как нарисовать несколько линий ROC на одном графике?

в чем разница между операторами delete drop и truncate. Смотреть фото в чем разница между операторами delete drop и truncate. Смотреть картинку в чем разница между операторами delete drop и truncate. Картинка про в чем разница между операторами delete drop и truncate. Фото в чем разница между операторами delete drop и truncate

Класс коллекции JAVA

Резюме JAVA-коллекции Один, коллекция 1. Характеристики коллекций: коллекции используются только для хранения объектов, длина коллекции является переменной, и в коллекции могут храниться объекты разны.

в чем разница между операторами delete drop и truncate. Смотреть фото в чем разница между операторами delete drop и truncate. Смотреть картинку в чем разница между операторами delete drop и truncate. Картинка про в чем разница между операторами delete drop и truncate. Фото в чем разница между операторами delete drop и truncate

MySQL репликация главный-подчиненный + переключатель главный-подчиненный

MySQL репликация главный-подчиненный + переключатель главный-подчиненный 05 января 2018 10:46:35Протрите протирать прыжок Количество просмотров: 5183Более Персональная категория:база данныхЭксплуатаци.

Источник

Разница между drop table и truncate table?

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

19 ответов

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

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

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

посмотреть эта статья MSDN дополнительная информация

DROP TABLE удаляет таблицу.

усеченная таблица опустошает ее, но оставляет ее структуру для будущих данных.

DROP и TRUNC делают разные вещи:

УСЕЧЬ ТАБЛИЦУ

удаляет все строки из таблицы без записывая в журнал удаление отдельных строк. Усеченная таблица подобна Оператор DELETE без предложения WHERE; тем не менее, усеченная таблица быстрее и использует меньше системы и журнала транзакций ресурсы.

DROP TABLE

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

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

Я думаю, что вы имеете в виду разницу между DELETE TABLE и TRUNCATE TABLE.

DROP TABLE

удалить таблицу из базы данных.

УДАЛИТЬ ТАБЛИЦУ

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

УСЕЧЬ ТАБЛИЦУ

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

ни один из этих ответов не указывает на важное различие в этих двух операциях. Drop table-это операция, которую можно откатить. однако усечение не может быть откат [«усеченная таблица»также может быть откатана]. Таким образом, удаление очень большой таблицы может быть очень дорогим, если есть много строк, потому что все они должны быть записаны во временное пространство, если вы решите откатить его.

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

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

усеченная таблица сохраняет все ваши старые индексации и прочее. DROP TABLE, очевидно, избавится от таблицы и потребует от вас воссоздать ее позже.

Drop полностью избавляется от таблицы, удаляя определение. Truncate опустошает таблицу, но не избавляется от определения.

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

Если он вам больше не нужен, отбросьте его, чтобы он не загромождал вашу схему.

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

DELETE-это регистрируемая операция для каждой строки. Это средство что удаление каждой строки регистрируется и физически удаляется.

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

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

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

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

truncate удаляет все строки, но не саму таблицу, это по существу эквивалентно удалению без предложения where, но обычно быстрее.

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

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

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

кроме того, для получения более подробной информации о удалить и обрезать, см. В этой статье: http://www.sql-server-performance.com/faq/delete_truncate_difference_p1.aspx

таблица усечения функционально идентично инструкции DELETE с no Предложение WHERE: оба удаляют все строки в таблица. Но усекать таблицы быстрее и использует меньше системы и ресурсы журнала транзакций, чем удалить.

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

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

таблица усечения не может использоваться на участвуя таблицы в индексном вид.

в стандарте SQL DROP table удаляет таблицу, а схема таблицы-TRUNCATE удаляет все строки.

DROP Table

команда Drop используется для удаления таблицы из базы данных. Это команда DDL. Все строки, индексы и привилегии таблицы также будут удалены. Откат операции DROP невозможен.

удалить таблицу

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

усечь таблицу

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

ответы здесь совпадают с вопросом, но я собираюсь ответить на вопрос, который вы не задавали. «Должен ли я использовать truncate или delete?»Если вы удаляете все строки из таблицы, вы обычно хотите, чтобы усечь, так как это намного быстрее. Почему он намного быстрее? По крайней мере, в случае Oracle, он сбрасывает высокая вода знак. Это в основном разыменование данных и позволяет БД использовать его для чего-то другого.

УДАЛИТЬ VS УСЕЧЬ

удалить

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

усечь

инструкция Delete удалить строки таблицы и вернуть количество строк удаляется из таблицы.в этом операторе мы используем предложение where для удаления данных из таблицы

инструкция Truncate удалена или удалена все строки из таблицы.

оператор Drop удалил все записи, а также структуру таблицы

Drop отбросьте всю таблицу и всю ее структуру

усечь удалить все строки из таблицы он отличается от delete тем, что он также удаляет индексы строк

Источник

Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I

в чем разница между операторами delete drop и truncate. Смотреть фото в чем разница между операторами delete drop и truncate. Смотреть картинку в чем разница между операторами delete drop и truncate. Картинка про в чем разница между операторами delete drop и truncate. Фото в чем разница между операторами delete drop и truncate

Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик»

Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопросами по SQL с собеседований я познакомлю вас с наиболее часто задаваемыми вопросами по SQL (Structured Query Language — язык структурированных запросов). Эта статья является идеальным руководством для изучения всех концепций, связанных с SQL, Oracle, MS SQL Server и базой данных MySQL.

Наша статья с вопросами по SQL — универсальный ресурс, с помощью которого вы можете ускорить подготовку к собеседованию. Она состоит из набора из 65 самых распространенных вопросов, которые интервьюер может задать во время собеседования. Оно обычно начинается с базовых вопросов по SQL, а затем переходит к более сложным на основе обсуждения и ваших ответов. Эти вопросы по SQL с собеседований помогут вам извлечь максимальную выгоду на различных уровнях понимания.
Давайте начнем!

Вопросы по SQL с собеседований

Вопрос 1. В чем разница между операторами DELETE и TRUNCATE?

DELETETRUNCATE
Используется для удаления строки в таблицеИспользуется для удаления всех строк из таблицы
Вы можете восстановить данные после удаленияВы не можете восстановить данные (прим. перевод.: операции логируются по разному, но в SQL Server есть возможность сделать откат) транзакции)
DML-командаDDL-команда
Медленнее, чем оператор TRUNCATEБыстрее

№ Вопрос 2. Из каких подмножеств состоит SQL?

Вопрос 3. Что подразумевается под СУБД? Какие существуют типы СУБД?

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

Существует два типа СУБД:

Вопрос 4. Что подразумевается под таблицей и полем в SQL?

Таблица — организованный набор данных в виде строк и столбцов. Поле — это столбцы в таблице. Например:
Таблица: Student_Information
Поле: Stu_Id, Stu_Name, Stu_Marks

Вопрос 5. Что такое соединения в SQL?

Для соединения строк из двух или более таблиц на основе связанного между ними столбца используется оператор JOIN. Он используется для объединения двух таблиц или получения данных оттуда. В SQL есть 4 типа соединения, а именно:

Вопрос 6. В чем разница между типом данных CHAR и VARCHAR в SQL?

И Char, и Varchar служат символьными типами данных, но varchar используется для строк символов переменной длины, тогда как Char используется для строк фиксированной длины. Например, char(10) может хранить только 10 символов и не сможет хранить строку любой другой длины, тогда как varchar(10) может хранить строку любой длины до 10, т.е. например 6, 8 или 2.

Вопрос 7. Что такое первичный ключ (Primary key)?

в чем разница между операторами delete drop и truncate. Смотреть фото в чем разница между операторами delete drop и truncate. Смотреть картинку в чем разница между операторами delete drop и truncate. Картинка про в чем разница между операторами delete drop и truncate. Фото в чем разница между операторами delete drop и truncate

_Пример: в таблице Student StuID является первичным ключом.

Вопрос 8. Что такое ограничения (Constraints)?

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

Вопрос 9. В чем разница между SQL и MySQL?

SQL — стандартный язык структурированных запросов (Structured Query Language) на основе английского языка, тогда как MySQL — система управления базами данных. SQL — язык реляционной базы данных, который используется для доступа и управления данными, MySQL — реляционная СУБД (система управления базами данных), также как и SQL Server, Informix и т. д.

Вопрос 10. Что такое уникальный ключ (Unique key)?

Вопрос 11. Что такое внешний ключ (Foreign key)?

Вопрос 12. Что подразумевается под целостностью данных?

Целостность данных определяет точность, а также согласованность данных, хранящихся в базе данных. Она также определяет ограничения целостности для обеспечения соблюдения бизнес-правил для данных, когда они вводятся в приложение или базу данных.

Вопрос 13. В чем разница между кластеризованным и некластеризованным индексами в SQL?

Вопрос 14. Напишите SQL-запрос для отображения текущей даты.

В SQL есть встроенная функция GetDate (), которая помогает возвращать текущий timestamp/дату.

Вопрос 15. Перечислите типы соединений

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

в чем разница между операторами delete drop и truncate. Смотреть фото в чем разница между операторами delete drop и truncate. Смотреть картинку в чем разница между операторами delete drop и truncate. Картинка про в чем разница между операторами delete drop и truncate. Фото в чем разница между операторами delete drop и truncate

Inner join (Внутреннее соединение): в MySQL является наиболее распространенным типом. Оно используется для возврата всех строк из нескольких таблиц, для которых выполняется условие соединения.

Left Join (Левое соединение): в MySQL используется для возврата всех строк из левой (первой) таблицы и только совпадающих строк из правой (второй) таблицы, для которых выполняется условие соединения.

Right Join (Правое соединение): в MySQL используется для возврата всех строк из правой (второй) таблицы и только совпадающих строк из левой (первой) таблицы, для которых выполняется условие соединения.

Full Join (Полное соединение): возвращает все записи, для которых есть совпадение в любой из таблиц. Следовательно, он возвращает все строки из левой таблицы и все строки из правой таблицы.

Вопрос 16. Что вы подразумеваете под денормализацией?

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

Вопрос 17. Что такое сущности и отношения?

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

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

Вопрос 18. Что такое индекс?

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

Вопрос 19. Опишите различные типы индексов.

Есть три типа индексов, а именно:

Вопрос 20. Что такое нормализация и каковы ее преимущества?

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

Вопрос 21. В чем разница между командами DROP и TRUNCATE?

Команда DROP удаляет саму таблицу, и нельзя сделать Rollback команды, тогда как команда TRUNCATE удаляет все строки из таблицы (прим. перевод.: в SQL Server Rollback нормально отработает и откатит DROP).

Вопрос 22. Объясните различные типы нормализации.

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

Вопрос 23. Что такое свойство ACID в базе данных?

ACID означает атомарность (Atomicity), согласованность (Consistency), изолированность (Isolation), долговечность (Durability). Он используется для обеспечения надежной обработки транзакций данных в системе базы данных.

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

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

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

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

Вопрос 24. Что вы подразумеваете под «триггером» в SQL?

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

Вопрос 25. Какие операторы доступны в SQL?

В SQL доступно три типа оператора, а именно:

Вопрос 26. Совпадают ли значения NULL со значениями нуля или пробела?

Значение NULL вовсе не равно нулю или пробелу. Значение NULL представляет значение, которое недоступно, неизвестно, присвоено или неприменимо, тогда как ноль — это число, а пробел — символ.

Вопрос 27. В чем разница между перекрестным (cross join) и естественным (natural join) соединением?

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

Вопрос 28. Что такое подзапрос в SQL?

Подзапрос — это запрос внутри другого запроса, в котором определен запрос для извлечения данных или информации из базы данных. В подзапросе внешний запрос называется основным запросом, тогда как внутренний запрос называется подзапросом. Подзапросы всегда выполняются первыми, а результат подзапроса передается в основной запрос. Он может быть вложен в SELECT, UPDATE или любой другой запрос. Подзапрос также может использовать любые операторы сравнения, такие как >, SELECT * FROM table1
SELECT COUNT(*) FROM table1
SELECT rows FROM sysindexes WHERE AND indid

Ещё 35 вопросов с ответами опубликуем в следующей части… Следите за новостями!

Источник

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

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