Mga functional na dependency at relational database. Normalization ng Data

Normal na paraan ng form

Guro

Buong pangalan Dapat suweldo karanasan Nadb Kaf Paksa Grupo VidZan
Ivanov I.M. Sinabi ni Rev. DBMS Laboratory
Ivanov I.M. Sinabi ni Rev. Ipaalam Laboratory
Petrov M.I. Senior na guro DBMS Lecture
Petrov M.I. Senior na guro Mga graphic Laboratory
Sidorov N.G. Sinabi ni Rev. Ipaalam Lecture
Sidorov N.G. Sinabi ni Rev. Mga graphic Lecture
Egorov V.V. Sinabi ni Rev. PC Lecture

kanin. 6.4. Paunang saloobin GURO

Implicit redundancy nagpapakita ng sarili sa parehong suweldo para sa lahat ng mga guro at sa parehong mga bonus sa suweldo para sa parehong haba ng serbisyo. Kung ang suweldo ay nagbabago mula sa 500 kuskusin. hanggang sa 510 rubles, pagkatapos ay dapat baguhin ang halagang ito para sa lahat ng mga guro. Kung ang Sidorov ay tinanggal, ang database ay magiging hindi naaayon. Ito ay isang halimbawa ng anomalya sa pag-edit ng relasyon na may implicit redundancy.

Ang pag-aalis ng kalabisan ay binubuo sa pag-normalize ng mga relasyon.

Ang normal na paraan ng anyo ay isang klasikong pamamaraan para sa pagdidisenyo ng mga relational na database. Ito ay batay sa pangunahing konsepto ng dependency sa pagitan ng mga katangian ng isang relasyon.

Katangian B functionally dependent mula sa attribute A, kung ang bawat value ng A ay tumutugma sa eksaktong isang value ng B. Sa matematika, ang functional dependence ng B sa A ay tinutukoy ng notation A ® B. Nangangahulugan ito na sa lahat ng tuple na may parehong halaga ng attribute a, ATTRIBUTE MAGKAROON DIN NG PAREHONG HALAGA ang B. Ang mga katangian A at B ay maaaring pinagsama - binubuo ng dalawa o higit pang mga katangian. Kaugnay ng Guro, ang mga functional dependencies ay ang mga sumusunod: Buong Pangalan ® Kagawaran, Buong Pangalan ® Tungkulin, Tungkulin ® Salary, atbp.

Functional na pagtutulungan. Kung mayroong functional dependence ng form A ® B at B ® A, pagkatapos ay sa pagitan ng A at B mayroong one-to-one na pagsusulatan, o functional interdependence. Sa matematika, ang pagtutulungan ay tinutukoy bilang A "B o B "A.

Halimbawa. Ang katangiang N (serye ng pasaporte at numero) ay gumaganang magkakaugnay sa katangian ng buong pangalan (apelyido, unang pangalan at patronymic), kung ipinapalagay na ang sitwasyon ng kumpletong pagkakaisa ng mga apelyido, unang pangalan at patronymic ng dalawang tao ay hindi kasama .

Partial functional dependence Ang pag-asa ng isang hindi pangunahing katangian sa bahagi ng isang pinagsama-samang susi ay tinatawag. Sa ugnayan ng Guro, ang susi ay pinagsama-sama at binubuo ng mga katangian Buong Pangalan, Paksa at Grupo. Ang lahat ng hindi pangunahing katangian ay umaasa sa susi na may iba't ibang antas ng dependency. Halimbawa, ang katangiang Posisyon ay umaasa sa katangian ng Buong Pangalan, na bahagi ng susi, i.e. ay bahagyang nakadepende sa susi.

Full functional dependence - Ang pag-asa ng isang non-key na attribute sa buong composite key. Halimbawa, ang ViewZan attribute ay ganap na umaasa sa composite key.

Ang attribute C ay depende sa attribute A palipat-lipat (umiiral transitive dependency ), kung para sa mga katangian A, B, C ang mga kundisyon A ® B at B ® C ay natutugunan, ngunit walang kabaligtaran na relasyon. Sa halimbawa, ang mga katangian ay konektado ng isang transitive dependency:

Buong pangalan ® Job title ® Salary

Kaugnay ng R, attribute B depende ng marami mula sa katangian A kung ang bawat halaga ng A ay tumutugma sa isang hanay ng mga halaga ng B na hindi nauugnay sa iba pang mga katangian mula sa R. Ang mga multivalued na dependency ay maaaring isa-sa-marami (1:M), marami-sa-isa (M :1) o marami-sa-isa sa marami” (M:M), ayon sa pagkakabanggit: A Þ B, A Ü B at A Û B.

Sa halimbawang isinasaalang-alang, mayroong isang multivalued M:M na relasyon sa pagitan ng mga katangian Buong Pangalan Û Paksa (isang guro ay maaaring magturo ng ilang mga paksa at isang paksa ay maaaring ituro ng ilang mga guro).

Dahil ang pag-asa sa pagitan ng mga katangian ay ang sanhi ng mga anomalya, sinisikap nilang hatiin ang mga naturang relasyon sa ilang mga relasyon. Bilang resulta, nabuo ang isang hanay ng mga kaugnay na relasyon (talahanayan) na may mga koneksyon sa anyong 1:1, 1:M, M:1 at M:M. Ang mga relasyon sa pagitan ng mga talahanayan ay nagpapakita ng mga dependency sa pagitan ng mga katangian ng iba't ibang mga relasyon.

Mga katangian ng mutually independent. Ang dalawa o higit pang mga katangian ay sinasabing magkahiwalay kung wala sa mga katangian ang gumaganang umaasa sa iba pang mga katangian. Sa matematika, ang kawalan ng pag-asa ng attribute A sa attribute B ay tinutukoy bilang A Ø® B. Kung A Ø® B at B Ø® A ay naganap, ang mutual independence ay tinutukoy na A Ø = B.

Pagkilala sa mga dependency sa pagitan ng mga katangian. Ang pagkilala sa mga dependency sa pagitan ng mga katangian ay kinakailangan upang maisagawa ang disenyo ng database gamit ang normal na paraan ng mga form.

Halimbawa. Hayaang ibigay ang isang ugnayang R na may scheme R(A1, A2, A3) ng form:

A1 A2 A3

Ito ay kilala ng isang priori na may mga functional dependencies:

A1®A2 at A2®A3.

Mula sa pagsusuri ay malinaw na mayroon ding mga dependencies sa relasyon:

A1®A3, A1A2®A3, A1A2A3®A1A2, A1A2®A2A3, atbp.

Sa kaugnayan walang functional dependence ng attribute A1 sa attribute A2 at sa attribute A3, i.e.

A2 Ø® A1, A3 Ø® A1.

Ang kawalan ng pag-asa ng A1 sa A2 ay ipinaliwanag ng katotohanan na ang parehong halaga ng katangian A2 (21) ay tumutugma sa iba't ibang mga halaga ng katangian A1 (12 at 17).

Ang lahat ng umiiral na functional dependencies sa isang relasyon ay buong hanay ng mga functional dependencies , na tinutukoy namin ng F + . Ang kumpletong hanay ng mga functional dependencies ay maaaring mahinuha batay sa 8 inference axioms: reflectivity, completion, transitivity, extension, continuation, pseudotransitivity, unyon at decomposition.

Para sa ugnayan ng Guro, ang mga sumusunod na functional dependencies ay maaaring makuha:

Buong pangalan ® Salary

Buong pangalan ® Tungkulin

Buong pangalan ® Karanasan

Buong pangalan ® Nadb

Buong pangalan ® Kaf

Karanasan ® Nadb

Utang ® Sahod

Salary ® Tungkulin

Buong pangalan Paksa Pangkat ® Sahod

kanin. 6.5. Dependencies sa pagitan ng mga katangian.

Ipinapalagay na ang isang guro sa isang grupo ay maaaring magsagawa ng isang uri ng klase (lecture o laboratory work). Buong pangalan – natatangi. Mayroong pag-asa Buong Pangalan ® Karanasan, ngunit ang kabaligtaran na pahayag ay hindi totoo, dahil Ang ilang mga guro ay may parehong karanasan. Tungkol sa iba pang mga dependency, ang pangangatwiran ay magkatulad. Ang isa-sa-isang relasyon ay itinatag sa pagitan ng posisyon at suweldo.

Ang isang guro sa isang grupo sa iba't ibang asignatura ay maaaring magsagawa ng iba't ibang uri ng mga klase. Ang kahulugan ng Uri ng Trabaho ay nauugnay sa indikasyon ng buong pangalan, paksa at grupo. Sa katunayan, si Petrov M.I. sa ika-256 na grupo ay nagbibigay siya ng mga lektura at nagsasagawa ng mga klase sa laboratoryo, ngunit nagbibigay ng mga lektura sa DBMS, at gawain sa laboratoryo sa Graphics.

Ang mga dependency sa pagitan ng mga katangian Pangalan, Paksa at Pangkat ay hindi ipinapakita, dahil bumubuo sila ng isang pinagsama-samang susi at hindi isinasaalang-alang sa proseso ng normalisasyon ng kaugnayan (talahanayan).

Mga normal na anyo. Ang proseso ng pagdidisenyo ng mga database gamit ang mga normal na anyo ay umuulit at binubuo ng sunud-sunod na paglilipat ng mga relasyon mula sa unang normal na anyo patungo sa mas mataas na ayos na mga normal na anyo. Nililimitahan ng bawat kasunod na form ang isang partikular na uri ng functional dependency, inaalis ang mga kaukulang anomalya kapag nagsasagawa ng mga operasyon sa mga relasyon sa database, at pinapanatili ang mga katangian ng mga nakaraang form.

Ang sumusunod na pagkakasunud-sunod ng mga normal na anyo ay nakikilala:

° Unang normal na anyo (1NF);

° Pangalawang normal na anyo (2NF);

° Pangatlong normal na anyo (3NF);

° Pinalakas ang ikatlong normal na anyo, o Boyce-Codd normal na anyo (BCNF);

° Ikaapat na normal na anyo (4NF);

° Ikalimang normal na anyo (5NF).

Unang normal na anyo Ang isang relasyon ay nasa 1NF kung ang lahat ng mga katangian nito ay simple (may isang solong halaga). Ang orihinal na kaugnayan ay itinayo sa paraang ito ay nasa 1NF.

Ang pagbabagong-anyo ng isang kaugnayan sa susunod na normal na anyo ay isinasagawa gamit ang "lossless decomposition" na paraan, i.e. Ang mga query (data sampling ayon sa kundisyon) sa orihinal na kaugnayan at sa mga relasyon na nakuha bilang resulta ng agnas ay dapat magbigay ng parehong resulta.

Ang pangunahing operasyon ng paraan ng agnas ay ang pagpapatakbo ng projection.

Halimbawa. Hayaang may functional dependence ang relation R(A,B,C,D,E,...) C ® D. Decomposition ng relation R sa dalawang bagong relasyon R1(A, B,C,E,...) at R2(C,D) ay aalisin ang functional dependence ng mga katangian at ilipat ang kaugnayan R sa susunod na normal na anyo. Ang Relation R2 ay isang projection ng relation R sa mga attribute C at D.

Ang orihinal na kaugnayan ng Guro ay may pinagsama-samang susi Buong pangalan, Paksa, Grupo at nasa 1NF. Ang mga katangiang Experience, Nadb, Caf, Duty, Salary ay functionally dependent sa bahagi ng composite key - ang attribute Buong pangalan. Ang bahagyang dependency na ito ay humahantong sa tahasan at implicit na data redundancy, na lumilikha ng mga problema sa pag-edit ng data. Ang ilan sa mga redundancy ay inaalis sa pamamagitan ng pag-convert ng kaugnayan sa 2NF.

Pangalawang normal na anyo. Ang isang relasyon ay nasa 2NF kung ito ay nasa 1NF at ang bawat hindi pangunahing katangian ay ganap na umaasa sa pangunahing susi (composite).

Upang maalis ang bahagyang pag-asa, kinakailangan na gamitin ang pagpapatakbo ng projection, pagpapalawak ng orihinal na kaugnayan sa ilang mga relasyon tulad ng sumusunod:

° Bumuo ng projection na walang mga attribute na bahagyang nakadepende sa primary key;

° Bumuo ng mga projection sa mga bahagi ng isang composite primary key at mga katangian na nakadepende sa mga bahaging ito.

Isalin natin ang ugnayan ng Guro sa 2NF. Bilang resulta, nakakakuha kami ng dalawang relasyon R1 at R2.

R1

Buong pangalan Paksa Grupo VidZan
Ivanov I.M. DBMS Laboratory
Ivanov I.M. Ipaalam Laboratory
Petrov M.I. DBMS Lecture
Petrov M.I. Mga graphic Laboratory
Sidorov N.G. Ipaalam Lecture
Sidorov N.G. Mga graphic Lecture
Egorov V.V. PC Lecture

kanin. 6.6. Mga relasyon sa database GURO sa 2 SF

Kaugnay ng R1, ang pangunahing susi ay composite Buong pangalan, Paksa, Grupo, na may kaugnayan sa R2 ang susi ay Buong pangalan Bilang resulta, ang halatang redundancy ng data sa mga guro ay inalis. Mayroon pa ring implicit na pagdoble ng data sa R2.

Para sa karagdagang pagpapabuti, iko-convert namin ang mga relasyon sa 3NF.

Lecture 3. Pangkalahatang konsepto at kahulugan. Pag-uuri ng mga function. Limitasyon sa pag-andar. Walang hanggan maliit at walang hanggan malalaking function. Basic theorems tungkol sa infinitesimal functions.

Function

Kapag nilulutas ang iba't ibang mga problema, karaniwang kailangan mong harapin ang pare-pareho at variable na dami.

Kahulugan

Ang pare-parehong dami ay isang dami na nagpapanatili ng parehong halaga alinman sa pangkalahatan o sa isang partikular na proseso: sa huling kaso ito ay tinatawag na isang parameter.

Ang variable na dami ay isang dami na maaaring tumagal sa iba't ibang mga numerical na halaga.

Konsepto ng pag-andar

Kapag nag-aaral ng iba't ibang mga phenomena, kadalasan ay nakikitungo tayo sa isang hanay ng mga variable na dami na magkakaugnay sa paraan na ang mga halaga ng ilang mga dami (mga independiyenteng variable) ay ganap na matukoy ang mga halaga ng iba (mga umaasa na variable at pag-andar).

Kahulugan

Ang variable na quantity y ay tinatawag na isang (single-valued) function ng variable na quantity x kung ang mga ito ay nauugnay sa isa't isa sa paraang ang bawat value ng x na isinasaalang-alang ay tumutugma sa isang solong well-defined value ng quantity y (formulated ni N.I. Lobachevsky).

Pagtatalaga y=f(x) (1)

x– malayang variable o argumento;

y– umaasa na variable (function);

f- katangian ng pag-andar.

Ang hanay ng lahat ng mga halaga ng independiyenteng variable kung saan ang function ay tinukoy ay tinatawag na domain ng kahulugan o ang domain ng pagkakaroon ng function na ito. Ang domain ng kahulugan ng isang function ay maaaring: isang segment, isang half-interval, isang interval, o ang buong numerical axis.

Ang bawat halaga ng radius ay tumutugma sa isang halaga ng lugar ng bilog. Ang lugar ay isang function ng radius na tinukoy sa isang walang katapusang pagitan

2. Function (2). Tinukoy ang function sa

Upang mailarawan ang pag-uugali ng isang function, bumuo ng isang function graph.

Kahulugan

Function graph y=f(x) ay tinatawag na set of points M(x,y) eroplano OXY, na ang mga coordinate ay nauugnay sa functional dependence na ito. O ang graph ng isang function ay isang linya na ang equation ay isang pagkakapantay-pantay na tumutukoy sa function.

Halimbawa, ang graph ng function (2) ay isang kalahating bilog ng radius 2 na ang sentro nito sa pinanggalingan.

Ang pinakasimpleng functional dependencies

Tingnan natin ang ilang simpleng functional dependencies

  1. Direktang pag-asa sa pagganap

Kahulugan

Ang dalawang variable ay tinatawag na direktang proporsyonal kung kapag ang isa sa kanila ay nagbabago sa isang tiyak na ratio, ang iba ay nagbabago sa parehong ratio.

y=kx, Saan k– koepisyent ng proporsyonalidad.

Graph ng isang function

  1. Linear na pag-asa

Kahulugan

Dalawang variable na dami ay nauugnay sa pamamagitan ng isang linear na relasyon, kung , kung saan ang ilang mga pare-parehong dami.

Graph ng isang function

  1. Baliktad na proporsyonal na relasyon

Kahulugan

Ang dalawang variable ay tinatawag na inversely proportional kung kapag ang isa sa kanila ay nagbabago sa ilang ratio, ang iba ay nagbabago sa kabaligtaran na ratio.

  1. Quadratic na pag-asa

Ang quadratic dependence sa pinakasimpleng kaso ay may anyo , kung saan ang k ay ilang pare-parehong halaga. Ang graph ng isang function ay isang parabola.

  1. Pagdepende sa sinusoidal.

Kapag nag-aaral ng mga pana-panahong phenomena, ang sinusoidal dependence ay may mahalagang papel

- ang function ay tinatawag na isang harmonic.

A– amplitude;

Dalas;

Paunang yugto.

Ang function ay panaka-nakang may period. Mga halaga ng function sa mga punto x At x+T, na nag-iiba ayon sa panahon, ay pareho.

Ang pag-andar ay maaaring mabawasan sa anyo , Saan . Mula dito nakuha namin na ang harmonic graph ay isang deformed sinusoid na may amplitude A at period T, na inilipat kasama ang OX axis ng halaga

T

Mga pamamaraan para sa pagtukoy ng isang function

Karaniwan, ang tatlong paraan ng pagtukoy ng isang function ay isinasaalang-alang: analytical, tabular, at graphical.

  1. Analytical na paraan ng pagtukoy ng isang function

Kung ang isang function ay ipinahayag gamit ang isang formula, pagkatapos ito ay tinukoy nang analytical.

Halimbawa

Kung ang function y=f(x) ay ibinigay ng isang formula, pagkatapos ay ang katangian nito f nagsasaad ng hanay ng mga aksyon na kailangang isagawa sa isang tiyak na pagkakasunud-sunod sa halaga ng argumento x upang makuha ang katumbas na halaga ng function.

Halimbawa . Tatlong aksyon ang ginagawa sa halaga ng argumento.

  1. Tabular na paraan ng pagtukoy ng isang function

Ang pamamaraang ito ay nagtatatag ng pagsusulatan sa pagitan ng mga variable gamit ang isang talahanayan. Alam ang analytical expression ng isang function, maaari naming katawanin ang function na ito para sa mga halaga ng argumento na interesado sa amin gamit ang isang talahanayan.

Posible bang lumipat mula sa isang pagtatalaga ng function na tabular patungo sa isang analytical expression?

Tandaan na ang talahanayan ay hindi nagbibigay ng lahat ng mga halaga ng pag-andar, at ang mga intermediate na halaga ng pag-andar ay matatagpuan lamang nang humigit-kumulang. Ito ang tinatawag na interpolation mga function. Samakatuwid, sa pangkalahatang kaso, imposibleng makahanap ng eksaktong analytical expression para sa isang function gamit ang tabular data. Gayunpaman, palaging posible na bumuo ng isang formula, at higit sa isa, na, para sa mga halaga ng argumento na magagamit sa talahanayan, ay magbibigay ng kaukulang mga halaga ng tabular ng function. Ang ganitong uri ng formula ay tinatawag na interpolation.

  1. Graphical na paraan upang tukuyin ang isang function

Ang mga analytical at tabular na pamamaraan ay hindi nagbibigay ng isang malinaw na ideya ng pag-andar.

Ang graphical na paraan ng pagtukoy ng isang function ay walang ganitong disbentaha. y=f(x), kapag ang pagsusulatan sa pagitan ng argumento x at pag-andar y itakda gamit ang isang iskedyul.

Ang konsepto ng isang implicit function

Ang isang function ay tinatawag na tahasan kung ito ay ibinigay ng isang formula na ang kanang bahagi ay hindi naglalaman ng dependent variable.

Function y mula sa argumento x ay tinatawag na implicit kung ito ay ibinigay ng equation

F(x,y)=0(1) hindi nalutas tungkol sa dependent variable.

Konsepto ng inverse function

Hayaang ibigay ang function y=f(x)(1). Sa pamamagitan ng pagtukoy ng mga halaga ng argumento x, nakukuha namin ang mga halaga ng function y.

Posible, kung isasaalang-alang y argumento, at X– function, itakda ang mga halaga y at makakuha ng mga halaga x. Sa kasong ito, matutukoy ng equation (1). x, bilang isang implicit function ng y. Ang huling function na ito ay tinatawag reverse kaugnay ng tungkuling ito y.

Ipagpalagay na ang equation (1) ay naresolba nang may kinalaman sa x, nakakakuha tayo ng tahasang pagpapahayag para sa inverse function

(2), kung saan ang function para sa lahat ng wastong halaga y nakakatugon sa kondisyon

Ang isang relational database ay naglalaman ng parehong structural at semantic na impormasyon. Ang istraktura ng isang database ay tinutukoy ng bilang at uri ng mga ugnayang nilalaman nito, at ang isa-sa-maraming mga ugnayan na umiiral sa pagitan ng mga tuple ng mga ugnayang ito. Inilalarawan ng bahaging semantiko ang hanay ng mga functional na dependency na umiiral sa pagitan ng mga katangian ng mga ugnayang ito. Tukuyin natin ang functional dependence.

Kahulugan: Kung ang dalawang katangiang X at Y ng ilang ugnayan ay ibinigay, ang Y ay sinasabing gumaganang umaasa sa X kung sa anumang sandali ng oras ang bawat halaga ng X ay tumutugma sa eksaktong isang halaga ng Y. Ang functional dependence ay tinutukoy ng X -> Y. Tandaan na ang X at Y ay maaaring kumatawan ay hindi lamang iisang katangian, kundi pati na rin ang mga pangkat na binubuo ng ilang katangian ng isang relasyon. Masasabi nating ang functional dependencies ay isa-sa-maraming relasyon na umiiral sa loob ng isang relasyon.

    2nd normal na anyo (2NF) na relasyon. Pagpapasiya ng kumpletong functional dependence at 2NF.

Mga katangian ng mga relasyon sa 2NF. Algorithm para sa pagbawas sa 2NF. Teorem ni Heath. Mga halimbawa.Konsepto

kumpletong functional dependence. Kahulugan: hindi pangunahing katangian ganap na umaasa sa pagganap

Kahulugan: mula sa isang pinagsama-samang susi kung umaasa ito sa buong susi sa kabuuan, ngunit hindi umaasa sa alinman sa mga katangiang bumubuo nito. labis na functional dependence

- isang dependency na naglalaman ng impormasyon na maaaring makuha batay sa iba pang dependency na magagamit sa database.

2NF - pangalawang normal na anyo. Kahulugan ng pangalawang normal na anyo: ang isang relasyon ay nasa 2NF

, kung ito ay nasa 1NF at ang bawat hindi pangunahing katangian ay ganap na nakadepende sa susi.

Ang isang database schema na walang mga redundant functional dependencies ay itinuturing na tama. Kung hindi, kailangan mong gamitin ang pamamaraan ng agnas (decomposition) ng umiiral na hanay ng mga relasyon. Sa kasong ito, ang nabuong set ay naglalaman ng mas malaking bilang ng mga relasyon, na mga projection ng mga relasyon ng orihinal na hanay. (Ang projection operation ay inilalarawan sa seksyon sa relational algebra.) Ang nababaligtad na hakbang-hakbang na proseso ng pagpapalit ng isang naibigay na hanay ng mga relasyon sa isa pang pamamaraan, na nag-aalis ng mga kalabisan na functional dependencies, ay tinatawag na normalisasyon.

Ang kondisyon ng reversibility ay nangangailangan na ang agnas ay mapanatili ang equivalence ng mga circuit kapag pinapalitan ang isang circuit sa isa pa, i.e. sa mga nagresultang relasyon:

2) ang mga relasyon ng bagong schema ay dapat masiyahan ang orihinal na hanay ng mga functional dependencies.

Ang teorama ni Heath

Ibigay ang relasyon.

Kung r nakakatugon sa functional dependence, pagkatapos ito ay katumbas ng unyon ng projection nito at

    3rd normal form (3NF) na ugnayan.

Kahulugan ng transitive dependence at 3NF Algorithm para sa pagbabawas sa 3NF Boyce-Codd Normal Form (BCNF). Mga katangian ng mga relasyon sa 3NF at sa NFBC. Mga halimbawa.

Ang impormasyon ay palaging may sapat na dinamikong interes. Ang pagbuo ng mga programming language, relational database at mga teknolohiya ng impormasyon ay radikal na nagbago sa nilalaman at istraktura ng interes. Ang isang tiyak na mahigpit na sistema ng mga ideya ay nabuo. Ang pormalisasyon, eksaktong matematika at binary na relasyon ay naging matagumpay at mabilis na umuunlad na lugar ng kaalaman at karanasan. Ang natural na mundo ng impormasyon ay hindi nagbago ng dinamika nito at, ang pagbuo ng nilalaman at istraktura, ay tumaas sa mga bagong taas. Mayroon itong makinis na mga hugis, at walang anuman sa kalikasan"parihaba"

. Ang impormasyon, siyempre, ay nagbibigay ng sarili sa pormalisasyon, ngunit mayroon itong mga dinamika hindi lamang ang data at mga algorithm para sa pagproseso ng mga ito, ngunit ang mga gawain mismo at ang kanilang mga lugar ng aplikasyon ay nagbabago.

Impormasyon > pormalisasyon >> data

Ang impormasyon ay nagiging isang istraktura ng impormasyon, isang database...) habang nakikita ito ng programmer. Walang garantiya na tama ang pananaw na ito, ngunit kung malulutas ng kanyang programa ang problema, kung gayon ang data ay ipinakita nang naaangkop hangga't maaari.

Ang tanong kung paano tama ang impormasyon ay napormal ay isang bagay ng oras. Hanggang ngayon, ang konsepto ng dynamics (self-adaptation sa pagbabago ng mga kondisyon ng paggamit) ay isang pangarap lamang sa programming.

Functional dependence: "tamang solusyon = program (programmer)" at kundisyon: "patuloy na pagsunod sa gawain" ay may bisa sa karamihan ng mga kaso, ngunit magkasama lamang. Ngunit hindi ito ang mathematical na batayan na ginagamit upang lumikha ng mga database.

