Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как сделать так,чтобы значения из 1 таблицы наследовались в другую? SQL

Анастасия Мишина Ученик (90), открыт 2 недели назад
Например у меня есть таблица сотрудники с полем айди и есть таблица оценки,где есть поле айди сотрудник. но мне нужно сделать так,чтобы эти данные наследовались из таблицы сотрудники. я сделала связь ,вот код:
CREATE TABLE Сотрудники
(ID_сотрудника INT IDENTITY(1,1) PRIMARY KEY,
ФИО varchar (255),
должность varchar(55),
отдел varchar (55),
номер_телефона varchar(20),
электронная_почта varchar(50));
CREATE TABLE Оценка (
ID_оценки INT IDENTITY(1,1) PRIMARY KEY,
id_сотрудника int,
id_курса int,
id_результатов int,
оценка decimal,
дата_оценки date,
преподаватель varchar(255),
foreign key (id_сотрудника) references Сотрудники(ID_сотрудника),
foreign key (id_курса) references Курс(ID_курса),

и еще , при заполнении этих таблиц мы айдишники не трогаем,получается? они же должны автоматически наследоватьсч
2 ответа
matic2280 Мастер (1080) 2 недели назад
 INSERT INTO Оценка (id_сотрудника, id_курса, id_результатов, оценка, дата_оценки, преподаватель)  
VALUES (1, 2, 3, 4.5, '2022-01-01', 'Иванов Иван Иванович');
вот код
а если хочешь что бы они наследовались то поставь триггеры
Анастасия МишинаУченик (90) 2 недели назад
я айдишник каждого сотрудника вручную что ли должна прописывать? а если их 1000000
matic2280 Мастер (1080) Анастасия Мишина, он автоматически должен id вставлять
Анастасия МишинаУченик (90) 2 недели назад
благодарю
Анастасия МишинаУченик (90) 2 недели назад
при выводе таблицы оценка
Анастасия МишинаУченик (90) 2 недели назад
идентити стоит во всех первичных ключах всех таблиц
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (243539) 2 недели назад
Составляем более менее нормализованую структур


Заполняем тестовыми данными

 -- Добавление тестовых данных в таблицу Курсы 
INSERT INTO Курсы (название, описание) VALUES
('Математика', 'Курс по математике для начинающих'),
('Физика', 'Курс физики для студентов'),
('Английский', 'Изучение английского языка');

-- Добавление тестовых данных в таблицу Сотрудники
INSERT INTO Сотрудники (ФИО, должность, отдел, номер_телефона, электронная_почта) VALUES
('Иванов Иван Иванович', 'Преподаватель', 'Факультет математики', '123-456-789', 'ivanov@example.com'),
('Петров Петр Петрович', 'Преподаватель', 'Факультет физики', '987-654-321', 'petrov@example.com'),
('Сидоров Сидор Сидорович', 'Преподаватель', 'Факультет английского', '555-555-555', 'sidorov@example.com');

-- Добавление тестовых данных в таблицу Преподаватели
INSERT INTO Преподаватели (ФИО, должность, отдел, номер_телефона, электронная_почта) VALUES
('Пупкин Василий Иванович', 'Преподаватель', 'Факультет математики', '111-222-333', 'pupkin@example.com'),
('Смирнова Елена Петровна', 'Преподаватель', 'Факультет физики', '444-555-666', 'smirnova@example.com'),
('Кузнецова Ольга Александровна', 'Преподаватель', 'Факультет английского', '777-888-999', 'kuznetsova@example.com');

-- Добавление тестовых данных в таблицу Оценка
INSERT INTO Оценка (id_сотрудника, id_курса, id_преподавателя, оценка, дата_оценки) VALUES
(1, 1, 1, 4.5, '2024-04-15'),
(2, 2, 2, 5.0, '2024-04-16'),
(3, 3, 3, 4.0, '2024-04-17');
Делаем запрос для проверкиИ идём сдавать работу...
Похожие вопросы