6-modul · 3-dars: Data types

Daraja: O'rta

Data types. PostgreSQL bo‘yicha nazariya, amaliy namuna va mustaqil mashq.

Tushuntirish

## Dars maqsadi Data types tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.

## Nazariya smallint, integer va bigint butun son; numeric aniq o'nli hisob-kitob uchun, real va double precision taxminiy suzuvchi nuqta uchun ishlatiladi. Pul hisobida kerakli aniqlikni oldindan belgilang. timestamp vaqt mintaqasiz kalendar vaqtidir. timestamptz vaqt lahzasini saqlaydi va sessiya mintaqasida ko'rsatadi; kiritilgan asl mintaqa nomini alohida saqlamasangiz u qaytmaydi. UUIDni Java UUID.randomUUID yoki bazadagi mos funksiya yaratishi mumkin; server versiyasi va extension talabini tekshiring. json asl matnni, jsonb qayta ishlangan tuzilmani saqlaydi. -> JSON qiymat, ->> text qaytaradi. hstore extensioni text kalit-qiymat juftliklariga mo'ljallangan. DOMAIN mavjud turga qoida qo'shadi, CREATE TYPE enum yoki composite kabi yangi tur yaratadi. SEQUENCE mustaqil son generatori; identity ustuni uni avtomatik ulaydi. Rollbackdan keyin raqamlarda bo'shliq qolishi normal. TEMP TABLE sessiya yoki tanlangan tranzaksiya chegarasiga bog'liq. CREATE TABLE AS so'rov natijasini nusxalaydi, lekin barcha constraint/indexlarni ko'chirmaydi; LIKE INCLUDING ALL va COPY ham boshqa vazifalarni bajaradi.

## Manbalar [Moduldagi savollar yo‘nalishi](https://github.com/jlkesh/pdp_online_java_lessons/blob/main/interviewquestions/6-module%28database%29.md) [Rasmiy qo‘llanma](https://www.postgresql.org/docs/current/)

Kod quyida o‘quv namunasi sifatida berilgan. To‘liq ilova uchun import, dependency va konfiguratsiya kerak bo‘lishi mumkin. SQLni faqat ajratilgan test bazasida bajaring.

Kod misoli

SELECT '{"user":{"age":20}}'::jsonb -> 'user' AS obyekt,
       '{"age":20}'::jsonb ->> 'age' AS matn;
SELECT now() AT TIME ZONE 'Asia/Tashkent';

Keng tarqalgan xatolar

Mashqlar

Teglar: nazariya, pdp, modul-06

Interaktiv ko'rinish (viktorina, izohlar, tarix)