Числові типи даних

INT (або INTEGER) — ціле число.
TINYINT — дуже мале ціле число.
SMALLINT — мале ціле число.
MEDIUMINT — середнє ціле число.
BIGINT — велике ціле число.
DECIMAL (або NUMERIC) — точне число з фіксованою кількістю десяткових знаків.
FLOAT — число з плаваючою комою
DOUBLE — число з плаваючою комою (подвійна точність).

INT

Тип даних INT (або INTEGER) в MySQL використовується для зберігання цілих чисел. Це один з найбільш поширених типів даних для числових значень у базах даних, його часто використовують для зберігання числових ідентифікаторів, віку, кількості та інших цілих значень.
РозмірТип INT займає 4 байти пам’яті.
Діапазон значеньДля знакових цілих чисел (за умовчанням): Мінімум: -2,147,483,648 Максимум: 2,147,483,647
Для незнакових цілих чисел (якщо вказано UNSIGNED): Мінімум: 0 Максимум: 4,294,967,295
AUTO_INCREMENTМоже бути використано разом з INT для автоматичного збільшення значення при кожному додаванні нового запису в таблицю (зазвичай для первинних ключів).
CREATE TABLE intExample (
    id INT NOT NULL AUTO_INCREMENT,
    age INT UNSIGNED,
    PRIMARY KEY (id)
);

TINYINT

Тип даних TINYINT в MySQL також використовується для зберігання цілих чисел, який займає всього 1 байт пам’яті. Це дозволяє йому зберігати значення з меншим діапазоном, ніж INT, що робить TINYINT більш економним у використанні пам’яті для чисел, які не потребують великого діапазону. Він зазвичай використовується в ситуаціях, коли потрібно зберігати значення, що не виходять за межі маленького діапазону, що дозволяє заощаджувати пам’ять у великих базах даних. Наприклад: статуси (наприклад, 0 — неактивний, 1 — активний), оцінки, кількість предметів тощо.
Розмір1 байт (8 біт).
Діапазон значеньДля знакових цілих чисел (за умовчанням): Мінімум: -128 Максимум: 127
Для незнакових цілих чисел (якщо вказано UNSIGNED): Мінімум: 0 Максимум: 255
CREATE TABLE tinyintExample (
    id TINYINT NOT NULL AUTO_INCREMENT,
    rating TINYINT UNSIGNED,
    PRIMARY KEY (id)
);

SMALLINT

Тип даних SMALLINT в MySQL — це ще один тип даних для збереження цілих чисел, який займає 2 байти пам’яті. Він дозволяє зберігати числа, які більші, ніж у TINYINT, але менші, ніж у INT. Це ідеальний варіант для ситуацій, коли потрібен більший діапазон чисел, але все ще не потрібно використовувати тип INT, який займає більше пам’яті. Наприклад може застосовуватися для: кількості елементів, коли значення не перевищують кілька десятків тисяч, ідентифікаторів, які мають помірний діапазон тощо.
Розмір2 байти (16 біт).
Діапазон значеньДля знакових цілих чисел (за умовчанням): Мінімум: -32,768 Максимум: 32,767
Для незнакових цілих чисел (якщо вказано UNSIGNED): Мінімум: 0 Максимум: 65,535
CREATE TABLE smallintExample (
    id SMALLINT NOT NULL AUTO_INCREMENT,
    quantity SMALLINT UNSIGNED,
    PRIMARY KEY (id)
);

MEDIUMINT

Тип даних MEDIUMINT в MySQL використовується для зберігання цілих чисел середнього діапазону, займаючи 3 байти пам’яті. Це тип, який дозволяє зберігати числа, більші, ніж SMALLINT, але менші, ніж INT. Зазвичай використовується для: ідентифікаторів або порядкових номерів, де діапазон може сягати до кількох мільйонів, кількості одиниць, які можуть бути досить великими, але не потребують INT.
Розмір3 байти (24 біти).
Діапазон значеньДля знакових цілих чисел (за умовчанням): Мінімум: -8,388,608 Максимум: 8,388,607
Для незнакових цілих чисел (якщо вказано UNSIGNED): Мінімум: 0 Максимум: 16,777,215
CREATE TABLE mediumintExample (
    id MEDIUMINT NOT NULL AUTO_INCREMENT,
    quantity MEDIUMINT UNSIGNED,
    PRIMARY KEY (id)
);

