Está en la página 1de 7

Clase de Teora BD1 Modelo Relacional El modelo relacional para la gestin de una base de datos es un modelo de datos basado

en la lgica de predicado y en la teora de conjuntos Esta basado en una simple y uniforme estructura de datos. Representa a la BD como una coleccin de relaciones. Se ocupa de 3 aspectos de los datos: Estructura de datos Integridad de datos Manipulacin de datos Terminologa usada en el modelo relacional Relacin.- Es una tabla Tupla.- Es cada fila de la relacin Cardinalidad.- Es el nmero de tuplas Atributo.- es cada columna de la tabla. Grado.- es el nmero de atributos. Dominio.- Es un conjunto de valores atmicos. Es una coleccin de valores. Ejemplo: edad de empleados de 18 a 65 aos, DNI = { cadenas de caracteres alfanumricos de 9 elementos } Nombre = { cadenas de caracteres alfabticos de un nmero mximo de elementos }, Telfono ={cadenas de caracteres numricos de 9 elementos} Llave Primaria.- Es un identificador nico para la tabla. Valor atmico.- es un valor que no se puede dividir en componentes. Notacin Una relacin R de grado n es denotado por: R(A1,A2,An) Una tupla n en una relacin se denota por: t = < v1,v2,.vn> Donde vi es el valor correspondiente al atributo Ai Propiedad de las relaciones No existen tuplas repetidas Las tuplas no estn ordenadas Los atributos no estn ordenados Todos los valores de los atributos son atmicos Tipos de Relacin Relacin Base.- Conocida como relacin real. Corresponde al concepto de una tabla, posee almacenamiento propio. Sus tuplas estn almacenadas fsicamente en al base de datos Vista.- Llamada relacin virtual. Es una relacin virtual o derivada, no posee datos almacenados propios. no existe necesariamente en el modelo sino que se deriva dinmicamente a partir de una o ms relaciones Las vistas son dinmicas lo que significa que los cambios que se hagan en las relaciones que afecten a la vista se reflejan inmediatamente en ella 1

Instantnea (snapshop).- Es una relacin derivada, tiene nombre. Es una relacin real no virtual. Contiene datos almacenados propios. Resultado de Consulta.- Es una relacin final, resultado de una consulta especifica. Puede tener nombre o no. No tiene existencia persistente. Resultados intermedios.- Es una relacin resultante de alguna expresin relacional anidada dentro de otra expresin relacional. Resultados temporales.- Es una relacin con nombre, similar a una relacin base, vista o instantnea, pero se destruye en forma automtica.

Minimalidad. Un esquema es minimal si cualquier elemento de la realidad aparece slo una vez en el Esquema. La minimalidad es una caracterstica que tiene que tener el atributo que ha sido designado como clave principal de una tabla de la base de datos. Por ejemplo, en una tabla que almacena los datos de alumnos: nmero de matricula, DNI, nombre, apellidos y e-mail; un alumno quedara identificado unvocamente con el nmero de la matricula y el DNI pero por la teora de las bases de datos hay que procurar la minimalidad es decir se debe emplear el menor nmero de atributos para identificar a un alumno. Valores Nulos El valor nulo implica ausencia de informacin, bien porque al insertar la tupla se desconoca el valor del atributo, o bien porque para dicha tupla el atributo no tiene sentido. Un nulo no representa el valor cero ni la cadena vaca, ya que stos son valores que tienen significado. Reglas de integridad Permite informar al DBMS de las restricciones existentes en el mundo real. La exigencia de integridad de los datos garantiza la calidad de los datos de la base de datos. Las reglas se deben cumplir todo el tiempo. Por ejemplo, Si se especifica para un empleado el valor de identificador de 123, la base de datos no debe permitir que ningn otro empleado tenga el mismo valor de identificador. Si tiene una columna employee_rating para la que se prevean valores entre 1 y 5, la base de datos no debe aceptar valores fuera de ese intervalo. Si en la tabla hay una columna dept_id en la que se almacena el nmero de departamento del empleado, la base de datos slo debe permitir valores que correspondan a los nmeros de departamento de la empresa. Si se define que el peso de un producto no puede ser negativo, entonces el DBMS rechaza cualquier intento de insertar un nmero negativo en dicho atributo.

