Inicio / Noticias PHP-Hispano / Diseño y uso de bases de datos relacionales
Diseño y uso de bases de datos relacionales
Noticias anteriores
- 16 ene 10 Ayuda para Haití
- 10 oct 09 Artículo: Creando un MVC con PHP
- 16 sep 09 Acuerdo con RedCoruna
- 10 sep 09 Artículo: POO en PHP 5
- 01 sep 09 Encuestas y debates
- 20 ago 09 Últimas actualizaciones en PHP-Hispano
- 09 jul 09 PHP 5.3.0 Released!
Eloy, que está en racha, nos ha enviado otro artículo para publicar en PHP-Hispano. Siguiendo la temática anterior, éste también trata sobre bases de datos, aunque en este caso nos explica una serie de pautas a seguir para diseñar una base de datos. Cómo organizar las tablas y las claves en función de los datos de los que dispongamos. De la misma forma, hace un repaso por las directivas más importantes utilizadas cuando realizamos consultas en la BD.
Os dejo una introducción all artículo, junto con el índice del mismo y el enlace donde podéis encontrarlo.
Para diseñar una base de datos se parte de la recolección de atributos o campos que va a tener, y de la definición de sus tipos de dato. La manera más profesional es realizando el análisis de requisitos con todas las personas que van a hacer uso de los datos. Pero por experiencia ya sabéis que esto se hace muy a ojo: os piden realizar una aplicación y según los requisitos de la aplicación hacéis el diseño de la BD...
* Diseñando la BD
* Normalizando la BD
* Normalizando la BD: primera forma normal (1FN)
* Normalizando la BD: segunda forma normal (2FN)
* Normalizando la BD: tercera forma normal (3FN)
* Diseñando la BD sobre la marcha
* Consultando la BD: SELECT
* Consultando la BD: INNER JOIN
* Consultando la BD: LEFT JOIN
* Consultando la BD: GROUP BY
* Consultando la BD: optimizar consultas
http://www.php-hispano.net/articulos/modelo-uso-bases-datos-relacionales.html
Os dejo una introducción all artículo, junto con el índice del mismo y el enlace donde podéis encontrarlo.
Para diseñar una base de datos se parte de la recolección de atributos o campos que va a tener, y de la definición de sus tipos de dato. La manera más profesional es realizando el análisis de requisitos con todas las personas que van a hacer uso de los datos. Pero por experiencia ya sabéis que esto se hace muy a ojo: os piden realizar una aplicación y según los requisitos de la aplicación hacéis el diseño de la BD...
* Diseñando la BD
* Normalizando la BD
* Normalizando la BD: primera forma normal (1FN)
* Normalizando la BD: segunda forma normal (2FN)
* Normalizando la BD: tercera forma normal (3FN)
* Diseñando la BD sobre la marcha
* Consultando la BD: SELECT
* Consultando la BD: INNER JOIN
* Consultando la BD: LEFT JOIN
* Consultando la BD: GROUP BY
* Consultando la BD: optimizar consultas
http://www.php-hispano.net/articulos/modelo-uso-bases-datos-relacionales.html
Comentarios (9)
|
#2
jurena 12 jun 09 Eloy,
tu artículo es magnífico, con un estilo conciso, vigoroso y claro, y, en mi humilide opinión, muy, muy útil. Me ha encantado. Lo recomiendo a todos nuestros amigos del foro. Y tú sigue escribiendo artículos como este. Si aceptas alguna sugerencia, yo diría: como hacer mejores subconsultas. |
|
#4
jordifreek 15 jun 09 Mil gracias Eloy, está cojonudo. Tiempo ya buscando esta información.
|
|
#5
Eloy8857 16 jun 09 Me alegro de que os sea útil!
El análisis es algo que descuidamos con frecuencia... pero es el cimiento de todo desarrollo así que nos conviene mimarlo. Programar bien no sirve de nada si el análisis es mediocre; y según crecen los proyectos es más necesario que la base esté bien formada: para futuras modificaciones y ampliaciones por ejemplo. A ver con qué os sorprendo la próxima vez... |
|
#7
Eloy8857 23 jun 09 Acabo de modificar la página de INNER JOIN con un ejemplo algo más largo, con tres tablas. Ya me habían comentado un par de personas que se echaba en falta algún ejemplo más complejo así que ahí tenéis :)
Por cierto Zubyc, prueba lo de modificar el artículo por partes, ¿no? |
|
#9
osmodiars 06 jul 09 La verdad muy bueno, muy claro al explicar que hay muchas formas de crear tablas y de generar consultas. No siempre es la misma solucion para todas las db, primero hay que analizarla muy bien y luego crearla. En mi opinión, las tablas de la db deben ser creadas "perfectamente", no hay margen de error.
Sobre la optimizacion de las consultas, al principio parece innecesario, pues al principio uno maneja dbs con pocos datos. No importa las consultas que usemos, el tiempo de execucion no sera notado...pero en db con muchisimos datos, la optimizacion es muy neceria. Tuve una experiencia en mysql, tuve que optimizar una consutla, demoraba como 40 seg... y la solucion la verdad que no me la esperaba No voy a escribir la consulta entera, pero era algo asi SELECT [valores], (SELECT [valores] WHERE a!=b) INNER JOIN [tabla] ON [condicion] WHERE [condiciones] probe de todo, y no lograba optimizar la consulta, hasta que ya en mis ultimos intentos cambie: (SELECT [valores] WHERE a=a OR a=c) (osea, saque el !=) No se por que, pero la consulta se optimizo como 30 segundos. Tal vez eso les sirve para optimizar mas sus consultas. Gracias por el articulo :) |
Para poder participar debes estar registrado e identificado. Si no estás registrado como usuario de PHP-Hispano,
:: Registrar ::