BIGINT

Тип даних BIGINT в MySQL використовується для зберігання цілих чисел великого діапазону. Він займає 8 байт пам’яті і дозволяє зберігати значення, які набагато перевищують можливості стандартного INT. Це корисно для ситуацій, де потрібно працювати з дуже великими числами, наприклад, для ідентифікаторів у великих системах, великих сумах, або у випадках, коли потрібно зберігати великі значення, які не поміщаються в INT.
Розмір8 байт (64 біти).
Діапазон значеньДля знакових цілих чисел (за умовчанням): Мінімум: -9,223,372,036,854,775,808 Максимум: 9,223,372,036,854,775,807
Для незнакових цілих чисел (якщо вказано UNSIGNED): Мінімум: 0 Максимум: 18,446,744,073,709,551,615
CREATE TABLE bigintExample (
    id BIGINT NOT NULL AUTO_INCREMENT,
    quantity BIGINT UNSIGNED,
    PRIMARY KEY (id)
);

DECIMAL (або NUMERIC)

Тип даних DECIMAL в MySQL використовується для зберігання чисел з фіксованою точністю, тобто чисел, які містять дробову частину. Цей тип особливо корисний для точних обчислень, таких як фінансові операції, де важливо зберігати точність чисел, особливо після десяткової коми, і уникати проблем з округленням, які можуть виникнути при використанні типів FLOAT чи DOUBLE.
РозмірDECIMAL(M, D): M — це загальна кількість цифр (точність), яку число може мати (як перед, так і після десяткової коми). D — це кількість цифр після десяткової коми (масштаб). Може бути від 1 до 65 для M та від 0 до 30 для D.
ПрикладDECIMAL(5, 2): Загальна точність — 5 цифр, з яких 2 цифри після десяткової коми. Таким чином, максимальне значення для цього типу буде 999.99.

Значення для decimal стовбчиків зберігаються у бінарному форматі, який розміщує 9 цифр у 4 байтах пам’яті.

Вимоги для зберігання для цілої та дробової часток кожного значення визначаються окремо.

Кожна група з дев’яти цифр потребує 4 байтів, і будь які цифри, що залишаються потребують певної частки з чотирьох байтів.

Цифри, що лишаютьсяБайти
00
1-21
3-42
5-63
7-94

Наприклад, decimal(18, 9).

123456789.123456789Значення такого числа потребуватиме по 9 цифр з обох боків десяткової коми, тобто кожна частина числа (і ціла, і дробова) портебуватиме по 4 байти пам’яті. Себто загальний розмір 8 байтів.

Наприклад, decimal(20, 6).

12345678912345.123456

Ціла частина має 14 цифр і потребуватиме 4 байти на 9 цифр плюс додаткові 3 байти на 5 цифр цілої частки, що залишаються. Себто на цілу частину треба 7 байтів. 6 цифр дробової частки потребують 3 байти пам’яті. Себто загальний розмір буде 10 байтів.

Також можна зустріти і формули для розрахунку розміру decimal.

Наприклад, Decimal Size = (M+1)/2

Таким чином, для decimal(20, 6) за цією формулою ромір буде дорівнювати (20+1)/2, що дає 10.5, які слід округлити в більшу сторону себто буде 11 байтів. І вже на цьому етапі бачимо різницю в 1 байт з офіційним підходом MySQL.

Ще одна формула, яку також можна зустріти на форумах та у блогах виглядає наступним чином:

Decimal Size = 1 + floor((M-D)/2) + floor(D/2)

Таким чином, для decimal(20, 6) за цією формулою:

1 + floor((20-6)/2) + floor(6/2) = 1 +7 + 3 = 11

Себто теж маємо різницю в 1 байт.

Тому слід пам’ятати, що формули – це своєрідні абстракції для швидкого підрахунку розміру елементу типу decimal і вони можуть давати розходження з офіційним підходом визначення розміру на основі документації MySQL.

