680 likes | 810 Views
NORMALIZÁLÁS folyt. Az ET 3NF-ben van, ha minden nemkulcs TT-a függ a kulcstól, a teljes kulcstól és csak a kulcstól. Azaz: nincs benne ismétlődés, részleges függés és tranzitív függés. A NORMALIZÁLÁS TERMÉSZETE. Automatizálás nem automatizálható, de támogatható segédeszközökkel
E N D
NORMALIZÁLÁS folyt. Az ET 3NF-ben van,ha minden nemkulcs TT-a függ • a kulcstól, • a teljes kulcstól és • csak a kulcstól.
Azaz: nincs benne • ismétlődés, • részleges függés és • tranzitív függés.
A NORMALIZÁLÁS TERMÉSZETE • Automatizálás • nem automatizálható, de támogatható segédeszközökkel • egyértelműség: emberi feladat • Iterációk • több lépés a jó végeredményig
ALTERNÁLÓ KULCS VEVŐ (Vevőkód, Vevőnév, Vevőcím) tfh. a Vevőnév is egyedi VEVŐ-1 (Vevőkód, Vevőcím) VEVŐ-2 (Vevőnév, Vevőcím) EZ MARHASÁG! Valódi alternáló kulcsokatnem vizsgálunk!
MAGASABB NORMÁLFORMÁK • BCNF • 4NF • 5NF Elméleti szakemberek megoldásaigyakorlatilag nem létező problémákra
SZEMANTIKUS NORMALIZÁLÁS A szerkezeteta jelenségek természetes viszonyait(vö. fogalmi szint)mérlegelve alakítjuk át,amelynek problémájáta gépies (matematikai) normalizálástárta föl.
SZEMANTIKUS NORMALIZÁLÁS Nem relációkat kelllogikai szinten normalizálni,hanem a modellt kellfogalmi szinten optimalizálni!
PÉLDÁK • Számla (kimenő) • Megrendelés • Casco (lineáris szerkezet) • Lakások (többféle kapcsolat)
SZÁMLA (KIMENŐ) • VEVŐ / CIKK (N:M) • VEVŐ / SZÁMLA / CIKK(1:N+N:M) • VEVŐ / SZÁMLAFEJ / SZÁMLASORCIKK / SZÁMLASOR(1:N mind)
CASCO (LINEÁRIS SZERK.) 1:1 kapcsolat ÉS NEM altípus KOCSI (Rendszám, …)CASCO (Cascoszám, …) Problémák vannak!
1. PROBLÉMA Nincs kapcsolat, pedig kellene
2. PROBLÉMA Kapcsolat VAN, pl.:KOCSI (Rendszám, Cascoszám, …)CASCO (Cascoszám, Rendszám, …) (Hmmm…)
3. PROBLÉMA KOCSI (Rendszám, Cascoszám, …)CASCO (Cascoszám, Rendszám, …) A Kocsitípus TT hová kerülne(formális normalizálás)? CIKLIKUS FÜGGÉS ESETE
MEGOLDÁS • 1:1 • nem mindkét oldalról kötelező • alá-fölérendeltséget kell feltételezni:kiegészítő ET. (a kocsinak van casco-ja) KOCSI (Rendszám, Kocsitípus, …)CASCO (Cascoszám, Rendszám, …)
LAKÁSOK • Egy lakásnak akárhány tulajdonosa lehet (1.) • Egy embernek akárhány lakásban lehet tulajdonrésze (1.) • Egy embernek egyetlen állandó lakcíme van egy időben (kiv.: hajléktalanok) (2.) • Egy embernek egyetlen tartózkodási helye lehet egy időben (3.)
LAKÁSOK–SZEMÉLYEK 1. • Birtoklási viszony (N:M) • Felbontás:BIRTOKOL (Lakásszám+Személyi szám+Mettől, Szerzés jogcíme, Tulajdoni hányad, Meddig,Megszűnés jogcíme, …)
LAKÁSOK–SZEMÉLYEK 2. • Állandó lakcím, egyszerre egy, idők folyamán több (N:M) • Felbontás:LAKCÍM (Lakásszám+Személyi szám+Mettől, Milyen minőségben, Meddig, …)
LAKÁSOK–SZEMÉLYEK 3. • Tartózkodási hely, l. Állandó lakcím esete (lakcím=lakcím)
MINŐSÉGI ADATMODELLEZÉS • valósághű tükörkép • korlátozott kezelő esetén is!!!
KORLÁTOZOTT KEZELŐ • szerepnevek nem közönséges TT-k • többszörös inhomogén kapcsolat • visszamutató kapcsolat • családfa • egyedaltípus • …
TÖBBSZÖRÖS INHOMOGÉN KAPCSOLAT …van két ET között, ha az egyike másik azonosítójának több szerepnevét tartalmazza CÍM (Címkód, …) SZEMÉLY-R (Személyazonosító, Címkód, Címkód, …) SZEMÉLY-J (Személyazonosító, Lakcímkód, Levelezési címkód, …)
TÖBBSZÖRÖS INHOMOGÉN KAPCSOLAT CÍM (Címkód, …) SZEMÉLY (Személyazonosító, …) SZEMÉLY/CÍM (Személyazonosító + Címkód, Dátumtól, Dátumig)
TÖBBSZÖRÖS INHOMOGÉN KAPCSOLAT 1. példa: M értéke mereven 2 (l. fentebb); 2. példa: M értéke akármennyi lehet, a kapcsolatnak saját jellemzői is vannak(l. filmek és alkotók).
HOMOGÉN VISZONYOK Az ET visszamutató kapcsolatban áll önmagával, ha saját szerepneve FF tőle
HOMOGÉN VISZONYOK SZEMÉLY-R (Személyazonosító, Személyazonosító) SZEMÉLY-1 (Személyazonosító, Házastárs-azonosító) (kötelezőség) SZEMÉLY-2 (Személyazonosító, Főnökazonosító) (kötelezőség)
HOMOGÉN VISZONYOK Több expliciten kifejezhető tényt nem szabad impliciten egy tényezőben tükrözni
HOMOGÉN VISZONYOK SZERZŐDŐ (Szerződőkód, …) SZERZŐDÉS-1 (Szerződésszám, …, Szerződőkód-1, Szerződőkód-2) A szerződést egy partner köti, de NÉHA házaspár is szerződik.
HOMOGÉN VISZONYOK SZERZŐDŐ (Szerződőkód, …) SZERZŐDÉS-2 (Szerződésszám, …) SZERZŐDÉS/SZERZŐDŐ (Szerződés-szám+Szerződőkód) Azaz M:N kapcsolat (holnap a kapcsolat jellemzőire is szükség lesz)
HOMOGÉN VISZONYOK SZERZŐDŐ (Szerződőkód, …) SZERZŐDÉS (Szerződésszám, …, Szerződőkód) HÁZASPÁROK (Szerződőkód-1 + Szerződőkód-2) A szerződő fél a házaspár, és nem két személy! (vö. darabjegyzék és eladás)
UNÁRIS ET NYELV-1 (Nyelvkód, Nyelv) kölcsönös függés! NYELV-2 (Nyelv)
SZÁRMAZTATOTT TT. • modellezni kell, • tárolni lehet (hatékonyság)
SZÁRMAZTATOTT TT. • intenzionális származtatás • extenzionális származtatás
INTENZIONÁLIS SZÁRM. • TT-okon alapul, pl.:Tételérték=Mennyiség*Ár • helye: a tényezőket tartalmazó ET-ok kulcsainak „legkisebb közös többszörösénél” • RENDELÉSTÉTEL (Rendelésszám+ Cikkszám, Mennyiség)
EXTENZIONÁLIS SZÁRM. • EF-okon alapul, pl.:Rendelésérték=SUM(Tételérték) • helye: a tényezőket tartalmazó ET-ok kulcsainak „legnagyobb közös osztójánál” • RENDELÉS (Rendelésszám, ...)RENDELÉSTÉTEL (Rendelésszám+ Cikkszám, ...)
FOGALOMALKOTÁS • Nevek • valósághű • érthető • magyarul (hejesirash!!!) • egyértelmű • minősítés(azonosítót nem, leírót mértékletesen) • egyeztetett
FOGALOMALKOTÁS • Absztrakció Adott cégen belül minden fogalmat a teljes szervezet szintjén kell értelmezni • vö. „Az adatmodell: 1”
kerülendő az implicit specializáció (partner–iskola) • A specializációnak és generalizációnak sosem a darabszám az alapja(személy, szervezet / partner)
CSOPORTOK • csoportok és tagok: háló (N:M) • egy csoportnak legalább 2 tagja van • nem lehet ciklikus • problémás • implicit csoportok (alvázszám-típus) • Számlaszám:=Vevőkód+Sorszám • vektor
AZONOSÍTÓK • sosem lehet üres/ismeretlen(részei sem)!!! • RENDELÉSTÉTEL • Rendelésszám+Cikkszám • Rendelésszám+Tételsorszám • Rendeléstétel azonosító
KÓDOK • azonosító nem lehet kód, csak • nagyon egyszerű esetben • legvégső esetben • fogalmi egyneműség (egy TT-ba nem vonhatók össze eltérő tartalmak) (Hm...) • kódpozíciók szerepe (Grrrrr...)
INDEXEK • a pontos fogalmi szerkezet NEM váltható ki fizikai szintű indexeléssel (vö. ismétlődő csoport)