Определить, сколько сотрудников в каждом отделе - MySQL

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста, кто понимает, оч надо типы полей обозначаются следующим образом: N-числовой, c-символьный,d-дата,t-время,L-логический. Создать и заполнить отношения: 1. Отношение "Отделы"(идентификатор,"название отдела" 2. Отношение "Научные направления"(Идентификатор, "название научной специалбности") 3. Отношение "сотрудники"(основное) ну это типа таблицы, я не знаю как тут вставлять. _________________________________________________ |содержимое поля|тип | примечание | |Табелный номер | N |первичный ключ| |ФИО | C |оязательное поле| |Должность |C |Обязательное поле| |Учёное звание |С| | |Шифр специальности|N|специальность по диплому| |Научная специализация|С|внешний ключ| |Номер отдела|С|Внешний ключ| __________________________________________________ Получить информаци: 1. Определить, сколько сотрудников в каждом отделе 2. "Сотрудники отдела"информационные технологии"(все поля отношения "Сотрудники") 3. Вывести должность сотрудника "иванов И.И."

Решение задачи: «Определить, сколько сотрудников в каждом отделе»

textual
Листинг программы
CREATE TABLE Department(DNumber NUMERIC(5,0) PRIMARY KEY,
DName VARCHAR(30) NOT NULL);
 
CREATE TABLE Topics(TNumber NUMERIC(5,0) PRIMARY KEY,
TName VARCHAR(30) NOT NULL);
 
CREATE TABLE Staff(SNumber NUMERIC(5,0) PRIMARY KEY,
Initials VARCHAR(50) NOT NULL,
POSITION VARCHAR(30) NOT NULL,
Academic_Degrees VARCHAR(30),
Speciality_Code NUMERIC(5,0) NOT NULL,
TNumber NUMERIC(5,0) NOT NULL,
DNumber NUMERIC(5,0) NOT NULL,
FOREIGN KEY(TNumber) REFERENCES Topics,
FOREIGN KEY(DNumber) REFERENCES Department);
 
INSERT INTO Department VALUES(1, 'ddd');
INSERT INTO Department VALUES(2, 'aaaa');
INSERT INTO Department VALUES(3, 'bbbbb');
 
INSERT INTO Topics VALUES(1, 'ssss');
INSERT INTO Topics VALUES(2, 'iii');
INSERT INTO Topics VALUES(3, 'mmmm');
 
INSERT INTO Staff VALUES(1, 'Иванов И.И.', 'looser1', 'noob1',12, 1, 1);
INSERT INTO Staff VALUES(2, 'qw er ty2', 'looser2', 'noob2', 13, 1, 1);
INSERT INTO Staff VALUES(3, 'qw er ty3', 'looser3', 'noob3', 14, 1, 1);
INSERT INTO Staff VALUES(4, 'qw er ty1', 'looser1', 'noob1',12, 1, 1);
INSERT INTO Staff VALUES(5, 'qw er ty2', 'looser2', 'noob2', 13, 2, 2);
INSERT INTO Staff VALUES(6, 'qw er ty3', 'looser3', 'noob3', 14, 3, 3);
 
/* Задание 1 */
SELECT COUNT (*) FROM Staff WHERE DNumber = 1;
SELECT COUNT (*) FROM Staff WHERE DNumber = 2;
SELECT COUNT (*) FROM Staff WHERE DNumber = 3;
/* Задание 2 */
SELECT * FROM Staff WHERE DNumber = 1;
/* Задание 3 */
SELECT * FROM Staff WHERE Initials = 'Иванов И.И.';

Объяснение кода листинга программы

  1. Создается таблица Department с полями DNumber и DName.
  2. Создается таблица Topics с полями TNumber и TName.
  3. Создается таблица Staff с полями SNumber, Initials, POSITION, Academic_Degrees, Speciality_Code, TNumber, DNumber.
  4. В таблицу Department добавляются три записи с номерами отделов 1, 2 и 3 и названиями ddd, aaaa и bbbbb соответственно.
  5. В таблицу Topics добавляются три записи с номерами тем 1, 2 и 3 и названиями ssss, iii и mmmm соответственно.
  6. В таблицу Staff добавляются шесть записей с различными данными о сотрудниках, включая их номера, имена, должности, ученые степени, коды специализаций, номера отделов и темы.
  7. Выполняются задания:
    • Считается количество сотрудников в отделе с номером 1.
    • Считается количество сотрудников в отделе с номером 2.
    • Считается количество сотрудников в отделе с номером 3.
    • Выводятся все данные о сотрудниках отдела с номером 1.
    • Выводятся все данные о сотрудниках, у которых имя начинается на Иванов И.И..

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5
Похожие ответы