Похожие презентации:
Нормализация таблиц
1.
НОРМАЛИЗАЦИЯ ТАБЛИЦ2.
Рассмотрим один из способов нормализации таблиц на примереДана ненормализованная таблица пользователей. Найдем ее проблемы:
1. ФИО следует разбить на отдельные колонки
2. Серия и номер паспорта, таже должны быть разделены
3. Серия, номер, дата выдачи, выдан, код подразделения относятся к паспорту, а сам паспорт к
пользователю
4. Логин и пароль – это учетные данные пользователя. Их следует вынести отдельно
5. В колонке «Роль» повторяются одни и те же данные. Следует выделить отдельную таблицу для роли
3.
Для нормализации такойтаблицы подойдет Power Query
Чтобы его открыть, перейдите в
раздел Данные и выберите
Из таблицы/диапазона
4.
Как можно заметить, этатаблица содержит заголовки
(названия колонок), поэтому
необходимо установить галочку
«Таблица с заголовками»
Далее нажмите ОК
5.
Интерфейс редактора Power QueryВ левой части окна содержится список
созданных таблиц (в самом редакторе).
В Power Query они называются
запросами
6.
Интерфейс редактора Power QueryВ правой части окна история
изменений в открытой таблице
Если необходимо отменить какое-либо
действие, то необходимо нажать рядом
с ним на крестик
7.
Интерфейс редактора Power QueryПереименовать таблицу можно в
списке таблиц (двойным кликом или
F2) или в свойствах, в правой части
экрана
8.
Первая проблема, котораяприсутствовала в таблице –
неразбитое по отдельным колонкам
ФИО
Для разделения столбца нажмите
ПКМ по его названию –> Разделить
столбец –> по разделителю
9.
В открывшемся окне выберитеразделитель. В текущем случае – это
пробел
Нажмите ОК
10.
Получившиеся столбцы необходимопонятно переименовать. Для этого
необходимо дважды кликнуть по
текущему названию столбца
11.
Получившиеся столбцы необходимопонятно переименовать. Для этого
необходимо дважды кликнуть по
текущему названию столбца
Для расклейки серии и номера,
используйте ту же самую функцию
12.
Тип «Дата» превратился в «Дата ивремя»
13.
Чтобы изменять типы данных,выберите столбец, перейдите в
раздел Преобразование, в
выпадающем списке «Тип данных»
выберите нужный тип
14.
Эти данные напрямую кпользователю не относятся.
Они относятся к паспорту,
который относится к
пользователю
15.
Выясним, какая будет связь между этими таблицами:У одного пользователя может быть только один паспорт
Один паспорт принадлежит одному пользователю
Связь 1 к 1 –> У паспорта первичным ключом будет код
пользователя
16.
Добавим таблицепользователя первичный ключ
Раздел Добавление столбца –>
Столбец индекса –> От 1
17.
Именуем его как «Код пользователя»18.
Чтобы вынести паспортные данные из этойтаблицы, сделайте дубликат текущей.
Новую таблицу назовите соответствующе
19.
Из таблицы необходимо удалить ненужные столбцы. Существует 3способа:
1. Выбрать все ненужные столбцы и нажать «Удалить столбцы»
2. Выбрать все столбцы, которые должны остаться и нажать «Удалить
другие столбцы»
20.
Должны остаться только такие столбцы21.
Из таблицы пользователей колонки, связанные с паспортнымиданными теперь можно удалить
22.
Логин и пароль относятся к учетнымданными пользователя –> их также
необходимо вынести в отдельную
таблицу
Связь:
Одни учетные данные принадлежат
одному пользователю
Один пользователь обладает одними
учетными данными
Выноситься в отдельную таблицу они
будут тем же способом, что и паспорт
23.
Роль повторяется в несколькихстроках. Хранить ее в виде строки
неудобно, проще хранить ссылку на
нее –> создадим таблицу ролей
Связь:
Один пользователь обладает одной
ролью
Одна роль может принадлежать
многим пользователям
Связь 1 к М
24.
Дублируем таблицу пользователей иименуем новую таблицу как «Роль». В
новой таблице удалим все столбцы,
которые не относятся к роли
25.
В столбце получилось многодубликатов. Чтобы их удалить,
кликните ПКМ по наименованию
столбца –> Удалить дубликаты
26.
Чтобы таблица соответствовала 3НФ,ей необходимо дать первичный ключ.
Дадим его с помощью столбца
индекса от 1
27.
Для замены наименований ролей накоды в таблице пользователей
необходимо соединить 2 таблицы с
помощью функции «Объединить
запросы»
Главная –> Объединить –>
Объединить запросы
28.
Выберите таблицу, с которойнеобходимо соединить текущую.
Нажмите на столбцы, данные у
которых совпадают. В текущем
случае, это столбцы «Роль»
29.
Появится новый столбец с типомданных Table
30.
Нажмите на стрелочки рядом сназванием столбца и выберите
столбец, который необходимо
отображать
Таблицу, в которой содержатся
наименования, можно удалить
31.
Для сохранения результата можнонажать на крестик (у окна редактора
Power Query) и в диалоговом окне
выбрать «Сохранить»
32.
РезультатПользователь
Учетные данные
33.
РезультатПаспорт
Роль