¿Es necesario que la base de datos establezca relaciones entre tablas? Si es así, ¿se puede construir con código SQL?

No es necesario entablar una relación, depende de las necesidades del negocio.

Por ejemplo, tienes un sistema de gestión de biblioteca.

Hay una tabla de libros [ID del libro, nombre del libro...] y una tabla de registro de préstamos [ID del prestatario, ID del libro, tiempo de préstamo...].

Algunos libros Perdido o desechado, debe eliminarse de la tabla de la base de datos.

Cuando desees eliminar un libro, el registro de préstamo de este libro también se eliminará al mismo tiempo.

Entonces, en este caso, cree una restricción de clave externa DELETE CASCADE, de modo que no haya necesidad de escribir procedimientos almacenados/disparadores ni nada por el estilo.

Al eliminar un libro, también se debe eliminar el código del registro de préstamo. La base de datos lo hace por usted automáticamente.

Otro uso de las relaciones es evitar datos basura.

Sigue siendo el ejemplo anterior.

Para asociaciones de clave externa,

Si lo hace mal, cuando inserta datos en la tabla de registros de préstamo, completa una ID de libro inexistente.

Luego la base de datos le indicará que no se puede insertar el registro.

Volverás y echarás un vistazo más de cerca. El ID del libro que acaba de ingresar está en la lista de libros.