Está en la página 1de 17

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Educación Superior en Ciencia


y Tecnología
Instituto Universitario Politécnico “Santiago Mariño”.
Extensión C.O.L – Cabimas
Sistemas de Aprendizaje Interactivo a Distancia (SAIA).
Escuela de Ingeniería de Sistemas.
Base de Datos

Trabajo de Investigación
Base de Datos

Profesor:
Gilberto Flores.

Autores:
Freddy Guerra C.I.: 27.315.611
Frank Griman, C.I.:29.570.270

Cabimas, abril del 2019


Índice

Introducción…………………………………………………………………3

Desarrollo

Gestor de base de datos Mysql server……..………………………………4

SQL (estructura, sintaxis y sentencias)………………………………….…7

Consultas en SQL………………………………………………………….…9

Tipos de consultas…………..………………………………………………10

Conclusión………………………………………………………………….16

Bibliografía………………………………………………………………….17

2
Introducción

Las bases de datos son la clave para la gestión de una empresa, desde
la organización general hasta el control de la clientela. Por ende desde
que fue creado se ha buscado manera de aprovecharlo al máximo.
Desde su creación el principal lenguaje para el manejo de base de
datos es SQL, enfocado para facilitar la creación de base de datos
utilizando distintas funciones que acelera el manejo.
En la actualidad es vital comprender los conceptos y manejar SQL para
realizar una base de datos debido que los principales sistemas gestores
de base de datos manejan este lenguaje. Sabiendo esto la finalidad del
siguiente trabajo es informar y aprender sobre este lenguaje tan vital en
este mundo.

3
Desarrollo

1. Gestor de base de datos Mysql server.


MySQL es un sistema gestor de base de datos creado y
licenciado por Oracle. Este se trata del sistema gestor de base de datos
más popular y utilizado por todo el mundo debido a su fácil
administración, instalación y al bajo costo de este. Al ser un gestor
permite organizar la información en distintos archivos dependiendo del
motor en el cual se trabaje mejorando la estructuración de estos
archivos.
Una distinción de MySQL con otros gestores es que este es patrocinado
por una empresa privada que se encarga de los derechos de la mayor
parte de los códigos, por lo tanto el derecho de autor de los códigos
recaen en 2 licencias. Si una empresa desea incorporarlo en productos
privados debe comprar una licencia específica.

Organización y Desarrollo
La empresa MySQL AB se encarga de la dirección y el patrocinio de los
proyectos MySQL. MySQL AB posee los derechos y el código fuente de
MySQL además de su logo y marca registrada.

Esta empresa está establecida en Estados Unidos y Alemania contando


con empleados en más de 20 países.

Cabe remarcar que a comienzos del 2008 Sun Microsystems anunció


su compra y para el 2009 Oracle compró Sun Microsystems.

En cuanto a su desarrollo, MySQL ha sacado distintas versiones desde


inicial 3.23.0 alpha lanzada en 1999 hasta la versión 5.7.6 lanzada en
2015

4
Imagen 1. Resumen de versiones de MySQL

Características
MySQL es un software de fuente abierta, por lo tanto cualquier persona
puede ser capaz de usarlo y modificarlo. Además de que cualquier
persona puede bajar el código fuente propio de MySQL y usarlo. Este
software usa GNU para definir qué puede hacer y que no puede hacer
el software en distintas situaciones, por lo tanto para otras situaciones
como la utilización del código en productos comerciales se debe
comprar una licencia.
Entre las siguientes características primordiales de este software
tenemos:
 Es Disponible en la gran mayoría de plataformas y sistemas.
 El servidor se mantiene como un programa separado para
establecer un entorno de red cliente/servidor

5
 Uso completo de multihilos mediante hilos del kernel.
 Las funciones de SQL están colocadas utilizando una librería
optimizada funcionando lo más rápido posible.
 Usa GNU’s Automake, Autoconf y Libtool.
 Sistema de reserva de memoria basado en hilos.
 Soporte para gran cantidad de datos.
 El código de MySQL se aprueba con Purify.
 Mantiene un sistema de contraseñas (cifradas) y privilegios
basado en la verificación basada en el host.
 Permite hasta 64 índices por tabla.
 Utiliza tablas en disco B-tree rápidas con comprensión en el
índice.
 Tablas hash en memoria, utilizadas como tablas temporales.
 Soporte completo para:
1. Left outer join y right outer join.
2. Operadores y funciones en cláusulas de consultas select y
where.
3. Cláusulas SQL group by/order by.
4. Delete, insert, replace y update.
5. Alias en tablas y columnas.
 Cualquier cliente puede conectar con el servidor MySQL usando
sockets TCP/IP en cualquier plataforma.
 Contiene su propio paquete de pruebas de rendimiento.

Ventajas

 Es Open Source.
 Gran velocidad a la hora de realizar las operaciones.
 Bajos requerimientos lo cual permite que sea ejecutable en un
equipo con escasos recursos.

6
 Soporte en una gran cantidad de sistemas operativos.
 Fácil de instalar y configurar.
 Utiliza licencia GPL.
 Alta efectividad a la hora de conservar datos sin llegar a
corromperse.

Desventajas

 No es intuitivo por lo que puede llegar a complicar un poco.

 Una gran cantidad de herramientas de MySQL no están


documentadas

2. SQL (estructura, sintaxis y sentencias).

El lenguaje de consulta estructurado (SQL por sus siglas en


inglés) es un lenguaje de base de datos normalizado, utilizado para
realizar distintas operaciones en la base de datos, ya sea en los datos o
en la estructura. Este lenguaje es utilizado por distintos motores como
MySQL

Está compuesto por comandos, cláusulas, operadores y funciones de


agregado. Estos elementos se combinan en las instrucciones para
crear, actualizar y manipular las bases de datos.

 Un sistema de base de datos suele contener varias bases de


datos.
 Cada base de datos suele contener varias tablas.
 Las tablas almacenan los datos organizados por filas.
 Cada fila contiene varios campos.
 Cada campo tiene una serie de propiedades.
 Las sentencias SQL no son sensibles a mayúsculas y
minúsculas.

7
 Algunos sistemas de bases de datos necesitan un punto y coma
después de cada sentencia SQL para ejecutarse correctamente

CREATE DATATABASE mibasedeatos;

Este punto y coma también puede servir para separar una sentencia
SQL de otra sentencia SQL en la misma línea.

CREATE DATATABASE mibasedeatos; CREATE TABLE mitabla1;

Imagen 2. Estructuración y sintaxis en MySQL

Las sentencias SQL se pueden agrupar por funcionalidades:

DML: El lenguaje de manipulación de datos (Data Manipulation


Lenguaje) es un lenguaje proporcionado por el sistema de gestión de
base de datos que permite a los usuarios llevar a cabo las tareas de
consulta o manipulación de los datos, organizados por el modelo de
datos adecuado. Los comandos más utilizados son:

 Insert: Permite insertar registros en las tablas.


 Update: Permite Actualizar el contenido de los registros dentro
de las tablas.
 Delete: permite borrar registros de una tabla.

DDL: El lenguaje de definición de datos (Data Definition Lenguaje) se


encarga de la modificación de la estructura de los objetos de la base de
datos. Incluye órdenes para modificar, borrar o definir las tablas en las

8
que se almacenan los datos de la base de datos. Los comandos usados
para esto son los siguientes.

 Create: Utilizado para crear nuevas tablas, campos e índices


 Drop: Empleado para eliminar tablas e índices
 Truncate: Permite eliminar el contenido completo de una tabla
 Rename: Permite cambiar el nombre de una tabla.
 Alter: Utilizado para modificar las tablas agregando campos o
cambiando la definición de los campos.

DCL: El Lenguaje de Control de Datos (Data Control Languaje) permite


administrar los derechos y restricciones que se les aplica a los usuarios
sobre el nivel de acceso que ellos pueden tener a la base de datos, los
comandos utilizados son:

 Grant: Asigna permisos.


 Revoke: Retira los permisos.

Instrucciones de transferencia: Administran las modificaciones creadas


por las instrucciones DML. Como deshacer alguna acción. Las
instrucciones de transferencia son las siguientes:

 Commit: Se usa para confirmar algún tipo de modificación


realizada en la BD.
 Rollback: Se usa para deshacer algún tipo de modificación
realizada en la BD.
 Savepoint: Marca un punto de referencia en alguna modificación
para poder hacer un Rollback parcial.

3. Consultas en SQL.

9
Las consultas son los métodos para acceder a los datos en las
base de datos. Con ellas se pueden agregar, modificar, borrar y obtener
datos de una base de datos. Estas extraen datos y le dan formato de
forma legible

Una base de datos tiene el potencial de revelar complejas tendencias y


actividades, pero este poder sólo se aprovecha empleando las
consultas. Una base de datos compleja consiste de múltiples tablas que
almacenan miles de datos. Una consulta permite filtrarlas en una sola
tabla para que puedas analizar los datos más fácilmente.

La consulta básica en SQL es llamada select-from-where.

Ejemplo de consultas:

Imagen 3. Consultas en SQL

Obtener el Nombre, Apellido y Título de todos los empleados.

SELECT nombre, apellido, título FROM empleado;

Obtener el Nombre y Apellido de todos los empleados que son


vendedores.

SELECT nombre, apellido FROM empleado WHERE título LIKE

"Vendedor";

4. Tipos de consultas.

SELECT. Consultas sencillas

10
Devolver todos los campos de una tabla (SELECT *)

SELECT *
FROM CLIENTES
Con el * indicamos que queremos devolver todos los campos.

Devolver un subconjunto de los campos de una tabla (SELECT


DISTINCT)

SELECT DISTINCT cp, ciudad


FROM DIRECCION
En este caso utilizaremos de ejemplo consultas con código postal y
ciudad; al hacerlo simplemente con SELECT llegará un momento en el
que habrá registros repetidos y por ende esto se evita utilizando
SELECT DISTINCT

Devolver un subconjunto de los registros de una tabla (WHERE)

SELECT numero, calle


FROM DIRECCION
WHERE ciudad = ‘Sevilla’
Esta consulta devolvería el número y la dirección de todas las
direcciones pertenecientes a la ciudad de Sevilla. Como vemos, con
WHERE indicamos la condición que deben cumplir los registros de la
tabla para ser devueltos en la consulta.

11
Revisando el ejemplo anterior podemos utilizar otros operadores para
que la condición empleada sea más compleja. Entre ellos tenemos los
operadores racionales que entrarían:

 BETWEEN
 LIKE
 IN

Ejemplo:

SELECT nombre
FROM CLIENTES
WHERE edad BETWEEN 20 AND 35

Operadores lógicos

 AND
 OR
 NOT

Ejemplo:

SELECT *
FROM DIRECCION
WHERE ciudad = ‘Sevilla’ AND cp = 41009 OR ciudad = ‘Córdoba’ AND
NOT cp = 14010

Consultas agrupadas (GROUP BY)

Ahora bien, podemos querer obtener información que no proviene de un


registro individual sino de la agrupación de información, como es el
caso de contar el número de líneas de pedido, sumar el precio de todas
las líneas por cada pedido, etc. Para ello, debemos emplear funciones
agregadas y en la mayoría de los casos agrupar por algún campo

12
Así, para ver el número total de registros podemos hacer:

SELECT COUNT(*)
FROM LINEAPEDIDO

Si por el contrario deseamos obtener el total de líneas por pedido,


debemos indicar que agrupe por idPedido, lo que contará todos los
registros con el mismo idPedido y calculará su cuenta:

SELECT idPedido, COUNT(*)


FROM LINEAPEDIDO
GROUP BY idPedido

Devolución de filas nulas/no nulas (IS NULL / IS NOT NULL)

SELECT idPedido
FROM PEDIDO
WHERE direccionEnvio IS NULL

Devolvería los pedidos que no tienen dirección de envío asociada.

Consultas por intersecciones entre tablas (JOIN)

Podemos generar una consulta que obtenga datos de varias tablas,


pudiendo establecer a su vez criterios sobre otras. Veamos los tipos
fundamentales (una buena explicación se puede encontrar aquí). Por
ejemplo, dados los clientes de nuestro concesionario y nuestras ventas
de coches a clientes en los diversos concesionarios, podemos obtener
una consulta que obtenga datos del cliente y de la venta.

SELECT nombre, apellidos, codcoche, color

13
FROM CLIENTE, VENTA
WHERE CLIENTE.cifcl = VENTA.idCliente
Inner Join

Para inner join tenemos 3 maneras de utilizarlos como tipos de


consultas, de manera implícita, explicita y natural. A continuación se
mostrarán ejemplos de Join implícita, Natural y Explícita
respectivamente.

SELECT nombreCliente, idPedido, fechaPedido


FROM CLIENTE, PEDIDO
WHERE CLIENTE.idCliente = PEDIDOpedido.idCliente

SELECT nombreCliente, idPedido, fechaPedido


FROM CLIENTE NATURAL JOIN PEDIDO

SELECT nombreCliente, idPedido, fechaPedido


FROM CLIENTE INNER JOIN PEDIDO
ON cliente.idCliente = pedido.idCliente

De igual manera podemos utilizar Join para contener los registros de


relación dependiendo del sentido que busquemos ya sea izquierda (Left
Join) y derecha (Right Join). Además de la consulta que muestra tanto
los registros devueltos por Left y por Right Join (Full Outer Join)

Consultas anidadas

A veces se han de utilizar en una consulta los resultados de otra


consulta, llamada subconsulta o consulta anidada.

14
Obtener el identificador de los clientes que han comprado algún coche a
un concesionario de Madrid.

SELECT DISTINCT cifcl


FROM VENTA
WHERE cifc IN (SELECT cifc
FROM CONCESIONARIO
WHERE ciudad = 'Madrid')

15
Conclusión

A través del presente trabajo, aprendimos sobre la utilidad de SQL para


el manejo de base de datos y comprendimos la importancia de este
lenguaje universal para BD. Hoy en día las empresas mantienen bases
de datos activas para el manejo completo, además del enfoque que se
les da a estas ya que se busca mejorar la eficiencia de estas por lo cual
sistema gestores de base de datos como MySQL son claves, además
de sencillos es económico, por lo tanto, aprender SQL o tener personal
capacitado para ello es casi obligación en el mundo empresarial.

16
Bibliografía

 https://es.wikipedia.org/w/index.php?
title=MySQL&oldid=114068241
 http://dev.mysql.com/doc/refman/5.7/en/
 http://ftp.tcrc.edu.tw/MySQL/doc/refman/5.0/es/what-is.html
 http://sql.11sql.com/sql-sintaxis.htm
 http://obieebr.banrep.gov.co/analytics/olh/l_es/sql_syntax_seman
tics.htm
 http://www.alegsa.com.ar/Dic/consulta_sql.php
 http://deletesql.com/viewtopic.php?f=5&t=5
 http://easydb.blogspot.com/2012/01/en-base-la-experiencia-que-
voy.html

17

También podría gustarte