Diskussion:Einführung in SQL: Downloads

Aus Wikibooks
Wechseln zu: Navigation, Suche

Autoren der früheren Kapitel[Bearbeiten]

In der ursprünglichen Konzeption gab es mehrere Kapitel mit SQL-Skripten als Ergänzung zu Tabellenstruktur der Beispieldatenbank sowie zu Änderung der Datenbankstruktur. Diese Skripte wurden ausgelagert auf eine Download-Seite. Dieses Kapitel enthält jetzt Erläuterungen zu dieser Download-Seite. In der folgenden Aufstellung werden die Bearbeiter der bisherigen Kapitel und Diskussionen aufgeführt.

Dieser Artikel basiert auf dem Artikel Einführung in SQL: Tabellenstruktur der Beispieldatenbank aus dem freien Projekt wikibooks und steht unter der GNU Lizenz für freie Dokumentation und der CC-by-sa 3.0. Gemäß den Lizenzbestimmungen ist hier die Liste der Autoren zum Exportzeitpunkt 17. Feb. 2011 16:30 (CET) wiedergegeben.

Benutzer
 
Ergänzung zu Tabellenstruktur der Beispieldatenbank
  • Skript und Anleitung für Firebird
  • Skript und Anleitung für MS-SQL
  • Skript und Anleitung für MySQL
  • Skript und Anleitung für Oracle
  • Diskussion zu Oracle
    • mehrere Beiträge einer IP
    • Jürgen, Edits:1
  • Skript und Anleitung für SQLite
Ergänzung zu Änderung der Datenbankstruktur
Gesamtzahl dieser Beiträge
IP-Adressen
IPs haben an den Artikeln nur ausnahmsweise mitgearbeitet, sie sind hier nicht angegeben.
Einen fertig ausgefüllten Textbaustein erstellt Duesentrieb's Contributor Tool auf dem Wikimedia Toolserver. Ist die Liste lang, ist es zweckmäßig, dafür eine neue Seite zu erstellen und von der Seite mit den importierten Inhalten darauf zu verweisen.


Create Database mit Oracle[Bearbeiten]

Testlauf[Bearbeiten]

mit folgenden untigen Änderungen unter Oracle 10 erfolgreich getestet. autoincrement entfernt beim Tabellen anlegen, dann manuell die ID zugefügt beim füllen der Tabellen, Datumsangaben bedurften der Definition. Die Frage ist dann ob die übungen dann generisch genug sind das sie auch mit Oracle SQL laufen oder auch geändert werden müssen. 141.39.13.5 15:32, 13. Dez. 2010 (CET)CA

/* TABLES */
CREATE TABLE Versicherungsvertrag
    (ID                     INTEGER     NOT NULL ,
     Vertragsnummer         VARCHAR(20) NOT NULL,
     Abschlussdatum         DATE        NOT NULL,
     Art                    CHAR(2)     NOT NULL,
     Mitarbeiter_ID         INTEGER     NOT NULL,
     Fahrzeug_ID            INTEGER     NOT NULL,
     Versicherungsnehmer_ID INTEGER     NOT NULL,
     CONSTRAINT Versicherungsvertrag_PK  PRIMARY KEY (ID)
    );
 
CREATE TABLE Zuordnung_SF_FZ
    (ID              INTEGER       NOT NULL ,
     Schadensfall_ID INTEGER       NOT NULL,
     Fahrzeug_ID     INTEGER       NOT NULL,
     Schadenshoehe   DECIMAL(16,2),
     CONSTRAINT Zuordnung_SF_FZ_PK  PRIMARY KEY (ID)
    );
 
CREATE TABLE Schadensfall
    (ID              INTEGER       NOT NULL ,
     Datum           DATE          NOT NULL,
     Ort             VARCHAR(200)  NOT NULL,
     Beschreibung    VARCHAR(1000) NOT NULL,
     Schadenshoehe   DECIMAL(16,2),
     Verletzte       CHAR(1)       NOT NULL,
     Mitarbeiter_ID  INTEGER       NOT NULL,
     CONSTRAINT Schadensfall_PK  PRIMARY KEY (ID)
    );
 
CREATE TABLE Versicherungsnehmer
    (ID              INTEGER       NOT NULL ,
     Name            VARCHAR(30)   NOT NULL,
     Vorname         VARCHAR(30),
     Geburtsdatum    DATE,
     Fuehrerschein   DATE,
     Ort             VARCHAR(30)   NOT NULL,
     PLZ             CHAR(5)       NOT NULL,
     Strasse         VARCHAR(30)   NOT NULL,
     Hausnummer      VARCHAR(10)   NOT NULL,
     Eigener_Kunde   CHAR(1)       NOT NULL,
     Versicherungsgesellschaft_ID  INTEGER,
     CONSTRAINT Versicherungsnehmer_PK  PRIMARY KEY (ID)
    );
 
CREATE TABLE Fahrzeug
    (ID              INTEGER       NOT NULL ,
     Kennzeichen     VARCHAR(10)   NOT NULL,
     Farbe           VARCHAR(30),
     Fahrzeugtyp_ID  INTEGER       NOT NULL,
     CONSTRAINT Fahrzeug_PK  PRIMARY KEY (ID)
    );
 
CREATE TABLE Dienstwagen
    (ID              INTEGER       NOT NULL ,
     Kennzeichen     VARCHAR(10)   NOT NULL,
     Farbe           VARCHAR(30),
     Fahrzeugtyp_ID  INTEGER       NOT NULL,
     Mitarbeiter_ID  INTEGER,
     CONSTRAINT Dienstwagen_PK  PRIMARY KEY (ID)
    );
 
CREATE TABLE Mitarbeiter
    (ID              INTEGER       NOT NULL ,
     Personalnummer  VARCHAR(10)   NOT NULL,
     Name            VARCHAR(30)   NOT NULL,
     Vorname         VARCHAR(30)   NOT NULL,
     Geburtsdatum    DATE          NOT NULL,
     Telefon         VARCHAR(30),
     Mobil           VARCHAR(30),
     Email           VARCHAR(50),
     Raum            VARCHAR(10),
     Ist_Leiter      CHAR(1)       NOT NULL,
     Abteilung_ID    INTEGER       NOT NULL,
     CONSTRAINT Mitarbeiter_PK  PRIMARY KEY (ID)
    );
 
CREATE TABLE Versicherungsgesellschaft
    (ID              INTEGER       NOT NULL ,
     Bezeichnung     VARCHAR(30)   NOT NULL,
     Ort             VARCHAR(30),
     CONSTRAINT Versicherungsgesellschaft_PK  PRIMARY KEY (ID)
    );
 
CREATE TABLE Fahrzeugtyp
    (ID              INTEGER       NOT NULL ,
     Bezeichnung     VARCHAR(30)   NOT NULL,
     Hersteller_ID   INTEGER       NOT NULL,
     CONSTRAINT Fahrzeugtyp_PK  PRIMARY KEY (ID)
    );
 
CREATE TABLE Abteilung
    (ID              INTEGER       NOT NULL ,
     Kuerzel         VARCHAR(10)   NOT NULL,
     Bezeichnung     VARCHAR(30)   NOT NULL,
     Ort             VARCHAR(30),
     CONSTRAINT Abteilung_PK  PRIMARY KEY (ID)
    );
 
CREATE TABLE Fahrzeughersteller
    (ID              INTEGER       NOT NULL ,
     Name            VARCHAR(30)   NOT NULL,
     Land            VARCHAR(30),
     CONSTRAINT Fahrzeughersteller_PK  PRIMARY KEY (ID)
    );
 
/* Basisdaten */
INSERT INTO Fahrzeughersteller (ID, NAME, LAND) VALUES (1, 'Volkswagen', 'Deutschland');
INSERT INTO Fahrzeughersteller (ID, NAME, LAND) VALUES ('2', 'Opel', 'Deutschland');
INSERT INTO Fahrzeughersteller (id, NAME, LAND) VALUES ('3', 'Ford', 'Deutschland');
INSERT INTO Fahrzeughersteller (id, NAME, LAND) VALUES ('4', 'BMW', 'Deutschland');
INSERT INTO Fahrzeughersteller (id, NAME, LAND) VALUES ('5', 'Audi', 'Deutschland');
INSERT INTO Fahrzeughersteller (id, NAME, LAND) VALUES ('6', 'Mercedes-Benz', 'Deutschland');
INSERT INTO Fahrzeughersteller (id, NAME, LAND) VALUES ('7', 'Sachsenring', 'Deutschland');
INSERT INTO Fahrzeughersteller (id, NAME, LAND) VALUES ('8', 'Saab', 'Schweden');
INSERT INTO Fahrzeughersteller (id, NAME)       VALUES ('9', 'Volvo');
INSERT INTO Fahrzeughersteller (id, NAME, LAND) VALUES ('10', 'Renault', 'Frankreich');
INSERT INTO Fahrzeughersteller (id, NAME)       VALUES ('11', 'Seat');
 
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES ('1', 'Polo', 1);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (2, 'Golf', 1);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (3, 'Passat', 1);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (4, 'Kadett', 2);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (5, 'Corsa', 2);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (6, 'Focus', 3);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (7, 'Trabant', 7);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (8, 'Fiesta', 3);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (9, '325', 4);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (10, '525', 4);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (11, 'Z3', 4);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (12, 'A3', 5);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (13, 'A4', 5);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (14, 'A160', 6);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (15, 'W204 (C-Klasse)', 6);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (16, 'W211 (E-Klasse)', 6);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (17, 'Saab 9-3', 8);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (18, 'S40', 9);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (19, 'C30', 9);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (20, 'Clio', 10);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (22, 'Twingo', 10);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (23, 'Ibiza', 11);
INSERT INTO Fahrzeugtyp (id, BEZEICHNUNG, HERSTELLER_ID) VALUES (24, 'Leon', 11);
 
INSERT INTO Abteilung (id, Kuerzel, BEZEICHNUNG, ORT)
   VALUES(1, 'Fibu', 'Finanzbuchhaltung', 'Dortmund');
INSERT INTO Abteilung (id, Kuerzel, BEZEICHNUNG, ORT)
   VALUES(2, 'Albu', 'Anlagenbuchhaltung', 'Dortmund');
INSERT INTO Abteilung (id, Kuerzel, BEZEICHNUNG, ORT)
   VALUES(3, 'Kore', 'Kostenrechnung', 'Dortmund');
INSERT INTO Abteilung (id, Kuerzel, BEZEICHNUNG, ORT)
   VALUES(4, 'Kopl', 'Kostenplanung', 'Dortmund');
INSERT INTO Abteilung (id, Kuerzel, BEZEICHNUNG, ORT)
   VALUES(5, 'Vert', 'Vertrieb', 'Essen');
INSERT INTO Abteilung (id, Kuerzel, BEZEICHNUNG, ORT)
   VALUES(6, 'Lagh', 'Lagerhaltung', 'Bochum');
INSERT INTO Abteilung (id, Kuerzel, BEZEICHNUNG, ORT)
   VALUES(7, 'Prod', 'Produktion', 'Bochum');
INSERT INTO Abteilung (id, Kuerzel, BEZEICHNUNG, ORT)
   VALUES(8, 'ScAb', 'Schadensabwicklung', 'Essen');
INSERT INTO Abteilung (id, Kuerzel, BEZEICHNUNG, ORT)
   VALUES(9, 'Pers', 'Personalverwaltung', 'Essen');
INSERT INTO Abteilung (id, Kuerzel, BEZEICHNUNG, ORT)
   VALUES(10, 'Soz', 'Sozialverwaltung', 'Essen');
INSERT INTO Abteilung (id, Kuerzel, BEZEICHNUNG, ORT)
   VALUES(11, 'Ausb', 'Ausbildung', 'Herne');
INSERT INTO Abteilung (id, Kuerzel, BEZEICHNUNG, ORT)
   VALUES(12, 'Fue', 'Forschung und Entwicklung', 'Bochum');
 
/* Basisdaten: Mitarbeiter
   für jede Abteilung Leiterin und eine Mitarbeiterin,
   für Vertrieb und Schadensabwicklung jeweils insgesamt 4 Personen
 */
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (1, '10001', 'Müller', 'Kurt', to_date('1977-01-05','yyyy-MM-dd') , '0231/5554987', '', 'kurt.mueller@unserefirma.de', '112', 'J', 1);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (2, '10002', 'Schneider', 'Daniela', to_date('1980-02-16','yyyy-MM-dd'), '0231/5554988', NULL, 'daniela.schneider@unserefirma.de', '113', 'N', 1);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (3, '20001', 'Meyer', 'Walter', to_date('1963-07-02','yyyy-MM-dd'), '0231/5553967', '', 'walter.meyer@unserefirma.de', '212', 'J', 2);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (4, '20002', 'Schmitz', 'Michael', to_date('1959-08-25','yyyy-MM-dd'), '0231/5556187', NULL, 'michael.schmitz@unserefirma.de', '212', 'N', 2);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (5, '30001', 'Wagner', 'Gaby', to_date('1970-01-18','yyyy-MM-dd'), '0231/5554787', '', 'gaby.wagner@unserefirma.de', '312', 'J', 3);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (6, '30002', 'Feyerabend', 'Werner', to_date('1982-04-01','yyyy-MM-dd'), '0231/5554997', NULL, 'werner.feyerabend@unserefirma.de', '316', 'N', 3);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (7, '40001', 'Langmann', 'Matthias', to_date('1976-03-28','yyyy-MM-dd') , '0231/5551927', '', 'matthias.langmann@unserefirma.de', '412', 'J', 4);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (8, '40002', 'Peters', 'Michael', to_date('1973-11-15','yyyy-MM-dd'), '0231/5554237', NULL, 'michael.peters@unserefirma.de', '412', 'N', 4);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (9, '50001', 'Pohl', 'Helmut', to_date('1980-10-27','yyyy-MM-dd'), '0201/4014186', '(0171) 4123456', 'helmut.pohl@unserefirma.de', '152', 'J', 5);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (10, '50002', 'Braun', 'Christian', to_date('1966-09-05','yyyy-MM-dd'), '0201/4014726', '(0170) 8351647', 'christian.braun@unserefirma.de', '153', 'N', 5);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (11, '50003', 'Polovic', 'Frantisek', to_date('1961-11-26','yyyy-MM-dd'), '0201/4014727', '(0161) 5124793', 'frantisek.polovic@unserefirma.de', '154', 'N', 5);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (12, '50004', 'Kalman', 'Aydin', to_date('1976-12-17','yyyy-MM-dd'), '0201/4014728', '(0161) 4486319', 'aydin.kalman@unserefirma.de', '155', 'N', 5);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (13, '60001', 'Aagenau', 'Karolin', to_date('1950-01-02','yyyy-MM-dd'), '0234/66006001', '', 'Karolin.Aagenau@unserefirma.de', '48', 'J', 6);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (14, '60002', 'Pinkart', 'Petra', to_date('1953-03-04','yyyy-MM-dd'), '0234/66006002', NULL, 'Petra.Pinkart@unserefirma.de', '43', 'N', 6);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (15, '70001', 'Olschewski', 'Pjotr', to_date('1956-05-06','yyyy-MM-dd'), '0234/66007001', '', 'Pjotr.Olschewski@unserefirma.de', '28', 'J', 7);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (16, '70002', 'Nordmann', 'Jörg', to_date('1959-07-08','yyyy-MM-dd'), '0234/66007002', NULL, 'Joerg.Nordmann@unserefirma.de', '27', 'N', 7);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (17, '80001', 'Schindler', 'Christina', to_date('1962-09-10','yyyy-MM-dd'), '0201/4012151', '(0173) 7513901', 'Christina.Schindler@unserefirma.de', '101', 'J', 8);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (18, '80002', 'Aliman', 'Zafer', to_date('1965-11-12','yyyy-MM-dd'), '0201/4012161', '(0171) 9416755', 'Zafer.Aliman@unserefirma.de', '102', 'N', 8);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (19, '80003', 'Langer', 'Norbert', to_date('1968-01-13','yyyy-MM-dd'), '0201/4012171', '(0162) 1357902', 'Norbert.Langer@unserefirma.de', '103', 'N', 8);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (20, '80004', 'Kolic', 'Ivana', to_date('1971-02-14','yyyy-MM-dd'), '0201/4012181', '(0172) 4680135', 'Ivana.Kolic@unserefirma.de', '104', 'N', 8);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (21, '90001', 'Janssen', 'Bernhard', to_date('1974-03-15','yyyy-MM-dd'), '0201/4013111', '', 'Bernhard.Janssen@unserefirma.de', '201', 'J', 9);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (22, '90002', 'Hinkel', 'Martina', to_date('1977-04-16','yyyy-MM-dd'), '0201/4013110', NULL, 'Martina.Hinkel@unserefirma.de', '203', 'N', 9);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (23, '100001', 'Grosser', 'Horst', to_date('1980-05-17','yyyy-MM-dd'), '0201/4013344', '', 'Horst.Grosser@unserefirma.de', '271', 'J', 10);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (24, '100002', 'Friedrichsen', 'Angelina', to_date('1983-06-20','yyyy-MM-dd'), '0201/4013345', NULL, 'Angelina.Friedrichsen@unserefirma.de', '273', 'N', 10);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID) 
  VALUES (25, '110001', 'Eggert', 'Louis', to_date('1986-07-23','yyyy-MM-dd'), '02323/381456', '', 'Louis.Eggert@unserefirma.de', '14', 'J', 11);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (26, '110002', 'Deiters', 'Gisela', to_date('1989-08-26','yyyy-MM-dd'), '02323/381457', NULL, 'Gisela.Deiters@unserefirma.de', '18', 'N', 11);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (27, '120001', 'Carlsen', 'Zacharias', to_date('1965-09-29','yyyy-MM-dd'), '0234/66012001', '', 'Zacharias.Carlsen@unserefirma.de', '61', 'J', 12);
INSERT INTO MITARBEITER (id, PERSONALNUMMER, NAME, VORNAME, GEBURTSDATUM, TELEFON, MOBIL, EMAIL, RAUM, IST_LEITER, ABTEILUNG_ID)
  VALUES (28, '120002', 'Baber', 'Yvonne', to_date('1957-10-02','yyyy-MM-dd'), '0234/66012002', NULL, 'Yvonne.Baber@unserefirma.de', '62', 'N', 12);
 
