Relational algebra sa mga database: mga operasyon, mga halimbawa

Talaan ng mga Nilalaman:

Relational algebra sa mga database: mga operasyon, mga halimbawa
Relational algebra sa mga database: mga operasyon, mga halimbawa
Anonim

Sa pangkalahatan, ang mga database system ay nilagyan ng query language na makakatulong sa mga user nito na mag-query ng mga instance. Mayroong dalawang ganitong uri - relational algebra at relational calculus. Ang una ay isang procedural query language na kumukuha ng mga instance ng relasyon bilang input at naglalabas ng mga halimbawang relasyon bilang output. Gumagamit ng unary o binary calculus para dito. Ang relational algebra ay isinasagawa nang recursive at ang mga intermediate na resulta ay itinuturing bilang mga relasyon.

Relational algebra
Relational algebra

Cartesian product (Χ)

Pinagsasama-sama ang impormasyon mula sa dalawang magkaibang relasyon sa isa.

Notation – r Χ s, kung saan ang r at s ay mga ratio at ang kanilang output ay tutukuyin bilang

r Χ s={qt | q ∈ r at t ∈ s}.

Konklusyon. Nagtatakda ng ugnayang nagpapakita ng lahat ng aklat at artikulong nakasulat kasama ng tutorial.

Palitan ang pangalan ng operasyon (ρ).

Ang kaugnayan ng relational algebra ay ang mga resulta, ngunit walang anumang pangalan. Binibigyang-daan ka ng pagpapalit ng pangalan na baguhin ang halaga ng output, na tinutukoy ng maliit na letrang Griyego ρ.

Designation – ρ x (E), kung saan ang resulta ng expression na E ay nakaimbak na may pangalanx.

Mga karagdagang operasyon:

  • set intersection;
  • assignment;
  • natural na koneksyon.

Relational calculus

Ito ay isang hindi pamamaraang wika ng query, ibig sabihin, sinasabi nito sa iyo kung ano ang gagawin ngunit hindi ipinapaliwanag kung paano ito ipatupad. Ang relational calculus ay umiiral sa dalawang anyo:

  • correlation calculus ng isang tuple;
  • filtering variable range.

Notation - T/State: Ibinabalik ang lahat ng T tuple na nakakatugon sa isang kundisyon. Resulta. Ibinabalik ang mga tuple na may pangalan. Maaaring ma-quantified ang TRC. Maaari mong gamitin ang existential (∃) at universal quantifiers (∀). Konklusyon. Ang query sa itaas ay magbibigay ng parehong resulta gaya ng nauna.

Domain relational calculus DRC

Gumagamit ang variable ng filter ng attribute domain sa halip na mga tuple integer values (gaya ng ginawa sa TRC na binanggit sa itaas).

Notation – {a 1, isang 2, isang 3, …, a | P (a 1, isang 2, isang 3, …, isang)}, kung saan ang a1, a2 ay mga katangian at ang P ay tumutukoy sa mga formula na binuo na may mga panloob na halaga.

Konklusyon. Itinatakda ang artikulo, pahina, at paksa mula sa kaugnayan ng TutorialsPoint, kung saan ang paksa ay ang database.

Tulad ng TRC, maaari ding isulat ang DRC gamit ang existential at universal quantifiers. Kasama rin sa DRC ang mga relational algebra operator. Ang lakas ng pagpapahayag ng kalkulasyon, calculus at ugnayan ng mga ugnayan sa pagitan ng mga puntos ay katumbas.

pamanggitmodelo ng data ng relational algebra
pamanggitmodelo ng data ng relational algebra

Mga pagkakaiba-iba at scheme ng relational calculus at algebra

Ang modelo ng ER, kapag na-conceptualize sa mga diagram, ay nagbibigay ng magandang pangkalahatang-ideya ng mahahalagang relasyon na mas madaling maunawaan. Ang mga representasyong eskematiko ay maaaring imapa sa isang relational na schema, ibig sabihin, maaari silang malikha nang magkasama sa isa't isa. Hindi posibleng i-import ang lahat ng ER constraints sa isang relational na modelo, ngunit maaaring makabuo ng tinatayang istruktura. Mayroong ilang mga proseso at algorithm na magagamit para sa pag-convert ng mga chart sa system na ito. Ang ilan sa mga ito ay awtomatiko, habang ang iba ay ginawa nang manu-mano. Pangunahing binubuo ang mga ER chart ng mga sumusunod na pamantayan:

  • entity at mga katangian nito;
  • link, na isang kaugnayan sa pagitan ng mga value sa itaas.

Ang paghahambing ng mga bagay at ugnayan ay nangyayari sa iba't ibang paraan at pamamaraan. Halimbawa, ang isang entity ay isang tunay na bagay sa mundo na may ilang mga katangian. Ang proseso ng pagtutugma, ang algorithm ay ang mga sumusunod:

  • lumikha ng talahanayan para sa bawat bagay;
  • Ang

  • attribute ay dapat maging mga field ng talahanayan na may kaukulang mga uri ng data;
  • magdeklara ng pangunahing key.

Ang isang relasyon ay isang kaugnayan sa pagitan ng mga entity. Ang proseso ng compilation ay ang mga sumusunod:

  • lumikha ng talahanayan para sa mga relasyon;
  • magdagdag ng mga pangunahing key ng lahat ng kalahok na entity bilang mga field ng talahanayan na may naaangkop na mga uri ng data;
  • kung may anumang katangian ang kaugnayan, itakda ang bawat katangian bilang field ng talahanayan;
  • pagsamahin ang pangunahing key na bumubuo sa lahatang natitira para sa mga kalahok na bagay;
  • tukuyin ang lahat ng foreign key constraints.

Ang pagpapakita ng mga mahihinang hanay at hierarchical na bagay ay nangyayari ayon sa isang partikular na sistema. Una sa lahat, kinakailangang maunawaan ang mahahalagang pundasyon at kahulugan ng mga halagang ito. Ang mahinang hanay ng tampok ay isa na walang anumang pangunahing key na nauugnay dito. Ang proseso ng pagpapakita ay ang mga sumusunod:

  • lumikha ng talahanayan para sa mahinang hanay ng mga bagay;
  • idagdag ang lahat ng attribute sa schema bilang field;
  • tukuyin ang pangunahing key para sa pagkakakilanlan;
  • itakda ang lahat ng foreign key constraints.

Ang pagpapakita ng mga hierarchical na bagay batay sa espesyalisasyon o generalization ng wika ng relational algebra ay nangyayari sa anyo ng mga sequential entity. Ang algorithm ay ang sumusunod:

  • lumikha ng mga talahanayan para sa lahat ng mas mataas na mas mababang antas ng mga bagay;
  • magdagdag ng mga pangunahing key;
  • sa mababang antas ipatupad ang lahat ng iba pang katangian ng mas mababang antas ng mga bagay;
  • ideklara ang mga pangunahing key ng talahanayan;
  • itakda ang mga hadlang sa foreign key.
Relational Algebra Operations
Relational Algebra Operations

Mga kasalukuyang opsyon para sa paglalarawan, pag-iimbak, pagbabago ng impormasyon

Ang

SQL ay isang programming language para sa mga relational database. Ito ay binuo sa algebra at correlation calculus ng tuples. Dumating ang SQL bilang isang pakete kasama ang lahat ng pangunahing distribusyon ng DBMS. Naglalaman ng parehong data at mga wika para sa pagmamanipula sa kanila. Sa pamamagitan ng paggamit ng relational algebra SQL data definition properties, maaari mong idisenyo at baguhin ang database schema,habang ang mga katangian ng pamamahala at pagsasaayos, pati na rin ang mga pagbabago sa data, ay nagbibigay-daan sa iyo na mag-imbak at kumuha ng impormasyong naka-install sa system. Ginagamit ang sumusunod na hanay ng mga command para tukuyin ang istraktura at system:

  • gumawa ng mga bagong database, talahanayan, at view mula sa isang DBMS.
  • throws commands.
  • binabago ang schema ng database.
  • nagdaragdag ang command na ito ng attribute sa isang string object.

Ang

SQL ay nilagyan ng Data Manipulation Language (DML). Binabago nito ang instance ng database sa pamamagitan ng pagpasok, pag-update, at pagtanggal ng impormasyon. Ang DML ay responsable para sa pagbabago ng lahat ng data. Ang SQL ay naglalaman ng sumusunod na hanay ng mga command sa seksyong DML:

Ang

  • SELECT ay isa sa mga pangunahing query command. Ito ay kahalintulad sa projection operation ng relational algebra. Pumipili ito ng mga attribute batay sa kundisyong inilarawan sa sugnay na WHERE.
  • FROM - Ang seksyong ito ay kumukuha ng pangalan bilang argumento kung saan pipiliin/i-project ang mga katangian. Kung sakaling higit sa isang pangalan ang ibinigay, ang item na ito ay tumutugma sa produkto ng Cartesian.
  • WHERE - Tinutukoy ng seksyong ito ang panaguri o kundisyon na dapat matugunan upang maging kwalipikado ang inaasahang katangian.
  • May mga utos din:

    • insert;
    • nagbabagong halaga;
    • delete.
    Relational algebra sa mga database
    Relational algebra sa mga database

    Paggawa ng Relational Algebra Query

    Kapag gumagawa ng paghahanap, ang gawain ay maghanap ng istruktura ng mga operasyon na hahantong sa tamang output. Ang mga pangunahing operasyon ng relational algebra ay simplemga operasyon na may isa o dalawang relasyon bilang mga operand. Tinutukoy ng pinagsamang epekto ng pagkakasunud-sunod ang huling resulta. Dahil ang sistema ng relational algebra sa mga database ay medyo simple, maraming intermediate na resulta ang maaaring makuha bago maabot ang huling output, ginagamit din ang mga ito bilang mga operand na gumagawa ng bagong data na natanggap.

    Para sa karamihan ng mga operator, hindi mahalaga ang pagkakasunud-sunod ng mga query at ang kanilang pagpapatupad, na nangangahulugan na ang parehong output ay maaaring makamit sa pamamagitan ng paghubog at pagsasama-sama ng intermediate na data sa iba't ibang paraan. Sa pagsasagawa, ang mga paghahanap sa database ay medyo madali. Ang system para sa pagsasagawa ng mga operasyon at mga intermediate na resulta ay tinutukoy ng query optimizer. Kapag bumubuo ng mga tanong, kinakailangan, kailangan mong

    muna piliin kung aling mga ugnayan ang kinakailangan upang makamit ang isang sagot, at pagkatapos ay tukuyin ang mga operasyon at mga intermediate na resulta. Ang istruktura ng isang relational algebra query sa isang database ng mga resulta ay maaaring katawanin bilang isang diagram. Sinusubukan ng mga nag-optimize ng mga kinakailangan na ayusin ang pagpapatupad nang mahusay hangga't maaari. Sa pagsasagawa, karaniwang nangangahulugan ito na sinusubukan nilang bawasan ang mga intermediate na resulta sa lalong madaling panahon. Ang mga karaniwang halimbawa ng relational algebra ay makakatulong dito.

    Halimbawa 1.

    Kailangan ng Impormasyon: Impormasyon sa 1996 model year na sasakyan kung saan may nakitang mga kakulangan sa panahon ng inspeksyon noong 1999.

    Una, ipinapakita ang impormasyon tungkol sa mga sasakyan upang maunawaan ang mga halaga ng lahat ng katangian ng relasyon. Ang impormasyon tungkol sa mga inspeksyon ay naka-imbak sa talahanayan ng "Inspeksyon", at kung nakitamga pagkakamali, ang mga ito ay naitala sa talahanayan ng "Problema". Kaya, kailangan ang tatlong talahanayang ito para makuha ang kinakailangang impormasyon.

    Tanging 1996 na mga sasakyan ang kawili-wili. Ang hanay ng modelo ng sasakyan ay kinakatawan bilang ang halaga ng nakatakdang katangian sa row ng talahanayan ng impormasyon ng sasakyan. Ang unang intermediate na resulta ay binubuo ng mga tuple na kumakatawan sa mga variant noong 1996.

    Kaya mga row lang na sumasaklaw sa panahong ito ang kailangan. Kailangan mong gumamit ng isang seleksyon upang kunin ang mga ito. Ngayon may mga kotse at inspeksyon na kailangan. Ang mga string ay pagkatapos ay pinagsama-sama gamit ang operasyon ng pagsasama. Dapat silang pagsamahin ng isang karaniwang numero ng rehistro, dahil ito lamang ang karaniwang column, isang natural na pagsali ang ginagamit.

    Upang malaman kung may mga problema sa panahon ng mga pagsusuri, kailangan mong iugnay ang mga linya ng problema sa tseke. Pagkatapos ikonekta ang mga control row sa mga kotse, maaari mong ikonekta ang resultang ito sa fault table. Ang kaakibat ay dapat na nakabatay sa karaniwang numero ng pagpaparehistro at ang na-verify na petsa. Ito lang ang mga karaniwang column sa mga talahanayan, kaya natural na pagsali ang ginagamit.

    Ang relational algebra ay isang wika
    Ang relational algebra ay isang wika

    Mga opsyon sa pagkalkula na walang mga intermediate na resulta

    Halimbawa 2.

    Kinakailangang Impormasyon: Pangalan ng driver para sa modelong taong 1995 o mas lumang mga sasakyan na hindi pa nasusuri noong 2000. Ang pangalan ay nasa talahanayang "Driver". Ang mga ahensya ng pagpapatupad ng batas ay inilarawan sa talahanayan na "Inspeksyon at mga kotse sa isang kotse sa kantina". KayaKaya, ang tatlong talahanayan na ito ay kinakailangan. Una, kailangan mong malaman ang mga kotse na hindi na-inspeksyon para sa taong 2000. Hindi posibleng lutasin ang problemang ito gamit lamang ang mga inspeksyon na nakalista sa talahanayan, dahil naglalaman ito ng data tungkol sa mga inspeksyon na ginawa, at hindi sa mga hindi ipinatupad. Ang problemang ito ay nalulutas sa pamamagitan ng paghahanap ng mga pantulong na sasakyan na sinusuri bago ang taong 2000. Sa katunayan, ang kanilang mga registration number lang ang kailangan.

    May iba pang mga halimbawa bukod sa mga nasa itaas na nagpapakita kung paano baguhin o maghanap ng impormasyon. Maaaring i-optimize ang mga variant ng query gamit ang mga espesyal na operasyon. Sa katunayan, para gawing madali at simple hangga't maaari ang paghahanap at paghahanap ng data, mayroong modelo ng relational calculus.

    Kung saan sinisiguro at pinoprotektahan ang impormasyon

    Ang relational data model ng relational algebra ay nakaimbak sa mga format ng file na naglalaman ng mga tala. Sa pisikal na antas, ang aktwal na impormasyon ay naayos sa isang electromagnetic na format sa ilang device. Ang mga storage device na ito ay maaaring hatiin sa tatlong kategorya:

    1. Pangunahin. Kasama sa kategoryang ito ang memorya na direktang naa-access sa CPU. Ang mga rehistro, mabilis na memorya (cache) at pangunahing memorya (RAM) ay direktang naa-access sa gitna, dahil lahat sila ay matatagpuan sa motherboard o chipset. Ang storage na ito ay karaniwang napakaliit, napakabilis, at hindi matatag. Ang patuloy na supply ng kuryente ay kinakailangan upang mapanatili ang estado. Kung nabigo ito, mawawala ang lahat ng data nito.
    2. Secondary. Ginagamit upang mag-imbak ng impormasyon para sa hinaharapgamitin o backup. Kasama ang mga memory device na hindi bahagi ng processor chipset o motherboard, tulad ng mga magnetic disk, optical disk (DVD, CD, atbp.), hard drive, flash drive, at magnetic tape.
    3. Tertiary. Ginagamit upang mag-imbak ng malaking halaga ng data. Dahil ang mga naturang storage device ay panlabas sa computer system, sila ang pinakamabagal sa mga tuntunin ng bilis. Ang mga storage gadget na ito ay pangunahing ginagamit upang i-back up ang buong system. Ang mga optical disc at magnetic tape ay malawakang ginagamit bilang tertiary storage.

    Ang mga espesyal na pagpapatakbo ng relational algebra ay mahalaga para sa kahusayan ng query.

    Istraktura ng imbakan

    Ang computer system ay may mahusay na tinukoy na hierarchy ng memorya. Ang CPU ay may direktang access sa pangunahing sistema pati na rin ang mga built-in na rehistro. Ang oras ng pag-access ng pangunahing memorya ay malinaw na mas mababa kaysa sa bilis ng processor. Upang mabawasan ang pagkakaibang ito, isang cache ang ipinakilala. Ang cache ay nagbibigay ng pinakamabilis na oras ng pag-access at naglalaman ng data na pinakamadalas na ina-access ng CPU.

    Ang memorya na may pinakamabilis na pag-access ang pinakamahal. Ang malalaking storage device ay nagbibigay ng kaunting bilis at mas mura, ngunit nakakapag-imbak sila ng malaking halaga ng data kumpara sa isang rehistro ng processor o cache.

    Ang

    Magnetic at hard drive ay ang pinakakaraniwang pangalawang storage device sa mga computer system ngayon. Ang mga ito ay tinatawag na magneticmetal na base. Ang mga disk na ito ay inilalagay nang patayo sa spindle. Ang read/write head ay gumagalaw sa pagitan ng mga ito at ginagamit upang i-magnetize o alisin ang naturang lugar sa ilalim. Maaari itong kilalanin bilang 0 (zero) o 1 (isa).

    Ang mga hard drive ay naka-format sa isang mahusay na tinukoy na pagkakasunud-sunod para sa mahusay na pag-iimbak ng data. Mayroon itong maraming concentric na bilog na tinatawag na mga landas. Ang bawat track ay higit pang nahahati sa mga sektor, karaniwang nag-iimbak ng 512 byte ng data.

    SQL relational algebra
    SQL relational algebra

    Mga pagpapatakbo ng file

    Ang mga operasyon sa relational algebra language system at ang database nito ay maaaring malawak na mauri sa dalawang kategorya:

    • update;
    • search.

    Ang unang kategorya ay nagbabago ng mga halaga ng data sa pamamagitan ng pagpasok, pagtanggal o pag-update. Sa kabilang banda, ang mga operasyon sa paghahanap ay hindi nag-e-edit ng impormasyon, ngunit kinukuha ito pagkatapos ng opsyonal na conditional filtering. Sa parehong uri ng mga operasyon, ang pagpili ay gumaganap ng isang mahalagang papel. Bilang karagdagan sa paggawa at pagtanggal ng file, maaaring mayroong ilang mga operasyon na maaaring gawin sa mga ito:

    1. Open - umiiral sa isa sa dalawang read o write mode. Sa unang kaso, hindi pinapayagan ng operating system ang sinuman na baguhin ang data. Sa madaling salita, ang data ay binabasa lamang. Ang mga file na binuksan sa read mode ay maaaring ibahagi sa pagitan ng maraming bagay. Pinapayagan ka ng write mode na baguhin ang data. Maaaring basahin ang mga file ngunit hindi maibabahagi.
    2. Isara ang pinakamahalagang operasyon mula sa punto ng view ng operating system dahil inaalis nito ang lahat ng lock(kung nasa shared mode), nagse-save ng data (kung binago) sa pangalawang media, at naglalabas ng lahat ng buffer at handler na nauugnay sa file.
    3. Ang

    4. Indexing ay isang paraan ng istruktura ng impormasyon para sa mahusay na pagkuha ng mga tala mula sa mga file ng isang system batay sa ilang mga katangian kung saan ipinatupad ang system. Tinukoy batay sa mga katangian.

    Ang pag-index ay maaaring nasa sumusunod na uri:

    Ang

  • Pangunahin ay tinukoy sa ordered data file. Ang file ng impormasyon ay nakaayos sa key field.
  • Secondary index na nabuo mula sa isang field na isang candidate key at may natatanging value sa bawat record o hindi isang key na may mga duplicate na value.
  • Ang pag-cluster ay tinukoy sa isang ordered data file, sa isang non-key na field.
  • relational algebra relational calculus
    relational algebra relational calculus

    Ang database management system o DBMS ay tumutukoy sa isang teknolohiya para sa pag-iimbak at pagkuha ng impormasyon ng user na may pinakamataas na kahusayan kasama ng naaangkop na mga hakbang sa seguridad. Ang mas malapit na pagsusuri sa isyung ito ay humahantong sa konklusyon na ang relational algebra ay isang wika ng mga operator na kumukuha ng mga relasyon bilang mga argumento at ibinabalik ang mga ito bilang resulta.

    Inirerekumendang: