Final answer:
Foreign keys are essential for ensuring referential integrity in a relational database. They can be linked to a not null column and can establish a 1 to 1 relationship with a unique column.
Step-by-step explanation:
A foreign key is used to establish a relationship between two tables in a relational database. It ensures referential integrity by enforcing that a value in one table must exist in another table as a primary key. Therefore, the statement 'foreign keys are not needed when we require referential integrity' is false.
A foreign key can be linked to a not null column, meaning that the foreign key value cannot be null or empty. This helps maintain data integrity by ensuring that every record in the referencing table has a matching record in the referenced table.
A foreign key is needed even if the data type is different. The data types of the foreign key and the referenced primary key must be compatible, but they don't necessarily have to be the same. For example, a foreign key column of type integer can refer to a primary key column of type bigint.
A foreign key can be linked to a unique column that establishes a 1 to 1 relationship. This means that each value in the foreign key column corresponds to exactly one value in the referenced unique column, and vice versa.