Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Introduction to databases and SQL. Нормализация. Добавление строк в таблицу. Выборка информации. Фильтрация. (Лекция 4)

Содержание

Темы занятияНормализацияДобавление строк в таблицуВыборка информации – простейшие вариантыФильтрацияСортировкаУникальность строк и ограничение длины выборки
Introduction to Databases and SQLЛЕКЦИЯ 4 Темы занятияНормализацияДобавление строк в таблицуВыборка информации – простейшие вариантыФильтрацияСортировкаУникальность строк и ограничение длины выборки НормализацияНормализация – процесс преобразования таблиц базы данных в одну из нормальных форм.Нормальная Первая нормальная форма (1NF)Таблица находится в первой нормальной форме, если каждое её Первая нормальная форма (1NF)Что не так с этой таблицей?Непорядок с колонкой Phones Первая нормальная форма (1NF)Приведём таблицу к первой нормальной форме. Вторая нормальная форма (2NF)Таблица находится во второй нормальной форме, если она находится Вторая нормальная форма (2NF)Первичным ключом таблицы является пара колонок (Module,Lecture). Но значения Вторая нормальная форма (2NF)Приведём таблицу ко второй нормальной форме, выделив значения ModuleName в отдельную таблицу. Третья нормальная форма (3NF)Таблица находится в третьей нормальной форме, если она находится Третья нормальная форма (3NF)Первичный ключ – колонка ID. Значения в колонке Position Третья нормальная форма (3NF)Приведём таблицу к третьей нормальной форме, выделив Position в отдельную таблицу. ДенормализацияДенормализация – намеренное приведение структуры базы в состояние, не соответствующее критериям нормализации.Зачем Таблица PersonsВ дальнейших примерах презентации будет использоваться таблица Persons (данные сотрудников): Добавление строк в таблицуДобавление строк выполняется при помощи инструкции INSERT. Указывается имя Добавление строк в таблицуПростейший вариант INSERT обладает недостатками: порядок значений в скобках Добавление строк в таблицуПри использовании INSERT можно после имени таблицы перечислить в Добавление множества строкT-SQL позволяет при помощи одной инструкции INSERT добавить в таблицу Выборка информацииИнструкция SELECT возвращает набор данных (выборку), удовлетворяющих заданным условиям.В простейшем варианте Указание колонок таблицыВместо * можно перечислить через запятую колонки таблицы, из которых Псевдонимы колонокПри выборке для колонки можно указать псевдоним, и данные попадут в Псевдоним таблицыЕсли выборка производится из нескольких таблиц, у которых есть колонки с Операции с данными при выборкеПри выборке можно осуществить операции с данными:SELECT ID Что же делает SELECT?SELECT, по сути, выполняет преобразование данных. Мы указываем, как ФильтрацияДанные в источнике для выборки можно отфильтровать при помощи предложения WHERE, которое Построение предикатаПри построении предиката используются операции сравнения, логические операции AND, OR, NOT, Сравнение с NULLЧтобы сравнить значение с NULL, используются операции IS NULL и Сравнение строк с шаблономИспользуя оператор LIKE, строки можно сравнивать с шаблоном. В СортировкаСтроки в выборке можно отсортировать, используя предложение ORDER BY:SELECT FirstName, LastName FROM СортировкаПосле ORDER BY указывает колонка или выражение, по которому производится сортировка. Колонку Сортировка по нескольким колонкамСортируем данные из Persons по имени, а при совпадении СортировкаПосле имени колонки можно задать направление сортировки: ASC – по возрастанию значений Требование уникальностиУказание DISTINCT сразу после ключевого слова SELECT приводит к удалению повторяющихся Ограничение длины выборкиКоличество строк выборки можно ограничить, указав предложение TOP:SELECT TOP 2 Ограничение длины выборкиВ T-SQL есть опция WITH TIES – не разрывать набор Последовательность ограниченийПри наличии различных ограничений они работают так:ФильтрацияУдаление дубликатовСортировкаОграничение по длине выборкиНюанс:
Слайды презентации

