01-Bases de datos no espaciales -...
Transcript of 01-Bases de datos no espaciales -...
1
Bases de datos no espacialesBases de datos no espaciales
•• Las bases de datos.Las bases de datos.
•• Los modelos de datos.Los modelos de datos.
Bases de datos no espacialesBases de datos no espaciales
•• Datos espaciales contra los no Datos espaciales contra los no espaciales.espaciales.
•• La base de datos.La base de datos.
•• El depEl depóósito.sito.
Datos espaciales contra los Datos espaciales contra los
no espacialesno espaciales
• Los datos espaciales incluyen la
localización, la forma, el tamaño y la
orientación.
• Los datos espaciales incluyen las relaciones
espaciales. (Por ejemplo: el arreglo de los pines
del bowling son datos espaciales)
Datos espaciales contra los no Datos espaciales contra los no
espacialesespaciales
• Los datos no espaciales son llamados también atributos.
• Constituyen la información independiente de toda consideración geométrica. (altura de
un árbol)
• Los datos espaciales generalmente son multidimensionales y autocorrelacionados.
• Los no espaciales generalmente son unidimensionales e independientes.
Datos espaciales contra los no Datos espaciales contra los no
espacialesespaciales
Campos filosóficos en conceptualización,
procesamiento y almacenamiento.
•Quizá el almacenamiento es el proceso no
espacial realizado más comúnmente.
•No es obvio cómo ordenar los datos de
ubicación tales como los puntos y sus vecinos
más cercanos.
Bases de datos no espacialesBases de datos no espaciales
•• Datos espaciales contra los no Datos espaciales contra los no espaciales.espaciales.
•• La base de datos.La base de datos.
•• El depEl depóósito.sito.
2
Las Bases de datos Las Bases de datos
•• La base de datos es una colecciLa base de datos es una coleccióón n
de hechos.de hechos.
•• La La informaciinformacióónn en una guen una guíía a
teleftelefóónica es el ejemplo de una nica es el ejemplo de una
base de datos.base de datos.
La guLa guíía telefa telefóónicanica
• Preste atención al hecho de que el libro
en sí no es la base de datos.
• En cambio, la base de datos es la
información almacenada en las páginas
del libro, no las hojas de papel con tinta
en ellas.
Bases de datos no espacialesBases de datos no espaciales
•• Datos espaciales contra los no Datos espaciales contra los no espaciales.espaciales.
•• La base de datos.La base de datos.
•• El depEl depóósito.sito.
El depEl depóósito.sito.
• Es la estructura que almacena y protege los
datos.
• Proveen funcionalidad para: añadir (insertar
datos), recuperar (encontrar, seleccionar) y
borrar datos del depósito.
• Los depósitos son como cajas fuertes. Su
existencia principalmente protege su
contenido de robo o destrucción accidental.
Los modelos de datos mLos modelos de datos máás s
comunescomunes
••Modelo EntidadModelo Entidad--RelaciRelacióón ER.n ER.
••Modelo Relacional.Modelo Relacional.
••Modelo Orientado a Objetos.Modelo Orientado a Objetos.
••Resumen.Resumen.
Modelo EntidadModelo Entidad--RelaciRelacióón ER.n ER.
• Visualiza al mundo compuesto por
entidades que están asociadas entre sí por
las relaciones.
• Se pueden representar gráficamente
mediante un diagrama ER.
3
Modelo EntidadModelo Entidad--RelaciRelacióón ER.n ER.
Las entidadesLas entidades
•• Son cosas distinguibles del mundo real, Son cosas distinguibles del mundo real,
como empleados, mapas, aeroplanos, como empleados, mapas, aeroplanos,
paradas de bus, etc.paradas de bus, etc.
DistinguibleDistinguible: Pueden identificarse de una en : Pueden identificarse de una en
una.una.
Las entidades presentan atributos comunes.Las entidades presentan atributos comunes.
Modelo EntidadModelo Entidad--RelaciRelacióón ER.n ER.
Las entidadesLas entidades
No se puede representar todo objeto del No se puede representar todo objeto del
mundo real como un solo tipo de entidad.mundo real como un solo tipo de entidad.
••Varias personas pueden concebir un objeto del Varias personas pueden concebir un objeto del
mundo real con atributos diferentes que son de su mundo real con atributos diferentes que son de su
interinteréés.s.
••Como resultado, el mismo objeto puede ser Como resultado, el mismo objeto puede ser
modelado de forma diferente.modelado de forma diferente.
Modelo EntidadModelo Entidad--RelaciRelacióón ER.n ER.
Diagramas ER
• Las entidades son representadas por
rectángulos.
• Los atributos son representados por elipses,
atadas a los rectángulos por líneas.
Modelo EntidadModelo Entidad--RelaciRelacióón ER.n ER.
Relaciones
Son una lista de grupos de entidades.
En los diagramas ER se distinguen por un
rombo con líneas que los conectan con
grupos de entidades.
Modelo EntidadModelo Entidad--RelaciRelacióón ER.n ER.Deficiencias del modelo EntidadDeficiencias del modelo Entidad--RelaciRelacióón ER.n ER.
• Carece de formalismo matemático, por lo
tanto es usado para conceptualización en
general en lugar de la creación de
modelos físicos.
• Algunos autores no presentan el modelo
ER como modelo de datos.
• Es común presentar un diseño conceptual
en el modelo ER.y luego es “traducido”
en otro modelo para implementarlo.
4
Los modelos de datos mLos modelos de datos máás s
comunescomunes
••Modelo EntidadModelo Entidad--RelaciRelacióón ER.n ER.
••Modelo Relacional.Modelo Relacional.
••Modelo Orientado a Objetos.Modelo Orientado a Objetos.
••Resumen.Resumen.
Modelo RelacionalModelo Relacional
Se basa en los sistemas de manejo de bases de
datos (SMBD/DBMS) que asumen que la
relación es un grupo de tuplas.
• Tupla: una serie de hechos que están
relacionados entre sí de alguna forma.
• Cada hecho en una tupla es un dato que
proviene de un dominio específico.
Modelo RelacionalModelo Relacional
La Relación son el conjunto de tuplas.
• Como las tuplas son grupos de valores y la
relación conjunto de tuplas, las relaciones
son grupos de grupos.
1.Una fila es un conjunto de registros.
2.Una tabla es una lista de columnas.
3.Una relación es un conjunto de tuplas.
Modelo RelacionalModelo Relacional
Las Relaciones se representan comúnmente
por medio de tablas.
• Las tablas no son relaciones, porque estas no
pueden tener tuplas duplicadas. Las tablas
no tienen esa estructura.
• Casi todos los SMBD violan este principio:
permiten tuplas duplicadas.
Modelo RelacionalModelo Relacional
El uso del modelo relacional es más aparente
cuando decimos que tenemos una relación,
digamos un carta topográfica con los campos
(nombre, código de zona, centro productor)
1.Ocurre que la antigua Cartografía Nacional
tiene una carta llamada Mérida en UTM zona
19.
2. Al estar en una tupla, indicamos que está en
nuestro poder.
Modelo Relacional Modelo Relacional ((TuplasTuplas, relaciones y claves), relaciones y claves)
• Las relaciones son conjuntos de tuplas, en
consecuencia, no se permiten dos tuplas
idénticas componiendo una relación.
• Todas las tuplas en una relación se
distinguen por los valores de sus atributos.
• Cada grupo de atributos con valores que lo
identifiquen en forma única se dice que es
una clave.
5
Modelo Relacional Modelo Relacional ((TuplasTuplas, relaciones y claves), relaciones y claves)
• Los diseñadores escogen algunos atributos
como claves en sus relaciones de las bases
de datos.
– Esta es conocida como la clave primaria.
• Si la clave primaria de una tabla aparece
como atributo de una relación diferente, esta
clave se conoce como clave secundaria.
Modelo Relacional Modelo Relacional ((TuplasTuplas, relaciones y claves), relaciones y claves)
• Una clave identifica únicamente su tupla.
De esta forma se usa la clave para referirse a
toda la tupla.
• Relacionando: no es una sorpresa que el
modelo relacional represente con relaciones
la forma de relacionar.
• Del diagra ER anterior podemos ver las
relaciones de la siguiente forma:
Modelo Relacional Modelo Relacional ((TuplasTuplas, relaciones y claves), relaciones y claves)
• Los atributos clave están en negrita.
Modelo Relacional Modelo Relacional ((TuplasTuplas, relaciones y claves), relaciones y claves)
La agregación de relaciones puede ser
• Uno a uno.
• Uno a muchos.
• Muchos a muchos.
Modelo Relacional Modelo Relacional (Lenguajes)(Lenguajes)
En 1971 Codd inventó dos lenguajes para
trabajar con relaciones:
• El álgebra relacional y
• El cálculo relacional.
Modelo Relacional Modelo Relacional (Lenguajes)(Lenguajes)
El álgebra relacional
• Una notación algebraica que expresa las
consultas aplicando operadores a las
relaciones.
El cálculo relacional.
• Una notación lógica, donde las consultas se
expresan escribiendo fórmulas lógicas que
deben satisfacer las tuplas.
6
Modelo Relacional Modelo Relacional (Lenguajes)(Lenguajes)
SQL: Structured Query Language
• A pesar de su reputación como un lenguaje
relacional, el SQL no soporta totalmente el
modelo relacional (incluye cosas que no
están en el modelo y excluye otras que si
están).
Modelo Relacional Modelo Relacional (Ventajas)(Ventajas)
• Es verdaderamente matemático. Se puede usar sus fundamentos sólidos para
– Compilar, ejecutar y optimizar consultas automáticamente en lenguajes de consultas sin necesidad de reordenar o programar.
– Concretar: la semántica del álgebra relacional suena completa.
– Predecir: la semántica consistente permite a los usuarios predecir con facilidad los resultados de una consulta.
Modelo Relacional Modelo Relacional (Ventajas)(Ventajas)
• Adaptabilidad: al realizar un cambio en la
estructura de tablas en otros modelos, se
requiere hacer cambios para todas las
consultas programadas. (modelos
inflexibles)
• Múltiples vistas: Es estable para presentar
vistas a diferentes grupos de usuarios con la
misma base de datos.
Modelo Relacional Modelo Relacional (Ventajas)(Ventajas)
• Concurrencia: Existe toda una teoría de
control de concurrencia de transacciones, la
cual depende de los formalismos teóricos
del modelo relacional.
• La teoría garantiza el funcionamiento
correcto de las consultas.
Los modelos de datos mLos modelos de datos máás s
comunescomunes
••Modelo EntidadModelo Entidad--RelaciRelacióón ER.n ER.
••Modelo Relacional.Modelo Relacional.
••Modelo Orientado a Objetos.Modelo Orientado a Objetos.
••Resumen.Resumen.
Modelo Orientado a objetos (OO)Modelo Orientado a objetos (OO)
¿Qué es el modeo OO?
• La palabra objeto es similar al significado de entidad en el modelo ER, excepto que el objeto es más general.
• Es mejor tomar el objeto en el espíritu del mundo físico.
• Todos los objetos son diferentes, se distinguen por un atributo distintivo: el ID del objeto.
7
Modelo Orientado a objetos (OO)Modelo Orientado a objetos (OO)
¿Qué es el modeo OO?
• Como en otros modelos, asume que se
pueden agrupar conceptualmente los objetos
en grupos con algún significado. Los
grupos se llaman clases.
• Los grupos de objetos tienen significado
debido a que en la misma clase tienen
atributos, comportamientos y relaciones
comunes.
Modelo Orientado a objetos (OO)Modelo Orientado a objetos (OO)
¿Qué es el modeo OO?
• Las clases son netamente conceptuales, no tienen objetos dentro.
• Como en otros modelos, las relaciones entre objetos se especifican por medio de un enlace físico (puntero) entre objetos.
• Este modelo describe la estructura de los objetos en el sistema – su identidad, relaicones con otros objetos, sus atributos y sus operaciones.
Modelo Orientado a objetos (OO)Modelo Orientado a objetos (OO)
Características escenciales de los objetos
• Identidad
• Encapsulación
• Estado complejo.
• Extensibilidad de tipo y
• Generalidad.
Modelo Orientado a objetos (OO)Modelo Orientado a objetos (OO)
Identidad de los objetos
• Es la habilidad del sistema para distinguir
entre dos objetos diferentes que tienen el
mismo estado.
• El estado de un objeto se puede compartir
con otros objetos por medio de la identidad.
Modelo Orientado a objetos (OO)Modelo Orientado a objetos (OO)
Encapsulación de los objetos
• Es un tipo de abstracción que fuerza una
separación clara entre la interfaz externa
(comportamiento) de un objeto y su
implementación interna.
• Requiere que todos los accesos o interacciones con
los objetos sean realizadas invocando servicios
provistos por la interfaz externa.
Modelo Orientado a objetos (OO)Modelo Orientado a objetos (OO)
Encapsulación de los objetos
• No existe interacción con el objeto a menos que se realice por medio de una interfaz pública.
• Los objetos manipulan su propio estado. La definición de clases incluye el comportamiento del objeto manifestados como funciones y procedimientos.
• El estado de un objeto no puede ser manipulado por nada externo a el. (al menos no sin permiso)
8
Modelo Orientado a objetos (OO)Modelo Orientado a objetos (OO)
Comparación con el modelo relacional
• El modelo OO permite objetos complejos en el dominio de los atributos. (prohibido en el modelo relacional)
• El único tipo complejo en el modelo relacional es la relación. (las relaciones pueden ser objetos, pero no todos los objetos pueden ser relaciones)
• El modelo relacional no permite tuplas duplicadas y consecuentemente, las entidades están definidas por los valores de sus atributos.
Modelo Orientado a objetos (OO)Modelo Orientado a objetos (OO)
Comparación con el modelo relacional
• El modelo OO asume la existencia del ID de objeto, el cual identifica únicamente su objeto y posibilita hacerlo invisible al usuario.
• Los objetos son instancias de las clases y las clases constituyen el sistema de tipos del modelo.
– En el modelo relacional no hay tipos con el nivel “Clase” todo es una relación.
– El modelo relacional soporta dominios definidos por el usuario, las clases sólo el tipo.
Modelo Orientado a objetos (OO)Modelo Orientado a objetos (OO)
Comparación con el modelo relacional
• No existe una aceptación general al modelo formal de objeto.
– El modelo relacional está bién definido, suena y es completo.
• Las relaciones contienen todas las tuplas. No existe un equivalente para los objetos. No existe una definición de algo que contenga todos los objetos de una clase.
Modelo Orientado a objetos (OO)Modelo Orientado a objetos (OO)
Comparación con el modelo relacional
• Existen muchos lenguajes de programación de alto
nivel para el modelo relacional. Existen muy
pocos equivalentes para el modelo OO. (Ej:
UniSQL)
• El modelo OO es usado más por programadores
que por usuarios. Lo contrario ocurre con el
relacional.
Los modelos de datos mLos modelos de datos máás s
comunescomunes
••Modelo EntidadModelo Entidad--RelaciRelacióón ER.n ER.
••Modelo Relacional.Modelo Relacional.
••ModeloModelo Orientado a Objetos.Orientado a Objetos.
••ResumenResumen..
Bases de datos no espaciales Bases de datos no espaciales
ResumenResumen• Un SMBD permite el almacenamiento,
recuperación, eliminación y análisis de grandes cantidades de datos.
• Un SMBD provee seguridad y prevención de pérdida accidental de los datos.
Los modelos de datos más comunes son:
• Entidad Relación (ER)
• Relacional.
• Orientado a Objetos.
9
Bases de datos no espaciales Bases de datos no espaciales
ResumenResumen
• Entidad Relación (ER)
– Las cosas del mundo real se modelan como entidades.
– Todas las entidades del mismo tipo se agrupan en conjuntos de entidades.
– Las relaciones entre entidades se llaman relaciones.
• Relacional.
– Su único tipo de datos complejo es la relación.
Bases de datos no espaciales Bases de datos no espaciales
ResumenResumen
• Relacional.
– Es el único modelo de datos completo.
– Es diseñado para usuarios en lugar de
programadores.
– Los lenguajes de consulta relacional son fáciles
de usar y de desarrollar programas.
– La teoría subyacente es muy rica.
– Se separa la implementación del diseño.
Bases de datos no espaciales Bases de datos no espaciales
ResumenResumen
• Orientado a objetos
– Es una extensión de la programación por
orientación a objetos.
– Generalmente no está de acuerdo con el modelo
de datos formales.
– Gran libertad sin importar la complejidad.
– Inherencia.
– Tipos definidos por el usuario.
– Encapsulamiento.
ReferenciasReferencias
• Meyer, Thomas. 1997. Non-spatial database
models. NCGIA Core curriculum in
GIScience.
http://www.ngcia.ucsb.edu/giscc/units/u0
45/u045.html
• Codd, E. 1970. A relational model of data
for large shared data banks. Comm. ACM
13:6.
ReferenciasReferencias
• Codd, E. 1971. A database sublenguage
founded on relational calculous. In Proc.
1971 ACM SIGFIDET Workshop (San
Diego, Nov. Pp 11-12).