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?
conținut
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.
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.
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 herhaalde rekords in Excel 2007 verwyder word
- Hoe om dinamiese tafels in Excel te skep
- Hoe om `n OpenOffice.org databasis te skep
- Hoe om `n voorraad databasis in Access te skep
- Hoe om `n databasis in Excel te skep
- Hoe om `n databasis in SQL Server te skep
- Hoe om `n tafel in MySQL te skep
- Hoe om `n E R diagram te teken met die MySQL databasis bestuurder
- Hoe om `n navraag in MS Access 2007 uit te voer
- Hoe om `n MySQL databasis te verwyder
- Hoe om rekenaarnetwerke te verstaan
- Hoe om POJO klasse en XML mappings met Hibernate uit databasisse te genereer
- Hoe om `n databasis te maak met MS Access
- Hoe om die weergawe en model van jou iPad te identifiseer
- Hoe om Excel-lêers in te voer om toegang te verkry
- Hoe om `n tabel in `n Microsoft Word-dokument in te voeg
- Hoe om `n finansiële ontleder te wees
- Hoe om JSON te gebruik
- Hoe om SQL te gebruik
- Hoe om Microsoft Access te gebruik
- Hoe om tabelle in Toegang te koppel