Unidad ii diseño de bd

850 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
850
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
15
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Unidad ii diseño de bd

  1. 1. Diseño de Base de Datos RelacionalesSe utilizará la herramienta CASE DataArchitect para realizar el modelo conceptualde la base de datos, posteriormente semigrará el modelo conceptual al modelo físicopara implementarlo en el administrador debase de datos robusto SQL Server. 1
  2. 2. Diseño de una Base de Datos Espacio del problema Modelo de Datos: Modelo Lógico Esquema de BD: Modelo Físico Implementación en la BDM.C. Daniel Esparza Soto 2
  3. 3. Espacio del problemaEl espacio del problema define característicascon que contará la BD que se desea desarrollar.Generalmente la definición del espacio delproblema se ha realizado de manera textual y enella se define las necesidades requeridas por laBD.Una buena definición del espacio del problemase lleva a cabo analizando todos los procesos endonde se desarrollará la BD.M.C. Daniel Esparza Soto 3
  4. 4. Análisis del espacio de problema1.- Todos los documentos que presenten informacióncapturada por los usuarios.2.- Revisar cualquier tipo de reportes que se utilizandentro de la empresa, esto es para obtener informaciónrelativa a los periodos de captura.3.- Analizar los procesos internos de manejo demateriales, entradas de almacén, etc., todo esto paraencontrar información no contemplada en los puntosanteriores.4.- Si se trata de remplazar un sistema ya existente, esnecesario revisar las especificaciones de dicho sistema yaportar las mejoras necesarias.M.C. Daniel Esparza Soto 4
  5. 5. Espacio del problema:FerreteriaAdministrar las ventas de una ferreteriallevando el control de articulos agrupados porfamilias. Las ventas deben llevar el registrodel cliente y el empleado que realiza la venta.Es necesario reportes:De Ventas Por municipio y colonia.De ventas por zonas de empleado.M.C. Daniel Esparza Soto 5
  6. 6. Espacio del problema: Lavado deautomovilesAdministrar una cadena de lavado de carros,donde se debe registrar el servicio proporcionadoa cada vehiculo, señalando :El nombre del cliente.Marca y modelo del vehiculo,Numero de unidad de lavado,Empleado que lavó el carro yServicios proporcionados: lavado int. , ext. , demotor, shampoo,etc.M.C. Daniel Esparza Soto 6
  7. 7. Analisis del problema:Liga de futbolRealizar el control de equipos de futbol en unaliga o torneo, en la liga de futbol habráentrenadores y cada jugador solamente puedepertenecer a un equipo.La liga contará con 5 categorias:8-10,11-12,13-14,15-16.Se contará con 2 ramas: femenil y varonil.Realizar el calendario regular y resultados de lospartidos.M.C. Daniel Esparza Soto 7
  8. 8. Modelo de datosEs una descripción conceptual del espacio delproblema, esto incluye la definición de entidades,sus atributos y sus restricciones. También incluyeuna descripción de las relaciones establecidasentre las entidades y cualquier restricción que seaplique a sus relaciones. El modelo de datos seexpesará entonces en función de:1.- Entidades.2.- Atributos.3.- Dominios4.- Asociaciones.M.C. Daniel Esparza Soto 8
  9. 9. EntidadesUna entidad es cualquier cosa que resultenecesaria en el sistema para mantenerinformación. Cuando se empieza a diseñar elmodelo de datos la recopilación de entidades esel inicio del proceso. Cuando se habla delespacio del problema, la mayoría de losnombres y verbos que se utilizan estaránsujetos a convertirse en entidades.M.C. Daniel Esparza Soto 9
  10. 10. EntidadesLiga de Futbol: Ferreteria: Lavado:Liga. Articulos LavadoEquipos. Familias VehiculosJugadores. Ventas EmpleadosEntrenadores. Ferreterias ClientesCategorias. Empleados UnidadesRamas. Clientes ServiciosCalendario. Zonas MarcasResultados. Colonias Modelos MunicipiosM.C. Daniel Esparza Soto 10
  11. 11. AtributosEl sistema tendrá que plasmar ciertos hechos decada entidad. Esos hechos se refieren como losatributos de la entidad.La determinación de los atributos que hay queincluir en cada entidad es un proceso semántico,se deben tomar descisiones basadas en elsignificado de los datos y en cómo se utilizarán.Con el estado actual de la tecnología no hayforma de desarrollar un diseño de BD que sepueda demostrar que es correcto. Se puedeprobar que algunos diseños tienen fallas, pero nose puede probar que uno concreto no las tenga.M.C. Daniel Esparza Soto 11
  12. 12. Atributo identificador o clave principalUna vez definidas las entidades y susrespectivos atributos debemos considerar dentrode cada entidad, un atributo principal queidentifique cada elemento de la entidad, a esteatributo se le conocera como identificador,clave candidata o clave principal de la entidad.Esta clave principal posteriormente seconvertirá en la llave primaria de la tabla.M.C. Daniel Esparza Soto 12
  13. 13. DominiosEl dominio establece el conjunto de valoresposibles que el atributo puede contener parahacer considerado como válido. A menudo seconfunden los dominios con los tipos de datos,aunque no son exactamente lo mismo. Tipo dedato es el concepto físico, mientras que dominioes un concepto lógico. El concepto de dominio esmás amplio que el tipo de datos, un dominioestablece una descripción más especifica dedatos que son válidos.M.C. Daniel Esparza Soto 13
  14. 14. Ejemplo 1: espacio del problema,entidades y atributos.Espacio del problema:Se desea llevar el registro de unas elecciones enel estado donde se eligirá gobernador. Habrácasillas por municipios y se tendrán candidatospor partidos políticos.Es necesario un reporte de los ciudadanos queesten dados de alta en las casillas. Un reportefinal de votaciones por candidatos en cadamunicipio y en cada casilla.M.C. Daniel Esparza Soto 14
  15. 15. AsociacionesAdemás de los atributos de cada entidad, unmodelo de datos debe especificar lasasociaciones existentes entre las entidades. Enel nivel conceptual, las asociaciones sonsimplemente relaciones existentes entreentidades. Las entidades se clasifican en :- Entidades participantes.- Grado de una asociación.M.C. Daniel Esparza Soto 15
  16. 16. Entidades participantesSon las entidades que participan en unaasociación. Se clasificán en :1.- Entidades débil: Es la entidad que sólopuede existir en relación a otra entidad. Tambiénse le conoce como entidad con participacióntotal en la asiciación debido a que sólo existe siexiste la asociación.2.- Entidad normal: Es la entidad que puedeexistir por si misma en la asociación. También sele conoce como entidad con participaciónparcial.M.C. Daniel Esparza Soto 16
  17. 17. Entidades participantes Clientes Pedidos E. Normal E. débil Familias Productos E. Normal E. débilM.C. Daniel Esparza Soto 17
  18. 18. Clasificación de entidades1.- Entidad Principal: Es la entidad quecompartirá su clave principal con la otra entidadla cual se le conocerá como entidad externa. Laentidad principal siempre es la entidad normal.2.- Entidad Externa: Es la entidad quecontendrá la clave principal de la entidadprincipal. Generalmente es la entidad débil.M.C. Daniel Esparza Soto 18
  19. 19. Entidades participantes Clientes Pedidos E. Normal E. débil E. Principal E. Externa Familias Productos E. Normal E. débil E. Principal E. ExternaM.C. Daniel Esparza Soto 19
  20. 20. Grado de una asociaciónEs el numero de entidades participantes en unaasociación, se clasifican en :1.- Asociación unaria: Es una asociación deuna entidad consigo misma.2.- Asociación binaria: Es una asociación entre2 entidades, este es el tipo de asociación máscomún.3.- Asociaciones ternarias: Es una asociacióndonde intervienen 3 entidades, este tipo deasociación es el menos conocido.M.C. Daniel Esparza Soto 20
  21. 21. Cardinalidad de la asociaciónEs el número máximo de ejemplares de unaentidad que se pueden asociar con un ejemplarde otra entidad. Hay 3 variaciones:1.- Asociación uno-a-uno.2.- Asociación uno-a-muchos.3.- Asociación muchos-a-muchos.M.C. Daniel Esparza Soto 21
  22. 22. Asociación uno-a-unoEste tipo de asociaciones ocurre cuando unejemplar de la entidad X se puede asociar tansolo con un ejemplar de la entidad Y. Cuando seeligen las asociaciones uno-a-uno entreentidades hay que asegurarse de que laasociación se mantiene en todo momento y encaso de que cambie no nos interesan los valorespasados.Estas asociaciones son raras en el mundo real,pero son muy comunes y útiles como conceptoabstracto. Se utilizan principalmente para reducirel numero de atributos de una relación o paramodelar las subclases de las entidades.M.C. Daniel Esparza Soto 22
  23. 23. Asociaciones uno-a-unoEn estas asociación cualquiera de las 2entidades puede ser la entidad principal o laentidad externa. La elección depende de lasespecificaciones del espacio del problema.Una vez elegida cada una de ellas, se procede acopiar la clave principal que pertenece a laentidad principal a los atributos de la entidadexterna. Este nuevo atributo dentro de la entidadexterna se deberá marcar como entidad única ocampo único.M.C. Daniel Esparza Soto 23
  24. 24. Ejemplo: asociaciones uno-a-unoModelar la asociación que existe entreempleados y despachos en un edificio en dondeen cada despacho solamente puede trabajar unempleado. E. principal E. Externa despachos Empleados Atributos: Numero Clave Dimensiones Nombre Baños Domicilio Ventanas Fecha Nac.M.C. Daniel Esparza Soto NumeroDesp (unico) 24
  25. 25. Solución II: despachos Empleados E. Externa E. principal Atributos: Numero Clave Dimensiones Nombre Baños Domicilio Ventanas Fecha Nac. Clave(unico)M.C. Daniel Esparza Soto 25
  26. 26. Asociación uno-a-muchosEs el más común entre las entidades y es dondeun ejemplar de una entidad se puede asociar conuno o muchos ejemplares de otra entidad.La entidad del lado de uno de la asociaciónsiempre es la relación principal, su claveprincipal se copia en la relación del lado muchosque se convierte en la relación externa, por lotanto, la entidad del lado de muchos siempre esla relación externa.M.C. Daniel Esparza Soto 26
  27. 27. Ejemplo: asociaciones uno-a-muchosModelar la asociación que existe entre estados ymunicipios donde cada estado tiene muhcosmunicipios. Estados Municipios Atributos: ClaveEdo ClaveMpio Nombre Nombre Tamaño Tamaño ClaveEdoM.C. Daniel Esparza Soto 27
  28. 28. Ejemplos:1.- Realizar el modelo lógico de paises, estados,municipios y colonias.2.- Modelar una empresa donde cada empleadotiene derecho a un cajon de estacionamiento.Además llevar el registro de los cajonesexistentes por piso. Los empleados estanasignados a un departamento en la empresa.M.C. Daniel Esparza Soto 28
  29. 29. Asociación muchos-a-muchosEste tipo de asociaciones relaciona los elementos de unaentidad contra todos los elementos de la otra entidad. Sepuede considerar una relación doble uno-a-muchos enambos sentidos. Este tipo de asociaciones genera unatercera entidad abstracta llamada tabla unión la cualtendrá asociaciones uno-a-muchos dirigida a ella por ellado de muchos. Por lo tanto tendremos 2 entidadesprincipales las cuales heredarán sus claves principales ala tabla unión que será la relación externa.Esta tabla unión, por lo tanto tendrá las claves principalesde las entidades principales como su propia claveprincipal.M.C. Daniel Esparza Soto 29
  30. 30. Ejemplo: asociaciones muchos-a-muchosModelar la asociación entre alumnos y materiasdonde un alumnos puede tomar clases enmuchas materias y una materia puede tenermuchos alumnos. Materias AlumnosSe convierte en : Materias T. unión AlumnosAtributos: ClaveMateria Matricula Matricula Nombre ClaveMateria Nombre CréditosM.C. Daniel Esparza Soto Dirección 30
  31. 31. 1.- Realizar el modelo lógico de la relación queexiste entre almacenes y materiales, donde cadamaterial puede estar guardado en variosalmacenes.2.- Realizar el modelo lógico para el prestamo delibros en una biblioteca, llevando el control deprestamos de cada alumno.M.C. Daniel Esparza Soto 31
  32. 32. Asociaciones binariaModelar la asociación entre Despachos yEmpleados en cada uno de estos casos:1.- Asociación binaria uno-a-uno.2.- Asociación binaria uno-a-muchos.3.- Asociación binaria muchos-a-muchos.M.C. Daniel Esparza Soto 32
  33. 33. Asociaciones unariasModelar la asociación entre Empleados y Jefes( que también son empleados) para cada uno deestos casos:1.- Asociación unaria uno-a-uno.2.- Asociación unaria uno-a-muchos.3.- Asociación unaria muchos-a-muchos.M.C. Daniel Esparza Soto 33
  34. 34. Herramientas CASE para el modeladode datosM.C. Daniel Esparza Soto 34
  35. 35. VisioM.C. Daniel Esparza Soto 35
  36. 36. Data Architect by ThekompanyM.C. Daniel Esparza Soto 36
  37. 37. Data Architect by PowerDesignerM.C. Daniel Esparza Soto 37
  38. 38. Metodología par resolver un espacio delproblema y encontrar su diagramaEntidad/Relación.1.- Encontrar las entidades normales que pudieratener el espacio del problema y listarlas.2.- Determinar los atributos de cada entidad.3.- Señalar la clave principal en cada entidad.4.- Modelar las asociaciones existentes entre lasentidades5.- Generar el modelo Físico.6.- Generar la secuencia de comandos paracrear la BD y tablas.M.C. Daniel Esparza Soto 38
  39. 39. 1.- Determinar las entidades b aa.- Seleccionar en la barra de herramientas el botón deentidad y arrastrarlo al área de diseño.b.- Editar la entidad haciendo doble click sobre la entidaden la ventana Entity Propierties.M.C. Daniel Esparza Soto 39
  40. 40. 2.- Determinar los artibutos de cada entidad a.- En la ventana Entity Property oprimir el botón Atributes para definir los artibutos de la entidad. b.- Teclear los nombres de los atributos y determinar el tipo de datos opriminendo el botón en dicha columna. ba M.C. Daniel Esparza Soto 40
  41. 41. 3.- Señalar la clave principal en cadaentidad.a.- Seleccionar si el campo es la clave principal(Identifier) y si el campo obligatorio (Mandatory) cb.- Obtendremos la entidadTerminada como lo muestrala siguiente figura.M.C. Daniel Esparza Soto 41
  42. 42. 4.- Modelar las asociaciones existentesentre las entidades.a.- Seleccionar en la barra de herramientas el botón deRelantionShip y arrastrarlo sobre las dos entidades que se sequieren asociar.b.-Para determinar el tipo de cardinalidad entre las entidades, hacerdoble click sobre la relación.a bM.C. Daniel Esparza Soto 42
  43. 43. 4.- Modelar las asociaciones existentesentre las entidades.c.- Escribir el nombre de la asociación.d.- Determinar la cardinalidad de la relación : uno-a-uno, uno-a-muchos o muchos-a-muchos.e.- Determinar si los campos que se van a compartir son obligatorios(Mandatory). c d eM.C. Daniel Esparza Soto 43
  44. 44. 5.- Generar el modelo Físicoa.- Seleccionar en el Menú Dictionary la opciónGenerate Physical Model.b.- Elegir el tipo de base de datos como SQLServer y el nombre del archivo físico PDM. baM.C. Daniel Esparza Soto 44
  45. 45. 5.- Generar el modelo Físicoc.- En la ventana de mensajes, se mostrarán losresultados de la generación del modelo físico eindicará si la generación fue exitosa.M.C. Daniel Esparza Soto 45
  46. 46. 6.- Generar la secuencia de comandospara crear la BD y tablas.a.- Seleccionar en el Menú Database la opción GenerateDatabase.b.- Elegir el nombre del archivo de la secuencia decomandos y su directorio.c.- Seleccionar la pestaña Database para configurar labase de datos. b c aM.C. Daniel Esparza Soto 46
  47. 47. 6.- Generar la secuencia de comandos para crear la BD y tablas. d.- Seleccionar la opción Create Database para generar también el código de creación de la base de datos. e.- Oprimir el botón Generate Script para generar la BD. f.- Se oprime el botón Si para mostrar la secuencia de comandos que se utilizará para generar la BD y tablas. fd e M.C. Daniel Esparza Soto 47

×