Tudd Intuíció, egy előadás, a dialektus a cég Oracle SQL

Tervezése relációs adatbázis

A feladat tervezése relációs adatbázis lehet tekinteni, hogy elérni egy ilyen rendszer

kapcsolatok, amelyek megismételni a szükséges adatbázis kijelentéseket a téma, és minden információt a tárgykörben fogja képviselni az adatbázisban egyszer, nem ismétlődik. Ez a kialakítás, ellentétben a relációs modell nem alkalmas a matematikai leírása és nagyban meghatározza a józan ész és a tapasztalat a fejlesztő.

A jelenlegi elmélet relációs adatbázis-tervezés nem tanít, hogyan kell felépíteni egy adatbázist. Ehelyett azt tanítja, hogy mit rejt magában bajok „rossz” design: ez néha „egy jó forrása a rossz példát.”

Jelentős erőfeszítések részeként, hogy tervezzen egy relációs adatbázis társul megszüntetése redundancia. A redundancia kiváltja „frissíteni anomália” adat, ami a hivatalos helyesen formázott kéréseket tud adni arra, téves információt tárol. Ehhez van két fontos észrevételt. Először is, a redundancia itt azt jelenti, mint alkalmazott logikai adatok leírását, miközben redundáns fizikai tárolási lehet ésszerű és indokolt. Másodszor, a megszüntetése a redundanciát, hogy szükség van a „helyes” az építőiparban az adatbázis önmagában nem garantálja a pontosságot a szimulációs tartományhoz.

Egy egyszerű példa az alábbiakban látható redundancia kiküszöbölése.

Tegyük fel, hogy tekintetében képviselő adatok a személyzet, vannak tulajdonságai „fizetés”, „jutalék” és a „bevétel”. Ha a szabályok a modellezett tartomány munkavállalói jövedelem az kizárólag a fizetését, és jutalékot, az alábbi tulajdonságokat kell távolítani a meghatározása a kapcsolat - a legvalószínűbb, hogy lesz a „bevétel”:

Tudd Intuíció, egy előadás, a dialektus a cég Oracle SQL

Bár általában küzdenek redundáns adatok az adatbázisban - nem formalizált eljárás ismert két technikát, hogy megszüntesse redundanciát, és hozta a matematikai leírása szint: normalizáció és ortogonalizáló. Az alábbiakban azok nonstrict bevezető nyilatkozatot.

Normalizálása a relációs adatbázis

A normalizálás jelenlegi viselkedése „normál nézet” bontással azt több más kapcsolódó idegen kulcs. Zúzás hajtjuk építési eredeti arány előrejelzések, de a probléma az, hogy a fordított kapcsolatot eredő zúzás kapcsolatok visszatért volna eredeti viszonylagos, vagyis azt, hogy az ilyen veszteségek történt darabolás nélkül (torzítás) információt.

A legnépszerűbb program ez a „helyes”, hogy megszüntesse a töredezettség kapcsolatok tartalék funkcionális függőségek. Adatok funkcionálisan függetlenek egymástól, ha egyikük segítségével lehet meghatározni más.

Tegyük fel, hogy tekintetében az alkalmazottak adatait és jelenlegi dolgozói osztály számát, és a részleg nevét. A probléma megoldásához a kapcsolat a számot és a nevet az osztály tekintetében „alkalmazott”, ahhoz, hogy elhagyja őt csak az egyik attribútumok (a legvalószínűbb, hogy lesz egy „kártyaszám”), hogy hozzon létre egy kapcsolat, „osztályok” a tulajdonságok „kártya száma” és „name” kijelentem, hogy „kártyaszám” gombot. „Department Number”, hogy az „alkalmazottak” kell nyilvánítani egy idegen kulcs, hogy társítja a „kártya szám” „szervek”:

Tudd Intuíció, egy előadás, a dialektus a cég Oracle SQL

