ERD maken.

Slides:



Advertisements
Verwante presentaties
Normaliseren Datamodellering 2006.
Advertisements

User Centred Development
Deltion College Engels B1 Schrijven [Edu/004]/ subvaardigheid lezen thema: reporting a theft can-do : kan formulieren waarin meer informatie gevraagd wordt,
Rational Unified Process RUP Jef Bergsma. Iterations –Inception –Elaboration –Construction –Transition De kernbegrippen (Phases)
Deltion College Engels B2 Spreken/presentaties/subvaardigheid lezen [Edu/003] thema: Holland – coffee shops and euthanasia? can-do : kan een duidelijk.
Deltion College Engels B1 Lezen [no. 001] can-do : 2 products compared.
Deltion College Engels B1 Schrijven [Edu/003] thema: what have I done wrong…? can-do : kan s/ brieven schrijven over persoonlijke zaken © Anne Beeker.
‘WAIT FOR ME’ Lees met elkaar de songtekst Klik door naar volgende scherm.
Deltion College Engels B1 Gesprekken voeren [Edu/006] thema: Look, it says ‘No smoking’… can-do : kan minder routinematige zaken regelen © Anne Beeker.
Deltion College Engels
Deltion College Engels B2 Spreken/presentaties/subvaardigheid lezen [Edu/002] thema: how stuff works can-do : kan de werking van een produkt uitleggen.
Deltion College Engels A2 Lezen [Edu/001] thema: What about smoking in this B&B? can-do : kan specifieke informatie vinden en begrijpen in eenvoudig, alledaags.
Deltion College Engels C1 Spreken [Edu/002] thema: A book that deserves to be read can-do : kan duidelijke, gedetailleerde samenvatting geven van een gelezen.
Deltion College Engels C1 Gesprekken voeren [Edu/005] thema: ‘I don’t agree with you…’ can-do : kan met gemak complexe interacties tussen derden volgen.
Deltion College Engels B2 Gesprekken voeren [Edu/005]/subvaardigheid luisteren thema: ‘Pink pop and air-controllers on strike’ can-do : kan in een telefoongesprek.
Deltion College Engels B1 En Spreken/Presentaties [Edu/006] Thema: “The radio station“ can-do : kan een publiek toespreken, kan verzonnen gebeurtenissen.
Deltion College Engels C1 Schrijven [Edu/007] thema: Mind twister or how to write an essay… can-do : kan heldere, goed gestructureerde uiteenzetting schrijven.
Deltion College Engels C1 Schrijven [Edu/006] thema: Dear editor,
Nothing Is As It Seems Lesson 7 What’s the Story?.
Deltion College Engels B2 Lezen [Edu/003] thema: Topical News Lessons: The Onestop Magazine can-do: kan artikelen en rapporten begrijpen die gaan over.
Deltion College Engels B2 Spreken [Edu/001] thema: What’s in the news? can-do : kan verslag doen van een gebeurtenis en daarbij meningen met argumenten.
Deltion College Engels B2 En Spreken/Presentaties [Edu/005] Thema: What you see here, is… Can-do : kan duidelijke, samenhangende verhalen vertellen © Anne.
Deltion College Engels B1 Spreken [Edu/001] thema: song texts can-do : kan een onderwerp dat mij interesseert op een redelijk vlotte manier beschrijven.
Deltion College Engels C1 Gesprekken voeren [Edu/001]/ subvaardigheid lezen thema: What a blooper…. can-do : kan taal flexibel en effectief gebruiken voor.
Deltion College Engels B2 Lezen[Edu/001] /subvaardigheid schrijven korte samenvattingen thema: Exotic news can-do : lezen om informatie op te doen - kan.
Deltion College Engels B2 Gesprekken voeren [Edu/009] thema: ‘We’d better go to…’ can-do : kan in vertrouwde situaties actief meedoen aan discussies over.
Deltion College Engels B2 Schrijven [Edu/005] thema: Writing a hand-out can-do: kan een begrijpelijke samenvatting schrijven © Anne Beeker Alle rechten.
Deltion College Engels B1 En Spreken/Presentaties [Edu/003]/ Subvaardigheid lezen Thema: Once upon a time… can-do : kan een verhaal(tje) vertellen © Anne.
Deltion College Engels B1 Lezen [Edu/002] thema: But I ‘ve read it in… can-do : kan hoofdthema en belangrijkste argumenten begrijpen van eenvoudige teksten.
Deltion College Engels B1 En Spreken/Presentaties [Edu/005]/ Subvaardigheid schrijven Thema: One-Act Play “The Queue” can-do : kan een publiek toespreken,
Deltion College Engels B2 Gesprekken voeren [Edu/007] thema: ‘With this mobile you can…’ can-do : kan op betrouwbare wijze gedetailleerde informatie doorgeven.
Nederlandse Organisatie voor Wetenschappelijk Onderzoek Semantic Web and Library Applications Workshop Presented by Luit Gazendam.
Beeldverwerking Prof. dr. ir. W. Philips Didactisch materiaal bij de cursus Academiejaar
Deltion College Engels B2 (telefoon)gesprekken voeren[Edu/002] /subvaardigheid lezen/schrijven thema: I am so sorry for you… can-do : kan medeleven betuigen.
Kom, ga met ons mee Come, go with us. ‘Wij vertrekken nu naar het land dat de Heer ons beloofd heeft. Ga met ons mee! Je zult het goed hebben bij ons.
Present Simple Tegenwoordige Tijd.  Om aan te geven dat iets nu een gewoonte is. Er zijn een aantal woorden die aangeven dat het om een gewoonte gaat.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Creating local Europeana related networks Europeana taskforce Hans van der Linden 17/4/15.
Minor Project- en Programmamanagement
Nieuwjaarssonnet 2011 Geven en Nemen New year‘s sonnet 2011 Give and Take © paul verstraete 2011.
GegevensAnalyse Les 2: Bouwstenen en bouwen. CUSTOMER: The Entity Class and Two Entity Instances.
2 december 2015, Privacy en de Digital Enterprise Vertrouwen in data.
1 KPN Mobiel – Introductie Repository Object Browser & Designer 10 Designer 10g & Repository Object Browser Maandag 28 februari 2005 Lucas Jellema (AMIS)
OpleidingsCentrum voor Bowlers Clinic Appingedam KISS.
A historical database: finding our possibilities and limits Case: Oosterhesselen Erwin H. Karel/Richard Paping (Digital Humanities Pitch April.
The Research Process: the first steps to start your reseach project. Graduation Preparation
– Software development fundamentals
Key Process Indicator Sonja de Bruin
Evolutieleer Natuurwetenschappen.
Salt & Light Zout & Licht
Dictionary Skills!?.
Past Simple vs Present Perfect
Werkwijze Hoe zullen we als groep docenten te werk gaan?
De taaltaak
ECOLAB; GEDREVEN DOOR ONZE MENSEN
Today: Chapter 2 Discuss SO 2 What to study for your test?
Marsel van Oosten ARS281 Hanyuan Chen
Crohn’s Disease and medicinal cannabis oil A WORKING PROTOCOL
Sneller een beter personeelsrooster voor de gynaecologieafdeling van het JBZ Maartje van de Vrugt PhD.
English 23 April 2018.
Who knows something about scenarioplanning?
Software Development fundamentals
Assignment: calling for a meeting about internet use at work
SQL Les 7 24 February 2019.
SQL Les 6 14 April 2019.
Matthew 16 “But who do you say that I am?”  Simon Peter replied, “You are the Christ, the Son of the living God.”  And Jesus answered him, “Blessed are.
– Software development fundamentals
Leerlingen zeiden: “Je MOET hem loslaten
Past simple vs present perfect
Moving Minds DNA.
Transcript van de presentatie:

ERD maken

Wat is een ERD? Het entity-relationship-model of entity-relationship diagram (ERD) is een model of diagram voor het inzichtelijk te maken van een conceptueel datamodel Het is een visuele weergave van de entiteiten, relaties en regels die gelden of aanwezig zijn in een logisch ontwerp Het is een onderdeel van het ontwerpproces van een relationele database Een ERD bevat entiteiten, attributen en relaties Een ERD maak je – in de regel – van minimaal de derde normaalvorm of Wordt gebaseerd op een analyse en ontwerp

Waarom een ERD? Het maken van een ERD heeft twee redenen: De fysieke inrichting van de database wordt er van afgeleid Het geeft een functionele controle of alles gerealiseerd kan worden Een ERD is de vertaling van een functioneel ontwerp (of klassendiagram) naar de technische implementatie in een fysieke database (bv mySQL)

VoorbeelD ERD

Notaties binnen een ERD

ERD 101 Cardinaliteit: Een Gene komt op één Chromosome voor Een Chromosome heeft nul of meer Gene’s

Normaliseren In this series of examples, we will discuss normalization of a simple data model that relates genes and publications that reference them. In a first attempt, we might define two tables: one contains data describing genes and one contains data describing a literature reference. Since there may be more than one publication referencing a gene, we provide for up to five references. We store the number of references a gene has in a separate column. We also store the organism name and the taxonomy ID in the gane table to identify the gene source. This model, while plausible on the surface, illustrates three common errors that can plague datamodeles.

Normaliseren The first, and perhaps most obvious problem is the fact that we have stored several values of exactly the same type in the gene table. What happens if a gene has more than five references? This would break our model. And it is really inefficient to have to store null values whenever a gene has less than five references. A more subtle problem arises when we store values that can be derived in an exact, functional way from the data that is stored: can we guarantee that the data is consistent? What happens if the value and the data somehow become inconsistent? A third problem arises from storing the organism name and taxonomy ID in the gene table. Surely, the relationship between these two data items does not depend on which gene they are associated with. All three examples relate to unnecessary and redundant data that is not only inefficient to store but invites inconsistencies and is a potential source of errors in the database.

Eerste Normaalvorm The first, and perhaps most obvious problem is the fact that we have stored several values of exactly the same type in the gene table. What happens if a gene has more than five references? This would break our model. And it is really inefficient to have to store null values whenever a gene has less than five references. The soultion for the first problem is to eliminate the duplicated fields and store the related itmes in a separate table, a so called join table. In our example, each entry in the join table describes one reference to one particular gene. It is no problem at all to have the same paper talk about more than one gene, and it is easy to story any number of references to a gene in this table.

Tweede normaalvorm In the second form, we ensure a table stores only attributes of an entity that actually depend on the entity. In our example, organism_name and Tax_Id depend on each other, but not on the gene_name. It is sufficient to store eiether one of them with the gene_name. However, in practice abstract ID keys are usually preferred over keys that have semantics, such as a name or a date, simply because it is easy to keep an internal ID unique and usable as a key, but it may be hard to force the real world to behave in the same way. If two different organisms would have the same name, our model would break if we would rely on the name being unique. Finally, we eliminate evrything that does not need to be stored in the table, becausxe it can be computed from data in the table. For instance, the number of references for a gene can be easily obtained by an SQL select statement such as SELECT COUNT FROM Reference WHERE Reference.gene_name="Mbp1" AND 'Reference.Tax_ID="12345".

Derde normaalvorm These operations finally give us the datamodel in 3. Normal Form. Note that for efficiency problems, datamodels may be intentionally denormalized: we may wish to store the results of expensive computations, for example, or we may store views (the results of SELECT operations) if they are complex and take a long time to ccompute, although the results could be derived from the data. However, such situations should never pass unintentionally and never undocumented.

Checklist ERD: de 10 geboden PK voor elke entiteit bepaald? FK’s bepaald? Zijn enitteiten verbonden? Klopt de cardinaliteit? (oplezen!) Zit er een ATAMHA in? Zit er een onnodige slang in? Kan ik de benodigde informatie opslaan? Kan ik de benodigde informatie eruit halen? Hoe ga ik de informatie tonen in de applicatie? (SQL!!!!) Wat zegt mijn buurman er van? (SVP niet op toets of examen…..)

Databaseschema Table Name: Gene Semantics: A gene, its attributes and a reference to the chromosome table. Column Name: Type: Properties: Semantics: Gene ID: INT PRIMARY KEY, AUTOINCREMENT, NOT NULL Artificial key, no semantics outside of this database Gene Name: VARCHAR(10) not NULL The common name of the gene Chromosome ID: Foreign Key, references Chromosome References the Chromosome the gene is found on. Assumes a gene is found on exactly one Chromosome. Start Defines the first nucletodide (in chromosome coordinates) that is annotated as belonging to the gene. End Defines the last nucletodide (in chromosome coordinates) that is annotated as belonging to the gene. If End < Start, the gene is o the (-) strand.

Databaseschema 2 Table Name: Chromosome Semantics: A chromosome, some attributes, and its sequence. Column Name: Type: Properties: Semantics: Chromosome ID: INT PRIMARY KEY, AUTOINCREMENT, NOT NULL Artificial key, no semantics outside of this database Chromosome Name: VARCHAR(10) not NULL The number/letter of the chromosome. Not required to be unique. sequence LONGTEXT - Holds the (+) strand sequence. Sequence defines chromosome coordinates. Gaps are filled with the character "N".