Tipos de Regla de Integridad Integridad de entidades Integridad de dominio Integridad referencial. Regla de integridad de entidades La integridad de entidad define una fila como entidad nica para una tabla determinada. Se aplica a las claves primarias de las relaciones base: ninguno de los atributos que componen la clave primaria puede ser nulo. Esta regla slo se aplica a las relaciones base y a las claves primarias, no a las claves alternativas. Ningn atributo que forme parte de una llave primaria puede aceptar valores nulos. Regla de integridad de dominio La integridad de dominio viene dada por la validez de las entradas para una columna determinada. Es decir se indica los valores permitidos para una o ms columnas. Regla de integridad Referencial La integridad referencial protege las relaciones definidas entre las tablas cuando se crean o se eliminan filas. Se produce cuando el valor de una columna tiene que coincidir con el valor que existe en otra columna de la misma tabla o de diferente tabla. Se aplica a las claves forneas: Si en una relacin hay alguna clave fornea, sus valores deben coincidir con valores de la clave primaria a la que hace referencia. Cuando se aade una clave fornea a una tabla, se est creando una dependencia con la tabla que genera la llave fornea. Regla de borrado: Qu ocurre si se intenta borrar la tupla referenciada por la clave fornea? Restringir: no se permite borrar la tupla referenciada. Propagar: se borra la tupla referenciada y se propaga el borrado a las tuplas que la referencian mediante la clave fornea. Regla de modificacin: Qu ocurre si se intenta modificar el valor de la clave primaria de la tupla referenciada por la clave ajena? Restringir: no se permite modificar el valor de la clave primaria de la tupla referenciada. Propagar: se modifica el valor de la clave primaria de la tupla referenciada y se propaga la modificacin a las tuplas que la referencian mediante la clave ajena. La relacin que contiene la FK se conoce como relacin referencial La relacin que contiene la PK referida se conoce como relacin referida o relacin objetiva.

Normalizacin La Normalizacin es un proceso que consiste en aplicar una serie de reglas a las relaciones obtenidas, con el fin de solucionar errores y/o mejorar el diseo de la BD. Las bases de datos relacionales se normalizan para: Evitar la redundancia de los datos. Evitar problemas de actualizacin de los datos en las tablas. Proteger la integridad de los datos. Dependencia Funcional Es una relacin entre uno o ms atributos de una misma tabla. Sienta las bases para el proceso de las tres formas normales. Las dependencias son consecuencia de la estructura de la base de datos y de los objetos del mundo real que describen y no de los valores almacenados en cada relacin. Por ejemplo, si tenemos una relacin de vehculos en la que almacenamos, entre otros atributos, la cilindrada y el color, y en un determinado momento todos los vehculos con 2000 c.c. son de color rojo, no podemos afirmar que existe una dependencia entre el color y la cilindrada. Para buscar dependencias, no se deben analizar los datos, sino los entes a los que se refieren esos datos. Si X e Y son atributos de la relacin R, se dice que Y es funcionalmente dependiente de X (o que X determina a Y) si cada valor de X tiene asociado un solo valor de Y. se denota por X- Y o R.X R.Y El smbolo -> se lee como "implica" o "determina", y la dependencia anterior se lee como X implica Y o X determina Y. X es denominado determinante, ya que X determina el valor de Y. Si X- Y no implica que Y- X Ejemplo: En la tabla proveedores, el nombre del proveedor es funcionalmente dependiente del cdigo de proveedor CodigoProveedor nombreProveedor En este ejemplo, para un determinado valor del cdigo, existe solo un valor correspondiente de nombreProveedor. Ejemplo 2 Proveedor.cod proveedor.nombre Proveedor.cod proveedor.direccion Proveedor.cod proveedor.ruc Tambin se representa de la siguiente forma: Proveedor.cod ---- > proveedor.(nombre, direccin, ruc) 4

Dependencia Funcional Completa El atributo Y es completamente dependiente de X si depende funcionalmente de X y no depende de ningn subconjunto de X. La dependencia funcional se representa como X => Y. La entidad tiene una clave compuesta y los atributos dependen de la clave como conjunto y no de algunos de los atributos de la clave. Factura. tem, codarticulo =>factura.cantidad Dependencia Funcional Elemental Si tenemos una dependencia completa X => Y, diremos que es una dependencia funcional elemental si Y es un atributo, y no un conjunto de ellos. Reglas de Normalizacin Una tabla est en una determinada forma normal si satisface un cierto nmero de restricciones impuestas por la correspondiente regla de normalizacin. La aplicacin de una de estas reglas a un esquema relacional produce un nuevo esquema relacional en el que no se ha introducido ningn nuevo atributo. El punto de partida del proceso de normalizacin es un conjunto de tablas con sus atributos, el denominado esquema relacional. Se pretende mejorar dicho esquema de datos. Primera forma normal (1FN) Una relacin est en primera forma normal si, y slo si, todos los dominios de la misma contienen valores atmicos, es decir, no hay grupos repetitivos. Si una relacin no est en 1FN, hay que eliminar de ella los grupos repetitivos. Proceso: Identificar y remover atributos de grupos repetidos hacia una nueva entidad. (Si hubiera varios grupos repetitivos, se crea una nueva entidad con cada grupo repetitivo) La PK de esta nueva entidad es una llave compuesta por la PK de la entidad de origen y la PK del grupo repetitivo. El nombre de esta entidad puede ser una combinacin de la entidad de origen con el nombre del grupo repetitivo (posteriormente se puede renombrar) Un grupo repetitivo ser el atributo o grupo de atributos que tiene mltiples valores para cada tupla de la relacin. Un conjunto de relaciones se encuentra en 1FN si ninguna de ellas tiene grupos repetitivos. Producto (CodigoProducto#, NombreProducto, codProveedor, nombreProveedor, direccionProveedor, precioCosto, precioVenta, codigoAlmacen, direccionAlmacen, cantidadStock)

CodigoP roducto 10 10 10

NombreP roducto Arroz Arroz Arroz

codPro veedor 1010 1020 800

nombrePro veedor Micasa Mayorista Metro

direccionProveedo r Av. Benavides 2025 Av. Canada 2030 Av. Del Aire 130

precio Costo 1.50 1.80 1.60

precio Venta 3.50 3.50 3.50

codigo Almac en 10 10 10

direccionAl macen

cantidad Stock

Av. San Luis 152 Av. San Luis 152 Av. San Luis 152

200 200 200

En este caso el producto Arroz tiene varios proveedores, de tal manera que este es el grupo repetitivo. Con este grupo repetitivo generamos una nueva tabla (productoproveedor). AL aplicar la 1FN obtenemos lo siguiente: Producto (CodigoProducto#, NombreProducto, precioVenta, codigoAlmacen, direccionAlmacen, cantidadStock) Producto-proveedor(CodigoProducto#, codProveedor#, nombreProveedor, direccionProveedor, precioCosto) Producto
CodigoProducto 10 10 10 NombreProducto Arroz Arroz Arroz precioVenta 3.50 3.50 3.50 codigoAlmacen 10 10 10
direccionAlmacen cantidadStock

Av. San Luis 152 Av. San Luis 152 Av. San Luis 152

200 200 200

Producto-proveedor
CodigoProducto 10 10 10 codProveedor 1010 1020 800 nombreProveedor Micasa Mayorista Metro direccionProveedor Av. Benavides 2025 Av. Canada 2030 Av. Del Aire 130 precioCosto 1.50 1.80 1.60

Segunda forma normal (2FN) Una relacin est en segunda forma normal si, y slo si, est en 1FN y, adems, cada atributo que no es clave primaria es completamente dependiente de la clave primaria. La 2FN se aplica a las relaciones que tienen claves primarias compuestas por dos o ms atributos. Si una relacin est en 1FN y su clave primaria es simple (tiene un solo atributo), entonces tambin est en 2FN. Proceso Identificar y remover hacia otra entidad los atributos que dependen parcialmente de la PK Producto (CodigoProducto#, NombreProducto, precioVenta, codigoAlmacen, direccionAlmacen, cantidadStock) Producto-proveedor(CodigoProducto#, codProveedor#, precioCosto) Proveedor(codProveedor#, nombreProveedor, direccionProveedor) Producto
CodigoProducto 10 10 10 NombreProducto Arroz Arroz Arroz precioVenta 3.50 3.50 3.50 codigoAlmacen 10 10 10
direccionAlmacen cantidadStock

Av. San Luis 152 Av. San Luis 152 Av. San Luis 152

200 200 200

Producto-proveedor
CodigoProducto 10 10 10 codProveedor 1010 1020 800 precioCosto 1.50 1.80 1.60

Proveedor
codProveedor 1010 1020 800 nombreProveedor Micasa Mayorista Metro direccionProveedor Av. Benavides 2025 Av. Canada 2030 Av. Del Aire 130

Tercera forma normal (3FN) Una relacin est en tercera forma normal si, y slo si, est en 2FN y, adems, cada atributo que no est en la clave primaria no depende transitivamente de la clave primaria. Proceso: Identificar y remover hacia otra entidad, aquellos atributos que dependen de otra llave que no es la PK o de la llave compuesta. Producto (CodigoProducto#, NombreProducto, precioVenta, codigoAlmacen, cantidadStock) Producto-proveedor(CodigoProducto#, codProveedor#, precioCosto) Proveedor(codProveedor#, nombreProveedor, direccionProveedor) Almacen(codigoAlmacen#, direccionAlmacen) Producto
CodigoProducto 10 10 10 NombreProducto Arroz Arroz Arroz precioVenta 3.50 3.50 3.50 codigoAlmacen 10 10 10
cantidadStock

200 200 200

Producto-proveedor
CodigoProducto 10 10 10 codProveedor 1010 1020 800 precioCosto 1.50 1.80 1.60

Proveedor
codProveedor 1010 1020 800 nombreProveedor Micasa Mayorista Metro direccionProveedor Av. Benavides 2025 Av. Canada 2030 Av. Del Aire 130

Almacen
codigoAlmacen 10 10 10
direccionAlmacen

Av. San Luis 152 Av. San Luis 152 Av. San Luis 152

También podría gustarte