Documente Academic
Documente Profesional
Documente Cultură
Semestre I 2014
Un poco de Historia.
Introduccin
Un sistema gestor de bases de datos (SGBD) consiste en una coleccin de datos interrelacionados y un conjunto de programas para acceder a dichos datos. La coleccin de datos, normalmente denominada base de datos, contiene informacin relevante para una empresa. El objetivo principal de un SGBD es proporcionar una forma de almacenar y recuperar la informacin de una base de datos de manera que sea tanto prctica como eficiente. Los sistemas de bases de datos se disean para gestionar grandes cantidades de informacin.
Fuente: Silberschatz (2002) Fundamentos de Base de Datos.
Apuntes Preparados por Ernesto Arce Pizarro 3
Introduccin
La gestin de los datos implica tanto la definicin de estructuras para almacenar la informacin como la provisin de mecanismos para la manipulacin de la informacin. Adems, los sistemas de bases de datos deben proporcionar la fiabilidad de la informacin almacenada, a pesar de las cadas del sistema o los intentos de acceso sin autorizacin. Si los datos van a ser compartidos entre diversos usuarios, el sistema debe evitar posibles Fuente : Silberschatz (2002) Fundamentos de Base de Datos. resultados anmalos.
Apuntes Preparados por Ernesto Arce Pizarro 4
Abstraccin
Una herramienta para combatir la complejidad. La abstraccin consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompaan. En programacin, el trmino se refiere al nfasis en el "qu hace?" ms que en el "cmo lo hace?" (caracterstica de caja negra). El comn denominador en la evolucin de los lenguajes de programacin, desde los clsicos o imperativos hasta los orientados a objetos, ha sido el nivel de abstraccin del que cada uno de ellos hace uso.
Fuente: http://goo.gl/nqle7m. Consultado en marzo 2014.
Apuntes Preparados por Ernesto Arce Pizarro 6
Abstraccin
Abstraccin de Datos
Niveles
Nivel fsico:
El nivel ms bajo de abstraccin describe cmo se almacenan realmente los datos. En el nivel fsico se describen en detalle las estructuras de datos complejas de bajo nivel. Describe qu datos se almacenan en la base de datos y qu relaciones existen entre esos datos. La base de datos completa se describe as en trminos de un nmero pequeo de estructuras relativamente simples. Aunque la implementacin de estructuras simples en el nivel lgico puede involucrar estructuras complejas del nivel fsico, los usuarios del nivel lgico no necesitan preocuparse de esta complejidad. Los administradores de bases de datos, que deben decidir la informacin que se mantiene en la base de datos, usan el nivel lgico de abstraccin. El nivel ms alto de abstraccin describe slo parte de la base de datos completa. A pesar del uso de estructuras ms simples en el nivel lgico, queda algo de complejidad, debido a la variedad de informacin almacenada en una gran base de datos.
Fuente: Silberschatz (2002) Fundamentos de Base de Datos.
Apuntes Preparados por Ernesto Arce Pizarro 9
Nivel lgico:
Nivel de vistas:
Modelo de Datos
A database model is a type of data model that determines the logical structure of a database and fundamentally determines in which manner data can be stored, organized, and manipulated. Un modelo de datos es una coleccin de herramientas conceptuales para la descripcin de datos, relaciones entre datos, semntica de los datos y restricciones de consistencia.
Fuente: http://en.wikipedia.org/wiki/Database_model. Consultado en marzo 2014
10
Modelo de Datos
11
13
Modelo Relacional
El modelo relacional, para la gestin de una base de datos, es un modelo de datos basado en la lgica de predicados y en la teora de conjuntos. Su idea fundamental es el uso de relaciones. Estas podran considerarse en forma lgica como conjuntos de datos llamados tuplas. Si considera una relacin como si fuese una tabla que est compuesta por registros (cada fila de la tabla sera un registro o tupla), y columnas (tambin llamadas campos).
Fuente: http://goo.gl/vjiLNL. Consultado en marzo 2014.
Apuntes Preparados por Ernesto Arce Pizarro 15
Modelo Relacional
El modelo de datos relacional es el modelo de datos ms ampliamente usado, y una amplia mayora de sistemas de bases de datos actuales se basan en el modelo relacional. El modelo relacional se encuentra a un nivel de abstraccin inferior al modelo de datos E-R. Los diseos de bases de datos a menudo se realizan en el modelo E-R, y despus se traducen al modelo relacional.
Fuente: Silberschatz (2002) Fundamentos de Base de Datos.
Apuntes Preparados por Ernesto Arce Pizarro 16
Fuente: Silberschatz (2002) Fundamentos deArce Base de Datos. Apuntes Preparados por Ernesto Pizarro
17
LDD
La ejecucin de la instruccin LDD anterior crea la tabla cuenta. Adems, actualiza un conjunto especial de tablas denominado diccionario de datos o directorio de datos. Un diccionario de datos contiene metadatos, es decir, datos acerca de los datos.
Fuente: Silberschatz (2002) Fundamentos de Base de Datos.
Apuntes Preparados por Ernesto Arce Pizarro 20
DDL y DML
22
Conceptos
Un antecedente: creciente uso de los lenguajes de programacin orientado a objetos. Un objeto tiene dos componentes: Variable y Objeto
Estado (valor) Comportamiento (operaciones)
Tipo de datos / Variable Clase / Objeto (estructura de datos compleja: TDA + Operaciones)
Apuntes Preparados por Ernesto Arce Pizarro 24
Conceptos
Las bases de datos orientadas a objetos (BDOO) son aquellas cuyo modelo de datos est orientado a objetos y almacenan y recuperan objetos en los que se almacena estado y comportamiento. Su origen se debe a que en los modelos clsicos de datos existen problemas para representar cierta informacin, puesto que aunque permiten representar gran cantidad de datos, las operaciones que se pueden realizar con ellos son bastante simples.
Apuntes Preparados por Ernesto Arce Pizarro 25
Conceptos
Base de datos orientada a objetos (BDOO): una coleccin persistente y compatible de objetos definida por un modelo de datos orientado a objetos. Modelo de datos orientado a objetos: un modelo de datos que captura la semntica de los objetos soportados en la programacin orientada a objetos. Sistema Gestor de Bases de Datos Orientadas a Objetos (SGBDOO): el gestor de una base de datos orientada a objetos.
Apuntes Preparados por Ernesto Arce Pizarro 26
Elementos - Clase
Elementos - Herencia
Elementos - Polimorfismo
BDOO Los objetos en un LPOO slo existen durante la ejecucin del programa objetos transitorios. Las bases de datos orientado a objetos pueden extender la existencia de los objetos almacenndolos de manera permanente (objetos persistentes) Caractersticas claves: persistencia y comparticin.
33
BDOO El objetivo de las BDOO es mantener una correspondencia directa entre los objetos del mundo real y de la base de datos, de manera que los objetos no pierdan su integridad e identidad. Identidad de un objeto: los objetos tienen identidades nicas que son independientes de sus valores de atributo.
Apuntes Preparados por Ernesto Arce Pizarro 34
ODMG
ODMG es el acrnimo de Object Data Management Group. Se usa tanto para definir el grupo de personas y empresas encargadas de desarrollar el modelo de objetos para persistencia, as como para la definicin de dicho estndar. El modelo de objetos ODMG (Object Data Management Group) permite que los diseos OO y las implementaciones usando lenguajes OO sean portables entre los sistemas que lo soportan. El modelo de datos dispone de unas primitivas de modelado. Estas primitivas subyacen en la totalidad de los lenguajes orientados a objetos puros (Eifflel, Smalltalk, etc.) y en mayor o menor medida en los hbridos (Java, C++, etc.):
Apuntes Preparados por Ernesto Arce Pizarro 35
Esta interfaz ("bindings", enlazamientos), especifica como se debe hacer la programacin en C++ o Smalltalk de una aplicacin sobre una base de datos que ha sido declarada en ODL. La conexin es basada sobre la nocin de "puntero inteligente" que permite manejar los objetos persistentes como objetos ordinarios va punteros persistentes.
Fuente: Unidad III Modelo OO Sin autor.
Apuntes Preparados por Ernesto Arce Pizarro 38
ODL Example
category name Product price
name
Person
address
ssn
ODL Declaraciones
Interface Product { attribute string name; attribute float price; attribute enum Categories {electronics, communications, sports } category Interface Company { attribute string name; attribute float stockprice;
Interface Person { attribute integer ssn; attribute string name; attribute Struct Address {string street, string city} address; }
ODL Ejemplo
category name Product madeBy buys Company name Person worksFor name address ssn stockprice price
ODL Declaraciones
Interface Product { attribute string name; attribute float price; attribute enum Categories {electronics, communications, sports } category; relationship <Company> madeBy; } Interface Person { attribute integer ssn; attribute string name; attribute Struct Address {string street, string city} address; relationship set <Product> buys; relationship set <Company> worksFor;}
Object Query Languaje OQL is the object-oriented query standard. It uses ODL as its schema definition language. Types in OQL are like ODLs. Set(Struct) and Bag(Struct) play the role of relations.
44
Path Expressions
1. If a is an attribute of C, then x.a is the value of that attribute. 2. If r is a relationship of C, then x.r is the value to which x is connected by r. Could be an object or a set of objects, depending on the type of r. 3. If m is a method of C, then x.m () is the result of applying m to x.
45
Ejemplo de OQL
46
Fuentes de Informacin
http://viale.mx/herramienta-para-hacer-pruebas-y-ejercicios-de-sentenciassql-en-lnea/ http://www.sqlcourse.com/create.html
47