Ahhoz, hogy eltűnjön ez a fajta funkcionális függőségi viszony lehetséges, amíg el nem csökken a „Normal Form BCNF”, Boyce-Codd (Boyce-Codd); a jogot annak elsőbbsége kell nevezni egy „normális formája Heath” (Heath). Ebből a szempontból, képletesen szólva, „minden csökkentés vonatkozik a gombot, az összes gombok (annak minden attribútumok) és csak a kulcs” (az eredeti angol nyelvű helyett az „információ” szó azt mondta: „tény”), azzal a kiegészítéssel, hogy a kulcsok előfordulhat, hogy több. Más szóval, tekintettel a kielégítő BCNF. önkényes értékek határozzák egyetlen kulcs szabályok - talán idegen kulcs és attribútum típusok. Valamivel kevésbé szigorú változata BCNF úgynevezett „harmadik normál forma.”

Ha a kulcsok a kapcsolatokban állnak attribútum csoportok (nem „egyszerű”), megszabadulni extra funkciós adatfüggőségek is szükség lesz ahhoz, hogy a kapcsolat egy „ötödik normál forma.” Ha az aprítás úgy néhány általánosított változatát vetítési műveletek és kapcsolatok, akkor amellett, hogy szükség van ahhoz, hogy a kapcsolat a „hatodik normál formában.” Tehát a gyakorlatban, hogy élvezhessék a normalizáció a legegyszerűbb módja annak, hogy foglalkozik az egyszerű (odnoatributnymi) gombokkal a kapcsolatokban.

Valamennyi javasolt szokásos formák lineárisan rendezett, úgyhogy elérése ellen némelyikük definíció szerint azt jelenti teljesítéséhez számos „előző”.

Hozzájárul a kapcsolatok normalizálását:

  • kiküszöbölésére redundáns adatokat az adatbázisba;
  • Ennek eredményeként, megszabadulni néhány anomáliára adatok frissítése;
  • egyszerűsítése változik, és néha a adatkérések;
  • Facilitálás készítmény integritását korlátok;
  • tartomány ábrázolása adatok az adatbázisban egy természetes módon.

Gyakran az eljárás megszüntetésére redundancia automatikusan maga után vonja a többi felsorolt ​​ellátások. Így a kapcsolat a normális formája nem képes a mindenféle redundancia, de ez egy hatékony eszköz, hogy e cél elérése érdekében. Néha adatnormalizálásig formalizált kifejezése a józan ész. Ugyanakkor:

  • mechanikus keverő alkotnak BCNF normál esetén összetett kulcsokat lehet indokolatlan és ellentétes megőrzésének szükségessége bizonyos hányada redundancia modell;
  • adattárolásra redundancia, kellő nedonormalizovannosti kapcsolatok vezethet anomáliák frissítések;
  • normalizált adatok nehezebb lehet változtatni;
  • A normalizálás gyakran félreérthető, és lehetővé teszi különböző módon hasító táblázatok;
  • A normalizálás nem old meg minden problémát a modellezés, így az adatbázis-fejlesztő igénybe a további szabályokat az adatok integritását korlátok.

Az élet az SQL-rendszerek normalizálása (utalva a táblázatokat) gyakran nem veszik figyelembe, hogy várni kellene hozzáférési sebességet, könnyű adatváltozások és bemutatása. Annak jelzésére, szándékos gyakorlata is használják speciális kifejezés: „de-normalizálás”. Néha ezek az elvárások teljesülnek, de mivel a hátoldalán ez azzal a kockázattal jár divergencia a modell adatbázis a téma, és még hibás használt modell. Egyes szakértők úgy vélik, hogy az előnyök, amelyek bizonyos helyzetekben adhat denormalization - mitikus.

Míg a kapcsolatok normalizálását célozza, hogy megszabaduljon a redundancia belül az egyes kapcsolatok, ortogonaiizációja adatok próbál megszabadulni a közös adatok ismétléssel különböző módon. Ez tehát kiegészíti az normalizálás.

Egy egyszerűsített változata elvének adatok ortogonalizáló azt állítja, hogy az azonos értékrendet nem lehet ismételni, különböző módokon. Például a szempontból ez az elv, kívánatos, hogy a következő átalakulás kapcsolatok az adatbázisban:

Tudd Intuíció, egy előadás, a dialektus a cég Oracle SQL

Van egy bonyolultabb megfogalmazása elvének ortogonalitás kapcsolatok számára a vetített igénylő, hogy bemutassa a kevésbé nyilvánvaló példák.

Kapcsolódó cikkek