Datenbank Forum - für Anfänger und Profis

Willkommen im Datenbank Forum von Datenbanken-verstehen.de - Das Datenbank, Data Warehouse & Business Intelligence Forum!

Das Datenbank Forum für Anfänger und Profis ist eine Community zu den Themen Datenbanken, Data Warehouse & Business Intelligence. Nimm teil an der Community von Datenbanken-verstehen.de und tausch dich mit deinen Fragen und Lösungen mit anderen Nutzern aus.

Als registrierter Benutzer genießt Du viele Vorteile, wie

  • den vollen Zugang zu allen Foren und Unterforen
  • Kostenloses Lernmaterial inkl. Lösungen zum Thema Datenbanken
  • Zugriff auf DB-Tutorials, Best Practices und SQL-Snippets

Bevor Du einen Beitrag verfassen möchtest, kannst Du dich einfach kostenlos registrieren.

oder Einloggen mit



Beachte bitte die Forenregeln von Datenbanken-verstehen.de. Wir wünschen Dir viel Spaß im Datenbank Forum! - Dein Datenbanken-verstehen.de-Team

Datenmodellierung für ein Stern-Schema

Hier werden alle Data Warehouse-Themen im Microsoft-Umfeld behandelt...

Datenmodellierung für ein Stern-Schema

Beitragvon chuky666 » Mi 16. Nov 2016, 16:44

Hi Rainer,

die Frage ist jetzt noch ein Extra Thread dafür? :)

Naja hier ist schon mal ein Anfang, so wie ich das mir ungefähr gedacht habe mit minimaler anzahl an Spalten( hab schon was mit mehr spalten usw sind aber alles Geschäftsdaten):

CREATE TABLE factAufträge(
f_id bigint identity(1,1) not null,
f_auftragsnummer int not null,
f_position int not null,
f_artikelnummer int not null,
f_auftragsmenge decimal(18,4) not null,
f_datekey bigint not null,
f_timekey bigint not null,
f_preis decimal(18,4) not null,
f_kunde bigint not null,
f_besteller_id bigint not null,
f_verarbeiter_id bigint not null)

CREATE TABLE dimBenutzer(
u_id bigint identity(1,1) not null,
u_vorname varchar(50) not null,
u_nachname varchar(100) not null,
u_istBesteller bit not null,
u_vonKunde bigint)

CREATE TABLE dimKunden(
k_id bigint identity(1,1) not null,
k_nummer bigint not null,
k_name varchar(150) not null,
k_plz int not null,
k_ort varchar(150) not null,
k_straße varchar(150) not null,
k_telefonnummer varchar(50) not null)

CREATE TABLE dimArtikel(
a_id bigint identity(1,1) not null,
a_artikelnummer varchar(50) not null,
a_preis decimal(18,4) not null,
a_artikeltext varchar(200) not null,
a_artikelbezeichnung varchar(8000) not null)

INSERT INTO dimArtikel(a_artikelnummer,a_preis,a_artikeltext,a_artikelbezeichnung)
VALUES(4711,13.37,'ein Artikel', 'das ist die Bezeichnung von ein Artikel...')

INSERT INTO dimKunden(k_nummer,k_name,k_plz,k_ort,k_straße,k_telefonnummer)
VALUES(1234,'der Kunde GmbH',14109,'Berlin','Berliner Straße 4','03012345678')

INSERT INTO dimBenutzer(u_vorname,u_nachname,u_istBesteller,u_vonKunde)
VALUES('Bob','Bobsen',0,NULL)

INSERT INTO dimBenutzer(u_vorname,u_nachname,u_istBesteller,u_vonKunde)
VALUES('Sarah','Lombardie',1,1234)


INSERT INTO factAufträge(f_auftragsnummer,f_position,f_artikelnummer,f_auftragsmenge, f_datekey,f_timekey,
f_preis,f_kunde,f_besteller_id,f_verarbeiter_id)
VALUES(1,1,4711,5,20161116,140523,13.37,1234,1,2)
chuky666
 
Beiträge: 49
Registriert: Mo 28. Sep 2015, 21:04

Re: Datenmodellierung für ein Stern-Schema

Beitragvon RainerH » Fr 18. Nov 2016, 16:11

Hi Chucky,

sieht ja nicht schlecht. Aber deine Faktentabelle verstehe ich nicht ganz.
Den Auftrag würde ich eine Dimension auslagern.

Menge und Umsatz sind klassische Kennzahlen, die in eine Faktentabelle gehören.

Gruß,
Rainer
Nimm NICHTS persönlich -- alles ist Feedback...
RainerH
 
Beiträge: 220
Registriert: Fr 1. Nov 2013, 17:58

Re: Datenmodellierung für ein Stern-Schema

Beitragvon chuky666 » Fr 18. Nov 2016, 16:15

