Database tsim. Cov kev coj ua zoo tshaj plaws

Nyob rau hauv kev cia siab ntawm qhov pib ntawm qhov ntws tom ntej ntawm tus nqi "Database" Peb tau npaj cov ntaub ntawv me me nrog cov lus qhia tseem ceeb rau kev tsim cov ntaub ntawv. Peb cia siab tias cov ntaub ntawv no yuav pab tau rau koj.

Database tsim. Cov kev coj ua zoo tshaj plaws

Cov ntaub ntawv muaj nyob txhua qhov chaw: los ntawm cov blogs yooj yim tshaj plaws thiab cov npe rau cov ntaub ntawv txhim khu kev qha thiab cov kev sib raug zoo loj. Txawm hais tias cov ntaub ntawv yooj yim lossis nyuaj tsis yog qhov tseem ceeb vim nws yog qhov tseem ceeb los tsim kom raug. Thaum lub database yog tsim los xav tsis thoob thiab tsis muaj kev nkag siab meej ntawm lub hom phiaj, nws tsis yog tsuas yog siv tsis tau, tab sis ntxiv kev ua haujlwm nrog cov ntaub ntawv yuav yog qhov mob tiag tiag, lub hav zoov tsis muaj zog rau cov neeg siv. Nov yog qee cov lus qhia tsim database uas yuav pab koj tsim cov khoom siv tau zoo thiab siv tau yooj yim.

1. Txiav txim seb lub rooj yog dab tsi thiab nws cov qauv yog dab tsi

Database tsim. Cov kev coj ua zoo tshaj plaws

Niaj hnub no, txoj kev txhim kho xws li Scrum lossis RAD (Rapid Application Development) pab pawg IT tsim cov ntaub ntawv sai. Txawm li cas los xij, hauv kev nrhiav lub sijhawm, kev ntxias yog qhov zoo heev kom dhia ncaj qha mus rau hauv lub hauv paus, xav tsis thoob xav tias lub hom phiaj nws tus kheej yog dab tsi, qhov kawg tshwm sim yuav tsum yog.
 
Nws zoo li yog tias pab pawg tau tsom mus rau kev ua haujlwm tau zoo, ua haujlwm nrawm, tab sis qhov no yog mirage. Qhov ntxiv thiab sai dua koj dhia mus rau hauv qhov tob ntawm qhov project, ntau lub sijhawm nws yuav siv sijhawm los txheeb xyuas thiab hloov qhov yuam kev hauv kev tsim database.

Yog li thawj qhov koj yuav tsum tau txiav txim siab yog los txhais lub hom phiaj rau koj cov ntaub ntawv. Hom ntawv thov twg yog qhov database tsim rau? Puas yog tus neeg siv tsuas yog ua haujlwm nrog cov ntaub ntawv thiab yuav tsum tau them sai sai rau kev hloov pauv, lossis nws puas txaus siab rau cov ntaub ntawv txheeb xyuas? Lub hauv paus yuav tsum xa mus rau qhov twg? Nws puas yuav taug qab cov qhua tuaj noj mov lossis tsuas yog tswj hwm kev sib raug zoo ntawm cov neeg siv khoom? 

Qhov sai dua pab neeg tsim teb cov lus nug no, qhov smoother cov txheej txheem tsim database yuav.

2. Kuv yuav xaiv cov ntaub ntawv dab tsi rau kev khaws cia?

Database tsim. Cov kev coj ua zoo tshaj plaws

Npaj ua ntej. Kev xav txog qhov chaw lossis qhov system uas cov ntaub ntawv tau tsim los yuav ua rau yav tom ntej. Nws yog ib qho tseem ceeb uas yuav tsum tau mus dhau qhov yooj yim yuav tsum tau ntawm cov kev specifications. Tsuas yog thov tsis txhob pib xav txog txhua yam ua tau ntawm cov ntaub ntawv uas tus neeg siv yuav khaws cia. Zoo dua xav txog seb cov neeg siv puas tuaj yeem sau cov ntawv tshaj tawm, upload cov ntaub ntawv lossis duab lossis sib pauv lus. Yog tias qhov no yog qhov teeb meem, ces koj yuav tsum faib qhov chaw rau lawv hauv cov ntaub ntawv.

Ua haujlwm nrog pab pawg, chav haujlwm, lossis lub koom haum uas lub hauv paus tsim yuav txhawb nqa yav tom ntej. Sib txuas lus nrog cov neeg ntawm ntau theem, los ntawm cov kws tshaj lij kev pabcuam rau cov neeg siv khoom mus rau cov thawj coj hauv chav haujlwm. Txoj kev no, nrog kev pab los ntawm kev tawm tswv yim, koj yuav tau txais lub tswv yim meej ntawm lub tuam txhab cov cai. 

Inevitably, cov kev xav tau ntawm cov neeg siv nyob rau hauv txawm tib lub department yuav tsis sib haum. Yog tias koj ntsib qhov no, tsis txhob ntshai tso siab rau koj tus kheej kev paub dhau los thiab nrhiav kev sib haum xeeb uas haum rau txhua tus neeg sab nrauv thiab txaus siab rau lub hom phiaj kawg ntawm cov ntaub ntawv. So kom txaus: yav tom ntej koj yuav tau txais +100500 hauv karma thiab roob ncuav qab zib.

3. Cov ntaub ntawv qauv nrog kev saib xyuas

Database tsim. Cov kev coj ua zoo tshaj plaws

Muaj ob peb lub ntsiab lus tseem ceeb uas yuav tsum tau them sai sai rau thaum ua qauv cov ntaub ntawv. Raws li peb tau hais ua ntej lawm, lub hom phiaj ntawm cov ntaub ntawv yog nyob ntawm seb cov kev siv twg los ua qauv. Yog tias peb tab tom tsim cov ntaub ntawv khaws cia hauv online (OLTP), ua lwm yam lus rau kev tsim, kho thiab tshem tawm cov ntaub ntawv, peb siv cov qauv kev lag luam. Yog tias cov ntaub ntawv yuav tsum muaj kev sib raug zoo, ces nws yog qhov zoo tshaj los siv ntau qhov qauv.

Thaum lub sij hawm ua qauv, lub tswv yim (CDM), lub cev (PDM), thiab cov ntaub ntawv tsim nyog (LDM) cov qauv tsim. 

Cov qauv kev xav piav qhia txog cov chaw thiab hom ntaub ntawv uas lawv suav nrog, nrog rau kev sib raug zoo ntawm lawv. Faib koj cov ntaub ntawv mus rau hauv cov ntsiab lus chunks - nws ua rau lub neej yooj yim dua.
Qhov tseem ceeb tshaj plaws yog moderation, tsis txhob overdo nws.

Yog hais tias ib lub koom haum nyuaj heev los faib rau hauv ib lo lus lossis kab lus, ces nws yog lub sij hawm los siv subtypes (cov chaw me nyuam).

Yog hais tias ib lub koom haum coj nws lub neej, muaj cov cwj pwm uas piav txog nws tus cwj pwm thiab nws cov tsos, nrog rau kev sib raug zoo nrog lwm yam khoom, ces koj tuaj yeem siv tsis tau tsuas yog subtype, tab sis kuj yog supertype (niam txiv qhov chaw). 

Yog tias koj tsis quav ntsej txoj cai no, lwm tus neeg tsim khoom yuav tsis meej pem hauv koj tus qauv thiab yuav tsis nkag siab tag nrho cov ntaub ntawv thiab cov cai rau kev sau nws li cas.

Cov qauv kev xav tau raug siv los siv cov kev xav tau. Cov qauv no zoo li daim ntawv qhia txoj kev rau lub cev database tsim. Hauv cov qauv kev xav tau, cov ntaub ntawv lag luam tau txheeb xyuas, hom ntaub ntawv raug txiav txim siab, thiab cov xwm txheej ntawm txoj cai tseem ceeb yog txiav txim siab uas tswj kev sib raug zoo ntawm cov ntaub ntawv.

Tom qab ntawd lub Logical Data Model yog muab piv nrog rau qhov kev xaiv ua ntej DBMS (database management system) platform thiab tau txais lub cev qauv. Nws piav qhia yuav ua li cas cov ntaub ntawv khaws cia hauv lub cev.

4. Siv hom ntaub ntawv zoo

Database tsim. Cov kev coj ua zoo tshaj plaws

Kev siv hom ntaub ntawv tsis raug tuaj yeem ua rau cov ntaub ntawv tsis raug, teeb meem hauv kev koom nrog cov ntxhuav, nyuaj synchronizing cwj pwm, thiab cov ntaub ntawv loj.
Txhawm rau kom ntseeg tau cov ntaub ntawv ncaj ncees, tus cwj pwm yuav tsum muaj cov ntaub ntawv nkaus xwb uas tau txais rau nws. Yog tias muaj hnub nyoog nkag mus rau hauv cov ntaub ntawv, xyuas kom cov kem khaws cov lej ntawm ntau tshaj 3 tus lej.

Tsim qhov tsawg kawg ntawm cov kab khoob nrog tus nqi NULL. Yog tias koj tsim txhua kab ua NULL, qhov no yog qhov yuam kev loj. Yog tias koj xav tau ib qho khoob khoob los ua ib qho kev lag luam tshwj xeeb, thaum cov ntaub ntawv tsis paub lossis tseem tsis tau paub, ces xav tsim nws. Tom qab tag nrho, peb tsis tuaj yeem sau rau hauv kab "Hnub tuag" lossis "Hnub tso tawm" ua ntej; peb tsis yog tus kws twv taw tes peb ntiv tes rau saum ntuj :-).

Feem ntau cov qauv software (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) cov ntaub ntawv tso cai rau koj los tsim cov qauv ntawm cov ntaub ntawv cheeb tsam. Qhov no ua kom tsis yog tsuas yog hom ntaub ntawv raug, daim ntawv thov logic thiab kev ua haujlwm zoo, tab sis kuj yuav tsum muaj tus nqi.

5. Mus ntuj ceeb tsheej

Database tsim. Cov kev coj ua zoo tshaj plaws

Thaum txiav txim siab seb kab twg hauv ib lub rooj siv los ua tus yuam sij, nco ntsoov xav txog cov teb twg tus neeg siv tuaj yeem hloov kho. Tsis txhob xaiv lawv ua tus yuam sij - lub tswv yim phem. Txhua yam tuaj yeem tshwm sim, tab sis koj yuav tsum xyuas kom meej tias nws yog qhov tshwj xeeb.

Nws yog qhov zoo tshaj plaws los siv lub ntuj, lossis kev lag luam, qhov tseem ceeb. Nws muaj lub ntsiab lus semantic, yog li koj yuav tsum tsis txhob muaj kev sib tw hauv cov ntaub ntawv. 

Tshwj tsis yog tias tus yuam sij ua lag luam yog qhov tshwj xeeb (lub npe, lub xeem, txoj haujlwm) thiab rov ua dua nyob rau hauv kab sib txawv ntawm lub rooj lossis nws yuav tsum hloov, ces tus yuam sij tsim tawm yuav tsum raug xaiv los ua tus yuam sij tseem ceeb.

6. normalize nyob rau hauv moderation

Database tsim. Cov kev coj ua zoo tshaj plaws

Txhawm rau txhim kho cov ntaub ntawv zoo hauv cov ntaub ntawv, koj yuav tsum ua raws li cov txheej txheem thiab ua kom cov ntaub ntawv zoo li qub. Muaj tsib daim ntawv ib txwm ua raws.
Nrog normalization, koj tsis txhob redundancy thiab xyuas kom meej cov ntaub ntawv siv nyob rau hauv koj daim ntawv thov los yog qhov chaw.

Raws li ib txwm muaj, txhua yam yuav tsum nyob rau hauv moderation, txawm normalization. Yog tias muaj ntau cov ntxhuav hauv cov ntaub ntawv nrog tib cov yuam sij tshwj xeeb, ces koj tau nqa mus thiab dhau-normalized lub database. Ntau dhau normalization tsis zoo cuam tshuam rau database kev ua tau zoo.

7. Xeem ntxov, sim ntau zaus

Database tsim. Cov kev coj ua zoo tshaj plaws

Kev sim phiaj xwm thiab kev sim kom raug yuav tsum yog ib feem ntawm kev tsim cov ntaub ntawv.

Txoj hauv kev zoo tshaj los sim koj cov ntaub ntawv yog los ntawm Kev Sib Txuas Ntxiv. Simulate ib "hnub hauv lub neej ntawm cov ntaub ntawv" scenario thiab xyuas seb txhua qhov xwm txheej puas raug daws thiab cov neeg siv kev sib cuam tshuam zoo li cas. Lub sijhawm koj pom kab laum, qhov ntau koj yuav txuag tau ob lub sijhawm thiab nyiaj txiag.

Cov no tsuas yog xya lub tswv yim uas koj tuaj yeem siv los tsim cov ntaub ntawv zoo ntawm kev tsim khoom thiab kev ua tau zoo. Yog tias koj ua raws li lawv, koj yuav zam kev mob taub hau ntau tshaj yav tom ntej. Cov lus qhia no tsuas yog qhov kawg ntawm cov dej khov nab kuab hauv database qauv. Muaj ntau tus lej ntawm lub neej hacks. Koj siv dab tsi?

Tau qhov twg los: www.hab.com

Ntxiv ib saib