CREATE TABLE decimalExample (
    id INT NOT NULL AUTO_INCREMENT,
    amount DECIMAL(10, 2),
    PRIMARY KEY (id)
);

FLOAT

Тип даних FLOAT в MySQL використовується для зберігання чисел з плаваючою комою, тобто чисел, що можуть мати десяткову частину, але з обмеженою точністю. Це дозволяє ефективно працювати з великими або малими числами, де не обов’язкова абсолютна точність після десяткової коми, і може бути прийнятне округлення. FLOAT не зберігає всі значення з ідеальною точністю і може втратити точність при обчисленнях, якщо числа надто великі або мають велику кількість знаків після десяткової коми. Для кращої точності можна використовувати тип DOUBLE або DECIMAL (для фінансових обчислень, де точність критична).
Розмір4 байти пам’яті (32 біти).
Діапазон значеньFLOAT може зберігати значення від приблизно −3.402823466×1038 до 3.402823466×1038 з точністю до 7 знаків після десяткової коми.
CREATE TABLE floatExample (
    id INT NOT NULL AUTO_INCREMENT,
    weightParam FLOAT,
    lengthParam FLOAT,
    PRIMARY KEY (id)
);

DOUBLE

Тип даних DOUBLE в MySQL використовується для зберігання чисел з плаваючою комою, подібно до FLOAT, але з більшою точністю. Тип DOUBLE займає 8 байтів пам’яті (64 біти) і дозволяє зберігати більш точні значення, зберігаючи більшу кількість знаків після десяткової коми, що робить його підходящим для обчислень, де потрібна висока точність. DOUBLE має точність до 15-16 знаків після десяткової коми. Це дозволяє здійснювати точніші обчислення, ніж FLOAT, і уникати помилок округлення, які можуть виникати в разі використання типу FLOAT.
Розмір8 байтів (64 біти).
Діапазон значеньDOUBLE може зберігати числа в діапазоні від приблизно −1.7976931348623157×10308 до 1.7976931348623157×10308
CREATE TABLE doubleExample (
    id INT NOT NULL AUTO_INCREMENT,
    lengthParam DOUBLE,
    widthParam DOUBLE,
    PRIMARY KEY (id)
);

Для кращої візуалізації за потреби є відео.

В цьому відео поговоримо про:
00:00 Числові типи даних
00:49 INT
04:20 TINYINT
06:33 SMALLINT
09:32 MEDIUMINT
11:31 BIGINT
15:49 DECIMAL (або NUMERIC)
31:23 FLOAT
33:40 DOUBLE

Трохи про корупцію

corruption

Часто ми чуємо слово «корупція». Але не завжди можемо чітко сформулювати, що ж це таке?

Більше 10 років тому мені випала нагода відвідати тренінг присвячений темі корупції. Дуже добре пам’ятаю слова тьютора, якого, якщо не помиляюся, звали Джеймс Геріті: «Головний ворог корупції – розголос». І як це характерно для мене – я робив багато нотатків під час цього тренінгу. Власне на основі цих нотатків і складено цей матеріал.

Отже, корупція – це зловживання службовим становищем або владою з метою отримання незаконних вигод або переваг, зазвичай у вигляді грошей, подарунків, послуг чи інших благ. Вона може проявлятися в різних формах, таких як хабарництво, нецільове використання державних ресурсів, маніпуляції з державними контрактами та інші види порушень законів чи етичних норм.

Основні причини корупції

Причини корупції можуть бути різноманітними і залежати від конкретних соціальних, економічних та політичних умов.

