Tutorial básico de bases de datos

Iniciado por tar3kw0rm3d, Junio 02, 2013, 08:20:42 AM

Tema anterior - Siguiente tema

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

Junio 02, 2013, 08:20:42 AM Ultima modificación: Junio 04, 2013, 04:27:33 PM por Backtrackfire
Introducción

Este tema suele traer grandes dolores de cabeza cuando se trata de ser abordado usualmente, ya que muchos tutoriales parten de la base que uno sabe que es una base de datos, los diferentes tipos y como se usan. Así que este tutorial no pretende ser de ayuda para desarrollar ningún sistema, sino que su fin es el de explicar el sentido de las bases de datos y sus conceptos más básicos para así poder adentrarse cómodamente en el desarrollo de sistemas con bases de datos.

Primero vamos a partir con una serie de preguntas frecuentes que me fui encontrando durante mi vida:

FAQ

¿Qué es una DB?
Data Base = Base de datos en inglés

¿Qué es una BBDD o BD?
Base de datos

¿Para qué sirve una DB?
Almacenar datos

¿Cómo se aprende a programar en mySQL?
No se aprende, mySQL es una base de datos, no un lenguaje (mySQL es un gestor de base de datos)

¿SQL es una base de datos?
SQL server sí, pero SQL es un lenguaje

¿Cuántos tipos hay?
Muchos, pero los habituales en web son Access, mySQL y SQL Server 2000

¿Necesito algún lenguaje especial para conectarme?

Sí, SQL es el lenguaje para interactuar con las bases de datos

¿Qué es un Query?
Una consulta a la base de datos

¿Qué es ABM?
Alta, Baja y Modificación de cualquier cosa. Usualmente de una base de datos que contiene datos.

¿Qué es CMS?

Control Managment System : Un panel de control que administra un web site, y a menudo una base de datos.

Ahora, aclaradas estas dudas básicas, vamos al grano. Separaré en varios items la explicación a fin de un mejor orden.
Funcionalidad de un DB

Una base de datos (sea cual sea) es un soporte digital que tiene como fin el almacenamiento masivo de información en formato texto plano. No es capaz de almacenar imágenes como se cree, sino que almacena las rutas (path) de dichas fotos; ni almacena otro tipo de datos; sino que almacena sus rutas de acceso de ser necesario.

Las bases de datos, son utilizadas en sistemas que requieren una interacción fluida con la aplicación; estas se encargan muchas veces de administrar, editar, y dar de alta. Usualmente la base de datos, esta ligada a la programación directa del site, causando que una edición en ella cause una modificación directa en lo que ve el usuario.

Ejemplos de aplicación de una base de datos (entiéndase que están ligadas a un lenguaje dinámico como PHP o ASP):
E – comerce, Agendas, Libros de visitas, foros, portales, etc

Estructura normal de una DB

Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe ser cumplido para acceder la información de manera coherente.

Cada base de datos tiene una o más tablas, las cuales cumplen la función de contener los campos. Un ejemplo de tabla sería "contactos". Para entender mejor esto, sería como un libro en el excel. Mientras que los campos serían las columnas del excel donde se ordena cada datos insertado al libro. Ejemplo "id, nombres, apellidos, teléfono". Y luego finalmente tenemos las filas (row), que son la información propiamente dicha.

Por consiguiente una base de datos posee el siguiente orden jerárquico:

   

  • Tablas
  • Campos
  • Registros

En la web, se suelen usar 3 tipos de bases de datos:

Access: Es una base de datos desarrollada por Microsoft comúnmente utilizada bajo el lenguaje ASP (Active Server Pages). Esta base de datos, debe ser creada bajo el programa access, el cual crea archivo .mdb con la estructura ya explicada. El programa usa un entorno gráfico normal, y es muy parecido a usar excel.

MySQL: Es una base de datos con licencia GPL basada en un servidor, puede ser sólo creada por código. Usualmente se utiliza el programa phpMyAdmin como soporte para administrar la base de datos en el nivel de programación (a un usuario normal le resultaría complicado utilizarla desde linea de comandos).

SQL Server: Es una base de datos más potente que access desarrollada por Microsoft también, que se supone es recomendable arriba del millon datos.

PostgreSQL / Oracle: Son realmente mucho más poderosas que todas las antes mencionadas, aunque también se duplican los problemas. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre.

Lenguaje SQL:

Este es el lenguaje que se utiliza para conectarse a una base de datos. Son sentencias, que realizan un query (consulta) a la DB a fin de que esta les responda con una cantidad de datos limitada según lo buscado. Básicamente, existen muchísimas funciones de SQL, pero detallaré las más usuales, con las cuales se pueden lograr una interacción buena con la DB.

Insertar Datos a una Tabla especifica:

Código: mysql
INSERT INTO `Nombre Tabla` (` Nombre Campo ` , ` Nombre Campo ` , `Nombre Campo`) VALUES ('Valor', ' Valor', ' Valor ');


Editar Datos de una fila especifica


Código: mysql
UPDATE ` Nombre Tabla ` SET ` Nombre Campo ` = 'Valor', ` Nombre Campo ` = ' Valor',` Nombre Campo ` = ' Valor' WHERE `id` = 'Numero Fila';


CitarSiempre se incluye el campo id, a fin de identificar con un valor numérico una fila.

Borrar una Fila

Código: mysql
DELETE FROM ` Nombre Tabla ` WHERE `id`='Numero Fila';

Seleccionar datos de una Fila

Código: mysql
SELECT Nombre Campo, Nombre Campo FROM Nombre Tabla where id = Numero Fila;


Buscar datos dentro de una tabla

Código: mysql
SELECT Nombre Campo FROM Nombre Tabla where Nombre Campo LIKE '%".Concepto de Búsqueda."%;


Contar Registros totales en un campo


Código: mysql
SELECT COUNT (Nombre Campo) FROM Nombre Tabla;

Conclusión

Las bases de datos son soportes capaces de almacenar grandes cantidades de datos usando SQL como el lenguaje "consultor" de esos datos.

Un saludo, espero que os sirva! ;)

Las respuestas estan un poco tontas y vacias... principalmente las del inicio.


Muy bien explicado para mi!
Recordemos que es para gente que tiene 0 conocimientos sobre una base de datos!

Destructor.php muchas gracias man! ;)

Un saludo  8)

Si, pero preguntas del tipo:
Citar¿Qué es una DB?
Data Base = Base de datos en inglés

Es una payasada.

Junio 03, 2013, 11:20:43 AM #6 Ultima modificación: Junio 03, 2013, 11:25:25 AM por Mr. Foster
Buena "intro"  Backtrackfire  ;D


Junio 04, 2013, 04:06:01 PM #8 Ultima modificación: Junio 04, 2013, 04:08:24 PM por CodePunisher
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

¿Cómo se aprende a programar en mySQL?
No se aprende, mySQL es una base de datos, no un lenguaje


pero un paréntesis (mySQL es un gestor de base de datos)

Saludos


En mis tiempos (cuando entraba a este foro) la gente tenia mas nivel y no publicaban cosas tan tan basicas, otra cosa en mis tiempos tambien a Mysql, PostgreSQL, etc... no se le llamaban bases de datos, se les llamaban SGBD...

Cita de: [Corruptedyte link=topic=17301.msg59408#msg59408 date=1370390281]
En mis tiempos (cuando entraba a este foro) la gente tenia mas nivel y no publicaban cosas tan tan basicas, otra cosa en mis tiempos tambien a Mysql, PostgreSQL, etc... no se le llamaban bases de datos, se les llamaban SGBD...


jajajajaja ya empezo la elite a criticar....!!! los aportes de los demas...

o sera que nunca lo habian hecho tambien y se recuerdan de aquellos tiempos de n00bs cuan do publicaban republicaciones retraducidas del ingles al español para darselas de elite....


saludos;

nota: sin animo de ofender, el qque le pique que se rasque...!!!

No se trata de "élite" o "nivel" se supone que es un tutorial y se trata de transmitir conocimiento de la manera correcta. [L]ord [R]NA y [C]orruptedByte tienen razón, la "FAQ" es desastroza y hay muchísima diferencia entre una BD y un SGBD Y el hecho que sea un tutorial para personas con conocimientos nulos en el tema hace que estos errores sean menos tolerables.

Saludos!







No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

TUNOVATO, cuando llegue a publicar algo lo investigue seriamente, la fama? ser elite? con eso no se compra sabiduria. Tal como dice 11Sep, es intolerable tales faltas tan graves en un tutorial, el cual es para personas sin conocimientos. Confundir Sistema Gestor de Base de Datos con Base de Datos es sumamente grave. Cuando responde a la pregunta de tipos de Base de Datos y mencionar tres gestores es aun peor, O colocar informacion del tipo:

CitarUna base de datos (sea cual sea) es un soporte digital que tiene como fin el almacenamiento masivo de información en formato texto plano. No es capaz de almacenar imágenes como se cree, sino que almacena las rutas (path) de dichas fotos; ni almacena otro tipo de datos;

Dandola como valida, es aun una atrocidad peor.


Si se hibuese dignado a preparar con calma una publicacion y no hacer 40 publicaciones rapidas para tratar de llamar la atencion, esto no le pasaria.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
TUNOVATO, cuando llegue a publicar algo lo investigue seriamente, la fama? ser elite? con eso no se compra sabiduria. Tal como dice 11Sep, es intolerable tales faltas tan graves en un tutorial, el cual es para personas sin conocimientos. Confundir Sistema Gestor de Base de Datos con Base de Datos es sumamente grave. Cuando responde a la pregunta de tipos de Base de Datos y mencionar tres gestores es aun peor, O colocar informacion del tipo:

CitarUna base de datos (sea cual sea) es un soporte digital que tiene como fin el almacenamiento masivo de información en formato texto plano. No es capaz de almacenar imágenes como se cree, sino que almacena las rutas (path) de dichas fotos; ni almacena otro tipo de datos;

Dandola como valida, es aun una atrocidad peor.


Si se hibuese dignado a preparar con calma una publicacion y no hacer 40 publicaciones rapidas para tratar de llamar la atencion, esto no le pasaria.

Aveces antes de comentar uno debe tratar de averiguar, sabiendo lo que va plasmar es lo correcto, con respecto a almacenar una imagen bueno si estoy mal y me corrijan si es así , es posible el almacenamiento pero en este caso se da mediante  una conversión binaria a dicha imagen pero siendo el aspecto negativo la carga que se da para mostrar la imagen.

Saludos

Estas en lo correcto. Es posible pero no es utilizado debido a la carga de la base de datos... pero a cambio de la carga en la Base de Datos se quitan las dependencias de la Base de Datos a archivos externos a esta.

No creo que haya necesidad de crear un tutorial de algo que ya esta en todos lados. Pero igualmente se agradece el esfuerzo.

Pero aveces debemos pensar en realidad porque hacemos este tipo de cosas, porque la fama y todo eso no sirve detrás de un nick, y alguien que busque el reconocimiento de los demás dudo que llegue lejos . Mejor preocúpense por aprender, para en un futuro vivir de esto.

Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Si no os gusta. Lo elimino. Perdonen pero no me interesan las criticas, si no estáis de acuerdo no comentad. Veo que algunos no saben lo que es respeto ...

Saludos.

Eso si, el formato esta muy bonito jejeje, pero le debiste echar un poco mas de gana.  Solo de los errores se aprende compañero, estoy seguro que los errores que haz cometido ya no te sucederán de nuevo.

Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

TUNOVATO no llores, si a ti te gusta leer tutoriales que lo unico que hacen es desinformar y crear malos conceptos sobre los usuarios de este foro es tu problema a mi no me vengas con tu lloriqueo de que soy elite.