dmylogi.com

Hoe om `n relasionele data model te skep

Het u die opstel van `n besigheids data model toegeken? Moet u `n relasionele databasis bou wat terabytes data kan bevat?

stappe

1
Moenie bekommerd wees oor die tafels nie. Uiteraard skep u `n databasis, en die databasisse (ten minste die relasionele) bestaan ​​hoofsaaklik uit tabelle, wat op sy beurt bestaan ​​uit rye en kolomme (registers en eienskappe waarvoor u weet).
  • 2
    Bekommerd oor die verhoudings tussen entiteite. Jou eerste doel is om `n kaart te maak van die verhoudings wat verskillende kommersiële voorwerpe sal hê. Dit is die deel van logiese modellering die Fisiese model is die praktiese implementering. Moenie die twee verwar of kombineer nie.
  • Die vereistes is moeilik om te bereik en pynlik. `N talentvolle besigheids ontleder in daardie oomblikke sou `n geskenk uit die hemel wees.
  • 3
    Berei jou voor om slegs `n oorlog te voer, en slegs vir kwaliteit standaardisering. Die meeste databasisse is `n vermorsing omdat hul ontwerpers lui en Hulle wil net iets kry. Dit kan altyd later opgelos word. Ja, natuurlik.
  • 4
    Sodra die tyd aangebreek het om die tabelle te skryf, fokus op die soektogte en die tipes tabelle (poskodes, state, produkkategorieë, ens.).). U sal hulle nodig hê vir eksterne sleutelverhoudings in die tabelle waar. Daarbenewens sal dit jou voorverhit voordat jy die sentrale transaksionele tabelle bereik.
  • 5
    As `n algemene reël: stoor nie data wat uit ander velde afgelei kan word nie. As u die geboortedatum en die begindatum ken, sal u ook die ouderdom op die begindatum ken - moenie hierdie ouderdom in die tabel insluit nie.
  • 6
    Geen NULL. `N NULL (nul) waarde verteenwoordig `n ongedefinieerde kenmerk van `n identiteit. As `n entiteit `n spesifieke kenmerk kan hê of nie, dan moet dit gemanipuleer word met `n kruis-oortjie.
  • 7
    Die teenstrydige NULL waardes is op sigself nuttig om eienskappe te identifiseer wat nog nie deur die gebruikers voltooi is nie. Dit is veral handig wanneer `n gebruiker `n voorafbepaalde waarde moet kies om die toepassing van die toepaslike besigheidsreëls vas te stel. In geval 2, hoe sou jy `n adres tabel ontwerp waarin Adres1 voltooi is en Adres2 nie nodig was nie, maar as Adres2 voltooi is, moet dit voldoen aan die kommersiële reëls van die veld? Sure, jy kan standaard op `n leë spasie, maar is dit beter as om te weet dat die gebruiker nie die veld verander het nie? Probeer `n derde normale vorm by `n internasionale adres... Dit kan waarskynlik gedoen word, maar die kompleksiteit van dataherstrukturering op `n sinvolle manier in ag neem.
  • 8


    NULL / ROT NULL Gaan na die databasisforums, en jy sal sien dat dit `n gewilde onderwerp is waar daar verdedigers van die voordele en nadele van elkeen is.
  • Maar almal stem saam dat jy nooit NULL-waardes in sleutelveranderlikes moet toelaat nie. Dit is die velde wat gebruik word om `n enkele rekord te identifiseer, soos die kliënt se identifikasienommer.
  • Die NULL-skool sê dat jy die NULL-waardes vrylik in die ander velde moet gebruik. Byvoorbeeld, dit is nie verpligtend dat kliënte `n selfoon het nie, of dat hulle jou die nommer gee. Die gebruik van `n NULL waarde en niks meer as NULL is die mees doeltreffende manier om te registreer dat daar geen selfoon beskikbaar is nie.
  • As dit regtig belangrik is om te weet hoekom daar geen waarde is nie, is dit die beste om `n nuwe veranderlike voor te stel wat die rede aandui, in plaas van om `n paar ekstravagante kode in te voer in plaas van die selfoonnommer. Vermy te voeg velde soos dié, want a) die kliënt is nie nodig om jou te vertel hoekom jy nie sy selfoonnommer gee nie, of is dit `n goeie vraag, of sal spontaan rede vertel, en b) niemand sal kyk net as gevolg van a). Ontbrekende veranderlikes mors net tyd.
  • Wees versigtig met die veranderlikes yes / ro (Boolean), aangesien hulle in die algemeen nie `n NULL kan bevat nie. Daarom bevat hulle gewoonlik nuttelose inligting, soos óf hy was `n Republikeinse, of hy het geweier om te antwoord.
  • 9
    Vergewis uself van die gekruiste tafels (baie tot baie). Jy sal hulle oral gebruik, as jy dinge reg doen. `N Voorbeeld is `n databasis van `n skool waarin daar `n tafel vir onderwysers is en `n ander vir studente. Studente het meer as een onderwyser, en onderwysers het meer as een student, so die gekruiste tafel, behalwe dié van `onderwysers` en `studente`, sal twee kolomme hê met eksterne sleutels wat na beide verwys. Die primêre sleutel sal die kombinasie van die twee wees.
  • 10
    Gebruik `n goeie konvensie vir name. Plaas die fakture in `n geroep tafel faktuur. Die produkte gaan in produk. Die gekruiste tafel sal wees Produkfaktuur, of productFacture, afhangende van watter tabel die ware sentrum van die verhouding is.
  • 11
    As jy rekords moet herhaal of stuur, probeer om dit te konfigureer terwyl jy dit ontwikkel om te sien hoe dit werk.
  • 12
    Interne verbindings is baie goed, maar waarskynlik ook talle vakbonde EKSTERNE SURPLUS state waarmee dit kan werk. Word gewoond aan die verskillende verklarings van vakbonde (behalwe UNION).
  • 13
    As u `n geërfde aansoek moet hanteer, bou u skema onafhanklik van dit (kyk nie eers na dit nie). Konsentreer op die reëls en verhoudings wat jy probeer uitvoer, maar jy kan afgelei word as jy kyk na hoe iemand anders dit opstel. Verwys asseblief na stap # 4.
  • 14
    Dit is moeilik om te migreer vanaf `n nalatenskap stelsel om `n meer gepaste model met `n toepaslike normalisering, maar kan `n bietjie te voorsien as tydelike tafels gebruik word vir invoer. Daarbenewens hou dit tabs op erfenis-ID`s sodat mense hulle kan soek.
  • wenke

    • Moenie verwag dat replikasies, opnames of refleksies werk wanneer jy na produksie gaan nie. Ontwikkel en toets van die begin af. Maak dit deel van u aansoek.
    • Daar is `n paar uiters spesifieke gevalle waarin u tabelle moet af normaliseer vir prestasie redes. Maar dit is maklik om te doen - fokus op die harde deel, dit is om `n korrekte normalisering te skep.
    • Die buigsaamheid en krag van `n verhoudingsmodel is verrassend in vergelyking met die platter strukture.
    • Soos u absolute verhoudings definieer, is `n goeie manier om vrae van onwillige deelnemers te kry, om dinge soos So is dit heeltemal waar dat daar slegs een kliënt op een faktuur kan wees? Vrae soos dit is geneig om `n antwoord in mense uit te lok.
    • Met betrekking tot die verhoudings van entiteite, byvoorbeeld, kan `n kliënt baie telefoonnommers hê. Die kliënt kan ook baie kontakte hê, en elkeen het baie telefoonnommers. Maar `n faktuur kan slegs met `n kliënt geassosieer word. Daar is `n rekeningverteenwoordiger wat aan `n kliënt toegewys kan word, behalwe in sekere gevalle waar daar twee is, ens. Dit is die tipes dinge wat jy moet definieer voordat jy `n lyn van SQL-kode skryf.
    • Los die s buite die tabel name (tabel faktuur) - dit word verstaan ​​dat aangesien dit `n databasis is, is daar waarskynlik meer as een faktuur binne.
    • Rugsteunkopieë is ook belangrik in ontwikkeling. Maak seker dat jy ten minste elke aand een doen. Kontroleer hulle elke week om seker te maak dat jy nie maande werk verloor nie (en waarskynlik ook jou werk) as daar `n groot hardewarefout is.

    waarskuwings

    • As jy kode probeer stoor (NULL waardes, gedeaktualiseerde tabelle vir die verkeerde redes), sal daar direkte en reële gevolge wees (weeskinders, verbintenis tot die integriteit van die data, vakbonde wat nie werk nie, ens.).
    • Data modellering is `n kritieke vaardigheid en daar is baie min mense wat relasionele databasisse korrek bou.
    • Moenie kode stoor nie, want dit is makliker vir jou. As hulle iets nutteloos wil hê, moet hulle iemand anders gehuur het.
    • As jy nie normaliseer korrek verslae uit die databasis sal heeltemal verkeerd wees en jou baas sal baie kwaad wees.
    Deel op sosiale netwerke:

    Verwante
    Hoe om dinamiese tafels in Excel te skepHoe om dinamiese tafels in Excel te skep
    Hoe om `n OpenOffice.org databasis te skepHoe om `n OpenOffice.org databasis te skep
    Hoe om `n voorraad databasis in Access te skepHoe om `n voorraad databasis in Access te skep
    Hoe om `n databasis in Excel te skepHoe om `n databasis in Excel te skep
    Hoe om `n databasis in SQL Server te skepHoe om `n databasis in SQL Server te skep
    Hoe om `n tafel in MySQL te skepHoe om `n tafel in MySQL te skep
    Hoe om `n E R diagram te teken met die MySQL databasis bestuurderHoe om `n E R diagram te teken met die MySQL databasis bestuurder
    Hoe om `n navraag in MS Access 2007 uit te voerHoe om `n navraag in MS Access 2007 uit te voer
    Hoe om `n MySQL databasis te verwyderHoe om `n MySQL databasis te verwyder
    Hoe om rekenaarnetwerke te verstaanHoe om rekenaarnetwerke te verstaan
    » » Hoe om `n relasionele data model te skep
    © 2024 dmylogi.com