Skip to main content

Antrosios įprastos formos duomenų bazės įkėlimas (2NF)

Anonim

Mes persvarstėme keletą duomenų bazės lentelės normalizavimo aspektų. Pirma, mes aptarėme pagrindinius duomenų bazių normalizavimo principus. Paskutinį kartą mes ištyrėme pagrindinius reikalavimus, nustatytus pirmoje įprastoje formoje (1NF). Dabar tęskime kelionę ir apimsime antrosios įprastos formos (2NF) principus.

Bendrieji 2NF reikalavimai

  • Pašalinkite daugialypių lentelių eilučių duomenų pogrupius ir įtraukite juos į atskiras lenteles.
  • Sukurti santykius tarp šių naujų stalų ir jų pirmtakų naudojant užsienio raktus.

Šios taisyklės gali būti apibendrintos paprastu teiginiu: "2NF" bando sumažinti nereikalingų duomenų kiekį lentelėje ištraukdami jį, įtraukdami į naują lentelę (-us) ir sukuriant ryšius tarp šių lentelių.

Pažvelkime į pavyzdį. Įsivaizduokite internetinę parduotuvę, kuri palaiko kliento informaciją duomenų bazėje. Jie gali turėti vieną lentelę, pavadintą "Klientai", turinti šiuos elementus:

  • CustNum
  • Pirmas vardas
  • Pavardė
  • Adresas
  • Miestas
  • Valstija
  • ZIP

Trumpa šio lentelės išvaizda rodo nedidelį nereikalingų duomenų kiekį. Mes saugome "Sea Cliff, NY 11579" ir "Majamis, FL 33157" įrašus du kartus per savaitę. Dabar, mūsų paprastas pavyzdys gali atrodyti ne per daug pridėtos saugyklos, bet įsivaizduokite praleistą erdvę, jei mūsų lentelėje turėtume tūkstančius eilučių. Be to, jei būtų pakeistas "Sea Cliff" pašto kodas, mes turėtume padaryti šį pakeitimą daugelyje duomenų bazės vietų.

"2NF" suderinama duomenų bazės struktūra, ši nereikalinga informacija yra išgaunama ir saugoma atskiroje lentelėje. Mūsų nauja lentelė (dar vadiname "ZIP") gali turėti šiuos laukus:

  • ZIP
  • Miestas
  • Valstija

Jei norime būti itin efektyvi, galime net užpildyti šią lentelę iš anksto - pašto skyriuje pateikiamas visų galiojančių pašto kodų ir jų miestų / valstijų santykių katalogas. Žinoma, susidūrėte su situacija, kai buvo naudojama tokio pobūdžio duomenų bazė. Kažkas, kuris imasi užsakymo, pirmiausia galėjo paklausti jūsų savo pašto kodo, o tada sužinojęs apie miestą ir valstybę, kurioje skambinate. Šis įrenginys sutrumpina operatoriaus klaidą ir padidina efektyvumą.

Dabar, kai pašalinome pasikartojančius duomenis iš lentelės "Klientai", mes įvykdėme pirmąją antrosios įprastos formos taisyklę. Mes vis tiek turime naudoti užsienio raktą, kad susietų dvi lenteles. Šiuos santykius sukursime naudodami ZIP kodą (pagrindinį raktą iš "ZIP" lentelės). Štai mūsų nauja klientų lentelė:

  • CustNum
  • Pirmas vardas
  • Pavardė
  • Adresas
  • ZIP

Dabar mes sumažinome nereikalingos duomenų, saugomų duomenų bazėje, kiekį, o mūsų struktūra yra antroje įprastoje formoje.