CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos

|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP 
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |

19.06.2015, 21:33:42
|
Anfänger
|
|
Registriert seit: Jun 2015
Alter: 42
Beiträge: 2
|
|
Dringende Hilfe bei einer Aufgabe
Hallo,
ich benötige ganz dringend Hilfe bei zwei Teilaufgaben, die ich einfach nicht hinbekomme.
Die Aufgabenstellung lautet:
a) Geben Sie das CREATE TABLE Statement an, um die Tabelle Personal zu erzeugen. Folgende
Integritätsbedingungen sollen gelten:
Name, Abteilung und Gehalt müssen angegeben werden.
Das Gehalt darf nicht kleiner als 8000 sein.
Der Vorgesetzte ist entweder NULL oder eine PNR aus der Tabelle Personal.
Wird eine Person gelöscht, erhalten alle anderen, die diese Person als Vorgesetzten
hatten, den Vorgesetzten NULL.
Ändert sich die PNR einer Person, soll sich diese Änderung ebenfalls auf alle Werte der
Vorges-Spalte von Personen auswirken, die diese Person als Vorgesetzten haben.
b) Formulieren Sie die folgende Bedingung mit einer SQL Assertion:
„Jede Person ist entweder in der gleichen Abteilung wie sein Vorgesetzter oder sein
Vorgesetzter ist in der Abteilung Management.“
Bei a) habe ich folgende unvollständige und wahrscheinlich total fasche Lösung:
CREATE TABLE Personal(
PNR INT UNSIGNED AUTO_INCREMENT ON DELETE SET NULL,
NAME VARCHAR(50) NOT NULL,
GEHALT INT NOT NULL CHECK(GEHALT > 8000),
Abt VARCHAR(30) NOT NULL,
Vorges VARCHAR(30) CHECK(Vorges IS NULL OR WHERE EXISTS (Select pnr FROM Personal))
);
Bitte um Lösungvorschläge :(
|

20.06.2015, 10:10:16
|
 |
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.705
|
|
AW: Dringende Hilfe bei einer Aufgabe
Hallo und willkommen hier im Forum.
Zitat:
Zitat von snapdragon
[..]
Bitte um Lösungvorschläge :(
|
Wie sehen Deine (weiteren) Bemühungen bis jetzt aus?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|

20.06.2015, 17:19:04
|
Anfänger
|
|
Registriert seit: Jun 2015
Alter: 42
Beiträge: 2
|
|
AW: Dringende Hilfe bei einer Aufgabe
Hallo,
mein bisheriger Lösungsansatz.
1a)
CREATE TABLE Personal(
PNR INT UNSIGNED AUTO_INCREMENT ON DELETE SET NULL,
NAME VARCHAR(50) NOT NULL,
GEHALT INT NOT NULL CHECK(GEHALT > 8000),
Abt VARCHAR(30) NOT NULL,
Vorges INT UNSIGNED CHECK(Vorges IS NULL OR WHERE EXISTS (Select pnr FROM Personal)),
FOREIGN KEY(Vorges) REFERENCES Personal(ID) ON UPDATE CASCADE
);
1b) CREATE ASSERTION meineAssertion CHECK (
Bei Punkt 1b habe ich garkeine Ahung, wie ich die BEdingung abbilden soll.
Bei Aufgabe 1a sind es glaube ich die letzten 3 Teile, die ich nicht abgebildet bekomme.
Habe das Skript schon zig mal gelesen und im Internet nachgesehen aber ich komme einfach nicht drauf.... :(
|

07.07.2015, 21:30:08
|
 |
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 54
Beiträge: 1.044
|
|
AW: Dringende Hilfe bei einer Aufgabe
Als Erstest solltest du über die Personalnummer nachdenken.
Eine Firma verwendet hier eher Nummerierungen, die sich aus dem Organigramm ergeben.
Auf autoincrement würde ich von daher verzichten.
Zusätzlich gibt es die Bedingung, dass diese sich ändern kann. was ebenfalls gegen autoincrement spricht.
PRN müsste somit auf delete und update reagieren!
b) http://wikis.gm.fh-koeln.de/wiki_db/...nken/ASSERTION sollte dir weiter helfen
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 09:49:51 Uhr.
|