Невідповідність правових норм і реальної практикиУ країнах із низьким рівнем правової системи та слабкими інституціями корупція може процвітати через відсутність ефективних механізмів контролю та покарання за корупційні дії.
Політична нестабільність та слабкість інститутівУ країнах з політичною нестабільністю або слабкими демократичними інститутами корупція може поширюватися через відсутність належного контролю за діяльністю державних органів, що дає можливість для зловживань.
Відсутність прозорості та підзвітностіКоли відсутні чіткі механізми підзвітності органів влади, а інформація про діяльність урядів і посадових осіб не є доступною громадянам, це створює можливості для корупційних схем.
Культурні фактори та моральні нормиУ деяких суспільствах корупція може бути сприйнята як нормальна або навіть необхідна частина життя. Якщо корупція стає культурною практикою або “традицією”, її подолання стає значно складнішим.
Слабкий контроль за фінансами та розподілом ресурсівВідсутність належного контролю над фінансовими потоками та державною власністю може призвести до корупції, оскільки державні ресурси можуть використовуватися для особистої вигоди.
Неадекватне законодавство та правова невизначеністьЗаконодавчі прогалини, неконкретність у формулюваннях або недостатньо суворі покарання можуть створювати простір для корупційних дій, оскільки особи, які порушують закон, можуть уникати відповідальності.
Високий рівень монополізації та відсутність конкуренціїУ країнах, де ринок і ресурси контролюються невеликою кількістю осіб або компаній, корупція може виникати через монополізацію та використання влади для отримання особистої вигоди.
Погане управління та недостатня кваліфікація чиновниківНизький рівень професіоналізму серед державних службовців і погане управління можуть призвести до корупції, оскільки люди, які не мають необхідних знань або досвіду, можуть зловживати своїми повноваженнями.
Економічна нерівністьВисокий рівень бідності та нерівності у суспільстві часто є підґрунтям для корупційних практик. Люди можуть використовувати корупцію як спосіб забезпечити свої економічні потреби, особливо якщо вони не мають доступу до законних засобів для поліпшення свого становища.

Корупція — це складне явище, яке часто має множинні і взаємопов’язані причини. Для ефективної боротьби з корупцією необхідно розглядати всі ці фактори в комплексі та вживати системних заходів.

Основні наслідки корупції

Корупція має численні негативні наслідки, які можуть серйозно вплинути на різні аспекти суспільства, економіки та політики. Ось деякі з основних наслідків корупції:

Економічні наслідкиЗниження інвестиційної привабливості: Корупція створює атмосферу невизначеності та ризику для інвесторів, що може призвести до зменшення внутрішніх і зовнішніх інвестицій.
Неефективний розподіл ресурсів: Кошти, які могли б бути використані для розвитку інфраструктури, освіти, охорони здоров’я чи інших соціальних програм, часто витрачаються неефективно або присвоюються через корупційні схеми.
Підвищення витрат на ведення бізнесу: Бізнеси змушені платити хабарі для отримання дозволів, ліцензій або контрактів, що підвищує їхні витрати і знижує їхню конкурентоспроможність.
Спотворення економічної конкуренції: Корупція призводить до того, що бізнеси, які мають доступ до корумпованих державних органів, отримують конкурентні переваги над тими, хто не бере участі в таких практиках.
Соціальні наслідкиПогіршення якості життя громадян: Гроші, які повинні йти на соціальні послуги (освіта, медицина, інфраструктура), часто забираються через корупцію, що погіршує доступ громадян до цих послуг.
Посилення соціальної нерівності: Корупція сприяє збагаченню невеликої кількості осіб за рахунок решти населення, що посилює соціальну нерівність і призводить до відчуття несправедливості серед громадян.
Зниження довіри до державних інститутів: Корупція підриває довіру громадян до урядів і правоохоронних органів, оскільки люди можуть почати вважати, що державні структури діють лише на користь еліт, а не для блага всього суспільства.
Політичні наслідкиНевизначеність і нестабільність: Корупція може призвести до політичної нестабільності, оскільки громадяни можуть втратити довіру до уряду і навіть до самої політичної системи. Це може сприяти зростанню протестів, політичних заворушень або навіть революцій.
Ослаблення інститутів демократії: Коли політики використовують корупцію для збереження влади, це послаблює демократичні інститути, що веде до авторитарних режимів або навіть клептократій, де влада зосереджена в руках кількох осіб.
Зниження ефективності державного управління: Корупція може призвести до поганого управління державними ресурсами та неефективного функціонування органів влади, оскільки чиновники можуть бути зацікавлені не в оптимальному рішенні проблем, а в отриманні вигоди від корупційних схем.
Погіршення іміджу країни: Країни, що відомі високим рівнем корупції, можуть втратити репутацію на міжнародній арені, що впливає на їхні економічні та політичні відносини з іншими державами.
Втрата допомоги та підтримки: Міжнародні організації та країни можуть припинити надавати фінансову допомогу або підтримку країнам, де корупція є поширеним явищем, через страх, що кошти не будуть використані ефективно.
Правові наслідкиПорушення правопорядку: Корупція може сприяти тому, що злочинці або інші особи, які порушують закон, можуть уникати покарання, якщо мають зв’язки з корумпованими посадовцями або правоохоронцями.
Підрив довіри до правової системи: Якщо правосуддя є корумпованим, громадяни можуть втратити віру в закон і систему правосуддя, що сприяє правовому нігілізму і зниженню поваги до законів.
Моральні та культурні наслідкиРозповсюдження корупційних норм у суспільстві: Коли корупція стає поширеною і прийнятою практикою, це може призвести до культурного виправдання корупційних дій як “нормальних” або навіть необхідних для досягнення мети.
Зниження моральних стандартів: Люди, які звикають до корупції, можуть втратити моральні орієнтири та почати вважати, що корупція є прийнятною практикою, що сприяє її подальшому поширенню.
Екологічні наслідкиШкідливий вплив на навколишнє середовище: Корупція може призвести до безконтрольного використання природних ресурсів, без дотримання відповідних екологічних норм або дозвільних процедур, що може завдати шкоди екологічний ситуації.

