Реорганизация БД — шаг 2
Наполнение таблиц первичными данными
начнем с Клиентов и Организаций.
В нашей замечательной табличке zakazi есть следующие колонки:
- «ime» — ФИО клиента
- «firma» — Название организации
- «tel» — телефон (непонятно чей, общий или личный).
- «email» — мыло (тоже не ясно, но разберемся)
Сейчас я попытаюсь вывести информацию из базы (17898 строк) в сгруппированном по Фирмам виде.
Затем вручную очищу от фейков, и заведу их в базу Организаций.
создам файл omg.php такого содержания:
<?php
$query = $mysqli->query("SELECT `ime`, `firma`,`tel`, `email` FROM `zakazi` GROUP BY `firma`");
echo '<table>';
while($rows = $query->fetch_array()){
echo '<tr>
<td>'.$rows[firma].'</td>
<td>'.$rows[ime].'</td>
<td>'.$rows[tel].'</td>
<td>'.$rows[email].'</td>
</tr>';
};
echo '</table>';
?>
Запустил скрипт, он вывел мне 2423 строки.
Копирую их в Excel и провожу ручную зачистку от фейков.
Excel как ничто другое подходит для таких мероприятий. В нем предостаточно мощного инструмента для поиска, сортировок и прочих манипуляций с большим количеством данных.
Некоторые менеджеры (да и сам я так делал) указывали либо свой емейл, либо что-то вроде 1@1.ru, вместо телефона — цифру 1. И тп.
Опустим тот момент, почему так происходит, просто остановимся на том, что такие данные мы загружать в базу не будем.
Немножко цифр из зачистки, ну так, забавы ради:
- фейковых телефонов — 1147 из 2423
- фейковых емейлов — 1400
- строк, в которых, по результатам зачистки, пустые оба поля мыла и телефона — 1641
- фейковых названий организаций — 53. Хмм, подозрительно, наверное я плохо искал
- самое забавное что нашел среди фейков — «Дама с собачкой»
- итого, после тотальной зачистки — 478 строк идет в базу.
Как запихнуть данные из Excel обратно в БД?
Я предпочитаю не делать себе мозги с импортом в CSV. Хожу на этот Замечательный ресурс
- выделяем в Экселе все ячейки таблицы,
- Ctrl+C,
- переходим в браузер, в этот конвертор,
- Ctrl+V в верхее окошко,
- между верхним и нижним окошком выбираем MySQL,
- и в результате мощного колдунства — получается готовый SQL запрос.
С клиентами и организациями, покончено, ура.
Теперь к материалам
Тут не намного сложнее. У меня есть прайс лист в Экселевском виде. Приведем его в нужный вид, и через уже знакомый Mr. Data Converter запихнем в базу.
Первичные данные добавлены. Теперь к сложному — дополнение уже имеющихся таблиц. Об этом — следующий пост.