modelo de datos - ubiobio.clclrubio/sql2014/modelo_datos_2014.pdf · 2002-03-23 · 28 juan 1.78...

Post on 06-Aug-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Modelo de Datos

SQLSQLSQLSQL es un lenguajelenguajelenguajelenguaje dededede definicióndefinicióndefinicióndefinición yyyy manipulaciónmanipulaciónmanipulaciónmanipulación dededede datosdatosdatosdatos que trabajasobre basebasebasebase dededede datosdatosdatosdatos relacionalesrelacionalesrelacionalesrelacionales. Por tanto, es fundamental conocer lateoría que subyace a éstas, con el objetivo de obtener el mejoraprovechamiento de un curso de SQL.

Los primeros conceptos que debemos conocer : datos,datos,datos,datos, basebasebasebase datos,datos,datos,datos,informática,informática,informática,informática, modelo,modelo,modelo,modelo, modelomodelomodelomodelo dededede datos,datos,datos,datos, esquema,esquema,esquema,esquema, ejemplarejemplarejemplarejemplar....

Contenido

• Definiciones previas: Definiciones previas: Definiciones previas: Definiciones previas: informática, datos, base de datos, modelo de datos, esquema.

• Arquitectura ANSIArquitectura ANSIArquitectura ANSIArquitectura ANSI.• Abstracción: Abstracción: Abstracción: Abstracción: Clasificación, Agregación, Generalización, Asociación.

• Definición formal de MD Definición formal de MD Definición formal de MD Definición formal de MD y propiedades.• Bibliografía.

Informática• Conjunto de conocimientosconocimientosconocimientosconocimientos científicoscientíficoscientíficoscientíficos yyyytécnicastécnicastécnicastécnicas que hace posible el tratamientotratamientotratamientotratamientoautomáticoautomáticoautomáticoautomático dededede lalalala informacióninformacióninformacióninformación por mediocomputadorescomputadorescomputadorescomputadores.

• Un computadorcomputadorcomputadorcomputador es un dispositivodispositivodispositivodispositivoelectrónicoelectrónicoelectrónicoelectrónico.

¿Por qué el computadorha sido la máquinamás importante creadapor el hombre?

Datos y Base de Datos

• DatoDatoDatoDato:::: información dispuesta de maneraadecuada para su tratamiento por uncomputador.

• BaseBaseBaseBase dededede DatosDatosDatosDatos:::: conjunto de datos organizado detal modo que permita obtener con rapidezdiversos tipos de información.

• AlmacenesAlmacenesAlmacenesAlmacenes dededede DatosDatosDatosDatos (Data warehouse):conjunto de información almacenada endiferentes bases de datos u otras fuentes deinformación de tal modo que permita obtenercon rapidez diversos tipos de conocimiento conel objetivo de tomar decisiones.

Modelo de datos

Datos almacenados físicamente

(secuencia de ceros y unos), organizados y

estructurados

Modelo teórico sobre base de datos

Modelo de datos• En el diseño, gestión y utilización de Base de Datos,como en cualquier otra actividad científica otecnológica, es fundamentalfundamentalfundamentalfundamental trabajartrabajartrabajartrabajar conconconcon conceptosconceptosconceptosconceptosbasadosbasadosbasadosbasados enenenen unununun ciertociertociertocierto modelomodelomodelomodelo teóricoteóricoteóricoteórico oooo conceptualconceptualconceptualconceptual....

• En este tema se presentan los principalesprincipalesprincipalesprincipales conceptosconceptosconceptosconceptosdededede modelomodelomodelomodelo dededede datosdatosdatosdatos: esquemas,esquemas,esquemas,esquemas, objetos,objetos,objetos,objetos,propiedades,propiedades,propiedades,propiedades, asociaciones,asociaciones,asociaciones,asociaciones, operaciones,operaciones,operaciones,operaciones,restricciones,restricciones,restricciones,restricciones, etcetcetcetc....

• También se realiza una clasificación de los diversostipos de modelos de datos existentes y se estudianlos principales mecanismos de abstracción utilizadosen esta área.

• Este modelo de datos es fundamental para obtenerun buen manejo en el lenguaje SQL.

Modelo

• Construcción mental Construcción mental Construcción mental Construcción mental a partir de la realidad en la que se reproducen los principales componentes principales componentes principales componentes principales componentes y relaciones del segmento de la realidad segmento de la realidad segmento de la realidad segmento de la realidad analizada.

• Dos acepciones:– Reproducción simplificada de la realidad (ciencias empíricas).

– Realidad propiamente dicha (pintor).

Modelo de Datos

• <<Conjunto de conceptos y reglas conceptos y reglas conceptos y reglas conceptos y reglas que permiten describir y manipular describir y manipular describir y manipular describir y manipular los datos datos datos datos de la parcela de un cierto mundo real parcela de un cierto mundo real parcela de un cierto mundo real parcela de un cierto mundo real que deseamos almacenar en la base de almacenar en la base de almacenar en la base de almacenar en la base de datosdatosdatosdatos>> de Miguel, Piattini, Marcos (1999).

¿Cómo se almacena en el cerebro?, ¿Por qué recordamos una persona?

EdadEdadEdadEdad, Nombre, Altura, Color de pelo, Nacimiento

[0[0[0[0----150], 150], 150], 150], Conjunto de caracteres, [1.0-3.0], {castaño, moreno}, 02-10-82

01000101010100101001010101010101

intintintint, byte, short, char, double, float, double

Ejemplo:

Edad Nombre Altura Color pelo Nacimiento

28 Juan 1.78 Azul 04-06-02

PersonaPersonaPersonaPersona

SQL = modelo de datos relacional +

sintaxis

(Los datos se almacenan en tablas, las relacionan con otras tablas a través de punteros)

(Se requiere de una sintaxis para crear las tablas, las columnas, sus dominios, los valores, las relaciones entre las tablas, etc)

Esquema• <<Representación<<Representación<<Representación<<Representación dededede unununun determinadodeterminadodeterminadodeterminado mundomundomundomundo realrealrealreal (universo(universo(universo(universo

deldeldeldel discurso)discurso)discurso)discurso) enenenen términostérminostérminostérminos dededede unununun modelomodelomodelomodelo dededede datos>>datos>>datos>>datos>>....• Tengo un modelo de datos como herramienta conceptual y

la aplica para representar una determinado dominio (porcióndel mundo real).

MUNDO REAL

MODELO DE DATOS

ESTRUCTURA DE DATOS (ESQUEMA)

La descripción de un cierto mundo real por medio de un modelo de datos da como resultado un esquema

EJEMPLO: La construcción de un puente (esquema) requiere de un unas herramientas (modelo de datos).

Ejemplo“Autor escribe libros”REALIDAD

AUTOR ( Nombre , Nacionalidad , Institución , … )

LIBRO ( Código , Título , Idioma , Editorial , … )

ESCRIBE ( Nombre , Cod_Libro )

Nombre Nacionalidad Institución

N1 P1 I1

N2 P2 I1

N3 P1 I1

Código Título Idioma

1 T1 esp

2 T2 esp

3 T2 ing

Escribe Libro

N1 1

N1 2

N1 3

ESQUEMA

EJEMPLARES

Arquitectura ANSI• Según el nivel de abstracción que consideremosen la arquitectura ANSI, tendremos modelosinternos, globales y externos

• Modelos de datos:– ExternoExternoExternoExterno:::: punto de vista de cada usuario enparticular.

– GlobalGlobalGlobalGlobal:::: punto de vista del conjunto de usuarios(empresa).

– InternoInternoInternoInterno:::: punto de vista de la máquina.

(*) También se utiliza la expresión modelosmodelosmodelosmodelos lógicoslógicoslógicoslógicospara hacer referencia tanto a los globales como alos externos, ya que ambos describen aspectoslógicos de los datos –frente a los modelos internosque describen aspectos físicos-

Abstracción

• El proceso de abstracción nos ayuda amodelar los datos al hacer que noscentremos en lo esencial, pasando por altoaspectos que no consideramos relevantespara nuestros objetivos en larepresentación del mundo real.

• EjemploEjemploEjemploEjemplo:::: el concepto de ambulancia comouna abstracción en la que únicamenterecogemos aquellas características (chasis,ruedas, sirena, etc), comunes a todas lasambulancias y que distinguen de otrosvehículos, que son de interés para otrosfines.

• Los modelosmodelosmodelosmodelos dededede datosdatosdatosdatos ofrecen distintosmecanismosmecanismosmecanismosmecanismos dededede abstracciónabstracciónabstracciónabstracción a fin de facilitarla representación de los datos; siendo elesquema el resultado de aplicar un procesode abstracción a un determinado mundoreal.

• Los principales que aparecen en labibliografía son: Clasificación,Clasificación,Clasificación,Clasificación, Agregación,Agregación,Agregación,Agregación,Generalización,Generalización,Generalización,Generalización, AsociaciónAsociaciónAsociaciónAsociación....

• PuedenPuedenPuedenPueden combinarsecombinarsecombinarsecombinarse entre sí ofreciendointeresantes mecanismos semánticos paraestructurar los datos.

• PermitenPermitenPermitenPermiten establecerestablecerestablecerestablecer vinculacionesvinculacionesvinculacionesvinculaciones entre loselementos de un modelo.

• La clasificaciónclasificaciónclasificaciónclasificación establece una vinculaciónvinculaciónvinculaciónvinculación entreentreentreentreunaunaunauna categoríacategoríacategoríacategoría dededede objetosobjetosobjetosobjetos yyyy cadacadacadacada objetoobjetoobjetoobjeto enenenenparticularparticularparticularparticular (ejemplar) que pertenece a dichacategoría, mientras las otras tres (agregación,generalización y asociación) la relación seestablece entre categorías de objetos y, portanto, también entre los correspondientesejemplares de dichas categorías.

• Los mecanismos de abstracción los utilizamos –consciente o inconscientemente – de maneracontinua: “el vehículo CR-0978-Z es de la claseambulancia y está formada por cuatro ruedas,un chasis, un motor, … una ambulancia es unvehículo para recoger y transportar enfermos,su conductor es la empresa CUARES, suconductor es Juan Fernández”

• Los mecanismos de abstracción los utilizamos – consciente o inconscientemente- de manera continua:– Clasificación:Clasificación:Clasificación:Clasificación: el vehículo de matrícula CR-0978-Z es de la clase ambulancia.

– Agregación: Agregación: Agregación: Agregación: está formada por cuatro ruedas, un chasis, un motor, …

– Generalización:Generalización:Generalización:Generalización: una ambulancia es un vehículo para recoger y transportar enfermos

– Asociación:Asociación:Asociación:Asociación: su propietario es la empresa CUASER, su conductor es Juan Fernández

Clasificación

• La clasificación es la acción de abstraer las características comunes a un conjunto de ejemplares para crear una categoría a la cual pertenecen dichos ejemplares.

• Ejemplo: vehículo máquinas, animales o casas, medidas de propulsión propios– Ambulancia: si– Grúa: no, incumple la propiedad de propulsión.

• La clasificación se corresponde con el concepto de pertenencia a un conjunto (es miembro de): en el elemento clase y los elementos miembros se estable una relación ES_MIEMBRO_DE

• Los ejemplares de una clase tienen características similares, por medio de las cuales describimos la correspondiente clase; estas características toman valores concretos para cada uno de los ejemplares que pertenecen a la clase

• Los mismos objetos admiten clasificaciones distintas. Por ejemplo, podemos clasificar las asignaturas de varias maneras: obligatorias/optativas; anuales/semestrales; de primer curso/segundo curso; teóricos/aplicadas.

Agregación

• La abstracción de agregación consiste en construir un nuevo elemento del modelo como compuesto de otros elementos (componentes). Se establece una relación ES_PARTE_DE entre los elementos componentes y el elemento compuesto.

• El mecanismo contrario se llama Desagregación.

DEPARTAMENTO

ÁREA 1 ÁREA 2 ÁREA N

Departamento de Informática

Lenguajes y Sistemas de Información

Ciencias de la Computación e

Inteligencia Artificial

ESQUEMA

EJEMPLAR

Generalización• La generalización es la acción de abstraer las características comunes a

varias clases (subclases) para construir una clase más general(superclase) que las comprenda:

– El conjunto de ejemplares de una subclase “es un” subconjunto de los ejemplaresde la correspondiente superclase.

– Entre los elementos subclase y el elemento superclase se establece una relación deltipo ES_UN.

– Ejemplo: la superclase PERSONA es una generalización de las subclasesPROFESOR y ESTUDIANTE.

• Cada generalización es un árbol (jerarquía) de solo nivel, donde la raíz esla superclase y las hojas son las subclases.

• El mecanismo inverso de la generalización es la Especialización.• Es un proceso parecido a la clasificación, pero mientras en ésta se pasa

de los ejemplares a la clase, en la otra se pasa de una clase a otra clase.• Todo ejemplar de una subclase es también ejemplar de la superclase y,

además de poseer las características específicas de la subclase, heredatodas las correspondientes a la superclase.

• Aunque esta abstracción es muy intuitiva y muy útil, no se contempla enbastantes modelos de datos (p.e. Relacional).

PERSONA

PROFESOR ALUMNO ADMINISTRATIVO

Asociación

• La Asociación es una abstracción que se utiliza para relacionar dos o más clases (y, por tanto sus ejemplares), creándose un elemento de un tipo distinto.

• En algunos MD no aparece esta abstracción como tal, no existiendo ningún concepto especial para representarla (p.e. relacional)

• El mecanismo inverso es la DisociaciónDisociaciónDisociaciónDisociaciónPROFESOR -----IMPARTE---� CURSO

Definición formal MD• Aunque existen muchos MD es posible abstraer una serie

de características comunes a todos ellos, definiendo así elconcepto de modelo de datos en general.

• Podemos ya definir de forma más precisa el concepto deMD como: “un“un“un“un conjuntoconjuntoconjuntoconjunto dededede conceptos,conceptos,conceptos,conceptos, reglasreglasreglasreglas yyyyconvencionesconvencionesconvencionesconvenciones bienbienbienbien definidosdefinidosdefinidosdefinidos quequequeque nosnosnosnos permitenpermitenpermitenpermiten aplicaraplicaraplicaraplicar unaunaunaunaserieserieserieserie dededede abstraccionesabstraccionesabstraccionesabstracciones aaaa finfinfinfin dededede describirdescribirdescribirdescribir yyyy manipularmanipularmanipularmanipular loslosloslosdatosdatosdatosdatos dededede unununun ciertociertociertocierto mundomundomundomundo realrealrealreal quequequeque deseamosdeseamosdeseamosdeseamos almacenaralmacenaralmacenaralmacenar enenenenlalalala basebasebasebase dededede datos”datos”datos”datos”....

• Los MD facilitan la creación de categorías mediante laaplicación de los tipos de abstracción anteriormenteconsiderados. Esto lleva a diferenciar dos tipos de modelos(de forma similar a como ocurre con los lenguajes deprogramación):– Fuertemente tipados, (son los utilizados en BD).– Débilmente tipados.

Propiedades de un Modelo de Datos

• ESTÁTICAS.– ELEMENTOS PERMITIDOS:

• OBJETOS.• ASOCIACIONES.• CARACTERISTICAS DE LOS OBJETOS.• DOMINIOS.

• DINAMICAS (Conjunto de operadores). Cada operador tiene dos componentes:– LOCALIZACIÓN.– ACCIÓN.

• Un MDMDMDMD de datos ha de proporcionarproporcionarproporcionarproporcionarfacilidadesfacilidadesfacilidadesfacilidades para recogerrecogerrecogerrecoger loslosloslos aspectosaspectosaspectosaspectosestáticosestáticosestáticosestáticos yyyy dinámicosdinámicosdinámicosdinámicos de la realidad, por loque define formalmente como el par:

• La componente estática de un determinadoMD expresado con una sintaxisdeterminada es el LenguajeLenguajeLenguajeLenguaje dededede DefiniciónDefiniciónDefiniciónDefinicióndededede DatosDatosDatosDatos (LDD)(LDD)(LDD)(LDD), y la componente dinámicael LenguajeLenguajeLenguajeLenguaje ManipulaciónManipulaciónManipulaciónManipulación dededede DatosDatosDatosDatos (LMD)(LMD)(LMD)(LMD),ambos constituyen el Lenguaje de Datos(LD).

• Los SGBDSGBDSGBDSGBD suelen tener un LenguajeLenguajeLenguajeLenguaje dedededeConsultaConsultaConsultaConsulta (en inglés Query Language –QL-) yun LenguajeLenguajeLenguajeLenguaje dededede ControlControlControlControl (en inglés ControlLanguage)

• Los elementos permitidos no son los mismos paratodos los MD (varían especialmente enterminología), pero en general son:– ObjetosObjetosObjetosObjetos (entidades, relaciones, registros, etc).

– AsociacionesAsociacionesAsociacionesAsociaciones entre objetos (interrelaciones, “set”, etc).

– PropiedadesPropiedadesPropiedadesPropiedades o características de los objetos oasociaciones (atributos, campos, elementos de datos,etc).

– DominiosDominiosDominiosDominios, que son conjuntos nominados de valoreshomogéneos sobre los que se definen las propiedades.

• A estos elementos permitidos se les podrán aplicaraquellas abstracciones reconocidas por el modelo.

• La representación de estos elementos depende decada modelo de datos, pudiendo hacerse en formade grafos (E/R, UML) o de tablas (Relacional)

Bibliografía

• Estos apuntes se realizaron tomandolos apuntes de la asignatura de Basede Datos impartida por el profesorPaco Ruíz de la Universidad deCastilla-La Mancha (España).

top related