miércoles, 9 de diciembre de 2009

MODELO RELACIONAL

ESTRUCTURA DEL MODELO RELACIONAL.- La relación es el elemento básico en el modelo relacional y se puede representar como una tabla:


Nombre


Atributo 1             Atributo 2 ..................... ......Atributo n

XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Tupla 1

XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Tupla 2

XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX .

XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX .

XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Tupla n



En ella podemos distinguir un conjunto de columnas, denominadas atributos, que representan propiedades de la misma y que están caracterizadas por un nombre; y un conjunto de filas llamadas tuplas que son las ocurrencias de la relación. Existen también unos dominios donde los atributos toman sus valores.

El número de filas de una relación se denomina cardinalidad de la relación y el número de columnas es el grado de la relación.

Ejemplo: AUTOR

Nombre           Nacionalidad           Institucion

Pepe                   España                 O.N.U.

John                    EE.UU.               O.M.S.

Pierre                 Francia                  N.A.S.A.



Una relación se puede representar en forma de tabla, pero va a tener una serie de elementos característicos:

• No puede haber filas duplicadas, es decir, todas las tuplas tienen que ser distintas.

• El orden de las filas es irrelevante.

• La tabla es plana, es decir, en el cruce de una fila y una columna sólo puede haber un valor (no se admiten atributos multivaluados).

Dominio y Atributo

Un dominio D es un conjunto finito de valores homogéneos y atómicos caracterizados por un nombre; decimos homogéneos porque son todos del mismo tipo y atómicos porque son indivisibles.

Todo dominio ha de tener un nombre por el cual nos podamos referir a él y un tipo de datos; así el tipo de datos del dominio "nacionalidades" es una tira de caracteres de longitud 10.

El dominio "nacionalidades" tiene valores : España, Francia,... Si descompusiéramos España en E,s,p,... perdería la semántica.

Ejemplos de dominios serían:

• Colores: Es el conjunto de los colores D={rojo, verde, azul,}

• Números de DNI: Es conjunto de números del DNI válidos, formados por ocho dígitos.

• Edad: Edades posibles de los empleados entre 18 y 80 años.

Un atributo es el papel que tiene un determinado dominio en una relación.

Es muy usual dar el mismo nombre al atributo y al dominio. En el caso de que sean varios los atributos de una misma tabla definidos sobre el mismo dominio, habrá que darles nombres distintos, ya que una tabla no puede tener dos atributos con el mismo nombre.

Por ejemplo los atributos edad_física y edad_mental pueden estar definidos sobre el mismo dominio edad; o loa atributos precio_compra y precio_venta pueden estar definidos sobre el mismo dominio de enteros de longitud 5.

Además de los dominios y atributos simples que acabamos de definir, en los últimos trabajos de algunos autores [Codd (1990), Date (1990)] se introduce el concepto de dominio compuesto.

Un dominio compuesto se puede definir como una combinación de dominios simples que tiene un nombre y a la que se pueden aplicar ciertas restricciones de integridad. Por ejemplo, un usuario puede necesitar manejar, además de los tres dominios Día, Mes y Año, un dominio compuesto denominado Fecha que sería la combinación de los tres primeros, y al que podríamos aplicar las adecuadas restricciones de integridad a fin de que no aparecieran valores no válidos para la fecha; algo análogo ocurre Con el nombre y los apellidos, que, según las aplicaciones, puede ser conveniente tratarlos en conjunto o por separado.

De la misma forma, es posible definir un atributo compuesto Fecha que tomaría sus valores del dominio compuesto de igual nombre.

Relación

Matemáticamente, una relación se puede definir como un subconjunto del producto cartesiano de una lista de dominios, donde cada elemento de la relación, tupla, es una serie de n valores ordenados.

En esta definición matemática de relación, que es la que aparece en los primeros trabajos de Codd, no se alude a los atributos, es decir, al papel que tienen los dominios en la relación y, además, en ella el orden de los valores dentro o de una tupla es significativo. A fin de evitar estos inconvenientes, se puede dar otra definición de relación más adecuada al punto de vista de las bases de datos, para lo cual es preciso distinguir, dos conceptos en la noción de relación:

Intensión o Esquema de relación, denotado R (Al:D1, A2:D2, ..., An:Dn) es un conjunto de n pares atributo dominio subyacente (Ai:Di). La intensión es la parte definitoria y estática de la relación, que se corresponde con la cabecera cuando la relación se percibe como una tabla.

Extensión u ocurrencia (instancia) de relación (llamada a veces simplemente relación), denotada por r(R) es un conjunto de m tuplas {t1, t2, ... tm} donde cada tupla es un conjunto de n pares atributo valor.

Ejemplo:

Intensión de una relación:

AUTOR (NOMBRE:Nombres, NACIONALIDAD:Nacionalidades, INSTITUCION: Instituciones)

Extensión de una relación:

AUTOR

Nombre          Nacionalidad           Institucion

Pepe                 España                   O.N.U.

John                  EE.UU.                  O.M.S.

