1 Familiedatabase Pilotprojekt for gruppe 1 Efterår 2005 Peter Isager - Claus W. Jensen - Marius Vestergaard - Benny Olesen - Jan Helbo.

Slides:



Advertisements
Lignende præsentationer
Stored Procedure Stored Procedure er programstumper, der gemmes i databasen og afvikles op databaseserveren på samme måde som forespørgsler. Med Stored.
Advertisements

1 Vil du give en fuldmagt?       Hvis du vil have, at en anden skal kunne handle på dine vegne i en digital løsning, kan du give en digital.
Digital Offentlig Byggesagsbehandling ABT-fondsprojekt med Gladsaxe, Gentofte, Lyngby-Taarbæk, Rudersdal, Vejle og Århus EBST og KL DOB MAJ KONFERENCE.
Real Kompetence Vurdering
Databaser Teori.
Relationsdatabaser og SQL
3. Funktionelle afhængigheder og normalisering
SQL 1 DDL og DML.
Eksamensspørgsmål: 4: Brugen af nøgler i en "Relationel DB" herunder: Primary Key og Foreign Key samt Super Key og Candidate Key.
ER-diagrammer (databaser, del 4)
Skal du digitalisere en fuldmagt, du har fået på papir fra en borger?
Bodil WöhnertFagligt Landsmøde Ambassadør for den bedste af alle verdener… - om fagligt arbejde i internationalt regi.
Regnskab & økonomistyring - Lektion 15 HD 5. semester forår 2010 v/ Jens Godik Højen, April 2010.
NOEA/IT - FEN - Databaser/TabelDesign 1 Tabeldesign Design af relationsdatabaser Normalisering.
Introduktion til Access (Access, del 1)
Rapporter (Access, del 5)
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer Del 2 af 2: Proces- og funktionsdiagrammering Aalborg Universitet, d. 9. oktober 2006.
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer
2:Relations modellering og design regler.
Relationsdatabaser og SQL
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
7. SQL constraints og triggers1 Aktive elementer i SQL.
Powerpoint Jeopardy Data flow diagrammer Entity relationship diagrammer State diagrammerSammenhænge mellem systemmodeller
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
SQL – Oracle Relationsdatabase
Årsmøde Organisationen Danske Arkiver
Den relationelle model
Pilotprojektets baggrund
Grundlæggende elementer i UML
SQL – Oracle Relationsdatabase
ER-diagrammer Hvad er det? Og hvad bruges det til?
SQL Jesper Tørresø DAB1 E oktober Punkter for i dag. SQL baggrund. Relationel algebra. Brug af VS2005.
Rapporter (Access, del 5). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller, og.
IT i Byggeriet Semester 6, kursusgang Databaser (2) Kjeld Svidt Kjeld Svidt  Institut for Bygningsteknik  Aalborg Universitet.
IT i Byggeriet Semester kursusgang Databaser (2) Kjeld Svidt Kjeld Svidt  Institut for Bygningsteknik  Aalborg Universitet.
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
DATATYPER. For at tilpasse hvert felt i databasen til dets formål og dermed øge funktionalitet 1 bit er tilstrækkelig til at angive køn (0/1) men for.
ER-modellering1 Analyse af data og sammenhæng mellem data.
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design af interaktionselementer.
Eksamen i Databasesystemer. Eksamen 4 timers skriftlig eksamen afholdes 8. januar 2004 kl Alle skriftlige hjælpemidler. Der gives karakter efter.
Intro Databaserne? Gik det som det skulle?. Databasestøttet webpublicering Forelæsning nr 8 Hvorfor data i en RDB (relationel database)? Databasemodellering.
3. Objekt Orientering og Relations Databaser
Dokumentation 7. Semester
SQL Jesper Tørresø DAB1 E September Punkter for i dag. SQL baggrund. Relationel algebra. SQL koncept –Vises ved brug af VS2008.
XML 2. Formatering af XML data med CSS Når man arbejder med XML og CSS er fremgangsmåden den samme som i forbindelse med HTML og CSS.
SQL – Oracle Vigtige SQL sætninger Lektion 6 7. Semester.
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design interaktionselementer Analysedokumentet.
Oracle Application Express Lektion 2 7. Semester 2008.
Database.
Database Some walk through. Database Design – Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management.
E/R-diagrammering 7. Semester.
Tekst filer Tekstfiler opbygges normalt af linier, hvor disse ikke behøver at være samme længde. Når man skal arbejde med tekstfiler, ønsker man metoder.
DB analyse og modellering Jesper Tørresø DAB1 F Februar 2008.
DIEB10.1 Kursusgang 10 Oversigt: Sidste kursusgang Eksempler på løsning af opgaven Arkitektur for brugergrænsefladen og for systemet Dokumentation af designet.
Den relationelle model
Oracle Application Express Lektion 1 7. Semester 2008.
Intro Databaserne? Gik det som det skulle?. Databasestøttet webpublicering Forelæsning nr 7 Hvorfor data i en RDB? Databasemodellering Begrebet nøgle.
29. juni 2015Jan Helbo, 1 Oplæg til pilotprojektet Hvad Hvorfor Hvordan.
Formularer (Access, del 3). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller Vi.
Omsætning af en model til en RDB Jesper Tørresø DAB1 F Marts 2008.
Call Center, adm kursus, indledning Indledning (registrering af kursister & præsentation) 10 min. Hjælpeværktøjer 5 min. System overblik 30 min. Administrator.
Database Some walk through lv/ Figures & some text from: © Pearson Education Limited 1995,
Normal former i en database Jan Christiansen Nyborg Gymnasium.
Abstraktioner.
DB analyse og modellering
Modellering og data Nyt forløb.
Dokumentation.
MySQL dat2sem2018Fall Modul 2 – uge 2.
Information om Aula til forældre
Dat2sem2019 Bornholm Modul 2 – uge 2
Præsentationens transcript:

1 Familiedatabase Pilotprojekt for gruppe 1 Efterår 2005 Peter Isager - Claus W. Jensen - Marius Vestergaard - Benny Olesen - Jan Helbo

FamiliedatabaseProjektgruppe 1 efterår Emneoversigt Præsentation og Analyse Marius Design Claus Implementering Peter Arbejdsprocessen Benny

FamiliedatabaseProjektgruppe 1 efterår Analysefasen Marius Vestergaard

FamiliedatabaseProjektgruppe 1 efterår Analyse Problemanalyse – formål Requirement Analysis - Information Flow Diagram System specification – Task Decomposition Task Form Navigationsdiagram (External Document) E-R Diagram (Conceptual Model)

FamiliedatabaseProjektgruppe 1 efterår Formålet med denne Familiedatabase at kunne registrere en families data med henblik på senere opslag at sikre registreringerne så det er muligt at få en historik inden for afgrænsede områder opslagene i familiens data skal kunne gennemføres via en Web-browser der skal kunne registreres nye familiemedlemmers data via en Web- browser der skal kunne udtrækkes data, der kan danne grundlag for opstilling af stamtræ for familien der skal kunne dannes lister (skærm og/eller papir) med data på enkeltpersoner der skal kunne dannes lister (skærm og/eller papir) med de familiemedlemmer der har fødsels- eller bryllupsdag i en given måned der skal kunne dannes lister (skærm og/eller papir) med data for familiens børn der skal kunne dannes lister (skærm og/eller papir) med data for familiens børnebørn der skal kunne dannes lister (skærm og/eller papir) med relevante data for familiens fætre og kusiner (også dem der er ”gift” ind i familien)

FamiliedatabaseProjektgruppe 1 efterår Requirement Analysis - Information Flow Diagram Informations Flow Diagrammet er en grafisk metode til at vise dataflowet i systemet. En alternativ metode kunne være brug af Use Case Diagram fra UML.

FamiliedatabaseProjektgruppe 1 efterår System specification – Task Decomposition ”Informations Flow Diagrammet” viser en overordnet opdeling af systemet. De enkelte tasks fra Informations Flow Diagrammet bliver ved Decomposition delt op i subtasks. Eksemplet viser task for inddata til systemet.

FamiliedatabaseProjektgruppe 1 efterår System specification – Task Decomposition Eksemplet her viser de subtasks der er tænkt til udtræk af persondata, lister og arkivalier (BLOBS). Et alternativ til Task Decomposition kunne være aktivitets- eller sekvensdiagrammer fra UML

FamiliedatabaseProjektgruppe 1 efterår Eksempel på en Task Form Task Form er en detaljeret beskrivelse af den enkelte Task. Input gør brug af et External Document, som beskriver brugerens interaktion med systemet. Et alternativ kunne være en Use Case Description i UML

FamiliedatabaseProjektgruppe 1 efterår Eksempel på et Navigationsdiagram ( Grafisk illustration af External Document) Et External Document beskriver brugerens interaktion med systemet (er ikke vist) En mere illustrativ måde at fremstille det på er at benytte et Navigationsdiagram, som vist her.

FamiliedatabaseProjektgruppe 1 efterår Entity – Relationship, E-R Diagram Analysefasen afsluttes med en Conceptuel Model – et E-R Diagram. Her ses alle Entitets klasser, Relationer og de Attributter der hører til Entiteterne. De attributter, der fungerer som primærnøgler, er understreget. Kardinaliteterne på de enkelte relationer er også vist.

FamiliedatabaseProjektgruppe 1 efterår Designfasen Claus W. Jensen

FamiliedatabaseProjektgruppe 1 efterår Translation and normalization Udarbejdelse af relationsskemaer Normalisering af tabellerne E-R diagram Translation of E-R diagram into a relational data model Normalization Redefine E-R diagram En iterativ proces Analyse Implementering Design

FamiliedatabaseProjektgruppe 1 efterår HasAddress n 1 n 1 n n FatherIs MotherIs PersIParttSk m n m n phone pId firstnames surname sex birthday death addressId district city country fileName street archType Subject partnerTyp e locality description phoneTyp e Type Address mother father Person Archive Address addressTyp e phoneNumbe r dissolved formed Partnerskab psId Et relationsskema pr. entitetsklasse Skema=attributter Person=(pId number, firstnames string, surname string, sex string, birthday date, death string, mother number references Person, father number references Person) Partnerskab=(psId number, formed date, dissolved string, psType string) Address=(addressId number, street string, district string, city string, locality string, country string) Archive=(fileName string, archType string, description string) Først oprettes et skema for hver entitetsklasse, og der defineres hvilken eller hvilke attributter der skal udgøre nøglen for tabellen (jf. Rule no. 1)

FamiliedatabaseProjektgruppe 1 efterår HasAddress n 1 n 1 n n FatherIs MotherIs PersIParttSk m n m n phone pId firstnames surname sex birthday death addressId district city country fileName street archType Subject partnerTyp e locality description phoneTyp e Type Address mother father Person Archive Address addressTyp e phoneNumbe r dissolved formed Partnerskab psId Many-to-many relationsship Skema=Indhold Person=(pId number, firstnames string, surname string, sex string, birthday date, death string, mother number references Person, father number references Person) Partnerskab=(psId number, formed date, dissolved string, psType string) Address=(addressId number, street string, district string, city string, locality string, country string) PersIPartSk=(pId number references Person, psId number references Partnerskab) Address=(addressId number, street string, district string, city string, locality string, country string) HasAddress=(pId number references Person, addressId number references Address, addressType string) Archive=(fileName string, archType string, description string) Subject=(pId number references Person, fileName string references Archive) For hver mange til mange relation oprettes et skema (jf. Rule no. 5), nøglerne i de relaterede entitetsklasser angives som ”foreign keys” i skemaet

