Cov ntaub ntawv sib txheeb tus qauv yog Txhais, tswvyim, qauv thiab kev xav ntawm normalization

Cov txheej txheem:

Cov ntaub ntawv sib txheeb tus qauv yog Txhais, tswvyim, qauv thiab kev xav ntawm normalization
Cov ntaub ntawv sib txheeb tus qauv yog Txhais, tswvyim, qauv thiab kev xav ntawm normalization
Anonim

Cov qauv ntaub ntawv sib raug zoo yog ib txoj hauv kev tshwj xeeb rau kev tswj cov kev siv cov qauv thiab cov lus raws li ib qho kev txiav txim predicate logic. Nws tau piav qhia thawj zaug hauv xyoo 1969 los ntawm tus kws tshawb fawb Askiv Codd. Hauv qhov project no, txhua qhov ntsuas tau nthuav tawm raws li tuples pawg hauv qee qhov kev sib raug zoo.

Lub hom phiaj ntawm cov ntaub ntawv sib raug zoo…

Cov ntaub ntawv sib raug zoo sawv cev qauv
Cov ntaub ntawv sib raug zoo sawv cev qauv

…yog muab txoj kev tshaj tawm rau kev qhia cov qauv thiab cov lus nug.

Cov neeg siv ncaj qha nco ntsoov cov ntaub ntawv hauv database muaj thiab qhov kev xav uas lawv xav tau los ntawm nws. Thiab tseem cia cov database tswj software saib xyuas piav qhia cov qauv khaws cia. Cov txheej txheem retrieval cov ntaub ntawv rau teb cov lus thov kuj tseem ceeb.

RDBs feem ntau siv SQL cov ntaub ntawv txhais lus thiab cov lus tshawb nrhiav. Cov txheej txheem no siv yam uas tuaj yeem pom tau tias yog engineering approximation rauCov qauv kev sib raug zoo.

Ib lub rooj hauv SQL database schema sib haum mus rau qhov sib txawv ntawm qhov sib txawv. Cov kev txwv tseem ceeb thiab SQL queries match predicates.

Txawm li cas los xij, xws li cov ntaub ntawv sib txawv ntawm cov qauv kev sib raug zoo hauv ntau cov ntsiab lus, thiab Codd tau tawm tsam qhov kev hloov pauv uas cuam tshuam rau cov ntsiab lus qub.

Kev Qhia

hom ntaub ntawv qauv piv cov ntaub ntawv qauv
hom ntaub ntawv qauv piv cov ntaub ntawv qauv

Lub tswv yim tseem ceeb ntawm cov qauv kev sib raug zoo yog cov lus piav qhia ntawm tag nrho cov ntaub ntawv raws li cov txheej txheem predicates rau qhov kawg ntawm cov khoom sib txawv, piav qhia txog cov kev txwv ntawm cov txiaj ntsig tau thiab lawv cov kev sib txuas. Cov ntsiab lus ntawm txhua lub sijhawm yog qhov kawg (qhov tseeb) qauv. Ntawd yog, txheej txheej ntawm kev sib raug zoo, ib qho kev sib txawv ntawm qhov sib txawv, kom txhua yam txaus siab. Nov yog cov qauv ntaub ntawv sib txheeb.

Kev xaiv

Cov ntaub ntawv sib txheeb qauv qauv
Cov ntaub ntawv sib txheeb qauv qauv

Lwm cov qauv yog hierarchical thiab network systems. Qee tus ntawm lawv, siv cov qauv qub qub, tseem nyiam nyob hauv cov chaw muaj ntaub ntawv muaj peev xwm. Los yog nyob rau hauv cov ntaub ntawv uas cov uas twb muaj lawm systems yog li complex thiab paub daws teeb uas hloov mus rau lawv siv cov qauv kev sib raug zoo yuav txwv tsis pub kim. Thiab tseem ceeb tshaj yog cov khoom tshiab-oriented databases.

Kev Ua Haujlwm

Cov ntaub ntawv sib raug zoo qauv tswvyim
Cov ntaub ntawv sib raug zoo qauv tswvyim

Muaj ntau qhov kev sim ua kom tau qhov tseeb ntawm RMD, txhais los ntawm Codd thiab piav qhia los ntawm lwm tuscov kws tshawb fawb.

Cov qauv kev sib raug zoo ntawm cov ntaub ntawv sawv cev yog qhov tseem ceeb ntawm nws hom, uas tau piav qhia hauv cov lus lej raug cai. Hierarchical thiab network hauv paus muaj nyob ua ntej kev sib raug zoo, tab sis lawv cov kev qhia tshwj xeeb kuj tsis raug cai. Thaum RMD tau txhais, ntau qhov kev sim tau ua los sib piv thiab sib piv cov qauv sib txawv - thiab qhov no ua rau cov lus piav qhia nruj dua ntawm cov txheej txheem thaum ntxov. Txawm hais tias tus txheej txheem txheej txheem ntawm cov ntaub ntawv tswj kev cuam tshuam rau hierarchical thiab network databases txwv qhov muaj peev xwm rau formalization.

Ntxhais

Qhov kev xav tseem ceeb ntawm lub tswv yim ntawm cov ntaub ntawv sib raug zoo yog tias lawv txhua tus sawv cev ua lej "p" - kev sib raug zoo ib txwm, "Cn" - kev sib raug zoo ntawm khub, uas yog ib feem hauv Cartesian cov khoom ntawm ob peb. thaj chaw. Nyob rau hauv tus qauv lej, kev xav txog cov ntaub ntawv no yog ua tiav nyob rau hauv ob qho txiaj ntsig predicate logic, uas txhais tau hais tias rau txhua kab lus muaj ob qhov kev ntsuam xyuas tau: qhov tseeb lossis qhov tsis tseeb (thiab tsis muaj nqi thib peb, xws li tsis paub lossis tsis siv., txhua qhov uas feem ntau cuam tshuam nrog lub tswv yim ntawm 0). Cov ntaub ntawv raug ua tiav los ntawm kev suav lej lossis lej lej, uas sib npaug hauv kev qhia lub zog.

Nyob ntawm cov qauv ntaub ntawv, cov ntaub ntawv sib raug zoo

RMD tso cai rau tus tsim tawm los tsim kom muaj qhov sib xws, pom kev pom ntawm cov ntaub ntawv. Qhov no yog txhua yam ua tiav los ntawm kev sib koom ua ke cov kev txwv hauv kev tsim cov ntaub ntawv, feem ntau hu ua lub tswv yim schema. Txoj kev xav yog los tsim ib txoj kevqauv normalization, uas yog ib tug tsim nrog tej yam khoom uas xav tau yuav raug xaiv los ntawm ib tug txheej ntawm logically sib npaug lwm txoj kev. Hauv cov phiaj xwm nkag mus thiab lwm yam kev siv thiab kev ua haujlwm, cov ntsiab lus raug tswj hwm los ntawm DBMS lub cav thiab tsis cuam tshuam rau hauv cov qauv kev xav. Qhov no yog qhov sib piv rau cov kev coj ua uas kev ua tau zoo feem ntau xav tau kev hloov pauv rau kev ua haujlwm logic.

Cov qauv kev sib raug zoo ntawm cov ntaub ntawv tseem ceeb sawv cev rau lub tsev thaiv - nws yog tus sau lossis hom ntaub ntawv, feem ntau raug txo kom tsawg. Ib tuple yog ib qho kev txiav txim ntawm tus cwj pwm muaj nuj nqis. Thiab lawv, nyob rau hauv lem, yog ib tug khub ntawm lub npe thiab hom. Nws tuaj yeem yog tus nqi scalar lossis ib qho nyuaj dua.

Kev sib raug zoo muaj lub hauv paus thiab lub cev

qhov tseem ceeb ntawm cov ntaub ntawv sib raug zoo qauv
qhov tseem ceeb ntawm cov ntaub ntawv sib raug zoo qauv

thawj yog txheej txheem.

Lub cev (nrog nth kev sib raug zoo) yog txheej ntawm tuples.

Tus tangency header kuj yog cov ntsiab lus ntawm txhua tus qauv.

Cov ntaub ntawv sib raug zoo yog txhais raws li ib txheej ntawm n-tuples. Nyob rau hauv ob qho tib si lej thiab MRD, ib txheej yog ib qho kev sau tsis raug ntawm cov khoom tsis sib xws, txawm hais tias qee qhov DBMSs ua rau ib ntu ntawm lawv cov ntaub ntawv. Nyob rau hauv lej, ib tug tuple muaj ib qho kev txiav txim thiab tso cai rau duplication. E. F. Codd thawj zaug teeb tsa tuples siv qhov kev txhais lej no.

Tom qab ib qho ntawm E. F. Codd cov tswv yim zoo yog tias siv cov npe ntawm cov npe es tsis txhob xaj yuav yooj yim dua (feem ntaucase) nyob rau hauv kev sib raug zoo-raws li computer lus. Cov lus no tseem muaj txiaj ntsig niaj hnub no. Txawm hais tias lub tswvyim tau hloov pauv, lub npe "tuple" tsis tau hloov pauv. Qhov tshwm sim tam sim thiab tseem ceeb ntawm qhov kev sib txawv no yog tias nyob rau hauv cov qauv kev sib raug zoo cov khoom Cartesian tau dhau los ua kev sib hloov.

Ib lub rooj yog ib qho kev pom kev sawv cev ntawm kev sib raug zoo. Ib tug tuple zoo ib yam li lub tswvyim ntawm ib txoj hlua.

Relvar yog lub npe hloov pauv ntawm qee yam tshwj xeeb ntawm tangent rau txhua lub sijhawm qee qhov kev sib raug zoo ntawm hom ntawd raug muab, txawm hais tias lub ntsej muag yuav muaj null tuples.

Basic ntawm cov qauv ntaub ntawv sib raug zoo: tag nrho cov ntaub ntawv yog sawv cev los ntawm cov ntaub ntawv tseem ceeb hauv kev sib raug zoo. Raws li lub hauv paus ntsiab lus no, lub hauv paus kev sib raug zoo yog ib txheej ntawm cov relvars, thiab qhov tshwm sim ntawm txhua qhov lus nug yog sawv cev raws li tangency.

Qhov sib xws ntawm cov ntaub ntawv sib raug zoo tsis yog tswj hwm los ntawm cov cai tsim rau hauv cov ntawv thov uas siv nws, tab sis yog los ntawm kev txwv tsis pub tshaj tawm raws li ib feem ntawm lub tswv yim kev xav thiab tswj hwm los ntawm DBMS rau txhua daim ntawv thov. Kev txwv yog qhia nyob rau hauv kev siv cov kev sib raug zoo sib piv cov tswv, ntawm uas tsuas yog ib tug yog ib tug subset (⊆), theoretically txaus. Hauv kev xyaum, ntau qhov kev pab cuam luv luv yuav tsum muaj, ntawm cov neeg sib tw cov yuam sij thiab cov kev txwv sab nraud yog qhov tseem ceeb tshaj plaws. Nov yog qhov piv txwv cov ntaub ntawv tus qauv yog txhua yam hais txog.

Kev txhais lus

Yuav kom txaus siab rau RMD, nws yog ib qho tsim nyog kom nkag siab txog kev txhais lusraws li kev sib txheeb.

Lub cev ntawm qhov kov yog qee zaum hu ua nws txuas ntxiv. Qhov no yog vim hais tias nws yuav tsum tau txhais raws li sawv cev ntawm ib tug nce nyob rau hauv ib co predicate. Nov yog cov kab lus tseeb uas tuaj yeem tsim los ntawm kev hloov txhua qhov hloov pauv dawb nrog lub npe.

Muaj ib-rau-ib cov ntawv sib txuas ntawm cov khoom sib txheeb cov ntaub ntawv qauv. Txhua lub tuple ntawm lub cev kev sib raug zoo muab tus cwj pwm muaj txiaj ntsig rau instantiate lub predicate los ntawm kev hloov txhua yam ntawm nws cov dawb variables. Qhov tshwm sim yog ib nqe lus uas suav hais tias muaj tseeb vim qhov tshwm sim ntawm ib tug tuple nyob rau hauv lub cev ntawm kev sib raug zoo. Hloov pauv, txhua tus txheej txheem uas nws lub npe sib xws nrog lub npe kev sib raug zoo tab sis tsis tshwm sim hauv lub cev yog suav tias yog cuav.

Qhov kev xav no yog hu ua lub ntiaj teb kaw qhov kev xav. Nws feem ntau ua txhaum hauv cov ntaub ntawv siv tau, qhov uas tsis muaj tuple yuav txhais tau hais tias qhov tseeb ntawm cov kab lus sib raug tsis paub. Piv txwv li, qhov tsis muaj qee cov ntsiab lus ("John", "Spanish") hauv Daim Ntawv Qhia Kev Txawj Ntse yuav tsis tas ua pov thawj tias tus tub hu ua John tsis hais lus Mev.

Daim ntawv thov rau databases, normalization theory

Cov ntaub ntawv kawm siv nyob rau hauv ib qho kev sib raug zoo RDM tej zaum yuav yog ib pawg ntawm cov lej, ib txheej ntawm cov cim cov hlua uas ua rau hnub tim, lossis ob lub booleans tseeb thiab tsis tseeb, thiab lwm yam. Cov npe koom nrog rau cov duab no tuaj yeem yog cov hlua nrog cov npe "Index", "Ua haujlwm tsim nyog","Lub Sijhawm", "Boolean" thiab lwm yam.

Txawm li cas los xij, nws yog ib qho tseem ceeb kom nkag siab tias kev sib raug zoo txoj kev xav tsis qhia tias hom twg yuav tsum tau txhawb nqa. Thiab nws yog qhov tseeb tiag, tam sim no xav tias cov kev cai yuav muaj rau cov koom haum kev cai ntxiv rau cov khoom tsim los ntawm qhov system.

Txoj Cai

tus qauv ntaub ntawv sib txheeb sawv cev
tus qauv ntaub ntawv sib txheeb sawv cev

Qhov no yog lo lus siv nyob rau hauv txoj kev xav rau qhov feem ntau hu ua kem. Ib yam li ntawd, cov lus feem ntau yog siv rau qhov chaw ntawm lub sij hawm theoretical tangency (txawm hais tias nws tsis txhais tau hais tias muaj kev sib raug zoo hauv SQL). Cov ntaub ntawv qauv ntawm lub rooj tau teev tseg raws li cov npe ntawm kab lus txhais, txhua tus muaj lub npe kem tshwj xeeb thiab hom ntawm qhov tseem ceeb tso cai rau nws.

Tus nqi tus nqi yog qhov nkag ntawm qhov chaw tshwj xeeb, xws li John Doe thiab 35.

Ib tug tuple yog ib qho zoo ib yam li kab, tshwj tsis yog tias hauv SQL RDBMS, qhov twg lub ntsiab lus ntawm kab hauv kab raug txiav txim, cov tuples tsis sib cais. Hloov chaw, txhua qhov kev txhais tus nqi yog txheeb xyuas los ntawm nws lub npe, tsis yog los ntawm nws txoj hauj lwm hauv lub tuple. Tus cwj pwm lub npe tuaj yeem yog Lub Npe lossis Hnub Nyoog.

Kev xav

cov ntaub ntawv sib txheeb qauv yog
cov ntaub ntawv sib txheeb qauv yog

Nws yog cov lus txhais cov lus nrog rau cov tsos ntawm cov ntaub ntawv hauv cov qauv ntawd. Lub ntsiab txhais yog lub header, thiab cov ntaub ntawv nyob rau hauv nws yog lub cev, ib pawg ntawm kab. Qhov sib txawv ntawm kev sib raug zoo feem ntau yog hu ua lub rooj loj. Lub npe ntawm tus nqi muab rau nws hauvtxhua lub sij hawm sib tw rau ib qho uas tau teev tseg hauv lub xov tooj ntawm tes, thiab nws lub cev sib luag rau qhov nws tau muab zaum kawg, hu rau qee cov lus hloov tshiab (feem ntau INSERT, Hloov Kho, lossis DELETE).

Set-theoretic formulation

Cov ntsiab lus tseem ceeb hauv cov qauv kev sib raug zoo ntawm kev sib raug zoo yog cov npe thiab cov npe ntawm cov cwj pwm. Lawv yuav tsum tau sawv cev raws li cov hlua xws li "Tus Neeg" thiab "Npe" thiab feem ntau yuav tsum tau siv cov kev hloov pauv los nthuav lawv. Lwm lub tswv yim tseem ceeb yog cov txheej txheem atomic uas muaj cov ntsiab lus tsim nyog thiab tseem ceeb xws li cov lej thiab cov hlua.

Pom zoo: