Underc0de

Programación Web => Base de Datos => Mensaje iniciado por: tar3kw0rm3d en Junio 02, 2013, 08:20:42 AM

Título: Tutorial básico de bases de datos
Publicado por: tar3kw0rm3d en Junio 02, 2013, 08:20:42 AM
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:

   
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) [Seleccionar]
INSERT INTO `Nombre Tabla` (` Nombre Campo ` , ` Nombre Campo ` , `Nombre Campo`) VALUES ('Valor', ' Valor', ' Valor ');

Editar Datos de una fila especifica


Código (mysql) [Seleccionar]
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) [Seleccionar]
DELETE FROM ` Nombre Tabla ` WHERE `id`='Numero Fila';

Seleccionar datos de una Fila

Código (mysql) [Seleccionar]
SELECT Nombre Campo, Nombre Campo FROM Nombre Tabla where id = Numero Fila;

Buscar datos dentro de una tabla

Código (mysql) [Seleccionar]
SELECT Nombre Campo FROM Nombre Tabla where Nombre Campo LIKE '%".Concepto de Búsqueda."%;

Contar Registros totales en un campo


Código (mysql) [Seleccionar]
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! ;)
Título: Re: Tutorial básico de bases de datos
Publicado por: [L]ord [R]NA en Junio 02, 2013, 12:04:41 PM
Las respuestas estan un poco tontas y vacias... principalmente las del inicio.
Título: Re: Tutorial básico de bases de datos
Publicado por: tar3kw0rm3d en Junio 02, 2013, 01:37:36 PM
 [L]ord [R]NA no lo dudo.

Saludos  8)
Título: Re: Tutorial básico de bases de datos
Publicado por: Destructor.cs en Junio 02, 2013, 02:06:52 PM
Muy bien explicado para mi!
Recordemos que es para gente que tiene 0 conocimientos sobre una base de datos!
Título: Re: Tutorial básico de bases de datos
Publicado por: tar3kw0rm3d en Junio 02, 2013, 02:47:17 PM
Destructor.php muchas gracias man! ;)

Un saludo  8)
Título: Re: Tutorial básico de bases de datos
Publicado por: [L]ord [R]NA en Junio 02, 2013, 11:17:06 PM
Si, pero preguntas del tipo:
Citar¿Qué es una DB?
Data Base = Base de datos en inglés

Es una payasada.
Título: Re: Tutorial básico de bases de datos
Publicado por: Mr. Foster en Junio 03, 2013, 11:20:43 AM
Buena "intro"  Backtrackfire  ;D
Título: Re: Tutorial básico de bases de datos
Publicado por: tar3kw0rm3d en Junio 03, 2013, 01:47:45 PM
Mr. Foster thanks!  :-*

Saludos  8)
Título: Re: Tutorial básico de bases de datos
Publicado por: CodePunisher en Junio 04, 2013, 04:06:01 PM
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
Título: Re: Tutorial básico de bases de datos
Publicado por: tar3kw0rm3d en Junio 04, 2013, 04:28:02 PM
CodePunisher ya esta  :D

Saludos
Título: Re: Tutorial básico de bases de datos
Publicado por: [C]orrupted[B]yte en Junio 04, 2013, 08:58:01 PM
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...
Título: Re: Tutorial básico de bases de datos
Publicado por: TUNOVATO en Junio 04, 2013, 11:20:39 PM
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...!!!
Título: Re: Tutorial básico de bases de datos
Publicado por: Once en Junio 05, 2013, 12:04:46 AM
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!
Título: Re: Tutorial básico de bases de datos
Publicado por: [L]ord [R]NA en Junio 05, 2013, 08:12:36 AM
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.
Título: Re: Tutorial básico de bases de datos
Publicado por: CodePunisher en Junio 05, 2013, 10:36:04 AM
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
Título: Re: Tutorial básico de bases de datos
Publicado por: [L]ord [R]NA en Junio 05, 2013, 11:45:51 AM
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.
Título: Re: Tutorial básico de bases de datos
Publicado por: ~ Yoya ~ en Junio 05, 2013, 12:17:02 PM
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.
Título: Re: Tutorial básico de bases de datos
Publicado por: tar3kw0rm3d en Junio 05, 2013, 12:19:32 PM
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.
Título: Re: Tutorial básico de bases de datos
Publicado por: ~ Yoya ~ en Junio 05, 2013, 12:24:18 PM
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.
Título: Re: Tutorial básico de bases de datos
Publicado por: [C]orrupted[B]yte en Junio 05, 2013, 01:19:44 PM
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.
Título: Re: Tutorial básico de bases de datos
Publicado por: tar3kw0rm3d en Junio 05, 2013, 01:21:34 PM
~ Yoya ~ fama ? No entiendo. Entonces para que esta el foro? Bueno por lo que veo en underc0de no sale rentable aportar.


Título: Re: Tutorial básico de bases de datos
Publicado por: [C]orrupted[B]yte en Junio 05, 2013, 01:46:51 PM
Si vas a aportar aporta cosas que no estén mal y no llores yo no soy todo el foro