Hallo zusammen,
ich bräuchte bitte ein paar erfahrene Stimmen.
Ziel:
eine Programm mit dem ich alte Rechnungen einlesen und in einer DB speichern kann und zukünftig über das Programm auch neu erstellen kann.
Problem:
ich bin mir nicht sicher inwieweit meine entworfene DB sicher stellt das Kunden verschiedene Preise zahlen für die selbe Leistung sowie die gespeicherten Daten nicht durch neuere Daten überschrieben werden.
Also Beispiel Kunde 1 zahl pro Reinigung 25€ Kunde 2 zahlt 24,22€--> das habe ich versucht über einen Rabatt zu lösen
ich bräuchte bitte ein paar erfahrene Stimmen.
Ziel:
eine Programm mit dem ich alte Rechnungen einlesen und in einer DB speichern kann und zukünftig über das Programm auch neu erstellen kann.
Problem:
ich bin mir nicht sicher inwieweit meine entworfene DB sicher stellt das Kunden verschiedene Preise zahlen für die selbe Leistung sowie die gespeicherten Daten nicht durch neuere Daten überschrieben werden.
Also Beispiel Kunde 1 zahl pro Reinigung 25€ Kunde 2 zahlt 24,22€--> das habe ich versucht über einen Rabatt zu lösen
Code:
create database rechnungsverwaltung;
use rechnungsverwaltung;
create table Kunde (
KundenNummer integer primary key auto_increment,
Firma varchar(155),
Anrede varchar(20),
Vorname varchar(100),
Nachname varchar(100),
Strasse varchar(155),
Hausnummer varchar(10),
PLZ varchar(6),
Ort varchar(100),
Land varchar(100),
Rabatt float(2));
create table Preis(
PreisNummer integer primary key auto_increment,
Betrag float(2));
create table Leistung(
LeistungsNummer integer primary key auto_increment,
Bezeichnung varchar(255),
LeistungPreisNr integer,
foreign key (LeistungPreisNr)references Preis(PreisNummer));
create table Artikel(
ArtikelNummer integer primary key auto_increment,
Bezeichnung varchar(255),
ArtikelPreisNr integer,
foreign key(ArtikelPreisNr) references Preis(PreisNummer));
create table Rechnung(
RechnungsNummer integer primary key auto_increment,
Datum date,
Zahlungsziel date,
Netto float(2),
MehrwertsteuerSatz integer,
MwSt float(2),
Brutto float(2));
create table Rechnungsposition(
RechnungspositionsNummer integer auto_increment primary key,
Anzahl float(2),
Bezugsgröße float(2),
Satz float(2),
Betrag float(2),
Beschreibung varchar(255),
RPArtikelNummer integer,
foreign key(RPArtikelNummer) references Artikel(ArtikelNummer),
RPLeistungsNummer integer,
foreign key(RPLeistungsNummer) references Leistung(LeistungsNummer),
RPRechnung integer,
foreign key (RPRechnung) references Rechnung(RechnungsNummer));