Adatbázis Tervezés. Legjobb gyakorlatok

A következő kurzus indulása előtt Adatbázisok készítettünk egy rövid, saját anyagot fontos tanácsokkal az adatbázisok tervezéséről. Reméljük, hogy ez az anyag hasznos lesz Önnek.

Adatbázis Tervezés. Legjobb gyakorlatok

Az adatbázisok mindenhol jelen vannak: a legegyszerűbb blogoktól és könyvtáraktól kezdve a megbízható információs rendszereken át a nagyobb közösségi hálózatokig. Nem annyira lényeges, hogy az adatbázis egyszerű vagy bonyolult, hanem az, hogy megfelelően legyen megtervezve. Ha az adatbázisot gondatlanul és a cél tiszta megértése nélkül tervezzük, nemcsak hogy nem lesz hatékony, hanem a további munka is valódi szenvedés lesz, egy áthatolhatatlan erdő a felhasználók számára. Íme néhány tanács az adatbázis tervezéséhez, amelyek segítenek hasznos és könnyen használható termék létrehozásában.

1. Határozza meg, hogy mi a táblázat célja és milyen a szerkezete

Adatbázis Tervezés. Legjobb gyakorlatok

Ma olyan fejlesztési módszerek, mint a Scrum vagy a RAD (gyors alkalmazásfejlesztés), segítik az IT csapatokat az adatbázisok gyors fejlesztésében. Azonban az idő megtakarítása érdekében nagy a kísértés, hogy azonnal az adatbázis felépítésébe kezdjünk, homályosan képzelve a célt és a végső eredményeket.
 
Olyan, mintha a csapat a hatékony, gyors munkára összpontosítana, de ez csak illúzió. Minél mélyebbre és gyorsabban merülünk a projektbe, annál több időt igényel a hibák felfedezése és változtatása az adatbázis tervén.

Ezért az első lépés, hogy meghatározzuk az adatbázis célját. Milyen típusú alkalmazás számára készül az adatbázis? A felhasználónak csak a rekordokkal kell dolgoznia, és figyelmet kell fordítani a tranzakciókra, vagy inkább az adatok elemzése érdekli? Hol kell az adatbázist telepíteni? Nyomon fogja követni az ügyfelek viselkedését, vagy csak a közöttük lévő kapcsolatokat fogja kezelni? 

Minél hamarabb válaszol a tervezési csapat ezekre a kérdésekre, annál simábban és zökkenőmentesebben zajlik az adatbázis tervezése.

2. Milyen adatokat válasszunk a tároláshoz?

Adatbázis Tervezés. Legjobb gyakorlatok

Tervezzen előre. Gondolkodjon el azon, hogy a jövőben mit fog tenni a weboldal vagy a rendszer, amelynek a database-t megtervezik. Fontos, hogy túllépjen a műszaki követelmények egyszerű igényein. Csak kérjük, ne kezdje el rögtön a felhasználó által tárolni kívánt összes lehetséges adat típusról gondolkodni. Inkább gondolkodjon el arról, hogy a felhasználók tudnak-e bejegyzéseket írni, dokumentumokat vagy fényképeket feltölteni, vagy üzeneteket küldeni. Ha ez így van, akkor a database-ben helyet kell biztosítani ezeknek.

Dolgozzon együtt a csapatával, részlegével vagy szervezetével, amely a jövőben a tervezett database-t támogatni fogja. Kommunikáljon különböző szintű emberekkel, a vevőszolgálati szakemberektől a részlegvezetőkig. Így a visszajelzések segítségével tiszta képet kap a cég követelményeiről. 

Elkerülhetetlen, hogy a felhasználók szükségletei még egyetlen részlegen belül is ütközzenek. Ha ezzel találkozik, ne féljen támaszkodni a saját tapasztalataira, és találjon kompromisszumot, amely minden fél számára elfogadható és kielégíti a database végső célját. Legyen biztos benne: a jövőben +100500 pontot kap a karmájában és egy hegy süti vár önre.

3. Modellezze az adatokat óvatosan

Adatbázis Tervezés. Legjobb gyakorlatok

Van néhány kulcsfontosságú pont, amelyre figyelni kell az adatok modellezésekor. Ahogy korábban említettük, az adatbázis célja meghatározza, hogy milyen módszereket alkalmazzunk a modellezés során. Ha adatbázist tervezünk az adatok operatív feldolgozására (OLTP), más szóval azok létrehozására, szerkesztésére és törlésére, akkor tranzakciós modellezést alkalmazunk. Ha azonban az adatbázisnak relációsnak kell lennie, akkor a legjobban a többdimenziós modellezés jöhet szóba.

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

A koncepcionális modellek leírják az entitásokat és az azokban található adat típusokat, valamint a köztük lévő kapcsolatokat. Ossza fel az adatait logikai darabokra – így sokkal könnyebb élni.
A legfontosabb – az arány, ne túlozza el.

Ha egy entitást nagyon nehéz egyetlen szóval vagy kifejezéssel besorolni, akkor itt az ideje, hogy al-typusokat (gyermek entitásokat) használjon.

Ha az entitás saját életet él, olyan attribútumokkal rendelkezik, amelyek leírják a viselkedését és a megjelenését, valamint kapcsolódik más objektumokhoz, akkor bátran használhatjuk a szuper típust (szülő entitás) is, nemcsak az altípust. 

Ha figyelmen kívül hagyja ezt a szabályt, más fejlesztők összezavarodnak a modelljében, és nem fogják teljesen érteni az adatokat és a szabályokat, hogyan kell azokat összegyűjteni.

A fogalmi modellek logikai modellek segítségével valósulnak meg. Ezek a modellek olyanok, mint egy térkép a fizikai adatbázis tervezéséhez. A logikai modellben kiemelésre kerülnek az üzleti adatok entitásai, meghatározásra kerülnek az adatok típusa, a kulcsállapotok, valamint a szabályok, amelyek szabályozzák az adatok közötti kapcsolatokat.

Ezután a Logikai adatmód előzetesen kiválasztott DBMS (adatbázis-kezelő rendszer) platformhoz van hozzárendelve, adatbázis-kezelésés így létrejön a Fizikai modell. Ez leírja az adatok fizikai tárolásának módját.

4. Használjon megfelelő adat tipusokat

Adatbázis Tervezés. Legjobb gyakorlatok

A nem megfelelő adatok típusának alkalmazása a számadatok pontosságának csökkentéséhez, a táblák egyesítésének nehézségeihez, az attribútumok szinkronizálásához, valamint a fájlméretek megnövekedéséhez vezethet.
Az információk integritásának garantálásához az attribútumnak csak az őt elfogadható adatok típusait kell tartalmaznia. Ha az adatbázisba életkor kerül, bizonyosodjon meg róla, hogy az oszlopban maximum 3 számjegyű egész számok vannak tárolva.

Létrehozáskor minimum üres oszlopot NULL értékkel. Ha minden oszlopot NULL-ként hoz létre, az súlyos hiba. Ha azonban szüksége van egy üres oszlopra egy konkrét üzleti funkció végrehajtásához, amikor az adatok ismeretlenek vagy még értelmetlenek, akkor bátran hozza létre. Hiszen nem tudjuk előre kitölteni a 'Halálozási dátum' vagy 'Elbocsátási dátum' oszlopokat, nem vagyunk jövendőmondók, hogy véletlenszerűen találgassunk :-).

A legtöbb modellező szoftver (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) lehetővé teszi az adat területek prototípusainak létrehozását. Így garantált a helyes adat típus, az alkalmazás logikája és a jó teljesítmény, valamint kötelezően meghatározza az értéket.

5. Előnyben részesítse a természetes

Adatbázis Tervezés. Legjobb gyakorlatok

Amikor eldönti, hogy melyik oszlopot válassza a táblázatban kulcsként, mindig figyeljen arra, hogy mely mezők módosíthatók a felhasználó által. Soha ne válasszon ilyen mezőket kulcsként - ez rossz ötlet. Bármi megtörténhet, és Önnek garantálnia kell az egyediséget.

A legjobb természetes, vagy üzleti kulcsot (natural key) használni. Ennek értelmes jelentősége van, így elkerülhető az adatbázisban a duplikáció. 

Csak akkor, ha az üzleti kulcs nem egyedi (név, vezetéknév, pozíció) és több sorban megismétlődik a táblázatban, vagy ha módosulnia kell, akkor érdemes generált mesterséges, szurrogát kulcsot (artificial key) elsődleges kulcsként kijelölni.

6. Normalizáljon mértékkel

Adatbázis Tervezés. Legjobb gyakorlatok

Az adatok hatékony megszervezéséhez az adatbázisban kövesse a javaslatok egy sorát és normalizálja az adatbázist. Öt normálforma létezik, amelyeknek meg kell felelni.
A normalizálás segítségével elkerülheti a feleslegességet és biztosíthatja az alkalmazásban vagy a weboldalon használt adatok integritását.

Mint mindig, mindennek mértékkel kell lennie, még a normalizálásnak is. Ha az adatbázisban túl sok táblázat van azonos egyedi kulcsokkal, akkor túllépte a normalizálást. A túlzott normalizálás negatívan befolyásolja az adatbázis teljesítményét.

7. Teszteljen korán, teszteljen gyakran

Adatbázis Tervezés. Legjobb gyakorlatok

A tesztelési tervnek és a megfelelő tesztelésnek az adatbázis tervezésének részének kell lennie.

A legjobb, ha az adatbázist folyamatos integráció (Continuous Integration) révén teszteli. Modellezze a "Az adatbázis egy napja" forgatókönyvet, és ellenőrizze, hogy minden határértéket kezel-e, milyen felhasználói interakciók valószínűek. Minél előbb talál bugokat, annál többet spórolhat idővel és pénzzel.

Ezek csupán hét tanács, amelyek segítenek abban, hogy kiváló adatbázist tervezzen a teljesítmény és a hatékonyság érdekében. Ha követi őket, elkerülheti a jövőbeni fejfájások többségét. Ezek a tanácsok csak a jéghegy csúcsa az adatbázis modellezésében. Óriási számú trükk létezik. Ön milyen módszereket alkalmaz?

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster