Szerkesztő:Olahadam98/Rekord (számítástechnika)
From Wikipedia, the free encyclopedia
Számítástechnikában a rekord (amit néha struktúrának, structnak vagy összetett adatnak is neveznek) egy alapvető adatszerkezet. Rekordokat adatbázisokban vagy táblázatokban általában "soroknak" neveznek. [1] [2] [3] [4]
A rekord egy mezők gyűjteménye, amelyek lehetnek különböző adattípusúak, általában fix számúak és sorrendben vannak elhelyezve. [5] A rekord mezőit néha tagoknak is nevezik, különösen az objektumorientált programozásban; a mezőket elemeknek is nevezhetjük, bár ez összetéveszthető a gyűjtemény elemeivel.
Például egy dátumot tárolhatunk egy rekordban, amely tartalmaz egy numerikus évszám mezőt, egy stringként ábrázolt hónapmezőt és egy numerikus hónapnap mezőt. Egy személyi rekord tartalmazhat nevet, fizetést és rangot. Egy kör rekord tartalmazhat egy középpontot és egy sugarat - ebben az esetben a központot maga is egy pont rekordként ábrázolhatjuk, amely tartalmazza az x és y koordinátákat.
A rekordok megkülönböztethetők tömböktől azzal a jellemzővel, hogy mezőik száma a rekord definíciójában van meghatározva, és a rekordok egy heterogén adattípusok; nem minden mezőnek kell ugyanolyan típusú adatot tartalmaznia. [6]
A rekord típus egy olyan adattípus, amely leírja az ilyen értékeket és változókat. A legtöbb modern számítógépes nyelv lehetővé teszi a programozó számára, hogy definiáljon új rekord típusokat. A definíció magában foglalja minden mező adattípusának és azonosítójának (név vagy címke) meghatározását, amelyen keresztül hozzáférhetők. A típuselméletben általában a termék típusokat (amelyeknek nincsenek mezőneveik) részesítik előnyben egyszerűségük miatt, de a megfelelő rekord típusokat tanulmányozzák olyan nyelvekben, mint például a System F-sub. Mivel a típuselméleti rekordok adatok mellett elsőrendű funkciókkal rendelkező mezőket is tartalmazhatnak, képesek kifejezni az objektumorientált programozás számos jellemzőjét.
Rekordok létezhetnek bármely tárolóeszközön, beleértve a főmemóriát és a tömeges tárolóeszközöket, például a mágnesszalagokat vagy merevlemezeket. A rekordok alapvető komponensei a legtöbb adatszerkezetnek, különösen a kapcsolt adatszerkezeteknek. Sok számítógépes fájl logikai rekordok tömbje formájában van szervezve, gyakran hatékonyabbá téve azokat nagyobb fizikai rekordokba vagy blokkokba csoportosítással.
Egy függvény vagy eljárás paramétereit gyakran úgy lehet tekinteni, mint egy rekordváltozó mezőit; és a függvénynek átadott argumentumok tekinthetők úgynevezett rekordértéknek, amelyet a híváskor a változónak rendelnek. Ezenkívül, a gyakran használt hívások implementálásához használt hívási veremben minden bejegyzés egy aktivációs rekord vagy hívási keret, amely tartalmazza az eljárás paramétereit és helyi változóit, a visszatérési címet és egyéb belső mezőket.
Egy objektum az objektumorientált nyelvekben lényegében egy rekord, amely eljárásokat tartalmaz a rekord kezelésére; és az objektumtípusok a rekordtípusok bővítése. Valójában a legtöbb objektumorientált nyelvben a rekordok csak az objektumok speciális esetei, és egyszerű adatstruktúráknak (PODSs) nevezik őket az objektumoktól megkülönböztetve, amelyek OO funkciókat használnak.
Egy rekordot tekinthetünk a számítógépes analógjának egy matematikai tuple-nek, bár egy tuple-t lehet vagy nem lehet tekinteni rekordnak, és fordítva, a konvencióktól és a konkrét programozási nyelvtől függően. Hasonlóan, egy rekord típust tekinthetünk a számítógépes nyelv analógjának két vagy több matematikai halmaz Descartes-szorzatának, vagy az absztrakt terméktípus megvalósításának egy adott nyelvben.