GESTOR DE BASE DE DATOS



“AÑO DEL BUEN SERVICIO AL CIUDADANO”



INGENIERÍA DE SISTEMAS Y TELEMÁTICA
LABORATORIO DE PROGRAMACIÓN I
GESTOR DE BASE DE DATOS

AUTORES
MARCHENA HUANUIRE, Greinder Alexis
VASQUEZ VENTURA, Liz Evelin

DOCENTE
PORRO CHULLI, Marco Aurelio

BAGUA GRANDE - AMAZONAS
2017


GESTOR DE BASE DE DATOS

1)     DEFINICIÓN
Son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan.
Es un conjunto de programas que permiten crear y mantener una base de datos, asegurando su integridad, confidencialidad y seguridad.


2)     COMPONENTES
  • El motor de la base de datos acepta peticiones lógicas de los otros subsistemas del SGBD, las convierte en su equivalente físico y accede a la base de datos y diccionario de datos en el dispositivo de almacenamiento.
  • El subsistema de definición de datos ayuda a crear y mantener el diccionario de datos y define la estructura del fichero que soporta la base de datos.
  • El subsistema de manipulación de datos ayuda al usuario a añadir, cambiar y borrar información de la base de datos y la consulta para extraer información. El subsistema de manipulación de datos suele ser la interfaz principal del usuario con la base de datos. Permite al usuario especificar sus requisitos de la información desde un punto de vista lógico.
  • El subsistema de generación de aplicaciones contiene utilidades para ayudar a los usuarios en el desarrollo de aplicaciones. Usualmente proporciona pantallas de entrada de datos, lenguajes de programación e interfaces.
  • El subsistema de administración ayuda a gestionar la base de datos ofreciendo funcionalidades como almacenamiento y recuperación, gestión de la seguridad, optimización de preguntas, control de concurrencia y gestión de cambios.

3)     LENGUAJES DE MODULACIÓN

MODULACIÓN JERÁRQUICA
Sistema de modulación que permite la transmisión de dos flujos diferentes de datos (alta prioridad y baja prioridad) en un único flujo de un solo canal (principalmente usado en el estándar DVB-T)

Los datos de alta prioridad se destinan a los receptores móviles y/o portátiles, y a las zonas alejadas del transmisor donde el SNR es menor. Los de baja prioridad están destinados a las zonas cercanas al transmisor para receptores fijos.

MODELO RED
Este es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico).
Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales.

MODELO RELACIONAL
El modelo relacional, para el modelado y la gestión de bases de datos, es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos.
Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.
Su idea fundamental es el uso de relaciones. Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados tuplas. Pese a que esta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar, pensando en cada relación como si fuese una tabla que está compuesta por registros (cada fila de la tabla sería un registro o "tupla") y columnas (también llamadas "campos").
Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente.

MODELO ORIENTADO A OBJETOS
Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento).

4)     SISTEMA GESTOR DE BASE DE DATOS

             4.1)       UN SGBD DEBE PERMITIR:

v  Definir una base de datos: especificar tipos, estructuras y restricciones de datos.
v  Construir la base de datos: guardar los datos en algún medio controlado por el mismo SGBD.
v  Manipular la base de datos: realizar consultas, actualizarla, generar informes.

            4.2)       LAS CARACTERÍSTICAS DE UN SISTEMA GESTOR DE BASE DE DATOS (SGBD)             SON:
v  Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción.
v  Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.
v  Redundancia mínima. Un buen diseño de una base de datos logrará evitar la aparición de información repetida o redundante. De entrada, lo ideal es lograr una redundancia nula; no obstante, en algunos casos la complejidad de los cálculos hace necesaria la aparición de redundancias.
v  Consistencia. En aquellos casos en los que no se ha logrado esta redundancia nula, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea.
v  Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segurizada frente a usuarios malintencionados, que intenten leer información privilegiada; frente a ataques que deseen manipular o destruir la información; o simplemente ante las torpezas de algún usuario autorizado pero despistado. Normalmente, los SGBD disponen de un complejo sistema de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos.
v  Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados. Es decir, se trata de proteger los datos ante fallos de hardware, datos introducidos por usuarios descuidados, o cualquier otra circunstancia capaz de corromper la información almacenada.
v  Respaldo y recuperación. Los SGBD deben proporcionar una forma eficiente de realizar copias de respaldo de la información almacenada en ellos, y de restaurar a partir de estas copias los datos que se hayan podido perder.
v  Control de la concurrencia. En la mayoría de entornos (excepto quizás el doméstico), lo más habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar información, bien para almacenarla. Y es también frecuente que dichos accesos se realicen de forma simultánea. Así pues, un SGBD debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias.

4.3)       SISTEMAS DE GESTOR DE BASE DE DATOS MÁS UTILIZADOS:

a)      MySQL
Es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB desarrolla MySQL como software libre en un esquema de licenciamiento dual. Por un lado lo ofrece bajo la GNU GPL, pero, empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa una licencia que les permita ese uso.

Características:
Está desarrollado en su mayor parte en ANSI C.
Al contrario de proyectos como el Apache, donde el software es desarrollado por una comunidad pública, y el copyright del código está en poder del autor individual, MySQL es propiedad y está patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet.

Ventajas:
 v  Velocidad al realizar las operaciones.
 v  Bajo costo en requerimientos para la elaboración de bases de datos.
 v  Facilidad de configuración e instalación.

Desventajas:
v  Un gran porcentaje de las utilidades de MySQL no están documentadas.
v  No es intuitivo, como otros programas (ACCESS).

b)       ORACLE
Es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), fabricado por Oracle Corporation.

Características:
Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:

v  Soporte de transacciones.
v  Estabilidad.
v  Escalabilidad.
v  Es multiplataforma.

Su mayor defecto es su enorme precio, que es de varios miles de dólares (según versiones y licencias). Otro aspecto que ha sido criticado por algunos especialistas es la seguridad de la plataforma, y las políticas de suministro de parches de seguridad, modificadas a comienzos de 2005 y que incrementan el nivel de exposición de los usuarios. En los parches de actualización provistos durante el primer semestre de 2005 fueron corregidas 22 vulnerabilidades públicamente conocidas, algunas de ellas con una antigüedad de más de 2 años.

Ventajas:
v  Oracle es el motor de base de datos objeto-relacional más usado a nivel mundial.
v  Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador.

Desventajas:
v  El mayor inconveniente de Oracle es quizás su precio.
v  Necesidad de ajustes.
v  Elevado el coste de la información.

c)        MICROSOFT SQL SERVER
Es un sistema de gestión de bases de datos relacionales basado en el lenguaje Transact-SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea. Así de tener unas ventajas que a continuación se pueden describir.

Características:
v  Soporte de transacciones.
vEscalabilidad, estabilidad y seguridad.
vSoporta procedimientos almacenados.
vIncluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente.
vPermite trabajar en modo cliente-servidor donde la información y datos se alojan en el servidor y las terminales o clientes de la red sólo acceden a la información.
v  Además permite administrar información de otros servidores de datos.

Ventajas:
v  Soporte de transacciones.
v  Escalabilidad, estabilidad y seguridad.
v  Soporta procedimientos almacenados.

Desventajas:
v  Soporte de transacciones. Escalabilidad, estabilidad y seguridad. Soporta procedimientos almacenados. enorme cantidad de memoria RAM que utiliza para la instalación y utilización del software.
v  La relación calidad-precio está muy debajo comparado con Oracle.

d)       MICROSOFT ACCESS
Es un sistema de gestión de bases de datos Relacional creado y modificado por Microsoft (DBMS) para uso personal de pequeñas organizaciones. Es un componente de la suite Microsoft Office aunque no se incluye en el paquete “básico”. Una posibilidad adicional es la de crear ficheros con bases de datos que pueden ser consultados por otros programas.

Características:
Entre las principales funcionalidades de Access se encuentran:

v  Crear tablas de datos indexadas.
v  Modificar tablas de datos.
v  Relaciones entre tablas (creación de bases de datos relacionales).
v  Creación de consultas y vistas.
v  Consultas referencias cruzadas.
v  Consultas de acción (INSERT, DELETE, UPDATE).
v  Formularios.
v  Informes.
v  Llamadas a la API de windows.

Ventajas:
v  Tablas para almacenar los datos.
v  Consultas para buscar y recuperar únicamente los datos que necesita.
v  Formularios para ver, agregar y actualizar los datos de las tablas.

Desventajas:
v  Limitaciones en el procesamiento de las búsquedas.

e)        VISUAL FOXPRO
Es un lenguaje de programación orientado a objetos y procedural, un Sistema Gestor de Bases de datos o Database Management System (DBMS), y desde la versión 7.0, un Sistema administrador de bases de datos relacionales, producido por Microsoft.

Características:
Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet PC o para la Web.
Sus características se pueden enumerar:
v  Capacidades poderosas y muy veloces para el manejo de datos nativos y remotos.
v  Flexibilidad para crear todo tipo de soluciones de bases de datos.
v  Lenguaje de programación Orientado a objetos.
v  Utilización de sentencias SQL en forma nativa.
v  Poderoso manejo de vistas y cursores y control completo de estructuras relacionales.
v  Su propio gestor de base de datos incorporado. Sin embargo, también puede conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL.
v  Cuenta con un motor de generación de informes renovado y muy flexible para soluciones más robustas.
v  Desde la versión 9.0, amplio soporte de XML, tanto como fuente de datos (por ej., servicios Web basados en XML) como por generar reports en formato XLM.

Ventajas:
v  Menor costo.
v  Entorno windows (Es mas familiar y predecible).

Desventajas:
v  Integridad
v  Seguridad
v  Menor capacidad de procesamiento.

f)         POSTGRESQL.
Es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD. Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyada por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).

Características
Algunas de sus principales características son, entre otras:
Alta concurrencia: mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés)
Amplia variedad de tipos nativos: provee nativamente varios soportes

Ventajas:
v  Ahorros considerables de costos de operación.
v  Estabilidad y confiabilidad

Desventajas:
v  Consume más recursos que MySQL
v  La sintaxtis de algunos de sus comandos o sentencias no es nada intuitiva.

g)        APACHE DERBY
Apache Derby es un sistema gestor de base de datos relacional escrito en Java que puede ser empotrado en aplicaciones Java y utilizado para procesos de transacciones online. Tiene un tamaño de 2 MB de espacio en disco. Inicialmente distribuido como IBM Cloudscape, Apache Derby es un proyecto open source licenciado bajo la Apache 2.0 License. Actualmente se distribuye como Sun Java DB.

Características:
v  APIs para JDBC y SQL. Soporta todas las características de SQL92 y la mayoría de SQL99.
v  Su código mide alrededor de 2000KB comprimido.
v  Soporta cifrado completo, roles y permisos. Además posee SQL SCHEMAS para separar la información en una única base de datos y control completo de usuarios.
v  Soporta internamente procedures, cifrado y compresión. Trae soporte multilenguaje y localizaciones específicas.
v  A partir de la versión 10.4 trae un sistema simple de replicación maestro-esclavo.
v  Transacciones y recuperación ante errores ACID.

Ventajas:
v  Se pude configurar como cliente/servidor.
v  Tiene la opción del manejador de base de datos soporta la arquitectura cliente/servidor

Desventajas:
v  Es tedioso solo lo puedes manipular si conoces lo básico de SQL • necesitas códigos para crear la base de datos.

h)       DB2
Es una marca comercial, propiedad de IBM, bajo la cual se comercializa el sistema de gestión de base de datos. La versión más actual es DB2 9, la cual utiliza XML como motor, además el modelo que utiliza es el jerárquico en lugar del modelo relacional que utilizan otros gestores.

Características:
v  Permite el manejo de objetos grandes (hasta 2 GB).
v  La definición de datos y funciones por parte del usuario, el chequeo de integridad referencial.
v  recursivo, soporte multimedia: texto, imágenes, video, audio; queries paralelos, commit de dos fases, backup/recuperación on−line y offline.

Ventajas:
v  Permite agilizar el tiempo de respuestas de esta consulta.
v  Recuperación utilizando accesos de sólo índices.
v  Predicados correlacionados.
v  Tablas de resumen
v  Tablas replicadas
v  Uniones hash

Desventajas:
v  Se tiene que ver con las aplicaciones que se tienen desarrolladas y las que se van a implementar.
v  Influye en la elección.

i)          DB2 EXPRESS-C
DB2 express-C es un motor de base de datos perteneciente a la empresa IBM, conteniendo parte de las funcionalidades de la versión de pago DB2 propiedad también de la empresa IBM, este motor de base de datos es gratuita pero no libre (como aquellas que tienen licencia GPL) y cuenta con la ventaja de no tener límite de crecimiento en sus archivos de base de datos.

Características:
v  Compatibilidad SQL, lo que facilita la ejecución de aplicaciones escritas para otras bases de datos principales, en DB2.
v  Mejorías para el desarrollo de aplicativos.
v  Mejoras en seguridad.

Ventajas:
v  No hay Límites de Datos.
v  No hay límites de conexiones.

j)         SQLITE
Es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente pequeña biblioteca escrita en C. SQLite es un proyecto de dominio público.

Características:
v  La biblioteca implementa la mayor parte del estándar SQL-92
v  Varios procesos o hilos pueden acceder a la misma base de datos sin problemas.
v  Varios accesos de lectura pueden ser servidos en paralelo.
v  Un acceso de escritura sólo puede ser servido si no se está sirviendo ningún otro acceso concurrentemente.

Ventajas:
v  Rendimiento de base de datos
v  Interfaces
v  Costo

Desventajas:
v  Falta de Clave Foránea.
v  Falta de documentación en español.


RESUMEN
Para dar una definición de un Sistema Gestor de Bases de Datos es necesario tener claro lo que es una base de datos, la cual se puede definir como una colección de datos almacenados ordenadamente bajo ciertas restricciones, las cuales permiten una fácil inserción de datos así como el rápido acceso a los mismos, poder modificarlos y su eliminación de forma apropiada y sencilla. Las restricciones y estructura de una base de datos están hechas a partir de la problemática que se quiere resolver o a la situación que se presenta. Para crear una base de datos que tenga la estructura que se desea tener y se puedan incluir las restricciones que resuelvan la problemática es necesario un software especializado en realizar esta labor, es entonces que se crean los SGDB (Sistemas Gestores de Bases de Datos).
Posterior a la aparición de los lenguajes de programación orientados a objetos los SGBD se especializan más y se crean los Sistemas de Gestión de Bases de Datos Relacionales (SGBDR), esto para adaptarse a la nueva forma de estructurar los datos almacenados y a los lenguajes de programación orientados a objetos.


ABSTRACT
To give a definition of a Database Management System it is necessary to be clear what a database is, which can be defined as a collection of data stored neatly under certain restrictions, which allow an easy insertion of data as well The rapid access to them, to be able to modify them and their elimination in an appropriate and simple way. The restrictions and structure of a database are made based on the problem to be solved or the situation that is presented. To create a database that has the structure that you want to have and you can include the restrictions that solve the problem you need specialized software to perform this work, it is then that are created SGDB (Database Management Systems).
Subsequent to the appearance of object-oriented programming languages, DBMSs specialize more and Relational Database Management Systems (RDBMS) are created to adapt to the new way of structuring stored data and programming languages Oriented.


RECOMENDACIONES
  v  Si van a usar un SGBD grande recomendamos Oracle porque es uno de los sistemas de bases de datos más completos.
  v  Si no quieres que tu SGBD sea muy pesada la opción mucho más liviana pero poco recomendable es SQLite.
  v  MySQL es un servidor rápido pero carente de robustez.


CONCLUSIONES

  •    Durante la realización de este trabajo, aprendimos acerca del, lenguaje SQL, de los sistemas de gestión de bases de datos, y su importancia y utilidad a la hora de almacenar, clasificar y manejar información, de cualquier tipo.
  •      MySQL ha sido un gestor de bases de datos muy útil desde que fue creado, y con el tiempo, nuevas funciones se le añadieron, expandiéndolo y volviéndolo más útil, y convirtiéndose así en uno de los gestores de bases de datos mas utilizados a nivel mundial, junto a Oracle. Por otro lado, PostgreSQL es un SGBD continuamente modificado y actualizado por un grupo de desarrolladores a nivel mundial (PostgreSQL Global Development Group), también basado en el lenguaje SQL.
  •     Desde usuarios particulares, hasta grandes empresas, gozan de las ventajas que brindan los SGBD, desde clasificar la información según el criterio deseado por el usuario, modificar la información que contiene una base de datos, entre otras.


BIBLIOGRAFÍA
acevedo, b. (07 de Marzo de 2013). brenyova.blogspot.pe. Obtenido de brenyova.blogspot.pe: http://brenyova.blogspot.pe/2013/03/que-es-un-gestor-y-cuales-son-sus-tipos.html

ecured. (s.f). ecured.cu. Obtenido de ecured.cu: https://www.ecured.cu/Sistema_Gestor_de_Base_de_Datos

foreverbebe. (2015). estudioteca.net. Obtenido de estudioteca.net: http://www.estudioteca.net/universidad/telecomunicaciones/gestor-base-datos/

IRUELA, J. (2016). Informática y TICS. Revistadigital, s.p. Obtenido de https://revistadigital.inesem.es/informatica-y-tics/los-gestores-de-bases-de-datos-mas-usados/

jaimeizq. (05 de Junio de 2009). es.slideshare.ne. Obtenido de es.slideshare.ne: https://es.slideshare.net/jaimeizq/proyecto-de-base-de-datos-1537934

Nipas, G. (27 de Octubre de 2014). es.slideshare.net. Obtenido de es.slideshare.net: https://es.slideshare.net/nipas/10-sgbd

vanegas, j. (30 de Agosto de 2014). prezi.com. Obtenido de prezi.com: https://prezi.com/i68jgkncwj97/definicion-de-gestor-de-bases-de-datos/?webgl=0

wikipedia. (s.f). es.wikipedia.org. Obtenido de es.wikipedia.org: https://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos#Componentes

wikipedia. (s.f). es.wikipedia.org. Obtenido de es.wikipedia.org: https://es.wikipedia.org/wiki/Modulaci%C3%B3n_jer%C3%A1rquica

wikipedia. (s.f). es.wikipedia.org. Obtenido de es.wikipedia.org: https://es.wikipedia.org/wiki/Modelo_relacional




LINK DE NUESTRAS DIAPOSITIVAS:




Comentarios

Entradas populares de este blog

Espacio de Nombre System.Data.SQLClient

ADO.NET

OBJETO SQLCOMMAND