FamiliedatabaseProjektgruppe 1 efterår HasAddress n 1 n 1 n n FatherIs MotherIs PersIParttSk m n m n phone pId firstnames surname sex birthday death addressId district city country fileName street archType Subject partnerTyp e locality description phoneTyp e Type Address mother father Person Archive Address addressTyp e phoneNumbe r dissolved formed Partnerskab psId Multivalued attributes Skema=Indhold Person=(pId number, firstnames string, surname string, sex string, birthday date, death string, mother number references Person, father number references Person) Phone=(pId number references Person, phoneNumber string, phoneType string) =(pId number references Person, Address string, Type string) Partnerskab=(psId number, formed date, dissolved string, psType string) Address=(addressId number, street string, district string, city string, locality string, country string) For hver multivalued attribute oprettes et skema (jf. Rule no. 7), nøglerne i de relaterede entitetsklasser angives som ”foreign keys” i det nye skema

FamiliedatabaseProjektgruppe 1 efterår ”Færdige” relationsskemaer Skema=Indhold Person=(pId number, firstnames string, surname string, sex string, birthday date, death string, mother number references Person, father number references Person) Phone=(pId number references Person, phoneNumber string, phoneType string) =(pId number references Person, Address string, Type string) Partnerskab=(psId number, formed date, dissolved string, psType string) PersIPartSk=(pId number references Person, psId number references Partnerskab) Address=(addressId number, street string, district string, city string, locality string, country string) HasAddress=(pId number references Person, addressId number references Address, addressType string) Archive=(fileName string, archType string, description string) Subject=(pId number references Person, fileName string references Archive)

FamiliedatabaseProjektgruppe 1 efterår Normalisering Ved normalisering af tabellerne forstås en kvalitetskontrol af tabelstrukturen i databasen, således at fejl i databasen som følge af redundans i tabellerne undgås, og ligeledes reducere antallet af felter med evt. null værdier Beskrivelse af 3NF: Et relations schema er i Tredje Normal Form (3NF) såfremt alle funktions afhængigheder (Functional dependencies) enten har en supernøgle som determinant eller attributterne på højre side er nøgle attributter. Altså ved 3NF er ikke nøgle attributter funktionsmæssig bestemt udelukkende af nøgler eller supernøgler. Funktionsmæssige afhængigheder for tabellen ”Address” Address:(addressId number, street string, district number, city string, locality string, country string) FD5: addressId street, district, city, locality, country FD6: districtcity FD6 er en 3NF konflikt, men kun så længe vi ser på Danmark, da vi ønsker at databasen skal kunne bruges global ses der bort fra denne konflikt.

FamiliedatabaseProjektgruppe 1 efterår Translation and normalization Udarbejdelse af relationsskemaer Normalisering af tabellerne E-R diagram Translation of E-R diagram into a relational data model Normalization Redefine E-R diagram En iterativ proces Analyse Implementering Design

FamiliedatabaseProjektgruppe 1 efterår Implementering Peter Isager

FamiliedatabaseProjektgruppe 1 efterår Tabeldefinitioner –Create tables med SQL SQL forespørgsler WEB brugerflade med ASP og SQL

FamiliedatabaseProjektgruppe 1 efterår Tabeldefinitioner Person=(pId number, firstnames string, surname string, sex string, birthday date, death string, mother number references Person, father number references Person) Relationsskemaerne der blev udarbejdet efter normaliseringen bliver efterfølgende brugt til at lave tabeldefinitionerne. Create table Person( pId counter primary key, firstnames varchar(50) not null, surname varchar(30) not null, sex varchar(10) not null, birthday char(30), death char(30), mother int references Person, father int references Person );

FamiliedatabaseProjektgruppe 1 efterår Tabeller der oprettes ved brug af SQL, skal oprettes i rigtig rækkefølge for at undgå problemer med reference til fremmede nøgler. Eksempelvis kan nedenstående tabel ikke oprettes før tabellen Person pga referencen. 2. Efter oprettelse af en tabel tilrettes den i feltet valideringsregel Create table ( pId int not null references Person, Address varchar(50), Type char (10), primary key (pId, Address) );

