What is Oracle Database and its main features? Explain the difference between a primary key and a unique key in Oracle. What are the different types of joins in Oracle? Explain each. How do you optimize SQL queries in Oracle for better performance? Describe the steps involved in creating a table in Oracle. What is a PL/SQL block, and how is it different from a stored procedure? How do you handle exceptions in PL/SQL? Explain the difference between a view and a materialized view in Oracle. How can you enforce referential integrity in Oracle? Describe the steps to create an index in Oracle and explain when it is beneficial to use one.