Корупція має комплексний характер і її наслідки можуть бути руйнівними для суспільства. Тому важливо боротися з нею на всіх рівнях: від урядових структур до окремих громадян.

Методи боротьби з корупцією

Боротьба з корупцією потребує комплексного підходу, який охоплює різні рівні і стратегії.

Зміцнення правової системиПрозорість і підзвітність: Важливо створювати механізми, що забезпечують прозорість діяльності урядових органів, судів і правоохоронних органів. Використання електронних систем для обміну даними та відкритих державних закупівель може суттєво зменшити простір для корупційних дій.
Посилення покарань: Важливо встановити суворі покарання для корупціонерів, як для чиновників, так і для приватних осіб. Це може включати довгі терміни ув’язнення, конфіскацію майна, а також заборону на зайняття державних посад.
Незалежність судової системи: Забезпечення незалежності суддів та правоохоронних органів від політичного та бізнесового впливу, що дозволяє чесно і без зволікань розглядати справи про корупцію.
Залучення громадянського суспільстваМедійний контроль і журналістські розслідування: Журналісти та медіа можуть відігравати важливу роль у розкритті корупційних схем, надаючи прозорість діяльності урядових та бізнесових структур. Підтримка свободи преси є критично важливою для цієї мети.
Громадські організації та антикорупційні кампанії: Підтримка організацій, які борються з корупцією, може бути важливим чинником у створенні системи громадського контролю та тиску на владу для запровадження змін.
Системи анонімних повідомлень про корупцію: Створення каналів для анонімного повідомлення про корупційні дії можновладців.
Міжнародне співробітництвоАнтикорупційні угоди та ініціативи: Країни можуть співпрацювати на міжнародному рівні для боротьби з корупцією, підписуючи угоди і виконуючи міжнародні зобов’язання щодо протидії корупційним практикам.
Міжнародні санкції та тиск: Накладення санкцій на уряди або окремих осіб, які активно займаються корупційною діяльністю або не виконують міжнародні антикорупційні зобов’язання.
Обмін досвідом та навчання: Країни можуть обмінюватися досвідом щодо успішних методів боротьби з корупцією, а також проводити тренінги, навчання спеціалістів тощо.
Зміни в культурі та освітіМорально-етичне виховання: Важливо формувати у громадян та молоді відразу негативне ставлення до корупційних практик через освіту та культурні ініціативи.
Підвищення громадської свідомості: Проведення кампаній з підвищення свідомості громадян щодо шкідливості корупції та важливості боротьби з нею для розвитку суспільства.
Підвищення прозорості і підзвітності державного управлінняЕлектронні публічні закупівлі: Використання онлайн-платформ для публічних закупівель дозволяє уникнути маніпуляцій і забезпечує прозорість у витрачанні бюджетних коштів.
Декларування: всі державні службовці і пов’язані особи, повинні мати зобов’язання вчасно, повністю подавати декларації про свій майновий стан і доходи.

