PDA

Ver la Versión Completa : Dudas acerca de bases de datos


OmarMtz
24-12-2003, 03:45:49
¿Como saber la diagramacion a usar? Es decir, La base de datos de empleados¿Cuantas tablas necesita? ¿Como saber que las necesita y como ubicarlas? Esta muy bien el uso de Sql, Oracle, y muchas otros SGDB's pero, ¿Habra un curso que te enseñe a manejar las bases de datos, no desde su punto de vista de programacion (aunque esto es lo mas interesante) sino desde la diagramacion, intuicion, diseño de tablas, querys y demas, su punto de vista teorico, vamos, para todos aquellos que nos interesa las bases de datos, pero que para empezar, aunque sabemos crear una tabla, no sabemos el "COMO" diseñarla, ni "CUANTAS".... Espero que, por el bien, no nada mas mio, sino de todos aquellos novatos que quieren, pero no saben y buscan ayuda de los que si saben, alguien pueda indicar si hay alguna pagina conocida con algun curso de esto, o bien que el mismo clubdelphi pueda integrarlo dentro de este maravilloso espacio para programadores en español...

marcoszorrilla
24-12-2003, 08:16:59
Como toda obra que se precie, la base de datos ha de tener un plano. La verdad es que algunas veces se va tan deprisa que se hace el diagrama despues de las tablas, que aberración.

Para hacer el diagrama, es preciso saber antes que tablas se van a necesitar como se van a relacionar, a traves de que campos, describir los campos de cada tabla, tipo, restricciones etc.

El problema es que si no sabemos las tablas que necesitamos no podemos hacer el diagrama y si no hacemos el diagrama, no creamos las tablas.

Al final es cuestión de lógica, orden y sentido común, que por desgracia es el menos común de los sentidos.

Un Saludo.

OmarMtz
24-12-2003, 09:31:54
Gracias...

Aun cuando el sentido comun no es muy aplicable en las bases de datos, se debe utilizar -pienso yo- pero aunque es agradable ver que alguien se preocupa por contestar y en esta hilo, y tu pareces ser el angel guardian de todos nosotros los principiantes, aun asi quisiera ver un cursillo precisamente de eso, de logica en programacion de bases de datos en Delphi, su diseño y su diagramacion, para conocer mas al respecto.

De antemano, muchas gracias Marcos, por tu respuesta y si no te leo en estos dias, Feliz Navidad a ti y a todos los que forman parte de estos foros y este sitio :)

jacanche
24-12-2003, 18:49:06
Hola,

Para el diseño de bases de datos se encuentra el modelo entidad-relacion, el modelo relacional, que te permiten, por medio de reglas, definir la estructura de tu base de datos. En la red deben existir algun manual sobre ellos; libros, hay uno que se llama fundamentos de bases de datos, de silberschatz, que es un excelente libro un poco arido de leer por las notaciones matematicas que utiliza, pero no deja de ser excelente, otro libro excelente es Introduccion a las bases de datos, de C.J. Date. Hasta aqui hablamos de la parte de diseño de bases de datos.
Ahora bien, si quieres leer sobre la programacion de aplicaciones de bases de datos en delphi, el libro, en mi opinion, imprescindible es La Cara Oculta de Delphi, de Ian Marteens, es un libro muy facil de leer, y de excelente calidad, hay otros libros que no son especificamente sobre Delphi, que pero que tambien son buenisimos por ejemplo, Object Primer, Building Object Applications That Work: Your Step-By-Step Handbook for Developing Robust Systems with Object Technology de Scott Ambler.

Estos son temas interesantisimos, ojala y se pueda abrir un tema en el foro de debates.

Saludos.

Alfredo

__cadetill
24-12-2003, 20:20:26
si no os importa, muevo el hilo al foro de debates y así poder hablar largo y tendido sobre el tema por todo aquel que quiera

__cadetill
24-12-2003, 20:38:45
Bueno, como comenta el amigo Marcos, muchas veces es sentido común y, también depende de la complejidad que quieras darle a la aplicación.

Por ponerte un ejemplo. Una tabla de clientes puede tener muchas dependencias, según los campos que quieras que tenga ésta. Si, por ejemplo, quieres almacenar el país del cliente, puedes poner un campo alfanumérico de 50 y listo, ya puedes ingresar el país, a bien puedes complicarlo creando una tabla secundaria de paises y em la de clientes sólo guardar la clave de dicha tabla. Y así se me ocurren miles de ejemplos. Cualquier cosa que sea digna de reutilización, la puedes poner en una tabla secundaria (los paises los puedes aprovechar para proveedores, empleados,..., y otros clientes), de esta manera le evitas trabajo a la persona que maneja el programa.

Lo más fácil de una aplicación, creo yo, es definir las tablas maestra. Las secundarias, como digo, es ver qué complejidad le quieres dar al programa y/o qué facilidad le quieres dar al usuario final

santana
26-12-2003, 01:14:36
No sé como lo harán en otros sitios, pero en mi caso, empecé los estudios dando un módulo de Análisis y Diseño de Aplicaciones, donde, entre otras cosas, sí que nos enseñan a utilizar el modelo Entidad/Relación y el modelo relacional para diseñar las tablas. Después, obviamente, hay que aplicar el sentido común, pero es importante tener, como apuntaban aquí, el "plano", tanto de la base de datos como de la aplicación en si, eso, aunque en principio parezca una pérdida de tiempo, opino que a la larga te ahorra mucho trabajo, al menos a gente como yo con poca experiencia.
Si hay tiempo y ganas, yo soy partidaria de normalizar las tablas hasta el máximo nivel posible, pero de momento sólo hago aplicaciones de gestión para pequeñas empresas, supongo que también cuenta el tiempo de que se dispone y el precio del trabajo realizado, el tipo de usuario al que va dedicada la aplicación, etc....factores que entran en la categoría de "sentido común".

Salu2 a to2.

jacanche
26-12-2003, 20:53:12
Bueno, creo que el tiempo no debe ser un impedimento para realizar un diseño formal de la base de datos o de la aplicación en si. Claro aqui vienen consideraciones sobre tiempos de entrega, y si lo que estamos haciendo va a ser usado por muchos usuarios o no, o simplemente es para una asignatura de la escuela, pero en lineas generales si vamos a realizar un trabajo para vender, creo que nos ahorraria mucho tiempo y dinero relizar un diseño robusto desde el principio, para que las modificaciones posteriores, que son inevitables, las podamos realizar rapidamente.
Uno de los problemas, en mi opinion, por lo que no realizamos un diseño detallado y una documentación exhaustiva, es que pensamos que nos va a quitar mucho tiempo y tenemos la fecha de entrega encima, asi que preferimos programar y no documentar, y desafortunadamente hagamos lo que hagamos, siempre vamos a estar con la presion del tiempo, asi que, ¿por que no usar herramientas case? o si no hay o no podemos comprar las que cubran nuestra necesidades, ¿porque no programarlas?, la verdad es que, nos dedicamos a hacerle el trabajo mas facil a nuestros clientes, pero no a nosotros.
En el caso que comentabamos sobre la estructura de la base de datos, no debe ser muy complicado generar un programa que permita normalizar relaciones.

Seguimos en contacto. Felices Fiestas..


Saludos

Alfredo

OmarMtz
26-12-2003, 22:17:14
Saludos a todos

Gracias, por hacer de mi pequeña cuestion un verdadero debate, porque en verdad que son muchas las personas que no hacen caso de lo que deben hacer para sus aplicaciones. Uno de los libros que me recomendaste ya lo tengo y lo he estado leyendo, para aprender acerca de las bases de datos, tambien encontre una pagina orientada a Java, cuya direccion es:
http://www.programacion.com/tutorial/jdbc/1/ pero que maneja las bases de datos desde sus puntos mas sencillos, casi como el libro Sistemas de Bases de Datos -Conceptos Fundamentales- de ELMASRI/NAVATHE segunda edicion, y aun cuando le hace falta algo de pedagogia, esta muy bueno y recomendable para todos aquellos que les interese el Tema.
Otro libro recomendable es la Guia de Desarrollo Delphi5 de Xavier Pacheco y Steve Texeira. Otro que tambien es un buen libro es el de "Bases de datos Mode3los, Lenguajes, diseño de James L. Jhonson Ed. Oxford. Bien en los libro de Bases de datos tiene muchas notaciones matematicas, y hasta cierto punto es algo que no entiendo mucho, por la falta de aplicacion en las matematicas, es por eso que al foro le he pedido un cursillo acerca de las bases de datos en su teoria, su diagramacion y como utilizar el sentido comun para la creacion de Tablas y no crearlas tontamente. Por todo esto y mucho mas, gracias a todos los que han participado.