КРЕИРАЈ ТАБЕЛУ у шеми Постгрес

Kreiraj Tabelu U Semi Postgres



ПостгреСКЛ је један од најпопуларнијих система објектно-релационих база података. То је бесплатан софтвер отвореног кода који проширује СКЛ језик додатним функцијама за руковање сложеним радним оптерећењима података. Може да ради са различитим типовима података, поуздан и сигуран. Сазнајте више о карактеристикама ПостгреСКЛ-а.

У овом водичу ћемо сазнати више о креирању табела у шеми у ПостгреСКЛ-у.







Шеме у ПостгреСКЛ-у

ПостгреСКЛ база података може да садржи једну или више именованих шема, при чему свака шема садржи табеле.



Исто име објекта може се доделити више шема без сукоба. На пример, следеће стабло шеме/табеле је важеће:



  • сцхема_а
    • Табела 1
    • табле_2
  • сцхема_б
    • Табела 1
    • табле_2

Можете размишљати о шемама попут директоријума на нивоу оперативног система. Разлика је у томе што не могу бити угнежђене шеме. Сазнајте више о шеми на ПостгреСКЛ документација .





Може постојати више разлога за имплементацију шема:

  • Више корисника који користе исту базу података без међусобног сукоба.
  • Боља организација и управљање базама података у логичке групе.
  • Апликације трећих страна могу креирати своју јединствену шему без судара са постојећим шемама или другим објектима.

Табеле у ПостгреСКЛ-у

Свака релациона база података се састоји од више повезаних табела, од којих се свака састоји од редова и колона. ПостгреСКЛ долази са неколико уграђених табела које садрже различите системске информације. Међутим, такође можемо да креирамо нове табеле под кориснички дефинисаним базама података и шемама.



Предуслови:

Да бисте извршили кораке приказане у овом водичу, биће вам потребне следеће компоненте:

  • Правилно конфигурисан Линук систем. Сазнајте више о инсталирање Убунту-а у ВиртуалБок .
  • Правилна инсталација ПостгреСКЛ-а. Проверити инсталирање ПостгреСКЛ-а на Убунту .
  • Приступ а Корисник ПостгреСКЛ-а са УСАГЕ дозвола у базу података.

За потребе овог водича користићемо постгрес да извршите све радње у ПостгреСКЛ-у.

Креирање табела у шеми

Креирање демо базе података

Као што је раније поменуто, шеме постоје у бази података. У сврху демонстрације, креирамо лажну базу података, избегавајући ометање било које постојеће базе података.

Приступите ПостгреСКЛ љусци као постгрес :

$ судо -и -у постгрес пскл

Креирајте нову базу података демо_дб:

$ ЦРЕАТЕ ДАТАБАСЕ демо_дб;

Проверите да ли је база података успешно креирана:

$ \л

Коначно, повежите се са новокреираном базом података:

$ \цоннецт демо_дб;

Јавна шема

Свака нова база података у ПостгреСКЛ-у долази са подразумеваном шемом - јавности . Ако покушате да креирате објекат без навођења имена шеме, јавна шема је подразумевано изабрана.

Следећа команда штампа сву доступну шему у ПостгреСКЛ бази података:

$ \дн

Алтернативно, можемо користити и следећи СКЛ упит:

$ СЕЛЕЦТ * ФРОМ пг_цаталог.пг_намеспаце;

Креирање нове шеме

Да бисте креирали нову шему под одређеном базом података, структура команде је следећа:

$ ЦРЕАТЕ СЦХЕМА <сцхема_наме>;

Пратећи правило, направимо нову шему демо_сцхема:

$ ЦРЕАТЕ СЦХЕМА демо_сцхема;

Проверите листу шема за верификацију:

$ \дн

Креирање табеле у шеми

Сада када смо креирали циљну шему, можемо је попунити табелама.

Синтакса за креирање табеле је следећа:

ЦРЕАТЕ ТАБЛЕ <сцхема>.<табле_наме> (

...
)

овде:

  • шема : Ово поље наводи име шеме у којој је табела креирана. Ако није наведена вредност, табела се креира испод јавности шема.

За демонстрацију креирамо једноставну табелу:

ЦРЕАТЕ ТАБЛЕ демо_сцхема.демо_табле (

НАМЕ ЦХАР(64),

ИД ИНТ НИЈЕ НУЛЛ

);

овде:

  • Поље НАМЕ је специфицирано да чува стринг од 64 знака.
  • Поље ИД садржи целобројне вредности. Термин ' НОТ НУЛЛ ” указује на то ИД не може бити празан или нулл.

Можемо да проверимо постојање табеле користећи следећи упит:

$ СЕЛЕЦТ * ФРОМ демо_сцхема.демо_табле;

Убацивање података у табелу

Са табелом на месту, сада можемо да убацимо неке вредности:

ИНСЕРТ ИНТО демо_сцхема.демо_табле (НАМЕ, ИД)

ВРЕДНОСТИ

('ПКР', 45),

('ИЈК', 99)

;

Проверите садржај табеле:

$ СЕЛЕЦТ * ФРОМ демо_сцхема.демо_табле;

Схема Манагемент

Дозволе шеме

Уз помоћ дозволе шеме, можемо управљати која улога може да изврши коју радњу на одређеној шеми. Од свих могућих привилегија, подржавају само шеме КРЕИРАТИ и КОРИСТИ.

Да бисте ажурирали дозволу шеме за одређену улогу, структура команде је следећа:

$ ГРАНТ <дозвола> ОН СЦХЕМА <име_шеме> ТО <улога>;

Да бисте опозвали дозволу шеме за одређену улогу, структура команде је следећа:

$ РЕВОКЕ <дозвола> ОН СЦХЕМА <име_шеме> ТО <улога>;

Проверите промену помоћу следеће команде:

$ \дн+

Измени својства шеме

Уз помоћ АЛТЕР СЦХЕМА изјаве, можемо модификовати различита својства шеме. На пример: власништво, име шеме итд.

Да бисте променили име шеме, користите следећи упит:

$ АЛТЕР СЦХЕМА <сцхема_наме> ПРЕНАМЕНИТЕ У <нев_сцхема_наме>;

Да бисте променили власништво над шемом, користите следећи упит:

$ АЛТЕР СЦХЕМА <сцхема_наме> ОВНЕР ТО <роле>;

Имајте на уму да да бисте променили власништво, тренутни корисник мора да има КРЕИРАЈ дозволу за шему.

Брисање шеме

Ако шема више није потребна, можемо је избрисати помоћу КАП упит:

$ ДРОП СЦХЕМА <име_шеме>

Ако шема садржи било који објекат, треба нам ЦАСЦАДЕ модификатор:

$ ДРОП СЦХЕМА <сцхема_наме> ЦАСЦАДЕ;

Табле Манагемент

Дозволе за табеле

Као и шема, свака табела такође долази са управљањем дозволама, дефинишући коју радњу улога може да изврши на табели.

Да бисте проверили дозволе табеле, користите следећу команду у пскл-у:

$ \дп <име_табеле>

Измени својства табеле

Уз помоћ АЛТЕР ТАБЛЕ изјаве, можемо модификовати бројне аспекте већ постојеће табеле.

На пример, да бисте избацили колону, упит изгледа овако:

$ АЛТЕР ТАБЛЕ <име_табеле> ДРОП ЦОЛУМН <колона>;

Да бисмо додали нову колону, можемо користити следећи упит:

$ АЛТЕР ТАБЛЕ <име_табеле> АДД ЦОЛУМН <колона> <тип_података>;

Такође можемо подесити компресију за одређену колону:

$ АЛТЕР ЦОЛУМН <име_колоне> СЕТ ЦОМПРЕССИОН <метод_компресије>;

Брисање табеле

Да избришемо табелу из шеме, можемо користити ДРОП ТАБЛЕ упит:

$ ДРОП ТАБЛЕ <име_табеле>;

Имајте на уму да за разлику од шема, ДРОП ТАБЛЕ упит неће произвести грешку да ли је табела празна или не.

Закључак

У овом водичу смо показали како да креирате табеле у шеми у ПостгреСКЛ-у. Направили смо лажну шему унутар лажне базе података и креирали табелу унутар шеме. Овај водич је такође показао како управљати различитим својствима шема и табела.

За бољи интегритет података, можете конфигурисати а логичка ПостгреСКЛ репликација . Да би ПостгреСКЛ база података била здрава, можете да конфигуришете аутовацуум за чишћење мртвих торва које су остављене од избрисаних записа.

За више ПостгреСКЛ водича, погледајте ПостгреСКЛ поткатегорија .