Определение структуры данных
Для создания базы данных используется команда CREATE DATABASE , после которой указывается название базы данных.
Для выполнения запросов будем использовать графический клиент pgAdmin, хотя также можно использовать консольный клиент psql.
Чтобы создать новую базу, данных откроем pgAdmin . В левой части программы выберем какую-нибудь базу данных, например, стандартную бд postgres, и нажмем на нее правой кнопкой мыши.

В появившемся меню выберем пункт Query Tool. , и в центральной части программы откроется поле для ввода кода SQL. В это поле введем следующий код:

Для выполнения кода нажмем на значок молнии, и после этого будет создана база данных usersdb.
Чтобы увидеть нашу базу данных, нажмем в левой части на узел Databases правой кнопкой мыши и в контекстном меню выберем Refresh. :

Произойдет обновление, и мы увидем созданную базу данных.

По умолчанию база является неактивной, поэтому ее значок имеет серый цвет. Но чтобы к ней подключиться, достаточно нажать на нее и раскрыть ее узел.
Удаление базы данных
Для удаления базы данных применяется команда DROP DATABASE , после которой указывается название базы данных.
Удаляемая база данных должна быть неактивной, то есть подключение к ней должно быть закрыта.
Database Dialog¶
Use the Database dialog to define or modify a database. To create a database, you must be a database superuser or have the CREATE privilege.
The Database dialog organizes the development of a database through the following dialog tabs: General, Definition, Security, and Parameters. The SQL tab displays the SQL code generated by dialog selections.

Use the fields in the General tab to identify the database:
Use the Database field to add a descriptive name for the database. The name will be displayed in the pgAdmin tree control.
Select the owner of the database from the drop-down listbox in the Owner field.
Store notes about the database in the Comment field.
Click the Definition tab to continue.

Use the Definition tab to set properties for the database:
Select a character set from the drop-down listbox in the Encoding field. The default is UTF8.
Select a template from the drop-down listbox in the Template field. If you do not specify a template, the database will use template1.
Select a tablespace from the drop-down listbox in the Tablespace field. The selected tablespace will be the default tablespace used to contain database objects.
Select the collation order from the drop-down listbox in the Collation field.
Select the character classification from the drop-down listbox in the Character Type field. This affects the categorization of characters, e.g. lower, upper and digit. The default, or a blank field, uses the character classification of the template database.
Specify a connection limit in the Connection Limit field to configure the maximum number of connection requests. The default value (-1) allows unlimited connections to the database.
If the templates? is set to true, then database will be a template database.
Click the Security tab to continue.

Use the Security tab to assign privileges and define security labels.
Use the Privileges panel to assign privileges to a role. Click the Add icon (+) to set privileges for database objects:
Select the name of the role from the drop-down listbox in the Grantee field.
Click inside the Privileges field. Check the boxes to the left of one or more privileges to grant the selected privilege to the specified user.
The current user, who is the default grantor for granting the privilege, is displayed in the Grantor field.
Click add to set additional privileges; to discard a privilege, click the trash icon to the left of the row and confirm deletion in the Delete Row popup.
Use the Security Labels panel to define security labels applied to the database. Click the Add icon (+) to add each security label selection:
Specify a security label provider in the Provider field. The named provider must be loaded and must consent to the proposed labeling operation.
Specify a a security label in the Security Label field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
To discard a security label, click the trash icon to the left of the row and confirm deletion in the Delete Row popup.
Click the Parameters tab to continue.

Use the Parameters tab to set parameters for the database. Click the Add icon (+) to add each parameter:
Use the drop-down listbox in the Name field to select a parameter.
Use the Value field to set a value for the parameter.
Use the drop-down listbox next to Role to select a role to which the parameter setting specified will apply.
Follow these steps to add additional parameter value definitions; to discard a parameter, click the trash icon to the left of the row and confirm deletion in the Delete Row popup.
Click the Advanced tab to continue.

Use the Advanced tab to set advanced parameters for the database.
Use Schema restriction field to provide a SQL restriction that will be used against the pg_namespace table to limit the schemas that you see. For example, you might enter: public so that only public are shown in the pgAdmin browser.Separate entries with a comma or tab as you type.
Click the SQL tab to continue.
Your entries in the Database dialog generate a SQL command (see an example below). Use the SQL tab for review; revisit or switch tabs to make any changes to the SQL command.
Example¶
The following is an example of the sql command generated by user selections in the Database dialog:

The example creates a database named hr that is owned by postgres. It allows unlimited connections, and is available to all authenticated users.
Создаём свою БД на PostgreSQL из CSV

Kaggle — — платформа созданная для проведение конкурсов по исследованию данных. Организаторы выкладывают Datasets , описывают задачи , метрики по которым будут выявляться победители конкурса , призы и время проведения. Каждый желающий может выставить свою работа по этим данных , красиво описать её , показать свои умения и надеяться на победу.
Мы будем использовать Used Cars Dataset
Также мы можем посмотреть Code других участников соревнования
подчерпнуть оттуда интересную информацию
найти нестандартные подходы к обработке данных
На примере других работа , научиться чему-то новому
и даже наткнуться на боже зачем это тут ? интересную работу по »Ускорение рабочего процесса Pandas с Modin»
Заставить других сделать свою работу
Узнать ответ на интересующий тебя вопрос(есть шанс)
Перейдём к делу, Pgadmin4

