Adatbázis tervezés. A legjobb gyakorlatok

Megelőlegezve a következő áramlás kezdetét az ütemben "Adatbázis" Készítettünk egy kis szerzői anyagot, amely fontos tippeket tartalmaz az adatbázis kialakításához. Reméljük, hogy ez az anyag hasznos lesz az Ön számára.

Adatbázis tervezés. A legjobb gyakorlatok

Az adatbázisok mindenhol megtalálhatók: a legegyszerűbb blogoktól és címtáraktól a megbízható információs rendszerekig és a nagy közösségi hálózatokig. Az, hogy az adatbázis egyszerű vagy összetett, nem annyira fontos, mint a helyes tervezés. Ha egy adatbázist meggondolatlanul és a cél világos megértése nélkül terveznek meg, az nemcsak hatástalan, de az adatbázissal való további munka igazi kínszenvedés, áthatolhatatlan erdő lesz a felhasználók számára. Íme néhány adatbázis-tervezési tipp, amelyek segítenek egy hasznos és könnyen használható termék létrehozásában.

1. Határozza meg, mire való a táblázat és mi a felépítése!

Adatbázis tervezés. A legjobb gyakorlatok

Manapság az olyan fejlesztési módszerek, mint a Scrum vagy a RAD (Rapid Application Development) segítik az IT csapatokat az adatbázisok gyors fejlesztésében. Az idő hajszolása során azonban nagyon nagy a kísértés, hogy egyenesen egy bázis építésébe merüljünk, homályosan elképzelve, mi maga a cél, mi legyen a végeredmény.
 
Mintha a csapat a hatékony, gyors munkára koncentrálna, de ez egy délibáb. Minél jobban és gyorsabban merül bele a projekt mélységébe, annál több időbe telik az adatbázis-tervezés hibáinak azonosítása és megváltoztatása.

Tehát az első dolog, amit el kell döntened, az az adatbázis céljának meghatározása. Milyen típusú alkalmazásra fejlesztik az adatbázist? A felhasználó csak rekordokkal dolgozik, és figyelnie kell a tranzakciókra, vagy inkább az adatelemzés érdekli? Hol kell telepíteni a bázist? Nyomon követi az ügyfelek viselkedését, vagy egyszerűen kezeli az ügyfélkapcsolatokat? 

Minél hamarabb válaszol a tervezőcsapat ezekre a kérdésekre, annál gördülékenyebb lesz az adatbázis-tervezési folyamat.

2. Milyen adatokat válasszak tárolásra?

Adatbázis tervezés. A legjobb gyakorlatok

Előre tervez. Gondolatok arról, hogy a webhely vagy a rendszer, amelyhez az adatbázist tervezik, mit fog tenni a jövőben. Fontos, hogy túllépjünk a műszaki előírások egyszerű követelményein. Csak kérem, ne kezdjen el gondolkodni az összes lehetséges adattípuson, amelyet a felhasználó valaha is tárol. Ehelyett gondolja át, hogy a felhasználók képesek lesznek-e bejegyzéseket írni, dokumentumokat vagy fényképeket feltölteni, vagy üzeneteket váltani. Ha ez a helyzet, akkor helyet kell foglalnia számukra az adatbázisban.

Dolgozzon azzal a csapattal, részleggel vagy szervezettel, amelynél a tervezési bázist a jövőben támogatni fogják. Kommunikáljon különböző szintű emberekkel, az ügyfélszolgálati szakemberektől az osztályvezetőkig. Így a visszajelzések segítségével világos képet kap a cég igényeiről. 

Elkerülhetetlen, hogy a felhasználók igényei még ugyanazon a részlegen belül is ütközni fognak. Ha ezzel találkozik, ne féljen saját tapasztalataira hagyatkozni, és olyan kompromisszumot találni, amely minden félnek megfelel, és kielégíti az adatbázis végső célját. Nyugodj meg: a jövőben +100500 karmát és egy hegynyi sütit kapsz.

3. Gondosan modellezze az adatokat

Adatbázis tervezés. A legjobb gyakorlatok

Az adatok modellezésekor több kulcsfontosságú pontra kell figyelni. Mint korábban említettük, az adatbázis célja határozza meg, hogy mely módszereket alkalmazzuk a modellezésben. Ha online rekordfeldolgozásra (OLTP), azaz rekordok létrehozására, szerkesztésére és törlésére szolgáló adatbázist tervezünk, akkor tranzakciómodellezést alkalmazunk. Ha az adatbázisnak relációsnak kell lennie, akkor a legjobb a többdimenziós modellezés.

A modellezés során koncepcionális (CDM), fizikai (PDM) és logikai (LDM) adatmodellek épülnek fel. 

A fogalmi modellek leírják az entitásokat és a benne foglalt adattípusokat, valamint a köztük lévő kapcsolatokat. Ossza fel adatait logikai darabokra – ez sokkal könnyebbé teszi az életét.
A lényeg a mértékletesség, ne vigyük túlzásba.

Ha egy entitást nagyon nehéz egyetlen szóban vagy kifejezésben besorolni, akkor ideje altípusokat (gyermek entitásokat) használni.

Ha egy entitás saját életét éli, olyan attribútumokkal rendelkezik, amelyek leírják a viselkedését és megjelenését, valamint kapcsolatai vannak más objektumokkal, akkor biztonságosan használhatunk nem csak altípust, hanem szupertípust (szülő entitás) is. 

Ha figyelmen kívül hagyja ezt a szabályt, más fejlesztők összezavarodnak az Ön modelljében, és nem fogják teljesen megérteni az adatokat és az adatok gyűjtésének szabályait.

A koncepcionális modelleket logikai modellek segítségével valósítjuk meg. Ezek a modellek olyanok, mint a fizikai adatbázis-tervezés ütemterve. A logikai modellben azonosításra kerülnek az üzleti adat entitások, meghatározzák az adattípusokat, és meghatározzák az adatok közötti kapcsolatokat szabályozó szabálykulcs állapotát.

Ezután a logikai adatmodellt összehasonlítjuk az előre kiválasztott DBMS (adatbázis-kezelő rendszer) platformmal, és megkapjuk a fizikai modellt. Leírja az adatok fizikai tárolását.

4. Használja a megfelelő adattípusokat

Adatbázis tervezés. A legjobb gyakorlatok

A rossz adattípus használata kevésbé pontos adatokhoz, táblák összekapcsolási nehézségekhez, attribútumok szinkronizálási nehézségeihez és megduzzadt fájlméretekhez vezethet.
Az információ integritásának biztosítása érdekében egy attribútum csak számára elfogadható adattípusokat tartalmazhat. Ha az életkor be van írva az adatbázisba, ügyeljen arra, hogy az oszlop legfeljebb 3 számjegyből álló egész számokat tároljon.

Hozzon létre minimális üres oszlopot NULL értékkel. Ha az összes oszlopot NULL-ként hozza létre, ez nagy hiba. Ha egy adott üzleti funkció végrehajtásához üres oszlopra van szüksége, amikor az adatok ismeretlenek, vagy még nincs értelme, akkor nyugodtan hozza létre. Hiszen nem tölthetjük ki előre a „Halálozás dátuma” vagy az „Elbocsátás dátuma” rovatokat, nem vagyunk előrejelzők, akik ujjunkat az ég felé mutatják :-).

A legtöbb modellező szoftver (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) adatok lehetővé teszik az adatrégiók prototípusainak létrehozását. Ez nemcsak a helyes adattípust, az alkalmazáslogikát és a jó teljesítményt biztosítja, hanem azt is, hogy az értékre szükség van.

5. Légy természetes

Adatbázis tervezés. A legjobb gyakorlatok

Amikor eldönti, hogy egy táblázat melyik oszlopát használja kulcsként, mindig vegye figyelembe, hogy a felhasználó mely mezőket szerkesztheti. Soha ne válassza őket kulcsnak – rossz ötlet. Bármi megtörténhet, de gondoskodnia kell arról, hogy egyedi legyen.

A legjobb, ha természetes vagy üzleti kulcsot használ. Szemantikai jelentése van, így elkerülheti a duplikációt az adatbázisban. 

Hacsak az üzleti kulcs nem egyedi (utónév, vezetéknév, beosztás) és a tábla különböző soraiban ismétlődik, vagy meg kell változnia, akkor a generált mesterséges kulcsot kell elsődleges kulcsnak kijelölni.

6. Normalizálja mértékkel

Adatbázis tervezés. A legjobb gyakorlatok

Az adatok adatbázisban való hatékony rendszerezéséhez követnie kell egy sor irányelvet, és normalizálnia kell az adatbázist. Öt normál formát kell követni.
A normalizálással elkerülheti a redundanciát, és biztosítja az alkalmazásban vagy webhelyen használt adatok integritását.

Mint mindig, mindennek mértékkel kell lennie, még a normalizálásnak is. Ha túl sok tábla van az adatbázisban ugyanazokkal az egyedi kulcsokkal, akkor elragadta magát, és túlnormalizálta az adatbázist. A túlzott normalizálás negatívan befolyásolja az adatbázis teljesítményét.

7. Korán tesztelj, gyakran tesztelj

Adatbázis tervezés. A legjobb gyakorlatok

A teszttervnek és a megfelelő tesztelésnek az adatbázistervezés részét kell képeznie.

Az adatbázis tesztelésének legjobb módja a folyamatos integráció. Szimuláljon egy „napot az adatbázis életében” forgatókönyvet, és ellenőrizze, hogy minden szélső esetet kezelnek-e, és milyen felhasználói interakciók valószínűek. Minél hamarabb találja meg a hibákat, annál több időt és pénzt takarít meg.

Ez csak hét tipp, amellyel nagyszerű termelékenységi és hatékonysági adatbázist hozhat létre. Ha betartja őket, a jövőben elkerülheti a legtöbb fejfájást. Ezek a tippek csak a jéghegy csúcsát jelentik az adatbázis-modellezésben. Rengeteg life hack létezik. Melyiket használod?

Forrás: will.com

Hozzászólás