Unidad_V_FBD.ppsx

27
1 U4. Diseño de bases de datos relacionales 4.1 Diseño de esquemas relacionales de bases de datos Tipos de diseño Diseño conceptual Diseño lógico Diseño físico  Actividad Estudie dependencias Funcionales

Transcript of Unidad_V_FBD.ppsx

Diapositiva 1

1U4. Diseo de bases de datos relacionales4.1 Diseo de esquemas relacionales de bases de datosTipos de diseo

Diseo conceptualDiseo lgicoDiseo fsico

ActividadEstudie dependenciasFuncionales2U4. Diseo de bases de datos relacionales4.1.1 Dependencias funcionales Definicin: El valor de un atributo en una tupla determina el valor de otro atributo en la tupla. DF:A B, A determina funcionalmente a B.

Dependencia transitiva:Aparece cuando un atributo no clave es funcionalmente dependiente de uno o ms atributos no claves.

Dependencia multievaluada (DMV).Una restriccin que garantiza la independencia mutua de atributos multievaluados.

ActividadEstudie anomalas

3U4. Diseo de bases de datos relacionales4.1.1 Dependencias funcionales Ejemplos:ActividadEstudie anomalasConsideremos el esquema de la relacin EMP_PROY; a partir de la semntica de los atributos, sabemos que deben cumplirse las siguientes dependencias funcionales:EMP_PROYNSSNMEROPHORASNOMBREENOMBREPRLUGARPDf1

Df2

Df3

{NSS, NMEROP} HORAS NSS NOMBREE NMEROP {NOMBREPR, LUGARP}

4U4. Diseo de bases de datos relacionales4.1.2 Anomalas Definicin: Tipos de anomalas:ActividadEstudie objetivos yPeligros de diseo en BDAnomalas de actualizacin: Inconsistencia de los datos como resultado de datos redundantes y actualizaciones parciales. Anomalas de borrado: Prdida no intencionada de datos debido a que se han borrado otros datos.Anomalas de insercin: Imposibilidad de adicionar datos en la base de datos debido a la ausencia de otros datos.

5U4. Diseo de bases de datos relacionales4.1.2 Anomalas Uno de los retos en el diseo de la base de datos es el de obtener una estructura estable y lgica tal que: 1.- El sistema de base de datos no sufra de anomalas de almacenamiento. 2.- El modelo lgico pueda modificarse fcilmente para admitir nuevos requerimientos. Objetivos de diseo de una B.D. Relacional :

Generar un conjunto de esquemas de relaciones que permitan almacenar la informacinCon un mnimo de redundanciaY que a la vez facilite la recuperacin de la informacin

6U4. Diseo de bases de datos relacionales4.1.2 Anomalas Propiedades indeseables de un diseo :

Repeticin de la informacinIncapacidad para representar cierta informacinPrdida de informacin

Repeticin de Informacin

Sucursal = {nom_sucursal, activo, cd_sucursal}Prstamo = {nom_sucursal, no_prst, nom_cte, importe}

Suponga que desea sustituir los dos esquemas anteriores por :

Prestar = {nom_sucursal, activo, cd_sucursal, no_prst, nom_cte, importe}

7U4. Diseo de bases de datos relacionales4.1.2 Anomalas Nom_SucActivoCd_SucursalNo_PrestNom_CteImporteCentro9 000 000Brooklyn17Jones1000Redwood2 100 000Palo Alto23Smith2000Perryridge1 700 000Horseneck15Hayes1500Centro9 000 000Brooklyn14Jackson1500Mianus400 000Horseneck93Curry500Round Hill8 000 000Horseneck11Turner900Pownal300 000Bennington29Williams1200North Town3 700 000Rye16Adams1300Centro9 000 000Brooklyn18Johnson2000Perryridge7 100 000Horseneck25Gleen25008U4. Diseo de bases de datos relacionales4.1.2 Anomalas Si deseamos insertar un nuevo prstamo

En el primer diseo tendremos :

(Perryridge, 31, Turner, 1500)

En el segundo diseo tendremos :

(Perryridge,1 700 000, Horseneck, 31, Turner, 1500)

Repeticin de informacin

Adems de desperdiciar espacio, complica la actualizacin9U4. Diseo de bases de datos relacionales4.1.2 Anomalas Representacin de informacin

Si deseamos combinar los dos esquemas :

Depsito = {nom_sucursal, no_cuenta, nom_cte, saldo}

Prstamo = {nom_sucursal, no_prst, nom_cte, importe}

Para formar un esquema nuevo:

PD = { nom_sucursal, no_prst, importe, no_cuenta, saldo, nom_cte }

Cmo se representara un cliente que tiene cuenta en la sucursal Perryridge pero no tiene prstamo o viceversa?. Con valores vacos solamente10U4. Diseo de bases de datos relacionalesPrdida de informacin

Si descomponemos la relacin prstamo en dos relaciones :

Prst={nom_sucursal, no_prst, importe} Imp={importe, nom_cte}

Nom_SucursalNo_prestImporteImporteNom_cte ======================= ==============Centro 1710001000JamesRedwood 2320002000SmithPerryridge 1515001500HayesCentro 1415001500JacksonMianus 93 500 500CurryRound Hill 11 900 900TurnerPownal 2912001200WilliamsNorth Town 1613001300AdamsCentro 1820002000JohnsonPerryridge 2525002500GlennBrighton 1022002200Brooks4.1.2 Anomalas 11U4. Diseo de bases de datos relacionales4.1.2 Anomalas Si es necesario reconstruir la relacin prstamoSe podra utilizar IMP PRESTCon lo cual obtendramos lo siguiente :

Nom_SucursalNo_prestImporteNom_cte ========================================Centro 171000JamesRedwood 232000SmithPerryridge 151500HayesCentro 141500JacksonMianus 93 500CurryRound Hill 11 900TurnerPownal 291200WilliamsNorth Town 161300AdamsCentro 181500JohnsonPerryridge 252500GlennBrighton 102200BrooksCentro 141500HayesPerryridge 151500JacksonRedwood 232000JohnsonCentro 182000Smith12U4. Diseo de bases de datos relacionales4.1.3 DescomposicinDescomposicin de la relacin: Divisin de una relacin en mltiples relaciones.

ActividadEstudie Normalizacin Y formas normalesEn el proceso de descomposicin de relaciones debe cumplir las siguientes reglas:Sin prdida de informacinSin prdida de dependencias funcionalesEn proyecciones independientes13U4. Diseo de bases de datos relacionales4.1.4 Formas normalesDefinicin:Reglas para relaciones estructuradas que eliminan anomalas.Formas normales

Forma normal dominio/clave (FN/DK)Normalizacin: Es el proceso de conversin de una relacin en una forma estndar14U4. Diseo de bases de datos relacionales4.1.4 Formas normalesLa normalizacin se lleva a cabo por cuatro razones:* Estructurar los datos de forma que se puedan representar las relaciones pertinentes entre los datos.* Permitir la recuperacin sencilla de los datos en respuesta a las solicitudes de consultas y reportes.* Simplificar el mantenimiento de los datos actualizndolos, insertndolos y borrndolos.* Reducir la necesidad de reestructurar o reorganizar los datos cuando surjan nuevas aplicaciones.Pasos de la normalizacin:

1.- Descomponer todos los grupos de datos en registros bidimensionales. 2.- Eliminar todas las relaciones en la que los datos no dependan completamente de la llave primaria del registro. 3.- Eliminar todas las relaciones que contengan dependencias transitivas. 15U4. Diseo de bases de datos relacionales4.2 Modelo E-R y la normalizacinLa primera forma normal se defini para prohibir los atributos multivaluados, los atributos compuestos y sus combinaciones.

Una relacin est en 1FN si y solo si todos sus dominios simples subyacentes contienen solo valores atmicos (o indivisibles). DEPARTAMENTONOMBREDNMERODNSSGTEDLUGARESDInvestigacin5333445555Beln, Sacramento, HiguerasAdministracin4987654321SantiagoDireccin1888665555HiguerasEsquema de relacin que no est en 1FN.

ActividadEstudie segundaForma normal16U4. Diseo de bases de datos relacionales4.2 Modelo E-R y la normalizacinUn esquema de relacin est en segunda forma normal 2FN si y solo si est en 1FN y todos los atributos no clave dependen funcionalmente de manera completa de la clave primaria.ActividadEstudie tercera formanormalEMP_PROYNSSNMEROPHORASNOMBREENOMBREPRLUGARPDf1

Df2

Df3

Normalizacin 2FN

17U4. Diseo de bases de datos relacionales4.2 Modelo E-R y la normalizacinNSSNMEROPHORASNSSNOMBRENMEROPNOMBREPRLUGARPEsquema de Proyecto 1Esquema de Proyecto 2Esquema de Proyecto 3Df 1Df 2Df 3ActividadEstudie tercera formanormal

18U4. Diseo de bases de datos relacionales4.2 Modelo E-R y la normalizacinLa tercera forma normal de basa en el concepto de dependencia transitiva. De acuerdo con la definicin original de Codd, un esquema de relacin R esta en 3FN si y solo si esta en 2FN y todos los atributos no clave dependen de manera no transitiva de la clave primaria.La transitividad se da cuando un atributo no clave depende funcionalmente de un atributo que a su vez depende de la clave primaria.

19U4. Diseo de bases de datos relacionales4.2 Modelo E-R y la normalizacinNOMBREENSSFECHANDIRECCINNMERODNOMBREDNSSGETDEMP_DPTOTransitividad NOMBREENSSFECHANDIRECCINNMERODNMERODNOMBREDNSSGETDNormalizacin 3 FNED1ED2

