PMG1617/DB Beleg/Tam

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>
==Datenbank-Projekt: Kpop-Alben==
Dies ist eine weiterführende Datenbank zum Thema Kpop. (siehe Kpop-DB Anna:[http://programmingwiki.de/PMG1617/DB_Beleg/Anna])

==Ziel der Datenbank==
Dies soll einen Einblick liefern, hinsichtlich dem Prozess der Produktion von Kpop-Alben. 

==Modellierung==
===Entity-Rerlation-Model===
[[Bild:Tammy_KpopAlben.jpeg | Miniatur | 1000 px]]
===Kardinalität===

1:1-Beziehung: Jeder Entität der Entitymenge A wird genau eine Entität der Entitymenge B zugeordnet und umgekehrt.

1:n-Beziehung: Jeder Entität der Entitymenge A können mehrere Entitäten der Entitymenge B zugeordnet werden, umgekehrt kann jedoch jeder Entität der Menge B nur genau eine Entität der Menge A zugeordnet werden.

m:n-Beziehung: Jeder Entität der Entitymenge A können mehrere Entitäten der Entitymenge B zugeordnet werden und umgekehrt. 

===Normalform===

=====ENF=====
Tabellenfelder müssen so zerlegt werden, dass in einem Feld wirklich nur noch '''eine''' Information steht. ( 1. Normalform )

    '''''Problem:''''' - Es sind mehrere Informationen pro Feld vorhanden
    '''''Abhilfe:''''' - Eine ''Normalisierung'' der Tabellen

=====ZNF=====
Es muss eine eindeutige Zuordnung durch die Primärschlüssel erfolgen.

    '''''Problem:''''' - Änderungen müssen in mehreren Datensätzten vorgenommen werden.

=====DNF=====
Ein Relationstyp befindet sich genau dann in der dritten Normalform , wenn er sich in der ZNF befindet und kein Nichtschlüsselattribut transitiv von einem Kandidatenschlüssel abhängt.

    '''''Ziel:''''' - erfolgreiche Normalisierung in einem relationalen Datenbankmodell

==Relationenmodell==

'''''Primärschlüssel''''' : '''CD_ID'''; '''Fan_ID'''; '''Entertainment_ID'''

   '''Fan''' (Fan_ID ; Adresse ; Vorname ; Nachname ; Alter)
   '''CD''' (CD_ID ; Preis ; Genre ; Name)
   '''Entertainment/Artist''' (Fan_ID ; CD_ID ; ENtertainment_ID ; Adresse ; Name)

==Erstelltung der Datenbank==

<code id="5ab8ac44366cb">
Create table T_Fan
     Fan_ID integer,
     Vorname varchar (100),
     Nachname varchar (100),
     Adresse varchar (5),
     Alter integer,
     Adresse integer,
     Primary Key (Fan_ID) ;



Create table T_Entertainment
    Fan_ID integer,
    Album_ID integer,
    Name varchar,
    Adresse integer,
    Primary Key (Fan_ID,Album_ID) ;


Create table T_Album  
   K_ID integer,
   Preis decimal,
   Genre varchar,
   Name varchar,
   Primary Key (Album_ID) ;

</code>

==Abfragen==

<run id="5ab8ac4436745">



</run>