Data concept: txhais, piv txwv

Cov txheej txheem:

Data concept: txhais, piv txwv
Data concept: txhais, piv txwv
Anonim

Cov ntaub ntawv feem ntau cuam tshuam nrog kev ua haujlwm thiab hauv ntiaj teb cov ntaub ntawv niaj hnub no tau nthuav tawm hauv peb qhov kev sib npaug sib npaug: cov ntaub ntawv piav qhia thiab siv hauv ib qho kev pab cuam hauv hom lus programming; cov ntaub ntawv hauv database systems; cov ntaub ntawv nyob rau hauv faib cov ntaub ntawv systems. Kev ua haujlwm niaj hnub no tau muab kev ywj pheej ntawm tus txheeb ze nkaus xwb rau thawj qhov sib txawv ntawm cov ntaub ntawv formalization. Qhov thib ob ob txoj kev xaiv yog ntau dua lossis tsawg dua kev ntseeg siab ntawm kev muab cov ntaub ntawv thiab kev sib raug zoo ntawm nws cov khoom.

Data yav dhau los thiab tam sim no

Lub luag haujlwm tseem ceeb ntawm cov lus programming yog cov lus piav qhia meej ntawm cov ntaub ntawv thiab cov txheej txheem. Cov khoos phis tawj tsis "tam sim no" muaj qhov tsis paub tseeb: muaj qee yam yuav tsum tau ua, thiab muaj cov lus txib uas ua qhov kev txiav txim.

Lub tswv yim niaj hnub no yog ua raws li lub hauv paus siab dua: muaj qhov muab, thiab qhov tseeb nws yuav txiav txim siab ntawm qhov chaw siv. Txawm li cas los xij, thaum lub sijhawm siv, cov ntaub ntawv raug kuaj xyuas thiab hloov mus rau hom raug. Ib tus programmer niaj hnub no tsis tas yuav tsum saib xyuas lawv cov lus piav qhia ua ntej thiab ua raws li hom kev sib raug zoo hauv cov algorithm.

Cov ntaub ntawv yav dhau los thiab tam sim no
Cov ntaub ntawv yav dhau los thiab tam sim no

txheej txheem hloov pauv:

  • ntawm cov ntaub ntawv ntaus thiab nws cov lus piav qhia yuav tsum ua ntej siv;
  • rau cov ntaub ntawv tsis sau thiab kev ywj pheej los ntawm kev lav phib xaub los piav qhia thiab siv nws.

Qhov tseeb, peb tuaj yeem lees paub qhov kev txheeb ze ntawm kev ua raws cai - nws tsuas yog muaj nyob hauv ib puag ncig ntawm cov cuab yeej programming niaj hnub. Thaum lub sijhawm ua haujlwm, hom ntawm txhua tus datum raug kho, thiab cov lus txib ua ntu ntu tau txhais tau zoo.

Hom thiab Qauv

lej thiab physics, kev lag luam thiab kev tsim khoom, kev lag luam thiab lwm qhov chaw uas siv cov lej, ib txwm ua haujlwm nrog cov ntaub ntawv thiab tsis tau muab qhov tseem ceeb rau lub tswv yim ntawm hom. Qhov tseeb tias cov lej tuaj yeem yog tag nrho lossis feem ntau tsis muaj teeb meem tiag tiag.

Txhua tus qauv tshwj xeeb lossis kev ua haujlwm tshwj xeeb tuaj yeem muab cov lej suav, feem tsis kawg, tus lej tiag lossis tsis sib xws. Txog rau tam sim no, muaj xws li kev xav ntawm lub siab li infinitely me thiab infinitely loj. Tsis tas li ntawd xwb, tej txuj ci tseem ceeb no txawm muaj tej yam khoom.

Tseem tsis muaj kev ywj pheej hauv kev ua haujlwm. Txhua yam yuav tsum nruj me ntsis formalized. Lub tswv yim ntawm cov ntaub ntawv yog, ua ntej ntawm tag nrho cov, ib hom:

  • integer;
  • boolean;
  • char;

Npe ntawm hom yuav txawv ntawm hom lus sib txawv, tab sis ib txwm muaj tus lej lossis tus lej tiag, tus nqi boolean, cim,kab. Tseem muaj cov relics thiab cov tswv yim tshwj xeeb sab laug: unsigned integer, code, byte, lo lus, ob lo lus, tsau ntev hlua.

Relics thiab tswv yim
Relics thiab tswv yim

Lub tswv yim ntawm cov ntaub ntawv hauv cov ntaub ntawv tsis muaj kev ywj pheej. Cov lus SQL - "international" (muaj ib hom lus rau txhua qhov niaj hnub database) - tsis zam qhov tsis raug tsis yog hauv cov ntaub ntawv nkaus xwb, tab sis kuj yog cov lus nug sql. Qhov yuam kev hauv qhov kev thov yog qhov lav ntawm qhov tsis muaj qhov tshwm sim. Tsis tas yuav tham txog kev ua txhaum cai ntawm kev piav qhia txhua.

qauv qhia cov txheej txheem thiab cov ntaub ntawv sawv cev yog tib txoj hauv kev kom tsim tau ib lub qauv uas tuaj yeem hloov kho thiab hloov mus rau qhov hloov pauv.

Dynamics ntawm original

Natural information yog hloov tas li. Txhawm rau muab cov lus piav qhia thiab lub tswv yim ntawm tus qauv cov ntaub ntawv hauv ib cheeb tsam tshwj xeeb txhais tau tias yuav daws tau peb qhov teeb meem:

  • txhais cov ntaub ntawv nyob ntawm no;
  • kev sib raug zoo ntawm lawv;
  • piav qhia txog cov txheej txheem hloov pauv cov ntaub ntawv thiab kev sib raug zoo.

Ib qho piv txwv ntawm cov ntaub ntawv teeb tsa ntawm qhov yooj yim algorithm hauv JavaScript - txo cov qauv ntawm cov qauv kev tswj hwm cov ntaub ntawv tseem ceeb tshaj plaws.

Nws tsuas yog qhov thib ob, cov kws tshaj lij thiab cov kws tshaj lij, thaum tsim cov ntaub ntawv tsim, rooj thiab kev sib raug zoo, feem ntau tsis pom (nws yog qhov nyuaj heev los npog ntau cov ntaub ntawv ntuj) cov ntsiab lus ntawm cov khoom, thiab tau txais cov ntaub ntawv tsis txaus ntseeg, tsis tau tsim kho cov ntaub ntawv, thaum nyob rau hauv cov ntaub ntawv hauv cheeb tsam cov ntaub ntawv nthuav tawm dawb thiab yooj yim.

Staticua tau

Nws yog ib qho kev xyaum JavaScript kom suav nrog cov lej txuas rau nplooj ntawv thiab ua haujlwm rau cov xwm txheej ntawm nplooj ntawv cim npe. Txawm li cas los xij, nplooj ntawv cim txhais cov ntaub ntawv uas lub vev xaib muab kev lees paub, hloov kho, lossis tsim.

Yog tias koj mloog zoo rau koj tus neeg tuav ntaub ntawv ua tib zoo saib ntawm cov xwm txheej, thiab tsis nyob ntawm nplooj ntawv tag nrho, qhov no yog txoj hauv kev zoo tshaj plaws. Qhov zoo tshaj plaws, thaum tus lej tsis qhia cov ntaub ntawv tshiab lossis tsis kho cov ntaub ntawv muaj, tab sis tsom mus rau qhov nws muaj nyob rau lub sijhawm tshwj xeeb.

Qhov tseeb, yog tias koj txhais lub tswvyim ntawm "cov ntaub ntawv" raws li qhov kev piav qhia tsawg kawg nkaus ntawm cov ntaub ntawv thiab ua raws nws, qhov no txhais tau tias koj muaj txoj hauv kev vam meej.

Hais txog cov ntaub ntawv, txhua yam nyuaj dua. Ib qho JavaScript code yog "muab" nplooj ntawv nrog kev ua haujlwm. Txhua lub database yog sau los ntawm cov ntxhuav, kev sib raug zoo ntawm lawv, cov txheej txheem khaws cia, cov lus nug thiab kev ua haujlwm muaj nyob rau sab nraud.

Static yog qhov teeb meem ntawm ib qho algorithm. Lub tswv yim niaj hnub ntawm cov ntaub ntawv yog zoo li qub: tus lej, ib txoj hlua, tus cwj pwm, thiab lwm yam. Thaum ua haujlwm lossis thaum sau ntawv mus rau lub rooj database, txhua yam ua tau zoo. Tab sis thaum twg tus thawj tau txais qhov sib txawv los yog lub ntsiab lus? Kev xaiv ib qho: hloov qhov kos npe, tab sis kev sib txuas thiab kev thov tuaj yeem poob tam sim ntawd.

Statics and objects

Defining lub tswvyim ntawm "cov ntaub ntawv" raws li cov khoom hloov pauv qhov xwm txheej loj heev. Cov khoom muaj nws tus kheej qauv. Ntawm no koj tuaj yeem siv cov lus piav qhia ntawm txhua qhov hloov pauv. Lub luag haujlwm yuav tsis ua si. Ib yam khoom muaj txoj hauv kev uas cov ntaub ntawv muaj. Txij li txhua yamsiv nyob rau hauv lub teb ntawm programming, uas yog, peb txoj kev yooj yim: nyeem, sau, hloov. Koj tuaj yeem ntxiv ntau ntxiv los sib piv, tshawb nrhiav, clone, thiab lwm yam.

Cov cheeb tsam kev kawm tsim ntau yam khoom ntawm txhua cov ntaub ntawv. Yog li, nws hloov tawm tias lub tswv yim ntawm cov ntaub ntawv hloov pauv mus rau hauv ib hom kev piav qhia uas tuaj yeem hloov pauv dynamically. Static hauv ib yam khoom muab dynamics sab nraum nws.

Hloov kev sib xyaw ua ke ntawm cov lus piav qhia zoo li qub hauv ib qho khoom, koj tsis tas yuav txhawj xeeb txog qhov kev sib raug zoo ntawm nws txoj kev sib raug zoo nrog lwm yam khoom.

Kev ua haujlwm thiab nthuav tawm cov ntaub ntawv

Cov ntaub ntawv yog dab tsi? Cov pej xeem kev nco qab twb dhau los ua cov ntaub ntawv thev naus laus zis, ua haujlwm hauv huab thiab muaj cov ntim hauv qhov chaw virtual. Tam sim no, tsis yog tsuas yog cov kws tshaj lij programmers thiab cov neeg siv, tab sis kuj cov neeg zoo tib yam muaj peev xwm ntawm cov ntaub ntawv thiab nws siv.

pej xeem xav
pej xeem xav

Tab sis qhov programming yog dab tsi? Txog niaj hnub no, pej xeem lub tswv yim muab cov ntsiab lus hauv qab no rau lub tswv yim thiab nws cov ntsiab lus:

  • Cov ntaub ntawv thiab cov ntaub ntawv yog cov ntsiab lus yooj yim siv hauv computer science.
  • Cov ntaub ntawv yog ib txoj hauv kev tau txais thiab kaw cov kev soj ntsuam txheeb ze rau qhov muaj tiag.
  • Lawv yog qhov yooj yim thiab nyuaj (cov qauv), thawj thiab theem nrab.
  • A database yog ib phau ntawm cov ntaub ntawv ywj pheej nthuav tawm hauv txoj hauv kev kom lawv tuaj yeem pom, hloov kho thiab siv.

Lub hom phiaj yog li cas? Cov kws sau ntawv tso caixav li ntawd. Kev xyaum tiag tiag nyiam kom ntseeg tau tias txhua qhov kev kawm txiav txim siab nws cov ntaub ntawv raug thiab muab txhua lub sijhawm los tsim kom muaj tus qauv zoo.

Nws tsis yog qhov tsis yooj yim rau tus neeg siv khoom (cov neeg siv khoom) los tsim nws tus kheej lub tswv yim ntawm tus programmer (database designer) yuav ua li cas thiab yuav ua li cas. Los ntawm qhov pom ntawm qhov programming, txhua qhov kev ntshaw ntawm cov neeg siv khoom tuaj yeem ua tiav nrog qhov tseeb tshaj plaws.

Xav tau Oracle los daws qhov teeb meem ntawm kev siv nyiaj rau kev saib xyuas cov dej nyob deb nroog (tsev 21 hauv lub zos) - zoo. MySQL yog qhov xav tau los npaj cov kab ke taug qab rau cov khoom xa tuaj rau txhua lub chaw xa ntawv hauv tebchaws Russia - txhua yam yuav ua haujlwm ib yam nkaus.

Koj tuaj yeem sau txhua lub algorithm thiab muab kev nkag mus rau txhua tus sawv cev ntawm cov ntaub ntawv nyob rau hauv lub ntsiab lus ntawm lub tswv yim ntawm cov ntaub ntawv, uas yog tsim los ntawm tus tsim tawm ntawm database tswj system lossis programming lus. Cov lus nug txawv: yuav ua li cas nrog tus nqi tsawg tsawg hauv qhov siab tshaj plaws?

Databases, piv txwv

Lub hauv paus yooj yim yog tsim tsis muaj qauv. Cov ntsiab lus tseem ceeb ntawm cov ntaub ntawv thiab kev sib txuas lus yog me me, kev ua haujlwm yooj yim heev. Piv txwv li, rau lub tsev kawm ntawv qib siab koj xav tau:

  • rooj ntawm cov kws qhia;
  • pawg lus (tus lej tseem ceeb thiab pab pawg);
  • rooj dav dav ntawm cov tub ntxhais kawm (cov yuam sij pab pawg siv).

Tus thawj saib xyuas xav paub txog kev kawm ntawm cov xibfwb. Cov kws qhia ntawv muaj cov teb:

  • npe;
  • npe;
  • patronymic;
  • pab pawg neeg saib xyuas.

Cov tub kawm ntawv muaj cov teb:

  • npe;
  • npe;
  • patronymic;
  • hnub yug;
  • GPA (rau txhua yam kev kawm);
  • pab pawg.

Yuav muaj tsawg kawg yog ob txoj kev xaiv rau kev ua piv txwv: siv lub npe ntawm tus kws qhia ntawv, koj tuaj yeem mus rau pawg neeg tus lej thiab pom tag nrho cov tub ntxhais kawm thiab lawv cov qhab nia nruab nrab, lossis los ntawm lub xeem ntawm tus kws qhia ntawv thiab tus xeem. lub npe ntawm tus menyuam kawm ntawv, koj tuaj yeem pom qhov qhab nia nruab nrab ntawm qhov kawg.

Yooj yim database
Yooj yim database

Txawm tias nyob rau hauv qhov yooj yim version, cov teeb meem tau lees paub thiab qee yam yuav tsum tau hloov. Qhov xwm txheej: tus kws qhia ntawv poob mob, lwm lub hlis hloov nws, uas txhais tau tias nws saib xyuas ob pawg. Tsuas muaj ib daim teb nyob rau hauv ib pab pawg tus lej hauv cov lus qhia.

Yuav daws qhov teeb meem, koj yuav tsum tau ntxiv ib daim teb dua. Thiab yog tias ob leeg mob, ces ntxiv peb daim teb. Yog li lub rooj ntawm cov xib fwb pib loj hlob los ntawm kos.

Muaj lwm txoj kev xaiv: hloov cov lej ntawm pawg yuam sij nrog lub cim. Tom qab ntawd, txhua zaus koj xaiv, koj yuav tau hloov txoj hlua mus rau ib ntu ntawm cov yuam sij, thiab ib qho lus nug sql yuav tig mus rau ntau yam.

Ib qho piv txwv zoo dua tsis yog ua rooj, tab sis ua khoom. Ces tus kws qhia ntawv yog ib yam khoom, thiab nws muaj peev xwm muaj ob peb pawg saib xyuas. Tab sis nws ib txwm yog ib yam khoom. Tus kws qhia khoom muaj tus yuam sij tshwj xeeb, tab sis tuaj yeem muaj ntau pawg saib xyuas. Cov pab pawg kuj muaj qhov tseem ceeb tshwj xeeb. Ib tug tub kawm thiab.

Txhua peb txoj haujlwm tsis yog tsuas yog muaj nyob hauv txoj haujlwm xwb, tab sis tuaj yeem tsim kho ntxiv.

Object-oriented bases

Cov thawj coj kev lag luam xov xwmmuab classic relational databases. Lawv raug sim los ntawm lub neej, lawv ua haujlwm, lawv muaj kev nyab xeeb, txhim khu kev qha thiab, thaum muaj teeb meem, lawv tso cai rau koj los kho cov ntaub ntawv.

Object-oriented databases (OODB) pib tsim nyob rau nruab nrab-1980s thiab, raws li cov kws sau ntawv tso cai, tau cog lus rau hnub no. Tab sis txog tam sim no, sib nrug los ntawm qhov tseem ceeb theories thiab cov tswv yim kev cai, tsis muaj OODB uas tau ua tiav tib qhov kev ntsuam xyuas thiab kev faib tawm xws li MySQL, MS SQL Server lossis Oracle hauv txhua qhov nws muaj ntau haiv neeg incarnations.

OO database
OO database

Tab sis yuav ua li cas yog tias lub ntsiab lus, lub tswv yim ntawm cov ntaub ntawv, hom, yam ntxwv, cov chav kawm, hierarchies yog npaj los ntawm tus tsim tawm uas nws qhov kev ntsuam xyuas tsis txaus los tsim lub zej zog ntawm cov programmers uas lees paub lub siab ntawm OODB no? Peb yuav tau tso siab rau peb tus kheej lub zog.

Ntau tshaj peb caug qhov sib txawv ntawm OODB tau tsim nyob rau hauv Linux ib puag ncig. Tab sis qhov twg yog qhov lav tias tsim database yuav tsis xav tau kev ua haujlwm ntxiv? Lub Windows ib puag ncig tsis muaj kev lees paub ntau hauv cheeb tsam no.

Object-oriented solution

Txawm li cas los xij, muaj kev daws teeb meem. Siv MySQL ua piv txwv, koj tuaj yeem qhia tau tias cov lus sib raug zoo li cas dhau los ua tus qauv coj los ntawm cov teeb meem tau daws.

Ib qho piv txwv ntawm koj tus kheej OODB
Ib qho piv txwv ntawm koj tus kheej OODB

Tsis muaj cov ntaub ntawv ntawm no, tab sis muaj ib puag ncig los tsim koj tus kheej cov khoom. Lub zog ntawm MySQL tsuas yog siv los ua kev nco txog kev sib raug zoo rau cov ntxhuav los ntawm cov ntaub ntawv kab. Lub logic ntawm kev siv yog txiav txim los ntawm tus tsim tawm nws tus kheej. Tshwj xeeb, muaj ib lub rooj is_cache. Nws muaj txhua yamob peb yam yooj yim:

  • owner_code;
  • session_code;
  • h_code;
  • a_surprise;
  • a_contents.

Tsuas teb ua haujlwm ua haujlwm. Cov lus no sawv ntawm qhov kev nkag siab ntawm txhua qhov kev thov thiab sau nws tuaj txog. Qhov qauv database yuav ua haujlwm li cas yog txiav txim los ntawm nws tus tsim tawm. Dab tsi yuav haum rau hauv cov ntsiab lus teb (a_contents) yog txiav txim los ntawm cov khoom ntawm tus qauv tsim los ntawm tus tsim tawm.

Muaj plaub yam hauv lub tswv yim no: ntaus, ntaus ntu, ntaus keeb kwm code, thiab cov ntsiab lus tshwj xeeb. Dab tsi yog hu, dab tsi system ntawm cov khoom yuav tsum tau ua - yog txiav txim los ntawm tus tsim tawm. Dab tsi yog txhais los ntawm kev sib tham (txheej txheem ua haujlwm) yog txiav txim los ntawm tus tsim tawm. Cov lej keeb kwm yog lub peev xwm rov qab los ntawm kev thov.

Cov ntxhuav ntawm no tsis muaj dab tsi cuam tshuam nrog thaj chaw kawm. Muaj tus tswj hu (is_cache), muaj kev nkag (is_customs), muaj keeb kwm hu (is_history). Cov rooj seem yog txiav txim los ntawm txoj haujlwm tau daws.

Qhov tseeb, qhov kev daws teeb meem no qhia txog kev tsim koj tus kheej OODB raws li tus qauv tsim database thiab qhov teeb meem tau daws. Muaj qhov loj ntxiv ntawm no - qhov no yog koj tus kheej lub tswv yim ntawm cov ntaub ntawv, koj tus kheej qauv ntawm lawv qhov kev nthuav qhia thiab kev sib raug zoo ntawm lawv. Muaj ib lub hauv paus ntawm no - cov ntaub ntawv zoo sib xws. Yuav tsis muaj teeb meem nrhiav ib yam dab tsi thiab to taub yuam kev.

Model: khoom system + DBMS

Nws yuav luag tsis tuaj yeem hloov pauv txhua yam hauv cov ntaub ntawv thev naus laus zis. Cov ntaub ntawv tiag tiag kiv puag ncig tseem nyob deb. kev paub meejsoftware developers yuav tsis mus hloov cov classical kab lig kev cai. Tab sis tseem muaj txoj hauv kev tawm ntawm qhov xwm txheej.

Kev daws teeb meem zoo
Kev daws teeb meem zoo

Siv txhim khu kev qha niaj hnub kev tswj hwm cov txheej txheem ua lub hauv paus rau kev tsim ib puag ncig rau koj tus kheej cov qauv, koj tuaj yeem ua tiav qhov kev vam meej.

Txawm li cas los xij, koj yuav tsum tsim kom muaj kev pom lossis cov qauv ntaub ntawv los daws cov haujlwm, tab sis koj yuav tsum ua kom raug: cia nws ua qhov system ntawm cov khoom, thiab DBMS zoo yog nws ib puag ncig.

Pom zoo: