Relyasiya (ing. Relation) — verilənlər bazasında verilənlər arasında əlaqələri göstərmək üçün istifadə edilən bir modeldir.[1] Relyasiyalı verilənlər bazası, məlumatları iki ölçülü cədvəllər şəklində saxlayır və bu cədvəllər arasında əlaqələri göstərir. Hər bir cədvəl sütunlar və sətrlərdən ibarətdir, sütunlar atributları, sətrlər isə verilənləri təmsil edir. Bu model SQL (ing. Structured Query Language) ilə işləyir və məlumatların strukturlaşdırılmış şəkildə saxlanılmasını, axtarılmasını və idarə edilməsini asanlaşdırır.[2]
Aşağıda üç adlandırılmış atributu olan əlaqə nümunəsidir: tam bölgədən "ID" və sətir bölgəsindən "Ad" və "Ünvan":[3]
ID (Tam ədəd) | Ad (Əlaqə) | Ünvan (Əlaqə) |
---|---|---|
102 | Yonezava Akinori | Naha, Okinava |
202 | Nilay Patel | Sendai, Miyagi |
104 | Murata Makoto | Kumamoto, Kumamoto |
152 | Matsumoto Yukihiro | Okinava, Okinava |
Sərbəst dəyişənləri ifadə etmək üçün atribut adlarından istifadə edərək bu əlaqə üçün predikat ola bilər: "İşçi ID-si Ad kimi tanınır və Ünvanda yerləşir." Münasibətin tədqiqi, predikatın sahib olduğu yalnız dörd dəzmin olduğunu göstərir. Məsələn, 102-ci işçini yalnız Yonezava Akinori tanıyır və Naha, Okinavadan başqa heç bir yerdə yaşamır. Bundan əlavə, göstərilən dörd işçidən başqa heç bir işçinin adı və ünvanı yoxdur.[4]
Relyasiya verilənlər bazası real dünyada baş verən dəyişikliklərə cavab olaraq verilənlər bazasını yeniləmək üçün adlandırılmış relyasiya dəyişənlərindən (ing. relvars) ibarətdir. Müvafiq dəyərin yenilənməsi həmin dəyişənə təyin edilmiş əlaqənin gövdəsinin başqa bir dəst dəsti ilə əvəzlənməsinə səbəb olur. Relyasiya dəyişənləri iki sinfə bölünür: əsas əlaqə dəyişənləri və törəmə əlaqə dəyişənləri, sonuncular virtual relyasiya dəyişənləri kimi də tanınır, lakin adətən stenoqrafiyada deyilir.
Məlumatların tərifi dili (ing. Data Definition Language (DDL)) istifadə edərək, əsas əlaqənin dəyişənlərini təyin edə bilər. SQL-də CREATE TABLE
sintaksisi əsas cədvəlləri müəyyən etmək üçün istifadə olunur. Aşağıda bir nümunə verilmişdir.[5]
CREATE TABLE List_of_people (
ID INTEGER,
Name CHAR(40),
Address CHAR(200),
PRIMARY KEY (ID)
)
R is a relation on these n domains if it is a set of elements of the form (d1, d2, ..., dn) where dj ∈ Dj for each j=1,2,...,n.
... tuples have no left-to-right ordering to their attributes ...
One reason for abandoning positional concepts altogether in the relations of the relational model is that it is not at all unusual to find database relations, each of which has as many as 50, 100, or even 150 columns.