PDF de programación - MySQL con Clase

Imágen de pdf MySQL con Clase

MySQL con Clasegráfica de visualizaciones

Publicado el 18 de Mayo del 2018
1.817 visualizaciones desde el 18 de Mayo del 2018
2,2 MB
674 paginas
Creado hace 18a (15/05/2005)
http://localhost/conclase/mysql/curso/para-pdf/index.php



Con Clase, http://www.conclase.net

Curso de MySQL por Salvador Pozo Coronado

© Mayo 2005

http://localhost/conclase/mysql/curso/para-pdf/index.php15/05/2005 12:18:55

Prólogo

Prólogo

MySQL es una marca registrada por MySQL AB. Parte del material

que se expone aquí, concretamente las referencias de funciones del API de MySQL y de
la sintaxis de SQL, son traducciones del manual original de MySQL que se puede
encontrar en inglés en www.mysql.com.

Este sitio está desarrollado exclusivamente por los componentes de Con Clase,
cualquier error en la presente documentación es sólo culpa nuestra.

Introducción

Siguiendo con la norma de la página de usar software libre, afrontamos un nuevo reto: trabajar con
bases de datos mediante el lenguaje de consulta SQL. Este curso será la base para otros que nos
permitirán usar bases de datos desde aplicaciones C/C++, PHP, etc.

Originalmente, este curso iba a tratar sólo sobre MySQL. Mi intención era limitarlo exclusivamente a
explicar la sintaxis de las sentencias y funciones SQL, hacer algunos ejemplos y completar una
referencia de MySQL.

Sin embargo, como me suele ocurrir cada vez que afronto un nuevo proyecto, las cosas no salen como
las tenía planeadas. Poco a poco he ido añadiendo nuevos contenidos, (bastante lógicos, teniendo en
cuenta el tema que nos ocupa), y estos contenidos han precisado la inclusión de otros...

Finalmente el curso se ha convertido en algo mucho más extenso, y sobre todo, mucho más teórico,
aunque espero que también, en algo mucho más útil.

El curso permitirá (si he sido capaz de explicar todos los conceptos claramente) diseñar bases de datos
a partir de problemas reales, haciendo uso de una base teórica firme.

El nivel será, teniendo en cuenta la complejidad del tema de las bases de datos, y el de MySQL,
bastante básico. Este documento no pretende ser demasiado académico, está orientado a
programadores autodidactas que quieran incluir bases de datos en sus aplicaciones. Tampoco
entraremos en demasiados detalles sobre configuración de MySQL, o sobre relaciones con Apache o
Windows. La principal intención es poder manejar bases de datos complejas y grandes, y sobre todo,
poder usarlas desde otros lenguajes como C, C++ o PHP.

El presente curso nos obliga a tratar varios temas diferentes.

http://localhost/conclase/mysql/curso/para-pdf/index.php?cap=000 (1 of 3)15/05/2005 12:19:02

Prólogo

l Fundamentos teóricos de bases de datos: modelos conceptuales, como el de Entidad-Relación,

y modelos lógicos, como el modelo relacional, y herramientas relacionadas con ese modelo,
como la normalización.

l Trabajo con servidores. En el caso de MySQL, el servidor es el que realiza todas las

operaciones sobre las bases de datos, en realidad se comporta como un interfaz entre las bases
de datos y nuestras aplicaciones. Nuestras aplicaciones se comunicarán con el servidor para
leer o actualizar las bases de datos.

l Por otra parte, trataremos con un lenguaje de consulta y mantenimiento de bases de datos: SQL
(Structured Query Language). SQL es un lenguaje en sí mismo, pero mediante el API adecuado
podemos usarlo dentro de nuestros propios programas escritos en otros lenguajes, como C o C+
+.

La teoría sobre bases de datos así como el lenguaje SQL podrá sernos útil en otros entornos y con
otros motores de bases de datos, como SQL server de Microsoft, o Access. De modo que lo que
aprendamos nos servirá también fuera del ámbito de este curso.

Instalar el servidor MySQL

Veremos ahora cómo instalar las aplicaciones y paquetes necesarios para poder trabajar con MySQL.

Lo primero es obtener el paquete de instalación desde el servidor en Internet: http://www.mysql.com/,
y después instalarlo en nuestro ordenador.

Se puede descargar el servidor MySQL y los clientes estándar directamente desde este enlace: http://
www.mysql.com/downloads/index.html. Hay que elegir la versión que se quiere descargar,
preferiblemente la recomendada, ya que suele ser la más actualizada y estable.

Una vez seleccionada la versión, hay que elegir la distribución adecuada al sistema operativo que
usemos: Windows, Linux, Solaris... El fichero descargado se podrá instalar directamente.

Terminar de instalar el servidor depende en gran medida de cada caso, y es mejor remitirse a la
documentación facilitada por MySQL junto a cada paquete.

Instalación según el sistema operativo.

Ahora estamos en disposición de poder utilizar MySQL desde la consola de nuestro ordenador, en
modo de línea de comandos.

Y... ¿por qué MySQL?

http://localhost/conclase/mysql/curso/para-pdf/index.php?cap=000 (2 of 3)15/05/2005 12:19:02

Prólogo

Ya hemos visto que para acceder a bases de datos es mucho más útil usar un motor o servidor que
hace las funciones de intérprete entre las aplicaciones y usuarios con las bases de datos.

Esta utilidad se traduce en ventajas, entre las que podemos mencionar las siguientes:

l Acceso a las bases de datos de forma simultánea por varios usuarios y/o aplicaciones.
l Seguridad, en forma de permisos y privilegios, determinados usuarios tendrán permiso para

consulta o modificación de determinadas tablas. Esto permite compartir datos sin que peligre la
integridad de la base de datos o protegiendo determinados contenidos.

l Potencia: SQL es un lenguaje muy potente para consulta de bases de datos, usar un motor nos

ahorra una enorme cantidad de trabajo.

l Portabilidad: SQL es también un lenguaje estandarizado, de modo que las consultas hechas

usando SQL son fácilmente portables a otros sistemas y plataformas. Esto, unido al uso de C/C
++ proporciona una portabilidad enorme.

En concreto, usar MySQL tiene ventajas adicionales:

l Escalabilidad: es posible manipular bases de datos enormes, del orden de seis mil tablas y

alrededor de cincuenta millones de registros, y hasta 32 índices por tabla.

l MySQL está escrito en C y C++ y probado con multitud de compiladores y dispone de APIs

para muchas plataformas diferentes.

l Conectividad: es decir, permite conexiones entre diferentes máquinas con distintos sistemas

operativos. Es corriente que servidores Linux o Unix, usando MySQL, sirvan datos para
ordenadores con Windows, Linux, Solaris, etc. Para ello se usa TCP/IP, tuberías, o sockets
Unix.

l Es multihilo, con lo que puede beneficiarse de sistemas multiprocesador.
l Permite manejar multitud de tipos para columnas.
l Permite manejar registros de longitud fija o variable.

http://localhost/conclase/mysql/curso/para-pdf/index.php?cap=000 (3 of 3)15/05/2005 12:19:02

Definiciones

1 Definiciones

Pero, ¿qué son las bases de datos?

La teoría es muy compleja y bastante árida, si estás interesado en estudiar una buena base teórica
deberías consultar la sección de bibliografía y enlaces. El presente curso sólo tiene por objetivo
explicar unas bases generales, aunque sólidas, suficientes para desarrollar la mayor parte de los
pequeños y medianos proyectos.

Hay que señalar que existen varios modelos lógicos de bases de datos, aunque en este curso sólo
veremos el modelo de bases de datos relacionales. (Al menos de momento).

Bien, probablemente tengas una idea intuitiva de lo que es una base de datos, y probablemente te
suenen algunos conceptos, como tupla, tabla, relación, clave... Es importante que veamos algunas
definiciones, ya que gran parte de la teoría que veremos en este curso se basa en conceptos que tienen
significados muy precisos dentro de la teoría de bases de datos.

Dato

No es sencillo definir qué es un dato, pero intentaremos ver qué es desde el punto de vista de las bases
de datos.

Podemos decir que un dato es una información que refleja el valor de una característica de un objeto
real, sea concreto o abstracto, o imaginario (nada nos impide hacer una base de datos sobre duendes :-).

Debe cumplir algunas condiciones, por ejemplo, debe permanecer en el tiempo. En ese sentido,
extrictamente hablando, una edad no es un dato, ya que varía con el tiempo. El dato sería la fecha de
nacimiento, y la edad se calcula a partir de ese dato y de la fecha actual. Además, debe tener un
significado, y debe ser manipulable mediante operadores: comparaciones, sumas, restas, etc (por
supuesto, no todos los datos admiten todos los operadores).

Base de datos

Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados.
Estos datos deben estar libres de redundancias innecesarias y ser independientes de los programas que
los usan.

SGBD (DBMS)

http://localhost/conclase/mysql/curso/para-pdf/index.php?cap=001 (1 of 3)15/05/2005 12:19:10

Definiciones

Son las siglas que significan Sistema de Gestión de Bases de Datos, en inglés DBMS, DataBase
Manager System. En este caso, MySQL es un SGBD, o mejor dicho: nuestro SGBD.

Consulta

Es una petición al SGBD para que procese un determinado comando SQL. Esto incluye tanto
peticiones de datos como creación de bases de datos, tablas, modificaciones, inserciones, etc.

Redundancia de datos

Decimos que hay redundancia de datos cuando la misma información es almacenada varias veces en la
misma base de datos. Esto es siempre algo a evitar, la redundancia dificulta la tarea de modificación
de datos, y es el motivo más frecuente de inconsistencia de datos. Además requiere un mayor espacio
de almacenamiento, que influye en mayor coste y mayor tiempo de acceso a los datos.

Inconsistencia de datos

Sólo se produce cuando existe redundancia de datos. La inconsistencia consiste en que no todas las
copias redundantes contienen la misma información. Así, si existen diferentes modos de obtener la
misma información, y esas formas pueden conducir a datos almacenados en distintos sitios. El
problema surge al modificar esa información, si lo sólo cambiamos esos valores en algunos de los
lugares en que se guardan, las consultas que hagamos má
  • Links de descarga
http://lwp-l.com/pdf11087

Comentarios de: MySQL con Clase (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad