PMG1617/DB Beleg/Anna

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

'''Datenbank-Projekt: K-Pop'''
==Begründung Themenwahl==

Das Ziel dieser Datenbank ist es, schnell die verschiedensten Informationen über bestimmte K-Pop Gruppen zu bekommen. 

==Modellierung in ERM==

[[Bild:Anna_Unbenannt.JPG]]

[[Bild:Anna_0.JPG]]

Kardinalität: = Menge der Anzahl der Elemente in einer Menge => Anzahl der Zeilen und Anzahl der verschiedenen Attributwerte einer Spalte

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

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

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

==Transformation in Relationenmodell==

BTS (BTS_ID, Name, Alter, Vorname) 

BigHit-Ent (BTS_ID, Ent_ID) 

==DB==
<code id="5aa64d07e2c28">
Create Table Kunde(
        Vorname varchar,
        Nachname varchar,
        Geburtsjahr varchar,
        Straße varchar,
        Wohnort varchar,
        Postleitzahl varchar,
        Hausnummer varchar,
        Kunden_ID integer)
        Primary Key (Kunden_ID);

Create Table Smartphone(
        Hersteller varchar,
        Software varchar,
        Hardware varchar,
        Größe varchar, 
        Smarthpone_ID integer,
        Preis decimal)
        Primary Key (Smartphone_ID);

Create Table Händler(
        Name varchar,
        Anzahl integer,
        Adresse varchar,
        Handy_ID integer, 
        Kunden_ID integer )
        Primary Key (Kunden_ID);

INSERT INTO Kunde (Vorname, Nachname, Geburtsjahr,Wohnort, Postleitzahl, Hausnummer, Straße, Kunden_ID) VALUES ('Max','Humpel','2000','Bautzen','02625','Czornebohstraße','15','1');
INSERT INTO Kunde (Vorname, Nachname, Geburtsjahr,Wohnort, Postleitzahl, Hausnummer, Straße, Kunden_ID) VALUES 
('Erik','Seppel','1960','Dresden','01067','Siemensstraße','6','2');
INSERT INTO Kunde (Vorname, Nachname, Geburtsjahr,Wohnort, Postleitzahl, Hausnummer, Straße, Kunden_ID) VALUES 
('Maik','Müller','1998','Dresden','01067','Saalfelderstraße','5','3');
INSERT INTO Kunde (Vorname, Nachname, Geburtsjahr,Wohnort, Postleitzahl, Hausnummer, Straße, Kunden_ID) VALUES
('Cindy','Otto','2003','Bautzen','02625','Rosenstraße','3','4');
INSERT INTO Kunde (Vorname, Nachname, Geburtsjahr,Wohnort, Postleitzahl, Hausnummer, Straße, Kunden_ID) VALUES
('Luisa','Henkel','1990','Leipzig','04103','Ungerstraße','9','5');


INSERT INTO Smartphone (Hersteller, Software, Größe, Smartphone_ID, Preis, Typ) VALUES ('Apple','IOS','5','1','390','Iphone 8');
INSERT INTO Smartphone (Hersteller, Software, Größe, Smartphone_ID, Preis, Typ) VALUES('Samsung','Android','6','2','250','Samsung J3');
INSERT INTO Smartphone (Hersteller, Software, Größe, Smartphone_ID, Preis, Typ) VALUES('Huawei','Android','4','3','290','Huawei P10'); 
INSERT INTO Smartphone (Hersteller, Software, Größe, Smartphone_ID, Preis, Typ) VALUES('Samsung','Android','7','4','410','Note 8');
INSERT INTO Smartphone (Hersteller, Software, Größe, Smartphone_ID, Preis, Typ) VALUES ('Apple','IOS','6','5','1000','Iphone 10'); 


INSERT INTO Händler (Name, Anzahl, Ort, Postleitzahl, Straße, Hausnummer)VALUES('Medimax','20','Bautzen','02625','Kornmarkt','7');
INSERT INTO Händler (Name, Anzahl, Ort, Postleitzahl, Straße, Hausnummer )VALUES('Expert','40','Bautzen','02625','Dresdenerstraße','50');
INSERT INTO Händler (Name, Anzahl, Ort, Postleitzahl, Straße, Hausnummer )VALUES('Vodafoneshop','5','Dresden','01067','Kesseldorferstraße','2');
INSERT INTO Händler (Name, Anzahl, Ort, Postleitzahl, Straße, Hausnummer )VALUES('Billigmillig','5','Bautzen','02625','Löbauerstraße','99');
INSERT INTO Händler (Name, Anzahl, Ort, Postleitzahl, Straße, Hausnummer )VALUES('Conrad','90','Leipzig','09604','Neumarkt','20');

</code>





<code></code>

<code id="5ab8ac44366cb">

Create table T_BTS
     BTS_ID integer,
     Name varchar (100),
     Primary Key (BTS_ID) ;
Create table T_BigHit-Ent
    BTS_ID integer,
    B_ID integer,
    Primary Key (K_ID,B_ID) ;
INSERT INTO T_BTS (BTS_ID, Name) 
INSERT INTO T_BigHit-Ent (BTS_ID, B_ID) 
VALUES ('1', '2');

</code>

Normalformen:

:ENF: - Tabellenfelder so zerlegen, dass in einem Feld wirklich nur eine Info steht
        -> Problem: durch eine Änderung können mehrere Änderungen hervorgerufen werden


:ZNF: - eindeutige Zuordnung durch Primärschlüssel

:DNF: - Nachteile: Durchmusterung der gesamten Tabelle, wenn es eine Änderung gibt
        - Einfüge- und Löschanomalien: 
          - wenn Daten in eine Datenbank eingefügt werden,und dabei Schwierigkeiten 
            entstehen, weil z.B. Attribute fehlen = Einfügeanomalie; 
          - wenn durch das Löschen eines Datensatzes mehr Informationen verloren gehen, 
            als gewollt = Löschanomalien

==Abfragen==

1. (einfach)
   <run>SELECT * FROM ;
SELECT * FROM </run>
 
2. (mittel)
   <run>SELECT * FROM ;
SELECT * FROM</run>

3. (schwer)
   <run>SELECT * FROM ;
SELECT * FROM</run>

==kritische Reflexion zu Modellierung und Umsetzung==

Modelle sind wichtige Hilfsmittel, um komplexer Systeme darzustellen.
Die Modellierung umfasst viele Themenbereiche, wie z.B. Softwareentwicklung, sowie -nutzung, Kommunikation, ..., und ist sehr vielfältig.

Vorteile:

- sichere und einfache Durchführung von Tests an Hard- und Software

- leicht zugänglich und verständlich

-> für Informationen zu den Alben der Gruppen, siehe: Tam [http://programmingwiki.de/PMG1617/DB_Beleg/Tam]