Isang direktang pahayag: ang natural at tuluy-tuloy na dinamika ng impormasyon at mga algorithm sa paglutas ng problema ay palaging totoo. At ito ay mga binary na relasyon + mahigpit na matematika + tiyak na pormal na mga konstruksyon, + ...

at mga database

Matagal nang hindi mahalaga kung paano iniimbak ang data: RAM man ito o panlabas na device. Ang bahagi ng hardware ay umabot sa isang matatag na bilis ng pag-unlad at nagbibigay ng magandang kalidad sa malalaking volume.

  • Ang mga pangunahing opsyon sa storage, na naiiba sa mga opsyon sa paggamit ng data:
  • mga file;

Ang una ay naiwan sa programmer (kung ano ang isusulat, sa anong format, kung paano ito gagawin, kung paano basahin...), ang pangalawa ay agad na nagdadala ng pangangailangan na maunawaan ang isang simpleng functional na relasyon.

Ang bilis ng pagkuha at pagsusulat ng impormasyon kapag nagtatrabaho sa mga file (sa isang makatwirang laki, hindi astronomical) ay napakabilis, ngunit ang bilis ng mga katulad na operasyon na may isang database ay maaaring minsan ay kapansin-pansing mabagal.

Personal na karanasan at kolektibong karunungan

Mayroong mga pagtatangka sa buong kasaysayan na lumampas sa mga limitasyong ito, ngunit hanggang ngayon ang mga relational database ay naghahari. Malaking teoretikal na potensyal ang naipon, ang kasanayan sa aplikasyon ay malawak, at ang mga developer ay lubos na kwalipikado.

Ang mga developer ng database ay nagpapataw ng konsepto ng functional dependence sa programmer, kahit na hindi niya nilayon na gamitin ang mayamang karanasan sa matematika at lohikal sa pagbuo ng mga kumplikadong istruktura ng impormasyon, ang mga proseso ng pagtatrabaho sa kanila, pagkuha at pag-record ng impormasyon.

Kahit na sa pinakasimpleng kaso, ang programmer ay nakasalalay sa lohika ng database na pinili niyang magtrabaho. Walang pagnanais na sundin ang mga canon, maaari kang gumamit ng mga file, makakakuha ka ng maraming mga file at maraming personal na karanasan. Maraming personal na oras ang gugugol at ang problema ay malulutas sa mahabang panahon.

Hindi mahalaga kung gaano kumplikado ang mga halimbawa ng pag-asa sa pagganap, hindi kinakailangan na sumisid sa lalim ng kahulugan at lohika. Madalas na kilalanin na ang kolektibong pag-iisip ay nagawang lumikha ng mahusay na mga database ng iba't ibang laki at pag-andar:

  • solid Oracle;
  • hinihingi ang MS SQL Server;
  • sikat na MySQL.

Napakahusay na relational database na may magandang reputasyon, madaling gamitin, mabilis sa tamang mga kamay. Ang kanilang paggamit ay nakakatipid ng oras at inaalis ang pangangailangan na magsulat ng karagdagang mga sheet ng auxiliary code.

Mga Tampok ng Programming at Data

Sa loob ng mahabang panahon, ang programming ay may sakit na patuloy na muling pagsusulat ng isang bagay, paulit-ulit ang gawain ng mga nauna upang kahit papaano ay maiangkop ang isang bagay sa nabagong impormasyon, isang gawain o mga kondisyon ng paggamit nito.

Ang bagay tungkol sa functional dependency ay na, tulad ng sa programming, ang isang pagkakamali ay maaaring maging napakamahal. Ang gawain ay bihirang simple. Karaniwan, sa panahon ng pormalisasyon ng impormasyon, ang isang kumplikadong representasyon ng data ay nakuha. Karaniwan ang kanilang mga elemento ay nakahiwalay, pagkatapos ay iniuugnay ang mga ito ng mga susi sa ilang partikular na relasyon, pagkatapos ay inaayos ang mga algorithm para sa pagbuo ng mga talahanayan, query, at algorithm para sa pagkuha ng impormasyon.

Kadalasan ang pagbubuklod sa pag-encode ay napakahalaga. Hindi lahat ng mga database ay nag-aalok ng mga mobile na solusyon; madalas mong mahaharap kung paano ang isang perpektong naka-configure na MySQL, kung saan ang isang dosenang database ay nakabatay, gumagana nang perpekto at matatag, na pinipilit ang developer na gawin ang pang-labing isang database na katulad ng mga umiiral na.

May mga pagkakataon na nililimitahan ng shared hosting ang functionality ng PHP at ito ay nakakaapekto sa programming ng database access.

Sa modernong programming, ang responsibilidad para sa algorithm ng isang programa ay katumbas ng responsibilidad para sa paglikha ng isang modelo ng data. Lahat ay dapat gumana, ngunit hindi ka dapat palaging lumubog sa gubat ng teorya.

DB: simpleng data dependency

Una sa lahat, ang konsepto ng isang database ay parehong database, parehong isang sistema ng pamamahala (halimbawa, MySQL) at isang tiyak na istraktura ng impormasyon na sumasalamin sa data ng gawain at ang mga koneksyon sa pagitan nila. Ang isang database ng MySQL ay "may hawak" ng maraming istruktura ng impormasyon hangga't gusto mo para sa iba't ibang mga lugar ng aplikasyon. Maaaring suportahan ng isang database ng Oracle ang mga proseso ng impormasyon ng isang malaking kumpanya o bangko, kontrolin ang mga isyu sa seguridad at integridad ng data sa pinakamataas na antas, na matatagpuan sa maraming mga computer na matatagpuan sa iba't ibang distansya, sa iba't ibang instrumental na kapaligiran.

Karaniwang tinatanggap na ang relasyon ay pangunahing sa modelong pamanggit. Ang elementary relation ay isang hanay ng mga column na may mga pangalan at row na may mga value. Classical "parihaba"(talahanayan) - simple at epektibong pagkamit ng pag-unlad. Ang pagiging kumplikado at functional dependencies ng isang database ay magsisimula kapag "mga parihaba" magsimulang pumasok sa relasyon sa isa't isa.

Ang pangalan ng bawat column sa bawat talahanayan ay dapat na natatangi sa loob ng konteksto ng gawain. Ang parehong data ay hindi maaaring nasa dalawang talahanayan. Alamin ang kahulugan ng mga konsepto:

  • "tukuyin ang mga entity";
  • "alisin ang kalabisan";
  • "ayusin ang mga relasyon";
  • "upang matiyak ang pagiging tunay."

Isang elementarya na pangangailangan para sa paggamit ng database at pagbuo ng modelo ng data para sa isang partikular na gawain.

Ang paglabag sa alinman sa mga konseptong ito ay nangangahulugan ng mababang kahusayan ng algorithm, mabagal na pag-sample ng data, pagkawala ng data, at iba pang mga problema.

Functional dependence: lohika at kahulugan

