Tietokannan suunnittelu. Parhaat käytännöt

Odottaessaan seuraavan virtauksen alkamista nopeudella "Tietokanta" Olemme laatineet pienen kirjailijamateriaalin, jossa on tärkeitä vinkkejä tietokannan suunnitteluun. Toivomme, että tämä materiaali on hyödyllinen sinulle.

Tietokannan suunnittelu. Parhaat käytännöt

Tietokannat ovat kaikkialla: yksinkertaisista blogeista ja hakemistoista luotettaviin tietojärjestelmiin ja suuriin sosiaalisiin verkostoihin. Se, onko tietokanta yksinkertainen vai monimutkainen, ei ole niin tärkeää, kuin on tärkeää suunnitella se oikein. Kun tietokanta suunnitellaan ajattelemattomasti ja ilman selkeää ymmärrystä tarkoituksesta, se ei ole pelkästään tehotonta, vaan jatkotyöstä tietokannan parissa tulee käyttäjille todellinen piina, läpäisemätön metsä. Tässä on muutamia tietokannan suunnitteluvinkkejä, joiden avulla voit luoda hyödyllisen ja helppokäyttöisen tuotteen.

1. Selvitä, mitä varten taulukko on tarkoitettu ja mikä sen rakenne on

Tietokannan suunnittelu. Parhaat käytännöt

Nykyään kehitysmenetelmät, kuten Scrum tai RAD (Rapid Application Development), auttavat IT-tiimiä kehittämään tietokantoja nopeasti. Ajan tavoittelussa kiusaus on kuitenkin erittäin suuri sukeltaa suoraan tukikohdan rakentamiseen, epämääräisesti kuvitellen mikä itse tavoite on, millaisia ​​lopputuloksia tulisi olla.
 
Ikään kuin tiimi keskittyisi tehokkaaseen, nopeaan työhön, mutta tämä on harhaa. Mitä pidemmälle ja nopeammin sukeltat projektin syvyyteen, sitä enemmän aikaa kuluu tietokannan suunnittelun virheiden tunnistamiseen ja muuttamiseen.

Joten ensimmäinen asia, joka sinun on päätettävä, on määrittää tietokannan tarkoitus. Millaista sovellusta varten tietokantaa kehitetään? Työskenteleekö käyttäjä vain tietueiden kanssa ja hänen on kiinnitettävä huomiota tapahtumiin, vai kiinnostaako hän enemmän data-analytiikkaa? Mihin tukikohta tulisi sijoittaa? Seuraako se asiakkaiden käyttäytymistä vai hallitseeko se yksinkertaisesti asiakassuhteita? 

Mitä nopeammin suunnittelutiimi vastaa näihin kysymyksiin, sitä sujuvammin tietokannan suunnitteluprosessi on.

2. Mitä tietoja minun pitäisi valita tallennusta varten?

Tietokannan suunnittelu. Parhaat käytännöt

Suunnitella etukäteen. Ajatuksia siitä, mitä sivusto tai järjestelmä, jota varten tietokanta suunnitellaan, tekee tulevaisuudessa. On tärkeää mennä teknisten eritelmien yksinkertaisia ​​vaatimuksia pidemmälle. Älä vain ala miettimään kaikkia mahdollisia datatyyppejä, joita käyttäjä koskaan tallentaa. Mieti sen sijaan, voivatko käyttäjät kirjoittaa viestejä, ladata asiakirjoja tai valokuvia tai vaihtaa viestejä. Jos näin on, sinun on varattava niille tilaa tietokannassa.

Työskentele sen tiimin, osaston tai organisaation kanssa, jonka suunnittelupohjaa tuetaan tulevaisuudessa. Kommunikoi eri tasoisten ihmisten kanssa asiakaspalveluasiantuntijoista osastojen päälliköihin. Näin palautteen avulla saat selkeän kuvan yrityksen vaatimuksista. 

Väistämättä jopa saman osaston käyttäjien tarpeet ovat ristiriidassa. Jos kohtaat tämän, älä pelkää luottaa omaan kokemukseesi ja löytää kompromissi, joka sopii kaikille osapuolille ja täyttää tietokannan perimmäisen tavoitteen. Voit olla varma: saat jatkossa +100500 karmaa ja vuoren keksejä.

3. Mallinna tiedot huolellisesti

Tietokannan suunnittelu. Parhaat käytännöt

On useita keskeisiä kohtia, joihin on kiinnitettävä huomiota tietoja mallinnettaessa. Kuten aiemmin totesimme, tietokannan tarkoitus määrittää, mitä menetelmiä mallintamisessa käytetään. Jos suunnittelemme tietokantaa online-tietueiden käsittelyyn (OLTP), eli tietueiden luomiseen, muokkaamiseen ja poistamiseen, käytämme tapahtumamallinnusta. Jos tietokannan on oltava relaatiota, on parasta käyttää moniulotteista mallintamista.

Mallintamisen aikana rakennetaan käsitteellisiä (CDM), fyysisiä (PDM) ja loogisia (LDM) tietomalleja. 

Käsitteelliset mallit kuvaavat entiteettejä ja niiden sisältämiä datatyyppejä sekä niiden välisiä suhteita. Jaa tietosi loogisiin osiin - se tekee elämästä paljon helpompaa.
Tärkeintä on maltillisuus, älä liioittele sitä.

Jos entiteettiä on erittäin vaikea luokitella yhteen sanaan tai lauseeseen, on aika käyttää alatyyppejä (lapsikokonaisuuksia).

Jos entiteetti elää omaa elämäänsä, sillä on attribuutteja, jotka kuvaavat sen käyttäytymistä ja ulkonäköä sekä suhteita muihin objekteihin, voit turvallisesti käyttää alatyypin lisäksi myös supertyyppiä (emokokonaisuus). 

Jos laiminlyöt tämän säännön, muut kehittäjät hämmentyvät mallissasi eivätkä ymmärrä täysin tietoja ja niiden keräämissääntöjä.

Käsitteelliset mallit toteutetaan käyttämällä loogisia malleja. Nämä mallit ovat kuin fyysisen tietokannan suunnittelun tiekartta. Loogisessa mallissa identifioidaan liiketoimintatietoentiteetit, määritetään tietotyypit ja määritetään sääntöavaimen tila, joka hallitsee tietojen välisiä suhteita.

Sitten loogista datamallia verrataan ennalta valittuun DBMS-alustaan ​​(tietokannan hallintajärjestelmä) ja saadaan fyysinen malli. Se kuvaa, kuinka tiedot fyysisesti tallennetaan.

4. Käytä oikeita tietotyyppejä

Tietokannan suunnittelu. Parhaat käytännöt

Väärän tietotyypin käyttö voi aiheuttaa epätarkkoja tietoja, vaikeuksia taulukoiden yhdistämisessä, attribuuttien synkronointivaikeuksia ja paisuneita tiedostokokoja.
Tietojen eheyden varmistamiseksi attribuutin tulee sisältää vain sen hyväksymiä tietotyyppejä. Jos ikä on syötetty tietokantaan, varmista, että sarakkeessa on enintään 3 numeron mittaisia ​​kokonaislukuja.

Luo vähintään tyhjiä sarakkeita NULL-arvolla. Jos luot kaikki sarakkeet NULL-muodossa, tämä on suuri virhe. Jos tarvitset tyhjän sarakkeen tietyn liiketoimintatoiminnon suorittamiseen, kun tiedot ovat tuntemattomia tai eivät ole vielä järkeviä, luo se vapaasti. Emmehän voi täyttää sarakkeita "Kuolemapäivä" tai "Irkauttamispäivä" etukäteen, emme ole ennustajia, jotka osoittavat sormella taivasta :-).

Useimmat mallinnusohjelmistot (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) datan avulla voit luoda data-alueiden prototyyppejä. Tämä takaa oikean tietotyypin, sovelluslogiikan ja hyvän suorituskyvyn lisäksi myös sen, että arvoa vaaditaan.

5. Mene luonnollisesti

Tietokannan suunnittelu. Parhaat käytännöt

Kun päätät, mitä taulukon saraketta käytetään avaimena, harkitse aina, mitä kenttiä käyttäjä voi muokata. Älä koskaan valitse niitä avaimeksi - huono idea. Mitä tahansa voi tapahtua, mutta sinun on varmistettava, että se on ainutlaatuinen.

On parasta käyttää luonnollista tai yritysavainta. Sillä on semanttinen merkitys, joten vältyt päällekkäisyydeltä tietokannassa. 

Ellei yritysavain ole ainutlaatuinen (etunimi, sukunimi, asema) ja toistuu taulukon eri riveillä tai sen täytyy muuttua, luotu keinotekoinen avain tulee määrittää ensisijaiseksi avaimeksi.

6. Normalisoi kohtuudella

Tietokannan suunnittelu. Parhaat käytännöt

Jotta voit järjestää tiedot tehokkaasti tietokannassa, sinun on noudatettava tiettyjä ohjeita ja normalisoitava tietokanta. Noudatettavaa on viisi normaalia muotoa.
Normalisoinnilla vältyt redundanssilta ja varmistat sovelluksessasi tai sivustossasi käytettyjen tietojen eheyden.

Kuten aina, kaiken pitäisi olla maltillista, jopa normalisointia. Jos tietokannassa on liian monta taulukkoa samoilla yksilöllisillä avaimilla, olet hurahtanut ja ylinormalisoi tietokannan. Liiallinen normalisointi vaikuttaa negatiivisesti tietokannan suorituskykyyn.

7. Testaa aikaisin, testaa usein

Tietokannan suunnittelu. Parhaat käytännöt

Testaussuunnitelman ja asianmukaisen testauksen tulisi olla osa tietokannan suunnittelua.

Paras tapa testata tietokantasi on jatkuva integrointi. Simuloi "päivä tietokannan elämässä" -skenaariota ja tarkista, onko kaikki reunatapaukset käsitelty ja mikä käyttäjien vuorovaikutus on todennäköistä. Mitä nopeammin löydät vikoja, sitä enemmän säästät sekä aikaa että rahaa.

Nämä ovat vain seitsemän vinkkiä, joiden avulla voit suunnitella suuren tuottavuuden ja tehokkuuden tietokannan. Jos noudatat niitä, vältyt useimmat päänsäryt tulevaisuudessa. Nämä vinkit ovat vain jäävuoren huippu tietokannan mallintamisessa. Life hackeja on valtava määrä. Mitä käytät?

Lähde: will.com

Lisää kommentti