Tietokannan refaktorointi

Tietokannan uudelleenmuodostus on yksinkertainen  muutos tietokantaskeemaan, joka parantaa sen suunnittelua säilyttäen samalla toiminnallisen ja informaatiosemantiikan [1] . Toisin sanoen tietokannan uudelleenmuodostuksen vaikutus ei voi olla uusien toiminnallisuuksien lisääminen tai olemassa olevien rajoittaminen, uusien tietojen lisääminen tai olemassa olevien merkityksen muuttaminen.

Kategoriat

S. Ambler ja P. Sadalaj [1] tunnistavat seuraavat relaatiotietokannan uudelleenmuodostuksen luokat :

Taulukoiden tai näkymien rakenteen muutokset .

Menetelmät: lasketun sarakkeen käyttöönotto; korvaavan avaimen käyttöönotto ; korvataan LOB-tyyppiset tiedot taulukolla; yksi-moneen -suhteen korvaaminen assosiaatiotaulukolla; sarakkeen vaihto; korvaavan avaimen korvaaminen luonnollisella avaimella; näkymän uudelleennimeäminen; sarakkeen uudelleennimeäminen; taulukon uudelleennimeäminen; sarakkeen siirtäminen; sarakkeen jakaminen; taulukon halkaisu; sarakkeiden yhdistäminen; taulukoiden yhdistäminen; näkymän poistaminen; sarakkeen poistaminen; taulukon poistaminen.

Muutokset, joilla pyritään parantamaan tietokantaan tallennetun tiedon laatua.

Menetelmät: Oletusarvon syöttäminen; yhteisen muodon käyttöönotto; ottamalla käyttöön sarakerajoitus; hakutaulukon lisääminen; tyyppikoodin korvaaminen ominaisuuslipuilla; konsolidoitujen avainten strategian täytäntöönpano; tiedonsiirto; sarakkeen muuntaminen ei-nolla-arvoksi; vakiotyypin soveltaminen; standardikoodien käyttö; oletusarvon tuhoaminen; sarakerajoitteen tuhoaminen; ei-nullattavan sarakkeen tuhoaminen.

Muutokset, joiden tarkoituksena on säilyttää viittauksen eheys tietokannassa.

Menetelmät: kaskadin poiston käyttöönotto; ohjelmistojen poiston käyttöönotto; käynnistetään historiallisten tietojen kerääminen; fyysisen poiston käyttöönotto; lisätään vieraan avaimen rajoitus; liipaisimen lisääminen lasketulle sarakkeelle; tuhoavat viiteavaimen rajoitteen .

Muutokset, joiden tarkoituksena on parantaa ulkoisten ohjelmien vuorovaikutusta tietokannan kanssa.

Menetelmät: laskennallisen menetelmän esittely; hakemiston esittely ; vain luku -taulukon käyttöönotto; peilipöydän lisääminen; lukumenetelmän lisääminen; CRUD- menetelmien lisääminen ; menetelmän (menetelmien) korvaaminen näkymällä; näkymän korvaaminen menetelmällä (menetelmillä); pöydän kapselointi näkymään; virallisesti määritellyn tietolähteen käyttö; menetelmän siirtäminen tietokantaan; menetelmän siirtäminen tietokannasta.

Liipaimiin ja tallennettuihin proseduureihin sovellettavat koodin uudelleenmuodostustekniikat .

Milloin refaktoroida

Joitakin yleisiä tietokannan puutteita tuodaan esille, joiden olemassaolo voi olla merkki uudelleenjärjestelyn tarpeesta [1] .

Siirtymäkausi

Refaktoroinnin siirtymäaika on ajanjakso, jonka aikana sekä tietokantaskeeman alkuperäistä versiota että uutta versiota tuetaan. Sen käyttöönotto on välttämätöntä, jotta kehittäjät voivat tehdä tarvittavat muutokset tietokannan kanssa toimiviin sovelluksiin.

Esimerkki

Esimerkki tietokannan uudelleenmuodostamisesta on olemassa olevan taulukon sarakkeen uudelleennimeäminen.

Yrityksen työntekijöiden tietoja tallentava Työntekijä-taulukko sisältää zarplata-sarakkeen, jonka päätimme nimetä uudelleen palkaksi varmistaaksemme kohteiden yhtenäisen nimeämisen tietokannassa, ts. käytä nimissä vain englanninkielisiä sanoja. Tätä varten sinun on tehtävä seuraava: lisää taulukkoon palkkasarake ja kopioi tiedot zarplata-sarakkeesta siihen, ota käyttöön triggeri, joka synkronoi tiedot kahden sarakkeen välillä siirtymäkauden aikana ja tämän ajanjakson jälkeen poista liipaisin ja alkuperäinen sarake.

Muistiinpanot

  1. 1 2 3 Scott W. Ambler, Pramodkumar J. Sadalaj Refactoring Databases: Evolutionary Database Design (Addison-Wesley Signature Series). - M .: "Williams", 2007. - S. 368. - ISBN 978-5-8459-1157-5

Katso myös