Separar table user con tabla person

Iniciado por 3n31ch, 10 Agosto 2015, 08:22 AM

0 Miembros y 1 Visitante están viendo este tema.

3n31ch

Hola, espero que esten bien, me gustaria saber su opinion sobre mi problematica:

Tengo una base de datos pequeñas la cual maneja los datos de login de un sitio web. En ella se encuentra (entre otras tablas) la tabla user, la cual contiene una enorme cantidad de atributos.

user(
id,
firstname,
lastname,
sex,
birthday,
username,
password,
email
)


ahora... no seria mejor separar dicha tabla en dos:
person(
id,
firstname,
lastname,
sex,
birthday
)
user(
id,
username,
password,
email
)


creo que esto pega mas con el concepto de normalizacion, en concreto creo que el punto 2.

En este caso, la clave foranea ha de estar tanto en person como en user (teniendo en cuenta que una persona solo puede tener un usuario) o solo en user?

Es bueno separar las dos tablas o no?

engel lex

no es necesario realmente, ya que es un sistema uno a uno... para todo user tiene que haber un y solo un person... no puede haber más ni menos de uno... entonces la separación carece de valor...

en el único caso que tiene valor es que realmente quieras hacer una separación entre los "datos humanos" y los datos de la cuenta, en ese caso tienes que hacer las respectivas foraneas, y tener cuidado con los detalles
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

3n31ch

Busque bastante info en internet. Algunos apoya la idea de separar estas dos tablas, para mantener un orden en la base de datos y evitar que las tablas tengan muchos campos, a su vez evitar (en caso del MVC) tener modelos muy grandes.

Sin embargo unos difieren de esta idea diciendo que si la relacion es siempre 1 a 1 no se debe separar por ningun motivo dicha tabla.

Debido a la diferencias de idias, pensé e crear una sola tabla y posterior a esto crear vistas.

Pero despues de pensarlo mejor, para mis propósitos, sera mejor separar la tabla, debido a que quizás a futuro necesite trabajar con pesonas que no tengan usuarios.

Muchas gracias por responder :3