Слайд 2 Темы занятия
Нормализация
Добавление строк в таблицу
Выборка информации – простейшие

Темы занятияНормализацияДобавление строк в таблицуВыборка информации – простейшие вариантыФильтрацияСортировкаУникальность строк и ограничение длины выборки

варианты
Фильтрация
Сортировка
Уникальность строк и ограничение длины выборки


Слайд 3 Нормализация
Нормализация – процесс преобразования таблиц базы данных в

НормализацияНормализация – процесс преобразования таблиц базы данных в одну из нормальных

одну из нормальных форм.
Нормальная форма – набор требований к

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

Короче: нормализация – изменение структуры БД для устранения избыточности данных.

Слайд 4 Первая нормальная форма (1NF)
Таблица находится в первой нормальной

Первая нормальная форма (1NF)Таблица находится в первой нормальной форме, если каждое

форме, если каждое её поле атомарно: значения в поле

не может быть разделено на фрагменты, имеющие самостоятельный смысл.

Слайд 5 Первая нормальная форма (1NF)
Что не так с этой

Первая нормальная форма (1NF)Что не так с этой таблицей?Непорядок с колонкой

таблицей?
Непорядок с колонкой Phones – не ясно, сколько там

телефонов, и каким должен быть размер колонки.

Слайд 6 Первая нормальная форма (1NF)
Приведём таблицу к первой нормальной

Первая нормальная форма (1NF)Приведём таблицу к первой нормальной форме.

форме.


Слайд 7 Вторая нормальная форма (2NF)
Таблица находится во второй нормальной

Вторая нормальная форма (2NF)Таблица находится во второй нормальной форме, если она

форме, если она находится в 1NF и любая не

ключевая колонка зависит от всего первичного ключа, а не от части ключа.

Хорошая новость: если первичный ключ атомарный и таблица в 1NF, то такая таблица уже находится в 2NF.

Слайд 8 Вторая нормальная форма (2NF)
Первичным ключом таблицы является пара

Вторая нормальная форма (2NF)Первичным ключом таблицы является пара колонок (Module,Lecture). Но

колонок (Module,Lecture). Но значения ModuleName зависят только от значений

Module.

Слайд 9 Вторая нормальная форма (2NF)
Приведём таблицу ко второй нормальной

Вторая нормальная форма (2NF)Приведём таблицу ко второй нормальной форме, выделив значения ModuleName в отдельную таблицу.

форме, выделив значения ModuleName в отдельную таблицу.


Слайд 10 Третья нормальная форма (3NF)
Таблица находится в третьей нормальной

Третья нормальная форма (3NF)Таблица находится в третьей нормальной форме, если она

форме, если она находится в 2NF и любая не

ключевая колонка зависит от первичного ключа и только от первичного ключа.

Слайд 11 Третья нормальная форма (3NF)
Первичный ключ – колонка ID.

Третья нормальная форма (3NF)Первичный ключ – колонка ID. Значения в колонке

Значения в колонке Position зависят только от колонки PositionCode.


Слайд 12 Третья нормальная форма (3NF)
Приведём таблицу к третьей нормальной

Третья нормальная форма (3NF)Приведём таблицу к третьей нормальной форме, выделив Position в отдельную таблицу.

форме, выделив Position в отдельную таблицу.


Слайд 13 Денормализация
Денормализация – намеренное приведение структуры базы в состояние,

ДенормализацияДенормализация – намеренное приведение структуры базы в состояние, не соответствующее критериям

не соответствующее критериям нормализации.

Зачем денормализовать? Минимум две причины:
Повышение производительности

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

Слайд 14 Таблица Persons
В дальнейших примерах презентации будет использоваться таблица

Таблица PersonsВ дальнейших примерах презентации будет использоваться таблица Persons (данные сотрудников):

Persons (данные сотрудников):


Слайд 15 Добавление строк в таблицу
Добавление строк выполняется при помощи

Добавление строк в таблицуДобавление строк выполняется при помощи инструкции INSERT. Указывается

инструкции INSERT. Указывается имя таблицы. В простейшем варианте в

скобках задаётся значения всех полей добавляемой строки через запятую:
INSERT INTO Persons
VALUES (10, 'Alex', 'Volosevich', 'TC');

*) для IDENTITY-колонки значение не указывается.

Слайд 16 Добавление строк в таблицу
Простейший вариант INSERT обладает недостатками:

Добавление строк в таблицуПростейший вариант INSERT обладает недостатками: порядок значений в

порядок значений в скобках должен соответствовать порядку колонок таблицы;

не ясно, как (не)вставлять значения для колонок с DEFAULT и NULL.

Слайд 17 Добавление строк в таблицу
При использовании INSERT можно после

Добавление строк в таблицуПри использовании INSERT можно после имени таблицы перечислить

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

указываются в списке VALUES:

INSERT INTO Persons(ID, Department, FirstName)
VALUES (11, 'TC', 'Alex');

Слайд 18 Добавление множества строк
T-SQL позволяет при помощи одной инструкции

Добавление множества строкT-SQL позволяет при помощи одной инструкции INSERT добавить в

INSERT добавить в таблицу несколько строк:

INSERT INTO Persons(ID, FirstName,

LastName, Department)
VALUES (1, 'Anna', 'Klimenok', 'QA'),
(2, 'Olga', 'Chekan', 'QA'),
(3, 'Olga', 'Naumik', 'QA'),
(4, 'Alexey', NULL, 'TC'),
(5, 'Oleg', NULL, 'TC'),
(6, 'Sergey', 'Pavlov', 'DV');

Слайд 19 Выборка информации
Инструкция SELECT возвращает набор данных (выборку), удовлетворяющих

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

заданным условиям.

В простейшем варианте SELECT извлекает информацию из всех

колонок и всех строк одной указанной таблицы:
SELECT * FROM Persons

Слайд 20 Указание колонок таблицы
Вместо * можно перечислить через запятую

Указание колонок таблицыВместо * можно перечислить через запятую колонки таблицы, из

колонки таблицы, из которых будет формироваться выборка (это называется

проекция). Колонки можно указывать в любом порядке или даже повторять:
SELECT FirstName, ID, ID FROM Persons

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

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

и данные попадут в выборку под указанным именем:
SELECT ID,

FirstName AS Name FROM Persons

В T-SQL при задании псевдонимов можно не писать AS (просто пробел поставить) или вместо AS ставить = (в этом случае псевдоним пишем слева):
SELECT ID, Name = FirstName FROM Persons

Слайд 22 Псевдоним таблицы
Если выборка производится из нескольких таблиц, у

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

которых есть колонки с одинаковыми именами, то на колонку

нужно ссылаться так:
имя_таблицы.имя_колонки

Для удобства можно использовать псевдоним таблицы:
SELECT P.ID FROM Persons AS P

Слайд 23 Операции с данными при выборке
При выборке можно осуществить

Операции с данными при выборкеПри выборке можно осуществить операции с данными:SELECT

операции с данными:
SELECT ID * 10, FirstName,

GETDATE(), 5 FROM Persons


Слайд 24 Что же делает SELECT?
SELECT, по сути, выполняет преобразование

Что же делает SELECT?SELECT, по сути, выполняет преобразование данных. Мы указываем,

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

SELECT повторяет наши указания для всех строк.
SELECT X=A, B, Y=C+D, Z=10 FROM Tbl

X = A
B = B
Y = C+D
Z = 10




Слайд 25 Фильтрация
Данные в источнике для выборки можно отфильтровать при

ФильтрацияДанные в источнике для выборки можно отфильтровать при помощи предложения WHERE,

помощи предложения WHERE, которое записывается после SELECT-части и содержит

условие-фильтр (это условие называется предикатом):

SELECT FirstName, LastName FROM Persons
WHERE Department = 'QA'

Слайд 26 Построение предиката
При построении предиката используются операции сравнения, логические

Построение предикатаПри построении предиката используются операции сравнения, логические операции AND, OR,

операции AND, OR, NOT, операции IN (NOT IN) и

BETWEEN (NOT BETWEEN):
SELECT FirstName, LastName FROM Persons
WHERE (Department <> 'QA' AND ID >= 5);
SELECT FirstName, LastName FROM Persons
WHERE ID IN (1, 3, 5);
SELECT FirstName, LastName FROM Persons
WHERE ID BETWEEN 2 AND 4;

Слайд 27 Сравнение с NULL
Чтобы сравнить значение с NULL, используются

Сравнение с NULLЧтобы сравнить значение с NULL, используются операции IS NULL

операции IS NULL и IS NOT NULL:

SELECT FirstName, LastName

FROM Persons
WHERE LastName IS NULL

SELECT FirstName, LastName FROM Persons
WHERE LastName IS NOT NULL

Слайд 28 Сравнение строк с шаблоном
Используя оператор LIKE, строки можно

Сравнение строк с шаблономИспользуя оператор LIKE, строки можно сравнивать с шаблоном.

сравнивать с шаблоном. В шаблоне _ означает один произвольный

символ, а % – набор любых символов:

SELECT FirstName, LastName FROM Persons
WHERE FirstName LIKE 'Ol%' -- Oleg, Olga

SELECT FirstName, LastName FROM Persons
WHERE FirstName LIKE 'Ol_a' -- Olga

Слайд 29 Сортировка
Строки в выборке можно отсортировать, используя предложение ORDER

СортировкаСтроки в выборке можно отсортировать, используя предложение ORDER BY:SELECT FirstName, LastName

BY:

SELECT FirstName, LastName FROM Persons
WHERE Department = 'QA'
ORDER BY

LastName

Слайд 30 Сортировка
После ORDER BY указывает колонка или выражение, по

СортировкаПосле ORDER BY указывает колонка или выражение, по которому производится сортировка.

которому производится сортировка. Колонку можно указать с помощью имени

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

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

Слайд 31 Сортировка по нескольким колонкам
Сортируем данные из Persons по

Сортировка по нескольким колонкамСортируем данные из Persons по имени, а при

имени, а при совпадении имён – по фамилии:
SELECT FirstName,

LastName FROM Persons
ORDER BY FirstName, LastName

Слайд 32 Сортировка
После имени колонки можно задать направление сортировки: ASC

СортировкаПосле имени колонки можно задать направление сортировки: ASC – по возрастанию

– по возрастанию значений (это работает по умолчанию), или

DESC – по убыванию:
SELECT FirstName, LastName FROM Persons
ORDER BY FirstName DESC, LastName ASC

Слайд 33 Требование уникальности
Указание DISTINCT сразу после ключевого слова SELECT

Требование уникальностиУказание DISTINCT сразу после ключевого слова SELECT приводит к удалению

приводит к удалению повторяющихся строк из выборки:
SELECT DISTINCT FirstName

FROM Persons

Слайд 34 Ограничение длины выборки
Количество строк выборки можно ограничить, указав

Ограничение длины выборкиКоличество строк выборки можно ограничить, указав предложение TOP:SELECT TOP

предложение TOP:
SELECT TOP 2 ID, FirstName FROM Persons

T-SQL позволяет

задать в TOP процент от общего числа строк выборки:
SELECT TOP 25 PERCENT ID, FirstName FROM Persons

Слайд 35 Ограничение длины выборки
В T-SQL есть опция WITH TIES

Ограничение длины выборкиВ T-SQL есть опция WITH TIES – не разрывать

– не разрывать набор по отсортированным значениям. Её можно

применять только вместе с ORDER BY:
SELECT TOP 2 WITH TIES Department FROM Persons
ORDER BY Department

  • Имя файла: introduction-to-databases-and-sql-normalizatsiya-dobavlenie-strok-v-tablitsu-vyborka-informatsii-filtratsiya-lektsiya-4.pptx
  • Количество просмотров: 115
  • Количество скачиваний: 0