DM131 - 2. semester

Plan for Softwarekonstruktion

Tema: Databaser  - Gå til uge: 34-35(test), 36, 37, 38, 39-45(Abstraktion)

Sidst ændret: 2013.09.18

 

Uge 36
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag 08:30 Databaser og SQL

Øvelser følger

Denne gang vil de næste uger primært fokusere på at bruge SQL direkte til at udtrække data uden at programmere op mod en model-komponent.

Da jeg stal være med til at starte vores PBA i Vejle denne mandag vil jeg først være i Odense sidst på formiddagen og du kan indtil da udnytte tiden til at repetere nedenstående fra tidligere, hvor der også vises basal SQL til at udtrække data fra tabel og manipulere data i denne.

 

Elmasri databasebogen om basis SQL (Select, Insert, Update og Delete) Kap 4.3 & 4.4

Opgaver med SQL til dagen
Se i fronter hvordan du tilgår SQL serveren med database, du skal ikke bruge Access databasen til dette.

SQL opgaver til foreningsdatabase
- løsninger
 

 

 

Opsamling fra tidligere om C# programmering med database og model-komponent

YouTube screencast med Bjørk Boye Busch Videoer og solutions fra undervisningen mandag uge 17

YouTube screencast med Bjørk Boye Busch Videoer og solutions fra undervisningen torsdag uge 17

YouTube screencast med Bjørk Boye Busch Videoer og solutions fra undervisningen mandag uge 18

YouTube screencast med Bjørk Boye Busch Videoer og solutions fra undervisningen mandag uge 18

YouTube screencast med Bjørk Boye Busch Videoer og solutions fra undervisningen mandag uge 19

Materiale fra uge 17

Slides om tilgang til MS SQL database
Eksempler på SQL.pdf

Note om SQL fra nettet (Meget mere end vi bruger nu)
notesql.zip

 

 

Eksempel på program med database og model-komponent
Vs_BladhusSolution_1_WebFormAndWcfUI_Ver2.zip

     
- 14:00

Opgaver med SQL til dagen
Se i fronter hvordan du tilgår SQL serveren med database, du skal ikke bruge Access databasen til dette.

SQL opgaver til foreningsdatabase
- løsninger
 

 
Torsdag 08:30 Databaser og SQL fortsat

Vi skal se på mere avancerede SQL forespørgsler, herunder også aggregeringer og grupperinger

Elmasri databasebogen
Kap 5.1 (komplekse forespørglser)
Kap  5.3.1, 5.3.2 (Views)

Program til afprøvning af SQL
 - ændrer ikke SQL
 - kan bruges offline (incl. nogle databaser)
 - eksempler på træk fra master tabeller

Note om SQL fra nettet (Meget mere end vi bruger nu)
notesql.zip

 
SQL opgaver til regnskabssystem
- løsninger
Flere opgaver til regnskabsdatabasen

Elmasi database SQL øvelser (databasenn hedder elmasriSQL på vores server)
- løsninger
  YouTube screencast med Bjørk Boye Busch Videoer fra undervisningen

Miniaturebillede C# SK13E uge36To SQL med beregninger med aggregering og gruppering

 
 
- 14:00    
 
 
 

 

 

Uge 37
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag 08:30 Databaser og SQL fortsat

Klassen arbejder selvstændigt med opgaveløsning denne dag - Bjørk er ikke tilgængelig denne dag.

I kan diskutere løsninger med hinanden på klassen eller i mindre grupper

Elmasri databasebogen
Kap 5.1 (komplekse forespørglser)
Kap  5.3.1, 5.3.2 (Views)

Program til afprøvning af SQL
 - ændrer ikke SQL
 - kan bruges offline (incl. nogle databaser)
 - eksempler på træk fra master tabeller

Note om SQL fra nettet (Meget mere end vi bruger nu)
notesql.zip
 

  SQL opgaver til regnskabssystem
- løsninger
Flere opgaver til regnskabsdatabasen

Elmasi database SQL øvelser (databasenn hedder elmasriSQL på vores server)
- løsninger
    Lidt flere relevante noter om databaser
- Mapning fra klasser til tabeller
- Relationel algebra og SQL
- SQL note
- 14:00    
Torsdag 08:30 Databaser og SQL fortsat

Stored Procedures og Triggers

Fra dagens undervisning om Stored Procedures
C# SK13E uge37To SQL - Eksempler på Stored procedures

 

Elmasri databasebogen
Kap 12.4 (Stored Procedure)
Kap 24.1 (Triggers)

Note om SQL fra nettet (Meget mere end vi bruger nu)
notesql.zip

Eksempler på Stored Procedures - sidste sider med transaction 

  Lidt flere relevante noter om databaser
- Mapning fra klasser til tabeller
- Relationel algebra og SQL
- SQL note
     
- 14:00 Om Triggers se følgende på YouTube
- SQL Triggers - Hello World
- SQL Server Simple Trigger Example.
- SQL Triggers - INSERTED and DELETED Tables
 
 
 
 
 

 

 

Uge 38
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag 08:30 Databaser og SQL fortsat Evt. supplerende materiale om ADO.NET :
Slides om opsætning af connectionstrings og connection 
  Projektarbejde - databaseprojekt jvf. fronter nyhed (->Fælles->Projekt03      SleepWare database) Lidt flere relevante noter om databaser
- Mapning fra klasser til tabeller
- Relationel algebra og SQL
- SQL note
     
- 14:00    
Torsdag 08:30 Databaser og SQL fortsat Vedr. tilgang fra C# program se mandag uge 36 med opsamling fra tidligere

Primært: Slides om tilgang til MS SQL database

  Projektarbejde - databaseprojekt jvf. fronter nyhed (->Fælles->Projekt03      SleepWare database)

Vi skal torsdag se på hvordan vi tilgår databasen fra C# program, hvordan vi kan trække data ud til programmet og foretage opdateringer fra et program.

Der er delvis tale om repetition, men i vi skal også diskutere de nye muligheder med at udnytte Views og Strored Procedure...
 

  Der er kun støtte fra underviser frem til 11:45  
- 14:00 I opgaverne skal der ikke være fokus på UI, men alene forretningslogikken.
Det er hensigtsmæssigt at "Pakke" løsninger ind som klasser med metoder (Gateway mønster er her en god løsning)
Afleveringsmappe til løsninger: Fælles > Projekter > Projekt03 - databaseprojekt uge 38 > Aflevering af program kode der tilgår database.
Jeg vil foreslå man her prøver også at lave individuelle løsninger, men selvfølgelig må man diskutere og hjælpe hinanden.

1) Du skal lave et program / en programstump hvor du kan hente data fra databasen og omsætte dem til objekter.
- Du kan fx have en Kunde klasse (med nødvendige felter) og så hente data fra en Kunde-tabel / Kunde View (Her bruges DataReader til at hente data-rækker) og oprette Kunde objekter og tilføje dem til en liste af Kunder.

2) Du skal lave et program / en programstump hvor du opdaterer i databasen (indsætte, opdatere eller slette).

3) Udnyt SQL'en til at hente data der ikke bare er alle rækker fra en tabel, men fx. udtræk / beregning og hent disse data ind i programmet (med DataReader) - her børe resultatet også omsættes til objekter - således at der findes en klasse med felter der svarer til en rækken i udtrækket.