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

Содержание

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

Слайд 1Introduction to Databases and SQL
ЛЕКЦИЯ 4


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

ограничение длины выборки

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

форм.
Нормальная форма – набор требований к таблице, характеризующих таблицу с точки зрения избыточности.

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

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

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

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

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

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


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

находится в 1NF и любая не ключевая колонка зависит от всего первичного ключа, а не от части ключа.

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

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

значения ModuleName зависят только от значений Module.

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

ModuleName в отдельную таблицу.

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

находится в 2NF и любая не ключевая колонка зависит от первичного ключа и только от первичного ключа.

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

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

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

в отдельную таблицу.

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

нормализации.

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

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


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

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

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

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

скобках должен соответствовать порядку колонок таблицы;
не ясно, как (не)вставлять значения для колонок с DEFAULT и NULL.

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

в скобках колонки, значения для которых указываются в списке VALUES:

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

Слайд 18Добавление множества строк
T-SQL позволяет при помощи одной инструкции 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 * 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

ID * 10, FirstName,
GETDATE(), 5 FROM Persons


Слайд 24Что же делает 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,

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

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

Слайд 26Построение предиката
При построении предиката используются операции сравнения, логические операции 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, используются операции 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, строки можно сравнивать с шаблоном.

В шаблоне _ означает один произвольный символ, а % – набор любых символов:

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

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

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

SELECT FirstName, LastName

FROM Persons
WHERE Department = 'QA'
ORDER BY LastName

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

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

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

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

совпадении имён – по фамилии:
SELECT FirstName, LastName FROM Persons
ORDER BY FirstName, LastName

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

значений (это работает по умолчанию), или DESC – по убыванию:
SELECT FirstName, LastName FROM Persons
ORDER BY FirstName DESC, LastName ASC

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

повторяющихся строк из выборки:
SELECT DISTINCT FirstName FROM Persons

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

2 ID, FirstName FROM Persons

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

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

набор по отсортированным значениям. Её можно применять только вместе с ORDER BY:
SELECT TOP 2 WITH TIES Department FROM Persons
ORDER BY Department

Слайд 36Последовательность ограничений
При наличии различных ограничений они работают так:
Фильтрация
Удаление дубликатов
Сортировка
Ограничение по длине

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

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

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

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

Что такое ThePresentation.ru?

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


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

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