pgAdmin — это платформа с открытым исходным кодом для администрирования и разработки на PostgreSQL и связанных с ней систем управления базами данных.
pgAdmin будет предложен в установке PostgreSQL, я пользуюсь 14.3. Багов и проблем не боюсь , беру самую новую версию сразу видно профессионал. Если боитесь устанавливать приложение без ведения за ручку , вам поможет интернет()_(). Уже 1000 раз было рассказывать как это делать и что за чему , так что не буду тратить наше драгоценное.
Перейдём к делу 2, Python

Python — — высокоуровневый язык программирования. и нам нужна библиотека pandas
Перейдём к делу 3, Pycharm

Pycharm — — среда разработки(IDE) созданная специально для языка программирования Python.
Предоставляет средства для анализа кода
инструменты для отладки юнит-тестов
интуитивно понятный интерфейс
очень много полезных функций для продвинутых пользователей
Начнём кодить(0)_(з)
экспорт данных + получение основной информации
для начала открываем Pycharm, создаём там новый проект и в терминале инсталлируем библиотеку pаndas Открываем терминал и пишем там pip install pandas, нажимаем enter и ждём установки.
Далее нам надо открыть для чтения наш файл —

видим что из-за 26 столбцов, Pycharm не подгружает всё таблицу( в дальнейшем исправим)

Получаем основные данные из таблицы.
Название всех столбцов
Количество значений в них
Получаем гигантский DF который я не могу передать как картинку , так что переходим сразу обработке этих данных
Очистка данных
Убирает лишние столбцы
Нам точно не нужны url ссылки, и пустая строка country , так же нам не надо описание автомобиля на 1000+ символов(description) Так что пишемс простой код
drop удаления столбцов , Axis: указывает, что столбцы или строки должны быть удалены, inplace = True, он возвращает Data Frame с удаленными столбцами или None
После этого сохраняем наш изменённый df в новый файл , что бы в дальнейшем работать только с нужными данными
Убираем выбросы
Выбросы — — это данные, которые существенно отличаются от других наблюдений. Они могут соответствовать реальным отклонениям, но могут быть и просто ошибками
Нас интересуют выбросы в колонке price, согласитесь если цена на машину будет 5 000 000 000 долларов это будет сильно менять среднее значение цены и мешать нашим вычислениям
Находим выбросы
Узнаем самые часто встречаемые цены с помощью value_counts И_И узнаем статистику по цене в нашем df с помощью describe

слева видим что у нас есть 32к значений = 0, которые стоят обрезать , и множество значений цены = около 3к
справа у нас показатели зашкаливают и выдают огромные цифры. ЧТО ТО ТУТ НЕ ТАК.
А теперь сделаем грубую и ужасную профессиональную вырезку. Я называю её «и так сойдёт»(объясняю, мы как бы не готовим данные для отчётов и т.д , а просто убираем самый явный бред)
Импортируем 2 крутые штуки seaborn
Теперь в шапку нашего кода добавляем
Строем простецкий графии

Тут мы смотря на значения Y будем постепенно обрезать наши выбросы , пока они не станут чуть-чуть адекватными( код ниже)
Убираем выбросы
да это всё можно делать с помощью IQR (но это совершенно другая история)
И с помощью value_counts, describe проверяем похоже ли это на правду
Сохраняем то что сделали
Переноcим данные в СУБД
Создаём пустую бд под экспорт
Осталось дело за малым, открываем pgAdmin4(и подключаемся к серверу)

Далее нам нужно, создать базу данных

Выбираем нашу базу данных и открываем запросник

Вводим туда простейший код
дааааааа — можно использовать CHARACTER VARYING , int4 , date . Но мы сейчас не про экономию места на диске
Далее нам надо импортировать наши данные в таблицу
Занимаемся экспортом данных
Находим и открываем sql Shell (psql) — терминальный интерфейс для PostgreSQL

просто нажимаем на enter везде кроме, Database(название вашей базы данных) и Пароль пользователя postgres. И у нас начинается подключение
Создаем базу данных в PostgreSQ
Рассмотрим, как создавать базу данных в PostgreSQL, для этого мы будем использовать всем известную утилиту pgAdmin 4 для написания SQL-запросов для базы.
База данных в PostgreSQL
Перед тем как приступить к созданию базы необходимо установить программы PostgreSQL и pgAdmin 4.
Есть два варианта создать базу – с помощью pgAdmin 4 и SQL. В первом случаи это графический редактор, который упрощает работу с базой, во втором — язык.
Вариант 1
Откройте pgAdmin 4, щелкните правой кнопкой мыши на разделе «База данных» в браузере. Далее выберите «Создать -> Базу данных».

Откроется окошко «Создать базу данных», пропишите название будущей базы. Если вы не собираетесь включать – отключать какие — то дополнительные опции для работы базы, можно смело нажать «Сохранить». Такая настройка достаточна для создания базы с настройками по умолчанию – базовыми, которые вполне могут обеспечить стабильную работу базы.
В моем случаи на скриншоте ниже создана мной база данных под именем test_db.

Как видно на скриншоте ниже новая база данных успешно создана.

Вариант 2 — Использование языка программирования SQL
Так же можно использовать язык программирования SQL. Для этого выберите Postgres и запустите редактор SQL-запросов. Иконка редактора находится в панели меню в графическом виде на панели программы или же его можно вызвать через контекстное меню, для этого перейдите во вкладку Инструменты -> Запрос.

Следующим шагом пропишите SQL запрос:
CREATE DATABASE test_db; — в данном случаи инструкции test_db – это название моей базы, вы должны прописать свою.
Теперь ее осталось только запустить для этого нажмите на кнопочку «Выполнить».

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

Чтобы изменить-прописать какие либо SQL запросы для исполнения базой выделите их и запустите редактор.

В Linux для создания базы можно воспользоваться обычной консольной утилитой psql.
