📄 pers.sql
字号:
set echo on
set termout on
set tab off
spool z:\oracle\pers.txt
set pause '=============> Weiter mit <ET>'
set linesize 120
set pagesize 37
-- ************************************************************************
-- * Datenbank: Personal Stand: 22.3.2000 *
-- ************************************************************************
-- /\
-- / \
-- /hat-\
-- \ltr /
-- \ /
-- /\ |\/|
-- / \ 1| |n
-- / \ | |
-- +------------------+ 1 / \ n +------------------+
-- | ABT |-------\ist-in/------| BESCH |
-- +------------------+ \ / +------------------+
-- \ / |
-- \/ | n
-- /\
-- / \
-- /hat \
-- \ /
-- \ /
-- \/
-- |
-- | 1
-- +------------------+
-- | GEHSTUFE |
-- +------------------+
--
-- besch (bnr, name, taet, e_datum, geh, praem, zuschl)
-- ===
-- besch Entity-Typ Beschaeftigte
-- bnr Beschaeftigten-Nummer
-- name Name
-- taet Taetigkeit
-- e_datum Einstellungsdatum
-- geh Gehalt
-- zuschl Gehaltszuschlag
-- praem Jahrespraemie
-- Primaerschluessel: bnr
--
-- abt (abtnr, abtname, ort)
-- =====
-- abt Entity-Typ Abteilungen
-- abtnr Abteilungs-Nummer
-- abtname Abteilungs-Name
-- ort Ort
-- Primaerschluessel: abtnr
--
-- gehstufe (stufe, von, bis)
-- =====
-- gehstufe Entity-Typ Gehaltsstufen
-- stufe Gehaltsstufe
-- von Untergrenze der Stufe
-- bis Obergrenze der Stufe
-- Primaerschluessel: gehstufe
DROP TABLE besch;
DROP TABLE abt;
DROP TABLE gehstufe;
DROP TABLE kursus;
DROP VIEW teiln1;
DROP VIEW teiln2;
CREATE TABLE besch
(bnr NUMBER (4) NOT NULL,
name VARCHAR (10),
taet VARCHAR (10),
ltr NUMBER (4),
e_datum DATE,
geh NUMBER (7, 2),
zuschl NUMBER (7, 2),
praem NUMBER (9,2),
abtnr NUMBER (2) NOT NULL);
-- abtnr ist Fremdschluessel fuer die Abteilungszugehoerigkeit
-- ltr ist Fremdschluessel, der den Leiter benennt, d.h. Rolle fuer bnr
CREATE TABLE abt
(abtnr NUMBER (2) NOT NULL, abtname VARCHAR (10), ort VARCHAR (7));
CREATE TABLE gehstufe (stufe NUMBER, von NUMBER, bis NUMBER);
-- von und bis ermoeglichen den Theta-Join ueber das Gehalt
INSERT INTO besch VALUES
(7839, 'KOENIG', 'DIREKTOR', NULL, '17.11.99', 6000, NULL, NULL, 10);
INSERT INTO besch VALUES
(7566, 'JONAS', 'LEITER', 7839, '2.4.98', 5000, NULL, NULL, 20);
INSERT INTO besch VALUES
(7698, 'BLASCHE', 'LEITER', 7839, '1.7.98', 5200, NULL, NULL, 30);
INSERT INTO besch VALUES
(7782, 'CLAUSS', 'LEITER', 7839, '9.6.97', 5000, NULL, NULL, 10);
INSERT INTO besch VALUES
(7788, 'SCHOTT', 'INGENIEUR', 7566, '17.2.00', 5200, NULL, NULL, 20);
INSERT INTO besch VALUES
(7876, 'ADAM', 'SACHB.', 7788, '23.8.96', 3600, NULL, NULL, 20);
INSERT INTO besch VALUES
(7902, 'FORNER', 'INGENIEUR', 7566, '3.2.99', 4400, NULL, NULL, 20);
INSERT INTO besch VALUES
(7369, 'SCHMIDT', 'SACHB.', 7902, '17.1.99', 3200, NULL, NULL, 20);
INSERT INTO besch VALUES
(7499, 'ALTMANN', 'VERKAEUFER', 7698, '20.2.97', 2400, 800, NULL, 30);
INSERT INTO besch VALUES
(7521, 'WARKUS', 'VERKAEUFER', 7698, '22.2.97', 2650, 1000, NULL, 30);
INSERT INTO besch VALUES
(7654, 'MARTIN', 'VERKAEUFER', 7698, '28.8.97', 3200, 2600, NULL, 30);
INSERT INTO besch VALUES
(7844, 'THOMAS', 'VERKAEUFER', 7698, '8.9.96', 2400, 0, NULL, 30);
INSERT INTO besch VALUES
(7900, 'JUHN', 'SACHB.', 7698, '3.1.97', 4800, NULL, NULL, 30);
INSERT INTO besch VALUES
(7934,'MUELLER', 'SACHB.', 7782, '23.1.98', 4850, NULL, NULL, 10);
INSERT INTO abt VALUES (10, 'DIREKTION', 'BERLIN');
INSERT INTO abt VALUES (20, 'FORSCHUNG', 'DRESDEN');
INSERT INTO abt VALUES (30, 'VERKAUF', 'LEIPZIG');
INSERT INTO abt VALUES (40, 'PRODUKTION', 'MEISSEN');
INSERT INTO gehstufe VALUES (1, 1600, 2500);
INSERT INTO gehstufe VALUES (2, 2501, 3400);
INSERT INTO gehstufe VALUES (3, 3401, 4000);
INSERT INTO gehstufe VALUES (4, 4001, 5200);
INSERT INTO gehstufe VALUES (5, 5201, 10000);
COMMIT;
SELECT * FROM tab;
SELECT * FROM besch;
SELECT * FROM abt;
SELECT * FROM gehstufe;
spool off
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -