josé mendez aguilar Álvaro navarro moya. definiciones base de datos podemos considerar que es un...

25
José Mendez Aguilar Álvaro Navarro Moya

Upload: leonor-villela

Post on 28-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

José Mendez Aguilar

Álvaro Navarro Moya

Page 2: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

DEFINICIONES

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)

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.

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.

Dato

Un dato es una información que refleja el valor de una característica de un objeto real, sea concreto o abstracto, o imaginario.

Page 3: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

• Lenguaje de Consulta Estructurado (Structured Query Language)

• Es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas.

• Reúne características del álgebra y el cálculo relacional permitiendo lanzar consultas con el fin de recuperar información de interés de una base de datos, de una forma sencilla.

• Es un lenguaje de cuarta generación (4GL).

SQLSQL

Page 4: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Componentes del SQL

El lenguaje SQL está compuesto por:

ComandosCláusulasOperadoresFunciones de agregado

Estos elementos se combinan en las instrucciones paracrear, actualizar y manipular las bases de datos.

Page 5: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

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.

Page 6: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Comandos DLL

Comando Descripción

CREATEUtilizado para crear nuevas tablas, campose índices

DROPEmpleado para eliminar tablas e índices

ALTER

Utilizado para modificar las tablas agregandocampos o cambiando la definición de los campos.

Page 7: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Comandos DML

Comando

Descripción

SELECTUtilizado para consultar registros de la base de datos que satisfagan un criterio determinado

INSERTUtilizado para cargar lotes de datos en la base de datos en una única operación.

UPDATEUtilizado para modificar los valores de los campos y registros especificados

DELETEUtilizado para eliminar registros de una tabla de una base de datos

Page 8: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

ComandoDescripción

FROMUtilizada para especificar la tabla de la cual se van a seleccionar los registros

WHEREUtilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar

GROUPBY

Utilizada para separar los registros seleccionados en grupos específicos

HAVINGUtilizada para expresar la condición que debe satisfacer cada grupo

ORDERBY

Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico

Comandos DML

Page 9: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Operadores Lógicos

Operador

Uso

ANDEs el “y” lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas.

OREs el “o” lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.

NOTNegación lógica. Devuelve el valor contrario de la expresión.

Page 10: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Operador

Uso

< Menor que

> Mayor que

<> Distinto de

<= Menor ó Igual que

>= Mayor ó Igual que

BETWEEN

Utilizado para especificar un intervalo de valores.

LIKE Utilizado en la comparación de un modelo

InUtilizado para especificar registros de una base de datos

Operadores de comparación

Page 11: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Las funciones de agregado se usan dentro de una cláusula SELECT en grupos de registros para devolver un único valor que se aplica a un grupo de registros.Comando Descripción

AVGUtilizada para calcular el promedio de los valores de un campo determinado 

COUNTUtilizada para devolver el número de registros de la selección 

SUMUtilizada para devolver la suma de todos los valores de un campo determinado 

MAXUtilizada para devolver el valor más alto de un campo especificado 

MINUtilizada para devolver el valor más bajo de un campo especificado 

Funciones de Agregado

Page 12: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

MySQLMySQL

Page 13: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Historia del proyectoHistoria del proyecto

SQL (Lenguaje de Consulta Estructurado)

• Fue comercializado por primera vez en 1981 por IBM, el cual fue presentado a ANSI y desde ese entonces ha sido considerado como un estándar para las bases de datos relacionales.

• Desde 1986, el estándar SQL ha aparecido en diferentes versiones como por ejemplo: SQL:92, SQL:99, SQL:2003.

• MySQL es una idea originaria de la empresa opensource MySQL AB establecida inicialmente en Suecia en 1995 y cuyos fundadores son David Axmark, Allan Larsson, y Michael "Monty" Widenius.

• El objetivo que persigue esta empresa consiste en que MySQL cumpla el estándar SQL, pero sin sacrificar velocidad, fiabilidad o usabilidad.

Page 14: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