Hi Rainer,

ok dann hab ich dazu eine Frage: Was genau gehört dann demzufolge in eine Faktentabelle?

Grüße
chuky666
 
Beiträge: 49
Registriert: Mo 28. Sep 2015, 21:04

Re: Datenmodellierung für ein Stern-Schema

Beitragvon RainerH » Fr 18. Nov 2016, 17:06

Hi Chucky,

eigentlich nur Fremdschlüssel und numerische Werte wie Menge, Preis, Umsatz.

Wird es ein Star-Schema oder Snowflake-Schema?

-
Rainer
Nimm NICHTS persönlich -- alles ist Feedback...
RainerH
 
Beiträge: 220
Registriert: Fr 1. Nov 2013, 17:58

Re: Datenmodellierung für ein Stern-Schema

Beitragvon chuky666 » Fr 18. Nov 2016, 21:21

Da ich noch am Anfang bin dürfte ein Star-Schema vermutlich das richtigere sein. :)

Ok das da "nur" fremdschlüssel / numerische Werte in einer Faktentabelle sind hab ich auch schon oft gelesen, versteh aber net ganz was an meiner Beispiel Faktentabelle falsch oder nicht ganz richtig is :?: :?
chuky666
 
Beiträge: 49
Registriert: Mo 28. Sep 2015, 21:04

Re: Datenmodellierung für ein Stern-Schema

Beitragvon RainerH » Do 24. Nov 2016, 15:14

Hallo Chucky,

ich hätte die Faktentabelle folgendermaßen aufgebaut:

Code: Alles auswählen
CREATE TABLE FactAuftrag(
SID bigint identity(1,1) not null,
Datum_SID bigint not null,
Auftrag_SID bigint not null,
Artikel_SID bigint not null,
Kunde_SID bigint not null,
Besteller_SID bigint not null,
Verarbeiter_SID bigint not null,
EUR decimal(18,6) not null);

Eine reine Tabelle aus Fremdschlüsseln - SIDs und Measures...
Nimm NICHTS persönlich -- alles ist Feedback...
RainerH
 
Beiträge: 220
Registriert: Fr 1. Nov 2013, 17:58

Re: Datenmodellierung für ein Stern-Schema

Beitragvon chuky666 » Do 24. Nov 2016, 15:41

Hi Rainer,

ahh ok ich glaube jetzt langsam wird das Licht heller :)

Sprich also das die Auftrag_SID 345 verweist in der Auftragsdimension auf den Auftrag 4711 mit der SID 345?
chuky666
 
Beiträge: 49
Registriert: Mo 28. Sep 2015, 21:04

Re: Datenmodellierung für ein Stern-Schema

Beitragvon RainerH » Mo 28. Nov 2016, 14:25

Ja, genau so ist das.
Natürlich wirst Du noch weitere Attribute als Filter nehmen, z.B. Datum und Kunden.

-
Rainer
Nimm NICHTS persönlich -- alles ist Feedback...
RainerH
 
Beiträge: 220
Registriert: Fr 1. Nov 2013, 17:58

Re: Datenmodellierung für ein Stern-Schema

Beitragvon chuky666 » Fr 2. Dez 2016, 14:38

Hallo Rainer :)

ich habe mir nochmal die KundenDimension angeschaut und festgestellt das diese glaube ich suboptimal ist in meinen Szenario.

Wir haben einen Regulierer, dieser kann aber N-Stationen haben. Ich hab aus einer Kunden Dimension jetzt eine Regulierer DImension und Station gemacht. Beide sind über einen FK miteinander verbunden

Ist das so sinnvoll?

Hier die (vorläufigen)Scripte:

create table regulierer
(
reg_sid bigint identity(1,1) not null,
reg_matchcode varchar(200) not null,
reg_nummer bigint not null primary key,
region_sid bigint not null,
reg_ort varchar(500) not null,
reg_plz int not null,
reg_straße varchar(100) not null,
reg_hausnr int not null,
reg_adresszusatz varchar(100) not null,
reg_telefon varchar(100),
reg_fax varchar(100)
);

CREATE TABLE stationen
(
stat_sid bigint identity(1,1) not null,
reg_nummer bigint not null
references dbo.regulierer (reg_nummer)
on update cascade,
stat_nummer bigint not null,
stat_matchcode varchar(200) not null
);


Viele Grüße
chuky666
 
Beiträge: 49
Registriert: Mo 28. Sep 2015, 21:04


Zurück zu Microsoft Data Warehouse

 


  • Related topics
    Antworten
    Zugriffe
    Letzter Beitrag

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron
  • Jetzt Fan werden
  • Newsletter abonnieren? Hier anmelden!

    Alle Informationen aus dem Portal, Blog und Forum in einem Newsletter!

    E-Mail-Adresse: