-- phpMyAdmin SQL Dump
-- version 3.3.7deb5
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 25. Juli 2011 um 11:12
-- Server Version: 5.1.57
-- PHP-Version: 5.3.6-6~dotdeb.1

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Datenbank: `UniWeb`
--

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `Assistenten`
--

CREATE TABLE IF NOT EXISTS `Assistenten` (
  `PersNr` int(11) NOT NULL,
  `Name` varchar(20) NOT NULL,
  `Fachgebiet` varchar(20) DEFAULT NULL,
  `Boss` int(11) DEFAULT NULL,
  `GebDatum` date DEFAULT NULL,
  PRIMARY KEY (`PersNr`),
  KEY `Boss` (`Boss`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `Assistenten`
--

INSERT INTO `Assistenten` (`PersNr`, `Name`, `Fachgebiet`, `Boss`, `GebDatum`) VALUES
(3002, 'Platon', 'Ideenlehre', 2125, '1966-08-14'),
(3003, 'Aristoteles', 'Syllogistik', 2125, '1970-12-23'),
(3004, 'Wittgenstein', 'Sprachtheorie', 2126, '1968-08-02'),
(3005, 'Rhetikus', 'Planetenbewegung', 2127, '1962-12-20'),
(3006, 'Newton', 'Keplersche Gesetze', 2127, '1961-11-10'),
(3007, 'Spinoza', 'Gott und Natur', 2134, '1963-02-08');

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `Geburtstagstabelle`
--

CREATE TABLE IF NOT EXISTS `Geburtstagstabelle` (
  `name` varchar(30) DEFAULT NULL,
  `jahre` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `Geburtstagstabelle`
--

INSERT INTO `Geburtstagstabelle` (`name`, `jahre`) VALUES
('Norbert', 50);

--
-- Trigger `Geburtstagstabelle`
--
DROP TRIGGER IF EXISTS `Geburtstageintragen`;
DELIMITER //
CREATE TRIGGER `Geburtstageintragen` AFTER INSERT ON `Geburtstagstabelle`
 FOR EACH ROW insert into Personen (name, gebDatum)
  values(NEW.name, DATE_ADD(NOW(), interval -NEW.jahre year))
//
DELIMITER ;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `Handys`
--

CREATE TABLE IF NOT EXISTS `Handys` (
  `hersteller` varchar(10) DEFAULT NULL,
  `jahr` int(11) DEFAULT NULL,
  `umsatz` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `Handys`
--

INSERT INTO `Handys` (`hersteller`, `jahr`, `umsatz`) VALUES
('Siemens', 1994, 2000),
('Siemens', 1995, 3000),
('Siemens', 1996, 3500),
('Nokia', 1994, 1000),
('Nokia', 1995, 1500),
('Nokia', 1996, 2000),
('Motorola', 1994, 1000),
('Motorola', 1995, 1000),
('Motorola', 1996, 1500),
('Bosch', 1994, 500),
('Bosch', 1995, 1000),
('Bosch', 1996, 1500);

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `hoeren`
--

CREATE TABLE IF NOT EXISTS `hoeren` (
  `MatrNr` int(11) NOT NULL DEFAULT '0',
  `VorlNr` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`MatrNr`,`VorlNr`),
  KEY `VorlNr` (`VorlNr`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `hoeren`
--

INSERT INTO `hoeren` (`MatrNr`, `VorlNr`) VALUES
(26120, 4052),
(27550, 4052),
(28106, 4052),
(27550, 4630),
(26120, 5001),
(27550, 5001),
(29555, 5001),
(25403, 5022),
(29555, 5022),
(27550, 5041),
(29120, 5041),
(29120, 5049),
(26120, 5216),
(28106, 5216),
(27550, 5259),
(28106, 5259);

--
-- Trigger `hoeren`
--
DROP TRIGGER IF EXISTS `befoerderung`;
DELIMITER //
CREATE TRIGGER `befoerderung` AFTER INSERT ON `hoeren`
 FOR EACH ROW update Professoren set rang='C4'  
  where persnr in      
    (select gelesenvon
     from hoeren h, Vorlesungen v
     where h.vorlnr = v.vorlnr
     group by gelesenvon
     having count(*) > 2)
//
DELIMITER ;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `Personen`
--

CREATE TABLE IF NOT EXISTS `Personen` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `gebdatum` date DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Daten für Tabelle `Personen`
--

INSERT INTO `Personen` (`id`, `name`, `gebdatum`) VALUES
(1, 'Hans', '1950-12-24'),
(2, 'Paul', '1960-10-08'),
(3, 'Norbert', '1959-05-26');

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `Professoren`
--

CREATE TABLE IF NOT EXISTS `Professoren` (
  `PersNr` int(11) NOT NULL,
  `Name` varchar(20) NOT NULL,
  `Rang` char(2) DEFAULT NULL,
  `Raum` int(11) DEFAULT NULL,
  `Gebdatum` date DEFAULT NULL,
  PRIMARY KEY (`PersNr`),
  UNIQUE KEY `Raum` (`Raum`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `Professoren`
--

INSERT INTO `Professoren` (`PersNr`, `Name`, `Rang`, `Raum`, `Gebdatum`) VALUES
(2125, 'Sokrates', 'C4', 226, '1923-08-23'),
(2126, 'Russel', 'C4', 232, '1934-07-10'),
(2127, 'Kopernikus', 'C3', 310, '1962-03-12'),
(2133, 'Popper', 'C3', 52, '1949-09-03'),
(2134, 'Augustinus', 'C3', 309, '1939-04-19'),
(2136, 'Curie', 'C4', 36, '1929-05-10'),
(2137, 'Kant', 'C2', 7, '1950-04-04');

--
-- Trigger `Professoren`
--
DROP TRIGGER IF EXISTS `schreibprotokoll`;
DELIMITER //
CREATE TRIGGER `schreibprotokoll` AFTER INSERT ON `Professoren`
 FOR EACH ROW insert into Protokoll (bemerkung)
  values (CONCAT(NEW.persnr, ' wurde eingefuegt'))
//
DELIMITER ;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `Protokoll`
--

CREATE TABLE IF NOT EXISTS `Protokoll` (
  `zeitpunkt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `bemerkung` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `Protokoll`
--

INSERT INTO `Protokoll` (`zeitpunkt`, `bemerkung`) VALUES
('2009-05-26 11:17:17', '4444 wurde eingefuegt'),
('2009-05-26 11:38:28', '5555 wurde eingefuegt');

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `pruefen`
--

CREATE TABLE IF NOT EXISTS `pruefen` (
  `MatrNr` int(11) NOT NULL DEFAULT '0',
  `VorlNr` int(11) NOT NULL DEFAULT '0',
  `PersNr` int(11) DEFAULT NULL,
  `Note` decimal(3,1) DEFAULT NULL,
  PRIMARY KEY (`MatrNr`,`VorlNr`),
  KEY `VorlNr` (`VorlNr`),
  KEY `PersNr` (`PersNr`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `pruefen`
--

INSERT INTO `pruefen` (`MatrNr`, `VorlNr`, `PersNr`, `Note`) VALUES
(25403, 5041, 2125, 2.0),
(27550, 4630, 2137, 2.0),
(27550, 5001, 2126, 2.3),
(28106, 5001, 2126, 1.0);

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `Studenten`
--

CREATE TABLE IF NOT EXISTS `Studenten` (
  `MatrNr` int(11) NOT NULL,
  `Name` varchar(20) NOT NULL,
  `Semester` int(11) DEFAULT NULL,
  `GebDatum` date DEFAULT NULL,
  PRIMARY KEY (`MatrNr`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `Studenten`
--

INSERT INTO `Studenten` (`MatrNr`, `Name`, `Semester`, `GebDatum`) VALUES
(24002, 'Xenokrates', 20, '1975-10-23'),
(25403, 'Jonas', 14, '1973-09-18'),
(26120, 'Fichte', 12, '1967-12-04'),
(26830, 'Aristoxenos', 10, '1943-08-05'),
(27550, 'Schopenhauer', 8, '1954-06-22'),
(28106, 'Carnap', 5, '1979-10-02'),
(29120, 'Theophrastos', 4, '1948-04-19'),
(29555, 'Feuerbach', 4, '1961-02-12');

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `versuch`
--

CREATE TABLE IF NOT EXISTS `versuch` (
  `name` varchar(10) DEFAULT NULL,
  `a` int(11) DEFAULT NULL,
  `b` int(11) DEFAULT NULL,
  `c` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `versuch`
--

INSERT INTO `versuch` (`name`, `a`, `b`, `c`) VALUES
('Hans', 4, 5, 6),
('Paul', 2, 3, 8),
('Gerd', 2, 3, 8),
('Willi', 7, 3, 9),
('Fritz', 2, 3, 8),
('Paul', 2, 3, 8);

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `voraussetzen`
--

CREATE TABLE IF NOT EXISTS `voraussetzen` (
  `Vorgaenger` int(11) NOT NULL DEFAULT '0',
  `Nachfolger` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Vorgaenger`,`Nachfolger`),
  KEY `Nachfolger` (`Nachfolger`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `voraussetzen`
--

INSERT INTO `voraussetzen` (`Vorgaenger`, `Nachfolger`) VALUES
(5001, 5041),
(5001, 5043),
(5001, 5049),
(5041, 5052),
(5043, 5052),
(5041, 5216),
(5052, 5259);

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `Vorlesungen`
--

CREATE TABLE IF NOT EXISTS `Vorlesungen` (
  `VorlNr` int(11) NOT NULL,
  `Titel` varchar(20) DEFAULT NULL,
  `SWS` int(11) DEFAULT NULL,
  `gelesenVon` int(11) DEFAULT NULL,
  PRIMARY KEY (`VorlNr`),
  KEY `gelesenVon` (`gelesenVon`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `Vorlesungen`
--

INSERT INTO `Vorlesungen` (`VorlNr`, `Titel`, `SWS`, `gelesenVon`) VALUES
(4052, 'Logik', 4, 2125),
(4630, 'Die 3 Kritiken', 4, 2137),
(5001, 'Grundzuege', 4, 2137),
(5022, 'Glaube und Wissen', 2, 2134),
(5041, 'Ethik', 4, 2125),
(5043, 'Erkenntnistheorie', 3, 2126),
(5049, 'Mäeutik', 2, 2125),
(5052, 'Wissenschaftstheorie', 3, 2126),
(5216, 'Bioethik', 2, 2126),
(5259, 'Der Wiener Kreis', 2, 2133);

--
-- Constraints der exportierten Tabellen
--

--
-- Constraints der Tabelle `Assistenten`
--
ALTER TABLE `Assistenten`
  ADD CONSTRAINT `Assistenten_ibfk_1` FOREIGN KEY (`Boss`) REFERENCES `Professoren` (`PersNr`);

--
-- Constraints der Tabelle `hoeren`
--
ALTER TABLE `hoeren`
  ADD CONSTRAINT `hoeren_ibfk_1` FOREIGN KEY (`MatrNr`) REFERENCES `Studenten` (`MatrNr`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `hoeren_ibfk_2` FOREIGN KEY (`VorlNr`) REFERENCES `Vorlesungen` (`VorlNr`) ON UPDATE CASCADE;

--
-- Constraints der Tabelle `pruefen`
--
ALTER TABLE `pruefen`
  ADD CONSTRAINT `pruefen_ibfk_1` FOREIGN KEY (`MatrNr`) REFERENCES `Studenten` (`MatrNr`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `pruefen_ibfk_2` FOREIGN KEY (`VorlNr`) REFERENCES `Vorlesungen` (`VorlNr`) ON UPDATE CASCADE,
  ADD CONSTRAINT `pruefen_ibfk_3` FOREIGN KEY (`PersNr`) REFERENCES `Professoren` (`PersNr`);

--
-- Constraints der Tabelle `voraussetzen`
--
ALTER TABLE `voraussetzen`
  ADD CONSTRAINT `voraussetzen_ibfk_1` FOREIGN KEY (`Vorgaenger`) REFERENCES `Vorlesungen` (`VorlNr`) ON UPDATE CASCADE,
  ADD CONSTRAINT `voraussetzen_ibfk_2` FOREIGN KEY (`Nachfolger`) REFERENCES `Vorlesungen` (`VorlNr`) ON UPDATE CASCADE;

--
-- Constraints der Tabelle `Vorlesungen`
--
ALTER TABLE `Vorlesungen`
  ADD CONSTRAINT `Vorlesungen_ibfk_1` FOREIGN KEY (`gelesenVon`) REFERENCES `Professoren` (`PersNr`);
