1. CURSO NACIONAL: INFORMÁTICA
FORMACIÓN DISCIPLINAR
DOCENTES DE EDUCACIÓN MEDIA SUPERIOR
INSTITUCIONES DE EDUCACIÓN PÚBLICA DE EDUCACIÓN MEDIA SUPERIOR
PRINCIPALES BASES DE DATOS
Actividad de aprendizaje No. 4
TUTORA: Fátima C. Rodríguez Góngora
ALUMNO DOCENTE:
LIC. FELIPE VENTURA GUTIÉRREZ
2. Se le llama base de datos a los bancos de información que contienen datos
relativos a diversas temáticas y categorizados de distinta manera, pero que
comparten entre sí algún tipo de vínculo o relación que busca ordenarlos y
clasificarlos en conjunto.
Una base de datos o banco de datos es un conjunto de datos
pertenecientes a un mismo contexto y almacenados sistemáticamente
para su posterior uso. En este sentido; una biblioteca puede considerarse
una base de datos compuesta en su mayoría por documentos y textos
impresos en papel e indexados para su consulta. Actualmente, y debido al
desarrollo tecnológico de campos como la informática y la electrónica, la
mayoría de las bases de datos están en formato digital, siendo este un
componente electrónico, por tanto se ha desarrollado y se ofrece un
amplio rango de soluciones al problema del almacenamiento de datos.
3. Los orígenes de SQL están ligados a las bases de datos de las pc o móvil aun a los
de las bases de datos relacionales. En 1970 E.F. Codd propone el modelo
relacional y asociado a este un sublenguaje de acceso a los datos basado en el
cálculo de predicados. Basándose en estas ideas, los laboratorios de
IBM definieron el lenguaje SEQUEL (Structured English Query Language) que más
tarde fue ampliamente implementado por el Sistema de Gestión de Base de
Datos (SGBD) experimental System R, desarrollado en 1977 también por IBM. Sin
embargo, fue Oracle quien lo introdujo por primera vez en 1979 en un producto
comercial.
4. El SEQUEL terminó siendo el predecesor de SQL, que es una versión evolucionada del
primero. SQL pasa a ser el lenguaje por excelencia de los diversos Sistemas de Gestión
de Base de Datos relacionales surgidos en los años siguientes y fue por fin
estandarizado en 1986 por el ANSI, dando lugar a la primera versión estándar de este
lenguaje, "SQL-86" o "SQL1". Al año siguiente este estándar es también adoptado por
ISO.
Sin embargo, este primer estándar no cubría todas las necesidades de los
desarrolladores e incluía funcionalidades de definición de almacenamiento que se
consideró suprimirlas. Así que, en 1992, se lanzó un nuevo estándar ampliado y
revisado de SQL llamado "SQL-92" o "SQL2".
En la actualidad SQL es el estándar de facto de la inmensa mayoría de los SGBD
comerciales. Y, aunque la diversidad de añadidos particulares que incluyen las distintas
implementaciones comerciales del lenguaje es amplia, el soporte al estándar SQL-92 es
general y muy amplio.
5. Este sitio de la guía de referencia SQL enumera los comandos SQL normalmente utilizados, y se divide
en las siguientes secciones :
Comandos SQL: Las instrucciones SQL básicas para almacenamiento, recuperación y manipulación de
datos en una base de datos relacional.
Manipulación de Tabla: Cómo se utilizan las instrucciones SQL para administrar las tablas dentro de
una base de datos.
SQL Avanzado: Comandos SQL avanzados.
Sintaxis SQL: Una página única que enumera la sintaxis para todos los comandos SQL en esta guía de
referencia.
Para cada comando, primero se presentará y explicará la sintaxis SQL, seguida por un ejemplo. Al final
de esta guía de referencia, deberá tener una idea general de la sintaxis SQL. Además, deberá poder
realizar consultas SQL utilizando la sintaxis apropiada. Según mi experiencia creo que el comprender lo
básico de SQL es mucho más fácil que dominar todas las dificultades de este lenguaje de base de
datos, y espero que también llegue a la misma conclusión.
Si está interesado en cómo recuperar datos utilizando SQL, le recomendamos que empiece con la
sección Comandos SQL. Si está interesado en comprender cómo puede utilizarse SQL para manipular
una tabla de base de datos, le recomendamos que comience con la sección Manipulación de Tabla. Si
está buscando ayuda sobre un comando SQL específico, puede utilizar el Mapa del Sitio para
encontrar el comando que está buscando.
6.
7. Not
OnlySql
Se puede decir que la aparición del término NoSQL aparece con la
llegada de la web 2.0 ya que hasta ese momento sólo subían
contenido a la red aquellas empresas que tenían un portal, pero con
la llegada de aplicaciones como Facebook, Twitter o Youtube,
cualquier usuario podía subir contenido, provocando así un
crecimiento exponencial de los datos. Es en este momento cuando
empiezan a aparecer los primeros problemas de la gestión de toda
esa información almacenada en bases de datos relacionales. En un
principio, para solucionar estos problemas de accesibilidad, las
empresas optaron por utilizar un mayor número de máquinas pero
pronto se dieron cuenta de que esto no solucionaba el problema,
además de ser una solución muy cara. La otra solución era la creación
de sistemas pensados para un uso específico que con el paso del
tiempo han dado lugar a soluciones robustas, apareciendo así el
movimiento NoSQL.
8. Not
OnlySql
Por lo tanto hablar de bases de datos NoSQL es hablar de estructuras
que nos permiten almacenar información en aquellas situaciones en
las que las bases de datos relacionales generan ciertos problemas
debido principalmente a problemas de escalabilidad y rendimiento de
las bases de datos relacionales donde se dan cita miles de usuarios
concurrentes y con millones de consultas diarias. Además de lo
comentado anteriormente, las bases de datos NoSQL son sistemas de
almacenamiento de información que no cumplen con el esquema
entidad–relación. Tampoco utilizan una estructura de datos en forma
de tabla donde se van almacenando los datos sino que para el
almacenamiento hacen uso de otros formatos como clave–valor,
mapeo de columnas o grafos (ver epígrafe ‘Tipos de bases de datos
NoSQL’).
9. Not
OnlySql
Ventajas de los sistemas NoSQL
Esta forma de almacenar la información ofrece ciertas ventajas sobre los
modelos relacionales. Entre las ventajas más significativas podemos
destacar:
Se ejecutan en máquinas con pocos recursos: Estos sistemas, a diferencia
de los sistemas basados en SQL, no requieren de apenas computación, por
lo que se pueden montar en máquinas de un coste más reducido.
Escalabilidad horizontal: Para mejorar el rendimiento de estos sistemas
simplemente se consigue añadiendo más nodos, con la única operación de
indicar al sistema cuáles son los nodos que están disponibles.
Pueden manejar gran cantidad de datos: Esto es debido a que utiliza una
estructura distribuida, en muchos casos mediante tablas Hash.
No genera cuellos de botella: El principal problema de los sistemas SQL
es que necesitan transcribir cada sentencia para poder ser ejecutada, y
cada sentencia compleja requiere además de un nivel de ejecución aún
más complejo, lo que constituye un punto de entrada en común, que ante
muchas peticiones puede ralentizar el sistema.
10. Not
OnlySql
Principales diferencias con las bases de datos SQL
Algunas de las diferencias más destacables que nos podemos encontrar
entre los sistemas NoSQL y los sistemas SQL están:
No utilizan SQL como lenguaje de consultas. La mayoría de las bases de
datos NoSQL evitan utilizar este tipo de lenguaje o lo utilizan como un
lenguaje de apoyo. Por poner algunos ejemplos, Cassandra utiliza el
lenguaje CQL, MongoDB utiliza JSON o BigTable hace uso de GQL.
No utilizan estructuras fijas como tablas para el almacenamiento de los
datos. Permiten hacer uso de otros tipos de modelos de almacenamiento
de información como sistemas de clave–valor, objetos o grafos.
No suelen permitir operaciones JOIN. Al disponer de un volumen de
datos tan extremadamente grande suele resultar deseable evitar los JOIN.
Esto se debe a que, cuando la operación no es la búsqueda de una clave, la
sobrecarga puede llegar a ser muy costosa. Las soluciones más directas
consisten en desnormalizar los datos, o bien realizar el JOIN mediante
software, en la capa de aplicación.
11. Microsoft SQL Server es un sistema para la gestión de bases de datos producido por
Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI
SQL. Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas
gestores de bases de datos como son Oracle, Sybase ASE, PostgreSQL
Desventajas
MSSQL usa Address Windowing Extensión (AWE) para hacer el direccionamiento de
64-bit. Esto le impide usar la administración dinámica de memoria y sólo le permite
alojar un máximo de 64GB de memoria compartida.
MSSQL no maneja compresión de datos (en SQL Server 2005 y 2000, solamente la
versión 2008 Enterprise Edition incluye esta característica), por lo que ocupa mucho
espacio en disco.
MSSQL está atado a la plataforma del sistema operativo sobre la cual se instala.
12. Ventajas
• Soporte de transacciones. Escalabilidad, estabilidad y seguridad.
• Soporta procedimientos almacenados.
• Incluye también un potente entorno gráfico de administración, que permite el uso de
comandos DDL y DML gráficamente.
• Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el
servidor y los terminales o clientes de la red sólo acceden a la información.
• Además permite administrar información de otros servidores de datos.
T-SQL. T-SQL (Transact-SQL) es el principal medio de programación y administración de
SQL Server. Expone las palabras clave para las operaciones que pueden realizarse en SQL
Server, incluyendo creación y modificación de esquemas de la base de datos, introducir y
editar datos en la base de datos, así como supervisión y gestión del propio servidor.
13. Oracle es básicamente una herramienta cliente/servidor para la gestión de Bases de
Datos.
Ventajas de Oracle
1.-Oracle es el motor de base de datos relacional más usado a nivel mundial.
2.-Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador.
3.-Oracle soporta todas las funciones que se esperan de un servidor "serio": un lenguaje
de diseño de bases de datos muy completo (PL/SQL) que permite implementar diseños
"activos", con triggers y procedimientos almacenados, con una integridad referencial
declarativa bastante potente.
4.-Permite el uso de particiones para la mejora de la eficiencia, de replicación e incluso
ciertas versiones admiten la administración de bases de datos distribuidas.
5.-El software del servidor puede ejecutarse en multitud de sistemas operativos.
6.-Existe incluso una versión personal para Windows 9x, lo cual es un punto a favor para
los desarrolladores que se llevan trabajo a casa.
7.-Oracle es la base de datos con mas orientación hacía INTERNET
8.-Un aceptable soporte.
14. Desventajas Oracle
1.-Una de las versiones más recientes de Oracle es la 8 punto algo (Aunque ya está la 9). Y es
que desde el lanzamiento original de la 8 se sucedieron varias versiones con correcciones,
hasta alcanzar la estabilidad en la 8.0.3. El motivo de tantos fallos fue, al parecer, la
remodelación del sistema de almacenamiento por causa de la introducción de extensiones
orientadas a objetos.
2.-El mayor inconveniente de Oracle es quizás su precio. Incluso las licencias de Personal
Oracle son excesivamente caras, en mi opinión. Otro problema es la necesidad de ajustes. Un
error frecuente consiste en pensar que basta instalar el Oracle en un servidor y enchufar
directamente las aplicaciones clientes. Un Oracle mal configurado puede ser
desesperantemente lento.
3.-También es elevado el coste de la formación, y sólo últimamente han comenzado a
aparecer buenos libros sobre asuntos técnicos distintos de la simple instalación y
administración.
15. Características de oracle:
• Es una herramienta de administración gráfica que es mucho más intuitiva y cómoda de
utilizar.
• Ayuda a analizar datos y efectuar recomendaciones concernientes a mejorar el
rendimiento y la eficiencia en el manejo de aquellos datos que se encuentran
almacenados.
• Apoya en el diseño y optimización de modelos de datos.
• Asistir a los desarrolladores con sus conocimientos de SQL y de construcción de
procedimientos almacenados y triggers, entre otros.
• Apoya en la definición de estándares de diseño y nomenclatura de objetos.
• Documentar y mantener un registro periódico de las mantenciones, actualizaciones de
hardware y software, cambios en las aplicaciones y, en general, todos aquellos eventos
relacionados con cambios en el entorno de utilización de una base de datos.
16. MongoDB es un sistema de bases de datos NoSQL orientada a documentos, desarrollada
bajo el concepto de código abierto.
Las bases de datos NoSQL guardan los datos en formato JSON con un esquema dinámico ,
haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida.
Está disponible para PC, OS X, Windows y Solaris.
VENTAJAS
• Mongo DB tiene la capacidad de realizar consultas utilizando javascript, haciendo que
estas sean enviadas directamente a la base de datos para ser ejecutada.
• Se utiliza un sistemas de archivos, ya que cuenta con la capacidad para balancear la
carga y recopilación de datos utilizando múltiples servidores para almacenamiento de
archivo.
• El des-arrollador elige una llave shard(clave).
• La configuración automática, se puede agregar nuevas maquinas a mongo DB con el
sistema de base corriendo.
17. DESVENTAJAS
• Mongo DB bloquea la base de datos cada vez que se realiza un escritura, lo que
reduce la concurrencia dramáticamente.
• Retorna cuando no se a escrito la información en el espacio de almacenamiento
permanente, puede ocasionar perdida de información.
• Cambia el valor por defecto para escribir al menos una replica, pero esto sigue sin
satisfacer la durabilidad ni la verificabilidad.
• Tiene problemas de rendimiento cuando el volumen de datos supera los 100GB.
18. • Es un almacén altamente escalable, eventualmente consistente y distribuido de
estructuras clave-valor:
– Iniciado por Facebook
– Código abierto
– Proyecto apache • Licencia: Apache License 2.0
– Escrito en Java
– Multiplataforma
– Versión actual: 1.0.9
– Web: http://cassandra.apache.org/
• Documentación: http://www.datastax.com/docs/1.0/index
19. VENTAJAS
- Cassandra está desarrollada para ser un servidor distribuido, pero puede también
ejecutarse como un nodo simple:
– Escalabilidad horizontal (añade nuevo hardware cuando sea preciso)
– Rápidas respuestas aunque la demanda crezca
– Elevadas velocidades de escritura para gestionar volúmenes de datos incrementales
– Almacenamiento distribuido
– Capacidad de cambiar la estructura de datos cuando los usuarios demandan más
funcionalidad
– Una API sencilla y limpia para tu lenguaje de programación favorito
– Detección automática de fallos
– No hay un punto de fallo único (cada nodo conoce de los otros)
– Descentralizada – Tolerante a fallos – Permite el uso de Hadoop para implementar Map
Reduce – Hinted hand off 21
20. DESVENTAJAS
Hay algunas desventajas que un sistema de almacenamiento tan
escalable ofrece en contrapartida:
– No hay joins (a cambio de más velocidad)
– No permite ordenar resultados en tiempo de consulta
– No tiene SQL • Pero desde la versión 0.8 tenemos CQL 22