Hindi mo kailangang basahin ang tungkol sa mga tuple ng mga relasyon, tungkol sa katotohanan na ang isang function ay isang sulat sa pagitan ng isang hanay ng mga argumento at isang hanay ng mga halaga, at ang isang function ay hindi lamang isang formula o isang graph, ngunit maaaring tukuyin ng isang hanay ng mga halaga - isang talahanayan.

Hindi ito kinakailangan, ngunit hindi masakit na isipin ang isang functional dependency bilang:

F(x1, x2, …, xN) = (y1, y2, …, yN).

Ngunit kinakailangang maunawaan na ang input ay isang talahanayan, at ang output ay isa ring talahanayan o isang partikular na solusyon. Karaniwan, ang isang functional dependency ay nagtatatag ng lohika ng mga relasyon sa pagitan ng mga talahanayan, query, pribilehiyo, trigger, naka-imbak na mga pamamaraan at iba pang mga aspeto (mga bahagi) ng database.

Karaniwan, ang mga talahanayan ay na-convert sa isa't isa, pagkatapos ay sa resulta. Ngunit ang paggamit ng functional dependency ay hindi limitado sa ideyang ito lamang. Ang programmer mismo ay nagtatayo ng kanyang sariling representasyon ng larawan ng data, ang istraktura ng impormasyon ... hindi mahalaga kung ano ang tawag mo dito, ngunit kung ito ay gumagana sa isang tiyak na database, dapat itong itayo ayon sa lohika nito, isaalang-alang ang kahulugan at diyalekto ng wikang ginagamit, kadalasang SQL.

Ito ay maaaring argued na ang mga katangian ng functional dependencies ng database ay naa-access sa pamamagitan ng dialect ng SQL wika na ginagamit. Ngunit mas mahalagang maunawaan: pagkatapos ng lahat ng mga pagbabago ng pag-unlad, hindi maraming mga database ang nakaligtas, ngunit maraming mga dialekto ng wikang ito at mga tampok ng mga panloob na istruktura sa mga database din.

Tungkol sa magandang lumang Excel

Nang ipinakita ng computer ang sarili sa positibong panig, ang mundo ay agad na nahati sa mga programmer at user. Bilang isang patakaran, ang mga una ay gumagamit ng:

  • PHP, Perl, JavaScript, C++, Delphi.
  • MySQL, Oracle, Visual FoxPro.
  • salita.
  • Excel.

Ang ilang mga gumagamit ay namamahala upang lumikha ng mga database sa Word sa kanilang sarili (nang walang tulong ng mga programmer) - ito ay tunay na walang kapararakan.

Ang karanasan ng user sa Excel upang lumikha ng mga database ay praktikal at kawili-wili. Ang mahalagang bagay ay ang Excel mismo ay gumagana, makulay at praktikal.

Tinukoy ng tabular na ideya ang konsepto ng functional dependence sa isang malinaw at naa-access na paraan, ngunit ang bawat database ay may mga nuances. Ang bawat isa ay may sariling "mukha," ngunit lahat mula sa Excel hanggang Oracle ay nagmamanipula ng mga simpleng parisukat, iyon ay, mga talahanayan.

Kung isasaalang-alang mo na ang Excel ay hindi isang database sa lahat, ngunit maraming mga gumagamit (hindi programmer) ang gumagamit nito sa ganoong paraan, at ang Oracle ay ang pinaka kumplikado at makapangyarihang tagumpay ng isang malaking koponan ng mga developer sa larangan ng mga database, kung gayon ito ay nagiging natural na aminin na ang database ay isang representasyon ng isang partikular na programmer (team) tungkol sa isang partikular na problema at solusyon nito.

Ano ang functional dependence, kung ano, saan, bakit... ay halata lamang sa may-akda o isang pangkat ng mga ito.

Tungkol sa Kung Saan Pupunta ang Mga Relasyonal na Relasyon

Ang pag-unlad ng siyentipiko at teknolohiya ay isang napakasakit na pamamaraan, at kung minsan ay malupit. Kung naaalala mo kung paano nagsimula ang mga database, kung ano ang *.dbf, kung paano nila binatikos ang cybernetics, pagkatapos ay nahulog sila sa agham ng computer at nagsimulang lumikha ng mga hadlang sa paggalaw ng mga mataas na teknolohiya sa antas ng bansa, nagiging malinaw kung bakit ganoon ang mga relational database. matiyaga at magaling. Bakit ang klasikal na istilo ng programming ay nabubuhay pa rin ngayon, at ang object-oriented na programming ay pinahahalagahan lamang, ngunit hindi pa naghahari.

Kahit gaano kaganda functional dependence sa konteksto ng matematika:

Ito ay hindi isang binary na relasyon, o sa halip, ito ay isang dahilan upang muling pag-isipan ang ideya ng pagtatatag ng mga ugnayan sa pagitan ng maraming katangian, paggalugad sa "isa-sa-marami", "marami-sa-isa", "marami-sa -many" o "many in general and some in particular" relationships.

Maaari kang makabuo ng isang mahusay na iba't ibang mga pagpipilian sa relasyon. Ito ay matematika na may lohika, at ito ay mahigpit! Ang impormasyon ay sarili nitong matematika, espesyal. Sa loob nito, maaari lamang pag-usapan ang tungkol sa pormalidad na may napakalaking minus.

Maaari mong gawing pormal ang gawain ng departamento ng HR, magsulat ng isang awtomatikong sistema ng kontrol para sa paggawa ng langis o paggawa ng gatas, tinapay, gumawa ng isang pagpipilian sa malaking database ng Google, Yandex o Rambler, ngunit ang resulta ay palaging magiging static at pareho. sa bawat sandali ng oras!

Kung functional dependence = mahigpit na lohika at matematika = ang batayan para sa mga database, kung gayon anong uri ng dinamika ang maaari nating pag-usapan? Ang anumang solusyon ay magiging pormal, anumang pormal na modelo ng data + mahigpit na algorithm = eksakto at hindi malabo na solusyon. Ang impormasyon at saklaw ng anumang programa ay palaging nagbabago.

Ang pagpili ng search engine para sa parehong parirala sa paghahanap ay hindi maaaring pareho pagkatapos ng isang oras o dalawa, at tiyak sa bawat ibang araw - kung ang parirala sa paghahanap ay kabilang sa isang lugar ng impormasyon kung saan ang bilang ng mga site, mapagkukunan, kaalaman, at iba pa ang mga elemento ay patuloy na nagbabago.

Kahit na ang programa ay puro matematika at ang database nito ay hindi man lang nag-iisip tungkol sa dinamika, lahat ay laging linya. At ang string ay may haba. At hindi ito maaaring walang katapusan. Hindi ito maaaring maging isang variable, isang conditional variable lamang. Sa iba pang mga bagay, ang anumang database, kasama ang mathematical at binary bureaucratic apparatus nito, ay nagpapataw ng maraming pormalidad, at nangangahulugan ito ng bilis + kalidad ng sampling at pagproseso ng impormasyon.

At kung ang ilang mga patlang sa database ay mga numero, lalo na ang mga tunay, kung gayon ang mga sumusunod na paghihigpit ay idaragdag: kapasidad ng numero ng numero, ang pagkakaroon ng titik na "e", format ng representasyon - sa madaling salita, kahit saan at palaging mayroon tayong mahalaga database functional dependency properties: mga string na may kondisyon na variable na haba na may maraming binary na pormalidad at mahigpit na paghihigpit sa matematika.

Kung babaguhin mo ang tono at makinig sa pulso ng dinamika, kung gayon ang lahat ay maaaring maipinta sa mga bagay. Sa unang pagtatantya, ang pangalan ng isang column sa isang table ay isang object, ang isang listahan ng mga pangalan ay isang object din, sa madaling salita, ang isang table ay isang header object at sa loob nito ang mga pangalan ng mga column sa header. At maaaring walang sumbrero...

Ngunit maaaring may mga hilera sa talahanayan. At ang string ay maaaring magkaroon ng mga halaga. At bakit dapat palaging may parehong bilang ng mga ito? Kumpletong parisukat na mesa- ito ay isang partikular na bagay, at sa karamihan ng mga kaso, isang pribado.

Kung kinakatawan mo ang lahat ng mga konstruksyon sa database bilang mga bagay, marahil ay hindi mo na kailangang bumuo ng mga mahigpit na binary na relasyon. Ito ay may natural at tunay na kahulugan, kung dahil lamang ito, ayon sa layunin (tiyak na hindi matematikal) na lohika, ay sumasalamin sa dinamika ng impormasyon at sa kapaligiran kung saan umiiral ang mga problema.

Katangian B functionally dependent mula sa katangian A kung ang bawat halaga ng A ay tumutugma sa eksaktong isang halaga ng B.

Pagtatalaga: A → B. Nangangahulugan ito na sa lahat ng tuple na may parehong halaga para sa attribute A, ang attribute B ay magkakaroon din ng parehong halaga.

Kung mayroong functional dependence ng form A→B at B→A, pagkatapos ay sa pagitan ng A at B ay mayroon isa-sa-isang sulat, o functional dependence. TUNGKOL SA

Pagtatalaga: A↔B o B↔A.

Kung ang kaugnayan ay nasa 1NF, ang lahat ng hindi pangunahing katangian ay umaasa sa susi na may iba't ibang antas ng pagdepende.

Bahagyang dependency(partial functional dependence) – ang dependence ng isang non-key attribute sa bahagi ng composite key.

Full functional dependency– ang pag-asa ng isang non-key na katangian sa buong composite key.

Transitive dependency

Ang attribute C ay depende sa attribute A palipat-lipat(umiiral transitive dependency), kung ang mga kundisyon A→B at B→C ay natutugunan para sa katangian A, B, C, walang kabaligtaran na relasyon.

Maramihang pagkagumon

Kaugnay ng R, attribute B depende ng marami mula sa katangian A, kung ang bawat halaga ng A ay tumutugma sa isang hanay ng mga halaga ng B na hindi nauugnay sa iba pang mga katangian ng R.

Mga pagtatalaga: A=>B, A<=B, A<=>B.

Mga katangian ng mutually independent

Dalawa o higit pang katangian ang tinatawag kapwa nagsasarili, kung wala sa mga katangiang ito ang gumaganang umaasa sa iba pang mga katangian.

Mga pagtatalaga: A →B, A=B.

Mga normal na anyo:

    Unang normal na anyo(1NF). Ang isang relasyon ay nasa 1NF kung ang lahat ng mga katangian nito ay simple (may isang solong halaga).

    Pangalawang normal na anyo(2NF). Ang isang ugnayan ay nasa 2NF kung ito ay nasa 1NF at ang bawat hindi pangunahing katangian ay nakadepende sa pangunahing susi (composite).

    Pangatlong normal na anyo(3NF). Ang isang relasyon ay nasa 3NF kung at tanging kung ang lahat ng mga katangian ng relasyon ay magkahiwalay at ganap na nakadepende sa pangunahing susi.

    Normal na anyo ng Boyce-Codd(NFBC). Ang isang relasyon ay nasa BCNF kung ito ay nasa 3NF at walang mga pangunahing dependency (composite key attribute) sa mga hindi pangunahing attribute.

    Ikaapat na normal na anyo(4NF). Ang isang relasyon ay nasa 4NF kung at kung mayroong isang multivalued dependency A => B, at lahat ng iba pang mga katangian ng relasyon ay umaasa sa A.

    Ikalimang normal na anyo(5NF). Ang isang relasyon ay nasa 5NF kung ito ay nasa 4NF at nakakatugon sa mga dependency ng koneksyon na may kinalaman sa mga projection nito.

    Ikaanim na normal na anyo(6NF). Ang isang relasyon ay nasa 6NF kung at kung hindi na ito mabubulok pa nang walang pagkawala.

    Tinitiyak ang pagkakapare-pareho at integridad ng data sa database

Sagot :

Integridad ay isang pag-aari ng isang database, ibig sabihin ay naglalaman ito ng kumpleto, pare-pareho at sapat na sumasalamin sa impormasyon tungkol sa lugar ng paksa.

may mga:

    Pisikal na integridad– pagkakaroon ng pisikal na pag-access sa data at ang katotohanan na ang data ay hindi nawala.

    Lohikal na integridad- kawalan ng mga lohikal na error sa database, na kinabibilangan ng paglabag sa istraktura ng database o mga bagay nito, pagtanggal o pagbabago ng itinatag na mga koneksyon sa pagitan ng mga bagay, atbp.

Ang pagpapanatili ng integridad ng database ay kinabibilangan ng:

    Pagsusuri ng integridad (pagsubaybay)

    Pagpapanumbalik sa kaso ng pagtuklas ng mga hindi pagkakapare-pareho sa database.

Tinukoy ang integral state gamit ang mga hadlang sa integridad(mga kundisyon na dapat matugunan ng data). Dalawa uri ng mga hadlang sa integridad:

    Paghihigpit sa Mga Halaga ng Katangian ng Relasyon. Halimbawa: kinakailangan ng hindi matanggap na mga halaga ng NULL, hindi matanggap ng mga dobleng halaga sa mga katangian, kontrol sa pag-aari ng mga halaga ng katangian sa isang naibigay na saklaw.

    Structural Constraints sa Relationship Tuples. Tinutukoy ang mga kinakailangan.

integridad ng entidad at integridad ng referential Kinakailangan integridad ng mga entidad ay iyon anumang tuple ng isang relasyon ay dapat na naiiba mula sa anumang iba pang tuple ng relasyon na iyon , sa madaling salita, ang anumang kaugnayan ay dapat magkaroon.

integridad ng entidad at integridad ng referential pangunahing susi na para sa bawat foreign key value sa parent table, dapat mayroong row sa child table na may parehong primary key value.

    Paraan ng ugnayan ng entity

Sagot :

Paraan ng ugnayan ng entity(ER-diagram method) ay isang paraan batay sa paggamit ng mga diagram na tinatawag, ayon sa pagkakabanggit, ER-instance diagram at ER-type diagram.

Pangunahing Konsepto

Kakanyahan– ito ay isang bagay, impormasyon tungkol sa kung saan ay naka-imbak sa database.

Katangian ay pag-aari ng isang entity.

Entity Key ay isang attribute (set ng mga attribute) na ginagamit upang tukuyin ang isang instance ng isang entity.

Koneksyon sa pagitan ng mga entity ay ang dependency sa pagitan ng mga katangian ng mga entity na ito.

Mga graphic, ginagamit para sa kalinawan at kadalian ng disenyo:

    DiagramER-mga kopya;

    DiagramER-uri o ER-dayagram.

Batay sa pagsusuri ng mga diagram ng ER, nabuo ang mga relasyon ng dinisenyong database. Isinasaalang-alang nito ang antas ng koneksyon sa pagitan ng mga entity at kanilang klase ng pag-aari.

Degree ng koneksyon– ito ay isang katangian ng relasyon sa pagitan ng mga entity (1:1, 1:M; M:1; M:M).

Membership class ang mga entidad ay maaaring: sapilitan At opsyonal.

Kinakailangan– kung ang lahat ng pagkakataon ng entity ay kinakailangang lumahok sa pinag-uusapang relasyon.

Opsyonal– hindi lahat ng pagkakataon ay nakikilahok sa koneksyon na pinag-uusapan.

    Mga Yugto ng Disenyo ng Database

Sagot :

ako. Konseptwal na disenyo– pagkolekta, pagsusuri at pag-edit ng mga kinakailangan ng data.

Target: paglikha ng isang konseptwal na modelo ng data batay sa pag-unawa ng gumagamit sa lugar ng paksa.

Mga Pamamaraan:

    Pagtukoy sa mga entidad at pagdodokumento ng mga ito;

    Pagtukoy ng mga ugnayan sa pagitan ng mga entity at pagdodokumento sa kanila;

    Paglikha ng isang modelo ng domain;

    Pagtukoy ng mga halaga ng katangian;

    Pagtukoy sa mga pangunahing key para sa mga entity.

II. Lohikal na disenyo– isang istruktura ng data ay nilikha batay sa konseptwal na modelo.

Target: pagbabago ng isang konseptwal na modelo batay sa napiling modelo ng data sa isang lohikal na modelo, na independiyente sa mga tampok ng DBMS na kasunod na ginamit para sa pisikal na pagpapatupad ng database.

Mga Pamamaraan:

    Pagpili ng modelo ng data;

    Pagtukoy ng isang hanay ng mga talahanayan at pagdodokumento ng mga ito;

    Normalisasyon ng mga talahanayan;

    Pagtukoy ng mga kinakailangan para sa pagpapanatili ng integridad ng data at pagdodokumento sa mga ito.

III. Pisikal na disenyo– pagpapasiya ng mga tampok ng data at mga paraan ng pag-access.

Layunin: paglalarawan ng isang tiyak na pagpapatupad ng database, paglalagay sa panlabas na memorya ng computer.

Pamamaraan:

    Disenyo ng mga talahanayan ng database;

    Disenyo ng pisikal na organisasyon ng database;

    Pagbuo ng isang diskarte sa proteksyon ng database.

    Siklo ng buhay ng database

Sagot :

Siklo ng buhay ng database ay ang proseso ng pagdidisenyo, pagpapatupad at pagpapanatili ng mga sistema ng database.

Mga yugto ng siklo ng buhay ng database:

    Pagsusuri- pagsusuri ng lugar ng paksa at pagkakakilanlan ng mga kinakailangan para dito, pagtatasa ng kaugnayan ng system.

    Disenyo– paglikha ng isang lohikal na istraktura ng database, functional na paglalarawan ng mga modelo ng programa at mga kahilingan sa impormasyon.

    Pagpapatupad– pagbuo ng software para sa database, isinasagawa ang pagsubok.

    Operasyon At saliw.

Mga yugto ng ikot ng buhay ng database:

    Paunang pagpaplano– pagpaplano ng database, pagpapatupad ng estratehikong plano sa pagbuo ng database (anong mga application ang ginagamit, anong mga function ang ginagawa nila, anong mga file ang nauugnay sa bawat isa sa mga application na ito at kung anong mga bagong file at application ang nasa proseso ng pag-develop).

    Pagsusuri ng pagiging posible– pagpapatunay ng teknolohikal, pagpapatakbo at pang-ekonomiyang pagiging posible.

    Pagtukoy sa mga Kinakailangan– pagpili ng layunin ng database, pagkakakilanlan ng mga kinakailangan ng impormasyon para sa database, mga kinakailangan para sa kagamitan at software, pagpapasiya ng mga kinakailangan ng user.

    Konseptwal na disenyo– paglikha ng isang konseptwal na diagram.

    Pagpapatupad– pagdadala ng konseptwal na modelo sa isang functional na database.

    Pagpili at pagbili ng kinakailangang DBMS.

    Pag-convert ng isang konseptwal na modelo sa isang lohikal at pisikal na modelo.

    Batay sa modelo ng impormasyon, binuo ang isang schema ng data para sa isang partikular na DBMS.

    Natutukoy kung aling mga proseso ng aplikasyon ang kailangang ipatupad bilang mga nakaimbak na pamamaraan.

    Magpatupad ng mga paghihigpit na idinisenyo upang matiyak ang integridad ng data.

    Mga trigger ng disenyo.

    Bumuo ng diskarte sa pag-index at clustering, tantyahin ang mga sukat ng talahanayan, mga cluster at index.

    Tukuyin ang mga antas ng access ng user, bumuo at magpatupad ng mga panuntunan sa seguridad.

    Bumuo ng topology ng network para sa database.

    Paglikha ng diksyunaryo ng data.

    Pagpuno ng database.

    Paglikha ng software ng application, kontrol sa pamamahala.

    Pagsasanay ng gumagamit.

    Pagsusuri at pagpapabuti ng schema ng database.

    Mga panuntunan para sa pagbuo ng mga relasyon

Sagot :

Mga panuntunan sa pagbuo ang mga relasyon ay batay sa pagsasaalang-alang sa mga sumusunod:

    Ang antas ng koneksyon sa pagitan ng mga entity (1:1, 1:M, M:1, M:M);

    Ang membership class ng mga instance ng entity (kinakailangan at opsyonal).