Sistemas gestores de bases de datos

33
SISTEMAS GESTORES DE BASES DE DATOS

description

apunte

Transcript of Sistemas gestores de bases de datos

Page 1: Sistemas gestores de bases de datos

SISTEMAS GESTORES DE BASES DE DATOS

Page 2: Sistemas gestores de bases de datos

Un sistema de gestión de bases de datos (SGBD) es un conjunto deprogramas que permiten el almacenamiento, modificación y extracción dela información en una base de datos, además de proporcionar herramientaspara añadir, borrar, modificar y analizar los datos. Los usuarios puedenacceder a la información usando herramientas específicas de interrogación yde generación de informes, o bien mediante aplicaciones al efecto.

Estos sistemas también proporcionan métodos para mantener la integridadde los datos, para administrar el acceso de usuarios a los datos y pararecuperar la información si el sistema se corrompe.

Page 3: Sistemas gestores de bases de datos

Estos sistemas también proporcionan métodos para mantener la integridadde los datos, para administrar el acceso de usuarios a los datos y pararecuperar la información si el sistema se corrompe.

Un SGBD permite controlar el acceso a los datos, asegurar su integridad,gestionar el acceso concurrente a ellos, recuperar los datos tras un fallo delsistema y hacer copias de seguridad.

Page 4: Sistemas gestores de bases de datos

HISTORIA

Las Bases de Datos han estado en uso desde los primeros días de losordenadores electrónicos. A diferencia de los sistemas modernos, que sepueden aplicar a datos y necesidades muy diferentes, la mayor parte de lossistemas originales estaban enfocados a bases de datos específicas ypensados para ganar velocidad a costa de perder flexibilidad. Los SGBDoriginales sólo estaban a disposición de las grandes organizaciones quepodían disponer de los complejos ordenadores necesarios.

Page 5: Sistemas gestores de bases de datos

SISTEMAS DE NAVEGACIÓN DE 1960

A mediados de 1960 ya habían algunos sistemas en uso. Apareció el interésen obtener un estándar y Charles Bachman -autor de uno de los primerosproductos, el Integrated Data Store (IDS)- fundó el Database Task Groupdentro de CODASYL, el grupo responsable de la creación y estandarizaciónde COBOL.

Page 6: Sistemas gestores de bases de datos

La estrategia de CODASYL estaba basada en la navegación manual por unconjunto de datos enlazados en red. Cuando se arrancaba la base de datos,el programa devolvía un enlace al primer registro de la base de datos, el cuala su vez contenía punteros a otros datos. Para encontrar un registro concretoel programador debía ir siguiendo punteros hasta llegar al registro buscado.

No existían los conceptos «buscar» ni «encontrar», algo que sería inaceptablehoy en día, pero que en los tiempos en que los datos se guardaban en cintasno era viable llevarlos a la práctica.

Page 7: Sistemas gestores de bases de datos

IBM también tenía su SGBD propio en 1968, conocido como IMS. Se trataba de un software desarrollado para el programa Apolo sobre System/360. IMS tenía conceptos similares a CODASYL, pero usaba una jerarquía estricta de ordenación de los datos, frente a la estructura en red de CODASYL.

Page 8: Sistemas gestores de bases de datos

SISTEMAS RELACIONALES DE 1970

Edgar Codd trabajaba en IBM en 1970 escribió algunos artículos en los queperfilaba una nueva aproximación que culminó en el documento "ARelational Model of Data for Large Shared Data Banks“.

La idea de Codd era usar una "tabla" de registros de tamaño fijo. Una listaencadenada tiene muy poca eficiencia al almacenar datos dispersos dondealgunos de los datos de un registro pueden dejarse en blanco. El modelorelacional resuelve esto dividiendo los datos en una serie de tablas -orelaciones- normalizadas, en las que los elementos optativos han sidoextraídos de la tabla principal para que ocupen espacio sólo si lo necesitan.En este modelo relacional los registros relacionados se enlazan con una"clave".

Page 9: Sistemas gestores de bases de datos

Reconciliar toda la información es la clave de este sistema. En el modelorelacional, una parte de la información se usa como clave, identificando demanera biunívoca un registro concreto. Cuando se recopila informaciónacerca de un usuario, se accederá a la información de las tablas optativasbuscando mediante esa clave.

Así como el enfoque de navegación requiere programas que realicen buclespara recolectar registros, el enfoque relacional también los requerirá. Lasolución de Codd para los necesarios bucles se basa en un lenguajeorientado a conjuntos, una sugerencia que más tarde cristalizaría en elubicuo SQL.

Page 10: Sistemas gestores de bases de datos

SISTEMAS SQL DE FINALES DE LA DÉCADA 1970

IBM comenzó a trabajar a principios de 1970 en un prototipo lejánamentebasado en los conceptos de Codd llamándolo System R. La primera versiónestuvo lista en 1974/5, y comenzó así el trabajo en sistemas multi-tabla, en losque los datos podían digregarse de modo que toda la información de unregistro (alguna de la cual es opcional) no tiene que estar almacenada en unúnico trozo grande. Las versiones multi-usuario siguientes fueron probadas porlos usuarios en 1978 y 1979, tiempo por el que un lenguaje SQL había sidoestandarizado. Las ideas de Codd se revelaron como operativas y superioresa las de CODASYL, lanzando a IBM al desarrollo de una verdadera versión deproducción de System R, conocido como SQL/DS, y posteriormente comoDatabase 2 (DB2).

Page 11: Sistemas gestores de bases de datos

En Suecia, el artículo de Codd generó la base de datos Mimer SQL en launiversidad de Uppsala. En 1984 este proyecto se consolidó en una compañíaindependiente. A principios de 1980, Mimer introdujo la gestión detransacciones para dar robustez a las aplicaciones, una idea que fuerecogida en muchos otros SGBD.

Page 12: Sistemas gestores de bases de datos

SISTEMAS ORIENTADOS A OBJETOS DE 1980

Durante la década de 1980 el auge de la programación orientada a objetosinfluyó en el modo de manejar la información de las bases de datos.Programadores y diseñadores comenzaron a tratar los datos en las bases dedatos como objetos.

Esto quiere decir que si los datos de una persona están en la base de datos,los atributos de la persona como dirección, teléfono y edad se consideranque pertenecen a la persona, no son datos extraños. Esto permite establecerrelaciones entre objetos y atributos, más que entre campos individuales.

Page 13: Sistemas gestores de bases de datos

SISTEMAS SGDB ACTUALESSISTEMAS NOSQL DE 2000

El siglo XXI trajo una nueva tendencia en las bases de datos: el NoSQL. Estatendencia introducía una línea no relacional significativamente diferentes delas clásicas. No requieren por lo general esquemas fijos, evitan lasoperaciones join almacenando datos denormalizados y están diseñadas paraescalar horizontalmente. La mayor parte de ellas pueden clasificarse comoalmacenes clave-valor o bases de datos orientadas a documentos.

Page 14: Sistemas gestores de bases de datos

Un sistema distribuido puede satisfacer sólo dos de las tres restricciones a lavez. Por dicha razón muchas de las bases de datos NoSQL usan la llamadaconsistencia eventual para proporcionar disponibilidad y tolerancia alparticionado, con un nivel máximo de consistencia de datos.

Entre las aplicaciones mas populares encontramos MongoDB, MemcacheDB,Redis, CouchDB, Hazelcast, Apache Cassandra y Hbase, todas ellas decódigo abierto.

Page 15: Sistemas gestores de bases de datos

SISTEMAS XML 2010

Las Bases de Datos XML forman un subconjunto de las Bases de Datos NoSQL.Todas ellas usan el formato de almacenamiento XML, que está abierto,legible por humanos y máquinas y ampliamente usado parainteroperabilidad.

En esta categoría encontramos: BaseX, eXist, MarkLogic Server,MonetDB/XQuery, Sedna.

Page 16: Sistemas gestores de bases de datos

ORACLE

Oracle Database es un sistema de gestión de base de datos objeto-relacional(u ORDBMS por el acrónimo en inglés de Object-Relational Data Base ManagementSystem), desarrollado por Oracle Corporation.

Se considera a Oracle Database como uno de los sistemas de bases de datos máscompletos, destacando:

• soporte de transacciones.

• estabilidad.

• escalabilidad.

• soporte multiplataforma.

Su dominio en el mercado de servidores empresariales ha sido casi total hasta hacepoco; recientemente sufre la competencia del Microsoft SQL Server de Microsoft y dela oferta de otros RDBMS con licencia libre como PostgreSQL, MySQL o Firebird. Lasúltimas versiones de Oracle han sido certificadas para poder trabajar bajo GNU/Linux.

Page 17: Sistemas gestores de bases de datos

FIREBIRD

Firebird es un sistema de administración de base de datos relacional(o RDBMS) (Lenguaje consultas: SQL) de código abierto, basado en la versión6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fuereescrito de C a C++. El proyecto se desarrolla activamente, el 18 de abril de2008 fue liberada la versión 2.1 y el 26 de diciembre de 2009 fue liberada laversión 2.5.0 RC1. La versión 2.5.2, la más reciente del proyecto, fue liberadael 24 de Marzo de 2013.

Page 18: Sistemas gestores de bases de datos

CARACTERISTICAS DE FIREBIRD

• Es multiplataforma, y actualmente puede ejecutarse en los sistemasoperativos: Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft Windows.

• Ejecutable pequeño, con requerimientos de hardware bajos.

• Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros (embedded).

• Soporte de transacciones ACID y claves foráneas.

• Es medianamente escalable.

• Buena seguridad basada en usuarios/roles.

Page 19: Sistemas gestores de bases de datos

MICROSOFT SQL SERVER

Microsoft SQL Server es un sistema para la gestión de bases dedatos producido por Microsoft basado en el modelo relacional. Sus lenguajespara consultas son T-SQL y ANSI SQL. Microsoft SQL Server constituye laalternativa de Microsoft a otros potentes sistemas gestores de bases dedatos como son Oracle, PostgreSQL o MySQL.

Page 20: Sistemas gestores de bases de datos

CARACTERÍSTICAS DE MICROSOFT SQL SERVER

• Soporte de transacciones.

• Soporta procedimientos almacenados.

• Incluye también un entorno gráfico de administración, que permite el usode comandos DDL y DML gráficamente.

• Permite trabajar en modo cliente-servidor, donde la información y datos sealojan en el servidor y los terminales o clientes de la red sólo acceden a lainformación.

• Además permite administrar información de otros servidores de datos.

Page 21: Sistemas gestores de bases de datos

MYSQL

MySQL es un sistema de gestión de bases de datos relacional multihilo ymultiusuario. Al contrario de proyectos como Apache, donde el software esdesarrollado por una comunidad pública y los derechos de autor del códigoestán en poder del autor individual, MySQL es patrocinado por una empresaprivada, que posee el copyright de la mayor parte del código.

Page 22: Sistemas gestores de bases de datos

CARACTERISTICAS DE MYSQL

• Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente.

• Disponibilidad en gran cantidad de plataformas y sistemas.

• Posibilidad de selección de mecanismos de almacenamiento que ofrecen diferentes velocidades de operación, soporte físico, capacidad, distribución geográfica, transacciones...

• Transacciones y claves foráneas.

• Conectividad segura.

• Replicación.

• Búsqueda e indexación de campos de texto.

Page 23: Sistemas gestores de bases de datos

COMPONENTES DE UN SGBD

• Componentes

• El motor de la base de datos acepta peticiones lógicas de los otrossubsistemas del SGBD, las convierte en su equivalente físico y accede a labase de datos y diccionario de datos en el dispositivo de almacenamiento.

• El subsistema de definición de datos ayuda a crear y mantener eldiccionario de datos y define la estructura del fichero que soporta la basede datos.

• El subsistema de manipulación de datos ayuda al usuario a añadir, cambiary borrar información de la base de datos y la interroga para extraerinformación. El subsistema de manipulación de datos suele ser el interfazprincipal del usuario con la base de datos. Permite al usuario especificar susrequisitos de la información desde un punto de vista lógico.

Page 24: Sistemas gestores de bases de datos

• El subsistema de generación de aplicaciones contiene utilidades paraayudar a los usuarios en el desarrollo de aplicaciones. Usualmenteproporciona pantallas de entrada de datos, lenguajes de programación einterfaces.

• El subsistema de administración ayuda a gestionar la base de datosofreciendo funcionalidades como almacenamiento y recuperación, gestiónde la seguridad, optimización de preguntas, control de concurrencia ygestión de cambios.

Page 25: Sistemas gestores de bases de datos

LENGUAJES DE MODELACIÓN

Toda base de datos soportada por un SGBD debe tener unos esquemasmodelados adecuadamente. Coincidiendo con la evolución histórica de lasbases de datos éstas han utilizado distintos modelos. Los SGBD esperan unmodelo determinado para poder acceder de forma simple a la base dedatos. Estos modelos son:

• Jerárquicos

• En red.

• Relacionales.

• Multidimensionales.

• De objetos.

Page 26: Sistemas gestores de bases de datos

ESTRUCTURA JERÁRQUICA

La estructura jerárquica fue usada en los SGBD de los primeros mainframe. Lasrelaciones entre registros forman una estructura en árbol. Esta estructura essimple pero inflexible ya que las relaciones están confinadas al tipo 1:n. Elsistema IMS de IBM y el RDM Mobile de Raima son ejemplos de bases de datoscon múltiples jerarquías sobre el mismo conjunto de datos.

Page 27: Sistemas gestores de bases de datos

ESTRUCTURA EN RED

Esta estructura contiene relaciones más complejas que las jerárquicas. Admiterelaciones de cada registro con varios que se pueden seguir por distintoscaminos. En otras palabras, el modelo permite relaciones N:N.

El modelo en red está concebido como un modo flexible de representarobjetos y sus relaciones. Su cualidad distintiva es que el esquema -visto comoun conjunto de nodos conectados por arcos- no tiene ninguna restricción.

Page 28: Sistemas gestores de bases de datos

ESTRUCTURA RELACIONAL

La estructura relacional es la más extendida hoy en día. Se usaen mainframes, ordenadores medios y micro-computadores. Almacena losdatos en filas (tuplas) y columnas (atributos). Estas tablas pueden estarconectadas entre sí por claves comunes. Mientras trabajaba en IBM en 1972,E.F. Codd concibió esta estructura. El modelo no resulta sencillo de interrogarpor el usuario ya que puede requerir una compleja combinación de tablas.

Page 29: Sistemas gestores de bases de datos

LA ESTRUCTURA MULTIDIMENSIONAL

La estructura multidimensional tiene parecidos a la del modelo relacional,pero en vez de las dos dimensiones filas-columnas, tiene N dimensiones. Estaestructura ofrece el aspecto de una hoja de cálculo. Es fácil de mantener yentender ya que los registros se almacenan del mismo modo como se ven.Sus altas prestaciones han hecho de ella la base de datos más popular parael proceso analítico de transacciones en línea (OLAP).

Page 30: Sistemas gestores de bases de datos

ESTRUCTURA ORIENTADA A OBJETOS

La estructura orientada a objetos está diseñada siguiendo el paradigma de los lenguajes orientados a objetos. De este modo soporta los tipos de datos gráficos, imágenes, voz y texto de manera natural. Esta estructura tiene gran difusión en aplicaciones web para aplicaciones multi-media.

Antes de la implantación de los SGBD con estructura orientada a objetos, el almacenamiento de datos multi-media se basaba en el sistema de ficheros para organizar, almacenar y procesar los datos.

Page 31: Sistemas gestores de bases de datos

BIBLIOGRAFIA

wikipedia. (s.f.). es.wikipedia. Recuperado el 15 de octubre de 2014, de http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos

Ramirez, O. (s.f.). sites.google.com. Recuperado el 15 de octubre de 2014, de https://sites.google.com/site/orlandoramirezfbd4sc4a/unidad-i/s-g-b-d-actuales

Page 32: Sistemas gestores de bases de datos
Page 33: Sistemas gestores de bases de datos