/* Demo táblák feltöltése */
DROP VIEW OSZT_ATLAG;
/* Demo táblák letrehozasa es feltöltése  Oracle valtozat */
DROP VIEW BEOSZT_ATLAG;
DROP TABLE ALKALMAZOTT;
DROP TABLE OSZTALY;
DROP TABLE FIZ_OSZT;
DROP TABLE DUMMY;
DROP SEQUENCE AZON;

CREATE TABLE OSZTALY (
 OSZT_AZON        NUMBER(2) PRIMARY KEY,
 NEV              VARCHAR(14) NOT NULL,
 VAROS            VARCHAR(13) NOT NULL,
 CONSTRAINT       UNEV UNIQUE(NEV) /* nem lehet ket azonos nevu osztaly */
 );

INSERT INTO OSZTALY VALUES (10,'SZAMLÁZÁS','BUDAPEST');
INSERT INTO OSZTALY VALUES (20,'KUTATÁS','ESZTERGOM');
INSERT INTO OSZTALY VALUES (30,'RAKTÁR','BUDAÖRS');
INSERT INTO OSZTALY VALUES (40,'FORGALMAZÁS','BUDAPEST');

CREATE TABLE ALKALMAZOTT (
 ALK_AZON            NUMBER(4) PRIMARY KEY,
 NEV                 VARCHAR(10) NOT NULL,
 BEOSZTAS            VARCHAR(9) NOT NULL,
 FONOK               NUMBER(4) CONSTRAINT FONOK_KORL REFERENCES ALKALMAZOTT (ALK_AZON),
 BELEPES             DATE NOT NULL,
 FIZETES             NUMBER(5) NOT NULL,
 JUTALOM             NUMBER(5),
 OSZT_AZON           NUMBER(2) NOT NULL,
 CONSTRAINT ALK_KULSO_KULCS FOREIGN KEY (OSZT_AZON) REFERENCES OSZTALY (OSZT_AZON));

INSERT INTO ALKALMAZOTT VALUES (7839,'KIRÁLY','ELNÖK',NULL,'17-NOV-81',5000,NULL,10);
INSERT INTO ALKALMAZOTT VALUES (7698,'BIRÓ','MANAGER',7839,'1-MAY-81',2850,NULL,30);
INSERT INTO ALKALMAZOTT VALUES (7782,'CSALÓ','MANAGER',7839,'9-JUN-81',2450,NULL,10);
INSERT INTO ALKALMAZOTT VALUES (7566,'JONÁS','MANAGER',7839,'2-APR-81',2975,NULL,20);
INSERT INTO ALKALMAZOTT VALUES (7654,'MARTON','ÜGYNÖK',7698,'28-SEP-81',1250,1400,30);
INSERT INTO ALKALMAZOTT VALUES (7499,'ALI','ÜGYNÖK',7698,'20-FEB-81',1600,300,30);
INSERT INTO ALKALMAZOTT VALUES (7844,'TURCSI','ÜGYNÖK',7698,'8-SEP-81',1500,0,30);
INSERT INTO ALKALMAZOTT VALUES (7900,'JENES','ELÔADÓ',7698,'3-DEC-81',950,NULL,30);
INSERT INTO ALKALMAZOTT VALUES (7521,'VÁMOS','ÜGYNÖK',7698,'22-FEB-81',1250,500,30);
INSERT INTO ALKALMAZOTT VALUES (7902,'FINESZ','ELEMZÔ',7566,'3-DEC-81',3000,NULL,20);
INSERT INTO ALKALMAZOTT VALUES (7369,'SZABÓ','ELÔADÓ',7902,'17-DEC-80',800,NULL,20);
INSERT INTO ALKALMAZOTT VALUES (7788,'SKÓT','ELEMZÔ',7566,'09-DEC-82',3000,NULL,20);
INSERT INTO ALKALMAZOTT VALUES (7876,'ÁDÁM','ELÔADÓ',7788,'12-JAN-83',1100,NULL,20);
INSERT INTO ALKALMAZOTT VALUES (7934,'MÜLLER','ELÔADÓ',7782,'23-JAN-82',1300,NULL,10);

CREATE TABLE FIZ_OSZT (
 F_OSZT            NUMBER(2) PRIMARY KEY,
 MIN               NUMBER(5) NOT NULL,
 MAX               NUMBER(5) NOT NULL,
 CONSTRAINT        MIN_MAX CHECK (MIN < MAX)
);

INSERT INTO FIZ_OSZT VALUES (1,700,1200);
INSERT INTO FIZ_OSZT VALUES (2,1201,1400);
INSERT INTO FIZ_OSZT VALUES (3,1401,2000);
INSERT INTO FIZ_OSZT VALUES (4,2001,3000);
INSERT INTO FIZ_OSZT VALUES (5,3001,9999);

CREATE TABLE DUMMY (
 DUMMY               NUMBER(6));

INSERT INTO DUMMY VALUES (0);

CREATE SEQUENCE AZON
INCREMENT BY 1
START WITH 7935;


CREATE VIEW OSZT_ATLAG AS
	SELECT OSZTALY.NEV, AVG(FIZETES) AS ATLAG FROM OSZTALY, ALKALMAZOTT
		WHERE OSZTALY.OSZT_AZON = ALKALMAZOTT.OSZT_AZON
		GROUP BY OSZTALY.NEV;
		
CREATE VIEW BEOSZT_ATLAG AS
	SELECT BEOSZTAS, AVG(FIZETES) AS ATLAG FROM ALKALMAZOTT
		GROUP BY BEOSZTAS;