/* Basisdaten: für jeden Abteilungsleiter ein Dienstwagen */
create sequence seq_dienstwagen start with 1;
INSERT INTO Dienstwagen ( id, Kennzeichen, Farbe, Fahrzeugtyp_ID, Mitarbeiter_ID)
     SELECT seq_dienstwagen.nextval, 'DO-WB 42' || Abteilung_ID, 'elfenbein', 14, ID FROM Mitarbeiter WHERE Ist_Leiter = 'J';
 
/* Basisdaten: ein paar weitere Dienstwagen */
INSERT INTO Dienstwagen (id, Kennzeichen, Farbe, Fahrzeugtyp_ID, Mitarbeiter_ID)
     VALUES (seq_dienstwagen.nextval, 'DO-WB 111', 'elfenbein', 16, NULL);
INSERT INTO Dienstwagen (id, Kennzeichen, Farbe, Fahrzeugtyp_ID, Mitarbeiter_ID)
     SELECT seq_dienstwagen.nextval, 
            'DO-WB 3' || Abteilung_ID || SUBSTR(Personalnummer, 5, 1),
            'gelb',
            SUBSTR(Personalnummer, 5, 1), 
            ID
       FROM Mitarbeiter
      WHERE Abteilung_ID IN (5, 8)
        AND Ist_Leiter = 'N';
 
/* Basisdaten: Versicherungsgesellschaften */
INSERT INTO Versicherungsgesellschaft (id, Bezeichnung, Ort)
  VALUES (1, 'Deutsches Kontor', 'Frankfurt a.M.');
INSERT INTO Versicherungsgesellschaft (id, Bezeichnung, Ort)
  VALUES (2, 'Rheinischer Vers.-Verein', 'Oberhausen');
INSERT INTO Versicherungsgesellschaft (id, Bezeichnung, Ort)
  VALUES (3, 'Knappschaftshilfe', 'Essen');
INSERT INTO Versicherungsgesellschaft (id, Bezeichnung, Ort)
  VALUES (4, 'Hannoversche Gesellschaft', 'Lehrte');
INSERT INTO Versicherungsgesellschaft (id, Bezeichnung, Ort)
  VALUES (5, 'Westfalen-Bruderhilfe', 'Recklinghausen');
 
/* Arbeitsdaten: Fahrzeuge von Versicherten */
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (1,'RE-LM 901', 'ocker', 5);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (2, 'RE-LM 902', 'ocker', 5);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (3, 'RE-LM 903', 'ocker', 5);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (4, 'GE-AB 123', 'schwarz', 22);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (5, 'RE-CD 456', 'ocker', 21);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (6, 'HER-EF 789', 'gelb', 20);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (7, 'BO-GH 102', 'rot', 19);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (8, 'E-IJ 345', 'bordeaux', 18);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (9, 'BO-KL 678', 'blau', 17);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (10, 'RE-MN 901', 'elfenbein', 16);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (11, 'RE-OP 234', 'ocker', 15);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (12, 'RE-QR 567', 'gelb', 14);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (13, 'RE-ST 890', 'rot', 13);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (14, 'RE-UV 135', 'bordeaux', 12);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (15, 'RE-WX 791', 'ocker', 11);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (16, 'RE-YZ 369', 'rot', 10);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (17, 'GE-AC 246', 'elfenbein', 9);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (18, 'GE-EG 892', 'blau', 8);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (19, 'OB-FH 470', 'elfenbein', 7);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (20, 'BOT-KI 357', 'rot', 6);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (21, 'BOR-NO 234', 'gelb', 4);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (22, 'BOR-PQ 567', 'elfenbein', 3);
INSERT INTO Fahrzeug (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (23, 'BOR-RS 890', 'gelb', 2);
INSERT INTO FAHRZEUG (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (24, 'K-XR 147', NULL, 6);
INSERT INTO FAHRZEUG (id, Kennzeichen, Farbe, Fahrzeugtyp_ID) VALUES (25, 'HH-MM 783', 'schwarz', 7);
 
/* Arbeitsdaten: Versicherungsnehmer */
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (1, 'Heckel Obsthandel GmbH', '', NULL, NULL, 'Dorsten', '46282', 'Gahlener Str.', '40', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (2, 'Antonius', 'Bernhard', to_date('1950-02-01', 'yyyy-MM-dd'), to_date('1972-04-03', 'yyyy-MM-dd'), 'Gelsenkirchen', '45892', 'Coesfelder Str.', '23', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (3,'Cornelsen', 'Dorothea', to_date('1951-06-05', 'yy-MM-dd'), to_date('1974-08-07', 'yyyy-MM-dd'), 'Castrop-Rauxel', '44577', 'Kiefernweg', '9', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (4,'Elberfeld', 'Fritz', to_date('1952-10-09', 'yyyy-MM-dd'), to_date('1976-12-11', 'yyyy-MM-dd'), 'Herne', '44625', 'Haberstr.', '13', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (5,'Geissler', 'Helga', to_date('1953-01-13', 'yyyy-MM-dd'),to_date('1978-02-14', 'yyyy-MM-dd'), 'Bochum', '44809', 'Steinbankstr.', '15', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (6,'Westermann', 'Yvonne', to_date('1961-08-07', 'yyyy-MM-dd'), to_date('1994-10-09','yyyy-MM-dd'), 'Oer-Erkenschwick', '45739', 'Ackerstr.', '34', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (7,'Karlovich', 'Liane', to_date('1955-05-19', 'yyyy-MM-dd'), to_date('1982-06-20', 'yyyy-MM-dd'), 'Hattingen', '45525', 'Raabestr.', '21', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (8,'Meier', 'Norbert', to_date('1956-07-22', 'yyyy-MM-dd'), to_date('1984-08-23', 'yyyy-MM-dd'), 'Recklinghausen', '45665', 'Idastr.', '24', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (9,'Ottensen', 'Petra', to_date('1957-09-25', 'yyyy-MM-dd'), to_date('1986-10-26', 'yyyy-MM-dd'), 'Herten', '45699', 'Gablonzer Weg', '27', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (10,'Quantz', 'Reinhard', to_date('1958-11-28', 'yyyy-MM-dd'), to_date('1988-01-29', 'yyyy-MM-dd'), 'Datteln', '45711', 'Halterner Allee', '30', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (11,'Schiller', 'Theresia', to_date('1959-03-31', 'yyyy-MM-dd'), to_date('1990-02-01', 'yyyy-MM-dd'), 'Haltern', '45721', 'Am Freibad', '32', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (12,'Untermann', 'Volker', to_date('1960-04-02', 'yyyy-MM-dd'), to_date('1992-06-05', 'yyyy-MM-dd'), 'Waltrop', '45731', 'Goethestr.', '33', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (13,'Westermann', 'Yvonne', to_date('1961-08-07', 'yyyy-MM-dd'), to_date('1994-10-09', 'yyyy-MM-dd'), 'Oer-Erkenschwick', '45739', 'Ackerstr.', '34', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (14,'Xanh', 'Wu Dao', to_date('1962-12-11', 'yyyy-MM-dd'), to_date('1996-01-13', 'yyyy-MM-dd'), 'Marl', '45772', 'Bachackerweg', '35', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (15,'Zenep', 'Altun', to_date('1963-02-14', 'yyyy-MM-dd'), to_date('1998-03-15', 'yyyy-MM-dd'), 'Gelsenkirchen', '45888', 'Cheruskerstr.', '36', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (16, 'Bronkovic', 'Cecilia', to_date('1964-04-16', 'yyyy-MM-dd'), to_date('2000-05-17', 'yyyy-MM-dd'), 'Gladbeck', '45966', 'Dechenstr.', '37', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (17, 'Deutschmann', 'Evelyn', to_date('1965-06-18', 'yyyy-MM-dd'),to_date('2002-07-19', 'yyyy-MM-dd'), 'Oberhausen', '46147', 'Ebereschenweg', '38', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (18,'Friedrichsen', 'Gustav', to_date('1966-08-20', 'yyyy-MM-dd'), to_date('2004-09-21', 'yyyy-MM-dd'), 'Bottrop', '46244', 'Falkenweg', '39', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (19,'Jaspers', 'Karol', to_date('1968-12-24', 'yyyy-MM-dd'), to_date('2008-01-25', 'yyyy-MM-dd'), 'Borken', '46325', 'Heimser Weg', '1', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (20,'Liebermann', 'Maria', to_date('1970-02-26', 'yyyy-MM-dd'), to_date('1988-03-27', 'yyyy-MM-dd'), 'Velen', '46342', 'Inselstr.', '4', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (22,'Netep', 'Osman', to_date('1971-05-28', 'yyyy-MM-dd'), to_date('1990-06-29', 'yyyy-MM-dd'), 'Raesfeld', '46348', 'Juister Str.', '7', 'J', NULL);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (23,'Chwielorz', 'Kathrin', to_date('1981-08-18', 'yyyy-MM-dd'),to_date('2002-12-15', 'yyyy-MM-dd'), 'Köln', '50173', 'Gartenfelder Str.', '23', 'N', 3);
INSERT INTO Versicherungsnehmer (id, Name, Vorname, Geburtsdatum, Fuehrerschein, Ort, PLZ, Strasse, Hausnummer, Eigener_Kunde, Versicherungsgesellschaft_ID)
  VALUES (24,'Schwichting', 'Eberhard', to_date('1985-06-27', 'yyyy-MM-dd'), to_date('2003-08-08', 'yyyy-MM-dd'), 'Hamburg', '20444', 'Harvestehuder Weg', '23 a', 'N', 2);
 
/* Arbeitsdaten: für jeden Versicherungsnehmer und jedes Fahrzeug einen Versicherungsvertrag
   Abweichung: der erste Versicherte bekommt als GmbH drei Fahrzeuge, wegen der ID die ersten drei
*/
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (1, 'DG-01',  to_date('1974-05-03', 'yyyy-MM-dd'), 'TK', 9, 1, 1);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (2,'DG-01', to_date('1974-05-03', 'yyyy-MM-dd'), 'TK', 9, 2, 1);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (3, 'DG-01', to_date('1974-05-03', 'yyyy-MM-dd'), 'TK', 9, 3, 1);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (4, 'DH-02', to_date('1990-02-01', 'yyyy-MM-dd'), 'HP', 10, 12, 10);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (5,'DO-03', to_date('1994-10-09', 'yyyy-MM-dd'), 'HP', 9, 14, 12);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (6,'DB-04', to_date('2008-01-25', 'yyyy-MM-dd'), 'HP', 9, 21, 19);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (7,'RH-01', to_date('1976-12-11', 'yyyy-MM-dd'), 'VK', 10, 5, 3);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (8,'RD-02', to_date('1988-01-29', 'yyyy-MM-dd'), 'HP', 9, 11, 9);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (9,'RM-03', to_date('1996-01-13', 'yyyy-MM-dd'), 'HP', 9, 15, 13);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (10,'RD-04', to_date('2006-11-23', 'yyyy-MM-dd'), 'HP', 9, 20, 18);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (11,'RR-05', to_date('1990-06-29', 'yyyy-MM-dd'), 'TK', 9, 23, 21);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (11,'KB-01', to_date('1978-02-14', 'yyyy-MM-dd'), 'TK', 10, 6, 4);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (12,'KH-02', to_date('1986-10-26', 'yyyy-MM-dd'), 'HP', 9, 10, 8);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (13,'KG-03', to_date('1998-03-15', 'yyyy-MM-dd'), 'HP', 9, 16, 14);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (14,'KV-04', to_date('1988-03-27', 'yyyy-MM-dd'), 'HP', 10, 22, 20);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (15,'HE-01', to_date('1980-04-17', 'yyyy-MM-dd'), 'HP', 10, 7, 5);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (16,'HR-02', to_date('1984-08-23', 'yyyy-MM-dd'), 'HP', 9, 9, 7);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (17,'HG-03', to_date('2000-05-17', 'yyyy-MM-dd'), 'HP', 9, 17, 15);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (18,'HB-04', to_date('2004-09-21', 'yyyy-MM-dd'), 'HP', 9, 19, 17);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (19,'XC-01', to_date('1974-08-07', 'yyyy-MM-dd'), 'HP', 10, 4, 2);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (20,'XH-02', to_date('1982-06-20', 'yyyy-MM-dd'), 'VK', 9, 8, 6);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (21,'XW-03', to_date('1992-06-05', 'yyyy-MM-dd'), 'VK', 10, 13, 11);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (22,'XO-04', to_date('2002-07-19', 'yyyy-MM-dd'), 'VK', 9, 18, 16);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (23,'KNH-234', to_date('2007-03-16', 'yyyy-MM-dd'), 'TK', 9, 24, 22);
INSERT INTO Versicherungsvertrag (id, Vertragsnummer, Abschlussdatum, Art, Mitarbeiter_ID, Fahrzeug_ID, Versicherungsnehmer_ID)
  VALUES (24,'RVV-845', to_date('2003-08-08', 'yyyy-MM-dd'), 'HP', 10, 25, 23);
 
/* Laufende Daten: ein paar erste Schadensfälle */
INSERT INTO Schadensfall (ID, Datum, Ort, Beschreibung, Schadenshoehe, Verletzte, Mitarbeiter_ID)
  VALUES (1, to_date('2007-02-03', 'yyyy-MM-dd'), 'Recklinghausen, Bergknappenstr. 144', 'Gartenzaun gestreift', 1234.5, 'N', 14);
INSERT INTO Schadensfall (ID, Datum, Ort, Beschreibung, Schadenshoehe, Verletzte, Mitarbeiter_ID)
  VALUES (2, to_date('2007-07-11', 'yyyy-MM-dd'), 'Haltern, Hauptstr. 46', 'beim Ausparken hat BO-GH 102 die Vorfahrt von RE-CD 456 missachtet', 2066, 'N', 15);
INSERT INTO Schadensfall (ID, Datum, Ort, Beschreibung, Schadenshoehe, Verletzte, Mitarbeiter_ID)
  VALUES (3, to_date('2007-12-19', 'yyyy-MM-dd'), 'Marl, Rathausstr./Halterner Allee', 'beim Abbiegen nach links hat ein fremder Wagen die Vorfahrt missachtet', 3715.6, 'J', 14);
INSERT INTO Schadensfall (ID, Datum, Ort, Beschreibung, Schadenshoehe, Verletzte, Mitarbeiter_ID)
  VALUES (4, to_date('2008-05-27', 'yyyy-MM-dd'), 'Recklinghausen, Südgrabenstr. 23', 'Fremdes parkendes Auto gestreift', 1438.75, 'N', 16);
INSERT INTO Schadensfall (ID, Datum, Ort, Beschreibung, Schadenshoehe, Verletzte, Mitarbeiter_ID)
  VALUES (5, to_date('2008-10-05', 'yyyy-MM-dd'), 'Dorsten, Oberhausener Str. 18', 'beim Ausparken hat ein fremder Wagen die Vorfahrt missachtet', 1983, 'N', 14);
INSERT INTO Schadensfall (ID, Datum, Ort, Beschreibung, Schadenshoehe, Verletzte, Mitarbeiter_ID)
  VALUES (6, to_date('2009-03-13', 'yyyy-MM-dd'), 'Marl, Rathausstr./Halterner Allee', 'beim Abbiegen nach links hat ein fremder Wagen die Vorfahrt missachtet', 4092.15, 'J', 15);
INSERT INTO Schadensfall (ID, Datum, Ort, Beschreibung, Schadenshoehe, Verletzte, Mitarbeiter_ID)
  VALUES (7, to_date('2009-08-21', 'yyyy-MM-dd'), 'Recklinghausen, Bergknappenstr. 144', 'Laternenpfahl umgefahren', 865, 'N', 14);
INSERT INTO Schadensfall (ID, Datum, Ort, Beschreibung, Schadenshoehe, Verletzte, Mitarbeiter_ID)
  VALUES (8, to_date('2009-08-01', 'yyyy-MM-dd'), 'L318 Hamm-Flaesheim', 'Wildunfall mit Reh; 10% Wertverlust', 2471.5, 'N', 16);
 
/* Laufende Daten: Zuordnung der Schadensfälle */
INSERT INTO Zuordnung_SF_FZ (id, Schadensfall_ID, Fahrzeug_ID, Schadenshoehe) VALUES (1, 1, 2, 1234.5);
INSERT INTO Zuordnung_SF_FZ (id, Schadensfall_ID, Fahrzeug_ID, Schadenshoehe) VALUES (2, 2, 7, 852);
INSERT INTO Zuordnung_SF_FZ (id, Schadensfall_ID, Fahrzeug_ID, Schadenshoehe) VALUES (3, 2, 5, 1214);
INSERT INTO Zuordnung_SF_FZ (id, Schadensfall_ID, Fahrzeug_ID, Schadenshoehe) VALUES (4, 3, 4, 1438.75);
INSERT INTO Zuordnung_SF_FZ (id, Schadensfall_ID, Fahrzeug_ID, Schadenshoehe) VALUES (5, 3, 24, 2276.85);
INSERT INTO Zuordnung_SF_FZ (id, Schadensfall_ID, Fahrzeug_ID, Schadenshoehe) VALUES (6, 4, 1, 1234.5);
INSERT INTO Zuordnung_SF_FZ (id, Schadensfall_ID, Fahrzeug_ID, Schadenshoehe) VALUES (7, 4, 5, 1983);
INSERT INTO Zuordnung_SF_FZ (id, Schadensfall_ID, Fahrzeug_ID, Schadenshoehe) VALUES (8, 5, 2, 1251.5);
INSERT INTO Zuordnung_SF_FZ (id, Schadensfall_ID, Fahrzeug_ID, Schadenshoehe) VALUES (9, 5, 25, 731.5);
INSERT INTO Zuordnung_SF_FZ (id, Schadensfall_ID, Fahrzeug_ID, Schadenshoehe) VALUES (10, 6, 3, 2653.4);
INSERT INTO Zuordnung_SF_FZ (id, Schadensfall_ID, Fahrzeug_ID, Schadenshoehe) VALUES (11, 6, 7, 1438.75);
INSERT INTO Zuordnung_SF_FZ (id, Schadensfall_ID, Fahrzeug_ID, Schadenshoehe) VALUES (12, 7, 6, 865);
INSERT INTO Zuordnung_SF_FZ (id, Schadensfall_ID, Fahrzeug_ID, Schadenshoehe) VALUES (13, 8, 7, NULL);

Eingetragen von 141.39.13.5 13:40, 10. Dez. 2010 (CET) Signatur nachgetragen von Jürgen 13:57, 13. Dez. 2010 (CET)

Ich nähere mich schritt für schritt mit erfahrenen Kollegen: Schau mal hier rein für die Datum und Sequenz Problematik: http://de.wikibooks.org/wiki/Diskussion:Einf%C3%BChrung_in_SQL:_DML_%282%29_-_Daten_speichern#Anpassung_f.C3.BCr_Oracle 141.39.13.5 11:42, 14. Dez. 2010 (CET)CA

Diskussion dazu[Bearbeiten]

Ich habe mir jetzt die Zeit genommen, um deine Überarbeitung zu prüfen und zu übernehmen. Ich danke dir vielmals für den Test und die Realisierung.

Mir sind aber folgende Punkte unklar:

  • Warum entfernst du den automatischen Zähler? Laut Oracle-Dokumentation ist er durchaus bekannt; anders als üblich schreibt er sich bei Oracle anscheinend mit Leerzeichen statt Unterstrich: AUTO INCREMENT.
  • Ersatzweise könnte auch mit SEQUENCE gearbeitet werden. Warum benutzt du das nicht?

Bei dieser Mini-Beispieldatenbank kann man einen Zähler natürlich auch manuell zuweisen. Aber der richtige Weg ist doch die Automatik. Deshalb möchte ich deine Lösung, die du [wie oben] veröffentlicht hast, nicht übernehmen, sondern bitte dich, einen der automatischen Wege zu verwenden.

Ich werde das bisherige Skript ändern. Wenn dir weitere Änderungen auffallen, darfst du sie gerne selbst einbauen.

Ich hoffe, dass dich dieser Text überhaupt erreicht. Leider hattest du dich nicht mit Namen angemeldet; so ist eine Kontaktaufnahme und Diskussion sehr erschwert. Vielleicht liest du diesen Hinweis dennoch.

Danke jedenfalls nochmals für die Mitarbeit! Jürgen 13:51, 13. Dez. 2010 (CET)

Nachtrag:
  • Ist denn die Anmeldung bei der Datenbank für Oracle richtig beschrieben, oder wie sollte es besser/genauer/richtiger formuliert werden?
  • Was meinst du mit "Datumsangaben bedurften der Definition"? Jedes Datum ist doch als DATE definiert, und das ist ein zulässiger Datentyp. Allenfalls kann es um die Schreibweise eines Literals gehen. Die von mir verwendete Schreibweise 'yyyy-mm-dd' ist Standard gemäß SQL-92 und wird von Oracle direkt unterstützt.
  • Beiträge auf Diskussionsseiten sollten mit 4 Tilden ~~~~ unterschrieben werden, damit vor allem Antworten.
Gruß Jürgen 14:08, 13. Dez. 2010 (CET)
Der aut. Zähler funktioniert leider bei mir auch so nicht, in der KurzReferenz kann ich dazu auch nichts finden, da ich aber Anfänger bin ist nicht auszuschließen das es doch geht und nur die Syntax noch falsch ist.
Mit der Erkennung des Literals zum Datum hatte ich probleme daher die Variante. Mittendrin fehlten auch noch einzelne Klammern.

141.39.13.5 15:32, 13. Dez. 2010 (CET)CA

Auch wenn du Anfänger bist, hast du mehr Kenntnisse als ich, weil ich mich mit Oracle nur über die Online-Dokumentation (siehe den o.g. Link) und das Oracle-Buch befasst habe. Die Dokumentation hilft natürlich nur begrenzt wegen der vielen Oracle-Versionen.
Kannst du sagen, wo Klammern fehlten, bzw. dies gleich ändern? Durch "scharfes Hinschauen" habe ich nichts gefunden.
Gibt es zu einer Datumsangabe eine richtige Fehlermeldung? Dann kann ich vielleicht im Text noch etwas dazu sagen. Bisher steht auf Einführung in SQL: Tabellenstruktur der Beispieldatenbank nur dieser Hinweis:
Hinweis: Datumsangaben werden in den Skripts durch '2009-12-14' nach ISO 8601 angegeben. Dieses Format sollte jedes DBMS in jeder Sprache richtig verarbeiten können.
Danke für die Unterstützung! Jürgen 15:58, 13. Dez. 2010 (CET)

Ich habe das Datenbank-Skript jetzt geändert:

  • AUTO_INCREMENT entfernt
  • SEQUENCE definiert (getrennt nach Tabellen) - der Anfangswert für die Zuordnungstabelle muss noch angepasst werden; denn hier werden einzelne Werte gezielt zugewiesen
  • TRIGGER definiert
  • DATE bei den Datumsangaben hinzugefügt

Erläuterungen siehe Diskussion zu DML (2). Jetzt fehlt noch ein erneuter Test. -- Jürgen 17:13, 15. Jan. 2011 (CET)

Skript-Constraints führt zu Fehlern[Bearbeiten]

Dieser Punkt stand vorher unter "Diskussion:Einführung in SQL: Skript-Constraints"; durch die Auslagerung in die Download-Seite habe ich es hierher verschoben. Jürgen

Hallo zusammen, ich weiß nicht, ob ich was übersehen habe, aber bei der Erstellung der Tabelle Versicherungsvertrag wird bei den anschließeneden INSERT Befehlen 3 Mal die Versicherungsnummer 'DG-01' verwendet. Aufgrund dessen, kann doch ein UNIQUE CONSTRAINT auf diese Spalte nie erstellt werden?! Es gibt diese Fehlermeldung:

CONSTRAINT Versicherungsvertrag_Nummer UNIQUE (Vertragsnummer) auf nicht UNIQUE Spalte Vertragsnummer

MfG Bullet 18:07, 2. Feb. 2011

Nein, du hast recht. Das muss DG-01/02/03 heißen. Vor kurzem war mir das aufgefallen, aber weil ich mich noch mit anderen Punkten befasst habe, habe ich es nicht sofort (oder nicht überall) erledigt. Damit es mir nicht nochmals durch die Lappen geht, werde ich es gleich nachholen. (Hoffentlich vergesse ich keine Stelle.) -- Jürgen 18:54, 2. Feb. 2011 (CET)

SQLite-Skript: Falsche Zeichencodierung (encoding)[Bearbeiten]

Das SQLite-Skript sollte als Encoding UTF-8 statt Latin1 verwenden - dann werden auch Strings wie "Müller" in der Mitarbeitertabelle richtig gespeichert/ausgegeben:

Unter Verwendung der Originaldatei (CreateScript-SQLite.sql):

$ sqlite3 -init CreateScript-SQLite.sql db.sqlite "SELECT Name FROM Mitarbeiter WHERE Name LIKE 'M%';"
-- Loading resources from CreateScript-SQLite.sql

M�ller
Meyer

Mit angepasster Datei (in Vim Encoding zu UTF-8 geändert; CreateScript-SQLite_mod_utf8.sql):

$ sqlite3 -init CreateScript-SQLite_mod_utf8.sql db_utf8.sqlite "SELECT Name FROM Mitarbeiter WHERE Name LIKE 'M%';"
-- Loading resources from CreateScript-SQLite_mod_utf8.sql

Müller
Meyer

(Getestet in Konsole 2.10.5 (Kubuntu 13.04) mit LANG=de_DE.UTF-8 und mit SQLite Manager 0.8.1 (mit den in der Shell erzeugten Datenbanken).) - 79.241.87.242 22:56, 10. Okt. 2013 (CEST)

Das ist ein sehr nützlicher Hinweis. Da ich selbst nie mit SQLite (und auch nicht mit Linux) gearbeitet habe, konnte ich nur "fremde Anleitungen" übernehmen. Deshalb bitte ich dich um genauere Informationen:
  • Was genau ist im Skript zu ändern? Nach deiner Beschreibung vermute ich, dass an den Anfang ein SET oder LANG o.ä. gehört, aber ohne detaillierten Hinweis kann ich den Quelltext nicht ändern und hochladen.
  • Verstehe ich es richtig, dass bei deinem Code die Datenbank-Datei als db_utf8.sqlite benannt wird, was bei mir Beispieldatenbank.db heißt (also nur ein anderer Name, keine weitere Einstellung)?
  • Sehe ich es richtig, dass der LANG-Parameter in deinem Hinweis "getestet in" zu den Einstellungen des SQLite-Managers gehört (nicht zu KDE)? Wo und wie sollte darauf im Abschnitt SQLite hingewiesen werden?
Danke jedenfalls für deine Aufmerksamkeit! -- Gruß Jürgen 09:57, 12. Okt. 2013 (CEST)
  • Es sollte reichen, das Skript in einem guten Texteditor zu öffnen und mit der Zeichencodierung/dem Zeichensatz/... "UTF-8" (ohne BOM) zu speichern bzw. die Datei in diese Zeichencodierung umzuwandeln und dann zu speichern (sollte wohl z.B. mit Notepad++ gehen; Windows-Notepad fügt standardmäßig ein BOM ein[1]). Man kann die Zeichencodierung zwar auch im Skript angeben ("PRAGMA encoding = ..."), so wie es aussieht aber nur Codierungen für Unicode (UTF-8/UTF-16)[2], kein ISO 8859-1 (was für das Skript momentan ja notwendig wäre). Intern wird von SQLite UTF-8/UTF-16 verwendet[3]. Im SQLiteManager ist es möglich, die Zeichencodierung beim Import auszuwählen (einschließlich ISO 8859-1), beim sqlite3-Werkzeug soweit ich weiß nicht (habe nichts gefunden) - d.h. es wäre vermutlich sinnvoll, tatsächlich die Zeichencodierung des Skripts anzupassen (eigentlich alleine schon wegen der Vorteile von Unicode/UTF-8 gegenüber ISO 8859-1 etc.).
  • Zur Benennung: ja - db_utf8.sqlite ist nur ein anderer Name.
  • LANG ist eine Umgebungsvariable und bezieht sich (hier) auf die Konsole und war vor allem zum Debuggen/Nachvollziehen/"Beweisen" gedacht. - 01:28, 15. Okt. 2013 (CEST)

SQLite-Skript: Verwendung einer expliziten Transaktion[Bearbeiten]

Spricht etwas dagegen, für das Erstellen der Tabellen und Einfügen der Daten eine explizite Transaktion zu verwenden? Ein mit sqlite3 erstellter Dump enthält BEGIN TRANSACTION und COMMIT (s.u.); das Erstellen der Datenbank aus diesem Dump dauert (hier) ca. 0,2 Sekunden, mit der Original-Skript-Datei (CreateScript-SQLite.sql) ca. 15 Sekunden (mit starker Festplattenaktivität).

Die SQLite-Dokumentation hierzu: "(19) INSERT is really slow - I can only do few dozen INSERTs per second [...] By default, each INSERT statement is its own transaction. But if you surround multiple INSERT statements with BEGIN...COMMIT then all the inserts are grouped into a single transaction. The time needed to commit the transaction is amortized over all the enclosed insert statements and so the time per insert statement is greatly reduced."[4]

Mit sqlite3 erstellter Dump der aus CreateScript-SQLite.sql erstellten Datenbank:

PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE Versicherungsvertrag
    (ID                     INTEGER     NOT NULL,
     Vertragsnummer         VARCHAR(20) NOT NULL,
-- [...]
INSERT INTO "Fahrzeughersteller" VALUES(10,'Renault','Frankreich');
INSERT INTO "Fahrzeughersteller" VALUES(11,'Seat',NULL);
COMMIT;

- 03:28, 15. Okt. 2013 (CEST)

Einzelnachweise[Bearbeiten]

  1. w:Microsoft_Editor#Unicode-Erkennung
  2. [1]
  3. [2]
  4. [3]