MF1215_3 Creación y
mantenimiento de componentes software en sistemas de
planificación de recursos
empresariales y de gestión de relaciones con clientes
UF1888: Operaciones de
mantenimiento y consulta de datos
Contenidos
1. Modelos de datos en sistemas ERP-CRM
–Modelos de datos tipos y características.
–Características del modelo de datos.
–Definición del modelo de datos.
–Modelo relacional, definición de mecanismos que aseguren la integridad referencial.
–Definición de tablas.
–Conexión entre tablas.
2. Diseño de datos.
–Definición de objetos y estructuras de datos, características.
–Definición de los elementos que componen el diseño de la base de datos.
–Definición de relaciones entre los elementos.
–Creación, modificación y borrado de objetos y estructuras de datos.
–Mantenimiento de la base de datos.
–Realización de operaciones entre tablas que garanticen la creación,
modificación y borrado de registros entre las tablas definidas en el modelo.
Contenidos
3.Definición de tipos de datos.
–Definición, tipos de datos y características semánticas.
–Definición de tipos de datos que se utilizarán en el modelo de datos.
–Definición de constantes y variables en el modelo de datos.
–Extensión del modelo de datos en sistemas ERP y CRM.
–Definición de tablas en el sistema.
–Definición de campos en las tablas configuradas, establecer claves primarias e índices de ordenación.
–Definición de las relaciones entre las tablas configuradas.
4. Diccionario de datos en sistemas ERP-CRM
–Objetos del diccionario de datos.
–Funcionalidades del lenguaje de programación establecido.
–Definición de librerías, clases y métodos del lenguaje de programación.
–Herramientas para la creación y el mantenimiento del diccionario de datos.
–Definición de herramientas de documentación
Contenidos
5. Diseños de pantalla
–Definición de pantallas de recogida de datos.
–Herramientas para el diseño de tablas y mantenimientos –Configuración de pantallas de entrada de datos
–Herramientas de creación de mantenimientos.
–Configuración de herramientas para crear tablas de datos.
6. Operaciones de consulta
–Herramientas de búsqueda ágiles para el usuario
–Definición de las funcionalidades de los protocolos de consulta –Configuración de pantallas de búsqueda
–Establecimiento criterios de búsqueda para cadenas o números
Contenidos
7.Formularios e informes en sistemas ERP-CRM
–Formularios.
–Características de los formularios e informes
–Búsqueda de herramientas estándar que faciliten la obtención de la información.
–Exportación de la información a otros sistemas, por ejemplo, Excel.
–Arquitecturas de informes, elementos de informes.
–Especificaciones para el diseño de informes.
–Herramientas para la creación de formularios e informes.
–Desarrollo de un generador de informes para la obtención de información
8. Accesos a la información
–Accesos mediante dispositivos ODBC.
–Definición del protocolo ODBC
–Utilización de consultas en lenguaje SQL –Generación de gráficos
Introducción
Uno de los pilares de cualquier organización es la información que necesita para su funcionamiento;
asimismo, una de sus actividades principales es el tratamiento de dicha información, ya se haga de forma manual o automática.
Por ello uno de los componentes básicos de una organización es un sistema de información:
“Un sistema de información es un conjunto de elementos
ordenadamente relacionados entre si de acuerdo a
ciertas reglas, que aportan a la organización a la que
sirven la información necesaria para el cumplimiento de
sus fines”.
Introducción
ERP - “Enterprise resource planning”
Es un sistema de información usado para la gestión empresarial.
Integra diferentes módulos: desde la fabricación al servicio post venta.
CMR – “Customer relationship management”
Es una estrategia de negocio enfocada al cliente
y a la vez el sistema sobre el que se basa.
Introducción
Las funciones básicas de un sistema de información son: la recogida, procesamiento y almacenamiento de datos, así como la elaboración y presentación de los mismos.
Para cumplir con estas funciones un sistema de información se conforma:
Contenidos: los datos, su descripción y los programas que los manipulan.
Equipo físico: Computador que soporta el sistema de información.
Equipo lógico: Sistema de comunicación, sistema de gestión de base de datos, sistema operativo, etc.
Administrador: la persona o equipo encargados de asegurar la calidad de los datos.
Usuarios
Introducción
Actualmente, se puede afirmar que el núcleo de todo sistema de información es una base de datos, y que el diseño y creación de ésta constituye una etapa importante en la construcción del sistema.
Los datos deben estar estructurados de tal forma que reflejen fielmente los objetos, las relaciones y las restricciones existentes en el mundo real representadas por la base de datos (propiedad estática).
Para que está representación sea fiable, la base de datos debe ser sensible a los sucesos del mundo real, y debe evolucionar para reflejar los cambios que estos sucesos pueden provocar en el modelo representado (propiedad dinámica).
Los mecanismos de estructuración de datos que se pueden utilizar
dependen del sistema informático con que se vaya a crear y manipular
la base de datos: Sistema de Gestión de Base de Datos
Introducción
“Un sistema de gestión de base de datos (SGBD) es una herramienta de software (conjunto de programas) que permite la creación y manipulación de bases de datos”.
SGBD es una herramienta de propósito general permite crear bases de datos de cualquier tamaño y complejidad y con propósitos específicos distintos.
Todo SGBD está basado en un modelo de datos. De forma general se puede definir un modelo de datos como:
“Un conjunto de conceptos y reglas que permiten estructurar los datos
resultantes de la observación de la realidad , de forma que queden
representadas todas sus propiedades, tanto estáticas como dinámicas”
Introducción
Los SGBD se clasifican en función del modelo de datos subyacente, constituyéndose así las distintas familias de sistemas de gestión de bases de datos.
SGBD
Modelo de Datos
Se basan en
Se compone de
Estructura de Datos y
Operadores Asociados
1. Modelo de datos
Algunas definiciones:
“Un modelo de datos es una herramienta intelectual (conjunto de conceptos y reglas) que permite representar las propiedades estáticas y dinámicas del mundo real objeto de estudio”.
“Un modelo de datos es una representación relativamente sencilla, por
lo general gráfica, de estructuras de datos reales más complejas.”
1. Modelo de datos
El modelado de datos es un proceso iterativo y
progresivo
1. Modelo de datos
La representación del mundo real utilizando un modelo de datos se denomina esquema.
Por lo tanto, un conjunto de datos estructurado según un cierto esquema es una base de datos, y un sistema de gestión de base de datos es el software que proporciona los lenguajes asociados a un modelo de datos:
1. lenguaje de definición de esquemas y
2. lenguaje de manipulación de datos (consulta y actualización).
Los modelos de datos han experimentado una larga evolución:
1. Modelo de Datos primitivos.
2. Modelo de Datos Clásicos.
3. Modelo Orientado a Objetos.
4. Modelo de datos semántico.
1. Modelo de datos
Independiente de las particularidades de los modelos, todos deben representar estas propiedades:
Propiedades estáticas:
objetos de información (entidades),
propiedades de los objetos (atributos),
relaciones entre objetos, y
restricciones sobre los objetos o sus relaciones.
Propiedades dinámicas:
operaciones sobre los objetos o sus relaciones,
relaciones entre operaciones (transacciones), y
restricciones sobre la evolución de los objetos y sus relaciones.
1. Modelo de datos-Tipos
Los modelos lógicos de datos están orientados a las operaciones más que a la descripción de una realidad. Usualmente están implementados en algún gestor de Base de Datos, y desde sus inicios, han experimentado una larga evolución.
Podemos destacar:
1. Modelo de Datos primitivos.
2. Modelo de Datos Clásicos.
1. Modelo relacional 2. Modelo jerárquico 3. Modelo en red
3. Modelos lógicos basados en objetos
1. Modelo Orientado a Objetos o semántico 2. Modelo entidad-relación
4. Modelos semánticos
1. Modelo de datos-Tipos
Algunas representaciones de modelos de datos
1. Modelo de datos
Modelo de Datos primitivos o modelo físico de datos.
Antes de la introducción de los sistemas de bases de datos, todos los datos permanecían en archivos individuales. Entonces un sistema de gestión de archivos, generalmente proporcionado por el fabricante del ordenador, como parte del sistema operativo, llevaba la cuenta de los nombres y ubicaciones de los archivos.
El sistema de gestión de archivos básicamente no tenía un modelo de
datos, no sabía nada acerca del contenido de los archivos. Si la
estructura de los datos cambiaba, por ejemplo añadiendo un nuevo
campo a una tabla, todos los programas que accedían al fichero tenían
que ser modificados.
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos de Datos Clásicos.
En estos modelos se han basado los sistemas de gestión de bases de datos comerciales.
La evolución de estos sistemas siempre ha estado guiada por el objetivo de conseguir un mayor grado de independencia de datos, es decir, separar la definición estructural (lógica) de la base de datos de su definición física (interna), de forma que los programas sean independientes.
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos de Datos Clásicos – Modelo Jerárquico.
Los primeros sistemas de gestión de base de datos que se construyeron fueron sistemas de tipo jerárquico, en lo que los datos se estructuraban en árboles.
Las estructuras de datos de este modelo son el segmento y el árbol.
Segmento: coincide con la estructura registro. Se define por una secuencia de nombres de campos. Esta estructura permite representar los tipos de objetos.
Árbol: va a permitir representar las relaciones “uno a muchos” entre objetos. Se define en términos de segmentos: los nodos del árbol son tipos de segmentos y los arcos representan las relaciones.
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos de Datos Clásicos – Modelo Jerárquico.
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
Supongamos que es más frecuente la consulta “obtener las asignaturas que imparte un profesor” que la consulta “obtener los profesores que imparten una asignatura”; el esquema jerárquico sería.
Departamento
Profesor
Asignatura
Segmento
Relaciones “uno a muchos”
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos de Datos Clásicos – Modelo Jerárquico.
Las limitaciones mas graves son:
No se puede representar cualquier relación “unos a muchos”.
No se pueden representar relaciones entre objetos más complejas que la puramente jerárquica:
• Un objeto no puede ser subordinado de dos objetos distintos a través de relaciones unos a muchos.
• No se pueden representar relaciones muchos a muchos entre objetos.
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos de Datos Clásicos – Modelo Red.
Fue definido para superar las limitaciones de los sistemas jerárquicos, la organización CODASYL (Conference on Data System Languages) lo público en 1971, naciendo así la segunda familia de sistemas de gestión de bases de datos.
Las estructuras de datos de este modelo son: el registro, el fichero y el set.
Registro: permite representar los tipos de objetos.
Fichero: permite organizar todas las ocurrencias de un mismo tipo de registro. Está estructura no se define explícitamente, ya que se supone que para cada tipo de registro existe un fichero del mismo nombre.
Set: permite representar relaciones jerárquicas “uno a muchos” entre objetos. Un tipo set se define en términos de dos tipos de registros: el registro propietario (objeto cardinalidad máxima n) , y el registro miembro (objeto de cardinalidad 1).
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos de Datos Clásicos – Modelo Red.
El esquema de una base de datos en red consiste en la definición de registros y sets. Una base de datos consistirá en un conjunto de ocurrencias de estas estructuras.
No existe ninguna limitación en el número de sets en los que puede participar un tipo de registro como registro propietario o registro miembro, superándose de esta forma la limitación del modelo jerárquico.
Esta solución permite descomponer una relación “muchos a muchos” en dos “uno a muchos” entre los registros que representan los objetos relacionados entre si y un nuevo registro (registro enlace).
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos de Datos Clásicos – Modelo Red.
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
Departamento
Profesor Asignaturas
Docencias
Dpto-Prof Dpto-Asg
Prof-Doc Asg-Doc
Registros Relaciones “uno a
muchos”.
Registro Enlace
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos de Datos Clásicos – Modelo Relacional.
Este modelo fue propuesto por E. F. Codd en 1970, imponiéndose en la década de los ochenta sobre los modelos previos. Actualmente es el modelo elegido para la construcción de casi todos los SGBD comerciales (Oracle, INFORMIX, RDB, DB2, Sql Server, MySQL, etc.).
La estructura de datos básica de este modelo es la relación . Esta estructura permite representar tanto los objetos como la relaciones entre ellos.
Una relación tipo viene definida por un conjunto de nombres de atributo, cada
uno de los cuales tiene asociado un dominio.
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos de Datos Clásicos – Modelo Relacional.
El esquema de una base de datos relacional consiste en la definición de una o más relaciones.
Para cada relación del esquema, se pueden especificar las siguientes propiedades:
Clave Primaria, que permite expresar la restricción de identificación.
Claves Ajenas, que permiten representar relaciones “uno a muchos”.
Valores no nulos, para los atributos.
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos de Datos Clásicos – Modelo Relacional.
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
Departamento (código: tira(5), nombre: tira(100), director: tira(50), teléfono: tira (11)) Clave Primaria: {código}
Asignatura (código: tira(5), nombre: tira(100), semestre: tira(2), teo: real, prac: real, gteo: entero, gpra: entero, dpto: tira(5))
Clave Primaria: {código}
Clave Ajena: {dpto} hace referencia a Departamento Valor No Nulo: {dpto}
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos de Datos Clásicos – Modelo Relacional.
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
Profesor (código: tira(5), nombre: tira(100), teléfono: tira(11), categoría: tira(3), dpto: tira(5)) Clave Primaria: {código}
Clave Ajena: {dpto} hace referencia a Departamento Valor No Nulo: {dpto}
Docencia (cod_pro: tira(5), cod_asg: tira(5), gteo:entero, gpra: entero) Clave Primaria: {cod_pro, cod_asg}
Clave Ajena: {cod_asg} hace referencia a Asignatura Clave Ajena: {cod_pro} hace referencia a profesor.
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos Semánticos.
Estos modelos surgen por la necesidad de disponer de modelos que permitan una representación de la realidad más próxima a la percepción que de ella tiene los usuarios.
Además de los conceptos básicos (objeto, relación, restricción, etc.), se incorporan nuevos mecanismos de abstracción que permiten modelar (representar) la realidad de forma más natural. Estos mecanismos son la agregación y la generalización.
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos Semánticos – Agregación.
Este mecanismo permite definir un nuevo objeto a partir de una asociación entre objetos.
El nuevo objeto, objeto agregado, hereda todos los atributos de los objetos participantes, así como los atributos de la relación sobre la que se define la agregación.
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
Supóngase que se desea completar la información sobre la programación docente introduciendo los grupos de los alumnos asignados a cada profesor en cada asignatura que imparte.
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos Semánticos – Agregación.
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
En el caso expresado la relación Docencia entre Profesor y Asignatura adquiere un nuevo significado, ya que, como tal, va asociarse con uno o varios grupos de alumnos.
El esquema se ampliaría con los siguientes elementos:
Un nuevo tipo de objeto, Grupo, que representa un grupo de alumnos.
Un objeto agregado, Docencia, definido sobre la relación Docencia entre Profesor y Asignatura.
Un nuevo tipo de relación, Asignación, entre el objeto agregado Docencia y el objeto Grupo, que representa la asignación de grupos a un profesor en una asignatura determinada.
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos Semánticos – Generalización.
La generalización/especialización es el mecanismo que permite definir relaciones de subtipos entre tipos de objetos.
Cuando un objeto A (objeto general) se especializa en varios objetos A1, A2 …. An (objetos especializados), esto significa que cada ocurrencia de los objetos A1, A2 …. An es también una ocurrencia del objeto A, heredando todas sus propiedades (atributos, relaciones con otros objetos, etc.). Además de heredar propiedades particulares, los objetos pueden tener sus propias propiedades.
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos Semánticos – Generalización.
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
Se desea incorporar información sobre los estudios de postgrado que están sujetos a una programación distinta.
Esta ampliación aconsejaría definir el objeto Asignatura como un objeto general con los atributos comunes a las asignaturas de grado y de postgrado, y dos objetos especializados de Asignaturas, Grado y Postgrado con sus atributos y relaciones especificas.
Conceptos básicos de los modelos de Datos Tipos de modelos de datos
Modelos Semánticos
Aunque estos modelos aparecieron con la intención de aumentar la capacidad expresiva de los modelos clásicos, no han llegado a convertirse en modelos de implementación, es decir, en modelos de base para la construcción de SGBD comerciales.
Estos modelos se utilizan para el diseño de base de datos en su primera etapa (diseño conceptual), dando lugar a lo que se conoce como un esquema conceptual. Este esquema debe ser traducido al modelo clásico soportado por el SGBD disponible (diseño lógico).
1. Modelo de datos
Modelos clásicos
Modelo en red
Ampliamente aceptado. Está formado por colecciones de registros (nodos) y enlaces que los relacionan mediante punteros.
Las relaciones son jerárquicas, aunque en este caso puede haber
más de un padre.
1. Modelo de datos
Modelos clásicos
Modelo jerárquico o modelo de árbol
Similar al de red, pero los registros se organizan como colecciones de árboles. La información es organizada en orden jerárquico, en el que la relación entre las entidades siempre es del tipo padre/hijo.
Hay una serie de nodos que contienen atributos y que se relacionarán con nodos hijos de tal forma que puede haber más de un hijo para el mismo padre, pero solo un padre para un hijo.
Los datos se almacenan en estructuras lógicas conocidas como
segmentos. Los segmentos se relacionan entre sí utilizando arcos.
1. Modelo de datos
Modelos clásicos
Características Modelo jerárquico o modelo de árbol
• Los segmentos de un archivo jerárquico están dispuestos en forma de árbol.
• Los segmentos están enlazados mediante relaciones uno a muchos.
• Cada nodo consta de uno o más campos.
• Cada ocurrencia de un registro padre puede tener distinto número de ocurrencias de registros hijos.
• Cuando se elimina un registro padre se deben eliminar todos los registros hijos (integridad de los datos).
• Todo registro hijo debe tener un único registro padre excepto la raíz.
1. Modelo de datos
Modelos clásicos
Modelo relacional
Es el modelo más popular de todos, y vamos a profundizar más adelante en él.
Representa los datos y sus relaciones mediante tablas bidimensionales, que contienen datos tomados de los dominios correspondientes.
Está basado en la lógica de predicados y en la teoría de
conjuntos. Sus bases fueron definidas en 1970 por Edgar Codd
de los laboratorios IBM.
1. Modelo de datos
Modelos lógicos basados en objetos
Modelo entidad-relación (E-R)
Se basa en una percepción del mundo compuesta por objetos,
llamados entidades, y relaciones entre ellos. Las entidades se
diferencian unas de otras a través de atributos.
1. Modelo de datos
Modelos lógicos basados en objetos
Modelo orientado a objetos o modelos semánticos
También se basa en objetos, los cuales contienen valores y métodos, entendidos como órdenes que actúan sobre los valores, en niveles de anidamiento. Los objetos se agrupan en clases, relacionándose mediante el envío de mensajes.
A raiz de la aparición de la programación orientada a objetos,
surge este tipo de bases de datos. Se supone por tanto que estas
son las bases de datos de tercera generación, pero siguen sin
reemplazar a las relacionales, aunque son el tipo de base de
datos que más está creciendo en los últimos años.
1. Modelo de datos-Características
Aunque los modelos de datos no son idénticos, es posible identificar en ellos conceptos que, definidos con terminología y formalismo distinto, tienen el mismo significado. Estos conceptos son:
Desde un punto de vista estático:
Objeto o entidad.
Relación.
Restricción de integridad estática.
Desde un punto de vista dinámico:
Operaciones.
Transacciones.
Restricciones de integridad dinámica.
1. Modelo de datos-Objeto
“Un objeto o entidad es cualquier persona, concepto, suceso o evento (en definitiva, cualquier “cosa” ) con existencia independiente sobre la cual se desea almacenar información”
En el esquema no se puede representar de forma individual cada uno de los objetos observados, sino que se va representando la clase o tipo genérico al que pertenecen.
“Un tipo de objeto en un modelo de datos es el concepto que permite representar a un conjunto de objetos similares”.
Las entidades pueden ser objetos físicos, como clientes o productos, pero las entidades también pueden ser abstracciones, como rutas de vuelo o conciertos musicales.
Un tipo de objeto define de forma genérica a un conjunto de objetos a través de sus propiedades (o atributos), es decir, a través de cualquier información que interesa guardar sobre los objetos del tipo.
Un atributo es una característica de una entidad. Por ejemplo, una entidad CLIENTE seria descrita por atributos tales como apellido paterno, nombre, teléfono, dirección y limite de crédito del cliente. Los atributos son el equivalente de los campos en los sistemas de archivos.
1. Modelo de datos-objeto
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
En este sistema hay tres tipos de objetos: Profesor, Asignaturas y Departamento.
Los atributos que interesan del tipo de objeto Profesor son el código, el nombre, el teléfono y la categoría.
Del tipo Asignatura son el código, nombre de práctica asignado en el plan de estudios, y el curso y semestre en que se imparte.
Del tipo Departamento son el código, el nombre del director y el teléfono.
1. Modelo de datos-Relación
“Una relación es una asociación entre objetos”.
En el esquema no se pueden representar de forma individual cada una de las relaciones existentes. Estas relaciones se representan mediante tipos de relación.
“Un tipo de relación en un modelo de datos es el concepto que permite representar un conjunto de relaciones de características similares.”
Los tipos de relaciones relevantes se obtienen clasificando las relaciones observadas en la realidad.
Los tipos relación pueden tener atributos que describen la relación, pero que
no pertenecen a ninguno de los objetos que conecta.
1. Modelo de datos-Relación
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
Se pueden identificar tres tipos de relaciones:
1. Relación entre profesor y departamento, que representa al departamento al que pertenece cada profesor. A la relación se le denomina PERTENECE.
2. Relación entre Asignatura y Departamento, que representa el departamento al que está adscrita cada asignatura. A está relación se le va a denominar ADSCRITA.
3. Relación entre Profesor y Asignatura, representa las asignaturas que imparte cada profesor, le denominamos DOCENCIA. Esta relación tiene dos atributos, que indican el número de grupos de teoría y práctica asignadas a un profesor.
1. Modelo de datos-Restricción
“Una restricción estática es una propiedad del mundo real, representado por el esquema, que limita sus extensiones válidas”.
Estas consisten generalmente en:
Restricciones sobre atributos.
Restricciones sobre objetos.
Restricciones sobre relaciones.
1. Modelo de datos-Restricción
Restricciones sobre atributos.
Restricción de valor : limita el conjunto de valores posibles de un atributo.
Estas restricciones se logran asociando al atributo un dominio, lo que significa la especificación del conjunto de valores que lo forman y del conjunto de operadores asociados.
Restricción de valor no nulo: se define sobre aquellos atributos que
necesariamente deben tener un valor para cada ocurrencia del objeto.
1. Modelo de datos-Restricción
Restricciones sobre atributos.
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
Restricción de Valor: los créditos de las asignaturas deben ser valores reales positivos y los grupos asignados deben ser valores enteros positivos. Se deben generar dos dominios Grupos y Créditos, estos no se pueden sumar pero si multiplicar entre si.
Restricciones de valor no nulo: Podrían ser el nombre del profesor, de la
asignatura, etc..
1. Modelo de datos-Restricción
Restricciones sobre objetos
Limitan el conjunto de ocurrencias posibles de un tipo de objeto.
Restricciones de Identificación: cada objeto debe identificarse de forma única, para diferenciarlo del resto de objetos del mismo tipo. Para ello cada objeto deber ser identificable por un atributos o un conjunto de atributos únicos.
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
Para el tipo Departamento el atributo identificador debe ser el código al igual,
que para los tipos de objetos Profesores y Asignaturas.
1. Modelo de datos-Restricción
Restricciones sobre relaciones
Estas restricciones limitan la participación del objeto en las relaciones, y se denomina restricciones de cardinalidad.
Las propiedades que interesa expresar son las referentes al número mínimo (cardinalidad mínima) y máximo (cardinalidad máxima) de objetos de tipo A que se puedan relacionar a través de R con un objeto de tipo B, así como el número mínimo (cardinalidad mínima) y máximo (cardinalidad máxima) de objetos de tipo B que se puede relacionar a través de R con un objeto de tipo A. La notación es la siguiente:
R(A(min
A,max
A),B(min
B,max
B))
1. Modelo de datos-Restricción
Restricciones sobre relaciones
Ejemplo de notación
Sea la restricción de cardinalidad R( A(1,1), B(2,n) ).
El significado de esta restricción es la siguiente: “Una ocurrencia
de A debe relacionarse con una y sólo una ocurrencia de B
(min
A=1, max
A=1), y una ocurrencia de B puede relacionarse con
cualquier número de ocurrencias de A mayor o igual que 2
(min
B=2, max
B=n)”.
1. Modelo de datos-Restricción
Restricciones sobre relaciones
Cardinalidades más frecuentes
R ( A(0,n), B(0,n) ): R representa una relación “muchos a muchos” (M : M) entre A y B.
R ( A(0,n), B(0,1) ): R representa una relación “uno a muchos”
(1 : M) entre A y B.
R ( A(0,1), B(0,1) ): R representa una relación “uno a uno” (1 : 1) entre A y B.
R ( A(1,n), B(0,n) ): R representa una relación “muchos a
muchos” entre A y B con restricción de existencia de A respecto a
B.
1. Modelo de datos-Restricción
Restricciones sobre relaciones
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
La relación Docencias entre Profesor y Asignatura es una relación “muchos a muchos”: Docencias( Profesor (0,n), Asignatura (0,n) ).
La relación Pertenece entre Departamento y Profesor es una relación “uno a muchos”, Donde Profesor tiene restricción de existencia respecto a Pertenece: Pertenece ( Departamento(0,n), Profesor (1,1) ).
La relación Adscrita entre Departamento y Asignatura es una relación “uno a muchos”, donde Asignatura tiene restricción de existencia respecto a Adscrita: Adscrita ( Departamento(0,n), Asignatura(1,1) ).
1. Modelo de datos-Operación
“Una operación es una acción elemental (indivisible) sobre un objeto o una relación”.
Las operaciones permiten crear, eliminar, modificar o consultar objetos y relaciones.
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
Añadir y borrar ocurrencias de tipos de objetos Profesor, Asignatura y Departamento, así como para modificar los atributos de las ya existentes.
Añadir y borrar ocurrencias de los tipos de relación Pertenece, Adscrita, y Docencias, así como para modificar los atributos “grupo de teoría” y
“grupo de practica” de la Relación Docencia.
1. Modelo de datos-Transacción
“Una transacción es una secuencia de operaciones que se considera atómica en lo que se refiere a su ejecución (se ejecutan todas sus operaciones o ninguna de ellas)”.
Las transiciones son necesarias porque en ocasiones no es posible representar la evolución del mundo real con operaciones aisladas.
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
El objeto profesor sufre restricciones de existencia respecto a la relación
Pertenece, para añadir nuevos profesores sería necesario una transacción que
incluyera dos operaciones básicas: una para añadir el profesor (nueva
ocurrencia de profesor), y otra para añadir la información de su departamento
(nueva ocurrencia de pertenece). Solo ejecutándolas las dos juntas tienen
sentido.
1. Modelo de datos-Restricciones dinámicas
“Las restricciones dinámicas representan propiedades del mundo real que restringen la posible evolución en el tiempo de la base de datos, limitando la secuencia de extensiones válidas del esquema”.
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
Restricción de transición: “Los créditos de teoría de una asignatura no puede disminuir”.
Restricción dinámica: “Un profesor no puede pasar a tener categoría de
catedrático sino ha impartido alguna vez asignaturas de segundo ciclo”.
1. Modelo de datos-Restricciones dinámicas
“Las restricciones dinámicas representan propiedades del mundo real que restringen la posible evolución en el tiempo de la base de datos, limitando la secuencia de extensiones válidas del esquema”.
Ejemplo: Sistema de Información para la gestión del Plan de Ordenación Docente (POD).
Restricción de transición: “Los créditos de teoría de una asignatura no puede disminuir”.
Restricción dinámica: “Un profesor no puede pasar a tener categoría de
catedrático sino ha impartido alguna vez asignaturas de segundo ciclo”.
1. Modelo de datos-Reglas de negocio
Para identificar correctamente las entidades, atributos, relaciones y restricciones, hemos de analizar y conocer previamente las reglas de negocio.
“Una regla de negocio es una descripción breve, precisa y no ambigua de una política, procedimiento o principio dentro de una organización especifica.”
Las reglas de negocios describen, en lenguaje sencillo, las características principales y distintivos de los datos como los ve la compañía.
Ejemplos:
1. Modelo de datos-Reglas de negocio
Han de seguir los principios denominados “The business rule approach” desarrollados por Ronald Ross [5], y que son:
• Deben ser explícitas y escritas.
• Expresadas en términos sencillos.
• Existen independientemente de los procedimientos y workflows (ej.: modelos).
• Se construyen a partir de hechos, éstos se definen a partir de conceptos, los que a su vez se representan por medio de términos (ej.: glosarios).
• Guían o influencian el comportamiento conforme a una forma pre-establecida.
• Son motivadas por factores de negocios identificables e importantes.
• Son accesibles a las partes autorizadas (ej.: tienen dueños).
• Están en una fuente única (ej.: repositorio de reglas).
• Son especificadas por las personas que tienen directa relación con ellas y que poseen el conocimiento relevante (ej.: los usuarios claves).
• Son gestionadas –administradas- (ej.: son parte de la Gobernabilidad de los Procesos de Negocios)
1. Modelo de datos-El enfoque relacional
Antecedentes
El modelo de datos relacional es posterior a los modelos jerárquicos y de red. Nació como consecuencia de los trabajos publicados en 1969-70 por E. F. Codd, aunque los primeros SGBD relacionales no aparecen hasta principios de los años ochenta.
Los lenguajes matemáticos sobre los que se asienta el modelo relacional, el álgebra y el cálculo relacionales, aportan un sistema de acceso y consultas orientado al conjunto.
La repercusión del modelo en los DBMSs comerciales actuales ha sido enorme, estando hoy en día la gran mayoría de los gestores de bases de datos basados en mayor o menor medida en el modelo relacional.
Desde su comienzo en 1970 y durante mucho tiempo después, los sistemas gestores de bases de datos relacionales (RDBMS : Relational Database Management System) estuvieron restringidos al ámbito de los mainframes y mini-ordenadores. Con la irrupción masiva en el mercado de los micro-ordenadores, aparecieron algunas implementaciones de RDBMSs que intentaban emular las propiedades de los grandes sistemas.
1. Modelo de datos-El enfoque relacional
El modelo relacional se ocupa de tres aspectos de los datos: su estructura, su integridad y su manipulación.
El modelo relacional representa la base de datos por medio de tablas llamadas relaciones.
Algunas de las diferencias con las bases de datos jerárquicas o en red son:
• A la hora de operar con los datos, en lugar de hacerlo sobre registros, actúa sobre la relación (tabla).
• Las bases de datos relacionales no permiten ni grupos repetitivos ni apuntadores en los niveles externo y conceptual, en el nivel interno el sistema tiene libertad para usar cualquier
estructura que desee.
1. Modelo de datos-El enfoque relacional
El modelo relacional está basado en la teoría de conjuntos.
En este modelo, los datos se organizan en un tipo especial de conjunto denominado relación, (relation) que se define de la siguiente manera:
sean los conjuntos D1,..., Dn, denominados dominios, que no tienen por qué ser distintos entre sí. Una relación definida sobre D1,...,Dn es cualquier subconjunto R de D, donde n es el grado de R.
Los dominios son en principio conjuntos finitos de datos. Por tanto, a menos que se indique lo contrario, presumimos que las relaciones son también finitas.
Los elementos de una relación se denominan tuplas. Formalmente, una tupla es:
< d1,..., dn>, donde d1 D1,..., dn Dn
El número de tuplas en una relación es la cardinalidad de la relación.
1. Modelo de datos-El enfoque relacional
Puesto que una relación es un conjunto, los elementos de este conjunto, las tuplas, han de ser por fuerza distintas. Esto también implica que el orden de las tuplas es irrelevante.
El conjunto vacío es una relación particular: la relación nula o vacía.
Cada tupla de una relación, junto con el nombre de la relación, representa una aserción.
Por ejemplo, cada tupla en la relación PROFESORES, es una aserción de que la entidad (profesor) dx es miembro de la institución Dx y tiene las propiedades atómicas <v1,..., vn>.
Las relaciones también pueden ser vistas como tablas, en las que cada tupla es una fila de la tabla. Los nombres de las columnas de la tabla, por otra parte, son los atributos.
El conjunto (ordenado) de todos los atributos de una relación R es el esquema de R.
Nos podemos referir a los atributos de una relación mediante su nombre o por la posición (número de columna) que el atributo ocupa en el esquema de la relación. Las tuplas, por tanto, pueden ser consideradas como matrices de pares atributo:valor.
1. Modelo de datos-El enfoque relacional
Los términos formales del modelo relacional a menudo son sustituidos por otros de uso más común, debido a que estos términos son demasiado abstractos para ser usados en la práctica.
Así obtenemos las siguientes equivalencias
1. Modelo de datos-El enfoque relacional
En términos de representación tabular se dice que una relación consta de dos partes:
cabecera (heading) y cuerpo (body).
• La cabecera es el conjunto de atributos (columnas) y
• el cuerpo es el conjunto de tuplas (filas).
Los elementos de una relación no tienen orden alguno. Así, la tupla con ID 1 no es la primera, ni la ID 5 la última, la numeración de identificación es totalmente aleatoria, normalmente resultado de un campo contador.
Del mismo modo, los atributos tampoco tienen orden alguno; el hecho de que el atributo PROFESOR aparezca antes que el de CURSO en la sucesión de columnas no tiene relevancia alguna para la relación.
Cabecera
Cuerpo
1. Modelo de datos-El enfoque relacional
Por otra parte, el concepto de relación en el modelo relacional presenta algunas diferencias con respecto a su correspondiente matemático.
Una relación matemática está ordenada en cuanto a sus atributos (columnas), ya que éstas se distinguen por su posición. En el modelo relacional, al estar distinguidas por su nombre, su posición es totalmente irrelevante. El objetivo es facilitar las operaciones con los atributos de las relaciones.
1. Modelo de datos-El enfoque relacional
Relaciones no sólo son las "tablas" base de la base de datos, sino que también son los distintos tipos de relaciones que se pueden generar mediante consultas a las relaciones base.
Podemos distinguir los siguientes tipos de relaciones:
• Relaciones base o reales: es lo que corresponde al concepto de tabla. El conjunto de éstas son las que componen la base de datos realmente.
• Conjunto dinámico de datos o dynasets: no poseen datos almacenados propios y están representadas únicamente dentro del sistema mediante su definición en términos de otras relaciones (es decir, mediante).
• Instantáneas (snapshots): iguales que las anteriores, pero los datos que contienen no son virtuales, sino que están realmente almacenados en la instantánea. Se utilizan para manejar datos susceptibles de cambios.
• Resultados de consultas: la relación resultante de consultar una o más relaciones base.
• Resultados intermedios: el resultado de una operación anidada en una consulta, estos resultados son usados por la consulta externa para otra operación.
1. Modelo de datos-El enfoque relacional
Clave primaria
Al ser las tuplas irrepetibles, una relación necesita un identificador único para cada una de las tuplas. A este identificador único se le llama clave primaria.
Se define como un subconjunto C de los atributos de R, cuyos valores no pueden ser repetidos.
Características:
- unicidad
- Minimalidad: su composición no intervengan más que los atributos estrictamente requeridos para identificar las tuplas de forma única.
Una clave primaria puede ser simple (formada por un solo atributo) o compuesta (formada por más de uno).
1. Modelo de datos-El enfoque relacional
Clave ajena. Interrelaciones (relationships)
Un RDBMS ofrece la posibilidad de interrelacionar dos o más relaciones existentes en una base de datos.
Todas las interrelaciones se realizan mediante la comparación de valores, ya sean éstos identificadores de objetos (claves primarias de las relaciones) o atributos de estos objetos. Para ello, es condición indispensable que los valores a comparar pertenezcan al mismo dominio (y por tanto contengan el mismo tipo de datos (numéricos, texto, booleanos, etc.)
1. Modelo de datos-El enfoque relacional
Clave ajena. Interrelaciones (relationships)
Ejemplo:
Información sobre los datos personales de los profesores, descripción de los cursos ofrecidos y descripción de los distintos departamentos. Si quisiéramos incluir toda esta información en una tabla plana, esta debería contener, al menos, los siguientes atributos (columnas):
PROFESOR_COD PROFESOR_NOMBRE PROFESOR_DIRECCIÓN
PROFESOR_TELÉFONO PROFESOR_DEPTO
DEPTO_COD DEPTO_NOMBRE
DEPTO_DESC CURSO_COD CURSO_NOMBRE
CURSO_DESC
CURSO_NIVEL CURSO_AÑO
1. Modelo de datos-El enfoque relacional
Clave ajena o foreign keys. Interrelaciones (relationships)
El modelo relacional ofrece una buena solución a este problema, que nos permite reducir la redundancia de datos al mínimo y agilizar las operaciones de consulta y actualización. Lo que deberíamos hacer es separar la información que se refiere a las tres entidades que tenemos (profesores, cursos y departamentos) en tres relaciones independientes, y después relacionarlas entre sí.
Relaciones base
Interrelaciones
Claves subrogadas
1. Modelo de datos-El enfoque relacional
Tipos de interrelaciones
• De uno a muchos (One to many): un profesor de nuestra tabla “Profesor” no se encuentra repetido. Sin embargo, un mismo profesor puede dar varios cursos, por lo que sí aparecerá repetido en la tabla “Curso”.
• Muchos a muchos (many-to-many): en una relación de este tipo, la tabla A puede tener más de un registro coincidente en la tabla B, y un registro en la tabla B puede tener más de un registro Este tipo de relación requiere cambiar el diseño de la base de datos, ya que en realidad, es decir, a nivel físico, esto no es factible. coincidente en la tabla A.
• Uno a uno (one-to-one): un registro en la tabla A no puede tener más de un sólo registro coincidente en la tabla B, u viceversa. Este tipo de interrelación es muy poco frecuente, ya que en la mayoría de los casos la información de las dos tablas puede ser combinada en una sola tabla.
1. Modelo de datos-El enfoque relacional
Integridad referencial
Se designa aquellas reglas que han de ser aplicadas a una base de datos para asegurar que los datos introducidos sean consistentes con la realidad que pretenden modelar.
Existen dos reglas generales.
• Regla de integridad de las entidades: ningún componente de la clave primaria de una relación base puede aceptar valores nulos.
• Regla de integridad referencial: la base de datos no debe contener valores de clave ajena sin concordancia.
1. Modelo de datos-El enfoque relacional
Formas normales
Además de las restricciones impuestas por las reglas generales del modelo relacional, y de las reglas específicas impuestas por el DBA para una determinada base de datos, sería conveniente la observación de otras "reglas" que reforzaran el modelo ayudaran a mantener la integridad de los datos y a evitar la redundancia. Esto es lo que se conoce como normalización.
• 1NF : una relación R está en primera forma normal (1NF) si y sólo si todos los dominios simples subyacentes contienen únicamente valores atómicos.
• 2NF : una relación R está en segunda forma normal (2NF) si y sólo si R está en 1NF y además todos los atributos no clave (es decir, los que no forman parte de la clave primaria) dependen por completo de la clave primaria.
• 3NF : una relación R está en tercera forma normal (3NF) si los atributos no clave (si los hay) son:
– mutuamente independientes, y
– dependientes por completo de la clave primaria
1. Modelo de datos-El enfoque relacional
Lenguajes relacionales. Consultas
Las consultas en SQL constan de uno o más bloques de recuperación SELECT-FROM- WHERE. El resultado de una consulta es siempre una relación.
La estructura es la siguiente:
SELECT atributos FROM relaciones
[WHERE condiciones-lógicas]
• SELECT corresponde a la operación de proyección del álgebra relacional. Especifica todos los atributos que se desean recuperar.
• FROM especifica una lista de relaciones de donde se escogerán los atributos de la cláusula SELECT.
• WHERE es opcional e incluye las condiciones que deben cumplir los atributos de las relaciones.