Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DROP TABLE person CASCADE CONSTRAINTS;
- DROP TABLE receptionist CASCADE CONSTRAINTS;
- DROP TABLE instructor CASCADE CONSTRAINTS;
- DROP TABLE client CASCADE CONSTRAINTS;
- DROP TABLE member_card CASCADE CONSTRAINTS;
- DROP TABLE course CASCADE CONSTRAINTS;
- DROP TABLE lesson CASCADE CONSTRAINTS;
- DROP TABLE hall CASCADE CONSTRAINTS;
- DROP TABLE register_to_lesson CASCADE CONSTRAINTS;
- DROP TABLE register_to_course CASCADE CONSTRAINTS;
- DROP SEQUENCE person_sequence;
- CREATE SEQUENCE person_sequence START WITH 1 INCREMENT BY 1 CACHE 20;
- CREATE TABLE person(
- person_id INT NOT NULL,
- TYPE VARCHAR(64) NOT NULL,
- first_name VARCHAR(64) NOT NULL,
- last_name VARCHAR(64) NOT NULL,
- date_of_birth DATE NOT NULL,
- sex VARCHAR(64) NOT NULL,
- CONSTRAINT persons_pk PRIMARY KEY (person_id),
- CONSTRAINT sex_check CHECK(sex='male' OR sex='female'),
- CONSTRAINT type_check CHECK (TYPE='receptionist' OR TYPE='instructor' OR TYPE='client'),
- CONSTRAINT id_check CHECK (person_id>=1 AND person_id<=999999)
- );
- INSERT INTO person(person_id, TYPE, first_name, last_name, date_of_birth, sex) VALUES (person_sequence.NEXTVAL, 'receptionist', 'Patrik', 'Tomov', TO_DATE('1999/06/08 14:30:25', 'YYYY/MM/DD HH24:MI:SS'), 'male');
- INSERT INTO person(person_id, TYPE, first_name, last_name, date_of_birth, sex) VALUES (person_sequence.NEXTVAL, 'receptionist', 'Martina', 'Studena', TO_DATE('1985/12/24 10:15:11', 'YYYY/MM/DD HH24:MI:SS'), 'female');
- INSERT INTO person(person_id, TYPE, first_name, last_name, date_of_birth, sex) VALUES (person_sequence.NEXTVAL, 'instructor', 'Sona', 'Vrbova', TO_DATE('1990/01/08 08:55:32', 'YYYY/MM/DD HH24:MI:SS'), 'female');
- INSERT INTO person(person_id, TYPE, first_name, last_name, date_of_birth, sex) VALUES (person_sequence.NEXTVAL, 'instructor', 'Martin', 'Hij', TO_DATE('1975/02/28 00:30:25', 'YYYY/MM/DD HH24:MI:SS'), 'male');
- INSERT INTO person(person_id, TYPE, first_name, last_name, date_of_birth, sex) VALUES (person_sequence.NEXTVAL, 'client', 'Stefan', 'Biely', TO_DATE('1987/04/04 11:11:32', 'YYYY/MM/DD HH24:MI:SS'), 'male');
- INSERT INTO person(person_id, TYPE, first_name, last_name, date_of_birth, sex) VALUES (person_sequence.NEXTVAL, 'client', 'Andrej', 'Maly', TO_DATE('1989/10/01 00:15:25', 'YYYY/MM/DD HH24:MI:SS'), 'male');
- INSERT INTO person(person_id, TYPE, first_name, last_name, date_of_birth, sex) VALUES (person_sequence.NEXTVAL, 'client', 'Marek', 'Velky', TO_DATE('1993/06/06 15:15:05', 'YYYY/MM/DD HH24:MI:SS'), 'male');
- CREATE TABLE receptionist(
- receptionist_id INT NOT NULL,
- CONSTRAINT recep_pk PRIMARY KEY (receptionist_id),
- CONSTRAINT recep_fk FOREIGN KEY (receptionist_id) REFERENCES person(person_id)
- );
- INSERT INTO receptionist(receptionist_id) VALUES (1);
- INSERT INTO receptionist(receptionist_id) VALUES (2);
- CREATE TABLE instructor(
- instructor_id INT NOT NULL,
- CONSTRAINT instructor_pk PRIMARY KEY (instructor_id),
- CONSTRAINT instruktor_fk FOREIGN KEY (instructor_id) REFERENCES person(person_id)
- );
- INSERT INTO instructor(instructor_id) VALUES (3);
- INSERT INTO instructor(instructor_id) VALUES (4);
- CREATE TABLE client(
- client_id INT NOT NULL,
- card_id INT,
- CONSTRAINT clinet_pk PRIMARY KEY (client_id),
- CONSTRAINT client_fk FOREIGN KEY (client_id) REFERENCES person(person_id)
- );
- INSERT INTO client(client_id, card_id) VALUES (5, 100);
- INSERT INTO client(client_id, card_id) VALUES (6, 101);
- INSERT INTO client(client_id, card_id) VALUES (7, NULL);
- CREATE TABLE member_card(
- card_id INT NOT NULL,
- expiration_date TIMESTAMP NOT NULL,
- receptionist_id INT NOT NULL,
- CONSTRAINT cards_pk PRIMARY KEY (card_id),
- CONSTRAINT member_card_fk FOREIGN KEY (receptionist_id) REFERENCES receptionist(receptionist_id),
- CONSTRAINT card_check CHECK (card_id>=1 AND card_id<=999999)
- );
- INSERT INTO member_card(card_id, expiration_date, receptionist_id) VALUES (100, TIMESTAMP '2020-05-20 9:00:25', 1);
- INSERT INTO member_card(card_id, expiration_date, receptionist_id) VALUES (101, TIMESTAMP '2020-08-25 13:30:55', 1);
- ALTER TABLE client
- ADD FOREIGN KEY (card_id)
- REFERENCES member_card(card_id);
- CREATE TABLE course(
- course_id INT NOT NULL,
- difficulty VARCHAR(64) NOT NULL CHECK (difficulty='easy' OR difficulty='medium' OR difficulty='hard'),
- lenght_of_course_in_lessons INT NOT NULL,
- name VARCHAR(64) NOT NULL,
- TYPE VARCHAR(64) NOT NULL,
- price INT NOT NULL,
- instructor_id INT NOT NULL,
- CONSTRAINT courses_pk PRIMARY KEY (course_id),
- CONSTRAINT course_fk FOREIGN KEY (instructor_id) REFERENCES instructor(instructor_id),
- CONSTRAINT course_check CHECK (course_id>=1 AND course_id<=999999)
- );
- INSERT INTO course(course_id, difficulty, lenght_of_course_in_lessons, name, TYPE, price, instructor_id ) VALUES (1000, 'easy', 3, 'Yoga', 'relax', 150, 3);
- INSERT INTO course(course_id, difficulty, lenght_of_course_in_lessons, name, TYPE, price, instructor_id) VALUES (1001, 'medium', 2, 'Run-Time', 'endurance', 50, 3);
- INSERT INTO course(course_id, difficulty, lenght_of_course_in_lessons, name, TYPE, price, instructor_id) VALUES (1002, 'hard', 4, 'Strong-course', 'strong', 300, 3);
- CREATE TABLE lesson(
- lesson_id INT NOT NULL,
- maximum_capacity INT NOT NULL,
- price INT NOT NULL,
- course_id INT,
- instructor_id INT NOT NULL,
- dateAndTime TIMESTAMP NOT NULL,
- CONSTRAINT lessons_pk PRIMARY KEY (lesson_id),
- CONSTRAINT lessons_course_fk FOREIGN KEY (course_id) REFERENCES course (course_id),
- CONSTRAINT lessons_instructor_fk FOREIGN KEY (instructor_id) REFERENCES instructor(instructor_id),
- CONSTRAINT lesson_check CHECK (lesson_id>=1 AND lesson_id<=999999)
- );
- CREATE TABLE hall(
- hall_name VARCHAR(64) NOT NULL,
- maximum_capacity INT NOT NULL,
- FLOOR INT NOT NULL,
- number_of_hall INT NOT NULL,
- address_name VARCHAR(64) NOT NULL,
- address_number INT NOT NULL,
- lesson_id INT,
- CONSTRAINT halls_pk PRIMARY KEY (hall_name),
- CONSTRAINT lessons_fk FOREIGN KEY (lesson_id) REFERENCES lesson(lesson_id)
- );
- INSERT INTO lesson(lesson_id, maximum_capacity, price, course_id, instructor_id, dateAndTime) VALUES (100, 20, 10, 1000, 3, TIMESTAMP '2020-06-20 9:00:00');
- INSERT INTO lesson(lesson_id, maximum_capacity, price, course_id, instructor_id, dateAndTime) VALUES (101, 20, 30, 1000, 3, TIMESTAMP '2020-06-22 9:00:00');
- INSERT INTO lesson(lesson_id, maximum_capacity, price, course_id, instructor_id, dateAndTime) VALUES (102, 50, 100, NULL, 4, TIMESTAMP '2020-05-20 10:30:00');
- INSERT INTO hall(hall_name, maximum_capacity, FLOOR, number_of_hall, address_name, address_number, lesson_id) VALUES ('Hall 1', 100, 1, 1, 'Street', 10, NULL);
- INSERT INTO hall(hall_name, maximum_capacity, FLOOR, number_of_hall, address_name, address_number, lesson_id) VALUES ('Hall 2', 150, 2, 2, 'Street', 10, 100);
- INSERT INTO hall(hall_name, maximum_capacity, FLOOR, number_of_hall, address_name, address_number, lesson_id) VALUES ('Hall 4', 150, 3, 4, 'Street', 20, 102);
- INSERT INTO hall(hall_name, maximum_capacity, FLOOR, number_of_hall, address_name, address_number, lesson_id) VALUES ('Hall 10', 150, 5, 10, 'Street', 20, 101);
- CREATE TABLE register_to_lesson(
- client_id INT NOT NULL,
- lesson_id INT NOT NULL,
- CONSTRAINT register1_pk PRIMARY KEY (client_id, lesson_id),
- CONSTRAINT client_reg1_fk FOREIGN KEY (client_id) REFERENCES client(client_id),
- CONSTRAINT lesson__reg_fk FOREIGN KEY (lesson_id) REFERENCES lesson(lesson_id)
- );
- CREATE TABLE register_to_course(
- client_id INT NOT NULL,
- course_id INT NOT NULL,
- CONSTRAINT register2_pk PRIMARY KEY (client_id, course_id),
- CONSTRAINT client_reg2_fk FOREIGN KEY (client_id) REFERENCES client(client_id),
- CONSTRAINT course_reg_fk FOREIGN KEY (course_id) REFERENCES course(course_id)
- );
- INSERT INTO register_to_lesson(client_id, lesson_id) VALUES (5, 100);
- INSERT INTO register_to_lesson(client_id, lesson_id) VALUES (5, 101);
- INSERT INTO register_to_lesson(client_id, lesson_id) VALUES (6, 102);
- INSERT INTO register_to_lesson(client_id, lesson_id) VALUES (6, 100);
- INSERT INTO register_to_lesson(client_id, lesson_id) VALUES (6, 101);
- INSERT INTO register_to_course(client_id, course_id) VALUES (6, 1000);
- INSERT INTO register_to_course(client_id, course_id) VALUES (5, 1000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement