Fundamentos de bases de datos

14
Universidad de Pamplona GUSTAVO OVIEDO SERRANO DIEGO ANDRES VELASCO URIBE INGENIERÍA EN TELECOMUNICACIONES Colombia

Transcript of Fundamentos de bases de datos

Page 1: Fundamentos de bases de datos

Universidad de PamplonaGUSTAVO OVIEDO SERRANO

DIEGO ANDRES VELASCO URIBE

INGENIERÍA EN TELECOMUNICACIONESColombia

Page 2: Fundamentos de bases de datos

FUNDAMENTOS DE BASES DE DATOS

GUSTAVO OVIEDO SERRANO

Cód.. 1090.393.359

DIEGO ANDRÉS VELASCO URIBE

Cód.. 1090.388.457

PROFESOR:

RICHARD MENDOZA

Page 3: Fundamentos de bases de datos

• Hablando dentro del contexto de Arquitecturas de Información, el diseño de las bases de datos es un elemento fundamental para el éxito de cualquier producto. Pero ¿qué es una base de datos?, en su definición más básica podríamos decir que una base de datos es un almacén que guarda datos. Un sistema de base de datos es un almacén de datos y también es un mecanismo para acceder esos datos.

• Cuando el hombre necesita guardar conocimiento o seguir el rastro de la información, lo escribe, y lo cataloga usando índices de papel. Así el libro fue el primer tipo de base de datos. Estos no eran bases de datos electrónicas, sin embargo servían para el mismo propósito. Eran usados para seguir el rastro de libros de contabilidad, conocimiento científico e histórico. Hoy cuando pensamos en bases de datos, pensamos en bases de datos electrónicas, no en estos objetos que definieron a la civilización hace varios miles de años.

BASES DE DATOS

Page 4: Fundamentos de bases de datos

LAS BASES DE DATOS SOLUCIONAN ALGUNOS

PROBLEMAS:

• Compensan el hecho de una memoria terrible, si se olvida algo simplemente se busca.

• Compensan el hecho de que los humanos solo podemos analizar pequeñas piezas de información, las BD agrupan los datos por nosotros.

• Permiten compartir hechos y eventualmente conocimiento. Por ejemplo en los burós de crédito varias compañías pueden revisar el historial crediticio de las personas.

Page 5: Fundamentos de bases de datos

HISTORIA DE LAS BASES DE DATOS

• Maquina Perforadora Herman Hollerit (1860-1929):

Hollerit fue denominado el primer ingeniero estadístico de lahistoria, ya que invento una computadora llamada “MaquinaAutomática Perforadora de Tarjetas”. Para hacer el censo deEstados Unidos en 1880 se tardaron 7 años para obtenerresultados

Page 6: Fundamentos de bases de datos

• Decada 1950:

Se da origen a las cintas magneticas. Por medio de este mecanismo se empezo a automatizar la informacion de las nominas, como por ejemplo el aumento del salario. Consistia en leer una cinta o mas y pasar los datos a otra, tambien se podian pasar desde las tarjetas perforadas. Simulando un sistema de backup.

• Decada de 1960:

El uso de los discos en ese momento fue un adelanto muy efectivo, ya que por medio de este soporte se podía consultar la información directamente, esto ayudo a ahorrar tiempo. No era necesario saber exactamente donde estaban los datos en los discos, ya que en milisegundos era recuperable la información.

Los discos dieron inicio a las Bases de Datos, de red y jerárquicas, pues los programadores con su habilidad de manipulación de estructuras junto con las ventajas de los discos era posible guardar estructuras de datos como listas y árboles.

Page 7: Fundamentos de bases de datos

• Década 1970

Cuando E.F. Codd de IBM introdujo la idea de un modelo relacional de Bases de datos en un documento titulado “A Relational Model of data for Large SharedBanks”

• Bases del Modelo E-R

Abstraer la representación de datos.

Minimizar la redundancia de datos, dividiéndolos en distintos grupos no duplicados.

Incrementar la consistencia de datos, por ejemplo si se cambia el nombre de un cliente, este cambiara en todos los reportes.

• Posteriormente un lenguaje llamado SQL (Lenguaje estructurado de consultas) también desarrollado por IBM, fue creado para generar reportes y actualizar datos en este nuevo modelo relacional.

• El Sistema R de IBM nació de este trabajo, pero fue ignorado por IBM, y poco después Oracle saco su versión comercial de BD basada en la teoría relacional de Codd, y el Berkely Ingres.

Page 8: Fundamentos de bases de datos

SGBD(SISTEMA DE GESTION DE BASE DE DATOS)

• (Sistema de gestión de base de datos) o en inglés Database managementsystem (DBMS), es una agrupación de programas que sirven para definir, construir y manipular una base de datos.

- Definir una base de datos: consiste en especificar los tipos de datos, estructuras y restricciones para los datos que se almacenaran.

- Contruir una base de datos: es el proceso de almacenar los datos sobre algún medio de almacenamiento.

- Manipular una base de datos: incluye funciones como consulta, actualización, etc. de bases de datos.

Si el sistema soporta bases de datos relacionales se llama RDBMS en inglés o SGBDR en español.

Page 9: Fundamentos de bases de datos

BREVE HISTORIA DE LOS SGBDR

• El modelo relacional fue presentado en la década del 70, y a partir de ese momento comenzaron a desarrollarse múltiples sistemas para gestionar las bases de datos relacionales. IBM fue una de las pioneras en el desarrollo de productos comerciales sobre SGBD relacionales; algunos de sus productos fueron el SQL/DSpara los entornos DOS/VSE y VM/CMS, y el DB2 para el sistema operativo MVS en 1983.

En tanto, INGRES fue otro SGBDR desarrollado por la Universidad de Berkeley a principios de los setenta. Luego se convirtió en comercial y comenzó a ser distribuido por Ingres Inc. y luego por Computer Associates.

Otras marcas comerciales de SGBDR son Oracle de Oracle Inc., Sybase de SybaseInc., RDB de Digital Equipment Corp. de Compaq, INFORMIX de Informix Inc. y UNIFY de Unify Inc.

Además de los SGBDR mencionados, en los ochenta aparecen múltiples aplicaciones para PCs como ser RIM, RBASE 5000, PARADOX, OS/2 DatabaseManager, DBase IV, XDB, WAT-COM SQL, SQL Server (de Sybase Inc.), SQL Server (de Microsoft), Access, etc.

Page 10: Fundamentos de bases de datos

OTRAS FUNCIONES DE LOS SGBD

• En la manipulación de una base de datos, los SGBD deben incluir un control de concurrencia, o sea, deben permitir a varios usuarios tener acceso "simultáneo" a la base de datos. Controlar la concurrencia implica que si varios usuarios acceden a la base de datos, la actualización de los datos se haga de forma controlada para que no haya problemas.

• Un SGBD también debe encargase de cumplir las reglas de integridad y redundancias.

• Otra función importante en un SGBD es su capacidad de realizar copias de seguridad y de recuperación de datos.

• Restricción de accesos no autorizados.• Suministrar múltiples interfaces de usuario.• Representar relaciones complejas entre los datos

Page 11: Fundamentos de bases de datos

CLASIFICACION DE LOS SGBD• Esta clasificación está basada en el modelo de datos en que está basado el SGBD. Los modelos de datos

más habituales son:

-Relacional ( SGBDR): representa a la base de datos como una colección de tablas. Estas bases de datos suelen utilizar SQL como lenguaje de consultas de alto nivel.

-Orientado a objetos: define a la base de datos en términos de objetos, sus propiedades y sus operaciones. Todos los objetos que tienen la misma estructura y comportamiento pertenecen a una clase y las clases de organizan en jerarquías.

-Objeto-relacional o relacional extendido: son los sistemas relacionales con características de los orientado a objetos.

-Jerárquico: representa los datos como estructuras jerárquicas de arbol.

-En red o CODASYL DBTG.

Un SGBD también puede clasificarse por el número de usuario a los que da servicio:* Monousuario* Multiusuario

También puede clasificarse según el número de sitios en los que está distribuida la base de datos:

-Centralizado: la base de datos y el software SGBD están almacenados en un solo sitio (una sola computadora).

-Distribuido ( SGBDD): la base de datos y el software SGBD pueden estar distribuidos en múltiples sitios conectados por una red.

Page 12: Fundamentos de bases de datos

LEYES DE CODD

• 0. el sistema debe ser relacional: base de datos y administrador de sistema. Ese sistema debe utilizar sus facilidades relacionales (exclusivamente) para manejar la base de datos.

• 1. la regla de la información: toda la información en la base de datos es representada unidireccionalmente, por valores en posiciones de las columnas dentro de filas de tablas. Toda la información en una base de datos relacional se representa explícitamente en el nivel lógico exactamente de una manera: con valores en tablas.

• 2. la regla del acceso garantizado: todos los datos deben ser accesibles sin ambigüedad. Esta regla es esencialmente una nueva exposición del requisito fundamental para las llaves primarias. Dice que cada valor escalar individual en la base de datos debe ser lógicamente direccionable especificando el nombre de la tabla, la columna que lo contiene y la llave primaria.

• 3. tratamiento sistemático de valores nulos: el sistema de gestión de base de datos debe permitir que haya campos nulos. Debe tener una representación de la "información que falta y de la información inaplicable" que es sistemática, distinto de todos los valores regulares.

• 4. catálogo dinámico en línea basado en el modelo relacional: el sistema debe soportar un catálogo en línea, el catálogo relacional debe ser accesible a los usuarios autorizados. Es decir, los usuarios deben poder tener acceso a la estructura de la base de datos (catálogo).

• 5. la regla comprensiva del sublenguaje de los datos: el sistema debe soportar por lo menos un lenguaje relacional que:

– Tenga una sintaxis lineal.

– Puede ser utilizado recíprocamente y dentro de programas de uso.

– Soporte operaciones de definición de datos, operaciones de manipulación de datos (actualización así como la recuperación), seguridad e integridad y operaciones de administración de transacciones.

Page 13: Fundamentos de bases de datos

• 6. regla de actualización: todas las vistas que son teóricamente actualizables deben ser actualizables por el sistema.

• 7. alto nivel de inserción, actualización, y cancelación: el sistema debe soportar suministrar datos en el mismo tiempo que se inserte, actualiza o esté borrando. Esto significa que los datos se pueden recuperar de una base de datos relacional en los sistemas construidos de datos de filas múltiples y/o de tablas múltiples.

• 8. independencia de datos físico: los cambios en el nivel físico (cómo se almacenan los datos, si en arreglos o en las listas encadenadas los etc.) no debe requerir un cambio a una solicitud basada en la estructura.

• 9. independencia de datos lógica: los cambios al nivel lógico (tablas, columnas, filas, etcétera) no deben requerir un cambio a una solicitud basada en la estructura. La independencia de datos lógica es más difícil de lograr que la independencia física de datos.

• 10. independencia de la integridad: las limitaciones de la integridad se deben especificar por separado de los programas de la aplicación y se almacenan en la base de datos. Debe ser posible cambiar esas limitaciones sin afectar innecesariamente las aplicaciones existentes.

• 11. independencia de la distribución: la distribución de las porciones de la base de datos a las varias localizaciones debe ser invisible a los usuarios de la base de datos. Los usos existentes deben continuar funcionando con éxito:

– cuando una versión distribuida del SGBD se introdujo por primera vez

– cuando se distribuyen los datos existentes se redistribuyen en todo el sistema.

• 12. la regla del de la no subversión: si el sistema proporciona una interfaz de bajo nivel (de registro a la vez) y luego de que esa interfaz no se pueda utilizar para subvertir el sistema, por ejemplo: sin pasar por seguridad relacional o limitación de integridad.

Page 14: Fundamentos de bases de datos

GRACIAS POR SU ATENCIÓN