• Michael Widenius en la década de los 90 trató de usar mySQL para conectar las tablas usando rutinas de bajo nivel ISAM, sin embargo, mSQL no era rápido y flexible para sus necesidades. Esto lo conllevó a crear una API SQL denominada MySQL para bases de datos muy similar a la de mySQL pero más portable.

• La procedencia del nombre de MySQL no es clara. Por más de 10 años, las herramientas han mantenido el prefijo My. También, se cree que tiene relación con el nombre de la hija del cofundador Monty Widenius quien se llama My.

• Por otro lado, el nombre del delfín de MySQL es Sakila y fue seleccionado por los fundadores de MySQL AB en el concurso “Name the Dolphin”. Este nombre fue enviado por Ambrose Twebaze, un desarrollador de Opensource Africano, derivado del idioma SiSwate, el idioma local de Swaziland y corresponde al nombre de una ciudad en Arusha, Tanzania, cerca de Uganda la ciudad origen de Ambrose.

Page 15: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Especificaciones

PlataformasMySQL funciona sobre múltiples plataformas, incluyendo:

AIXBSDFreeBSDHP-UXGNU/LinuxMac OS XNetBSDNovell NetwareOpenBSDOS/2 WarpQNXSGI IRIXSolaris

También existe MySQL para OpenVMS en http://www.pi-net.dyndns.org/anonymous/kits/.

SunOSSCO OpenServerSCO UnixWareTru64Windows 95Windows 98Windows NTWindows 2000Windows XPWindows Vista y otras versiones de Windows.

Page 16: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Características de la versión 5.0.22Un amplio subconjunto de ANSI SQL 99, y varias extensiones. Soporte a multiplataformaProcedimientos almacenadosTriggersCursorsVistas actualizablesSoporte a VARCHAR INFORMATION_SCHEMA Modo Strict Soporte X/Open XA de transacciones distribuidas; transacción en dos fases como parte de esto, utilizando el motor InnoDB de Oracle Motores de almacenamiento independientes (MyISAM para lecturas rápidas, InnoDB para transacciones e integridad referencial) Transacciones con los motores de almacenamiento InnoDB, BDB Y Cluster; puntos de recuperación(savepoints) con InnoDB Soporte para SSL

Page 17: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Query cachingSub -SELECTs (o SELECTs anidados) Replication with one master per slave, many slaves per master, no automatic support for multiple masters per slave. Indexing y buscando campos de texto completos usando el motor de almacenamiento MyISAM Embedded database library Soporte completo para UnicodeConforme a las reglas ACID usando los motores InnoDB, BDB y Cluster Shared-nothing clustering through MySQL Cluster

Page 18: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Características distintivas

Las siguientes características son implementadas únicamente por MySQL:Múltiples motores de almacenamiento (MyISAM, Merge, InnoDB, BDB, Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y Example en 5.x), permitiendo al usuario escoger la que sea más adecuada para cada tabla de la base de datos. Agrupación de transacciones, reuniendo múltiples transacciones de varias conexiones para incrementar el número de transacciones por segundo. Mejoras futuras

El mapa de ruta de MySQL 5.1 indica soporte para:Particionado de la base de datos Backup en línea para todos los motores de almacenamiento Replicación segura Restricciones a nivel de columna Planificación de eventos Funciones XML

Page 19: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

MySQL en cifrasSegún las cifras del fabricante, existirían más de seis millones de copias de MySQL funcionando en la actualidad, lo que supera la base instalada de cualquier otra herramienta de bases de datos. El tráfico del sitio web de MySQL AB superó en 2004 al del sitio de IBM.

Usuarios destacadosAmazon.com Cox Communication - La cuarta televisión por cable más importante de EEUU, tienen más de 3.600 tablas y aproximadamente dos millones de inserciones cada hora. Google - Para el motor de búsqueda de la aplicación AdWords LiveJournal - Cerca de 300 millones de paginas servidas cada día. NASA Slashdot - con cerca de 50 millones de páginas servidas cada día. Yahoo! - para muchas aplicaciones críticas Nokia - usa un cluster MySQL para mantener información en tiempo real sobre usuarios de redes de móviles. NetQOS - usa MySQL para la gestión de algunas de las redes más grandes del mundo como las de Chevron, American Express y Boeing. CNET NetworksWikipedia - sirve más de 200 millones de consultas y 1,2 millones de actualizaciones cada día, con picos de 11.000 consultas por segundo.

