1 1 Quinta Parte Diseño de Bases de Datos
2 Técnicas de Diseño. 15 2
3 Técnicas de Diseño. 15 3 Obtener Análisis de Sistemasla descripción de S en L 1 Paso 1.- Obtener mediante herramientas de Análisis de Sistemas, la descripción de S en L 1. Se recuerda que se discutieron en la presentación del procedimiento E/R. ¿Lista de Dependencias?
4 Técnicas de Diseño. 15 4 Actividades asociadas al Paso 1. Obtener la descripción de S en L1 En el Paso 1 se declaró como propósito Obtener la descripción de S en L1 mediante herramientas de Análisis de Sistemas. Se partirá de suponer que: E1 E2 E3E4 E5 E1 E6 E8 E7 E9 E10 E11 Mediante entrevistas a las personas que mejor conocen la estructura y características del UD y auxiliandose de las salidas requeridas al SIC que se intenta diseñar, se ha logrado la capacidad necesaria para expresar a S en L1.
5 Técnicas de Diseño. 15 5 De estas entrevistas se debe obtener: listado entidades 1.-Un listado completo de todas las entidades de interés que forman parte del UD, ordenado por importancia relativa. listado asociaciones 2.-Un listado completo de todas las asociaciones de interés en que participen las entidades anteriores. listado propiedades 3.-Un listado completo de todas las propiedades de interés de todas las entidades listadas en 1 y 2.
6 Técnicas de Diseño. 15 6 En todos los casos se tiene que dejar bien clara: naturaleza del vínculo entre las entidadesLa naturaleza del vínculo entre las entidades y Entre ellas y sus atributos así como todas las restricciones pertinentes. La “forma” que tendrá esta descripción, es la característica distintiva del procedimiento.
7 Técnicas de Diseño. 15 7 En este procedimiento se usa la noción de Dependencias Simplemente Evaluadas como una ampliación de las Dependencias Funcionales y se le da también una interpretación más amplia a las Dependencias Multievaluadas Dependencias Multievaluadas. Por esa razón, se comienza con una explicación de estas nociones
8 Técnicas de Diseño. 15 8 X Y cuando un ‘valor’ de X siempre tiene asociado cuando más a uno de Y. XY PK DSE Diana Dependencia Simplemente Evaluada. (DSE). DSE X, Y Se dice que existe una DSE entre los atributos X, Y (simples o compuestos) y se representa:
9 Técnicas de Diseño. 15 9 X se le denomina PK (Primary KeyAl círculo X se le denomina PK (Primary Key) llave primaria de Y y Al Y se le denomina Diana de X.Al círculo Y se le denomina Diana de X. DSE Estas DSE son de dos tipos, las que para cualquier valor de X: a).siempre hay asociado un valor de Y. b).puede haber asociado uno o ninguno. Las Y del primer tipo se denominan atributos obligatorios y las del segundo atributos facultativos. Y PK DSE Diana X
10 Técnicas de Diseño. 15 10 D.Dletra F DSE facultativas que existan en S. En el D.D, se coloca una letra F seguida de un # consecutivo que identificará a todas las DSE facultativas que existan en S. Y X Z X Q F1 F2 Obligatoria Facultativa.
11 Técnicas de Diseño. 15 11 siempre DSE Obligatorias Cada persona tiene asociado siempre nombre, sexo, fecha de nacimiento etc. y estas propiedades se expresan usando DSE Obligatorias como sigue: 1.-NID–Persona Nombre Persona. 2.-NID–Persona F Nacimiento. 3.-NID–Persona Sexo. Las DSE Facultativas, pueden ser: 4.-NID–Persona Teléfono. 5.-NID–Persona Placa Vehículo. Diferenciándolas con una letra F sobre cada arco que parte de un círculo punteado. X
12 Técnicas de Diseño. 15 12 Para los valores de X se cumple : - forman una llave. - no pueden ser nulos. - no se pueden repetir. - no se actualizan. Para los valores de Y se cumple : - pueden no existir(los facultativos). - pueden ser nulos(se deben evitar). - se pueden repetir. - se actualizan.
13 Técnicas de Diseño. 15 13 cuando un ‘valor’ de X, en al menos un caso, tiene asociados Dependencias multivaluadas (DMV) Dependencias multievaluadas (DMV) Se dice que existe una dependencia multievaluada entre los atributos X y Y (simples o no) y se representa: dos o más de Y. Una DMV entre X y Y se puede interpretar como: XY PKEK
14 Técnicas de Diseño. 15 14 Y X X Cada persona puede tener asociado dos o más oficios y/o dominar dos o más Idiomas. Esto se expresa : 1) NID_Persona Cod-oficio. 2) NID_Persona Cod-Idioma. Para los valores X y Y se cumple : - ambos forman una llave. - no pueden ser nulos. - no se puede repetir la combinación. - no se actualizan.
15 Técnicas de Diseño. 15 T1.-Reglas para construir miembros de las Listas de Dependencias T1.-Reglas para construir miembros de las Listas de Dependencias. DMVDSE 1.-Cada uno debe ser usado para describir una DMV o varias DSE siempre que se refieran a un mismo sujeto o entidad. Ejemplo: dependencia A Bella sola Si se trata de una dependencia del tipo A B debe describirse ella sola usando un miembro de la lista. (A B), (A C), (A D) y (A E) listaA BCDE Si se trata de varias del tipo (A B), (A C), (A D) y (A E) se pueden describir a todas en un miembro la lista como A BCDE.
16 Técnicas de Diseño. 15 16 LISTADIAGRAMA. 2.-Cada miembro de la lista se debe identificar con un número para resolver problemas de referencia cruzadas entre la LISTA y su DIAGRAMA. 1.- 2.-..k.-Cada entidad A tiene asociados a dos o más de la B.. 1.- 2.-..k.-Cada entidad A tiene asociados a dos o más de la B.. k A B
17 Técnicas de Diseño. 15 17 3.-Se identificarán de una manera única en toda ella. Es decir, no se pueden usar sinónimos. Ejemplo: ID_Titular_de_la_Cuenta ID_Titular_de_la_Cuenta.ID_Usuario_de_la_Cuenta.ID_Dueño_de_la_Cuenta. ISTA. Se elige a uno y sólo uno de ellos para toda la LISTA. Lista de Dependencias. 1.- Cada trabajador.... 2.- Cada taxi puede trab.. 3.- Cada turno de trabajo... 4.- Los dias de la sema.. 5.- Los modelos de los.. 6.- La catagoria de la... Rene M
18 Técnicas de Diseño. 15 18 4.-Se redactan de modo que esté claro quien es el sujeto de la dependencia. Estructura.- donde:.-sujeto.-los atributos representantes de las entidades determinantes.
19 Técnicas de Diseño. 15 19.-verbo.-define si se describe a una dependencia del sujeto con sus propiedades o una asociación del sujeto con otra entidades..-predicado.- define a la entidad o propiedad asociada mediante los atributos que las representan.
20 Técnicas de Diseño. 15 20 naturaleza de las dependencias 5.-La naturaleza de las dependencias tiene que quedar claras. Esto se garantiza con una correcta selección de las combinaciones verbo–artículo verbo–artículo del predicado. Ejemplos: tiene untiene un, asociado con unestá asociado con un, cuando más unoposee cuando más uno, etc adquirió variosadquirió varios, tiene más de unotiene más de uno, posee al menos dosposee al menos dos, etc.
21 Técnicas de Diseño. 15 21 atributo 6.-Cada atributo representante de entidadentidad o de propiedad de entidad,propiedad de entidad, condiciones de Codd para la 1FN tiene que tomar valores atómicos para conseguir de manera inmediata las condiciones de Codd para la 1FN.
22 Técnicas de Diseño. 15 22 orden 7.- El orden debe comenzar con aquellos que describen a entidades de mayor relevancia las entidades de mayor relevancia para el UD, colocando a todos los elementos relativos a una misma entidad, unos cerca de los otros.
23 Técnicas de Diseño. 15 23 DSE facultativas 8.-Las descripciones de las DSE facultativas se aclararán con particular cuidado, usando los predicados: cuando ms uno.-cuando más uno. si acaso uno.-si acaso uno, etc.
24 Técnicas de Diseño. 15 24 3, 5 y 6 inviolables Las reglas numeradas 3, 5 y 6 son inviolables, el resto son recomendaciones útiles para simplificar la traducción T2.
25 Técnicas de Diseño. 15 25 Círculos aislados Círculos aislados. círculos, Una forma alternativa para representar DMV mutuas entre pares de círculos, cuando uno de ellos es miembro de una cadena y el otro sólo tiene ese vínculo en el diagrama es la siguiente:
26 Técnicas de Diseño. 15 26 Obtener S en L 2 2 Paso 2.-Obtener S en L 2 utilizando las reglas de T 2 para este enfoque. Se obtiene lo que se denomina DIAGRAMA DE DEPENDENCIAS LISTA que junto a la LISTA dan nombre a este procedimiento. ¿Diagrama de Dependencias?
27 Técnicas de Diseño. 15 27 T2.- Reglas para obtener un DD a partir de una Lista. D.D 1.- El D.D se debe construir, traduciendo “traduciendo” cada miembro de la Lista en el orden en que fue construido.
28 Técnicas de Diseño. 15 28 se cuestionan 2.- Al representar a cada miembro de la Lista se cuestionan: dependencias recíprocasLas dependencias recíprocas para las DMV. Si es una DSE se elimina la DMV. Las posibles dependencias de la entidad que se está representando (sujeto) con respecto a otras ya representadas. (Si aparece alguna Inclúyala en la Lista) Esta regla constituye un mecanismo de retroalimentación del procedimiento Esta regla constituye un mecanismo de retroalimentación del procedimiento.
29 Técnicas de Diseño. 15 29 3.-Los atributos con dependencias mutuas se colocarán unos cerca de los otros en el diagrama. Esta recomendación simplifica el diagrama y lo hace más legible.
30 Técnicas de Diseño. 15 30 (DSE ó DMV DD, la Lista. 4.-Cada dependencia (DSE ó DMV) representada llevará en el arco asociado del DD, el número de orden que le corresponde como miembro de la Lista.
31 Técnicas de Diseño. 15 31 DD 5.- A medida que se avanza en el DD se verifican los pasos anteriores. Listael DD más simple 6.- Al considerar las alternativas de representación de cada miembro de la Lista, elija la que produce el DD más simple.
32 Técnicas de Diseño. 15 32 Cada identificador 7.-Cada identificador de Atributo (o grupo) representante de una entidad o de una propiedad, sólo puede aparecer una vez en el DD sólo puede aparecer una vez en el DD. En caso necesario, se usan distintos identificadores.
33 Técnicas de Diseño. 15 33 8.-No se pueden crear “ciclos” en el DD. En caso de que aparezcan deben ser rotos. Ejemplo: atributossiempre mutuauna de ellas en el DD 9.- Las dependencias entre cualquier par de atributos o grupo de ellos es siempre mutua pero sólo se representa una de ellas en el DD.
34 Técnicas de Diseño. 15 34 Las dependencias representadas crean “cadenas 10.-Las dependencias representadas crean “cadenas” entre los diferentes círculos. El sentido de estas cadenas tiene que ser aquel que: atributos de mayor importancia relativaParta de los atributos de mayor importancia relativa. más DSE en la cadenaProduzca más DSE en la cadena. menos valores NULLProduzca menos valores NULL en las cadenas.
35 Técnicas de Diseño. 15 35 A ningún atributo o grupo pueden llegar dos o más arcos dobles 11.- A ningún atributo o grupo pueden llegar dos o más arcos dobles sin emplear círculos múltiples en su representación. dos o más atributos dominio común DD bandera de dominio 12.- Cuando dos o más atributos o grupos tienen dominio común, se señala en el DD colocando una bandera de dominio por cada dominio común diferente.
36 Técnicas de Diseño. 15 36 Las reglas de la 7 a la 12 son inviolables
37 Técnicas de Diseño. 15 37 Obtener S en L 3 3 Paso 3.-Obtener S en L 3, es decir la BD lógica, siguiendo las reglas de T 3 para este enfoque. La última acción es hacer el análisis de costos y tasas de consultas para la posible desnormalización y así obtener la BD definitiva.(Mejorada) ¿Tablas de la Base de Datos?
38 Técnicas de Diseño. 15 38 Reglas para obtener las Tb a partir de un DD. 1.- Se identifica a cada círculo diana con una D seguida de un número consecutivo como sigue: En el ej. hay 3 círculos diana pero sólo 2 diferentes pues tanto B como D son propiedades de A. Si D es facultativa de A, se escribe D3 y no D2 como correspondería. A B C D D1 D2 D3
39 Técnicas de Diseño. 15 39 llave terminalEK seguidas de un número consecutivo 2.- Se identifica también a cada círculo de llave terminal en este caso con las letras EK seguidas de un número consecutivo. traducciónDD resolviendo los círculos 3.- La “traducción” del DD se hace resolviendo los círculos en el siguiente orden: Dianas a).-Dianas. Llaves terminales b).-Llaves terminales. Círculos aislados c).-Círculos aislados. Cada cadena de enlaces genera una tabla base 4.- Cada cadena de enlaces genera una tabla base. No pueden existir 2 tablas de igual llave 5.- No pueden existir 2 tablas de igual llave excepto las de atributos facultativos.
40 Técnicas de Diseño. 15 40 6.- Los atributos que son llaves extranjeras o partes de ellas, se subrayan conlíneas discontinuas en las tablas, los que forman la llave primaria, con línea contínua. 7.- Cada cadena representada como tablase marca en el DD, como resuelta, de la siguiente manera:
41 Técnicas de Diseño. 15 41 Reglas para ‘dibujar’ las Tb de la BD. tabla de llave más extensa centro. 1.-La tabla de llave más extensa se coloca al centro. De las restantesmás atributos comunes 2.-De las restantes, la Tb con más atributos comunes con la elegida (en la llave o fuera de ella) se coloca junto a ella. Repetir el paso 2 con cada extremo 3.-Repetir el paso 2 comparando cada vez con cada extremo hasta tener ubicada todas las Tb.
42 Técnicas de Diseño. 15 42 Unir mediante enlaces atributos de igual nombre 4.-Unir mediante enlaces entre los atributos de igual nombre (o dominio). Forman parte de la definición de la BD y son una guía para construir consultas. reflejar con claridad los enlaces de navegación entre ellas. Estas reglas se usan para obtener un documento donde se registre una distribución de las Tb que permita reflejar con claridad los enlaces de navegación entre ellas.
43 Técnicas de Diseño. 15 43
44 Técnicas de Diseño. 15 44
45 Técnicas de Diseño. 15 45 Descripción del UD según L1 del enfoque LD. 1.-Cada Chofer de una Empresa de Taxis se reconoce por su NID, tiene una Licencia para Conducir de una Categoría dada, un nombre, dos apellidos, una edad, cierta cantidad de años de experiencia como chofer y sólo puede conducir un vehículo en la Empresa. 2.-Cada chofer tiene un turno fijo y puede trabajar dos consecutivos si el relevo no se presenta. 3.-Cada vehículo tiene una placa, un color y es de un modelo dado. 4.-Cada vehículo trabaja tres turnos diarios.
46 Técnicas de Diseño. 15 46 5.-Cada modelo es de una marca, se fabricó en un año dado y usa un sólo tipo de combustible. 6.-Cada turno, en cada día de la semana, tiene un plan para:.-Kilómetros recorridos con pasajeros. (PKP)..-Km recorridos vacío.(PKV)..-Cantidad de Servicios Prestados.(PCS). y.-Recaudación.(PR). 7.-Cada chofer, en cada día de la semana que trabaja, consigue un real de:.-Kilómetros recorridos con pasajeros.(RKP)..-Km recorridos vacío.(RKV)..-Cantidad de Servicios Prestados.(RCS). y.-Recaudación.(RR).
47 Técnicas de Diseño. 15 47 NID chofer Nomb+AP1+AP2+FechNac+EX+Licencia+Categoría Placa Color Modelo Marca+Año+Combustible Turno Día Semana PKC+PKVPS+PR RKC+RKV+RS+RR
48 Técnicas de Diseño. 15 48 NID chofer Nomb+AP1+AP2+FechNac+EX+Licencia+Categoría Placa Color Modelo Marca+Año+Combustible Turno Día Semana PKC+PKVPS+PR RKC+RKV+RS+RR * D5 D1 D2 D1 D2 D3 D1 D4 Se obtienen 5 tablas
49 Técnicas de Diseño. 15 49 Obtención de tablas lógicas delDD.( según T3). Choferes. NID NTPlacaNomAP1AP2EdadNlicCatExp Vehículos. Placa ModeloColor Modelos. ModeloMarcaAñoComb PlanDíaSem. NT DíaSem PKCPKVPSPR RealPorSalidaDíaSem. NIDNT DíaSem RKCRKVRSRR
50 Técnicas de Diseño. 15 50 Las dos últimas tablas tienen un atributo temporal y ello debe ser indicador de que no son actualizables, es decir, son datos históricos y pasarán a formar parte del BKD que junto a la BD modelan al UD. Un estudio de las mismas puede llevar al siguiente diseño:
51 Técnicas de Diseño. 15 51 RealPorSalidaDíaSem. NIDNT DíaSem RKCRKVRSRR PlanDíaSem. NT DíaSem PKCPKVPSPR Obtención de tablas lógicas delDD.( según T3). Choferes. NID NTPlacaNomAP1AP2EdadNlicCatExp Vehículos. Placa ModeloColor Modelos. ModeloMarcaAñoComb BD BKD Otra solución puede proponer que la última relación forme parte de la BD siempre que el plan pueda variar quedando el BKD con una.
52 52 Uso de las Técnicas de Diseño Tablas en 5FN L.D M.E.R Nivel de conocimiento de los usuarios Nivel de conocimiento de los diseñadores