ING_DB
This commit is contained in:
parent
7aa015e489
commit
5799b68c01
|
|
@ -0,0 +1,87 @@
|
||||||
|
#
|
||||||
|
# MAKEFILE ZUR INSTALLATION DER DEMONSTRATIONEN
|
||||||
|
# ---------------------------------------------
|
||||||
|
#
|
||||||
|
# (Alle Funkionen koennen auch mit grossen Buchstaben
|
||||||
|
# aufgerufen werden !)
|
||||||
|
#
|
||||||
|
# FUNKTIONSBESCHREIBUNG
|
||||||
|
# ---------------------
|
||||||
|
#
|
||||||
|
# ----- make INSTALL
|
||||||
|
# installiert das Kommando `demodb' zur Erzeugung
|
||||||
|
# einer vollstaendigen Demonstrationsdatenbank
|
||||||
|
# durch einen Datenbanknutzer oeffentlich.
|
||||||
|
# Zusaetzlich wird das Kommando `tutdb' zum auto-
|
||||||
|
# matischen Abarbeiten der QL-Lehrbeispiele erzeugt.
|
||||||
|
#
|
||||||
|
# ----- make CLEAN
|
||||||
|
# loescht alle generierten und installierten Beispiele.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# ----- BASIS DEFINITIONEN
|
||||||
|
#
|
||||||
|
SHELL= /bin/sh
|
||||||
|
BIN= ../../bin
|
||||||
|
RM= rm -f
|
||||||
|
CP= cp
|
||||||
|
CHMOD= chmod
|
||||||
|
MODE= 0755
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# ----- INSTALL
|
||||||
|
# installiert das Kommando `demodb' zur Erzeugung
|
||||||
|
# einer vollstaendigen Demonstrationsdatenbank
|
||||||
|
# durch einen Datenbanknutzer oeffentlich.
|
||||||
|
# Zusaetzlich wird das Kommando `tutdb' zum auto-
|
||||||
|
# matischen Abarbeiten der QL-Lehrbeispiele erzeugt.
|
||||||
|
# Beide Kommandos erhalten als Argument ein vom
|
||||||
|
# Nutzer vorzuschlagenden Datenbanknamen.
|
||||||
|
#
|
||||||
|
INSTALL: install
|
||||||
|
|
||||||
|
install: $(BIN)/demodb $(BIN)/tutdb
|
||||||
|
|
||||||
|
$(BIN)/demodb: demodb
|
||||||
|
$(CP) demodb $@
|
||||||
|
@$(CHMOD) $(MODE) $@
|
||||||
|
|
||||||
|
$(BIN)/tutdb: tutdb
|
||||||
|
$(CP) tutdb $@
|
||||||
|
@$(CHMOD) $(MODE) $@
|
||||||
|
|
||||||
|
#
|
||||||
|
# ----- CLEAN
|
||||||
|
# loescht alle generierten und installierten Beispiele.
|
||||||
|
#
|
||||||
|
CLEAN: clean
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@-$(RM) $(BIN)/demodb $(BIN)/tutdb
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# FOLGENDE FUNKTION SIND INTERN
|
||||||
|
#
|
||||||
|
HOME= /z/dbs/demo/ql
|
||||||
|
DISK= /dev/dbs
|
||||||
|
SRC= Makefile READ_ME abt artikel \
|
||||||
|
erfindungen lager lieferant lieferung \
|
||||||
|
personal teile verkauf demodb \
|
||||||
|
tutdb tutorial
|
||||||
|
|
||||||
|
.save: $(SRC)
|
||||||
|
mount $(DISK) /wrk
|
||||||
|
cp $? $@ /wrk/demo_ql
|
||||||
|
> $@
|
||||||
|
umount $(DISK)
|
||||||
|
|
||||||
|
$(HOME)/.save: $(SRC)
|
||||||
|
cp $? $(HOME)
|
||||||
|
> $@
|
||||||
|
|
||||||
|
.PRECIOUS: .save
|
||||||
|
.PRECIOUS: $(HOME)/.save
|
||||||
|
|
@ -0,0 +1,227 @@
|
||||||
|
if test "$1" = "" ; then
|
||||||
|
echo Kein Datenbankname spezifiziert
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
echo Die Datenbank $1 wird erstellt -- bitte warten Sie !
|
||||||
|
if creatdb -c $2 $1 ; then echo Erzeugen der Relationen laeuft ; else exit; fi
|
||||||
|
iql -s $1 << 'EOF'
|
||||||
|
|
||||||
|
:: abt
|
||||||
|
\print
|
||||||
|
\reset
|
||||||
|
create abt
|
||||||
|
(
|
||||||
|
num is i2,
|
||||||
|
name is c20,
|
||||||
|
lager is i2,
|
||||||
|
etage is i2,
|
||||||
|
leiter is i2
|
||||||
|
)
|
||||||
|
copy abt
|
||||||
|
(
|
||||||
|
num is c0,
|
||||||
|
name is c0,
|
||||||
|
lager is c0,
|
||||||
|
etage is c0,
|
||||||
|
leiter is c0nl
|
||||||
|
)
|
||||||
|
from "{pathname}/demo/ql/abt"
|
||||||
|
range of abt is abt
|
||||||
|
define permit all on abt to all
|
||||||
|
\go
|
||||||
|
:: artikel
|
||||||
|
\print
|
||||||
|
\reset
|
||||||
|
create artikel
|
||||||
|
(
|
||||||
|
num is i2,
|
||||||
|
name is c20,
|
||||||
|
abt is i2,
|
||||||
|
preis is i2,
|
||||||
|
menge is i2,
|
||||||
|
lieferant is i2
|
||||||
|
)
|
||||||
|
copy artikel
|
||||||
|
(
|
||||||
|
num is c0,
|
||||||
|
name is c0,
|
||||||
|
abt is c0,
|
||||||
|
preis is c0,
|
||||||
|
menge is c0,
|
||||||
|
lieferant is c0nl
|
||||||
|
)
|
||||||
|
from "{pathname}/demo/ql/artikel"
|
||||||
|
range of artikel is artikel
|
||||||
|
define permit all on artikel to all
|
||||||
|
\go
|
||||||
|
:: erfind
|
||||||
|
\print
|
||||||
|
\reset
|
||||||
|
create erfind
|
||||||
|
(
|
||||||
|
erfindung is c36,
|
||||||
|
erfinder is c20,
|
||||||
|
jahr is c9,
|
||||||
|
land is c12
|
||||||
|
)
|
||||||
|
copy erfind
|
||||||
|
(
|
||||||
|
x0 is "d0'",
|
||||||
|
erfindung is "c0'",
|
||||||
|
x1 is d2,
|
||||||
|
erfinder is "c0'",
|
||||||
|
x2 is "d0'",
|
||||||
|
jahr is "c0'",
|
||||||
|
x3 is d2,
|
||||||
|
land is "c0'",
|
||||||
|
x4 is "d0;",
|
||||||
|
x5 is d0nl
|
||||||
|
)
|
||||||
|
from "{pathname}/demo/ql/erfindungen"
|
||||||
|
range of erfind is erfind
|
||||||
|
define permit all on erfind to all
|
||||||
|
\go
|
||||||
|
:: lager
|
||||||
|
\print
|
||||||
|
\reset
|
||||||
|
create lager
|
||||||
|
(
|
||||||
|
num is i2,
|
||||||
|
ort is c15,
|
||||||
|
plz is i2,
|
||||||
|
strasse is c15
|
||||||
|
)
|
||||||
|
copy lager
|
||||||
|
(
|
||||||
|
num is c0,
|
||||||
|
ort is c0,
|
||||||
|
plz is c0,
|
||||||
|
strasse is c0nl
|
||||||
|
)
|
||||||
|
from "{pathname}/demo/ql/lager"
|
||||||
|
range of lager is lager
|
||||||
|
define permit all on lager to all
|
||||||
|
\go
|
||||||
|
:: lieferant
|
||||||
|
\print
|
||||||
|
\reset
|
||||||
|
create lieferant
|
||||||
|
(
|
||||||
|
num is i2,
|
||||||
|
name is c15,
|
||||||
|
ort is c15,
|
||||||
|
plz is i2,
|
||||||
|
strasse is c15
|
||||||
|
)
|
||||||
|
copy lieferant
|
||||||
|
(
|
||||||
|
num is c0,
|
||||||
|
name is c0,
|
||||||
|
ort is c0,
|
||||||
|
plz is c0,
|
||||||
|
strasse is c0nl
|
||||||
|
)
|
||||||
|
from "{pathname}/demo/ql/lieferant"
|
||||||
|
range of lieferant is lieferant
|
||||||
|
define permit all on lieferant to all
|
||||||
|
\go
|
||||||
|
:: lieferung
|
||||||
|
\print
|
||||||
|
\reset
|
||||||
|
create lieferung
|
||||||
|
(
|
||||||
|
lnum is i2,
|
||||||
|
tnum is i2,
|
||||||
|
bnum is i2,
|
||||||
|
liefdat is c8,
|
||||||
|
menge is i2
|
||||||
|
)
|
||||||
|
copy lieferung
|
||||||
|
(
|
||||||
|
lnum is c0,
|
||||||
|
tnum is c0,
|
||||||
|
bnum is c0,
|
||||||
|
liefdat is c0,
|
||||||
|
menge is c0nl
|
||||||
|
)
|
||||||
|
from "{pathname}/demo/ql/lieferung"
|
||||||
|
range of lieferung is lieferung
|
||||||
|
define permit all on lieferung to all
|
||||||
|
\go
|
||||||
|
:: personal
|
||||||
|
\print
|
||||||
|
\reset
|
||||||
|
create personal
|
||||||
|
(
|
||||||
|
num is i2,
|
||||||
|
name is c20,
|
||||||
|
gehalt is i2,
|
||||||
|
leiter is i2,
|
||||||
|
gebdat is i2,
|
||||||
|
einstdat is i2
|
||||||
|
)
|
||||||
|
copy personal
|
||||||
|
(
|
||||||
|
num is c0,
|
||||||
|
name is c0,
|
||||||
|
gehalt is c0,
|
||||||
|
leiter is c0,
|
||||||
|
gebdat is c0,
|
||||||
|
einstdat is c0nl
|
||||||
|
)
|
||||||
|
from "{pathname}/demo/ql/personal"
|
||||||
|
range of personal is personal
|
||||||
|
define permit all on personal to all
|
||||||
|
\go
|
||||||
|
:: teile
|
||||||
|
\print
|
||||||
|
\reset
|
||||||
|
create teile
|
||||||
|
(
|
||||||
|
tnum is i2,
|
||||||
|
tname is c20,
|
||||||
|
farbe is c8,
|
||||||
|
gewicht is i2,
|
||||||
|
menge is i2
|
||||||
|
)
|
||||||
|
copy teile
|
||||||
|
(
|
||||||
|
tnum is c0,
|
||||||
|
tname is c0,
|
||||||
|
farbe is c0,
|
||||||
|
gewicht is c0,
|
||||||
|
menge is c0nl
|
||||||
|
)
|
||||||
|
from "{pathname}/demo/ql/teile"
|
||||||
|
range of teile is teile
|
||||||
|
define permit all on teile to all
|
||||||
|
\go
|
||||||
|
:: verkauf
|
||||||
|
\print
|
||||||
|
\reset
|
||||||
|
create verkauf
|
||||||
|
(
|
||||||
|
num is c6,
|
||||||
|
datum is c8,
|
||||||
|
lager is i2,
|
||||||
|
abt is i2,
|
||||||
|
artikel is i2,
|
||||||
|
menge is i2,
|
||||||
|
person is i2
|
||||||
|
)
|
||||||
|
copy verkauf
|
||||||
|
(
|
||||||
|
num is c0,
|
||||||
|
datum is c0,
|
||||||
|
lager is c0,
|
||||||
|
abt is c0,
|
||||||
|
artikel is c0,
|
||||||
|
menge is c0,
|
||||||
|
person is c0nl
|
||||||
|
)
|
||||||
|
from "{pathname}/demo/ql/verkauf"
|
||||||
|
range of verkauf is verkauf
|
||||||
|
define permit all on verkauf to all
|
||||||
|
\go
|
||||||
|
EOF
|
||||||
|
echo Datenbank $1 erstellt
|
||||||
Loading…
Reference in New Issue