• Портфолио
  • Смотреть портфолио списком
  • Создание сайтов
  • Контактная информация
  • Создание базы данных и таблиц

    CREATE DATABASE `st_druzhinin` DEFAULT CHARACTER SET `UTF8`
    
    CREATE TABLE `st_druzhinin`.`department`
    (
        `id` INTEGER  NOT NULL AUTO_INCREMENT,
        `name` VARCHAR(100)  NOT NULL ,
         PRIMARY KEY (`id`)
    )Type=InnoDB;
    
    CREATE TABLE `st_druzhinin`.`course`
    (
        `id` INTEGER NOT NULL AUTO_INCREMENT,
        `name` VARCHAR(3),
        PRIMARY KEY (`id`)
    )Type=InnoDB;
    
    CREATE TABLE `st_druzhinin`.`post`
    (
        `id` INTEGER  NOT NULL AUTO_INCREMENT,
        `name` VARCHAR(100)  NOT NULL ,
         PRIMARY KEY (`id`)
    )Type=InnoDB;
    
    CREATE TABLE `st_druzhinin`.`group`
    (
        `id` INTEGER NOT NULL AUTO_INCREMENT,
        `name` VARCHAR(10),
        `department_id` INTEGER,
        PRIMARY KEY (`id`),
        CONSTRAINT `department_id_group_FK_1`
            FOREIGN KEY (`department_id`)
            REFERENCES `department` (`id`)
            ON UPDATE CASCADE
            ON DELETE CASCADE
    )Type=InnoDB;
    
    CREATE TABLE `st_druzhinin`.`sub_department`
    (
        `id` INTEGER NOT NULL AUTO_INCREMENT,
        `name` VARCHAR (150),
        PRIMARY KEY (`id`)
    )Type=InnoDB;
    
    CREATE TABLE `st_druzhinin`.`subject`
    (
        `id` INTEGER NOT NULL AUTO_INCREMENT,
        `name` VARCHAR(150),
        `group_id` INTEGER,
        `sub_department_id` INTEGER,
        PRIMARY KEY (`id`),
        CONSTRAINT `group_id_subject_FK_1`
            FOREIGN KEY (`group_id`)
            REFERENCES `group` (`id`)
            ON UPDATE CASCADE
            ON DELETE CASCADE,
        CONSTRAINT `sub_department_id_subject_FK_2`
            FOREIGN KEY (`sub_department_id`)
            REFERENCES `sub_department` (`id`)
            ON UPDATE CASCADE
            ON DELETE CASCADE
    )Type=InnoDB;
    
    CREATE TABLE `st_druzhinin`.`specialization`
    (
        `id` INTEGER NOT NULL AUTO_INCREMENT,
        `name` VARCHAR (100),
        PRIMARY KEY (`id`)
    )Type=InnoDB;
    
    CREATE TABLE `st_druzhinin`.`name_lesson`
    (
        `id` INTEGER NOT NULL AUTO_INCREMENT,
        `name` VARCHAR (100),
        PRIMARY KEY (`id`)
    )Type=InnoDB;
    
    CREATE TABLE `st_druzhinin`.`tutor`
    (
        `id` INTEGER NOT NULL AUTO_INCREMENT,
        `first_name` VARCHAR(100),
        `last_name` VARCHAR(100),
        `second_name` VARCHAR(100),
        `adress` VARCHAR(300),
        `phone` VARCHAR(100),
        `post_id` INTEGER  NOT NULL ,
        `sub_department_id` INTEGER  NOT NULL ,
        PRIMARY KEY (`id`),
        CONSTRAINT `post_id_tutor_FK_1`
            FOREIGN KEY (`post_id`)
            REFERENCES `post` (`id`),
        CONSTRAINT `sub_department_id_tutor_FK_2`
            FOREIGN KEY (`sub_department_id`)
            REFERENCES `sub_department` (`id`)
    )Type=InnoDB;
    
    CREATE TABLE `st_druzhinin`.`lesson`
    (
        `id` INTEGER NOT NULL AUTO_INCREMENT,
        `name_id` INTEGER,
        `group_id` INTEGER,
        `subject_id` INTEGER,
        `tutor_id` INTEGER,
        `status` BOOLEAN,
        `create_at` DATETIME,
        PRIMARY KEY (`id`),
        CONSTRAINT `group_id_lesson_FK_1`
            FOREIGN KEY (`group_id`)
            REFERENCES `group` (`id`)
            ON UPDATE CASCADE
            ON DELETE CASCADE,
        CONSTRAINT `subject_id_lesson_FK_2`
            FOREIGN KEY (`subject_id`)
            REFERENCES `subject` (`id`)
            ON UPDATE CASCADE
            ON DELETE CASCADE,
        CONSTRAINT `tutor_id_lesson_FK_3`
            FOREIGN KEY (`tutor_id`)
            REFERENCES `tutor` (`id`)
            ON UPDATE CASCADE
            ON DELETE CASCADE,
        CONSTRAINT `name_id_lesson_FK_4`
            FOREIGN KEY (`name_id`)
            REFERENCES `name_lesson` (`id`)
            ON UPDATE CASCADE
            ON DELETE CASCADE
    )Type=InnoDB;
    
    CREATE TABLE `st_druzhinin`.`form_teaching`
    (
        `id` INTEGER  NOT NULL AUTO_INCREMENT,
        `name` VARCHAR(100)  NOT NULL ,
         PRIMARY KEY (`id`)
    )Type=InnoDB;
    
    CREATE TABLE `st_druzhinin`.`students`
    (
        `id` INTEGER NOT NULL AUTO_INCREMENT,
        `first_name` VARCHAR(100) NOT NULL,
        `last_name` VARCHAR(100) NOT NULL,
        `second_name` VARCHAR(100) NOT NULL,
        `adress` VARCHAR(100) NOT NULL,
        `phone` VARCHAR(100) NOT NULL,
        `department_id` INTEGER NOT NULL,
        `group_id` INTEGER NOT NULL,
        `course_id` INTEGER NOT NULL,
        `sub_department_id` INTEGER NOT NULL,
        `specialization_id` INTEGER NOT NULL,
        `form_teaching_id` INTEGER NOT NULL,
        PRIMARY KEY (`id`),
        CONSTRAINT `department_id_students_FK_1`
            FOREIGN KEY (`department_id`)
            REFERENCES `department` (`id`)
            ON UPDATE CASCADE
            ON DELETE CASCADE,
        CONSTRAINT `group_id_students_FK_2`
            FOREIGN KEY (`group_id`)
            REFERENCES `group` (`id`)
            ON UPDATE CASCADE
            ON DELETE CASCADE,
        CONSTRAINT `course_id_students_FK_3`
            FOREIGN KEY (`course_id`)
            REFERENCES `course` (`id`)
            ON UPDATE CASCADE
            ON DELETE CASCADE,
        CONSTRAINT `sub_department_id_students_FK_4`
            FOREIGN KEY (`sub_department_id`)
            REFERENCES `sub_department` (`id`)
            ON UPDATE CASCADE
            ON DELETE CASCADE,
        CONSTRAINT `specialization_id_students_FK_5`
            FOREIGN KEY (`specialization_id`)
            REFERENCES `specialization` (`id`)
            ON UPDATE CASCADE
            ON DELETE CASCADE,
        CONSTRAINT `form_teaching_id_students_FK_6`
            FOREIGN KEY (`form_teaching_id`)
            REFERENCES `form_teaching` (`id`)
            ON UPDATE CASCADE
            ON DELETE CASCADE
    )Type=InnoDB;
    

    Запросы

    INSERT INTO `st_druzhinin`.`department`
    (`id`, `name`)
    VALUES
    ('1', 'Физико-математический'),
    ('2', 'Математический'),
    ('3', 'Исторический'),
    ('4', 'Юридический'),
    ('5', 'Гостиничный туризм и сервис'),
    ('6', 'Информатика в экономике'),
    ('7', 'Менеджмент'),
    ('8', 'Психология'),
    ('9', 'Журналистика'),
    ('10', 'Инностранных языков'),
    ('11', 'Дизайн');
    
    INSERT INTO `st_druzhinin`.`name_lesson`
    (`id`, `name`)
    VALUES
    ('1', 'Открытый урок'),
    ('2', 'Закрытый урок'),
    ('3', 'Лекция'),
    ('4', 'Семинар'),
    ('5', 'Контрольная работа'),
    ('6', 'Самостоятельная работа'),
    ('7', 'Консультация'),
    ('8', 'Практика'),
    ('9', 'Курсовая работа');
    
    INSERT INTO `st_druzhinin`.`group`
    (`id`, `name`, `department_id`)
    VALUES
    ('1', 'Ю-149', '4'),
    ('2', 'Ю-150', '4'),
    ('3', 'Ю-151', '4'),
    ('4', 'Т-149', '5'),
    ('5', 'Т-150', '5'),
    ('6', 'Т-151', '5'),
    ('7', 'И-149', '6'),
    ('8', 'И-150', '6'),
    ('9', 'И-151', '6'),
    ('10', 'М-149', '7'),
    ('11', 'М-150', '7'),
    ('12', 'М-151', '7'),
    ('13', 'Ж-149', '9'),
    ('14', 'Ж-150', '9'),
    ('15', 'Ж-151', '9');
    
    INSERT INTO `st_druzhinin`.`sub_department`
    (`id`, `name`)
    VALUES
    ('1', 'Инфоматики'),
    ('2', 'Философии'),
    ('3', 'Прикладной информатики'),
    ('4', 'Менеджмента'),
    ('5', 'Права'),
    ('6', 'Программирования'),
    ('7', 'Математики'),
    ('8', 'Физики'),
    ('9', 'Истории');
    
    INSERT INTO `st_druzhinin`.`post`
    (`id`, `name`)
    VALUES
    ('1', 'Декан'),
    ('2', 'Ректор'),
    ('3', 'Преподаватель'),
    ('4', 'Преподаватель (доктор наук)'),
    ('5', 'Преподаватель (кандидат наук)'),
    ('6', 'Преподаватель (профессор, доктор наук)'),
    ('7', 'Преподаватель (профессор, кандидат наук)'),
    ('8', 'Преподаватель (доцент)'),
    ('9', 'Зав. кафедрой');
    
    INSERT INTO `st_druzhinin`.`course`
    (`id`, `name`)
    VALUES
    ('1', 'I'),
    ('2', 'II'),
    ('3', 'III'),
    ('4', 'IV'),
    ('5', 'V'),
    ('6', 'VI'),
    ('7', 'VII');
    
    INSERT INTO `st_druzhinin`.`form_teaching`
    (`id`, `name`)
    VALUES
    ('1', 'Дневная'),
    ('2', 'Очно-заочная'),
    ('3', 'Заочная'),
    ('4', 'Дистанционное обучение');
    
    INSERT INTO `st_druzhinin`.`specialization`
    (`id`, `name`)
    VALUES
    ('1', 'Прикладная информатика (в экономике)'),
    ('2', 'Предпринимательская деятельность'),
    ('3', 'Управление продажами'),
    ('4', 'Организация маркетинговой деятельности на предприятии'),
    ('5', 'Банковский менеджмент'),
    ('6', 'Менеджмент в отраслях нефтегазового комплекса'),
    ('7', 'Менеджмент торговых организаций'),
    ('8', 'Производственный менеджмент'),
    ('9', 'Менеджмент в таможенном деле'),
    ('10', 'Управление транспортно-логистическими системами');
    
    INSERT INTO `st_druzhinin`.`subject`
    (`id`, `name`, `group_id`, `sub_department_id`)
    VALUES
    ('1', 'Информатика', '4', '1'),
    ('2', 'Философия', '4', '2'),
    ('3', 'Высшая математика', '4', '7'),
    ('4', 'Русский язык и культура речи', '5', '2'),
    ('5', 'Культурология', '5', '2'),
    ('6', 'История Отечества', '5', '9'),
    ('7', 'Политология', '6', '2'),
    ('8', 'Высшая математика', '6', '7'),
    ('9', 'Этика и деловой этикет', '6', '2'),
    ('10', 'Психология', '7', '2'),
    ('11', 'Психология рекламы', '7', '2'),
    ('12', 'Менеджмент', '7', '4'),
    ('13', 'Правоведение', '9', '5'),
    ('14', 'Основы программирования', '9', '6'),
    ('15', 'Вычислительные системы, сети телекоммуникации', '9', '3');
    
    INSERT INTO `st_druzhinin`.`tutor`
    (`id`, `first_name`, `last_name`, `second_name`, `adress`, `phone`, `post_id`, `sub_department_id`)
    VALUES
    ('1', 'Владимир', 'Паршин', 'Владимирович', 'Судостроительная, д. 48 к. 1', '+79032674730 ', '1', '1'),
    ('2', 'Владимир', 'Крамаренко', 'Владимирович', 'Нагатинская набережная, д. 44 к. 3', '+79052664730', '2', '2'),
    ('3', 'Дмитрий', 'Курочко', 'Георгиевич', 'Загородное шоссе, д. 56', '+79132674730', '8', '3');
    
    INSERT INTO `st_druzhinin`.`lesson`
    (`id`, `name_id`, `group_id`, `subject_id`, `tutor_id`, `status`, `create_at`)
    VALUES
    ('1', '1', '2', '1', '1', '1', '2010-12-13 12:33:02'),
    ('2', '2', '1', '2', '2', '0', null),
    ('3', '3', '3', '3', '3', '1', '2010-12-03 11:53:02'),
    ('4', '4', '5', '4', '1', '0', null),
    ('5', '5', '7', '5', '3', '1', '2010-12-13 15:53:02'),
    ('6', '4', '9', '6', '3', '0', null),
    ('7', '2', '5', '7', '2', '1', '2010-12-23 11:53:02'),
    ('8', '9', '4', '8', '3', '0', null),
    ('9', '8', '2', '9', '1', '1', '2010-12-03 14:12:02');
    
    INSERT INTO `st_druzhinin`.`students`
    (`id`, `first_name`, `last_name`, `second_name`, `adress`, `phone`, `department_id`, `group_id`, `course_id`, `sub_department_id`, `specialization_id`, `form_teaching_id`)
    VALUES
    ('1', 'Александр', 'Дружинин', 'Георгиевич', 'Судостроительная, д. 48 к. 1', '+79032674730', '1', '1', '1', '2', '3', '1'),
    ('2', 'Александр', 'Суров', 'Сергеевич', 'Затонная, д. 48 к. 1', '+79036389636', '1', '2', '2', '2', '3', '1'),
    ('3', 'Константин', 'Демин', 'Сергеевич', 'Судостроительная, д. 48 к. 1', '+79052674730', '3', '1', '2', '2', '3', '2'),
    ('4', 'Андрей', 'Петров', 'Владимирович', 'Нагатинская наб., д. 48 к. 1', '+79062874730', '4', '1', '3', '2', '3', '2');
    

    Все студенты II курса

    SELECT *
    FROM `course`, `students`
    WHERE course.id=students.course_id
    AND course.name
    IN (
    'II'
    )
    

    Все студенты I и II курса

    SELECT course.name, students.first_name, students.last_name, group.name, department.name
    FROM `course`, `group`, `students`, `department`
    WHERE course.id=students.course_id=group.id=department.id
    AND course.name
    IN (
    'II', 'I'
    )
    

    Все студенты группы Ю-149

    SELECT *
    FROM `group`, `students`
    WHERE group.id=students.group_id
    AND group.name
    IN
     (
    'Ю-149'
    )
    

    Показать все группы, студенты которых учатся на I курсе вывести: название группы и курса

    SELECT group.name, course.name
    FROM `group`, `students`, `course`
    WHERE group.id=students.group_id=students.course_id
    AND course.name
    IN (
    'I'
    )
    

    Показать все проведенные уроки вывести: название фак-та, предмета, группы, фамилию преподавателя, дату проведения

    SELECT
    department.name, subject.name, group.name, tutor.last_name, lesson.create_at
    FROM `department`, `subject`, `lesson`, `group`, `tutor`
    WHERE lesson.id=subject.id=group.id=tutor.id=department.id
    AND lesson.status
    IN
     (
     '1'
    )