Create an ERD using crow\'s foot notation of the following-- A job organization
ID: 3889610 • Letter: C
Question
Create an ERD using crow's foot notation of the following--
A job organization places temporary workers with specialized technical skills in companies during peak working periods or during times when those specialized skills are critical but unavailable from the permanent employees. The organization wants a database to keep track of the job applicants, the job openings that are available, and the applicants placed in job openings.
The job organization’s general manager gave you the following description of the business:
- The organization has a file of job applicants who are interested in working on a temporary basis. THE COMPANY keeps data such as the name, address and telephone number for all applicants. (See Figure 1 for an example of data about the job applicant).
- The organization has a file of companies with whom they place workers. THE COMPANY keeps information such as the name, address, phone number, and email address of all companies. Sometimes the organization has a temporary worker placed at a company, and sometimes not.
- Each job applicant has earned at least one and potentially several different qualifications. A “qualification” is knowledge, experience, skills, or certification possessed by a job applicant. Each qualification may be earned by more than one job applicant. For example, it is possible for more than one job applicant to have earned a bachelor’s of science (BS) degree or a Microsoft Network Certification or have experience as a JAVA programmer. And clearly a job applicant may have earned both a BS degree and a Microsoft Network Certification. The organization keeps track of the qualification, the date it was earned, years of experience with the qualification and the job applicant’s proficiency level. (See Figure 3 for examples of the “qualifications” of a job applicant.)
- The company keeps track of a standard description for all qualifications so that the same qualification descriptors can be used for both job applicants and for position requests.
- Each time a company requests a temporary employee, the company fills out the position request form shown in Figure 2. It is possible that a position request form will generate more than one position. For example, the position request form shown in Figure 2 is asking for 3 people with the same qualifications. If positions require different qualifications, then different forms are filled out. The contact name and email address on the position request form are related to the company rather than to a given position request.
- It is possible that a given opening will require more than one job applicant (as shown in Figure 2). When a job applicant is given a job, that information should be recorded in the database. Right now, the company usually attaches a post-it note to the position request with the ID of the job applicant who accepted the position, the date that the applicant accepted the position, and the date that the applicant will start working for that position. Data stored in the database should replace the post-it note used in the current system.
- If the job applicant has worked in the past at a temporary job found by THE COMPANY, then that job applicant has a specific job history. THE COMPANY wants to keep track of the job history of each job applicant. (Naturally, no job history exists if the job applicant has never worked.) Each time a job applicant/contract worker finishes a temporary position found by THE COMPANY, one additional job history record is created. THE COMPANY keeps track of the opening that the job applicant filled, the company that the job applicant worked for, the start_date, end_date, hourly_pay, and total_hours_worked. This is currently done on a spreadsheet as shown in Figure 3, but the data should be part of the database.
Job Applicant #90225 Name Address Citv State John T. Smith 756 Elm Avenue Anaheim CA 92100 502-271-6003 tsmithbodva hotmail.com Phone Email ualifications Type Education Date Completed| Years 05/12/2013 05/19/2017 Description Associate Degree Bachelor's Degree- Proficiency Level 1 low to 5 high na Expeience n'a n'a na Information S ence Hardware ence Help Desk ence Network S na na na 07/15/2017 Certification Cisco CCNA n'a na Figure 1. Job Applicant FormExplanation / Answer
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.effect.DropShadow;
import javafx.scene.effect.Reflection;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
/**
*
* @web http://zoranpavlovic.blogspot.com/
*/
public class Login extends Application {
String user = "JavaFX2";
String pw = "password";
String checkUser, checkPw;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("JavaFX 2 Login");
BorderPane bp = new BorderPane();
bp.setPadding(new Insets(10,50,50,50));
//Adding HBox
HBox hb = new HBox();
hb.setPadding(new Insets(20,20,20,30));
//Adding GridPane
GridPane gridPane = new GridPane();
gridPane.setPadding(new Insets(20,20,20,20));
gridPane.setHgap(5);
gridPane.setVgap(5);
//Implementing Nodes for GridPane
Label lblUserName = new Label("Username");
final TextField txtUserName = new TextField();
Label lblPassword = new Label("Password");
final PasswordField pf = new PasswordField();
Button btnLogin = new Button("Login");
final Label lblMessage = new Label();
//Adding Nodes to GridPane layout
gridPane.add(lblUserName, 0, 0);
gridPane.add(txtUserName, 1, 0);
gridPane.add(lblPassword, 0, 1);
gridPane.add(pf, 1, 1);
gridPane.add(btnLogin, 2, 1);
gridPane.add(lblMessage, 1, 2);
//Reflection for gridPane
Reflection r = new Reflection();
r.setFraction(0.7f);
gridPane.setEffect(r);
//DropShadow effect
DropShadow dropShadow = new DropShadow();
dropShadow.setOffsetX(5);
dropShadow.setOffsetY(5);
//Adding text and DropShadow effect to it
Text text = new Text("JavaFX 2 Login");
text.setFont(Font.font("Courier New", FontWeight.BOLD, 28));
text.setEffect(dropShadow);
//Adding text to HBox
hb.getChildren().add(text);
//Add ID's to Nodes
bp.setId("bp");
gridPane.setId("root");
btnLogin.setId("btnLogin");
text.setId("text");
//Action for btnLogin
btnLogin.setOnAction(new EventHandler() {
public void handle(ActionEvent event) {
checkUser = txtUserName.getText().toString();
checkPw = pf.getText().toString();
if(checkUser.equals(user) && checkPw.equals(pw)){
lblMessage.setText("Congratulations!");
lblMessage.setTextFill(Color.GREEN);
}
else{
lblMessage.setText("Incorrect user or pw.");
lblMessage.setTextFill(Color.RED);
}
txtUserName.setText("");
pf.setText("");
}
});
//Add HBox and GridPane layout to BorderPane Layout
bp.setTop(hb);
bp.setCenter(gridPane);
//Adding BorderPane to the scene and loading CSS
Scene scene = new Scene(bp);
scene.getStylesheets().add(getClass().getClassLoader().getResource("login.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.titleProperty().bind(
scene.widthProperty().asString().
concat(" : ").
concat(scene.heightProperty().asString()));
//primaryStage.setResizable(false);
primaryStage.show();
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.