Skillnad mellan versioner av "Kap 12 Databaser (45)"

Från Mathonline
Hoppa till: navigering, sök
(Skapade sidan med '__NOTOC__ <big>Tis 5 dec, kl 9-12</big> {| border="0" cellspacing="0" cellpadding="0" height="30" width="100%" | style="border-bottom:1px solid #797979" width="5px" |  ...')
 
m
 
(26 mellanliggande versioner av samma användare visas inte)
Rad 16: Rad 16:
  
 
= <b><span style="color:#931136">Kap 12 &nbsp; Databaser (forts.)</span></b> =
 
= <b><span style="color:#931136">Kap 12 &nbsp; Databaser (forts.)</span></b> =
 +
= <b><span style="color:#931136">12.9 &nbsp; Att skapa och designa en databas</span></b> =
 +
<div class="ovnE">
 +
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: I_detta_avsnitt.jpg]]</div>
  
  
= <b><span style="color:#931136">12.8 &nbsp; Datahämtning med en SQL klient</span></b> =
+
<big><big>Avsnittet med hela projektets beskrivning finns i  [http://mathonline.se/Boken%20Programmering%20i%20C%20och%20Cpp.pdf <b><span style="color:blue">kursboken</span></b>], sid 361-373.</big></big>
<div class="ovnC">
+
</div>
=== <b><span style="color:#931136">Projektet SQLclient</span></b> ===
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: SQLclient.jpg]]</div>
+
  
  
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: I_detta_avsnb.jpg]]</div>
+
= <b><span style="color:#931136">Kundens kravspecifikation</span></b> =
 +
<div class="ovnC">
 +
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Kursverksamhet.jpg]]</div>
  
  
<big><big>Hela projektets beskrivning finns i: &nbsp; [http://mathonline.se/Boken%20Programmering%20i%20C%20och%20Cpp.pdf <b><span style="color:blue">Kursboken</span></b>], sid 349-360</big></big>
+
<big><big>Skapa en databas för kursverksamheten som svarar mot kundens kravspecifikation.</big></big>
 
</div>
 
</div>
  
  
<div class="ovnE">
+
= <b><span style="color:#931136">Databasmodellering</span></b> =
=== <b><span style="color:#931136">Att ladda ned databasfilen Books.mdf, se</span> [[Kap_12_Databaser_(42)#Att_ladda_ned_en_exempeldatabas|<span style="color:blue">genomgång 42</span></b>.]] ===
+
<div class="ovnA">
 +
<big><big>Databasmodellering är ett eget ämne som skulle kunna fylla en hel kurs. Expertis krävs!<br><br>Relationsdatabasmodellens standardverktyg för databasmodellering är <i>ER</i>-modellering.</big></big><br><br>
 +
== <b><span style="color:#931136">Entity-Relationship diagram (ER)</span></b> ==
 +
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Databasmodella.jpg]]</div>
  
  
=== <b><span style="color:#931136">Att infoga databasen Books i projektet</span></b> ===
+
== <b><span style="color:#931136">ER diagrammet består av entiteter och relationer mellan dem.</span></b> ==
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Steg_1_Infoga_DB_i_Proja.jpg]]</div>
+
<big><big>
 +
* &nbsp; &nbsp; Varje ruta är en <b><span style="color:red">entitet</span></b>. Varje entitet har ett antal <b><span style="color:red">attribut</span></b> dvs egenskaper.
 +
 
 +
* &nbsp; &nbsp; En entitet är något viktigt för verksamheten som man behöver lagra information om.
 +
 
 +
* &nbsp; &nbsp; Entiteter är nyckelbegrepp – jämförbart med klasser i objektorienterad programmering. 
 +
 
 +
* &nbsp; &nbsp; Varje entitet kommer att bli en <b><span style="color:red">tabell</span></b> när modellen implementeras.
 +
 
 +
* &nbsp; &nbsp; Varje attribut kommer att bli en <b><span style="color:red">kolumn</span></b> när modellen implementeras.
 +
 
 +
* &nbsp; &nbsp; Modellen visar vilka kolumner som ska bli primärnycklar: <b><span style="color:red">PK (Primary Key)</span></b>
 +
 
 +
&nbsp; &nbsp;  &nbsp; &nbsp;  &nbsp; och vilka som ska bli främmande nycklar: <b><span style="color:red">FK (Foreign Key)</span></b>.
 +
 
 +
* &nbsp; &nbsp; Mellan vissa tabeller finns <b><span style="color:red">relationer</span></b> som är ritade med linjer:
 +
 
 +
&nbsp; &nbsp;  &nbsp; &nbsp;  &nbsp; En kurs kan ha flera kursdeltagare, medan en kursdeltagare endast läser en kurs.
 +
 
 +
&nbsp; &nbsp;  &nbsp; &nbsp;  &nbsp; En instruktör kan undervisa i flera kurser, medan en kurs endast har en instruktör.
 +
</big></big>
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Steg 1: Att skapa ett grafiskt gränssnitt i formen</span></b> =
+
= <b><span style="color:#931136">Steg 1: Att skapa databasen Kursverksamhet</span></b> =
<div class="ovnC">
+
<div class="ovnE">
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: GUI_i_Formen.jpg]]</div>
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Steg_1_Kursverksamhet.jpg]]</div>
  
  
=== <b><span style="color:#931136">Databasstrukturen i DataSet Designer</span></b> ===
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: TomDBa.jpg]]</div>
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: DatasetDesignerb.jpg]]</div>
+
  
  
=== <b><span style="color:#931136">Klassen TableAdapter</span></b> ===
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Modify_Connection.jpg]]</div>
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Klass_TableAdapter.jpg]]</div>
+
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Anmärkning</span></b> =
+
= <b><span style="color:#931136">Steg 2: Att skapa tabeller i databasen</span></b> =
 +
<div class="ovnC">
 +
<big><big> &nbsp; &nbsp; Följ instruktionerna i [http://mathonline.se/Boken%20Programmering%20i%20C%20och%20Cpp.pdf <b><span style="color:blue">kursboken</span></b>], sid 364-366.
 +
</big></big>
 +
</div>
 +
 
 +
 
 +
= <b><span style="color:#931136">Steg 3: Att koppla projektets Dataset till databasen</span></b> =
 
<div class="ovnA">
 
<div class="ovnA">
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Anm_Add_Column.jpg]]</div>
+
<big><big> &nbsp; &nbsp; Följ instruktionerna i [http://mathonline.se/Boken%20Programmering%20i%20C%20och%20Cpp.pdf <b><span style="color:blue">kursboken</span></b>], sid 366-368.
 +
</big></big>
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Steg 2: Att exekvera egna SQL satser</span></b> =
+
= <b><span style="color:#931136">Steg 4: Att skapa relationer mellan tabeller</span></b> =
 
<div class="ovnE">
 
<div class="ovnE">
<big><big> &nbsp; &nbsp; Följ instruktionerna i [http://mathonline.se/Boken%20Programmering%20i%20C%20och%20Cpp.pdf <b><span style="color:blue">kursboken</span></b>], sid 351-356.
+
<big><big> &nbsp; &nbsp; Följ instruktionerna i [http://mathonline.se/Boken%20Programmering%20i%20C%20och%20Cpp.pdf <b><span style="color:blue">kursboken</span></b>], sid 369-370.
 
</big></big>
 
</big></big>
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Steg 3: Att förse SQL klienten med en ComboBox-kontroll</span></b> =
+
= <b><span style="color:#931136">Steg 5: Att rita ER diagrammet i DataSet Designer</span></b> =
 
<div class="ovnC">
 
<div class="ovnC">
<big><big> &nbsp; &nbsp; Följ instruktionerna i [http://mathonline.se/Boken%20Programmering%20i%20C%20och%20Cpp.pdf <b><span style="color:blue">kursboken</span></b>], sid 356-360.
+
<big><big> &nbsp; &nbsp; Följ instruktionerna i [http://mathonline.se/Boken%20Programmering%20i%20C%20och%20Cpp.pdf <b><span style="color:blue">kursboken</span></b>], sid 370-371.
 +
</big></big>
 +
</div>
 +
 
 +
 
 +
= <b><span style="color:#931136">Steg 6: Att lägga in data i tabellerna</span></b> =
 +
<div class="ovnA">
 +
<big><big> &nbsp; &nbsp; Följ instruktionerna i [http://mathonline.se/Boken%20Programmering%20i%20C%20och%20Cpp.pdf <b><span style="color:blue">kursboken</span></b>], sid 371-373.
 
</big></big>
 
</big></big>
 
</div>
 
</div>

Nuvarande version från 4 december 2023 kl. 22.11

Tis 5 dec, kl 9-12


        <<  Agenda          Genomgång 45          Övningar 45          Innehåll & struktur          Nästa lektion  >>      


Kap 12   Databaser (forts.)

12.9   Att skapa och designa en databas

I detta avsnitt.jpg


Avsnittet med hela projektets beskrivning finns i kursboken, sid 361-373.


Kundens kravspecifikation

Kursverksamhet.jpg


Skapa en databas för kursverksamheten som svarar mot kundens kravspecifikation.


Databasmodellering

Databasmodellering är ett eget ämne som skulle kunna fylla en hel kurs. Expertis krävs!

Relationsdatabasmodellens standardverktyg för databasmodellering är ER-modellering.


Entity-Relationship diagram (ER)

Databasmodella.jpg


ER diagrammet består av entiteter och relationer mellan dem.

  •     Varje ruta är en entitet. Varje entitet har ett antal attribut dvs egenskaper.
  •     En entitet är något viktigt för verksamheten som man behöver lagra information om.
  •     Entiteter är nyckelbegrepp – jämförbart med klasser i objektorienterad programmering.
  •     Varje entitet kommer att bli en tabell när modellen implementeras.
  •     Varje attribut kommer att bli en kolumn när modellen implementeras.
  •     Modellen visar vilka kolumner som ska bli primärnycklar: PK (Primary Key)

          och vilka som ska bli främmande nycklar: FK (Foreign Key).

  •     Mellan vissa tabeller finns relationer som är ritade med linjer:

          En kurs kan ha flera kursdeltagare, medan en kursdeltagare endast läser en kurs.

          En instruktör kan undervisa i flera kurser, medan en kurs endast har en instruktör.


Steg 1: Att skapa databasen Kursverksamhet

Steg 1 Kursverksamhet.jpg


TomDBa.jpg


Modify Connection.jpg


Steg 2: Att skapa tabeller i databasen

    Följ instruktionerna i kursboken, sid 364-366.


Steg 3: Att koppla projektets Dataset till databasen

    Följ instruktionerna i kursboken, sid 366-368.


Steg 4: Att skapa relationer mellan tabeller

    Följ instruktionerna i kursboken, sid 369-370.


Steg 5: Att rita ER diagrammet i DataSet Designer

    Följ instruktionerna i kursboken, sid 370-371.


Steg 6: Att lägga in data i tabellerna

    Följ instruktionerna i kursboken, sid 371-373.



Gå vidare till:        när du är klar med denna genomgång.











Copyright © 2023. All Rights Reserved.