Como estructurar una DB

Iniciado por Alex_bro, 9 Agosto 2007, 14:00 PM

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

Alex_bro

Buenas,
antes de nada decirles que en esto de las bases de datos soy novato, siempre las evitaba usando txt etc... pero mi duda viene a ser mas administrativa que de tecnica.
Se hacer un sistema de usuarios tipico (en una tabla: id, name, email, permisos), y para la autentificacion y tal va bien, pero ahora el problema esta en que en diversos servicios de mi web requieren aumentar el perfil del usuario pidiendo su web, preferencias sobre la herramienta... y si aumentamos a esto los comentarios que publique... se hace todo un lio, pues aunque todo pueda estar en tablas diferentes con referencia al nombre de usuario, cuando por ejemplo borras el usuario siguen rastros de el en todos lados...
En definitiva... me gustaria saber como organizan las tablas y los datos en la db para algo mas complejo que un simple login.
La idea optima para mi web seria hacer algo similar a lo que hace google con sus registros: pedir datos basicos como el user y pass y luego irse subscribiendo en cada servicio en particular aumentando los datos si se requieren.

No se si habra algun manual sobre la estructuracion de datos... busque pero nada... pero no creo que sea yo el unico con problemas sobre esto  :-[

Saludos y gracias (y perdon por escribir tanto).

дٳŦ٭

Busca sobre el comando JOIN ON del MySQL, creeme que te va a hacer la vida muchisímo más fácil.

Suerte


Con sangre andaluza :)


Alex_bro

Muchas gracias, he leido unos manuales, y todos me hablan sobre relacionar por ejemplo un nombre a un id cuando se hace un select, es eso?
en ese caso, para por ejemplo borrar un usuario si que tendria que ejecutar un borrado por cada tabla no?
Existe alguna forma de condicionar cuando borre un id, la condicion valga para todas las tablas? (la idea seria que al borrar el usuario se borraran todos sus comentarios etc. para que si alguien vuelve a registrar el mismo nombre no se confundan...)

Gracias y disculpen mi ignorancia.

yeikos

CitarDELETE FROM Usuarios WHERE id = '5'
DELETE FROM Comentario WHERE id_autor = '5'

дٳŦ٭

Cita de: Roberto T. en 10 Agosto 2007, 21:16 PM
Muchas gracias, he leido unos manuales, y todos me hablan sobre relacionar por ejemplo un nombre a un id cuando se hace un select, es eso?
en ese caso, para por ejemplo borrar un usuario si que tendria que ejecutar un borrado por cada tabla no?
Existe alguna forma de condicionar cuando borre un id, la condicion valga para todas las tablas? (la idea seria que al borrar el usuario se borraran todos sus comentarios etc. para que si alguien vuelve a registrar el mismo nombre no se confundan...)

Gracias y disculpen mi ignorancia.

Sep, por ejemplo:

Tabla parejas

Id      Nombre     Status civil       Anos
1       1              1                   34
2       2              4                   90
...

Tabla nombres

Id      Nombre            Apellido
1       pepe                Perez
2       Andrea             Lopez

Tabla Status_civil

Id      Desc
1       Casdo
2       Viudo
3       Separado
4       Otra

Ahora solo los unos por medio del Id con un JOIN tabla ON campo.

Suerte


Con sangre andaluza :)