1 Una relacion es un campo que tiene una tabla padre sobre una tabla hija y ese campo identico en propiedades, le permite crear una relacion.
2 Las relacion entre tablas es fundamental en base de datos, ya que no solo es una relacion que mantiene integridad, sino que ademas te permite crear bases de datos bien pesadas, que no ocuparan espacio inecesario y que haran menos pesadas las consultas.
3 Todo depende de la programacion eso lo decides tu, pero claro esta que existen reglas de integridad, y se supone que si agregas un campo en una tabla padre, al mismo tiempo debe ser agregado ese mismo campo o al menos relacionado con la tabla hija.
4 No pasa nada, de hecho cuando trabajo con tablas nativas de foxpro no creo relaciones, pero eso no quiere decir que mi base de datos no este pensada en forma relacional, a mi parecer Las Bases de datos DBF que se basan en ficheros, no son en realidad una base de datos, mas bien es una coleccion de ficheros que tienen relaciones de campos entre ellos.
de hecho no crear integridad y usar sentencias sql para relacion obtener u insertar datos en una base de datos, la vielve rapida y poderoza, y minimiza los riesgos de que colapse por fallas de energia en procesos largos heredados de los viejos foxpros.
Pero se requieren las relaciones te pongo un ejemplo sencillo
En una base de datos Ventas
Tenemos una tabla ventas que esta relacionada con una tabla detalle y una tabla clientes
Pues bien
La tabla Clientes tiene los cliente, campos, nombre de cliente, rfc, domicilio, telefono, contacto, mail. ... etc etc
y la tabla Ventas tiene, Fehca, pedido, estatus, cliente, total
y la tabla detalle tiene, pedido, cantidad, producto, clave, precio_publico, moneda y tipo de cambio
la tabla padre es ventas, que tiene un campo ventas.cliente que es igual al de clientes clientes.cliente, este campo le permite relacionar una tabla con otra, al mismo tiempo la tabla ventas, tiene un campo ventas.pedido que es igual al de el detalle detalle.pedido que tambien le da una relacion
si no existiese esta relacion simbolica y no creada en la base de datos, tendrias para cada venta que almacenar datos repetitivos, es decir en 3 productos que un cliente comprara se repetiria en la base de datos 3 veces sus datos, del cliente que son los mismos
tambien sucederia lo mismo en la tabla ventas, esto es totalmente improductivo, ya que tu base de datos alcanzaria tamaños enormes en poco tiempo y seria muy ineficiente en sus consultas.
las bases de datos relacionales, nos permiten, pensar mejor en que tipos de datos vamos a guarda como los vamos a usar, para ahorrar espacio y agilizar las consultas haciendo muy eficientes y rapidas aplicaciones.
todo gracias a las bases de datos relacionales.
Espero haberte ayudado.
Saludos