ActividadEstudie formaNormal BCFN20U4. Diseo de bases de datos relacionales4.2 Modelo E-R y la normalizacinBCFN (Forma Normal de Boyce-Codd)Un esquema de relacin est en FNBC si, y solo si todo determinante es una clave candidata.Relacin Proyecto-Pc-Programador No-ProyectoProgramador PCNormalizacin BCFNRelacin Programador-PC Relacin Proyecto-ProgramadorProgramador PC No_proyecto Programador

21U4. Diseo de bases de datos relacionales4.2 Modelo E-R y la normalizacinBCFN (Forma normal de Boyce-Codd)Otro ejemploRelacin Alumno-Materia-AsesorNo-Control Nombre-Asesor MateriaNormalizacin BCFNRelacin Alumno-asesor Relacin Asesor-materiaNo-Control Nombre-asesor Nombre-asesor MateriaActividadEstudie cuartaforma normal

22U4. Diseo de bases de datos relacionalesDefinicin

4.2 Modelo E-R y la normalizacinCuarta forma normal (4FN)Un esquema de relaciones R est en 4FN con respecto a un conjunto D de dependencias funcionales y de valores mltiples s, para todas las dependencias de valores mltiples en D de la forma X->->Y, donde X R y Y R, se cumple por lo menos una de estas condiciones:* X->->Y es una dependencia de valores mltiples trivial.* X es una sperllave del esquema R.23U4. Diseo de bases de datos relacionales4.2 Modelo E-R y la normalizacinNOMBREENOMBREPRNOMBREDSilvaXJurdicoSilvaYAdministrativoSilvaXAdministrativoSilvaYJurdicoNormalizacin 4FNNOMBREENOMBREDSilvaJurdicoSilvaAdministrativoEMP-PROY EMP-DEPNOMBREENOMBREPRSilvaXSilvaYActividadEstudie quinta formanormal y FN/DK

Cuarta forma normal (4FN)NOMBREENOMBREPRNOMBREDEMPLEADOS24U4. Diseo de bases de datos relacionales4.2 Modelo E-R y la normalizacinLa quinta forma normal (5FN) se refiere a dependencias que son extraas .Tiene que ver con afinidades que pueden dividirse en subafinidades (como se han venido haciendo), pero no pueden reconstruirse.5FN elimina las dependencias de reunin (join y unin). Estas dependencias son principalmente de inters torico y de muy dudoso valor prctico.FN/DK Fagin (1981) propuso esta forma normal pero no proporcion un metodo general para convertir una relacin que no est en FN/DK en una relacin que est en FN/DK.

ActividadEstudie reduccin dediagramas E-R a tablas

25U4. Diseo de bases de datos relacionales4.3 Reduccin de un esquema E-R a tablasEmpleadoTcnicoIngenieroSecretariaRapidezTecleoGradoTTipoIngNombreNSSFechaNacDireccinTipoTrabajoNombreInicApellidoESEjemplo reduccin de diagrama E-R a tablas26U4. Diseo de bases de datos relacionales4.3 Reduccin de un esquema E-R a tablasEmpleadoNSSNombrePInicApellidoFechaNacDireccinTipoTrabajoSecretariaNSSRapidezTecleoTcnicoNSSGradoTIngenieroNSSTipolng

Tablas resultantes27U4. Diseo de bases de datos relacionales4.4 Anlisis de un caso prcticoUse el proceso de normalizacin para disear un modelo conceptual de base de datos para la siguiente relacin: CLIENTE-ORDEN No_Cte Nom_CteCiudad_Cte PagoxEntrega Precio_Unit No_InvCantidadFecha ================================================================================= C1 JUANCOLIMA 1.35 8.20 13 1005-JUN C1 JUANCOLIMA 1.35 8.20 13 20012-OCT C2 JANETTECOMAN 1.75 4.00 12 10015-MAY C2 JANETTECOMAN 1.75 8.20 13 10015-MAY C2 JANETTECOMAN 1.75 2.00 11 30015-MAY C3 MOISESCOLIMA 1.35 4.00 12 10010-AGO C3 MOISESCOLIMA 1.35 2.00 11 20010-OCT C4 RITAMANZANILLO 1.95 10.50 14 100 5-MAYResponda a las siguientes preguntas:Cul es la clave de esta relacin?En cul forma normal est la relacin?Contiene la relacin una dependencia transitiva? En caso afirmativo, cul es?Contiene la relacin anomala de eliminacin?. En caso afirmativo descrbala.Efecte la normalizacin de acuerdo a las DF. A qu forma normal paso la relacin?Desarrolle el diagrama E-R para las relaciones resultantes.27La relacin CLIENTE ORDEN contiene ordenes de compra del catalogo de Clientes de diferentes ciudades. Para este ejemplo se supone:a. A cada artculo ordenado por un cliente se le incluye el pagoXentrega. Esta cantidad est determinada por la ciudad donde el cliente reside.b. Un cliente puede hacer varios pedidos distintos en la misma fecha. Sin embargo, las rdenes de la misma pieza hechas por un solo cliente en la misma fecha, se combinan y las cantidades se suman.