{"id":91,"date":"2025-02-24T14:21:29","date_gmt":"2025-02-24T14:21:29","guid":{"rendered":"https:\/\/seniorconsult.dk\/?page_id=91"},"modified":"2025-03-06T08:52:17","modified_gmt":"2025-03-06T08:52:17","slug":"databaser","status":"publish","type":"page","link":"https:\/\/seniorconsult.dk\/?page_id=91","title":{"rendered":"Databaser"},"content":{"rendered":"\n<p>Har I behov for SQL programmering, databaseopbygning, en Windows form til indtastning af data, etc, s\u00e5 kontakt: <strong>support@seniorconsult.dk<\/strong><\/p>\n\n\n\n<p><strong><span style=\"text-decoration: underline;\">DATABASE DESIGN &#8211; NORMALISERING OG GENERALISERING<\/span><\/strong><\/p>\n\n\n\n<p>I undervisning indenfor databaseteori indg\u00e5r begrebet &#8220;normalisering&#8221; som et grundl\u00e6ggende element n\u00e5r vi taler om at planl\u00e6gge tabelstrukturer.<\/p>\n\n\n\n<p>Normalisering indenfor databaseteori (begrebet benyttes i mange andre sammenh\u00e6nge), betyder groft sagt, at man arbejder p\u00e5 at fjerne redundante (multiple gengangere af samme) data.<\/p>\n\n\n\n<p>Selve begrebet bliver dog ofte kun beskrevet i forhold til tabeller, hvor man da arbejder p\u00e5, at man ikke har samme data st\u00e5ende i mange r\u00e6kker.<\/p>\n\n\n\n<p>I det efterf\u00f8lgende link til en PDF fil der introducerer og n\u00e6rmere forklarer disse begreber i detaljer, bliver der dog beskrevet 3 typer af normalisering:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Felt normalisering (fjernelse af redundante data p\u00e5 felt-niveau)<\/li>\n\n\n\n<li>Tabel normalisering (fjernelse af redundante data p\u00e5 tabel niveau) &#8211; Beskrivelse af de forskellige normalformer.<\/li>\n\n\n\n<li>Database normalisering (generalisering &#8211; fjernelse af redundante data der g\u00e5r igen mellem tabeller).<\/li>\n<\/ol>\n\n\n\n<p>N\u00e6rmere detaljeret beskrivelse kan findes i f\u00f8lgende 24 siders PDF fil ved at klikke<\/p>\n\n\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/seniorconsult.dk\/wp-content\/uploads\/2025\/02\/Database-design.pdf\">Database Design.pdf<\/a><\/p>\n\n\n\n<p><strong><span style=\"text-decoration: underline;\">SQL-SCRIPTS<\/span><\/strong><\/p>\n\n\n\n<p><strong>Dan Kalender:<\/strong><\/p>\n\n\n\n<p>Nedenst\u00e5ende billede viser et eksempel, hvor der automatisk er dannet en kalender tabel i MS SQL-Server ved hj\u00e6lp af SQL script. Der er reelt flere kolonner i tabellen, hvor der bl.a. angives om en dato er en weekend, helligdag, eller en af delene, eller om det er en arbejdsdag etc. S\u00e5 nedenst\u00e5ende er blot et eksempel p\u00e5 nogle af de kolonner og r\u00e6kker der dannes i tabellen.<\/p>\n\n\n\n<p>Der benyttes ofte en s\u00e5dan tabel indenfor Business Intelligence, hvor man arbejder med en multidimensional database, hvor Tidsdimensionen blot er en af mange, men ofte vigtig komponent. Tabellen kan dog ogs\u00e5 benyttes i en almindelig relationel database, hvor man da kan benytte infomationen til at summere data p\u00e5 forskellige niveauer. Eksempelvis summering per uge uge, per dag, eller kvartal etc. Denne tabel er oprettet med ugenumrene som benyttes i Danmark og \u00f8vrige Europa, og som er defineret i ISO 8601 standarden. <\/p>\n\n\n\n<p>Eksempel p\u00e5 en automatisk dannet tabel med tidsinformation:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/seniorconsult.dk\/wp-content\/uploads\/2025\/02\/KalenderEks.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"303\" src=\"https:\/\/seniorconsult.dk\/wp-content\/uploads\/2025\/02\/KalenderEks-1024x303.jpg\" alt=\"\" class=\"wp-image-145\" srcset=\"https:\/\/seniorconsult.dk\/wp-content\/uploads\/2025\/02\/KalenderEks-1024x303.jpg 1024w, https:\/\/seniorconsult.dk\/wp-content\/uploads\/2025\/02\/KalenderEks-300x89.jpg 300w, https:\/\/seniorconsult.dk\/wp-content\/uploads\/2025\/02\/KalenderEks-768x227.jpg 768w, https:\/\/seniorconsult.dk\/wp-content\/uploads\/2025\/02\/KalenderEks-500x148.jpg 500w, https:\/\/seniorconsult.dk\/wp-content\/uploads\/2025\/02\/KalenderEks.jpg 1090w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>(Klik p\u00e5 billede for at se det i st\u00f8rre format)<\/p>\n\n\n\n<p>MS Transact-SQL koden til dannelse af ovenst\u00e5ende ligger i en 24-siders PDF fil, som du kan se:<\/p>\n\n\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/seniorconsult.dk\/wp-content\/uploads\/2025\/02\/DAN-KALENDER-SCRIPTS.pdf\">Dan Kalender.pdf<\/a><\/p>\n\n\n\n<p>Koden kan kopieres direkte inkl. kommentarer som bliver som kommentarer i SQL server, og placeres i et SQL script som efterf\u00f8lgende kan eksekveres, hvorved tabellen dannes i den database som man har angivet som aktiv.<\/p>\n\n\n\n<p>Hvis man \u00f8nsker, at give tabellen et andet navn, er der 3 steder dette skal rettes i koden (2 gange i anden sidste script (tabel dannelse), og 1 gang i sidste script hvor man inds\u00e6tter r\u00e6kker med dage. Hvis man \u00f8nsker andre fra-til datoer, skal disse 2 datoer rettes i sidste script.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Har I behov for SQL programmering, databaseopbygning, en Windows form til indtastning af data, etc, s\u00e5 kontakt: support@seniorconsult.dk DATABASE DESIGN &#8211; NORMALISERING OG GENERALISERING I undervisning indenfor databaseteori indg\u00e5r begrebet &#8220;normalisering&#8221; som et grundl\u00e6ggende element n\u00e5r vi taler om at &hellip; <a href=\"https:\/\/seniorconsult.dk\/?page_id=91\">L\u00e6s resten <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-91","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/seniorconsult.dk\/index.php?rest_route=\/wp\/v2\/pages\/91","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/seniorconsult.dk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/seniorconsult.dk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/seniorconsult.dk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/seniorconsult.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=91"}],"version-history":[{"count":15,"href":"https:\/\/seniorconsult.dk\/index.php?rest_route=\/wp\/v2\/pages\/91\/revisions"}],"predecessor-version":[{"id":240,"href":"https:\/\/seniorconsult.dk\/index.php?rest_route=\/wp\/v2\/pages\/91\/revisions\/240"}],"wp:attachment":[{"href":"https:\/\/seniorconsult.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=91"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}