Pierre                Francia                   N.A.S.A.



Claves

Una clave candidata de una relación es un conjunto no vacío de atributos que identifican unívoca y mínimamente cada tupla. Por la propia definición de relación, siempre hay al menos una clave candidata, ya que al ser la relación un conjunto no existen tuplas repetidas y por tanto, el conjunto de todos los atributos identificará unívocamente a las tuplas. Una relación puede tener más de una clave candidata, entre las cuales se debe distinguir:

Clave primaria: es aquella clave candidata que el usuario escogerá, por consideraciones ajenas al modelo relacional, para identificar a las tuplas de una relación.

Clave alternativa: son aquellas claves candidatas que no han sido elegidas.

Se denomina clave ajena de una relación R2 a un conjunto no vacío de atributos cuyos valores han de coincidir con los valores de la clave primaria de otra relación R1. La clave ajena y la correspondiente clave primaria han de estar definidas sobre los mismos dominios.

Restricciones.- En el modelo relacional, existen restricciones, es decir, estructuras u ocurrencias no permitidas, siendo preciso distinguir entre restricciones inherentes y restricciones de usuario.

Restricciones inherentes.- Además de las derivadas de la definición matemática de "relación" como eran que:

• No hay dos tuplas iguales.

• El orden de las tuplas no es significativo.

• El orden de los atributos (columnas) no es significativo.

• Cada atributo sólo puede tomar un único valor del dominio, no admitiéndose por tanto los grupos repetitivos.

Tenemos que la regla de integridad de entidad establece que "Ningún atributo que forme parte de la clave primaria de una relación puede tomar un valor nulo"; esto es, un valor desconocido o inexistente. Esta restricción debería aplicarse también a las claves alternativas, pero el modelo no lo exige.

Restricciones de usuario.- Podemos considerar la restricción de usuario, dentro del contexto relacional, como un predicado definido sobre un conjunto de atributos, de tuplas o de dominios, que debe ser verificado por los correspondientes objetos para que éstos constituyan una ocurrencia válida del esquema.

Dentro de las restricciones de usuario destaca la restricción de integridad referencial que dice que los valores de clave ajena deben coincidir con los de clave primaria asociada a ella o ser nulos.

La integridad referencial es una restricción de comportamiento ya que viene impuesta por el mundo real y es el usuario quien la define al describir el esquema relacional; es también de tipo implícito, ya que se define en el esquema y el modelo la reconoce (o así algunos productos) sin necesidad de que se programe ni de que se tenga que escribir ningún procedimiento para obligar a que se cumpla.

EDITORIAL (NOMBRE_E, DIRECCION, CIUDAD, PAIS)

LIBRO (CODIGO, TITULO, IDIOMA, ..., NOMBRE_E)

En este ejemplo el atributo nombre_e de la relación LIBRO es clave ajena que referencia a EDITORIAL, de modo que debe concordar con la clave primaria de la relación EDITORIAL o bien ser nulo, porque los libros de nuestra base de datos deberán pertenecer a una editorial existente, o si se desconoce la editorial, no se tendrá ningún valor para este atributo.

AUTOR (NOMBRE, NACIONALIDAD, INSTITUCION, ..)

LIBRO (CODIGO, TITULO, IDIOMA, EDITORIAL, ...)

ESCRIBE (NOMBRE, COD LIBRO)

En este ejemplo la relación ESCRIBE posee dos claves ajenas: nombre, que referencia a la relación AUTOR, y cod_libro, que referencia a la relación LIBRO; en este caso ninguna de las dos claves ajenas puede tomar valores nulos, ya que forman parte de la clave primaria de la relación ESCRIBE.

Además de definir las claves ajenas, hay que determinar las consecuencias que pueden tener ciertas operaciones (borrado y modificación) realizadas sobre tuplas de la relación referenciada; pudiéndose distinguir, en principio, las siguientes opciones:

Operación restringida: esto es, el borrado o la modificación de tuplas de la relación que contiene la clave primaria referenciada; sólo se permite si no existen tuplas con dicha clave en la relación que contiene la clave ajena. Esto nos llevaría, por ejemplo, a que para poder borrar una editorial de nuestra base de datos no tendría que haber ningún libro que estuviese publicado por dicha editorial, en caso contrario el sistema impediría el borrado.

Operación con transmisión en cascada: esto es, el borrado o la modificación de tuplas de la relación que contiene la clave primaria referenciada lleva consigo el borrado o modificación en cascada de las tuplas de la relación que contienen la clave ajena. En nuestro ejemplo, equivaldría a decir que al modificar el nombre de una editorial en la relación EDITORIAL, se tendría que modificar también dicho nombre en todos los libros de nuestra base de datos publicados por dicha editorial.

Operación con puesta a nulos: esto es, el borrado o la modificación de tuplas de la relación que contiene la clave primaria referenciada lleva consigo poner a nulos los valores de las claves ajenas de la relación que referencia. Esto nos llevaría a que cuando se borra una editorial, a los libros que ha publicado dicha editorial y que se encuentran en la relación LIBROS se les coloque el atributo nombre_e a nulos. Esta opción, obviamente, sólo es posible cuando el atributo que es clave ajena admite el valor nulo.

Operación con puesta a valor por defecto: esto es, el borrado o la modificación de tuplas de la relación que contiene la clave primaria referenciada lleva consigo poner el valor por defecto a la clave ajena de la relación que referencia.

Operación que desencadena un procedimiento de usuario: en este caso, el borrado o la modificación de tuplas de la tabla referenciada pone en marcha un procedimiento definido por el usuario.

LOS VALORES NULOS EN EL MODELO RELACIONAL

Se puede definir el valor nulo como una marca utilizada para representar información desconocida. La necesidad de valores nulos es evidente por diversas razones:

Existencia de tuplas con ciertos atributos desconocidos en ese momento.

• Necesidad de añadir un nuevo atributo a una tabla ya existente; atributo que en el momento de introducirse no tendrá ningún valor para las tuplas de la relación.

• Posibilidad de atributos inaplicables a ciertas tuplas, como la editorial para un artículo.

NOTA.-Leer para mayor comprension de lo tratado en clase

viernes, 30 de octubre de 2009

jueves, 15 de octubre de 2009

Plan Analítico

UNIVERSIDAD ESTATAL DE BOLIVAR
FACULTAD D E CIENCIAS ADMINISTRATIVAS GESTION EMPRESARIAL E INFORMATICA
PLAN ANALITICO

1. DATOS DE IDENTIFICACION

ESCUELA:       SISTEMAS
CARRERA:       INGENIERIA Y TECNOLOGIA
ASIGNATURA: BASE DE DATOS
PROFESORA:   Ing. Mónica Bonilla
CURSO:            SEXTO SEMESTRE
MODALIDAD: PRESENCIAL
HORAS:            96 HORAS
REQUISITO:   TECNICAS DE ANALISIS Y DISEÑO DE SISTEMAS
AÑO LECTIVO: 2009-2010
2. FUNDAMENTACION DE LA ASIGNATURA

La asignatura de Base de Datos tiene su Fundamentación en los sistemas manejadores de base de datos, su arquitectura, componentes fundamentales y algunos aspectos relacionados con la operación interna de dichos manejadores, que permiten resolver los problemas de gestión de datos de las diferentes empresas.

3. OBJETIVOS

OBJETIVOS INSTRUCTIVOS

 Introducir los conceptos básicos de la tecnología de los Sistemas Gestores de Bases de Datos (SGBD) en general.
 Seleccionar la información que permita caracterizar el problema del mundo real que se quiere modelar.
 Introducción al Modelo Relacional y Álgebra Relacional
 Utilización de la Teoría de la Normalización y Formalización Lógica de una Base de Datos

OBJETIVOS EDUCATIVOS

 Comprender el concepto de Modelo de Datos y su aplicación a los Sistemas de Información.

 Efectuar operaciones de búsqueda, actualización, inserción y eliminación de información.

 Aprender a construir un sistema de información, interpretando su diseño y estructura, y realizando la adaptación del modelo a los requerimientos del SGBD.


4. SISTEMA DE HABILIDADES
El estudiante será capaz de:

 Asimilar el conocimiento disponible sobre las bases de datos.
 Diseñar la estructura de la base de datos a utilizar en el almacenamiento de información.
 Saber interpretar y construir consultas en los lenguajes de consulta teóricos asociados al Modelo Relacional.
 Aprender y manejar con destreza los conceptos fundamentales del Lenguaje SQL.


5. DISTRIBUCION POR FORMAS DE ENSEÑANZA


METODOLOGÍA
Se hará uso de la clase-mixta (conferencia orientadora -alrededor del 30% del tiempo-) y taller o práctica el 70%.
Se utilizara el método problémico de enseñanza-aprendizaje permitiendo al estudiante desarrollar un pensamiento deductivo.
Juego de roles en los cuales los estudiantes realizan los papales de clientes y diseñadores de base de datos en donde se aplicaran los conocimientos asimilados durante el proceso docente.
También se utilizara la técnica de Casos o del problema: se ofrece la de solución parcial de ellos, debiendo los alumnos completar con su investigación a la solución del problema.

5. EVALUACION
Se realizara de forma permanente, sistemática y continua.
Se evaluaran los ejercicios resueltos en clase y las tareas enviadas a la casa.
Se valorará muy positivamente la participación activa de los alumnos.
Se hará especial hincapié en el trabajo colaborativo de los alumnos/as con el fin de fomentar el espíritu crítico, reflexión y la creatividad, al final de cada parcial se deberá entregar un proyecto final que agrupara los contenidos estudiados.

6. BIBLIOGRAFÍA

H. F. KORTH/A. SILBERSCHATZ, Fundamentos de Bases de Datos, Segunda Edición. McGraw-Hill.
H. F. KORTH/A. SILBERSCHATZ, Fundamentos de Bases de Datos, Cuarta Edición. McGraw-Hill.