Для ефективної боротьби з корупцією важливо застосовувати комплексний підхід, забезпечуючи належну співпрацю між державними органами, громадянським суспільством, бізнесом і міжнародною спільнотою.

Корупція має негативний вплив на розвиток суспільства, оскільки підриває довіру до державних інститутів, сприяє нерівності, знижує ефективність управління і економічного розвитку, а також може призводити до посилення соціальних проблем. Вона є серйозною перепоною для реформ і добробуту країни.

Особливості рашизму

Термін рашизм зазвичай використовується для позначення авторитарної, імперіалістичної політичної ідеології, пов’язаної з державним устроєм кацапстану, зокрема за часів правління хуйла-пукіна. Термін має глибоке коріння в історичних, політичних та культурних процесах, що відбуваються в кацапстані.

Основні ознаки рашизму:

  • Імперіалізм і реваншизм: рашизм пропагує відновлення сфер впливу кацапстану в межах колишнього совка, а також повернення під капський вплив частини держав колишнього Варшавського договору (пишу Варшавський з великої літери виключно через повагу до Польщі). рашизм включає в себе прагнення до розширення території, як стало зрозуміло після незаконної анексії Криму в 2014 році і початку повномасштабного вторгненні в Україну в 2022 році. Не слід також забувати і про конфлікти в Молдові, Грузії, Азербайджані та Вірменії, де кацапська потороч прямо або опосередковано створювала і продовжує створювати довготривалі конфлікти
  • Авторитаризм і культ особистості: В основі рашизму лежить тоталітарний режим, де вища політична влада зосереджена в руках однієї особи або групи, яка маніпулює суспільною думкою та обмежує політичну свободу. рашизм підтримує сильну централізовану владу, де державний контроль здійснюється над засобами масової інформації, правами громадян і навіть свободою думки чи переконань.
  • русифікація: рашизм часто включає в себе шовіністичні чи нацистські ідеї, де уявні, вигадані кремлівськими виродками, права чи інтереси кацапстану ставляться вище за права і потреби інших народів і країн. Це призводить до прагнення нав’язати кацапську культуру, мову та ідентичність іншим народам, що проживають на територіях колишнього совка або мають нещастя межувати з кацапстаном.
  • Пропаганда і антизахідна риторика: В рамках рашизму поширюється антизахідна пропаганда, що представляє західні країни як ворогів смердючого кацапстану. У цьому контексті часто створюються міфи і маніпуляції про “загрозу” з боку США та Європи, а також використовується образ кацапстану, який начебто бореться з глобальною змовою «масонів-рептилоїдів».
  • Ідеологія “особливого шляху”: рашизм підтримує ідею, що кацапстан повинен слідувати своєму “особливому шляху”, що відрізняється від західних демократичних стандартів. Це часто супроводжується відмовою від європейських цінностей на користь традиційних, національних уявлень про порядок, мораль і суспільство. Хоча яка в кацапів мораль? Скоріше, коли говоримо про кацапів, маємо справу з повною відсутністю моралі, сумління, порядності та гідності!
  • Згортання прав людини та свободи: В умовах рашизму обмежуються права людини, свобода слова, свобода зборів і висловлення думок. Опозиційні політики, активісти та журналісти часто стикаються з переслідуваннями, а будь-яка критика влади може призвести до серйозних наслідків, включаючи репресії, ув’язнення, чи буквально фізичне знищення.

рашизм як явище в міжнародній політиці

рашизм впливає на міжнародні відносини, зокрема на пострадянські країни, де кацапстан намагається зберегти свій вплив. Кілька країн, таких як Україна, Грузія, Молдова, Азербайджан, Вірменія, а також країни Балтії та інші країни колишнього Варшавського договору, стали мішенями для цієї політики. Загалом, рашизм є спробою відродити на міжнародній арені вплив кацапстану на основі політики страху, маніпуляцій і насильства, що ставить під загрозу стабільність і мир у глобальному контексті.

Себто в двух словах, кацапи – терористи!