Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Футбольная база / Таблица Commands - пас кодировками

  • На этом уроке мы создадим таблицу Commands и рассмотрим особенности работы
    с кодировками в psql
  • Дата отправки отчёта: 19 июня 2019 г.
  • Задание выполнено: за 51 мин.
  • Чему научился: MYSQL
    Разработка MySQL началась еще в 90х годах. Первый внутренний выпуск базы данных состоялся в 1995 году. За это время разработкой программы занимались несколько компаний. Разработка была начата шведской компанией MySQL AB, которую приобрела Sun Microsystems, которая, собственно перешла в собственность Oracle. На данный момент, начиная с 2010 года, разработкой занимается Oracle.

    POSTGRESQL
    Разработка Postrgresql началась в далеком 1986 году в стенах Калифорнийского университета Беркли. Разработка длилась почти восемь лет, затем проект разделился на две части коммерческую базу данных IIlustra и полностью свободный проект Postrgesql, который разрабатывается энтузиастами.
    MYSQL
    MySQL - это реляционная база данных, для хранения данных в таблицах используются различные движки, но работа с движками спрятана в самой системе. На синтаксис запросов и их выполнение движок не влияет. Поддерживаются такие основные движки MyISAM, InnoDB, MEMORY, Berkeley DB. Они отличаются между собой способом записи данных на диск, а также методами считывания.

    POSTGRESQL
    Postgresql представляет из себя объектно реляционную базу данных, которая работает только на одном движке - storage engine. Все таблицы представлены в виде объектов, они могут наследоваться, а все действия с таблицами выполняются с помощью объективно ориентированных функций. Как и в MySQL все данные хранятся на диске, в специально отсортированных файлах, но структура этих файлов и записей в них очень сильно отличается.
    СТАНДАРТ SQL
    Независимо от используемой системы управления базами данных, SQL - это стандартизированный язык выполнения запросов. И он поддерживается всеми решениями, даже MySQL или Postgresql. Стандарт SQL был разработан в 1986 году и за это время уже вышло нескольких версий.

    MYSQL
    MySQL поддерживает далеко не все новые возможности стандарта SQL. Разработчики выбрали именно этот путь развития, чтобы сохранить MySQL простым для использования. Компания пытается соответствовать стандартам, но не в ущерб простоте. Если какая-то возможность может улучшить удобство, то разработчики могут реализовать ее в виде своего расширения не обращая внимания на стандарт.

    POSTGRESQL
    Postgresql - это проект с открытым исходным кодом, он разрабатывается командой энтузиастов, и разработчики пытаются максимально соответствовать стандарту SQL и реализуют все самые новые стандарты. Но все это приводит к ущербу простоты. Postgresql очень сложный и из-за этого он не настолько популярен как MySQL.
    MYSQL
    При выполнении запроса MySQL загружает весь ответ сервера в память клиента, при больших объемах данных это может быть не совсем удобно. В основном по функциям Postgresql превосходит Mysql, дальше рассмотрим в каких именно.

    POSTGRESQL
    Postgresql поддерживает использование курсоров для перемещения по полученным данным. Вы получаете только указатель, весь ответ хранится в памяти сервера баз данных. Этот указатель можно сохранять между сеансами. Здесь поддерживается построение индексов сразу для нескольких столбцов таблицы. Кроме того, индексы могут быть различных типов, кроме hash и b-tree доступны GiST и SP-GiST для работы с городами, GIN для поиска по тексту, BRIN и Bloom.

    Postgresql поддерживает регулярные выражения в запросах, рекурсивных запросов и наследования таблиц. Но тут есть несколько ограничений, например, вы можете добавить новое поле только в конец таблицы.
    MYSQL
    В большинстве случаев для организации работы с базой данных в MySQL используется таблица InnoDB, эта таблица представляет из себя B-дерево с индексами. Индексы позволяют очень быстро получить данные из диска, и для этого будет нужно меньше дисковых операций. Но сканирование дерева требует нахождения двух индексов, а это уже медленно. Все это значит что MySQL будет быстрее Postgresql только при использовании первичного ключа.

    POSTGRESQL
    Вся заголовочная информация таблиц Postgresql находится в оперативной памяти. Вы не можете создать таблицу, которая будет не в памяти. Записи таблицы сортируются по индексу, а поэтому вы можете их очень быстро извлечь. Для большего удобства вы можете применять несколько индексов к одной таблице.

    В целом PostgreSQL работает быстрее, за исключениям использования первичных ключей.
  • Что было сложным: не лениться - повторять пройденное. Ручками работать.
  • Оценка видео-уроку:
Отчёт от 19475 за Футбольная база / Таблица Commands - пас кодировками




Оцени работу

 
Сохранить страницу:

7119. --
Новопашин Владимир
Новопашин Владимир
ответить

17947. --
Dmitry Sinitsin
Dmitry Sinitsin
ответить
→  Konstantin  # Футбольная база / Таблица Commands - пас кодировками / 2019-06-20 21:02

Супер. Такие отчёты интересно читать.


19475. --
Konstantin
Konstantin
ответить
# Футбольная база / Таблица Commands - пас кодировками / 2019-06-20 22:41

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


791. --
Валерий Жданов
Валерий Жданов
ответить
→  Konstantin  # Футбольная база / Таблица Commands - пас кодировками / 2019-06-21 06:46

Ни фига себе описание) Спасибо, Константин!


6203. --
Николай Миролюбов
Николай Миролюбов
ответить
→  Konstantin  # Футбольная база / Таблица Commands - пас кодировками / 2019-12-10 17:55

MySql - это не база данных, а система управления базами данных (СУБД).


  • Отчёт оценивали:
    9980Timoha+1   7119Новопашин Владимир+1   17947Dmitry Sinitsin+1   791Валерий Жданов+1   21981Илья Белоногов0   2146Иван+1   19475Konstantin+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: WIN866 спасает от кракозябр. Если не знаешь как, читай мануал, благо он в сети доступен.



Научился: Поработал с кодировкой. Хорошо, когда знаешь, как исправить эти кракозябры) Добавил все команды в группах.
Трудности: Сложностей не возникло.