В настоящее время я создаю внутреннюю базу данных персонала для своей команды, используя Access.
Мне трудно понять, как создать некоторые из моих таблиц.
У меня есть таблица с именем Staffing_Type.Запрос для создания моей таблицы:
Create Table Staffing_Type (
staffing_type_id autoincrement Primary Key,
statffing_type text(150)
);
Эта таблица содержит все типы персонала, которые могут запустить процесс.Существует более 3 типов персонала ... Это только примеры.
+----+--------------------+
| ID | staffing_type |
+----+--------------------+
| 1 | Acting |
| 2 | Student Employment |
| 3 | Casual |
+----+--------------------+
У меня есть таблица с именем Process.Они запрашивают для этой таблицы:
Create Table Process (
process_id autoincrement Primary Key,
process text(150)
);
Эта таблица включает в себя весь процесс для различных типов штатного расписания.
+----+-----------------------------------------------+
| ID | process |
+----+-----------------------------------------------+
| 1 | Approval from department |
| 2 | Confirm employee meets conditon of employment |
| 3 | Determine candidate's rate of pay |
| 4 | Gather and complete all forms and documents |
| 5 | Contact and evaluate student |
+----+-----------------------------------------------+
У меня есть таблица с именем staffing_processes.Запрос для этой таблицы:
Create Table Staffing_Processes (
staffing_type_id integer,
process_id integer,
Primary Key (staffing_type_id, process_id),
CONSTRAINT type_staffing_Processes Foreign Key (staffing_type_id) references Staffing_Type(staffing_type_id),
CONSTRAINT process_staffing_Processes Foreign Key (process_id) references Process(process_id)
);
Это таблица отношений «многие ко многим» между различным типом staffing_type и различными процессами.
+------------------+------------+
| staffing_type_ID | process_ID |
+------------------+------------+
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 2 | 1 |
| 2 | 2 |
| 2 | 3 |
| 2 | 4 |
+------------------+------------+
Пока что моя логика работает нормально.
Например, скоро начнется действие, у меня есть запрос, который возвращает весь процесс для этого типа персонала.
SELECT Process.process
FROM Staffing_Type INNER JOIN (Process INNER JOIN Staffing_Processes ON Process.process_id = Staffing_Processes.process_id) ON Staffing_Type.staffing_type_id = Staffing_Processes.staffing_type_id
WHERE (((Staffing_Processes.staffing_type_id)=1));
То, что я хочу создать, - это таблица, которая может отслеживать, когда тип укомплектования персоналом запущен, в зависимости от типа укомплектованного персонала, он должен возвращать весь тип процесса, который потребуется этому укомплектованию.затем позволяет пользователю вводить дату завершения каждого процесса.Поскольку более одного штатного расписания может быть запущено одновременно, и кадровое обеспечение может быть завершено в течение нескольких дней, недель и месяцев, поэтому я должен иметь возможность вернуть правильный тип штатного расписания пользователю с помощью предыдущего завершенного процесса.Как мне продолжать создавать эту таблицу?
Я попытался создать таблицу staff_a_position.Но эта структура не работает, чтобы иметь возможность получить уникальное staff_a_position со всеми относящимися к нему process_id.
Create Table Staff_a_Position (
staff_a_position_id autoincrement Primary key,
staffing_type_id integer,
process_id integer,
isDone bit,
whenCompleted date
);