To answer this question, we need to understand the concept of constraints in a database and how they relate to indexes.
Constraints are rules that are applied to columns or tables in a database to enforce data integrity. They ensure that the data stored in the database follows certain rules or conditions.
An index, on the other hand, is a data structure that improves the speed of data retrieval operations on a database table. It allows for faster searching and sorting of data.
In Oracle Server, there are several types of constraints that can be defined on a table, including:
A. Not null - This constraint ensures that a column cannot have a null value.
B. Primary key - This constraint ensures that a column or a combination of columns uniquely identifies each row in a table. It implicitly creates a unique index on the primary key column(s).
C. Foreign key - This constraint ensures that values in a column (or a set of columns) of one table match the values in another table's primary key or unique key column(s).
D. Check - This constraint ensures that the values in a column meet a specific condition or set of conditions.
E. Unique - This constraint ensures that the values in a column (or a set of columns) are unique across all rows in a table. It implicitly creates a unique index on the unique constraint column(s).
Based on the given options, the two constraints for which the Oracle Server implicitly creates a unique index are:
B. Primary key - This constraint ensures that a column or combination of columns uniquely identifies each row in a table. The Oracle Server implicitly creates a unique index on the primary key column(s).
E. Unique - This constraint ensures that the values in a column (or a set of columns) are unique across all rows in a table. The Oracle Server implicitly creates a unique index on the unique constraint column(s).
Therefore, the correct answer is B and E.