Databanka, banka dát. Skupina informácií (dát) usporiadaná podľa nejakých kritérií tak, aby bola umožnená čo najlepšia manipulácia s týmito informáciami. Databáza v sebe uchováva štruktúrované dáta. So štruktúrovanými dátami sa pracuje omnoho lepšie, ako s dátami uloženými napr. v súboroch. Databázový systém navyše poskytne množstvo funkcií na manipuláciu s dátami.
Základným objektom databázy je tabuľka, ktorú si môžete zjednodušene predstaviť ako tabuľku v ľubovoľnom tabuľkovom kalkulátore. Rovnako ako v ňom, má tabuľka jeden alebo viacero stĺpcov (tiež fieldy alebo položky tabuľky). V tabuľkách sú uložené informácie, ktoré spolu nejakým spôsobom súvisia. Napr. v tabuľke Hudobne_Albumy budú informácie o hudobných albumoch. V stĺpcoch sú popísané vlastnosti objektu. Objekt Hudobne_Albumy môže mať stĺpce Autor, NazovAlbumu, Cena. Konkrétne dáta uložené v databáze sú záznamy alebo vety (je možné si ich predstaviť ako riadky tabuľky). V databáze (na rozdiel od tabuliek tabuľk. kalkulátora) musí mať každý stĺpec dopredu určené, ktorý dátový typ v ňom bude ukladaný. Dátových typov je veľké množstvo (od číselných hodnôt cez ľubovoľne dlhé alfanumerické reťazce, obrázky alebo programové kódy až po multimédia).
Aby bol užívateľ pri vkladaní dát do databázy čo možno najviac chránený pred eventuálnymi chybami, dá sa pre každú položku nastaviť tzv. integritné obmedzenie. Ide vlastne o podmienky, za akých je možné hodnotu do tabuľky uložiť (napr. že počet kusov objednaného tovaru nesmie byť záporný alebo že dátum narodenia zodpovedá rodnému číslu). Nazýva sa tiež doménová integrita. (Doména znamená množinu prípustných hodnôt. Cieľom je zaistiť, aby stĺpce obsahovali iba logicky správne údaje. Napr. pre stĺpec tabuľky udávajúci hodnotenie v percentách môžeme požadovať len hodnoty od 0 do 100. Je preto cieľom, aby sa čísla nad 100 do tejto tabuľky nedostali, čo je väčšinou možné priamo prostriedkami databázy zabezpečiť).
Databáza sa môže skladať z viacerých objektov (tabuliek), z ktorých niektoré spolu môžu súvisieť - tvoriť reláciu. Potom hovoríme o tzv. relačnej databáze. Dôležitou vlastnosťou, ktorá s tým súvisí a ktorú väčšina databázových systémov podporuje, je referenčná integrita, alebo schopnosť zaručiť vzájomné väzby medzi jednotlivými tabuľkami. Objasníme na príklade: Predstavme si, že si plánujeme zriadiť databázu titulov v našej knižnici, pričom knižnica je v každom oddelení. Radi by sme v nej mali uložené maximum informácií o každej knihe a jej autorovi. Pokiaľ by sme tieto informácie ukladali do jedinej tabuľky, budú pri knihách, ktoré majú rovnakého autora, duplicitne uvádzané všetky s ním súvisiace informácie. Preto je výhodnejšie vytvoriť dve samostatné tabuľky, jednu pre údaje o knihe a druhú pre údaje o spisovateľovi. Jednak tým ušetríme miesto a jednak sa tak vyhneme situácii, kedy by sme akúkoľvek zmenu pri autorovi museli robiť na viacerých miestach. Na tvorbu relácií medzi tabuľkami, v našom príklade na zaistenie korektného priradenia diel ich autorovi, používajú databázy tzv. primárny kľúč, teda hodnotu, tvorenú jedným alebo viacerými stĺpcami (tzv. zložený kľúč), ktorá je pre každý riadok unikátna. Pri každej knihe je potom namiesto jednotlivých položiek o autorovi uvedený iba odkaz na primárny kľúč z tabuľky "autori" (v našom prípade, nakoľko sa autori môžu opakovať v jednotlivých oddeleniach, by to bol kľúč "oddelenie + autor". Ten potom v tabuľke "knihy" nazývame cudzím kľúčom.
Aby bolo z veľkého množstva záznamov uložených v databáze možné rýchlo vyhľadať jednu alebo viacero položiek podľa zadaných kritérií, je možné pre každý stĺpec vytvoriť tzv. index. Môžeme si ho predstaviť napr. ako obsah, ktorý nám výrazne uľahčí orientáciu v knihe.
Prakticky každá databáza má tiež svoj jazyk, prostredníctvom ktorého je možné prácu s dátami riadiť. Za najznámejší sa dá považovať jazyk SQL. Pretože množstvo operácií s dátami vyžaduje viac ako jeden príkaz, pri databázach vyššej triedy sa tieto príkazy dajú zoskupovať do programových celkov, tzv. uložených procedúr, ktoré potom môžu byť kedykoľvek vyvolané. Špeciálnym typom uložených procedúr sú tzv. triggery, ktoré sa spúšťajú automaticky na základe udalostí, akými sú napr. vloženie nového záznamu, vykonanie zmien v aktuálnom zázname alebo jeho zmazanie.
S databázami súvisí aj termín transakčné spracovanie dát. Ide o schopnosť databázy zaistiť, aby operácie vykonávané dávkovo - teda viacero operácií naraz - (tzv. transakcie) prebehli kompletne (jednotlivé kroky na seba zvyčajne nadväzujú a zlyhanie jedinej operácie potom znamená nekorektný výsledok celej dávky), alebo aby boli zachované hodnoty z doby pred začatím operácie (tzv. rollback).
Databázových produktov je na trhu veľké množstvo (líšia sa ako svojimi vlastnosťami, tak aj cenovými reláciami). Tým najjednoduchším sa hovorí kartotéky a bývajú súčasťou nejakého väčšieho programového balíka. Zvyčajne nepodporujú referenčnú integritu, multiužívateľský prístup ani transakčné spracovanie. Akoby strednou triedou sú tzv. desktopové relačné databázové systémy, pre ktoré je väčšinou charakteristická integrácia s vývojovým prostredím pre tvorbu aplikácií. Desktopové databázy nepracujú v architektúre client/server, no (až na výnimky) majú zabudované niektoré prvky jazyka SQL (občas mierne odlišné od noriem) a až na uložené procedúry a triggery sú viac-menej plnohodnotnými databázami. Rozdiel oproti databázovým serverom postaveným na architektúre client/server je hlavne ten, že príkazy sú vykonávané priamo na klientovi. Na beh klientskej aplikácie vytvorenej v systéme tejto kategórie je obvykle nutná prítomnosť samotného vývojového prostredia, prípadne runtime modulov. (Ide napr. o dBase, FoxPro, Paradox, MS Access, ...). Ďalšie v rade sú potom SQL servery (Oracle, Sybase, Informix a. i.). Pri týchto databázach je kladený dôraz predovšetkým na maximálnu bezpečnosť dát a rýchlu odozvu aj pri veľkých počtoch súčasne pracujúcich užívateľov.
Viď tiež: SQL, ID (Interný identifikátor)