Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

8-21130671 (1)

.sql
Скачиваний:
4
Добавлен:
07.04.2025
Размер:
8 Кб
Скачать


DROP VIEW IF EXISTS `вирт_Абитуриент`;
CREATE VIEW `вирт_Абитуриент` AS 
    SELECT 
        `Аб`.`ИД` AS `ИД\Абитуриент`,
        `Аб`.`Рейтинг абитуриента_Аб` AS `Рейтинг абитуриента`,
        `ПЕРС1`.`Паспорт` AS `Код абитуриента`,
        `ПЕРС1`.`ФИО` AS `ФИО абитуриента`,
        `ПЕРС2`.`Паспорт` AS `Код секретаря, возвратившего документы`,
        `ПЕРС2`.`ФИО` AS `ФИО секретаря`
    FROM `Абитуриент` AS `Аб`
    INNER JOIN `Персона` AS `ПЕРС1` 
		ON `Аб`.`ИД_ПЕРС\Аб^ПЕРС` = `ПЕРС1`.`ИД`
		
		
    INNER JOIN `Персона` AS `ПЕРС2` 
		ON `Аб`.`ИД_ПЕРС\Аб^ПЕРС` = `ПЕРС2`.`ИД`
;
SELECT * FROM `вирт_Абитуриент`;


DROP PROCEDURE IF EXISTS `проц_Документы Абитуриента`; 
CREATE PROCEDURE `проц_Документы Абитуриента` 
    (IN `Вх:ИД\Абитуриент` INT)
    SELECT 
        `Да`.`Регномер документа` AS `Регномер документа`,
        `Да`.`Реквизиты документа` AS `Реквизиты документа`,
        `Да`.`Дата подачи документов` AS `Дата подачи документов`,
        `ПЕРС`.`Паспорт` AS `Код секретаря, возвратившего документы`,
        `ПЕРС`.`ФИО` AS `ФИО`,
        `СПР`.`Код` AS `Код вида документа`,
        `СПР`.`Название` AS `Название вида документа`
        
        
    FROM `Документы Абитуриента` AS `Да`
    INNER JOIN `Персона` AS `ПЕРС` 
		ON `Да`.`ИД_ПЕРС\Да^ПЕРС` = `ПЕРС`.`ИД`
		
    INNER JOIN `Справка+` AS `СПР` 
		ON `Да`.`ИД_СПР\Да^СПР` = `СПР`.`ИД`
;
CALL `проц_Документы Абитуриента` (1);
CALL `проц_Документы Абитуриента` (2);


DROP PROCEDURE IF EXISTS `проц_Направление абитуриента`; 
CREATE PROCEDURE `проц_Направление абитуриента` 
    (IN `Вх:ИД\Абитуриент` INT)
    SELECT 
        `СПР`.`Код` AS `Код направления`,
        `СПР`.`Название` AS `Название направления`
        
    FROM `Направление абитуриента` AS `На`
    INNER JOIN `Справка+` AS `СПР` 
		ON `На`.`ИД_СПР\На^СПР` = `СПР`.`ИД`
		
    INNER JOIN `Документы Абитуриента` AS `Да` 
		ON `На`.`ИД_Да\На^Да` = `Да`.`ИД`
;
CALL `проц_Направление абитуриента` (1);
CALL `проц_Направление абитуриента` (2);


DROP VIEW IF EXISTS `вирт_Документы Абитуриента%Абитуриент`; 
CREATE VIEW `вирт_Документы Абитуриента%Абитуриент` AS
    SELECT 
        `Да`.`Регномер документа` AS `Регномер документа`,
        `Да`.`Реквизиты документа` AS `Реквизиты документа`,
        `Да`.`Дата подачи документов` AS `Дата подачи документов`,
        `ПЕРС`.`Паспорт` AS `Код секретаря, возвратившего документы`,
        `ПЕРС`.`ФИО` AS `ФИО`,
        `СПР`.`Код` AS `Код вида документа`,
        `СПР`.`Название` AS `Название вида документа`,
        `Да`.`ИД` AS `ИД\Абитуриент`,
        `ПЕРС1`.`Паспорт` AS `Код абитуриента`,
        `ПЕРС1`.`ФИО` AS `ФИО абитуриента`,
        `ПЕРС2`.`Паспорт` AS `Код секретаря, возвратившего документ`,
        `ПЕРС2`.`ФИО` AS `ФИО секретаря`
    FROM `Документы Абитуриента` AS `Да`
    INNER JOIN `Персона` AS `ПЕРС` 
		ON `Да`.`ИД_ПЕРС\Да^ПЕРС` = `ПЕРС`.`ИД`
    INNER JOIN `Справка+` AS `СПР` 
		ON `Да`.`ИД_СПР\Да^СПР` = `СПР`.`ИД`
	INNER JOIN `Персона` AS `ПЕРС1` 
		ON `Да`.`ИД_ПЕРС\Да^ПЕРС` = `ПЕРС1`.`ИД`
    INNER JOIN `Персона` AS `ПЕРС2` 
		ON `Да`.`ИД_ПЕРС\Да^ПЕРС` = `ПЕРС2`.`ИД`
	
;
SELECT * FROM `вирт_Документы Абитуриента%Абитуриент`;


DROP VIEW IF EXISTS `вирт_Направление абитуриента%Документы Абитуриента`; 
CREATE VIEW `вирт_Направление абитуриента%Документы Абитуриента` AS
    SELECT 
         `СПР`.`Код` AS `Код направления`,
        `СПР`.`Название` AS `Название направления`,
        `Да`.`Регномер документа` AS `Регномер документа`,
        `Да`.`Реквизиты документа` AS `Реквизиты документа`,
        `Да`.`Дата подачи документов` AS `Дата подачи документов`,
        `ПЕРС`.`Паспорт` AS `Код секретаря, возвратившего документы`,
        `ПЕРС`.`ФИО` AS `ФИО`,
        `СПР5`.`Код` AS `Код вида документа`,
        `СПР5`.`Название` AS `Название вида документа`
    
    FROM `Направление абитуриента` AS `На`
    INNER JOIN `Справка+` AS `СПР` 
		ON `На`.`ИД_СПР\На^СПР` = `СПР`.`ИД`
		
    INNER JOIN `Документы Абитуриента` AS `Да` 
		ON `На`.`ИД_Да\На^Да` = `Да`.`ИД`

    INNER JOIN `Персона` AS `ПЕРС` 
		ON `Да`.`ИД_ПЕРС\Да^ПЕРС` = `ПЕРС`.`ИД`
		
    INNER JOIN `Справка+` AS `СПР5` 
		ON `Да`.`ИД_СПР\Да^СПР` = `СПР5`.`ИД`
	
;
SELECT * FROM `вирт_Направление абитуриента%Документы Абитуриента`;


DROP VIEW IF EXISTS `вирт_Абитуриент_кол-во`;
CREATE VIEW `вирт_Абитуриент_кол-во` AS 
    SELECT 
        `Аб`.`ИД` AS `ИД\Абитуриент`,
        `Аб`.`Рейтинг абитуриента_Аб` AS `Рейтинг абитуриента`,
        `ПЕРС1`.`Паспорт` AS `Код абитуриента`,
        `ПЕРС1`.`ФИО` AS `ФИО абитуриента`,
        `ПЕРС2`.`Паспорт` AS `Код секретаря, возвратившего документы`,
        `ПЕРС2`.`ФИО` AS `ФИО секретаря`,
		COUNT(*) AS `Число абитуриентов`
    FROM `Абитуриент` AS `Аб`
    INNER JOIN `Персона` AS `ПЕРС1` 
		ON `Аб`.`ИД_ПЕРС\Аб^ПЕРС` = `ПЕРС1`.`ИД`
		
		
    INNER JOIN `Персона` AS `ПЕРС2` 
		ON `Аб`.`ИД_ПЕРС\Аб^ПЕРС` = `ПЕРС2`.`ИД`
GROUP BY `Аб`.`ИД`
;
SELECT * FROM `вирт_Абитуриент_кол-во`;


DROP VIEW IF EXISTS `вирт_Абитуриент_Заявления`;
CREATE VIEW `вирт_Абитуриент_Заявления` AS 
    SELECT 
        `Аб`.`ИД` AS `ИД\Абитуриент`,
        `Аб`.`Рейтинг абитуриента_Аб` AS `Рейтинг абитуриента`,
        `ПЕРС1`.`Паспорт` AS `Код абитуриента`,
        `ПЕРС1`.`ФИО` AS `ФИО абитуриента`,
        `ПЕРС2`.`Паспорт` AS `Код секретаря, возвратившего документы`,
        `ПЕРС2`.`ФИО` AS `ФИО секретаря`,
		COUNT(*) AS `Число заявлений`
    FROM `Абитуриент` AS `Аб`
    INNER JOIN `Персона` AS `ПЕРС1` 
		ON `Аб`.`ИД_ПЕРС\Аб^ПЕРС` = `ПЕРС1`.`ИД`
    INNER JOIN `Персона` AS `ПЕРС2` 
		ON `Аб`.`ИД_ПЕРС\Аб^ПЕРС` = `ПЕРС2`.`ИД`
	
GROUP BY `Аб`.`ИД`
;
SELECT * FROM `вирт_Абитуриент_Заявления`;


Соседние файлы в предмете Базы данных