Use Oracle (or close equivalent) to implement the following MIS COMPANY database.
• Table 1: 'Employees' includes the first name, middle initial, and last name of every worker in the company, as well as their SIN, date of birth, address, sex, salary, and the number of the department with which they are associated.
• Table 2: 'Departments' indicates the name (Consumer Products, Industrial Products, and Research) and number of each department in the company, and the SIN and start date of the manager of each department.
• Table 3: 'Projects' includes the project name and number, the number of the department in charge of the project, and the location of the office working on the project.
• Table 4: 'Locations' lists the locations of all the offices of each department.
Table 1: Employees
FNAME MINIT LNAME SIN BDATE ADDRESS SEX SALARY DNO
Harris T Chomsky 123 1955-12-10 France M 50,000 12
Kristian C Bohr 456 1965-10-05 New york M 28,000 11
Charlotte F Bouchard 789 1975-08-06 Montreal F 40,000 11
Said J Ahmad 111 1960-09-07 Toronto M 30,000 12
Andrew U Brahe 222 1970-04-02 Winnipeg M 20,000 10
Nadia O Mamary 333 1950-01-08 Saskatoon F 35,000 10
Peter P Nielsen 987 1973-02-27 Moncton M 32,000 11
Neil A Dion 654 1953-02-27 Moncton M 32,000 11
Karen C Ming 321 1963-11-16 Victoria F 26,000 12
Table 2: Departments
DNAME DNUMBER MGRSIN MGRSTARTDATE
ConsProd 10 333 1994-10-01
InduProd 11 654 1995-05-01
Research 12 111 1990-06-15
Table 3: Projects
PNAME PNUMBER PLOCATION DNUM
Mobile University 1 New york 10
E-commerce 2 New york 12
Intelligent Agent 3 London 11
Virtual city 4 France 10
Mobile Office 5 London 11
Table 4: Locations
DNBR DLOCATION
10 France
10 New york
11 London
12 New york
12 Montreal
c. Copy the sample data provided in this exercise into an ASCII file, and use either UTL_FILE, SQL Loader or equivalent to populate your tables with the data from the ASCII file.
d. To ensure that your tables have been correctly populated, write SQL statements that show the results of your tables.
e. It is preferable to use triggers to enforce an "on updates cascade" policy for foreign keys. In other words, if X is an attribute in table1, and is a foreign key in table2 and table3, then any change to an X value in table 1 will cause all X values equal to the old value to be updated in table2 and table3. Write a trigger to handle this "on updates cascade" for your tables. Your solution should be simple and correct.