Clase Fundamentos De Bases De Datos

  • Uploaded by: api-3735749
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Clase Fundamentos De Bases De Datos as PDF for free.

More details

  • Words: 3,429
  • Pages: 52
Diseño de Base de Datos Relacionales

1

¿Que es una Base de datos?  Conjunto unificado de información, que

será compartida por diferentes usuarios de la organización  La función básica de una base de datos es permitir el almacenamiento y la recuperación de la información necesaria, para que las personas de la organización puedan tomar decisiones. 2

Diseño de una BD 

Los modelos conceptuales se basan en un criterio intuitivo de lo que ocurre en el mundo real y como este mundo real debe ser modelado



Si bien son intuitivos, son de fácil aplicación y además muy efectivos en sus resultados

3

Diseño de una BD  Central al diseño relacional es la idea de

dependencia de datos  “Un modelo mal diseñado se transforma

en el talón de aquiles de un sistema.”

4

Diseño de una BD 

La Teoría es útil  





Como control de nuestros diseños Para comprender algunas cosas que no pueden ser representadas en el Modelo ER Para comprender las consecuencias de conceptos tales como redundancia (que puede ser utilizado para mejorar la eficiencia de los sistemas)

Distinguimos un conjunto (incompleto) de estas restricciones para el modelo, que pueden implementarse en varios SGBD relaciones actualmente en el mercado 5

Restricciones de Integridad  

Restricciones de Dominio Restricciones de Integridad Referencial 

 



Test que permite controlar operaciones de actualización Inserción, Borrado (cascada), Modificación Clave

Aserciones  

Predicados que debe satisfacer la base de datos El sistema controla su validez lo que puede ocasionar una gran sobrecarga si no se utiliza con cuidado 6

Restricciones de Integridad 

Disparadores 



Acciones que se ejecutan como efecto lateral ante una operación Deben especificarse: • Bajo qué operaciones tendrían que ejecutarse • Cuáles son las acciones que debería realizar



Dependencias Funcionales 



El valor de un conjunto de atributos determina unívocamente el valor de otro conjunto de atributos Noción como generalización de clave

7

Claves de un Esquema  Clave o Llave 



Conjunto de atributos de un esquema que permite distinguir unívocamente las tuplas de una relación. Si el conjunto tiene un subconjunto propio con la misma propiedad lo llamamos SuperClave

 En término de DF 

K es clave de R, si K ⊆ R y K 8

¿Qué es un mal diseño? 

Un mal diseño lleva a: Repetir Información Inhabilidad para representar cierta información

 



Supongamos un esquema Proveedor ( Nombre_Proveedor, Dirección_Proveedor, Item, Item_Precio_Unitario )



Problemas en el diseño: 

Redundancia • La dirección del Proveedor se repite por cada item provisto 9

¿Qué es un mal diseño?  Problemas en el diseño: 

Potencial inconsistencia (anomalías de actualización) • ¿cómo actualizamos la dirección de un proveedor?



Anomalías de Inserción • ¿cuál es la dirección de un proveedor qué aún no ha provisto items?



Anomalías de Borrado • Si borro el último item provisto, ¿cómo guardo la dirección del proveedor? 10

Un Buen Diseño  Objetivos de un buen diseño  



Evitar datos redundantes Asegurar que se representen las relaciones entre los datos Facilitar el control de que las actualizaciones de la base de datos resulten en una violación de las restricciones de integridad

11

¿Qué es un mal diseño?  Corrección del problema 

Reemplazar el esquema con dos nuevos esquemas:

Proveedor ( Nombre_Proveedor, Dirección_Proveedor) Provee ( Nombre_Proveedor, Item, Item_Precio_Unitario )

 Veamos como soluciona los problemas  

Redundancia Anomalías (Inserción, Modificación y Borrado) 12

¿Qué es un mal diseño?  Nuevo Problema 



¿Cómo recupero la información inicial? (cuando los datos estaban en una sola tabla) Utilizando la operación JOIN

Nueva_Proveedor = Proveedor ►◄ Provee Nueva_Proveedor ( Nombre_Proveedor, Dirección_Proveedor, Item, Item_Precio_Unitario)

 Ejemplo con Valores 13

Buen Diseño: Pautas informales  Conocer la semántica de los atributos 



Diseñe un esquema de relación de modo que sea fácil de explicar su significado. No combine atributos de varios tipos de entidades y tipos de relaciones (modelo ER) en una sola relación (modelo relacional)

 Reducir los valores redundantes en las

tuplas 

Diseñe los esquemas de las relaciones de modo que no haya anomalías de actualización

14

Buen Diseño: Pautas informales 

Reducir los valores nulos en las tuplas 



Hasta donde sea posible, evite incluir en una relación atributos cuyos valores puedan ser nulos. Si no es posible evitar los nulos, asegúrese de que se apliquen sólo en casos excepcionales y no a la mayoría de las tuplas de una relación

Prohibir tuplas espurias 

Diseñe los esquemas de relación de manera que puedan reunirse mediante condiciones de igualdad sobre atributos que sean claves primarias o candidatas, a fin de garantizar que no se formarán tuplas espurias 15

Tuplas espurias o erróneas  Supongamos el esquema Estudiante (Legajo, Nombre, Ciudad, Provincia)

Legajo 10 20 30 40

Nombre Jorge Analía Carlos María

Ciudad Neuquén Plottier Cipolletti Centenario

Provincia Neuquén Neuquén Río Negro Neuquén 16

Tuplas espurias o erróneas  Solución al problema de redundancia

Estudiante (Legajo, Nombre, Provincia) 

Dirección (Provincia, Ciudad)

Legajo Nombre Provincia 10 Jorge Neuquén 20 Analía Neuquén 30 Carlos Río Negro 40 María Neuquén

Ciudad Neuquén Plottier Centenario Cipolletti

Provincia Neuquén Neuquén Neuquén Río Negro 17

Tuplas espurias o erróneas Legajo 10 20 30 40

Nombre Jorge Analía Carlos María Legajo 10 10 10 20 20 20 30 40 40 40

Provincia Neuquén Neuquén Río Negro Neuquén Nombre Jorge Jorge Jorge Analía Analía Analía Carlos María María María

►◄

Provincia Neuquén Neuquén Neuquén Neuquén Neuquén Neuquén Río Negro Neuquén Neuquén Neuquén

Ciudad Neuquén Plottier Centenario Cipolletti Ciudad Neuquén Plottier Centenario Neuquén Plottier Centenario Cipolletti Neuquén Plottier Centenario

Provincia Neuquén Neuquén Neuquén Río Negro

Tuplas Espurias

18

Tuplas espurias o erróneas   



Se trata de las tuplas adicionales que no estaban en la relación original Representan información errónea o agregada que no es válida Se obtiene porque el join se realizó entre dos tablas cuyos esquemas no fueron elegidos como un “buen” diseño Esto se debe a que el atributo que relaciona ambos esquemas no es una clave primaria o clave candidata en cualquiera de las relaciones 19

Preservación de Dependencias 

 



 

Si actualizamos una relación de una BD. ¿Podemos fácilmente controlar si una dependencia funcional X→Y es violada? Sólo podríamos hacerlo si X ∪Y están contenidos en algún conjunto de atributos La proyección de un conjunto de dependencias funcionales F en un conjunto de atributos Z, FZ es {X→Y | X→Y∈F + and X ∪Y ∈Z } Una decomposición R1, …, Rk preserva dependencias si F + = ( FR1 ∪ ... ∪ FRk ) + Lo que significa que la descomposición no ha perdido alguna dependencia funcional esencial. Conservaríamos así las restricciones de integridad de la relación R original. 20

Ejemplo de Preservación 

El esquema de relación Proveedor 



Conjunto de dependencias funcionales   







Nombre → Dirección, Ciudad Dirección, Ciudad → CP Nombre,Item → Precio

Considerar la descomposición 

 

{ Nombre, Dirección, Ciudad, CP, Item, Precio }

{Nombre, Dirección, Ciudad, CP} {Nombre, Item, Precio}

¿Es Join sin Pérdida? ¿Preserva dependencias? ¿Cómo cambia si se reemplaza la primera dependencia con Nombre, Dirección → Ciudad ? 21

Ejemplo de Preservación II 

Esquema: 



Conjunto de DF:  







profesor → tema estudiante, tema → profesor

La Descomposición: 



{estudiante, profesor, tema}

{estudiante, profesor} {profesor, tema}

¿Es join sin pérdida? ¿Tiene preservación de dependencias? 22

Formas Normales 

Definición de Forma Normal 





Es una restricción al esquema de BD que presumible-mente evita ciertas propiedades indeseables en la BD. Se definen primero para un esquema de relación en el esquema de la BD y se extienden hasta aplicar al esquema de BD como un todo

1º FN 



Un esquema relacional R está en primera forma normal (1FN) si el valor de dom(A) para cada atributo de R es atómico Los valores del dominio no pueden ser listas, conjunto de valores o valores compuestos.

23

1era Forma Normal

Atributos ery: (Encontrar todos los profesores de Física) Multivaluados Profes or ID# Nombre Apellido Módulos 12345

Fred

Jones

IT, Business, History

23456

Sarah

Smith

Chemistry, Physics, IT

34567

Joe

Clegg

Maths, Physics, Art

45678

Mary

WindsorMaths, Physics, Geography

56789

Edward Griswald Maths, PE, Gen Studies

67890

Cyril CoombsHistory, French, PE Una relación está en 1º Forma Normal si no tiene 78901 Mei Ti Quinn Chemistry, Biology atributos con valores multivaluados ...

...

...

...

24

1era forma Normal

Atomic Attributes (still search multiple column Profes or ID# Nombre Apellido Modulo 1 Modulo 2 Modulo 3 12345

Fred

Jones

IT

Business History

23456

Sarah

Smith

Chemistry

Physics

34567

Joe

Clegg

Maths

Physics

Art

45678

Mary

WindsorMaths

Physics

Geography

56789

Edward GriswaldMaths

PE

Gen Studies

67890

Cyril

Coombs History

French

PE

78901

Mei Ti

Quinn

Chemistry

...

...

...

...

IT

Biology 25

Formas Normales 

Dependencia Funcional Parcial / Total  





Sea F un conjunto de DF y X → Y en F+. Y es parcialmente dependiente de X en F si X → Y no es reducido a izquierdo, ie ∃ X’ ⊂ X / X’→ Y ∈ F+. Y es totalmente dependiente de X en F si X → Y es reducido a izquierdo, ie ¬∃ X’ ⊂ X / X’→ Y ∈ F

Atributo Primario o Primo 

Sea R un esquema de Relación, y A ∈ R, F un conjunto de DF sobre R. A es primo en R con respecto a F si A pertenece a alguna clave de R. De lo contrario A es no primo. 26

Formas Normales 

2º FN 





Un esquema relacional R está en segunda forma normal (2FN) cuando todos los atributos no primos tienen dependencia total respecto de cada una de las claves. Un esquema de base de datos está en segunda forma normal respecto a un conjunto de dependencias funcionales F si cada esquema de relación Ri en R está en 2FN con respecto a F. Ejemplo

27

2da Forma Normal

No hay grupos repetitivos, pero hay problema Profes or ID# Nombre Apellido Módulo La Información 12345 Fred Jones IT está si duplicada. Una relación está Forma Normal está en 12345 Fred Jonesen 2ºBusiness 12345 23456 23456 23456 34567 34567 34567 45678 45678 ...

Fred Jones History 1º Forma Normal y ningún atributo no primo es Sarah Smith Chemistry (La información está Sarah de Smith Physics dependiente una parte de una clave. contenida en las Sarah Joe Joe Joe Mary Mary ...

Smith Clegg Clegg Clegg Windsor Windsor ...

IT Maths Physics Art Maths Physics ...

correspondencias entre atributos) Depende de ID# (parte de la clave primaria) 28

28

2da Forma Normal

Profes or ID# Nombre 12345 23456 34567 45678 ...

Fred Sarah Joe Mary ...

Apellido Jones Smith Clegg Windsor ...

Módul o ID# Módulo BS001Business HI001 History PH002Physics ... ...

En esta propuesta, las tablas representan “cosas” o conceptos que tienen claro significado. Por un lado el “Profesor”, por el otro los “Módulos”. Estas son las “entidades” sobre las cuales se ha hablado en la modelización conceptual. 29

2º Forma Normal Profes or ID# Nombre 12345 23456 34567 45678 ...

Fred Sarah Joe Mary ...

Apellido Jones Smith Clegg Windsor ...

Módul o ID# Módulo BS001Business HI001 History PH002Physics ... ...

Profesor/Mód ulo TID# MID# 12345 12345 12345 23456 23456 23456 34567 34567 34567 45678 45678 ...

IT003 BS001 HI001 CH002 PH002 IT003 MA002 PH002 AR001 MA002 PH002 ... 30

Formas Normales 

Dependencia Funcional Transitiva 



Sea F un conjunto de DF y X → Y en F+, y A un atributo de R. A es transitivamente dependiente de X en R con respecto a F si hay un subconjunto Y de R tal que X → Y ∈ F y ¬(Y → X) y Y → A sobre F y A ∉ XY. • Ejemplo



3º FN 

Un esquema relacional R está en tercera forma normal (3FN) cuando está en 1FN y no hay atributos no primos en R que tengan dependencia transitiva respecto de cada una de las claves de R.

31

Formas Normales 

3º FN 

 

Un esquema de base de datos está en tercera forma normal con respecto a F si cada esquema de relación Ri de R está en tercera forma normal con respecto a F. Ejemplo El esquema relacional R está en 3FN si para cada dependencia funcional X → A que vale en R, se cumple lo siguiente: • A ∈ X (trivial), • X es una superclave para el esquema R, o • A es miembro de alguna de las claves de R 32

Formas Normales 

3º FN 



Un esquema de base de datos está en tercera forma normal respecto a un conjunto de dependencias funcionales F si cada esquema de relación Ri en R está en 3FN con respecto a F.

Teorema 



Cualquier esquema de relación R que está en 3FN con respecto al conjunto de dependencias funcionales F está también en 2FN con respecto a F. Demostración: Una dependencia parcial implica una dependencia transitiva. 33

3ra Forma Normal Estos atributos no dependen de ID#

Profes or ID# Nombre Módulo 12345 12121 11345 26456 21156 22256 35667 31367 11167 21378 12178 ...

Jones Brown Paul Sylvester Mike Smith Clegg Marshall Dominic Windsor Matt ...

Nombre del Módulo Information Technology Business Studies History of Art Chemistry Physics IT Maths Physics Art Maths Physics ...

Una relación está en 3º Forma Normal si está en 2º Forma Normal y no existen atributos no primos que dependen transitivamente de alguna de las claves. IT Bu Hi Ch Ph IT M a Ph Ar M a Ph

34

Formas Normales 

Forma Normal de Boyce Codd 







El esquema relacional R está en FNBC si para cada dependencia funcional X → Y no trivial que vale en R, X es una superclave para el esquema Por definición, un esquema en FNBC también está en 3FN

FNBC es la más deseable de las restricciones de una descomposición pero puede demostrarse que no siempre puede obtenerse esta descomposición y mantener todas las propiedades (LJ y PD) FNBC es más estricta que 3FN.

35

Formas Normales 



Siempre es posible partir de un esquema de relación R que no se encuentra en 3FN con respecto a un conjunto F de dependencias funcionales y descomponerlo en un esquema de base de datos relacional que está en 3FN con respecto a F Descomponer un esquema de base de datos relacional significa “romper” el esquema relacional inicial en un par de esquemas R1 y R2 (posiblemente que se intersectan) tales que la relación r(R) que satisface a F se descompone sin pérdida en R1 y R2. Es decir 



πR1 (r)

πR2 (r) = r

Podemos repetir el proceso en cada Ri si alguno de ellos no ha alcanzado la forma normal buscada.

36

Relación de Formas Normales

37

Normalización Forma Original No Normalizada 1NF

Ejemplo de Pasos de una propuesta del proceso de Normalización

1º Forma Normal

2NF

2º Forma Normal

3NF

3º Forma Normal

38

Proceso de Normalización 





Técnica formal para analizar una relación basada en sus claves primarias y las dependencias funcionales que existen entre los atributos del esquema. Usualmente se ejecuta en una serie de pasos. Cada paso corresponde a una forma normal específica (es posible), con propiedades conocidas. En la medida que avanza el proceso, las relaciones se hacen más restringidas (más fuertes) en su formato y también menos 39 39

Proceso de Normalización

40

Algoritmo de Descomposición BCNF resultado:= {R} Hecho:= false Calcular F+ Mientras (not Hecho) do Si (Algún esquema S no está en BCNF) Entonces Sea A → B una df no trivial válida en S tal que A → S no pertenece a F+, A y B disjuntos resultado:= (resultado - S) ∪ (S -B) ∪ {AB} Sino Hecho:=true Fin Mientras 41

Algoritmo de Descomposición 3FN Sea F un cubrimiento mínimo i:=0 Para cada A → B en F hacer Si ningún esquema Rj 1≤ j ≤ i contiene AB Entonces i:= i+1 Ri:= {A,B} Si ningún esquema Rj, 1 ≤ j ≤ i contiene una clave para R Entonces i:= i+1 Ri:= alguna clave para R

42

Resumen 





Siempre existe una descomposición en 3NF con las propiedades de join sin pérdida y preservación de dependencias. Siempre es posible encontrar una descomposición en FNBC que sea join sin pérdida, pero no siempre es posible encontrar alguna que preserva todas las dependencias. Ejemplo de Descomposición

43

Algoritmo: Determinación de Clave 

Definiciones Previas   



Atributos Esenciales: sólo lado izquierdo Atributos Posibles: ambos lados Atributos No Esenciales: sólo lado derecho

Propiedades:   

Un atributo esencial pertenece a cualquier clave Un atributo no esencial no pertenece a ninguna clave Para un atributo posible no es posible afirmar si pertenece o no a alguna clave, excepto si esta incluido en la clausura del conjunto de atributos esenciales. En ese caso, no pertenece a alguna clave 44

Metas del Proceso de Normalización   

Obtener los atributos correctos (Buscar los atributos correctos) Obtener las entidades correctas (Dependencias funcionales) Obtener las relaciones correctas (Dependencias Multivaluadas)

45

Proceso de Normalización 

En términos de las formas normales, la normalización se expresa como: 





1ra Forma Normal elimina los grupos repetitivos. 2da + 3ra Forma Normal elimina todas las dependencias funcionales entre los atributos no primos. 4ta Forma Normal elimina todas las dependencias multivaludas 46

1era Forma Normal

Atributos ery: (Encontrar todos los profesores de Física) Multivaluados Profes or ID# Nombre Apellido Módulos 12345

Fred

Jones

IT, Business, History

23456

Sarah

Smith

Chemistry, Physics, IT

34567

Joe

Clegg

Maths, Physics, Art

45678

Mary

WindsorMaths, Physics, Geography

56789

Edward Griswald Maths, PE, Gen Studies

67890

Cyril CoombsHistory, French, PE Una relación está en 1º Forma Normal si no tiene 78901 Mei Ti Quinn Chemistry, Biology atributos con valores multivaluados ...

...

...

...

47

1era forma Normal

Atomic Attributes (still search multiple column Profes or ID# Nombre Apellido Modulo 1 Modulo 2 Modulo 3 12345

Fred

Jones

IT

Business History

23456

Sarah

Smith

Chemistry

Physics

34567

Joe

Clegg

Maths

Physics

Art

45678

Mary

WindsorMaths

Physics

Geography

56789

Edward GriswaldMaths

PE

Gen Studies

67890

Cyril

Coombs History

French

PE

78901

Mei Ti

Quinn

Chemistry

...

...

...

...

IT

Biology 48

2da Forma Normal

No hay grupos repetitivos, pero hay problema Profes or ID# Nombre Apellido Módulo La Información 12345 Fred Jones IT está si duplicada. Una relación está Forma Normal está en 12345 Fred Jonesen 2ºBusiness 12345 23456 23456 23456 34567 34567 34567 45678 45678 ...

Fred Jones History 1º Forma Normal y ningún atributo no primo es Sarah Smith Chemistry (La información está Sarah de Smith Physics dependiente una parte de una clave. contenida en las Sarah Joe Joe Joe Mary Mary ...

Smith Clegg Clegg Clegg Windsor Windsor ...

IT Maths Physics Art Maths Physics ...

correspondencias entre atributos) Depende de ID# (parte de la clave primaria) 49

49

2da Forma Normal

Profes or ID# Nombre 12345 23456 34567 45678 ...

Fred Sarah Joe Mary ...

Apellido Jones Smith Clegg Windsor ...

Módul o ID# Módulo BS001Business HI001 History PH002Physics ... ...

En esta propuesta, las tablas representan “cosas” o conceptos que tienen claro significado. Por un lado el “Profesor”, por el otro los “Módulos”. Estas son las “entidades” sobre las cuales se ha hablado en la modelización conceptual. 50

2º Forma Normal Profes or ID# Nombre 12345 23456 34567 45678 ...

Fred Sarah Joe Mary ...

Apellido Jones Smith Clegg Windsor ...

Módul o ID# Módulo BS001Business HI001 History PH002Physics ... ...

Profesor/Mód ulo TID# MID# 12345 12345 12345 23456 23456 23456 34567 34567 34567 45678 45678 ...

IT003 BS001 HI001 CH002 PH002 IT003 MA002 PH002 AR001 MA002 PH002 ... 51

3ra Forma Normal Estos atributos no dependen de ID#

Profes or ID# Nombre Módulo 12345 12121 11345 26456 21156 22256 35667 31367 11167 21378 12178 ...

Jones Brown Paul Sylvester Mike Smith Clegg Marshall Dominic Windsor Matt ...

Nombre del Módulo Information Technology Business Studies History of Art Chemistry Physics IT Maths Physics Art Maths Physics ...

Una relación está en 3º Forma Normal si está en 2º Forma Normal y no existen atributos no primos que dependen transitivamente de alguna de las claves. IT Bu Hi Ch Ph IT M a Ph Ar M a Ph

52

Related Documents