Satura rādītājs:
- Definīcija - ko nozīmē Referenciālā integritāte (RI)?
- Techopedia skaidro Referenciālo integritāti (RI)
Definīcija - ko nozīmē Referenciālā integritāte (RI)?
Referenciālā integritāte (RI) ir relāciju datu bāzes koncepcija, kas nosaka, ka tabulas attiecībām vienmēr jābūt konsekventām. Citiem vārdiem sakot, jebkuram svešas atslēgas laukam ir jāsakrīt ar galveno atslēgu, uz kuru atsaucas svešā atslēga. Tādējādi jebkuras primārās atslēgas lauka izmaiņas ir jāpiemēro visām svešajām atslēgām vai vispār tām nav jāpiemēro. Tas pats ierobežojums attiecas arī uz svešām atslēgām, jo visi atjauninājumi (bet ne obligāti dzēšamie) ir jāpārpludina primārajā mātes atslēgā.
Techopedia skaidro Referenciālo integritāti (RI)
Apsveriet bankas datu bāzi, kurā ir divas tabulas:
- CUSTOMER_MASTER tabula. Tajā ir klienta / konta īpašnieka pamata dati, piemēram, vārds, sociālās apdrošināšanas numurs, adrese un dzimšanas datums.
- ACCOUNTS_MASTER tabula: Tajā tiek glabāti pamata bankas konta dati, piemēram, konta tips, konta izveides datums, konta īpašnieks un izņemšanas limiti.
Lai unikāli identificētu katru klientu / konta īpašnieku tabulā CUSTOMER_MASTER, tiek izveidota primārās atslēgas kolonna ar nosaukumu CUSTOMER_ID.
Lai tabulā ACCOUNTS_MASTER identificētu klienta un bankas konta attiecības, tabulā CUSTOMER_MASTER ir jāatsaucas uz esošo klientu. Tādējādi kolonna CUSTOMER_ID - arī izveidota tabulā ACCOUNTS_MASTER - ir sveša atslēga. Šī kolonna ir īpaša, jo tās vērtības nav tikko izveidotas. Drīzāk šīm vērtībām ir jāatsaucas uz esošajām un identiskajām vērtībām citas tabulas primārās atslēgas kolonnā, kas ir tabulas CUSTOMER_MASTER kolonna CUSTOMER_ID.
Referenciālā integritāte ir standarts, kas nozīmē, ka jebkuru CUSTOMER_ID vērtību tabulā CUSTOMER_MASTER nedrīkst rediģēt, ja nav rediģējis atbilstošo vērtību tabulā ACCOUNTS_MASTER. Piemēram, ja Endrjū Smita klienta ID tiek mainīts tabulā CUSTOMER_MASTER, šīs izmaiņas jāpiemēro arī tabulai ACCOUNTS_MASTER, tādējādi ļaujot Endrjū Smita konta informācijai saistīties ar viņa klienta ID.