Page 20: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

JDBC• Es un API de Java para acceder a sistemas de bases de datos, y prácticamente a cualquier tipo de dato tabular. • El API JDBC consiste de un conjunto de clases e interfaces que permiten a cualquier programa Java acceder a sistemas de bases de datos de forma homogénea. • Con el API JDBC no es necesario escribir un programa para accesar a Sybase, otro programa para accesar a Oracle, y otro programa para accesar a MySQL; con esta API, se puede crear un sólo programa en Java que sea capaz de enviar sentencias SQL a la base de datos apropiada. • Al igual que ODBC, la aplicación de Java debe tener acceso a un controlador (driver) JDBC adecuado. Este controlador es el que implementa la funcionalidad de todas las clases de acceso a datos y proporciona la comunicación entre el API JDBC y la base de datos real. • De manera muy simple, al usar JDBC se pueden hacer tres cosas: -Establecer una conexión a una fuente de datos (ej. una base de datos) -Mandar consultas y sentencias a la fuente de datos -Procesar los resultados

Page 21: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

JDBC define ocho interfaces para operaciones con bases de datos, de las que se derivan las clases correspondientes. La figura siguiente, en formato OMT, con nomenclatura UML, muestra la interrelación entre estas clases según el modelo de objetos de la especificación de JDBC.

Page 22: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Los distribuidores de bases de datos suministran los controladores que implementan el API JDBC y que permiten acceder a sus propias implementaciones de bases de datos. De esta forma JDBC proporciona a los programadores de Java una interfaz de alto nivel y les evita el tener que tratar con detalles de bajo nivel para acceder a bases de datos.

En el caso del manejador de bases de datos MySQL, Connector/J es el controlador JDBC oficial. En el momento de escribir este artículo se pueden encontrar tres versiones de este controlador, pero sólo una de ellas es la versión recomendada, la versión estable más reciente (en este caso la versión 3.0.8). Los procedimientos descritos aquí deben de ser prácticamente los mismos si se utiliza alguna otra versión del controlador, incluso, si se usa alguna de las versiones en desarrollo. Por supuesto, se recomienda usar la versión más reciente del controlador que esté disponible.

Cabe señalar que actualmente JDBC es el nombre de una marca registrada, y ya no más un acrónimo; es decir, JDBC ya no debe entenderse como "Java Database Conectivity".

Page 23: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Herramientas necesarias

Un ambiente de desarrollo para Java, tal como el Java 2 SDK, el cual está disponible en java.sun.com. La versión estándar del SDK 1.4 ya incluye el API JDBC.

Un servidor de bases de datos MySQL al que se tenga acceso con un nombre de usuario y contraseña.

El controlador JDBC para MySQL, Connector/J

Page 24: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Clase/Interface Descripción

Driver Permite conectarse a una base de datos: cada gestor de base de datos requiere un driver distinto

DriverManager Permite gestionar todos los drivers instalados en el sistema

DriverPropertyInfo

Proporciona diversa información acerca de un driver

Connection Representa una conexión con una base de datos. Una aplicación puede tener más de una conexión a más de una base de datos

DatabaseMetadata

Proporciona información acerca de una Base de Datos, como las tablas que contiene, etc.

Statement Permite ejecutar sentencias SQL sin parámetros

PreparedStatement

Permite ejecutar sentencias SQL con parámetros de entrada/TD>

CallableStatement

Permite ejecutar sentencias SQL con parámetros de entrada y salida, típicamente procedimientos almacenados

ResultSet Contiene las filas o registros obtenidos al ejecutar un SELECT

ResultSetMetadata

Permite obtener información sobre un ResultSet, como el número de columnas, sus nombres, etc.

Page 25: José Mendez Aguilar Álvaro Navarro Moya. DEFINICIONES Base de Datos Podemos considerar que es un conjunto de datos de varios tipos, organizados e interrelacionados

Muchas Gracias