Relačné databázy - pojem, história a vlastnosti

Z originálu preložil:  Ing. JANOUŠEK Jaroslav

A relational database consists of a collection of tables that store particular sets of data. The invention of this database system has standardized the way that data is stored and processed. The concept of a relational database derives from the principles of relational algebra, realized as a whole by the father of relational databases, E. F. Codd. Most of the database systems in use today are based on the relational system.

Relačná databáza sa skladá z kolekcie tabuliek, ktoré uchovávajú konkrétne množiny dát. Objav takéhoto typu databázového systému štandardizoval spôsob ako sú dáta ukladané a spracovávané. Koncepcia relačnej databázy je odvodená od princípov relačnej algebry a bola spracovaná jej objaviteľom  E.F.Coddom. Väčšina databázových systémov dneška využíva princípy relačného systému. 

The history of the relational database began with Codd’s 1970 paper, A Relational Model of Data for Large Shared Data Banks. This theory established that data should be independent of any hardware or storage system and provided for automatic navigation between the data elements. In practice, this meant that data should be stored in tables and that relationships would exist between the different data sets, or tables.

História relačných databáz začala článkom pána Codda "Relačný model dat pre veľké zdielané banky dát"  v roku 1970. Prínosom tejto teórie bolo, že dáta sa stali nezávislé od ľubovolného hardware resp. sytému ukladania dát  a umožnil automatickú navigáciu medzi datovými elementami. Prakticky to znamenalo, že data mohli byť vložené do tabuliek a medzi tabuľkami, obsahujúcimi rôzne dáta (t.j. medzi množinami), mohli byť vytvorené relačné vzťahy

The relation is the primary unit of storage in a relational database, which is a two-dimensional table. A relational database can contain one or more of these tables. Each table consists of a unique set of rows and columns. A single record is stored in a table as a row, also known as a tuple. Attributes of the data are defined in columns, or fields, in the table. The characteristics of the data, or the column, relates one record to another. Each column has a unique name and the content within it must be of the same type.

Relácia je primárna jednotka pre uloženie dát v relačnej databáze, a predstavuje ju dvojdimenzionálna tabuľka. Relačná databáza môže obsahovať jednu alebo viac takýchto tabuliek. Každá tabuľka pozostáva z jedinečnej množiny riadkov a stĺpcov. Jednoduchý záznam je uložený do tabuľky ako riadok, taktiež známy ako "tuple". Atribúty dát sú v tabuľke definované v stĺpcoch (alebo poliach). Charakteristické vlastnosti dát resp. stĺpcov ostáva zachovaná pre každý  záznam. Každý stĺpec má jedinečný názov a obsahy buniek v ňom musia byť toho istého typu

Tables can be related to each other in a variety of ways. Functional dependencies are formed when an attribute of one table relates to attributes of other tables. The simplest relationship is the one-to-one relationship, in which one record in a table is related to another record in a separate table. A one-to-many relationship is one in which one record in a table is related to multiple records in another table. A many-to-one relationship defines the reverse situation; more than one record in a single table relates to only one record in another table. Finally, in a many-to-many relationship, more than one record in a table relates to more than one record in another table.

Tabuľky môžu byť vo vzájomných vzťahoch rôznymi spôsobmi. Funkčná závislosť vzniká keď atribút jednej tabuľky referuje na atribút druhej tabuľky. Najjednoduchší vzťah závislosti je závislosť jeden na jeden (1:1), keď jeden záznam v tabulke referuje na iný záznam v druhej tabuľke. Závislosť jeden na viac (1:N) je taká závislosť ak jeden záznam v jednej tabulke referuje na viac záznamov v druhej tabuľke. Zavislosť viac na jeden (N:1) definuje opačnú situáciu , viac ako jeden záznam v jednoduchej tabuľke  referuje na jediný záznam v druhej tabuľke. Konečne vzťah mnoho na mnoho (M:N), viac ako jeden záznam v tabuľke referuje na viac ako jeden záznam v druhej tabuľke.  

A key is an entity in a table that distinguishes one row of data from another. The key may be a single column, or it may consist of a group of columns that uniquely identifies a record. Tables can contain primary keys which differentiates records from one another. Primary keys can be an individual attribute, or a combination of attributes. Foreign keys relate tables in the database to one another. A foreign key in one table is a primary key in another. The foreign keys generally define parent-to-child relationships between tables.

Kľúč je taká entita  v tabuľke (Pozn.: Tu by sa hodil skôr výraz atribút tabuľky ; v podstate je to stĺpec v tabuľke ), ktorá (-ý) jednoznačne rozlišuje jeden riadok dát v tabuľke od druhého riadka. Kľúč môže byť jednoduchý stĺpec, alebo môže pozostávať zo skupiny viacerých stĺpcov, ktoré spolu jedinečne identifikujú riadok tabuľky ( = záznam = record - procedúry ktoré dáta zapisujú do súborov zapíšu resp. prečítajú riadok tabuľky jednou R/W operáciou . Zmena obsahu bunky v riadku tabuľky ešte nezapíše riadok na disk. To sa stane až presunieme kurzorom na iný riadok tabuľky). Tabuľky môžu obsahovať primárne kľúče ktoré odlišujú jednotlivé záznamy (t.j.riadky) jeden od druhého. Primárny kľúč môže byť jedinečný atribút, alebo aj kombinácia atribútov (inak povedané jeden stlpec tabuľky alebo  kombinácia stĺpcov). Cudzie kľúče v jednej tabuľke (v ktorej existujú ako obyčajné dáta) referujú na primárny kľúč v inej tabuľke. (Pozn.: Výraz Cudzí kľúč v  podstate zavádza, lepšie by sme vystihli jeho význam názvom referenčná dátová položka resp. referenčný atribút )  Cudzie kľúče zvyčajne definujú vzťah medzi tabuľkami typu otec - syn (Napr.: tabuľka SYN obsahuje obyčajný atribútut /t.j. stĺpec/ označeného ID_OTCA. Tabuľka SYN použije  hodnotu tohto atribútu na identifikáciu záznamu  v tabuľku OTEC a naviaže sa na záznam obsahujúci identickú hodnotu primárneho klúča  ID_OSOBY a tak vytvorí relačnú závislosť ). 

The data that is stored in tables are organized logically based on a particular purpose that minimizes duplication, reduces data anomalies, and reinforces data integrity. The process by which data is organized logically is called normalization. Normalization simplifies the way data is defined and regulates its structure. There are five forms in the normalization process with each form meeting a more stringent condition The first normal form, 1NF, has the least data integrity while the fifth normal form, or 5NF, structures the data with the least anomalies and best integrity.

Data vložené do tabuliek sú organizované logicky na princípoch, ktoré 

Proces  logického preorganizovania dát sa volá normalizácia. Normalizácia zjednodušuje spôsob ako sú dáta definované a reguluje ich štruktúru. Poznáme 5 foriem normalizačných krokov ... 1.NF,...5.NF

Stored data is manipulated using a programming language called Structured Query Language, or SQL. Many varieties of SQL exist. SQL is based on set theory; relational operators such as and, or, not, in are used to perform operations on the data. The operations that can be used in a relational database include insert, select, update, and delete privileges.

Uložené dáta sú udržované pomocou programového jazyka nazývaného SQL. Existuje veľa verzií SQL jazykov. SQL jazyk je založený na množinovej teórii, relačné operátory ako AND, OR, NOT, IN sa používané za vykonávanie operácií nad dátami. Operácie ktoré sa môžu používať v relačných databázach zahrňujú VLOŽ, VYBER, MODIFIKUJ a ZRUŠ.    

Today, the relational database management system, or RDBMS, is the most commonly used database format. Oracle Corporation created the first commercial relational database in 1979. IBM followed suit in 1982 with the SQL Data System. Microsoft was the last major company to jump in with SQL Server 4.2 in 1992. Oracle and Microsoft have the overwhelming market share of commercial database products in use, and will likely continue to dominate the market in the years to come.

V dnešnej dobe, system riadenia relačnej databázy (RDBMS) je jednen z najviac používaných databázových formátov. Spoločnosť ORACLE vytvorila prvú komerčnú relačnú databázu v roku 1979. IBM nasledovala v roku 1982 vytvorením SQL Data Systemom. Microsoft bol posledná veľká firma, ktorá vstúpila do riešenia databázových systémov so svojim SQL Server 4,2 v roku 1992. ORACLE a MICROSOFT majú najvýznamnejší podiel vo využívaní databázových produktov a vyzerá to tak že budú dominovať na trhoch databáz aj v rokoch ktoré prídu ... (Pozn.: Pokiaľ sa neobjaví revolučná Objektová databáza ktorá všetko staré zmetie!).