FamiliedatabaseProjektgruppe 1 efterår Oprettet tabellerRelationer mellem tabellerne

FamiliedatabaseProjektgruppe 1 efterår Udvalgte SQL forespørgsler Denne select finder børn for en given person SELECT Person.pId As Far_pId, Child.pId As Barn_pId, Child.firstnames As Fornavn, Child.surname As Efternavn, Child.sex As Køn, Child.birthday As Fødselsdag, Child.death As Dødsdag FROM Person INNER JOIN Person AS Child ON Person.pId=Child.father WHERE Person.pId= Child.father And Person.pId=11 Efter implementering af tabellerne med forskellige forespørgsler som eksempelvis nedenstående. Specificerer attributter der præsenteres i den resulterende tabel Specificerer tabeller der vælges fra Specificerer betingelser for udvælgelse af data

FamiliedatabaseProjektgruppe 1 efterår WEB brugerflade med ASP og SQL HyperText Mark-up Language kode har vi brugt til at lave vores web interface Cascading Style Sheets har vi brugt i vores web interface til at styre layout centralt fra et style sheet. Gøres med en enkelt reference i html dokumentet. Active Server Pages har vi brugt på web server siden til at generere og udskrive data på baggrund af de data der bliver indtastet på klient siden SQL forespørgsler har vi brugt til at lave opslag i databasen på server siden.

FamiliedatabaseProjektgruppe 1 efterår Arbejdsprocessen ”Procesrapporten” Benny Burhøj Olesen

FamiliedatabaseProjektgruppe 1 efterår Procesrapporten Emner i rapporten er: Gruppearbejdet Anvendte redskaber Kommunikation Dokumenthåndteringen Konferencer Supervision Konklusioner

FamiliedatabaseProjektgruppe 1 efterår Gruppearbejdet Gruppearbejdet (Opstart - 9/10 sep. 2005) Grundlæggende arbejdsmodeller –alle et forslag til løsning –fordelt til bidrag fra enkeltpersoner Delprocesser –Mundtlige konferencer –Opdelte løsningsforslag –Samskrivning fulgt af kommentarer –Aftalt aflevering af produkt Brud i opgaveafklaring

FamiliedatabaseProjektgruppe 1 efterår Anvendte redskaber RedskabspaletAnvendelse UniflexGennemgående Asynkrone værktøjer s NEWS-grupper Mere og mere (ej anvendt) Synkrone redskaber Skrive, tale, se Shared whiteboard Application sharing Skype (ej anvendt) Word, Access

FamiliedatabaseProjektgruppe 1 efterår Kommunikation og dokumenthåndtering Kommunikationen forløbet gnidningsfri –Dokumentudveksling via Uniflex –Dokumentudveksling mm. via –Mundtlig via Skype Småproblemer: adresser, filtyper Dokumenter: Alt via uniflex -> Sup. med mail –Problem m/ kommentarer – løst via reload Word (in line kommentarer)

FamiliedatabaseProjektgruppe 1 efterår Konferencer og Supervision Konferencer –Afholdt i alt 9 telefonkonferencer Planlægning og evt. rettelser –Dagsorden mm inden møderne –Flytninger aftalt via mail Opsummering –Klare aftaler om hvem der laver hvad –Aftalt deadlines for aflevering af materialer –Aftalt et næste møde. Supervision –Opstart og flere telefonmøder –Aftalt via mail

FamiliedatabaseProjektgruppe 1 efterår Konklusioner Generelle konklusioner –Opstartmødet fundament for senere arbejde –Krumtappen var: Øvelser og pilotprojekt –Tidligere projekterfaring = ingen problemer –Grundlag: Klare aftaler –Skype: Redskab, god kvalitet Gøres bedre –Langsigtet planlægning og ”klarhed” for alle –Fokus på andre kurser – uden øvelser