Anda di halaman 1dari 8

Bases de datos:

Sistemas de bases de datos: Un sistema de bases de datos es bsicamente un sistema para archivar en computador, es decir, es un sistema computarizado cuyo propsito general es mantener informacin y hacer que este disponible cuando se solicite. Gestores de bases de datos: La mayora de los sistemas informticos manejan una ingente cantidad de datos y aquellos que estn disponibles a travs de Internet no son la excepcin. La problemtica asociada a dicho almacenamiento masivo de informacin y a su posterior manipulacin fue solucionada inicialmente con los denominados sistemas de ficheros, que se basaban en que cada programa importante para una organizacin tenia almacenados los datos que requera para su funcionamiento en uno o varios ficheros propios. Estos ficheros se diseaban para un sistema especfico y el resto de sistemas disponibles en la misma organizacin, no los modificaban o lean. Este tipo de estructura tena los inconvenientes asociados al hecho de que existiese una redundancia no controlada con la que se podan producir inconsistencias, muy peligrosas para la integridad de los datos. As, por ejemplo, los datos de un determinado cliente podran aparecer en el fichero que utilizaba el departamento e facturacin y estar repetidos en el fichero del departamento de publicidad de una determinada entidad a manera de ejemplo. Al figurar dichos datos en ms de un sitio, su actualizacin resultaba complicada, y se corra el riesgo de modificarla en uno de dos sitios y en el otro no. Cuando tiene lugar este tipo de operaciones, se puede dar el caso en que no se pueda diferenciar cual es la informacin correcta (datos inconsistentes). Para evitar estas situaciones, se disearon los sistemas gestores de bases de datos. Una base de datos es una estructura de datos homogneos organizados de tal manera que se minimizan los efectos asociados a su manejo. Para que dicho manejo resulte fcil a los usuarios y que estos dispongan de herramientas que faciliten la gestin completa, aparecen los sistemas gestores de bases de datos. Estos son los sistemas que envuelven y protegen los datos, en la medida de lo posible, frente a manipulaciones indebidas, al mismo tiempo que integran una serie de herramientas que gestionan, entre otras cosas, la manipulacin completa de los datos, los accesos concurrentes, las copias de seguridad, la integracin con programas en lenguajes de uso general, etc. Pero sobre todo, los gestores proporcionan a los datos una caracterstica bsica, que es la independencia respecto de los programas que los usan y que lleva a evitar la redundancia no deseada. Programacin para sistemas en red II Profesor: Julio Csar Meza Ramrez

Lenguaje SQL: El lenguaje SQL (Estructured Query Language Lenguaje de consulta estructurada), con el cual se formulan operaciones que definen y manipulan datos en forma relacional, se presenta a continuacin como herramienta imprescindible para poder desarrollar sistemas informticos que necesiten altos rendimientos en el manejo de la informacin y, en consecuencia, el empleo de gestores de bases de datos. Dada la amplia extensin del mismo, con esta gua no se pretende en ningn momento abarcar todas las caractersticas del lenguaje SQL ni describir las diferencias en las sintaxis de todos los gestores existentes en el mercado, pero si pretende hacer una descripcin gentica de su potencia, y mostrar como funciona apoyndonos en MySQL, uno de los gestores mas utilizados dentro del mundo de desarrollos en Internet en combinacin con PHP. Componentes del SQL: El lenguaje SQL est compuesto por comandos, clusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos. Comandos: Existen dos tipos de comandos SQL: los DLL que permiten crear y definir nuevas bases de datos, campos e ndices. los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos. Comandos DLL: Descripcin Comando CREATE Utilizado para crear nuevas tablas, campos e ndices DROP Empleado para eliminar tablas e ndices Utilizado para modificar las tablas agregando campos o cambiando la ALTER definicin de los campos.

Programacin para sistemas en red II Profesor: Julio Csar Meza Ramrez

Comandos DML: Descripcin Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado Utilizado para cargar lotes de datos en la base de datos en una nica operacin. Utilizado para modificar los valores de los campos y registros especificados Utilizado para eliminar registros de una tabla de una base de datos

Comando SELECT INSERT UPDATE DELETE

Clusulas: Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea seleccionar o manipular. Clusula FROM WHERE GROUP BY HAVING ORDER BY Descripcin Utilizada para especificar la tabla de la cual se van a seleccionar los registros Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar Utilizada para separar los registros seleccionados en grupos especficos Utilizada para expresar la condicin que debe satisfacer cada grupo Utilizada para ordenar los registros seleccionados de acuerdo con un orden especfico

Operadores Lgicos: Operador AND OR NOT Uso Es el "y" lgico. Evala dos condiciones y devuelve un valor de verdad slo si ambas son ciertas. Es el "o" lgico. Evala dos condiciones y devuelve un valor de verdadero si alguna de las dos es cierta. Negacin lgica. Devuelve el valor contrario de la expresin.

Programacin para sistemas en red II Profesor: Julio Csar Meza Ramrez

Operadores de Comparacin: Operador < > <> <= >= = BETWEEN LIKE Uso Menor que Mayor que Distinto de Menor Igual que Mayor Igual que Igual que Utilizado para especificar un intervalo de valores. Utilizado en la comparacin de un modelo

Funciones de Agregado: Las funciones de agregado se usan dentro de una clusula SELECT en grupos de registros para devolver un nico valor que se aplica a un grupo de registros. Descripcin Funcin AVG Utilizada para calcular el promedio de los valores de un campo determinado COUNT Utilizada para devolver el nmero de registros de la seleccin Utilizada para devolver la suma de todos los valores de un campo SUM determinado MAX Utilizada para devolver el valor ms alto de un campo especificado MIN Utilizada para devolver el valor ms bajo de un campo especificado

MySQL: MySQL es un sistema de administracin de bases de datos relacionales Open Source y licencia publica, de nivel empresarial y mltiples subprocesos. Esto suena un poco como un slogan publicitario, pero en realidad as es MySQL. MySQL fue desarrollado por una firma consultora en Suecia llamada TcX. Ellos necesitaban un sistema de administracin de bases de datos que fuera muy rpido y flexible. Desafortunadamente o afortunadamente, dependiendo del punto de vista, no encontraron nada en el mercado que pudiera hacer lo que ellos queran. As crearon MySQL, el cual toma algunos conceptos de otro sistema de administracin de bases de datos llamado mSQL. MySQL es a veces confundido con SQL, el lenguaje de consultas estructurado desarrollado por IBM. MySQL no es un derivado de este lenguaje, sino un sistema de bases de datos que usa SQL para manipular, crear y mostrar datos. MySQL es Programacin para sistemas en red II Profesor: Julio Csar Meza Ramrez

un programa que administra bases de datos, as como Microsoft Excel administra hojas de clculo. SQL es un lenguaje de programacin que MySQL utiliza para llevar a cabo tareas en una base de datos, as como Excel usa VBA (Visual Basic para Aplicaciones) para llevar a cabo tareas con hojas de clculo y libros. Otros programas que administran bases de datos son: Oracle, Microsoft SQL Server, Postgres entre otros. Por qu MySQL?

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. MySQL est escrito en C y C++ y probado con multitud de compiladores y dispone de APIs para muchas plataformas diferentes. Conectividad: es decir, permite conexiones entre diferentes mquinas 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, tuberas, o sockets Unix. Es multihilo, con lo que puede beneficiarse de sistemas multiprocesador. Permite manejar multitud de tipos para columnas. Permite manejar registros de longitud fija o variable.

Abrir MySQL: Para comenzar a utilizar MySQL debemos abrir nuestra consola de Windows, esta la podemos encontrar utilizando la herramienta ejecutar digitando cmd. Luego de que se despliegue la ventana de la consola, nos ubicamos en el disco raiz utilizando el comando cd.., debe quedar algo como C:\. Despus de estar ubicados en c, digitamos cd mysql, vale la pena recordar que el comando cd de DOS sirve para abrir directorios, de la misma forma debemos abrir al directorio bin, el comando seria algo como cd bin. Ahora solo nos falta abrir el .exe de mysql, para esto solo basta con digitar mysql.

Programacin para sistemas en red II Profesor: Julio Csar Meza Ramrez

Creacin de una base de datos en MySQL: Un dato importante para recordar siempre es que todas las sentencias en MySQL terminan con punto y coma (;). La sintaxis para la creacin de una tabla es: create database nombre_bd; Ejemplo: create database ejemplo; Luego de crear la base de datos, le debemos indicar a MySQL que vamos a utilizar dicha base. Lo anterior se logra con la sentencia: use nombre_nd; Ejemplo: use ejemplo; Crear tablas: El comando para la creacin de tablas es el ms comn, en este se deben especificar los nombres de los atributos, sus tipos, longitud y algunas caractersticas ms. La sintaxis simplificada del comando de creacin de una tabla es: create table nombre_tabla (atributo1 tipo(longitud) not null, Atributo2 tipo(longitud), atributon tipo(longitud) not null, primary key(atributo), foreign key(atributo); Ejemplo: create table departamentos (coddpto char(2) not null, descripcion char(10) not null, situacion char(15), primary key(coddpto));

Programacin para sistemas en red II Profesor: Julio Csar Meza Ramrez

A continuacin se muestra un ejemplo completo que corresponde a una base de datos que satisface el siguiente modelo de datos: Problema: Se debe disear un sistema que represente los empleados de x empresa, el sistema debe tener la siguiente informacin. codemp E1 E2 E3 nombre Jos Mario Juan categora Aprendiz Maestro Director Sueldo 90000 130000 150000 coddpto D1 D2 D3

En esta tabla se puede observar que cada fila se corresponde con un empleado y que cada columna representa un atributo o caracterstica de los empleados. As el primer atributo es un cdigo de empleado (codemp), el segundo es el nombre del empleado, el tercero es su categora profesional, y despus aparecen el sueldo y el cdigo del departamento en el que trabaja cada uno de dichos empleados. Si se observa atentamente la tabla anterior, se puede deducir que el atributo coddpto es especial. Este atributo proviene de otra tabla en la que es clave principal (la tabla de informacin acerca de los departamentos en los que trabajan dichos empleados). Por lo tanto en nuestro ejemplo se debe crear otra tabla que contenga la informacin de los departamentos: coddpto descripcin situacin D1 Produccin Planta 1 D2 Publicidad Planta 2 D3 Facturacin Planta 3 A continuacin se muestra el cdigo completo para la creacin de la base de datos: create database ejemplo; use ejemplo; create table departamentos (coddpto char(2) not null, descripcion char(10) not null, situacion char(15), primary key(coddpto)); create table empleados (codemp char(2) not null, nombre char(10) not null, categoria char(15), sueldo integer, Programacin para sistemas en red II Profesor: Julio Csar Meza Ramrez

coddpto char(2), primary key(codemp), foreign key(coddpto) references departamentos);

Programacin para sistemas en red II Profesor: Julio Csar Meza Ramrez

Anda mungkin juga menyukai