La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

José Mendez Aguilar Álvaro Navarro Moya.

Presentaciones similares


Presentación del tema: "José Mendez Aguilar Álvaro Navarro Moya."— Transcripción de la presentación:

1 José Mendez Aguilar Álvaro Navarro Moya

2 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.

3 SQL 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).

4 Componentes del SQL El lenguaje SQL está compuesto por: Comandos
Cláusulas Operadores Funciones de agregado Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.

5 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.

6 Comandos DLL Comando Descripción CREATE
Utilizado para crear nuevas tablas, campos e índices DROP Empleado para eliminar tablas e índices ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.

7 Comandos DML Comando Descripción
SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado INSERT Utilizado para cargar lotes de datos en la base de datos en una única operación. UPDATE Utilizado para modificar los valores de los campos y registros especificados DELETE Utilizado para eliminar registros de una tabla de una base de datos

8 Comandos DML Comando Descripción FROM
Utilizada para especificar la tabla de la cual se van a seleccionar los registros WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar GROUP BY Utilizada para separar los registros seleccionados en grupos específicos HAVING Utilizada para expresar la condición que debe satisfacer cada grupo ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico

9 Operadores Lógicos Operador Uso AND
Es el “y” lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas. OR Es el “o” lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta. NOT Negación lógica. Devuelve el valor contrario de la expresión.

10 Operadores de comparación
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 In Utilizado para especificar registros de una base de datos

11 Funciones de Agregado 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 AVG Utilizada para calcular el promedio de los valores de un campo determinado  COUNT Utilizada para devolver el número de registros de la selección  SUM Utilizada para devolver la suma de todos los valores de un campo determinado  MAX Utilizada para devolver el valor más alto de un campo especificado  MIN Utilizada para devolver el valor más bajo de un campo especificado 

12 MySQL

13 Historia 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.

14 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.

15 Especificaciones Plataformas MySQL funciona sobre múltiples plataformas, incluyendo: AIX BSD FreeBSD HP-UX GNU/Linux Mac OS X NetBSDNovell Netware OpenBSD OS/2 Warp QNX SGI IRIX Solaris También existe MySQL para OpenVMS en SunOS SCO OpenServer SCO UnixWare Tru64 Windows 95 Windows 98 Windows NT Windows 2000 Windows XP Windows Vista y otras versiones de Windows.

16 Características de la versión 5.0.22
Un amplio subconjunto de ANSI SQL 99, y varias extensiones. Soporte a multiplataforma Procedimientos almacenados Triggers Cursors Vistas actualizables Soporte 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

17 Query caching Sub -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 Unicode Conforme a las reglas ACID usando los motores InnoDB, BDB y Cluster Shared-nothing clustering through MySQL Cluster

18 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

19 MySQL en cifras Segú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 destacados Amazon.com Cox Communication - La cuarta televisión por cable más importante de EEUU, tienen más de 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 Networks Wikipedia - sirve más de 200 millones de consultas y 1,2 millones de actualizaciones cada día, con picos de consultas por segundo.

20 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

21 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.

22 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".

23 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

24 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.

25 Muchas Gracias


Descargar ppt "José Mendez Aguilar Álvaro Navarro Moya."

Presentaciones similares


Anuncios Google