270 likes | 508 Views
Eduny Abarca González Daniel Ching Jenkins Luis Pablo Contreras Arana Andrés López Ruiz Gerardo Parajeles Blandón. Bases de Datos. Temas a tratar. Definición de base de datos. Orígenes y antecedentes. Ventajas y desventajas de las bases de datos. Estructuras de Bases de Datos.
E N D
Eduny Abarca González Daniel Ching Jenkins Luis Pablo Contreras Arana Andrés López Ruiz Gerardo Parajeles Blandón Bases de Datos
Temas a tratar • Definición de base de datos. • Orígenes y antecedentes. • Ventajas y desventajas de las bases de datos. • Estructuras de Bases de Datos. • Sistemas Manejadores de Base de Datos. • Sistemas manejadores más utilizados. • Motores de Base de Datos. • Diferencias entre motores de bases de datos. • Lenguajes de Base de Datos. • Conexión a la base de datos utilizada en Proyecto II.
Definición • Es un conjunto de datos organizados y estructurados de forma que un determinado software pueda hacer uso de estos.
Orígenes y Antecedentes • Nacen con la necesidad del ser humano de guardar conocimiento o rescatar información importante. • El libro fue el primer tipo de base de datos (BD no electrónicas). • Sus principales usos han sido: • Control de libros de contabilidad • Conocimiento científico e histórico
Orígenes y Antecedentes • Bases de Datos Electrónicas. • Se desarrollo a partir de la necesidad de almacenar grandes cantidades de datos, para su posterior consulta. • Herman Hollerit (1860-1929) invento una computadora llamada “Máquina Automática Perforadora de Tarjetas”.
Ventajas de las bases de datos • Independencia de datos y tratamiento. • Coherencia de resultados. • Mejora en la disponibilidad de datos. • Cumplimiento de ciertas normas: • Toma en cuenta restricciones de seguridad. • Hace respetar los tipos de datos y las relaciones entre los archivos.
Desventajas de las bases de datos • Instalación costosa. • Personal especializado. • Implantación larga y difícil. • Falta de rentabilidad a corto plazo. • Escasa estandarización (menor cada día). • Desfase entre teoría y práctica.
Estructuras de Bases de Datos • Se refiere a los tipos de datos, los vínculos o relaciones y las restricciones que deben cumplir los datos a almacenar. • La estructura de una base de datos es diseñada o descripta empleando algún tipo de modelo de datos: • Modelo Jerárquico • Modelo de Red • Modelo Relacional de Datos
Estructuras de Bases de Datos • Modelo Jerárquico • Los datos son organizados en una estructura parecida a un árbol. • La estructura permite que se repita información y que se utilicen relaciones padre-hijo (un padre puede tener muchos hijos pero un hijo sólo tiene un padre).
Estructuras de Bases de Datos • Modelo de Red • Este modelo fue concebido como un modo flexible de representar objetos y su relación. • Permite a cada registro tener múltiples registros paternales y de hijos, formando una estructura de enrejado. • Soluciona el problema de redundancia de datos presente en el modelo jerárquico. • Debido a su complejidad fue utilizado en su mayoría por programadores más que por usuarios finales.
Estructuras de Bases de Datos • Modelo Relacional de Datos • Las bases de este modelo fueron postuladas en 1970 por Edgar Frank Codd. • Su idea fundamental es el uso de relaciones. • Se considera a cada relación como si fuese una tabla que está compuesta por registros y columnas. • Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente.
Sistemas Manejadores de Base de Datos (SMBD) • Es un programa o conjunto de aplicaciones utilizado para almacenar, manipular y recuperar información en una BD. • El propósito principal de estos sistemas es: • Facilitar el proceso de definir, construir y manipular bases de datos.
Sistemas Manejadores de Base de Datos (SMBD) • Principales funciones: • Definir la base de datos. • Crear y organizar las bases de datos. • Manejar los datos de acuerdo a las peticiones de los usuarios. • Mantener un registro del uso de las bases de datos. • Realizar respaldo y recuperación. • Mantener seguridad e integridad de las bases de datos.
Sistemas manejadores más utilizados • Oracle • Inicia en los años 70’s con el nombre de “Rational Software”. • Es desarrollado por la corporación Oracle. • Entre sus características se pueden destacar: • Integridad referencial • Portabilidad • Compatibilidad • Soporte multiplataforma • Ventajas: • Uso de particiones para mejorar la eficiencia en la replicación de base de datos. • Administración de bases de datos distribuidas. • El software del servidor puede ejecutarse en diversos sistemas operativos. • Gran cantidad de documentación.
Sistemas manejadores más utilizados • Sql Server • Desarrollado por la compañía Microsoft. • Este sistema está basado en el lenguaje Transact-SQL. • Principales características: • Escalabilidad, estabilidad y seguridad. • Soporta procedimientos almacenados. • Permite trabajar en modo cliente-servidor. • Permite administrar información de otros servidores de datos.
Sistemas manejadores más utilizados • DB2 • Nace en los años 70 bajo la firma de la empresa IBM. • Principales características: • Manejo de objetos grandes. • Variada escalabilidad. • Integridad referencial. • Ventajas: • Tablas de resumen. • Tablas replicadas. • Respaldos y seguridad de datos. • Portabilidad. • Es confiable y posee un muy buen soporte técnico.
Sistemas manejadores más utilizados • Informix • Creado por Informix Software Inc. • Incluye un RDBMS (sistema administrador de base de datos relacionales) basado en SQL. • Características • Gestiona múltiples bases de datos remotas desde una única consola. • Utiliza plataforma NT y UNIX. • Opción de conectar datos relacionales de páginas web. • Cumple con los niveles de seguridad. • Utiliza un manejador relacional de base de datos orientado a objetos (ORDBMS).
Sistemas manejadores más utilizados • MySQL • Creada por la empresa sueca MySQL AB. • Es un sistema manejador de base de datos relacional, licenciado bajo la GPL de la GNU. • Probablemente es el manejador más usado en el mundo del software libre, debido a su gran rapidez y facilidad de uso. • Características • Aprovecha la potencia de sistemas multiprocesador, gracias a su implementación multihilo. • Soporta gran cantidad de tipos de datos para las columnas. • Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP, entre otros). • Portabilidad entre sistemas. • Mantiene un buen nivel de seguridad en los datos.
Motores de Base de Datos • Es una pieza de software que es utilizada por los sistemas manejadores de base de datos para crear, consultar, modificar y borrar datos. • Es el núcleo del SMBD, ya que controla el flujo de los datos y sobre él se ejecutan la sentencias de manejo de los mismos.
Motores de Base de Datos • Algunos ejemplos de los motores de bases de datos: • Oracle (diferentes S.O) • Sql Server (principalmente sistemas Windows) • Informix (Mundo UNIX) • DB2 (AS/400 de IBM) • MySQL (LINUX, Windows) • Postgrex (LINUX) • SyBase (Mundo UNIX)
Lenguajes de Base de Datos • Lenguaje de definición de datos (DDL) • Es un lenguaje de definición de datos que es proporcionado por el sistema manejador de base de datos. • Permite a los usuarios llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos.
Lenguajes de Base de Datos • Lenguaje de manipulación de datos (DML) • Es un lenguaje que permite la manipulación de datos y registros en una base de datos, este es aportado por el SMBD. • Se clasifican en dos grandes grupos: • Lenguajes de consulta procedimentales • El usuario da instrucciones al sistema para que realice una serie de procedimientos u operaciones en la base de datos para calcular un resultado final. • Lenguajes de consulta no procedimentales • El usuario describe la información deseada sin un procedimiento específico para obtener esa información.
Lenguajes de Base de Datos • SQL (Structured Query Language) • Es un lenguaje de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en éstas. • Es un lenguaje declarativo de "alto nivel" o "de no procedimiento“, lo que permite una alta productividad en codificación y la orientación a objetos.
Lenguajes de Base de Datos • Lenguaje Transact-Sql • Transact-SQL (T-SQL) es el lenguaje de programación del SQL Sever, a través de él podemos realizar muchas operaciones relacionadas con el SQL sin tener que volver a pasar por código ASP o VB. • No se utiliza dentro de estos lenguajes sino en desde los llamados Stored Procedures (SP) que están en la propia base de datos.
Conexión a la base de datos utilizada en Proyecto II • Se utilizó una metodología con diversas clases llamadas “Multis” con la lógica necesaria para realizar la conexión con la base de datos respectiva. • Los “Multis” mantienen una instancia de tipo AccesoBD, que es la clase que contiene la información de la base de datos • La clase AccesoBD es la encargada de retornar la conexión y el resultado de la ejecución de la sentencia sql.