I skal designe og konstruere en database til en nyoprettet HR-afdelingen i et større IT-firma, så de har overblik over deres ansatte, deres ansættelseshistorik og de forskellige afdelinger. Når I designer databasen, skal I være opmærksom på et par detaljer:
Der er afdelinger i forskellige lande og forskellige regioner i disse lande, som fx Tyskland, Hamburg og Danmark, Sjælland.
Der er forskellige afdelinger, som fx softwareudvikling, økonomi og IT-support.
Databasen skal vise ansattes ansættelseshistorik
Databasen skal vise ansattes løntrin
Designe databasen i et E/R-model, som viser entiteterne, attributterne, relationerne, relationsgraden og gerne medlemstypen samt inkludere primær og fremmednøgler (læs evt. op på dette her). Brug draw.io til at designe modellen.
Konstruere databasen i dbBrowser. I skal overføre entiteterne til tabeller, attributter til koloner og de enkelte enheder til rækker. Husk at inkludere primærnøgler (guld) og fremmednøgler (sølv) i tabellerne. Det er her jeres database bliver relationel. Der skal være 6 til 8 tabeller.
Foretage følgende sqlite-kommandoer:
CREATE DATABASE
SELECT ... FROM ... WHERE ...
SELECT ... FROM ... WHERE ... AND ...
SELECT ... FROM ... WHERE ... OR ...
SELECT ... FROM ... WHERE ... ORDER BY ...
INSERT INTO ...
UPDATE ...
INNER JOIN ...
I kan læse op på SQLite og ovenstående kommandoer her.
Databasen kan fx indeholde følgende tabeller: medarbejder, land, region, afdeling, jobhistorik, jobtype og ansættelsesgrad. I skal desuden overveje om adresse, by og postnummer skal inkluderes i tabellen afdeling eller skal have sin egen tabel.
Et eksempel på en tabel medarbejder kunne indeholde følgende kolonner: medarbejderId (primærnøgle), medarbejderFornavn, medarbejderEfternavn, email, telefonnummer, ansættelsesDato, jobtypeId (fremmednøgle), løn og afdelingId (fremmednøgle).
Alt det I har lavet under "Opgave 4" skal afleveres på Lectio med skærmbilleder og beskrivelser.
I skal lave en beskrivelse af E/R-modellen med brug af begreberne entiteter, attributter, relationer, relationsgrad og evt. medlemstypen.
I skal lave en beskrivelse af jeres database med forklaring af tabellerne, kolonner og eksempler på rækker samt primærnøgler og fremmednøgler.
Forklar de sql-kommandoer du har udført og hvad de gør.
Indsæt