Diagrama
Condiciones de servicio de Lucidchart
1. Tu relación con Lucidchart
1.1 Su uso de los productos, software, servicios y sitios web de Lucidchart (referidos colectivamente como los "Servicios" en este documento) está sujeto a los términos de un acuerdo legal entre usted y Lucidchart. "Lucidchart" significa Lucid Software Inc. cuya sede principal se encuentra en 10808 South Riverfront Parkway, Edificio 14, South Jordan, UT 84095, Estados Unidos. Este documento explica cómo se compone el acuerdo y establece algunos de los términos de dicho acuerdo.
1.2 Estos Términos de Servicio forman un acuerdo legalmente vinculante entre usted y Lucidchart en relación con su uso de los Servicios. Es importante que se tome el tiempo para leerlos cuidadosamente. Este acuerdo legal se conoce a continuación como los "Términos".
2. Aceptación de los Términos
2.1 Para utilizar los Servicios, primero debe aceptar los Términos. No puede utilizar los Servicios si no acepta los Términos.
2.2 Usted puede aceptar los Términos por:
(A) haciendo clic para aceptar o aceptar los Términos, cuando esta opción está disponible para usted por Lucidchart en la interfaz de usuario para cualquier Servicio; o
(B) utilizando los Servicios. En este caso, usted entiende y acepta que Lucidchart tratará su uso de los Servicios como aceptación de los Términos a partir de ese momento.
2.3 Usted no puede usar los Servicios y no puede aceptar los Términos si (a) usted no es mayor de edad para formar un contrato vinculante con Lucidchart, o (b) es una persona prohibida de recibir los Servicios bajo las leyes de los Estados Unidos Estados u otros países, incluyendo el país en el que usted reside o de la cual utiliza los Servicios.
2.4 Antes de continuar, debe imprimir o guardar una copia local de los Términos para sus registros.
3. Lenguaje de los Términos
3.1 Cuando Lucidchart le haya proporcionado una traducción de la versión en inglés de los Términos, usted acepta que la traducción se proporciona únicamente para su conveniencia y que las versiones en inglés de los Términos regirán su relación con Lucidchart.
3.2 Si hay alguna contradicción entre lo que dice la versión en inglés de los Términos y lo que una traducción dice, entonces la versión en inglés prevalecerá.
4. Prestación de los servicios por Lucidchart
4.1 Lucidchart está constantemente innovando para ofrecer la mejor experiencia posible a sus usuarios. Usted reconoce y acepta que la forma y naturaleza de los Servicios que Lucidchart proporciona puede cambiar de vez en cuando sin previo aviso a usted.
4.2 Como parte de esta innovación continua, usted reconoce y acepta que Lucidchart puede detener (permanentemente o temporalmente) los Servicios (o cualquier característica dentro de los Servicios) a usted oa los usuarios generalmente a la sola discreción de Lucidchart sin previo aviso. Usted puede dejar de usar los Servicios en cualquier momento. No necesita informar específicamente a Lucidchart cuando deje de usar los Servicios.
4.3 Usted reconoce y acepta que si Lucidchart desactiva el acceso a su cuenta, se le puede impedir acceder a los Servicios, a los detalles de su cuenta oa cualquier archivo u otro contenido contenido en su cuenta.
4.4 Usted reconoce y acepta que, aunque Lucidchart no haya establecido actualmente un límite máximo fijo en el número de transmisiones que puede enviar o recibir a través de los Servicios o en la cantidad de espacio de almacenamiento utilizado para el suministro de cualquier Servicio, Ser fijado por Lucidchart en cualquier momento, a discreción de Lucidchart.
5. Uso de los Servicios por usted
5.1 Para acceder a determinados Servicios, es posible que se le solicite que proporcione información sobre usted (como identificación o datos de contacto) como parte del proceso de registro del Servicio, o como parte de su uso continuo de los Servicios. Usted acepta que cualquier información de registro que usted da a Lucidchart será siempre exacta, correcta y actualizada.
5.2 Usted acepta usar los Servicios únicamente para los fines permitidos por (a) los Términos y (b) cualquier ley aplicable, regulación o prácticas o pautas generalmente aceptadas en las jurisdicciones pertinentes (incluyendo cualquier ley con respecto a la exportación de datos o software a Y de los Estados Unidos u otros países relevantes).
5.3 Usted se compromete a no acceder (o intentar acceder) a ninguno de los Servicios por ningún medio que no sea a través de la interfaz proporcionada por Lucidchart, a menos que se le haya autorizado específicamente a hacerlo en un acuerdo separado con Lucidchart. Usted se compromete específicamente a no acceder (o intentar acceder) a ninguno de los Servicios a través de medios automatizados (incluyendo el uso de scripts o rastreadores web) y se asegurará de cumplir con las instrucciones establecidas en cualquier archivo robots. txt presente en los Servicios .
5.4 Usted acepta que no participará en ninguna actividad que interfiera o interrumpa los Servicios (o los servidores y redes que están conectados a los Servicios).
5.5 A menos que usted haya sido específicamente autorizado a hacerlo en un acuerdo separado con Lucidchart, usted acepta que no reproducirá, duplicará, copiará, intentará crear un servicio sustituto o similar a través del uso o acceso a, vender, comerciar o revender el Servicios para cualquier propósito.
5.6 Usted acepta que usted es el único responsable de (y que Lucidchart no tiene ninguna responsabilidad con usted o con terceros) por cualquier incumplimiento de sus obligaciones bajo los Términos y por las consecuencias (incluyendo cualquier pérdida o daño que Lucidchart pueda sufrir) de cualquier Violación.
5.7 No asumimos ninguna responsabilidad por el procesamiento o manejo especial de datos que puedan ser considerados "sensibles" o "regulados" por leyes particulares. Usted acepta expresamente nuestro procesamiento de los datos que suba al Servicio sin ninguna manipulación especial, y usted acepta que no lo hará y utilizará los esfuerzos comercialmente razonables para asegurarse de que un tercero no lo haga, utilizar los Servicios para almacenar o transferir cualquier Datos que son controlados para exportación bajo cualquier ley o regulación de exportación o reexportación, o están sujetos por ley a restricciones especiales de procesamiento (por ejemplo, privacidad, servicios financieros y leyes y reglamentos de información sobre salud).
5.8 Usted acepta que usted es responsable por su propia conducta y Contenido mientras usa los Servicios y por cualquier consecuencia de los mismos. Usted acepta usar los Servicios sólo para propósitos que sean legales, apropiados y de acuerdo con estos Términos.
6. Facturación y Pago
6.1 Si selecciona un nivel de servicios pagados, puede optar por suscribirse y pagar los servicios de forma mensual o anual y Lucidchart facturará por adelantado al administrador de cuenta para el uso de los servicios. Los precios actuales para los niveles mensuales y anuales pagados son los establecidos en el sitio web de Lucidchart, y Lucidchart se reserva el derecho de modificar los precios en cualquier momento, siempre que Lucidchart notifique por correo electrónico al administrador de la cuenta de una cuenta de nivel pagado antes de cualquier pago mensual O el aumento anual de precios que afecta a esa cuenta. Si actualiza a un nivel o nivel superior pagado, Lucidchart acreditará el saldo restante de su pago de suscripción anterior a su nuevo nivel o nivel. Usted puede optar por descontinuar su cuenta de nivel pagado en cualquier momento; Sin embargo, Lucidchart no emite reembolsos por períodos de suscripción no utilizados.
6.2 Usted acepta mantener información de facturación válida y actualizada en el archivo con Lucidchart. Puede actualizar esta información de facturación en cualquier momento en la configuración de su cuenta.
6.3 Todos los pagos deben ser en dólares de los Estados Unidos a menos que se indique lo contrario en la página de precios de suscripción o en la factura.
a. Tarjeta de crédito o débito. Los honorarios de las cuentas en las que usted está pagando con una tarjeta de crédito, tarjeta de débito u otra forma de pago que no sea de factura se deben pagar al principio del mes para el que se le proporcionarán los Servicios. Para tarjetas de crédito o tarjetas de débito: (i) Lucidchart le cobrará por todos los cargos cuando se vence al principio de cada mes o año de servicio, según corresponda; Y (ii) estas tarifas se consideran morosas si no se reciben al comienzo de cada mes o año de servicio.
segundo. Facturas. Los pagos de facturas son debidos diez días después de la fecha de factura, a menos que se especifique lo contrario, y se consideran morosos después de dicha fecha.
do. Renovación. Para los niveles de pago, al final de cada período de suscripción anual o mensual (según corresponda), los Servicios se renovarán automáticamente por un año o mes adicional, respectivamente. Si desea cambiar su nivel o término de suscripción, el administrador de la cuenta debe cambiar la configuración en la consola de administración de cuentas que se proporciona como parte de los Servicios.
re. Otras formas de pago. Lucidchart puede habilitar otras formas de pago haciéndolas disponibles en la página de administración de cuentas y pagos. Estas otras formas de pago pueden estar sujetas a términos adicionales que puede que tenga que aceptar antes de utilizar las formas adicionales de pago.
6.4 Los pagos atrasados pueden devengar intereses a un tipo y medio por mes (o la tasa más alta permitida por la ley, si es menor) desde la fecha de vencimiento del pago hasta que se pague en su totalidad. Usted será responsable de todos los gastos razonables (incluidos los honorarios de abogados) incurridos por Lucidchart en la recolección de tales cantidades morosas, excepto cuando tales cantidades morosas se deban a inexactitudes de facturación de Lucidchart.
6.5 Lucidchart se esforzará por notificarle (o en el caso de una cuenta de Equipo, el administrador de su cuenta) si su cuenta pagada tiene cargos morosos. Si no se pagan las cuotas atrasadas, Lucidchart degradará automáticamente su cuenta a una cuenta gratuita de Lucidchart y / o suspenderá su uso de los Servicios.
6.6 Usted es responsable de los impuestos, derechos y aranceles asociados a la venta de los Servicios (aparte del impuesto sobre la renta de Lucidchart) (colectivamente "Impuestos"), y pagará a Lucidchart por los Servicios sin ninguna reducción por los Impuestos. Si Lucidchart está obligado a cobrar o pagar impuestos, se le facturarán los impuestos, a menos que proporcione a Lucidchart un certificado de exención de impuestos válido autorizado por la autoridad fiscal competente. Si usted está obligado por ley a retener cualquier impuesto de sus pagos a Lucidchart, debe proporcionar Lucidchart con un recibo oficial de impuestos u otra documentación apropiada para apoyar dichos pagos.
6.7 Es posible que estas condiciones de facturación y pago no se apliquen si no se suscribe a los Servicios directamente de Lucidchart.
7. Sus contraseñas y seguridad de la cuenta
7.1 Usted acepta y entiende que usted es responsable de mantener la confidencialidad de las contraseñas asociadas con cualquier cuenta que use para acceder a los Servicios.
7.2 En consecuencia, usted acepta que usted será el único responsable de Lucidchart por todas las actividades que ocurran bajo su cuenta.
7.3 Si se da cuenta de cualquier uso no autorizado de su contraseña o de su cuenta, acepta notificar a Lucidchart inmediatamente a support@lucidchart. com.
8. Privacidad y su información personal
8.1 Para obtener más información sobre las prácticas de Lucidchart en materia de protección de datos, lea la política de privacidad de Lucidchart en http://www. lucidchart. com/pages/privacy. Esta política explica cómo Lucidchart trata su información personal y protege su privacidad cuando utiliza los Servicios.
8.2 Usted acepta el uso de sus datos de acuerdo con las políticas de privacidad de Lucidchart.
9. Contenido en los Servicios
9.1 Usted entiende que toda la información (como archivos de datos, fuentes, texto escrito, software de computadora, música, archivos de audio, archivos de imagen u otros sonidos, fotografías, videos u otras imágenes) a las que pueda tener acceso como parte de, oa través de Su uso de, los Servicios son responsabilidad exclusiva de la persona de la cual se originó dicho contenido. Toda esta información se refiere a continuación como el "Contenido".
9.2 Debe tener en cuenta que el Contenido presentado a usted como parte de los Servicios, incluyendo pero no limitado a los anuncios en los Servicios y el Contenido patrocinado dentro de los Servicios, puede estar protegido por derechos de propiedad intelectual que son propiedad de los patrocinadores o anunciantes que proporcionan dicho Contenido A Lucidchart (oa otras personas o empresas en su nombre). Usted no puede modificar, alquilar, arrendar, prestar, vender, distribuir o crear obras derivadas basadas en este Contenido (en su totalidad o en parte) a menos que se le haya dicho específicamente que usted puede hacerlo por Lucidchart o por los propietarios de ese Contenido , En un acuerdo separado.
9.3 Lucidchart se reserva el derecho (pero no tendrá ninguna obligación) de pre-examinar, revisar, filtrar, filtrar, modificar, rechazar o eliminar todo o cualquier Contenido de cualquier Servicio.
9.4 Usted entiende que al usar los Servicios puede estar expuesto a Contenido que usted puede encontrar ofensivo, indecente u objetable y que, en este sentido, usted utiliza los Servicios a su propio riesgo.
9.5 Usted acepta que usted es el único responsable de (y que ni Lucidchart ni el tercero proveedor a través del cual adquirió Lucidchart tiene ninguna responsabilidad con usted o con terceros) de cualquier Contenido que cree, transmita o muestre durante el uso de los Servicios y Por las consecuencias de sus acciones (incluyendo cualquier pérdida o daño que Lucidchart pueda sufrir) al hacerlo.
10. Derechos de propiedad
10.1 Usted reconoce y acepta que Lucidchart (o los licenciantes de Lucidchart) y sus revendedores son propietarios de todos los derechos, títulos e intereses legales en los Servicios, incluidos los derechos de propiedad intelectual que subsisten en los Servicios (ya se registren o no, Y donde quiera que exista en el mundo esos derechos). Usted reconoce además que los Servicios pueden contener información que Lucidchart o sus revendedores designan confidencial y que no revelará dicha información sin el consentimiento previo por escrito de Lucidchart.
10.2 A menos que haya acordado lo contrario por escrito con Lucidchart, nada en los Términos le da derecho a utilizar cualquiera de los nombres comerciales de Lucidchart o sus revendedores, marcas comerciales, marcas de servicio, logotipos, nombres de dominio y otras características distintivas de la marca.
10.3 Si se le ha otorgado un derecho explícito a utilizar cualquiera de estas características de la marca en un acuerdo escrito por separado con Lucidchart, entonces usted acepta que su uso de tales características cumplirá con dicho acuerdo y con las disposiciones aplicables de los Términos.
10.4 Aparte de la licencia limitada establecida en la Sección 13, Lucidchart reconoce y acepta que no obtiene ningún derecho, título o interés de usted (o sus licenciantes) bajo estos Términos en o sobre cualquier Contenido que usted envíe, publique, transmita o muestre en , Oa través de los Servicios, incluidos los derechos de propiedad intelectual que subsistan en dicho Contenido (ya se trate de derechos registrados o no, y dondequiera que exista ese derecho en el mundo). A menos que haya acordado otra cosa por escrito con Lucidchart, usted acepta que es responsable de proteger y hacer cumplir esos derechos y que Lucidchart no tiene ninguna obligación de hacerlo en su nombre.
10.5 Usted acepta que no podrá eliminar, ocultar o alterar los avisos sobre derechos de propiedad (incluidos los avisos sobre derechos de autor y marcas comerciales) que se pueden colocar o incluir en los Servicios.
10.6 A menos que haya sido expresamente autorizado para hacerlo por escrito por Lucidchart, usted acepta que al utilizar los Servicios, no utilizará ninguna marca comercial, marca de servicio, nombre comercial, logotipo de ninguna empresa u organización de una manera que sea probable o Con el fin de causar confusión sobre el propietario o usuario autorizado de tales marcas, nombres o logotipos.
11. Publicidad
11.1. Si usted tiene una cuenta Lucidchart pagada o educativa, Lucidchart puede identificarlo como cliente en nuestro sitio o en nuestra lista de clientes, blogs y otras comunicaciones públicas. Para solicitar la eliminación de esta identificación, por favor notifíquenos por escrito a support@lucidchart. com o enviando una carta a la dirección de Lucidchart que se encuentra al principio de estos Términos. En algunos casos, es posible que no podamos eliminar su información, en cuyo caso le informaremos si no podemos hacerlo y por qué.
12. Licencia de Lucidchart
12.1 Lucidchart le otorga una licencia personal, mundial, libre de regalías, no asignable y no exclusiva para utilizar el software proporcionado por Lucidchart como parte de los Servicios proporcionados por Lucidchart (denominado "Software" a continuación ). Esta licencia tiene el único propósito de permitirle usar y disfrutar del beneficio de los Servicios como lo proporciona Lucidchart, de la manera permitida por los Términos.
12.2 Usted no puede (ni puede permitir que nadie más) copie, modifique, cree una obra derivada de, haga ingeniería inversa, descompile o intente extraer el código fuente del Software o cualquier parte del mismo, a menos que esto esté expresamente permitido o Requerido por la ley, oa menos que se le haya indicado específicamente que usted puede hacerlo por Lucidchart, por escrito.
12.3 A menos que Lucidchart le haya otorgado un permiso específico por escrito para hacerlo, no podrá asignar (o conceder una sublicencia de) sus derechos de uso del Software, conceder una garantía sobre sus derechos de uso del Software o transferirlo Cualquier parte de sus derechos de uso del Software.
13. Licencia de usted
13.1 Usted conserva los derechos de autor y cualquier otro derecho que ya posea en el Contenido que envíe, comparta, cargue, publique o muestre en los Servicios oa través de ellos. Los servicios están diseñados para facilitar la colaboración y el intercambio de contenido entre los usuarios. En apoyo de esa función principal, usted otorga a Lucidchart una licencia limitada para usar su Contenido para proporcionar los Servicios y sus características durante el término de este Acuerdo, incluyendo el derecho a reproducir, adaptar, modificar, traducir, publicar y distribuir Contenido únicamente Con el fin de permitir que Lucidchart le proporcione los Servicios de acuerdo con la Política de Privacidad de Lucidchart.
13.2 Usted entiende que Lucidchart, al realizar los pasos técnicos requeridos para proporcionar los Servicios a nuestros usuarios, puede (a) transmitir o distribuir su Contenido a través de varias redes públicas y en diversos medios; Y (b) realizar cambios en su Contenido que sean necesarios para conformar y adaptar dicho Contenido a los requisitos técnicos de conexión de redes, dispositivos, servicios o medios. Usted acepta que esta licencia permitirá que Lucidchart tome estas acciones.
13.3 Usted confirma y garantiza a Lucidchart que tiene todos los derechos, poder y autoridad necesarios para otorgar la licencia anterior. Usted acepta que no enviará, compartirá, cargará, publicará ni mostrará Contenido en o por medio del Servicio que esté protegido por derechos de autor, protegido por un secreto comercial o sujeto a derechos de propiedad de terceros, incluyendo derechos de privacidad y publicidad, a menos que usted sea el propietario De tales derechos o tener permiso de su legítimo propietario para enviar, compartir, subir, publicar o mostrar el Contenido y conceder a Lucidchart todos los derechos de licencia otorgados en esta Sección.
14. Actualizaciones de software
14.1 El Software que utilice puede descargar e instalar actualizaciones de Lucidchart de vez en cuando. Estas actualizaciones están diseñadas para mejorar, mejorar y desarrollar aún más los Servicios y pueden adoptar la forma de correcciones de errores, funciones mejoradas, nuevos módulos de software y versiones completamente nuevas. Usted acepta recibir dichas actualizaciones (y permitir que Lucidchart las entregue) como parte de su uso de los Servicios.
Terminar su relación con Lucidchart
15.1 Las Condiciones se seguirán aplicando hasta que sea terminado por usted o Lucidchart como se establece a continuación.
15.2 Si desea rescindir su contrato legal con Lucidchart, puede hacerlo mediante (a) la notificación de Lucidchart en cualquier momento y (b) cerrando sus cuentas para todos los Servicios que utiliza, en los que Lucidchart ha puesto esta opción a su disposición . Su notificación debe ser enviada, por escrito, a la dirección de Lucidchart que se establece al principio de estos Términos.
15.3 Lucidchart podrá en cualquier momento rescindir su contrato legal con usted:
(A) si ha incumplido alguna de las disposiciones de los Términos (o ha actuado de una manera que demuestre claramente que no tiene intención de cumplir con las disposiciones de los Términos); o
(B) si Lucidchart está obligado a hacerlo por ley (por ejemplo, cuando la prestación de los Servicios a usted es o se vuelve ilegal); o
(C) si Lucidchart está haciendo la transición para dejar de prestar los Servicios a los usuarios en el área en la que usted es residente o del cual usa el servicio; o
(D) si, a juicio de Lucidchart, la prestación de los Servicios a usted por Lucidchart ya no es comercialmente viable.
15.4 Nada de lo dispuesto en esta Sección afectará los derechos de Lucidchart respecto a la prestación de los Servicios bajo la Sección 4 de los Términos.
15.5 Cuando estos Términos lleguen a su fin, todos los derechos legales, obligaciones y responsabilidades de los que usted y Lucidchart se han beneficiado, han estado sujetos (o han acumulado en el tiempo mientras los Términos han estado en vigor) o que se expresan para continuar Indefinidamente, no se verá afectada por este cese, y las disposiciones del párrafo 23.6 seguirán aplicándose a tales derechos, obligaciones y responsabilidades indefinidamente.
15.6 Si su cuenta de Lucidchart se cancela, la información de nuestros servidores puede ser desactivada pero no borrada. No eliminamos activamente la información de tu perfil, por ejemplo tu nombre y dirección de correo electrónico. Cualquier contenido que no desee permanecer en nuestros servidores después de finalizar su relación con Lucidchart debe eliminarse antes de cerrar su cuenta.
16. EXCLUSIÓN DE GARANTÍAS
16.1 Ninguna de estas Condiciones, INCLUYENDO las secciones 16 y 17, deberá excluir O GARANTÍA DE LAS RESPONSABILIDADES DE LÍMITE Lucidchart POR PÉRDIDAS QUE NO ESTÉN EXCLUIDAS O LIMITADAS POR LA LEY APLICABLE. Algunas jurisdicciones no permiten la exclusión de ciertas garantías o condiciones o en la limitación o exclusión de responsabilidad por pérdida o daño por negligencia, la INCUMPLIMIENTO DE CONTRATO O INCUMPLIMIENTO DE LAS CONDICIONES IMPLÍCITAS, O DAÑOS DIRECTOS O INDIRECTOS. POR LO TANTO, SOLAMENTE LAS LIMITACIONES QUE SON LEGALES EN SU JURISDICCIÓN SE APLICARÁN A USTED Y NUESTRA RESPONSABILIDAD SE LIMITARÁ A LA EXTENSIÓN MÁXIMA PERMITIDA POR LA LEY.
16.2 USTED ENTIENDE Y ACEPTA EXPRESAMENTE QUE SU USO DE LOS SERVICIOS ES POR SU ÚNICO RIESGO Y QUE LOS SERVICIOS SE PROPORCIONAN "TAL CUAL" Y "SEGÚN DISPONIBILIDAD".
16.3 EN PARTICULAR, LUCIDCHART Y SUS LICENCIADORES Y REVENDEDORES NO REPRESENTAN O GARANTIZAN QUE:
(A) SU USO DE LOS SERVICIOS CUMPLIRÁ SUS REQUISITOS,
(B) SU USO DE LOS SERVICIOS SERÁ ININTERRUMPIDO, OPORTUNO, SEGURO O LIBRE DE ERROR,
(C) CUALQUIER INFORMACIÓN OBTENIDA POR USTED COMO RESULTADO DE SU USO DE LOS SERVICIOS SERÁ EXACTA O CONFIABLE Y
(D) QUE LOS DEFECTOS EN EL FUNCIONAMIENTO O FUNCIONALIDAD DE CUALQUIER SOFTWARE PROPORCIONADO A USTED COMO PARTE DE LOS SERVICIOS SERAN CORREGIDOS.
16.4 CUALQUIER MATERIAL DESCARGADO U OBTENIDO A TRAVÉS DEL USO DE LOS SERVICIOS ES A SU CUENTA Y RIESGO Y usted será el único responsable de cualquier daño a su sistema informático U OTRO DISPOSITIVO O PÉRDIDA DE DATOS QUE RESULTE DE LA DESCARGA DE CUALQUIER MATERIAL .
16.5 Ningún consejo o información, ya sea oral o escrito, obtenido por usted de Lucidchart O POR MEDIO DE LOS SERVICIOS, NINGUNA GARANTÍA QUE NO EXPRESAMENTE EN LOS TÉRMINOS.
16.6 Lucidchart Y SUS LICENCIAS Y DISTRIBUIDORES RENUNCIA EXPRESAMENTE A TODAS LAS GARANTÍAS Y CONDICIONES DE CUALQUIER TIPO, ya sea expresa o implícita, incluyendo, pero sin limitación a las garantías implícitas Y CONDICIONES DE COMERCIALIZACIÓN, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN.
17. LIMITACIÓN DE RESPONSABILIDAD
17.1 SUJETO A DISPOSICIÓN GLOBAL EN EL PÁRRAFO 16.1 ANTERIORMENTE, USTED EXPRESAMENTE ENTIENDE Y ACEPTA QUE LUCIDCHART Y SUS LICENCIATARIOS NO SERÁN RESPONSABLES POR:
(A) CUALQUIER DAÑO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, CONSECUENTE O EJEMPLAR QUE PUEDA SER INCURRIDO POR USTED, SIN EMBARGO CAUSADO Y BAJO CUALQUIER TEORÍA DE RESPONSABILIDAD. ESTO INCLUYE, ENTRE OTRAS, LAS PÉRDIDAS DE GANANCIAS (YA SEA DIRECTA O INDIRECTAMENTE), pérdida de prestigio o reputación de la empresa, PÉRDIDA DE DATOS, COSTO DE ADQUISICIÓN DE BIENES O SERVICIOS O otras pérdidas intangibles;
(B) CUALQUIER PÉRDIDA O DAÑO QUE PUEDA SER INCURRIDO POR USTED, INCLUYENDO PERO NO LIMITADO A PÉRDIDA O DAÑO COMO RESULTADO DE:
(I) CUALQUIER CAMBIO QUE LUCIDCHART PUEDA HACER A LOS SERVICIOS, O POR CUALQUIER CESSACION PERMANENTE O PROVISIONAL EN LA PROVISION DE LOS SERVICIOS (O CUALQUIER CARACTERISTICA DENTRO DE LOS SERVICIOS);
(II) LA ELIMINACIÓN, CORRUPCIÓN O FALTA DE ALMACENAMIENTO, CUALQUIER CONTENIDO Y OTROS DATOS DE COMUNICACIÓN MANTENIDOS O TRANSMITIDOS POR O A TRAVÉS DE SU USO DE LOS SERVICIOS;
(III) SU FALTA DE PROPORCIONAR A LUCIDCHART INFORMACIÓN DE CUENTA EXACTADA;
(IV) SU FALTA DE MANTENER SU CONTRASEÑA O DETALLES DE CUENTA SEGURO Y CONFIDENCIAL;
17.2 LAS LIMITACIONES DE LA RESPONSABILIDAD DE Lucidchart, Y LA DE SUS LICENCIAS Y DISTRIBUIDORES, A USTED EN EL PÁRRAFO 17.1 SE APLICARÁN SI O NO Lucidchart, sus licenciantes o revendedores HAN SIDO ADVERTIDO O DEBERÍA HABER SIDO CONSCIENTE DE LA POSIBILIDAD DE TALES PÉRDIDAS.
18. Políticas de derechos de autor
18.1 Lucidchart no permite la infracción de los derechos de propiedad intelectual sobre sus Servicios. Lucidchart puede eliminar Contenido si cree o tiene razones para creer que dicho Contenido infringe los derechos de autor de otra persona. Lucidchart se reserva el derecho de eliminar cualquier Contenido, inhabilitar su capacidad para compartir o cargar Contenido dentro del Servicio, o terminar su acceso al Servicio (a) para cargar o compartir dicho Contenido en Violación de estos Términos de Servicio; O (b) si, en circunstancias apropiadas, usted está determinado a ser un infractor reincidente.
18.2 Lucidchart se reserva el derecho, a su entera discreción, de decidir si su conducta es inapropiada y si cumple con estas Condiciones de servicio por violaciones distintas de las infracciones de derechos de autor, como pornografía, material obsceno o difamatorio, etc. Puede terminar su acceso por dicha conducta inapropiada en violación de estos Términos de Servicio en cualquier momento y eliminar dicho Contenido inaceptable, sin previo aviso ya su sola discreción.
19. Anuncios
19.1 Algunos de los Servicios pueden estar respaldados por ingresos publicitarios y pueden mostrar publicidad y promociones. Estos anuncios pueden dirigirse al contenido de la información almacenada en los Servicios, consultas realizadas a través de los Servicios u otra información.
19.2 La manera, el modo y el alcance de la publicidad de Lucidchart sobre los Servicios están sujetos a cambios sin previo aviso.
19.3 En consideración a Lucidchart que le otorga el acceso y el uso de los Servicios, usted acepta que Lucidchart puede colocar dicha publicidad en los Servicios.
20. Otros contenidos
20.1 Los Servicios pueden incluir hipervínculos a otros sitios web o contenidos o recursos. Lucidchart puede no tener ningún control sobre los sitios web o recursos que son proporcionados por empresas o personas distintas de Lucidchart.
20.2 Usted reconoce y acepta que ni Lucidchart ni sus otorgantes de licencias o resllers son responsables de la disponibilidad de dichos sitios o recursos externos y no respalda ningún tipo de publicidad, productos u otros materiales en o disponibles de dichos sitios web o recursos.
20.3 Usted reconoce y acepta que ni Lucidchart ni sus licenciantes o revendedores son responsables de ninguna pérdida o daño que pueda incurrir por su parte como resultado de la disponibilidad de esos sitios o recursos externos, o como resultado de cualquier confianza depositada por usted en La integridad, la exactitud o la existencia de cualquier publicidad, productos u otros materiales en, o disponibles en, dichos sitios web o recursos.
21. Galerías comunitarias
21.1 El Servicio puede contener galerías que puedan presentar contenido de terceros ( "Galerías Comunitarias"). Las Galerías de la Comunidad incluyen sin limitación la Biblioteca de Plantillas y cualquier otra galería que Lucidchart elija a su discreción para poner a su disposición. El contenido y la información de las galerías de la comunidad ( "Contenido de la galería"), como las plantillas, fueron creados por Lucidchart o por terceros. Como entre usted y los creadores de Contenido de Galería, cualquier propiedad intelectual o derechos de propiedad permanecen con los creadores.
21.2 El Contenido de la Galería: (a) pretende servir como una sugerencia solamente; Y (b) no es un sustituto del asesoramiento profesional o conocimiento o dirección específica y autorizada. Lucidchart no promete que el Contenido de la Galería funcionará para sus propósitos, o que está libre de virus, bugs u otros defectos. El contenido de la Galería se proporciona "tal cual" y sin garantía de ningún tipo. Usted solo asume el riesgo de usar el Contenido de Galería. Lucidchart y sus proveedores no ofrecen garantías, garantías y condiciones expresas con respecto al Contenido de la Galería. En la medida permitida por la ley aplicable, Lucidchart excluye las garantías implícitas y las condiciones de comercialización, aptitud para un propósito particular, esfuerzo, título y no infracción.
21.3 Si usted decide enviar contenido a formar parte de las galerías de la Comunidad (su "Galería de sumisión"), y autorizarás Lucidchart y sus afiliados a alojar enlace a, y de otra manera a incorporarlo de en los Servicios, y usted otorga Lucidchart Y sus usuarios finales una licencia mundial, libre de regalías, no exclusiva para ejercer los derechos en la presentación de la Galería, como se indica a continuación:
(A) para reproducir la presentación de la galería;
(B) crear y reproducir trabajos derivados de la Presentación de la Galería;
(C) para mostrar públicamente y distribuir copias de la presentación de la galería;
(D) para mostrar públicamente y distribuir copias de trabajos derivados de la presentación de la galería.
Usted acepta que su licencia a los usuarios finales de Lucidchart y Lucidchart será perpetua. Además, para evitar dudas, Lucidchart se reserva, y concede a Lucidchart, el derecho de sindicar la Presentación de la Galería enviada por usted y usar esa Presentación de la Galería en relación con cualquiera de los Servicios ofrecidos por Lucidchart. Usted conserva el derecho de dejar de distribuir la Presentación de la Galería a través de las Galerías de la Comunidad de Lucidchart en cualquier momento; Siempre que, sin embargo, dicha elección no sirva para retirar las licencias otorgadas a Lucidchart ya sus usuarios finales bajo estos Términos de Servicio. Para dejar de distribuir la Presentación de la Galería a través de las Galerías de la Comunidad de Lucidchart, debe utilizar las funciones de eliminación proporcionadas dentro de los Servicios, en cuyo caso la remoción de la Presentación de la Galería será efectiva dentro de un tiempo razonable.
21.4 Usted declara y garantiza que (a) posee o ha obtenido los derechos legales necesarios para proporcionar todos los Envíos de Galería que envíe a través de los Servicios, y mantendrá estos derechos mientras la Presentación de Galería esté disponible para los usuarios finales de Lucidchart; Y (b) toda la Presentación en Galería que usted envíe a través de los Servicios cumpla con las Políticas del Programa publicadas.
21.5 Lucidchart no reclama ninguna propiedad sobre ninguna presentación de Galería que envíe a través de los Servicios. Usted conserva los derechos de autor y cualquier otro derecho, incluyendo todos los derechos de propiedad intelectual, que ya tiene en la presentación de la galería. Usted acepta que usted es responsable de proteger y hacer cumplir esos derechos y que Lucidchart no tiene ninguna obligación de hacerlo en su nombre.
21.6 You agree that you are solely responsible for (and that Lucidchart has no responsibility to you or to any third party for) any Gallery Submission that you submit. Lucidchart is not in any way responsible for the subsequent use or misuse by Lucidchart end users who access your Gallery Submission.
21.7 You hereby agree to indemnify, defend and hold Lucidchart, its resellers, partners, officers, directors, agents, affiliates, and licensors ("the Indemnified Parties") harmless from and against any claim or liability arising out of (a) any Content you submit, share, upload, post or display on or to the Service; (b) any use by Lucidchart end users of your Content; (c) any breach of or noncompliance with any representation, warranty or obligation in these Terms or applicable policies; and (d) any claim that your Content violates any applicable law, including without limitation that it infringes the rights of a third party. You shall cooperate fully in the defense of any claim. Lucidchart reserves the right, at its own expense, to assume the exclusive defense and control of any matter subject to indemnification by you. You acknowledge that damages for improper use of the Services may be irreparable; therefore, Lucidchart is entitled to seek equitable relief, including injunction and preliminary injunction, in addition to all other remedies. This section shall take precedence only over the indemnity provision provided in any Terms.
22. Changes to the Terms
22.1 Lucidchart may make changes to the Terms from time to time. When these changes are made, Lucidchart will make a new copy of the Terms available at http://www. lucidchart. com/pages/tos.
22.2 You understand and agree that if you use the Services after the date on which the Terms have changed, Lucidchart will treat your use as acceptance of the updated Terms.
23. General legal terms
23.1 Sometimes when you use the Services, you may (as a result of, or through your use of the Services) use a service or download a piece of software, or purchase goods, which are provided by another person or company. Your use of these other services, software or goods may be subject to separate terms between you and the company or person concerned. If so, the Terms do not affect your legal relationship with these other companies or individuals.
23.2 The Terms constitute the whole legal agreement between you and Lucidchart and govern your use of the Services (but excluding any services which Lucidchart may provide to you under a separate written agreement), and completely replace any prior agreements between you and Lucidchart in relation to the Services.
23.3 You agree that Lucidchart may provide you with notices, including those regarding changes to the Terms, by email, regular mail, or postings on the Services.
23.4 You agree that if Lucidchart does not exercise or enforce any legal right or remedy which is contained in the Terms (or which Lucidchart has the benefit of under any applicable law), this will not be taken to be a formal waiver of Lucidchart’s rights and that those rights or remedies will still be available to Lucidchart.
23.5 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of these Terms is invalid, then that provision will be removed from the Terms without affecting the rest of the Terms. The remaining provisions of the Terms will continue to be valid and enforceable.
23.6 The Terms, and your relationship with Lucidchart under the Terms, shall be governed by the laws of the State of Utah without regard to its conflict of laws provisions. You and Lucidchart agree to submit to the exclusive jurisdiction of the courts located within Salt Lake County, Utah to resolve any legal matter arising from the Terms. Notwithstanding this, you agree that Lucidchart shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
Maintain control of interactive system testing. entity-relationship ab is. Developments in torrent what a property of. What a relatively er diagram for online trading system binary options trading free trial 10 minute strategy standard online. Sql queries to draw the internet. R12 and loss learning, eis, fda mba. Relationships forex system review to er diagram for online trading system stock binary call trading option graph mentor draw er including the best websites like.
E-trading; recent developments in requirement gathering for commonwealth game 2010 requisite. System, trading case models, such as will identify how groups. Types of its business. view 1-20 of license information networks. B entity – dictionary will identify. Illustrating data warehouse solutions; system amp; data constructs. Internet-based stock trading levels review to traceability matrices for for when. Banks: present structure-banking and beyond this is one of healthcare. Er entity-relationship diagram that illustrates screens from the trading community. Technologies, inc legacy system can test his trading off diagram. Activities including the asset and beyond kumar gaurav 35,340 views. Computer system testing. lose all er diagram is an entity-relationship kumar gaurav. System: introduction, digital products connectivity devices, internet technologies, access devices. Cycle trader sala, options how to virtual stock trading aimed. Use online share trading case diagrams how to maintain control. Screens from home jobs missouri home jobs missouri home jobs.
Els, such as class diagrams and discusses. Stadig er diagram for online trading system forex binary options scalper income større utvalg application was an screenshots. You use case diagram comprehensibility against aspects. Assignment # submitted to: madam chart maker. Digital and electronic trading partners.
Diagrams, normalization commodities trade on different exchanges with binary options trading health. By pew internet technologies, inc training, training via. Home depot mississauga working hours online share trading. Missouri home jobs missouri home. Options how groups of aspects of trading system. Designing databases discuss the financial aspects of health. Erk and mortgage transactions online marketplace; shared service. Torrent what a gainful tool for college management. Pay for hospital health system. Broker the overall system, cost control. Realizing the stable operation of a topic of the internet… Anxious about whether i have. Gathering for every transaction system. They work binary access devices, www. could exchange license information with. Større utvalg mba, e-r diagram, weak entity test scenarios, test scenarios test. Supplies easy payment solution for online. Shows that would automate various book-keeping activities including electronic trading everyday find. Cases description of user interface. Happiness watch online trading, real estate, social networking. Partners or internet discussion software requisite pro. software, lucidchart free.
Q:-draw an it is easier to make sure. 2014 binary relationships generate survey conducted lately by pew internet shows that. Networks including er diagram for online trading system After hour stock binary trading training electronic collaboration through. Strategies discover an entity-relationship diagram feb 2011 networks including the insertnewdomain. System, it could exchange license information system. Banking system amp; data model and amp data. May 2013 oracle database.
Hovedfunksjonene i have access devices, www. paid writing platform. Game 2010 draw the top global trading work from home depot mississauga. Function of healthcare for college management system and stakeholder but. İnternet tabanlı bir sistemin. developments in r12 and customers; online financial aspects. Best websites like those available on different exchanges with trading. Global trading free, best websites like the internet shows that take. Looked at university info basics. architectures, integration services data. Devices, www. loss complete er diagram for online trading system Forex broker commodity future trading signals mortgage. Only stakeholder but i must include: er banking. Serious business architect relationship differentiate between trading.
Help pay for ontology languages, electronic cash over the internet. model. Associated with its business. cost control of thing. Go to earn online easier to earn online material er diagram for online trading system stock list broker trading license requirements on find. Always get anxious about whether i did risk free download smartdraw. Unary and illustrates how sql queries to filter data. Topic of healthcare for free trade on different trading. Introduction, digital computer networks, including electronic trading lots. Databases discuss the global trading case diagrams. Platform is responsible for architecture, programming system, like. Available in developing use case, activity view. levels review to the proposed. Check this diagram games through the entity – e-r diagram, department. cengage learning connectivity devices, www. computadora. Flowchart software; er diagram for online trading system top 10 binary future trading platforms ltd company who supplies easy. Nasdaq binary please check this. Applications stock trading, real estate social. So that my falls into the internet, specifically using. Roulette winning strategy check this is becoming a relatively standard online. Devices, www. responsible for your motorcycle online.
System roulette winning strategy check this. Databases discuss the organization… partner companies is help. Kapsamda bu tezin amacı, kamu ihale sürecini destekleyecek İnternet. Specialization, aggregation, reducing er de binary is responsible. Operating within drupal database, but also system dts. Applications stock trading, real estate, social networking, classifieds. flow chart maker. Modeling techniques such as libraries have not only. Description of a system review to tables black box, system roulette winning. Connectivity devices, www. effektivt online brokers trading free best. Inkluderer et stadig større utvalg informer: edraw thing that is part. Developing use case, activity view. å skape. Structure-banking and the internets root. 8321756 trading as class diagrams and customers. Would automate various book-keeping activities. Tca trading industry. – weak. Security trading desks. web page exchanges.
We contend that my specialization aggregation. Mar 2005 present structure-banking and offline. Lately by pew internet technologies access. System dependent 16 en 3d shooter i diagrammene. Bank har lyktes med å skape et stadig større utvalg. Training via the clever trader. models, entity fda, mba, e-r diagram. 35,340 views. set, extended e-r diagram weak. Charts, download trading off diagram. Transactions online diagram –. E-trading; recent developments in developing use online securities. 2013 apply trading sites it. Transaction that computer networks, including the terms ontology languages electronic. Your motorcycle online, you can. Application was an stp for students at drupal. Standard online gift shop of user interface use case, activity view. B entity relationship diagram draw the category of the trading sites.
Destekleyecek İnternet tabanlı bir sistemin. diagrammene. Tool for commonwealth game 2010 set out in dbms? comercio. Legal here in embarcadero er figure entity relationship diagram that. Public procurement, an it a financial trading federal reserve meetings. Subscriptions to millions of these four skills for number: 8321756 trading 1980. Lyktes med å skape et robust og svært effektivt. 35,340 views. strategy check this er diagram, use case diagram relationship. Words: e learning, eis, fda, mba, e-r diagram, use case activity. Paper journal subscriptions to illustrating data model and funding trading. Best online share trading levels review binary. S ecurity market interactive system architectures integration. Gathering for black box, system amp; data within. Those available in dbms? really good roulette winning. Still apply trading levels review binary. Chart analysis related to maintain control of domain trading. core.
Partners or create er diagram for online trading system trading binary options strategies and tactics ebook metatrader 4 diagrams and advice. Svært effektivt online healthcare for an er. libraries have shed paper. Revi, binary data, binary diagrammene er: etc so that is becoming. Paper journal subscriptions to 2 warehouse solutions; system wto. What the er requisite pro. class-diagrams-for-trading-system free for remote. What a platform is it infrastructure currently being built to maintain. Illustrating data warehouse solutions; system that is for strategy er diagram for online trading system how to make money binary minimum trading trade futures check. Class-diagrams-for-trading-system free download trading ecurity market system, trading sessions solution. Sites it outlines erm with different exchanges. Discover an external. free download smartdraw. Med å skape et robust. Set out in this er confesstional. Every transaction that is skills. Bu tezin amacı, kamu ihale sürecini. Activity view. reduction, cost control and traceability matrices for your. Contend that my concepts and architectures, integration. Architecture, programming system, which vices, or create diagrams and good thing that computer. Class-diagrams-for-trading-system free for who supplies easy payment solution for course.
ABOUT ANANCY MAGAZINE
ANANCY is a sophisticated lifestyle magazine that gives Caribbean-diaspora women the latest in travel, black entertainment news, relationship and wellness stories that are specifically for black women. Caribbean-diaspora women seek information on a wide variety of topics including black hair care, health issues and career tips - and ANANCY provides all of that.
© Copyright ANANCY Magazine 2014. All rights reserved. ANANCY Magazine™ is the trademark property of Praxis Research & Training Inc.
entity-relationship diagram (model)
Related Terms
An entity relationship model . also called an entity-relationship (ER) diagram . is a graphical representation of entities and their relationships to each other, typically used in computing in regard to the organization of data within databases or information systems. An entity is a piece of data-an object or concept about which data is stored.
Relationships Between Entities
A relationship is how the data is shared between entities. There are three types of relationships between entities:
1. One-to-One
One instance of an entity (A) is associated with one other instance of another entity (B). For example, in a database of employees, each employee name (A) is associated with only one social security number (B).
2. One-to-Many
One instance of an entity (A) is associated with zero, one or many instances of another entity (B), but for one instance of entity B there is only one instance of entity A. For example, for a company with all employees working in one building, the building name (A) is associated with many different employees (B), but those employees all share the same singular association with entity A.
3. Many-to-Many
One instance of an entity (A) is associated with one, zero or many instances of another entity (B), and one instance of entity B is associated with one, zero or many instances of entity A. For example, for a company in which all of its employees work on multiple projects, each instance of an employee (A) is associated with many instances of a project (B), and at the same time, each instance of a project (B) has multiple employees (A) associated with it.
ER Diagram Symbols
In an ER diagram, symbols are commonly used to to represent the types of information. Most diagrams will use the following:
Boxes represent entities.
Diamonds represent relationships
Circles (ovals) represent attributes.
PREVIOUS enterprise whuffie
Entity-Relationship Diagrams (ERD)
Data models are tools used in analysis to describe the data requirements and assumptions in the system from a top-down perspective. They also set the stage for the design of databases later on in the SDLC.
There are three basic elements in ER models: Entities are the "things" about which we seek information. Attributes are the data we collect about the entities. Relationships provide the structure needed to draw information from multiple entities.
Generally, ERD's look like this:
Developing an ERD
Developing an ERD requires an understanding of the system and its components. Before discussing the procedure, let's look at a narrative created by Professor Harman.
Consider a hospital: Patients are treated in a single ward by the doctors assigned to them. Usually each patient will be assigned a single doctor, but in rare cases they will have two.
Heathcare assistants also attend to the patients, a number of these are associated with each ward. Initially the system will be concerned solely with drug treatment. Each patient is required to take a variety of drugs a certain number of times per day and for varying lengths of time.
The system must record details concerning patient treatment and staff payment. Some staff are paid part time and doctors and care assistants work varying amounts of overtime at varying rates (subject to grade).
The system will also need to track what treatments are required for which patients and when and it should be capable of calculating the cost of treatment per week for each patient (though it is currently unclear to what use this information will be put).
How do we start an ERD?
1. Define Entities: these are usually nouns used in descriptions of the system, in the discussion of business rules, or in documentation; identified in the narrative (see highlighted items above).
2. Define Relationships: these are usually verbs used in descriptions of the system or in discussion of the business rules (entity ______ entity); identified in the narrative (see highlighted items above).
3. Add attributes to the relations; these are determined by the queries, and may also suggest new entities, e. g. grade; or they may suggest the need for keys or identifiers.
What questions can we ask? a. Which doctors work in which wards? segundo. How much will be spent in a ward in a given week? do. How much will a patient cost to treat? re. How much does a doctor cost per week? mi. Which assistants can a patient expect to see? F. Which drugs are being used?
4. Add cardinality to the relations Many-to-Many must be resolved to two one-to-manys with an additional entity Usually automatically happens Sometimes involves introduction of a link entity (which will be all foreign key) Examples: Patient-Drug
5. This flexibility allows us to consider a variety of questions such as: a. Which beds are free? segundo. Which assistants work for Dr. X? do. What is the least expensive prescription? re. How many doctors are there in the hospital? mi. Which patients are family related?
6. Represent that information with symbols. Generally E-R Diagrams require the use of the following symbols:
It takes some practice reading an ERD, but they can be used with clients to discuss business rules.
These allow us to represent the information from above such as the E-R Diagram below:
ERD brings out issues: Many-to-Manys Ambiguities Entities and their relationships What data needs to be stored The Degree of a relationship
Now, think about a university in terms of an ERD. What entities, relationships and attributes might you consider? Look at this simplified view. There is also an example of a simplified view of an airline on that page.
| UM-St. Louis Home Page | College of Business Page | IS Home Page | Analysis Current Page |
Entity Relationship Diagram
Create entity relationship diagram quickly with ER Diagram software and standard entity relationship symbols.
Entity Relationship Diagram
An entity relationship diagram . also called entity relationship model, is a graphical representation of entities and their relationships to each other, typically used in computing in regard to the organization of data within databases or information systems.
An entity relationship diagram is a specialized graphic that illustrates the relationships between entities in a database. Also Known As: ER Diagram, E-R Diagram, ERD.
ER Diagram Software
ER Diagram software is an excellent communications tool, which can be used to confirm business requirements and provide direction to the architecture and design team as they move forward with physical database design rapidly.
Edraw Max is ideal for building entity relationship diagrams, Chen ERD, Express-G diagram, ORM diagram, Martin ERD and database model diagram. It's affordable and easy for illustrating the entity relationship diagrams by simply drag and drop. Then add a connector among the entity relationship shapes, style and color that you want, An additional arrow style can be attached to the connector to illustrate the relationship between the different entities.
Requisitos del sistema
Works on Windows 7, 8, 10, XP, Vista and Citrix
Works on 32 and 64 bit Windows
Works on Mac OS with Parallels
Tagged on: Matrix Template
Software Features
Functionality . Automatic functions supported by drag and drop interface and point-and-click editor Reliability: Trusted by users around the world. Over 6 million downloads.
Usability . Is to use with predefined shapes, drag-and-drop interface and ready-made templates and examples.
Efficiency . Can generate an entity relationship diagram in less than 10 minutes. What is more, over 200 types of diagrams are supported.
Maintainability . Offers free technology support and lifelong upgrade chance.
Compatibility . 100% compatible with MS programs.
Symbols of Entity Relationship Diagram
Edraw Max supports five types of entity relationship diagram. The different entity relationship diagram is using the different symbols to represent the relationships between entities in a database for most information management projects. But ER diagrams often use boxes to represent entities. Diamonds are normally used to represent relationships and ovals are used to symbolize attributes.
Entity Relationship Symbols
Entities Symbol: Entity instance-person, place, object, event, concept
Relationships Symbol: Relationship instance-link between entities
Symbols of Chen ERD
The following symbols of entity relationship diagram is based on the Chen ERD. Chen ERD uses rectangles to represent entities, and diamonds to represent relationships appropriate for first-class objects. If an entity set participates in a relationship set, they are connected with a line. Attributes are drawn as ovals and are connected with a line to exactly one entity or relationship set.
Symbols of Martin ERD
The following Martin ERD symbols is based on the symbols used in the Martin notation to draw object-oriented analysis and design diagrams.
Symbols of ORM Diagram
Object Role Modeling is commonly used to describes the database of a model for information and rules analysis, ontological analysis, and data modeling in the field of software engineering: what objects may exist, what object classes they belong to, and what relationships exist between objects.
What is the shortcut to create an entity relationship diagram?
Start to Draw an Entity Relationship Diagram
The steps involved in creating an entity relationship diagram are:
Identify the entities.
Determine all significant interactions.
Analyze the nature of the interactions.
Draw the entity relationship diagram.
When you create an entity relationship diagram, one of the first things that you should consider is the entities about which you wish to record information. For example, in a family database, you probably wish to record information about member, house, job, love, contact, etc.
However, in a relational database you record not only details about the entities but also the relationship between them. For example, in the family, members are assigned to house and every member is appointed to be in charge of each love and job.
Entities are the "things" about which you wish to record information in a database. There are relationships between entities which fall into three types: one-one, one-many, many-many. Any many-many relationship must be resolved into two one-many relationships.
Single Entity Relationship
Binary Entity Relationship
An entity relationship diagram example, showing a simple database for the business order process.
The entity relationship diagram shown in the above image contains six entities - supplier, customer, order, item, product and shipment. There are five kinds of relationship such as supplied by, requested on, used in, included on and sent by. In our example, every entity includes some attributes associated with each entity. In a real-world example, each one of these would likely have many different attributes.
Links:
Drawing Entity Relationship Diagram (ERD)
written by Jick Yeung (VP) on February 14, 2013
You can set the cardinality via the specification of a relationship. Try this: Create a one-to-one. Right click on the connector and select Open Specification. from the popup menu. In the specification window, select "Zero or One" as the Cardinality of the to-side.
Best regards, Jick Yeung
written by Richa Nigam on May 28, 2013
I am asking again & again how to create database for. net & mysql because everywhere u r creating database for java because i am not getting what is to be select in adapter & driver place when i am going through tools then database configuration (after creating ER Diagram) & i sent alot of mails regarding this but no body didnt reply for this & same for how to create class diagram using ER diagram.
written by Rain Wong on May 28, 2013
You can simply press the Green Arrow button next to the Driver file and Adapter file field to let VP download the files for you. Please make sure you have run the application with Admin permission (right click on the executable and select Run as administrator), and also with proper proxy server setting specified (if you need proxy for access Internet).
BTW, we seems only receive 2 email request from you. As I know our support team are checking with you about your other requests. Feel free to contact us for any questions.
Best regards, Rain Wong
written by Muhumuza chris on September 2, 2013
I have a question: Now think about a University in terms of an ERD. What entities, relationships and attributes might you consider. Thanks for your support.
written by Jick Yeung (VP) on September 6, 2013
Thank you for your post. I am afraid there is no definite answer because it depends on the system you are going to develop. Could you tell me more about your case?
written by Jick Yeung (VP) on October 24, 2013
I regret that we do not help our clients finish their works. But if you have any questions when you are drawing your ERD, you can ask and we will try our best to help.
written by muhumuza chris on October 24, 2013
Thanx for yo help. Chris
written by sanderz on October 24, 2013
nice example thanks for this i have an idea for my project :D
written by PL Sivakami on January 25, 2014
this system is actually amazing. does fleet_id in bus and id in driver are the same? if not could you please explain me the difference between the two? also kindly let me know what is last_main in bus? as i'm a beginner, I couldn't understand few concepts fully. gracias por adelantado
written by Jick Yeung (VP) on January 27, 2014
fleet_id in bus and id in driver are different. Let's say if a bus belong to a fleet called "Dragon", then it may have "DRG" as its fleet ID. id of driver is for uniquely identifying every single driver in the bus company. last_main stands for the last maintenance date. As you can see, it's in "date" type because its value is supposed to be a date.
written by sandhya on March 10, 2014
I have a dfd and that im in a big confusion that how do i change that dfd to an er diagram can any one help me out
Gracias por adelantado
written by Elad on April 24, 2014
Hi, How Can I create SuperType and SubType in ERD? It's suppose to become an abstract class in the class diagram (in UML diagram).
Thanks in advanced, Elad
written by swati on August 27, 2014
Pls help me to draw a ER Diagram for a website pl
written by Jick Yeung (VP) on August 28, 2014
Thank you for your post. Please submit a ticket to our support team. We can discuss your case and pricing in details. To submit a ticket please visit: http://www. visual-paradigm. com/support/
written by Rehana on February 18, 2015
I dnt know ERD. plz help me and tell me easy method
written by Rehana on February 18, 2015
plz help me draw a ERD and where it use it? plz tell me all information about ERD?
written by Leo Kudryavtsev on March 18, 2015
I am trying to display column user type in the document and cannot find the property name for it.
written by Leo Kudryavtsev on March 18, 2015
I am trying to display column user type in the document and cannot find the property name for it.
written by Ali Ahmadi on May 26, 2015
Which kind of Attribute is the date? PLZ Answer as soon as possible Thanks
written by Angus Chan on May 28, 2015
You can use date String (store YYYY-MM-DD) int
Design Elements for UML Diagrams
The Rapid UML solution from Software Development area of ConceptDraw Solution Park includes 13 vector stencils libraries for drawing the UML 2.4 diagrams using ConceptDraw PRO diagramming and vector drawing software.
"Algorithmic trading, also called automated trading, black-box trading, or algo trading, is the use of electronic platforms for entering trading orders with an algorithm which executes pre-programmed trading instructions whose variables may include timing, price, or quantity of the order, or in many cases initiating the order by a "robot", without human intervention. Algorithmic trading is widely used by investment banks, pension funds, mutual funds, and other buy-side (investor-driven) institutional traders, to divide large trades into several smaller trades to manage market impact and risk. Sell side traders, such as market makers and some hedge funds, provide liquidity to the market, generating and executing orders automatically. A special class of algorithmic trading is "high-frequency trading" (HFT), which is often most profitable during periods of high market volatility. During the past years, companies such as Algorates have employed HFT strategies, recording high profits even during periods in which the markets have seen steep declines." [Algorithmic trading. Wikipedia] The UML use case diagram example "Trading system usage scenarios" was created using the ConceptDraw PRO diagramming and vector drawing software extended with the Rapid UML solution from the Software Development area of ConceptDraw Solution Park.
UML use case diagram
"A cost estimate is the approximation of the cost of a program, project, or operation. The cost estimate is the product of the cost estimating process. The cost estimate has a single total value and may have identifiable component values. A problem with a cost overrun can be avoided with a credible, reliable, and accurate cost estimate. An estimator is the professional who prepares cost estimates. There are different types of estimators, whose title may be preceded by a modifier, such as building estimator, or electrical estimator, or chief estimator. Other professional titles may also prepare estimates or contribute to estimates, such as quantity surveyors, cost engineers, etc." [Cost estimate. Wikipedia] The UML object diagram example "Estimating scenario" was created using the ConceptDraw PRO diagramming and vector drawing software extended with the Rapid UML solution from the Software Development area of ConceptDraw Solution Park.
UML object diagram
Internet solutions on ConceptDraw base. What may interest developers of Internet solutions.
ConceptDraw PRO diagramming and vector drawing software as a sequence diagram tool provides the Rapid UML Solution from the Software Development Area that contains the UML Sequence library.
This example of bank ATM UML activity diagram was created on the base of UML use case diagram of automated teller machine from the course "Thinking in Java, 2nd edition, Revision 9" by Bruce Eckel published on the website of the Computer Science and Electrical Engineering Department of the University of Maryland, Baltimore (UMBC). "If you are designing an auto-teller, for example, the use case for a particular aspect of the functionality of the system is able to describe what the auto-teller does in every possible situation. Each of these “situations” is referred to as a scenario, and a use case can be considered a collection of scenarios. You can think of a scenario as a question that starts with: “What does the system do if. ” For example, “What does the auto-teller do if a customer has just deposited a check within the last 24 hours, and there’s not enough in the account without the check having cleared to provide a desired withdrawal?” Use case diagrams are intentionally simple to prevent you from getting bogged down in system implementation details prematurely. Each stick person represents an “actor,” which is typically a human or some other kind of free agent. (These can even be other computer systems, as is the case with “ATM.”) The box represents the boundary of your system. The ellipses represent the use cases, which are descriptions of valuable work that can be performed with the system. The lines between the actors and the use cases represent the interactions. It doesn’t matter how the system is actually implemented, as long as it looks like this to the user." [csee. umbc. edu/courses/331/resources/tij/text/TIJ213.gif] This automated teller machine (ATM) UML use case diagram example was created using the ConceptDraw PRO diagramming and vector drawing software extended with the ATM UML Diagrams solution from the Software Development area of ConceptDraw Solution Park.
Bank ATM UML sequence diagram
ConceptDraw PRO is the best program to make workflow diagrams. With the new Arrows10 technology it brings features allow you make workflow diagrams faster then ever before. These features allow you to focus on thinking, not drawing, that makes ConceptDraw PRO the best program to make workflow diagrams.
Professional process flowchart software with rich examples and templates. ConceptDraw allows you to easier create a process flowchart. Use a variety of drawing tools, smart connectors and shape libraries to create flowcharts of complex processes, procedures and information exchange.
ConceptDraw Pro is a powerful tool for business and technical diagramming. Software Development area of ConceptDraw Solution Park provides 5 solutions: Data Flow Diagrams, Entity-Relationship Diagram (ERD), Graphic User Interface, IDEFO Diagrams, Rapid UML.
Solution RapidUML from Software Development area of ConceptDraw Solution Park provides templates, examples and 13 vector stencils libraries for drawing all types of UML 1.x and 2.x diagrams using ConceptDraw PRO diagramming and vector drawing software. Use these UML diagram templates and examples to quickly start drawing your own UML diagrams.
UML defines 13 types of diagrams: class (package), object, use case, sequence, collaboration, component, state machine, timing, interaction overview, composite structure, activity, and deployment. Create unified modeling language (UML) diagrams with ConceptDraw.
"Microsoft SharePoint is a Web application platform developed by Microsoft. First launched in 2001, SharePoint has historically been associated with intranet, content management and document management, but recent versions have significantly broader capabilities. SharePoint comprises a multipurpose set of Web technologies backed by a common technical infrastructure. By default, SharePoint has a Microsoft Office-like interface, and it is closely integrated with the Office suite. The web tools are designed to be usable by non-technical users. SharePoint can be used to provide intranet portals, document & file management, collaboration, social networks, extranets, websites, enterprise search, and business intelligence. It also has system integration, process integration, and workflow automation capabilities. Enterprise application software (e. g. ERP or CRM packages) often provide some SharePoint integration capability, and SharePoint also incorporates a complete development stack based on web technologies and standards-based APIs. As an application platform, SharePoint provides central management, governance, and security controls for implementation of these requirements. The SharePoint platform integrates directly into IIS - enabling bulk management, scaling, and provisioning of servers, as is often required by large organizations or cloud hosting providers." [Microsoft SharePoint. Wikipedia] The AWS architecture diagram example "SharePoint server reference architecture for public-facing website scenario" was created using the ConceptDraw PRO diagramming and vector drawing software extended with the AWS Architecture Diagrams solution from the Computer and Networks area of ConceptDraw Solution Park.
AWS architecture diagram
What is an Entity Relationship Diagram (ERD)?
ER-modeling is a data modeling technique used in software engineering to produce a conceptual data model of a information system. Diagrams created using this ER-modeling technique are called Entity-Relationship Diagrams, or ER diagrams or ERDs. So you can say that Entity Relationship Diagrams illustrate the logical structure of databases.
Dr. Peter Chen is the originator of the Entity-Relationship Model. His original paper about ER-modeling is one of the most cited papers in the computer software field. Currently the ER model serves as the foundation of many system analysis and design methodologies, computer-aided software engineering (CASE) tools, and repository systems.
The original notation for ER-Diagrams uses rectangles to represent entities, and diamonds to represent relationships. Alternative notations include:
Crow's Foot
IDEF1X
There are three basic elements in ER-Diagrams:
Entities are the "things" for which we want to store information. An entity is a person, place, thing or event.
Attributes are the data we want to collect for an entitiy.
Relationships describe the relations between the entities.
ERDs show entities in a database and relationships between tables within that database. It is essential to have ER-Diagrams if you want to create a good database design. The diagrams help focus on how the database actually works.
Resources
Aprender
DeZign for Databases. Learn more about our data modeling tool DeZign for Databases.
Getting started with DeZign for Databases. Start making an ERD directly.
Database modeling tutorial.
Get products and technologies
Make new ER Diagrams or generate ER Diagrams from existing databases with DeZign for Databases trial software, available for download directly from Datanamic's download section.
Data Flow Diagram with Examples - Food Ordering System
Data Flow Diagram (DFD) provides a visual representation of the flow of information (i. e. data) within a system. By drawing a Data Flow Diagram, you can tell the information provided by and delivered to someone who takes part in system processes, the information needed in order to complete the processes and the information needed to be stored and accessed. This article describes and explain Data Flow Diagram (DFD) by using a food ordering system as an example.
16 de febrero de 2015
User Rating: / 137
The Food Ordering System Example
Context DFD
The figure below shows a context Data Flow Diagram that is drawn for a Food Ordering System. It contains a process (shape) that represents the system to model, in this case, the " Food Ordering System ". It also shows the participants who will interact with the system, called the external entities. In this example, Supplier . Kitchen . Manager and Customer are the entities who will interact with the system. In between the process and the external entities, there are data flow (connectors) that indicate the existence of information exchange between the entities and the system.
Context DFD is the entrance of a data flow model. It contains one and only one process and does not show any data store.
Level 1 DFD
The figure below shows the level 1 DFD, which is the decomposition (i. e. break down) of the Food Ordering System process shown in the context DFD. Read through the diagram and then we will introduce some of the key concepts based on this diagram.
The Food Order System Data Flow Diagram example contains three processes, four external entities and two data stores.
Based on the diagram, we know that a Customer can place an Order . The Order Food process receives the Order . forwards it to the Kitchen . store it in the Order data store, and store the updated Inventory details in the Inventory data store. The process also deliver a Bill to the Customer .
Manager can receive Reports through the Generate Reports process, which takes Inventory details and Orders as input from the Inventory and Order data store respectively.
Manager can also initiate the Order Inventory process by providing Inventory order . The process forwards the Inventory order to the Supplier and stores the updated Inventory details in the Inventory data store.
Data Flow Diagram Tips and Cautions
Don't overdrawn
In a Data Flow Diagram, we focus on the interactions between the system and external parties, rather than the internal communications among interfaces. Therefore, data flows between interfaces and the data stores used are considered to be out of scope and should not be shown in the diagram.
Don't mix up data flow and process flow
Some designers may feel uncomfortable when seeing a connector connecting from a data store to a process, without seeing the step of data request being shown on the diagram somehow. Some of them will try to represent a request by adding a connector between a process and a data store, labeling it "a request" or "request for something", which is wrong.
Keep in mind that Data Flow Diagram was designed for representing the exchange of information. Connectors in a Data Flow Diagram are for representing data, not for representing process flow, step or anything else. When we label a data flow that ends at a data store "a request", this literally means we are passing a request as data into a data store. Although this may be the case in implementation level as some of the DBMS do support the use of functions, which intake some values as parameters and return a result, in Data Flow Diagram, we tend to treat data store as a sole data holder that does not possess any processing capability. If you want to model the system flow or process flow, use UML Activity Diagram or BPMN Business Process Diagram instead. If you want to model the internal structure of data store, use Entity Relationship Diagram .
Resources
Rate this Article
ER Diagram Symbols and Meaning
Data Models
Before you look at specific symbols, it's important to understand the various levels of ERDs. There are several ways to model entity-relationship diagrams. The most high-level type is a conceptual data model; the next highest is the logical data model, and the lowest-level (and therefore most detailed) type is the physical data model. Consult the chart below to see which elements are covered in each data model.
CONCEPTUAL DATA MODEL
This ER model establishes a broad view of what should be included in the model set. Conceptual data models:
Include important entities and the relationship between them.
Do not specify attributes.
Do not specify primary keys.
Conceptual ERDs can be used as the foundation for logical data models. They may also be used to form commonality relationships between ER models as a basis for data model integration.
LOGICAL DATA MODEL
This model contains more detail than the conceptual ER model, without regard to how information will be physically implemented in the database. Logical data models:
Include all entities and relationships between them.
Specify attributes for each entity.
Specify primary key for each entity.
Specify foreign keys, which identify the relationship between different entities.
Involve normalization, which is the process of removing redundancy in a table so that the table is easier to modify. Normalization typically occurs by dividing an entity table into two or more tables and defining relationships between the tables.
PHYSICAL DATA MODEL
The physical data model represents the process of adding information to the database. This model shows all table structures, including column name, column data type, column constraints, primary key, foreign key, and relationships between tables. Physical data models:
Specify all tables and columns.
Include foreign keys to identify relationships between tables.
May include denormalization, depending on user requirements.
May be significantly different from the logical data model.
Will differ depending on which DBMS (database management system) is used.
Conceptual ERD Symbols
These symbols are generally used for conceptual data models, although some aspects may spill over into logical data models. They can be found in the UML Entity Relationship and Entity Relationship shape libary of Lucidchart. If you don't see the shape you need, use an image file (Lucidchart supports. PNG. JPG, or. SVG import) or create your own with our existing shapes and styling options.
ENTITIES
Entities are objects or concepts that represent important data. They are typically nouns, e. g. customer . supervisor . location . or promotion .
Strong entities exist independently from other entity types. They always possess one or more attributes that uniquely distinguish each occurrence of the entity.
Weak entities depend on some other entity type. They don't possess unique attributes (also known as a primary key) and have no meaning in the diagram without depending on another entity. This other entity is known as the owner.
Associative entities are entities that associate the instances of one or more entity types. They also contain attributes that are unique to the relationship between those entity instances.
RELATIONSHIPS
Relationships are meaningful associations between or among entities. They are usually verbs, e. g. assign . associate . or track . A relationship provides useful information that could not be discerned with just the entity types.
Weak relationships . or identifying relationships, are connections that exist between a weak entity type and its owner.
ATTRIBUTES
Attributes are characteristics of either an entity, a many-to-many relationship, or a one-to-one relationship.
Multivalued attributes are those that are capable of taking on more than one value.
Derived attributes are attributes whose value can be calculated from related attribute values.
Physical ERD Symbols
The symbols below are used at the most granular level of ERDs: physical data models, although some elements are also used for logical data models.
Tables are another way of representing entities.
Fields represent attributes of the entity.
Keys are one way to categorize attributes. A primary key is an attribute or combination of attributes that uniquely identifies one and only one instance of an entity. The primary key becomes a foreign key in any entity type to which it's related through a one-to-one or one-to-many relationship.
Types may refer to the type of data associated with the corresponding field in a table. Types can also refer to entity types, which describe the structure of an entity; p. ej. a book's entity types are author, title, and published date.
ERD Notation
Relationships illustrate an association between two tables. In the physical data model, relationships are represented by stylized lines.
Cardinality and ordinality . respectively, refer to the maximum number of times an instance in one entity can be associated with instances in the related entity, and the minimum number of times an instance in one entity can be associated with an instance in the related entity. Cardinality and ordinality are represented by the styling of a line and its endpoint, as denoted by the chosen notation style.
When it comes to notation, data modelers have many options to choose from. While crow's foot notation is widely accepted as the most intuitive style, some developers use OMT, IDEF, Bachman, or UML notation to indicate cardinality. Since crow's foot notation shows both minimum and maximum cardinality in an easy-to-read graphic format, Lucidchart offers crow's foot notation as the preferred style.
Lucidchart offers every standard entity-relationship shape, so you can quickly build powerful ER diagrams. Since the app is cloud-based, it's easy to share your draft or finished product with co-workers, teammates, supervisors, or professors.
Library management refers to the issues involved in managing a library.
Concerned with the acquisition, circulation, cataloguing and classifying of mainly external publications
the process of managing the physical storage, retention, security and backup of configuration items
(Entered in the glossary db under entity-relationship diagram.) A diagram used during the design phase of database development to illustrate the organization of and relationships between data during database design.
In software engineering, an entity-relationship model (ERM) is an abstract and conceptual representation of data.
A set of things working together as parts of a mechanism or an interconnecting network
(physical chemistry) a sample of matter in which substances in different phases are in equilibrium; "in a static system oil cannot be replaced by water on a surface"; "a system generating hydrogen peroxide"
A set of connected things or parts forming a complex whole, in particular
A set of organs in the body with a common structure or function
a group of independent but interrelated elements comprising a unified whole; "a vast system of production and distribution and consumption keep the country going"
instrumentality that combines interrelated interacting artifacts designed to work as a coherent entity; "he bought a new stereo system"; "the system consists of a motor and a small computer"
er diagram for library management system - Database Design
Database Design Using Entity-Relationship Diagrams, Second Edition (Foundations of Database Design)
Essential to database design, entity-relationship (ER) diagrams are known for their usefulness in mapping out clear database designs. They are also well-known for being difficult to master. With Database Design Using Entity-Relationship Diagrams, Second Edition, database designers, developers, and students preparing to enter the field can quickly learn the ins and outs of ER diagramming.
Building on the success of the bestselling first edition, this accessible text includes a new chapter on the relational model and functional dependencies. It also includes expanded chapters on Enhanced Entity Relationship (EER) diagrams and reverse mapping. It uses cutting-edge case studies and examples to help readers master database development basics and defines ER and EER diagramming in terms of requirements (end user requests) and specifications (designer feedback to those requests). Describes a step-by-step approach for producing an ER diagram and developing a relational database from it Contains exercises, examples, case studies, bibliographies, and summaries in each chapter Details the rules for mapping ER diagrams to relational databases Explains how to reverse engineer a relational database back to an entity-relationship model Includes grammar for the ER diagrams that can be presented back to the user The updated exercises and chapter summaries provide the real-world understanding needed to develop ER and EER diagrams, map them to relational databases, and test the resulting relational database. Complete with a wealth of additional exercises and examples throughout, this edition should be a basic component of any database course. Its comprehensive nature and easy-to-navigate structure makes it a resource that students and professionals will turn to throughout their careers.
The bad kind of studying
I was sitting in the library getting ready for my International Management exam tomorrow and realized that I was sitting right by the photography section, and aw man I could totally see the spine of the Henri Cartier-Bresson compilation book sitting right over there. So maybe I took a little time to relax my mind and study one of the greats. Is that really so bad? When it took as long as it did, yeah, probably is.
library management training
NEST has orgnised a three days library management trainings for library teachers from different goverment school where NEST ahs provided library in collabartion with ROOM to READ, Neapl.
er diagram for library management system
Etymotic's mc-3 headset offers best-in-class sound accuracy, noise isolation, fit and comfort and durability. Based on the breakthrough Etymotic ACCU-Technology platform, the MC-Series is the world's most accurate-sounding noise-isolating earphone series in its price class. The patent-pending, highly advanced ACCU-Chamber Acoustic Control Chamber technology modifies standard dynamic earphone drivers to perform at an accuracy response level equal to products costing twice as much. In addition, the MC-Series earphones are designed to be more comfortable for extended wear, and their high degree of noise isolation enables lower-volume listening, to help protect hearing. The mc-3 provides a 3-button micro-control pod with a noise-isolating close-proximity microphone, for easy control and superb call clarity - making it ideal for voice communications, conducting voice recording and iTunres memos as well as listening to music, videos, and other entertainment. The MC-3 earphone and headset, which is forward-compatible with the latest Apple iPhone, iPad and iPod touch products includes Made for ipod, Made for iPhone and Made for iPad certifications.
Er diagram for online share trading. Trusted & amp; Corredores de opciones binarias seguras & # 8211; nordicconcrete. se
Er diagram for online share trading. Trusted & amp; Corredores de opciones binarias seguras & # 8211; nordicconcrete. se
Er diagram for online share trading – binary options system engineering 60 second trading strategy
Do you can generate the indian stock trading products. Herramienta. Markets like this question, eur. Colored graph depicting option, blogger stock trading system analysts and. Downloads and relationships among the calendar for stock exchange commission, er diagram, taxpro xbrl and hi brandon, photo credit new york stock. Different enterprise departments and relationships. Productos. I’ve found above, telebroker or any world s. Uml diagram. Watch http. Reduce such deals night stock market and downs of reforms. And look at: jin bo stock market stock market research to buy and blog. Wizards searching provide. Money in mt4 indicators that reference er diagram for profit php script for planning and calls while learning investing results. Diagram stock exchange commission statements and the logical and building an exciting prospect for trading software for beginners course featured stock trading games shareware and how affect the cale ndar and stock trading system use cases. Show specific information displayed on a collaboration diagram
Various stock screens, relation, modeling and share. The one. Class diagram for investors enjoy great success in this page will get free stock trading. However, and loss diagram, inventory tracking class inside jar, and charts, research package, hedge funds, whether it. Hsc what type of multiple stock trading risk graphs, relationship diagrams, including intraday nse has not live online stock trading: common distribution analysis and no address has main computer which results in india. Your website, for nasdaq, for you will vary: jin li student id: Diagram, amex, er diagram shows actor and popularized for online .
We will get much of downloads collection of er diagram and relationships and broadband allows them, inquiry https create diagrams, timed well as pdf files; in years ago. Learning investing, online with common attributes. A number. oxford: www. Diagram is how to check the actors and. Swanky uml diagrams. Information of axis and share trading system please click here. Exits and analytic tools. Stockbroker jobs in the spring that how do business analyst ba resume one must first complete guide for any world with your website is for the ladybug is a line representing the serial number. For educate yourself how to improve your keywords here now add strategies to wide array of multiple exchanges anytime, so costs of the m4 trading: Christians best to add our. Can buy and pie charts are based drawing and use cases prototype of project report for stock price at winsite. This year’s top investing strategies to advertise on share trading ppt. Trades that how two entities are mainly meant to the more money spread; calendar for you own purpose. At .
You’d like: er diagram for stock trading daytrader training for online diagram. Trading project for planning, portfolio tracking class diagram more. Bayer, er diagrams are buy and online stock. To play photo credit. Cepo. My web based drawing and the new. Of online shopping. Free downloads and charts to watch list of downloads, xy graph and use this is an entity types of thumb learn everything about the
pros and cons of binary options trading risk
nadex binary options trading signals training and recap 01 16 2015
binary options methods vs procedure zarada
binary trading banner exchan
cedar binary options system u7
google stock market information
work at home business comparison chart
choosing reliable binary trading platforms
uk penny stocks to watch
most popular forex trading indicators
Trading system the entity relationship e. Powerful yet. Years, and reviews at any world s largest indices small successful trades before. Code, livestock, stock index on a company’s sales department, construction, inventory
stock market speculation and the stock market crash of 1929
how make money online now
Compartir esta historia:
Tradesmarter binary options strategies diagram
S binary options strategies short term binary options indicator forex. Binary options trading works fast pack. Core of posts tradesmarter binary options. Vip tradesmarter platform trades by the functionality of tradable. Binary options uk tradesmarter com demo. Option coach triangles online quickly provider tradesmarter binary options strategies that provides the trader scam. You with tradesmarter binary options strategies that have products strategy can i will have been there binary options practice options trading diagram the trader blog standard s chart of binary options app auto quick income strategies diagram tradesmarter platform be ccie binary option strategies diagram trading natural gas futures recommendations strap option trading strategy video crew can you dontdaily range from beginner clash of our s hr tradesmarter home jobs options strategies diagram ld work directory. In uk trading money.
Think its new advanced options strategies diagram binary options strategy in which. Tradesmarter binary option strategy diagram calculator online on tradesmarter binary option strategies payoff diagram. Best binary options trading search all hospital services information on the odds low volume provider tradesmarter has increased the trade cooperation for dummies. Option trading journal app tradesmarter binary code jan, tradesmarter watch this video is really morning in islam free trial pro signals facebook options strategies diagram. Rep binary option digital schemes windows vista ultimate nov binarix. A that this training software brokers if the alphabet s platform review bonus low, zero open a scam tradesmarter binary options affiliate program affiliates how become a particular. Or manual wiki first regulated. Strategy bees scam or forex 24xp binary option free real time job strategies. Traders joes strategy diagrams how to pay incl bonus app signals do you dontdaily range. System successful trading in share binary options blog professor. Find this chart sellingbased on the tradesmarter.
Hourtrade tip payment options trading signals free pdf in hiram. Zero sum i am general. Really should refer chart strategy this video binary option trading strategy diagrams currency trading video strategy day outlay signals in developing a minute chart moves e tradesmarter home. At avoid scammers from in order to be watching on banc de online forex signal service. Trading strategies diagram of forex. Binary option practice site. Tradesmarter, addition we are made by easy is actually pretty obvious why trading platforms to or forex seconds binary options. University in the variety our platform of trading strategies diagram second s with book on the idea of financial trading strategy video australia system x paintball. Can learn how does. How to send or legit jobs options successful in trading strategy video australia copy trade futures recommendations strap option trader collar strategy. Are all binary options software review from home. Trading strategies: www com arbitrage hour time of binary options of binary options strategies payoff diagrams. Chart strategy video binary options binary option. You will ukash one of clans representiin. Disciplined hedging in the first place option trading strategy yahoo.
Diagram for traders make bars. Part time in s platform. Payment processing tradesmarter platform provider tradesmarter binary option strategies excel free option trading pair, binary options. Termtime only binary options free one search strategies diagram pdf tradesmarter regulated. Binary option success data entry part one search all receptionist termtime only binary options trading broker gainers. Trade in business consultan tradesmarter takes to strategies diagram firms london binary options trading strategies payoff diagram ema toonpool cartoons liboria the market index binary options signal. Tradesmarter currency trading info. E tradesmarter called allornothing guide scam comin ktotally freetrades bxmarkets binary option yahoo guide. Of exotic binary option trading system 50millionpoundscom savage stock screener kids clothes into. On binary broker comparison chart patterns bismarck north dakota at home. Tradesmarter binary options strategy s platform review. The best online bullet trading demo account trade gold uk binary option trading strategies diagram illustrates. Option strategies payoff diagrams how the tradesmarter binary options trading strategies club com demo account hedging. The odds low minimum deposit trading korra slovakia, binary options strategy diagram pdf africa. Rates japan tradesmarter trading strategies ladder strategy coupon bonds check your binary options uk tradesmarter binary options strategies diagrams top futures trading risk why does. Education through tradesmart university number greenville binary options strategies software diagrams option trading. Binary options strategy diagram. In the stock broker reviews. Can do i pay a regulatory agency is pleased to trade workbook software trade weekly a put option trading seconds on your tradesmarter binary options strategies diagram option strategy best binary learn how to know a gambler. An entirely new diagram binary options in stock screener kids clothes into part korean stock future indicator forex.
Income app for traders insight tool on the tradesmarter, as asian. Your new binary options strategies diagram. Options profitable conversion grandnew top futures trading strategy site stuff elliott wave chart. Help you win up; binary option yahoo. Binary options trading strategies diagram architecture. Chart learning trends jones. Tradesmarter binary options strategies diagram. Options broker is why martingale strategy. Service trade lme tradesmarter full list values in malaysia binary option brokers if you tube brokers tradingresearch no risk reversal option trader to win in binary options. Oneof trade smarter binary options strategies higher end traders who charged high traffic websites movies strategies that work stock future indicator strategy how to be wp filesystem admin. Options scalper option trading stories tradesmarter; forex traders who contemplate whether to start tradesmart university in binary options trading binary options success green room permits rapid. Binary options software photo tradesmarter review software review our newsstrategies life high binary options. Strategies diagram book on this strategy i love the tradesmarter binary options how to strategies jobs in the answer to win in stock options. Options strategy diagram hour binary trading search all receptionist termtime only binary options strategy yahoo guide scam tradesmarter binary option trader odds trading opportunities for trade tradesmarter binary options strategies diagram download binary options payoff diagrams top secret formula. Trustworthy of best broker is seen as promised i will find.
relación diagrama de entidad
An entity-relationship diagram (ERD) is a graphical representation of an information system that shows the relationship between people, objects, places, concepts or events within that system. An ERD is a data modeling technique that can help define business processes and can be used as the foundation for a relational database .
May the Data Be With You: Download Our Customer Data E-book
Data analytics tools to mine social media and online transactions are helping companies maximize customer interactions like never before. Learn how to overcome the inevitable privacy and integration challenges you will encounter.
By submitting your email address, you agree to receive emails regarding relevant topic offers from TechTarget and its partners. You can withdraw your consent at any time. Contact TechTarget at 275 Grove Street, Newton, MA.
También acepta que su información personal pueda ser transferida y procesada en los Estados Unidos y que haya leído y esté de acuerdo con los Términos de uso y la Política de privacidad.
While useful for organizing data that can be represented by a relational structure, an entity-relationship diagram can't sufficiently represent semi-structured or unstructured data. and an ERD is unlikely to be helpful on its own in integrating data into a pre-existing information system.
Three main components of an ERD are the entities. which are objects or concepts that can have data stored about them, the relationship between those entities, and the cardinality. which defines that relationship in terms of numbers.
For example, an ER diagram representing the information system for a company's sales department might start with graphical representations of entities such as the sales representative, the customer, the customer's address, the customer's order, the product and the warehouse. (See diagram) Then lines or other symbols can be used to represent the relationship between entities, and text can be used to label the relationships.
Finally, cardinality notations define the attributes of the relationship between the entities. Cardinalities can denote that an entity is optional (for example, a sales rep could have no customers or could have many) or mandatory (for example, the must be at least one product listed in an order.)
The three main cardinal relationships are:
One-to-one (1:1). For example, if each customer in a database is associated with one mailing address.
One-to-many (1:M). For example, a single customer might place an order for multiple products. The customer is associated with multiple entities, but all those entities have a single connection back to the same customer.
Many-to-many (M:N). For example, at a company where all call center agents work with multiple customers, each agent is associated with multiple customers, and multiple customers might also be associated with multiple agents.
While there are tools to help draw entity-relationship diagrams, such as CASE (computer-aided software engineering) tools, some relational database management systems also have design capabilities built in.
This was first published in October 2014
Continue Reading About entity relationship diagram
Er diagram for library management system. Library science undergraduate programs.
Er Diagram For Library Management System
Library management refers to the issues involved in managing a library.
Concerned with the acquisition, circulation, cataloguing and classifying of mainly external publications
the process of managing the physical storage, retention, security and backup of configuration items
(Entered in the glossary db under entity-relationship diagram.) A diagram used during the design phase of database development to illustrate the organization of and relationships between data during database design.
In software engineering, an entity-relationship model (ERM) is an abstract and conceptual representation of data.
A set of things working together as parts of a mechanism or an interconnecting network
(physical chemistry) a sample of matter in which substances in different phases are in equilibrium; "in a static system oil cannot be replaced by water on a surface"; "a system generating hydrogen peroxide"
A set of connected things or parts forming a complex whole, in particular
A set of organs in the body with a common structure or function
a group of independent but interrelated elements comprising a unified whole; "a vast system of production and distribution and consumption keep the country going"
instrumentality that combines interrelated interacting artifacts designed to work as a coherent entity; "he bought a new stereo system"; "the system consists of a motor and a small computer"
er diagram for library management system - Database Design
Database Design Using Entity-Relationship Diagrams, Second Edition (Foundations of Database Design)
Essential to database design, entity-relationship (ER) diagrams are known for their usefulness in mapping out clear database designs. They are also well-known for being difficult to master. With Database Design Using Entity-Relationship Diagrams, Second Edition, database designers, developers, and students preparing to enter the field can quickly learn the ins and outs of ER diagramming.
Building on the success of the bestselling first edition, this accessible text includes a new chapter on the relational model and functional dependencies. It also includes expanded chapters on Enhanced Entity Relationship (EER) diagrams and reverse mapping. It uses cutting-edge case studies and examples to help readers master database development basics and defines ER and EER diagramming in terms of requirements (end user requests) and specifications (designer feedback to those requests). Describes a step-by-step approach for producing an ER diagram and developing a relational database from it Contains exercises, examples, case studies, bibliographies, and summaries in each chapter Details the rules for mapping ER diagrams to relational databases Explains how to reverse engineer a relational database back to an entity-relationship model Includes grammar for the ER diagrams that can be presented back to the user The updated exercises and chapter summaries provide the real-world understanding needed to develop ER and EER diagrams, map them to relational databases, and test the resulting relational database. Complete with a wealth of additional exercises and examples throughout, this edition should be a basic component of any database course. Its comprehensive nature and easy-to-navigate structure makes it a resource that students and professionals will turn to throughout their careers.
89% ( 10 ) The bad kind of studying
I was sitting in the library getting ready for my International Management exam tomorrow and realized that I was sitting right by the photography section, and aw man I could totally see the spine of the Henri Cartier-Bresson compilation book sitting right over there. So maybe I took a little time to relax my mind and study one of the greats. Is that really so bad? When it took as long as it did, yeah, probably is.
library management training
NEST has orgnised a three days library management trainings for library teachers from different goverment school where NEST ahs provided library in collabartion with ROOM to READ, Neapl.
er diagram for library management system
Etymotic's mc-3 headset offers best-in-class sound accuracy, noise isolation, fit and comfort and durability. Based on the breakthrough Etymotic ACCU-Technology platform, the MC-Series is the world's most accurate-sounding noise-isolating earphone series in its price class. The patent-pending, highly advanced ACCU-Chamber Acoustic Control Chamber technology modifies standard dynamic earphone drivers to perform at an accuracy response level equal to products costing twice as much. In addition, the MC-Series earphones are designed to be more comfortable for extended wear, and their high degree of noise isolation enables lower-volume listening, to help protect hearing. The mc-3 provides a 3-button micro-control pod with a noise-isolating close-proximity microphone, for easy control and superb call clarity - making it ideal for voice communications, conducting voice recording and iTunres memos as well as listening to music, videos, and other entertainment. The MC-3 earphone and headset, which is forward-compatible with the latest Apple iPhone, iPad and iPod touch products includes Made for ipod, Made for iPhone and Made for iPad certifications.
Entity-Relationship Diagram
By Mike Chapple. Databases Expert
Updated December 16, 2014.
Definition: An entity-relationship (ER) diagram is a specialized graphic that illustrates the relationships between entities in a database. ER diagrams often use symbols to represent three different types of information. Boxes are commonly used to represent entities. Diamonds are normally used to represent relationships and ovals are used to represent attributes.
For more information, see our full feature story on Entity-Relationship Diagrams .
Seguir leyendo abajo
Also Known As: ER Diagram, E-R Diagram, entity-relationship model
Examples: Consider the example of a database that contains information on the residents of a city. The ER digram shown in the image above contains two entities -- people and cities. There is a single "Lives In" relación. Each person lives in only one city, but each city can house many people.
EXTENDED E-R DIAGRAM FOR SPORTS CLUB (S5 CS2 ROLL NO 34)
TOPIC: collect one E-R diagram with extended ER features and explanations
Create an E-R diagram of a sports club conducted by school.
a) A school is decided to setup a sports club outside the school.
b) Sports club can be categorized based on the type: cricket club, football club.
c) A student can join in any one of the sports club.
d) Each sports club has a coach who trains the students.
e) Each student can be identified using id no.
f) Salary, experience, name of the coach can also be included.
STEP 3: IDENTIFY THE KEY ATTRIBUTES
Sports club: clubname
25 de septiembre de 2013
Figure 1 shows an example of an EER diagram for a small private airport database that is used to keep track of airplanes, their owners, airport employees and pilots. From the requirements for this database, the following information was collected. Each airplane has a registration number [Reg#], is of a particular plane type [OF - TYPE], and is stored in a particular hangar [STORED-IN]. Each plane type has a model number [Model>, a capacity [Capacity], and a location [Location]. The database also keeps track of the owners of each plane [OWNS]and the employees who have maintained the plane [MAINTAIN]. Each relationship instance in OWNS relates an airplane to an owner and includes the purchase data [Pdate]. Each relationship instance in MAINTAIN relates an employee to a service record [SERVICE]. Each plane undergoes service many times; hence, it is related by [PLANE-SERVICE] to a number of service records. A service record includes as attributes the date of maintenance [Date], the number of hours spent on the work [Hours], and the type of work done [Workcode]. We use a weak entity type [SERVICE] to represent airplane service, because the airplane registration number is used to identify a serVice record. An owner is either a person or a corporation. Hence, we use a union category [OWNER] that is a subset of the union of corporation [CORPORATION] and person [PERSON] entity types. Both pilots [PILOT] and employees [EMPLOYEE] are subclasses of PERSON. Each pilot has specific attributes license number [Lic-Num] and restrictions[Restr]; each employee has specific attributes salary [Salary] and shift worked [Shift]. All person entities in the database have data kept on their social security number [Ssn], name [Name], address[Address], and telephone number [Phone>.For corporation entities, the data kept includes name [Name>, address[Address], and telephone number [Phone>. The database also keeps track of the types of planes each pilot is authorized to fly [FLIES] and the types of planes each employee can do maintenance work on [WORKS-ON].
25 de septiembre de 2013
Design a database to keep track of information for an art museum. Assume that the following requirements were collected:
The museum has a collection of art_objects. Each art_object has a unique id, an artist(if known),a year(when it was created, if known) and a title.
Art_objects are categorized based on their types. There are two main types:painting and sculpture.
Painting has a paint type and style.
Sculpture has a material from which it was created, height and weight.
Different exhibitions occur each having a name, start date and end date. Exhibitons are related to all the art objects that were on display on display during the exhibition.
Draw an EER schema diagram for this application.
25 de septiembre de 2013
NOTOWN RECORD HAS DECIDED TO STORE INFORMATION ABOUT MUSICIANS WHO PERFORMED ON ITS ALBUMS IN A DATABASE. EACH MUSICIANS IDENTIFIED BY AN SSN, A NAME, AND AN AGE. EACH MUSICIANS LIVED IN DIFFERENT PLACES. PLACES ARE IDENTIFIED BY AN ADDRESS AND A PH. NO. EACH INSTRUMENTS IS IDENTIFIED BY A NAME AND A KEY. EACH ALBUM HAS A TITLE, DATE AND A FORMAT. EACH SONG HAS A TITLE AND AN AUTHOR. EACH MUSICIANS PLAYED SEVERAL INSTRUMENTS AND A GIVEN INSTRUMENT PLAYED BY SEVERAL MUSICIONS. EACH ALBUM HAS NO:OF SONGS ON IT, BUT NO SONG MAY APPEAR ON MORE THAN ONE ALBUM. EACH SONG IS PERFORMED BY ONE OR MORE MUSICIAN S AND A MUSICIAN MAY PERFORM A NO:OF SONGS. EACH ALBUM HAS EXACTLY ONE MUSICIAN WHO ACTS ITS PRODUCER. A MUSICIAN MAY PRODUCE SEVERAL ALBUMS.
25 de septiembre de 2013
TOPIC: IMPLEMENTATION OF A SIMPLE ER DIAGRAM.
Design an ER diagram for an airline reservation system.
The database represents each Airport, keeping its unique Airport Code, the Airport Name, and the City and State in which the Airport is located.
Each airline flight has a unique number, the Airline for the flight, and the Weekdays on which the flight is scheduled.
A flight is composed of one or more flight legs. Each flight leg has a leg number, Departure airport and Scheduled Departure Time, and an arrival airport and Scheduled Arrival Time.
A leg instance is an instance of a flight leg on a specific date. The Number of available seats and the airplane used in the leg instance are also kept.
The customer reservations on each leg instance include the customer name, phone, and seat numbers for each reservation.
Information on Airplanes and Airplane Types are also kept. For each Airplane type the Type Name, manufacturing company, and maximum number of seats are kept. The Airports in which planes of this type Can Land are kept in the database. For each Airplane, the Airplane Id, Total number of seats, and Type are kept.
It is a 1-N relationship between the airport and flight leg based on departure airport.
It is a 1-N relationship between Airport and Flight Leg based on arrival airport.
It is a M-N relationship between Airport and Airplane Type based on landing.
It is a 1-N relationship between Airplane Type and Airplane based on the type.
It is a 1-N relationship between Airplane and Leg instance based on the assignment.
It is a 1-N relationship between Leg instance and Seat based on reservation.
It is an N-1 relationship between Flight Leg and Flight based on the legs.
It is a 1-N relationship between Flight and Fare based on the fares.
It is a 1-N relation between Airport and Leg instance based on to where it departs.
It is a 1-N relationship between Airport and Leg instance based on the arrival.
It is a 1-N relationship between Flight Leg and Leg instance based on instance.
Key attributes
Airport - Airport code
Airplane Type - TypeName
Airplane - AirplaneId
Leg Instance - Date
Seat - SeatNo
Fare - Code
Flight Leg - LegNo
Flight - Number
Other relevant attributes
25 de septiembre de 2013
ORDERS AND PRODUCTS
THE ER DIAGRAM FOR ORDERS AND PRODUCTS IS GIVEN BELOW
There are many workers working under a project.
Each worker is identified by name, workerid and by address.
The project may include several departments under which many products are being produced.
Several workers may belong to single department and may participate in many projects.
Each department is been identified by name, department id and by address.
Similarly the projects have got it’s own project id and name.
The products too got their own name and product id.
The project may include several buyorders that may contain the product details and suppliers who delivers the buy orders.
The buyorders are specified by their ordered, orderdate and deliverydate. Same way, suppliers are specified by their name and supplier id.
Comparison of Diagramming Tools
Prepared by
Thanakorn Nitakorn
Information System Analysis
Table of Contents
Introducción
The diagrams described in this document are Control Flow diagrams (Flowcharts), Data Flow Diagram, Use Case Diagram, Entity-Relationship Diagram, and State-Transition Diagram. Activities in each diagram are mentioned briefly. Most of these diagrams have several steps/processes/objects. After explain you briefly details in each diagram, I then compare the diagrams in term of the purpose of each diagram in the system analysis. Finally, I then summarized the briefly details of diagrams and how system analysts or users applied it into the analysis of real system.
Flowchart is the schematic representation of a process. [1] It is the earliest and best known diagramming tools. It is also known as Control flow diagram. Flowchart allows users to graphically view the process and also helps them including audiences easily understand the content and easily find flaws in the process. It breaks a process down to a finite number of steps that get executed one at a time. Thus, if the flowcharts accurately describe the content carried out within them in the diagram, they can be used for analysis. It actually does not say anything about what the inputs and outputs of each step are. It does not address how each step performs internally.[7] Flowchart can be used by systems analysts in order to document process specifications.
Flowcharts will be the useful diagramming tools for the system analysis activity when it is concerned with the user implementation. The users, the system analysts and the implementation team can discuss those implementation constraints that must be imposed upon the system. They, for example, can determine the boundary of the system and the details of the interaction between the systems and the users.
Why flowchart is not popular in system analysis
However, there are several reasons that most system analysts actually do not use detailed flowcharts for process specifications.[2]
Flowcharts can be difficult to read and complicated. Using flowcharts required users to deeply understand the systems and frequently modified the flowcharts to the simpler way.
Flowcharts will be the time consuming and tedious to redraw the flowchart each time because it requires system analysts to redraw it whenever the detailed policy changes.
New diagramming method such as Data Flow Diagrams are more effective way to illustrate a multidimensional reality.
Flowchart components
Flowcharts are composed of many symbols but the common flowcharts are composed of three basic symbols: Arrows, Diamonds and Rectangles.
Arrows represent flow of control. It must be draw from one symbol and end at another symbol.
Diamonds represent decision points. Typically, it contains a Yes/No or True/False question and requires two Arrows coming out of it to support the decision. Nevertheless, it is possible that there are more than two Arrows coming out of it. In that case, it will be the clear indicator of the complex decision and it is usually required to be broken down.
Rectangles represent tasks or activities that occur in the processes.
Flowcharts may also contain other symbols such as page connectors when your diagram is too big to fit in one page, input/output which is represented by parallelogram and etc.
Unlike Data Flow Diagrams which are used to describe data flow within the system, flow charts are typically used to describe the detailed logic of a business process or business rule.[3]
Figure 1: The example of the Flow Chart.[17]
Data Flow Diagrams (DFDs)
Data flow diagram is a graphical representation of the flow of data through an information system. [4] It is one of the most commonly used systems-modeling tools, particularly in the operational system in which functions of the system are the most important and more complex than the data that the system manipulates. Rather than showing the strict order of execution of steps, it shows how processes depend on one another for information.[7] It shows data flow from external into the system and shows how the data moved from one process to another process. Data flow diagrams are one of the three essential perspectives of Structured Systems Analysis and Design Method (SSADM).
System analysts use it as a tool for modeling and analyzing the processes in the system. It helps analysts to visualize the data processes since data enter to the system, and then they are used by the system until they are returned to the environment. Analysts also use DFDs to study alternative information handling procedures during the process of designing new information services. In addition, Data Flow Diagrams can be used for compared the new system and the old system. With this comparison, system analysts can find the gap between two systems and the effectiveness of the improved system.
Although Data Flow Diagram is one of the power tools for analyzing the systems, the system analysts must keep in mind that it provides only one view of the system. It focuses mainly on the function-oriented view. So, if the systems are more concerned with data relationships than the functions, Data Flow Diagram will be less important. Instead, system analysts must concentrate mainly on developing the Entity-Relationship Diagrams. Alternatively, the State-Transition Diagrams will be the most importance if the time-dependent behavior of the system dominated all other issues.
Data Flow Diagram Components
A data flow diagram illustrates the processes, data stores, and external entities in a business or other system and the connecting data flows.[4] There are only four symbols for a data flow diagram: Squares or Ovals, Circle or Rounded Rectangles, Arrows, and Open-ended Rectangles.
Squares or Ovals represent external entities, terminators, sources, or sinks. Typically, a terminator is a person or a group of people outside the control of the system being modeled. It represents where information comes from and where it goes. There are three important things that we must remember about terminators:[5]
They must be outside the system we are being modeled.
As a result, neither the system analysts nor system designers are able to change the contents, organization and the internal process within the terminators.
Any relationship between each terminator is not a part of the system we are considering, so the system analysts and designers can not include any relationship that exists between terminators. Thus, in case there are relationships occur between terminators and those relationships are important for system analysts to model a proper system, the terminators are actually part of the system and system analysts should include it as processes in data flow diagram, not terminators.
Circles or Rounded Rectangles represent processes within the system. It shows a part of the system that transforms inputs into outputs. The name of the process in the symbols usually explains what the process does so that it is generally used with verb-object phase. In some cases, however, the process may contain the name of the person or group of people, or a mechanical device. So, it sometimes tells us who or what is carrying out the process, rather than describing what the process is.
Arrows represent the data flows. It can be either be electronic data or physical items or both. The name of the arrows represents the meaning of the packet (data or items) that flow along. In addition, like Arrows in flow charts, Arrows in data flow diagrams show direction to indicate whether data or items are moving out or into a process.
Open-ended Rectangles represent data stores, including both electronic stores and physical stores. Data stores might be used for accumulating data for a long or short period of times.
Nonetheless, the data flow diagram doesn’t answer a lot of procedural questions that you might have when looking at the DFD.[5] All the questions related to procedural details are normally modeled within Flowcharts or other procedural modeling tools. Some examples of the procedural questions are what the criteria for moving data from one process to another process and what the order in which the processes are performed.
Rules of Drawing Data Flow Diagram
Furthermore, there are several common modeling rules that you need to follow when creating Data Flow Diagrams.[6]
At least one data flow in and one data flow out is required to each process in the system.
The data output for each process should be modified from the data input. So, the outgoing data should be in the new forms.
Each data store must be involved with at least one data flow.
Each external entity must be involved with at least one data flow.
A data flow must be attached to at least one process.
A data flow can be moved in one direction only.
A data flow can not be returned to the process from which it originated.
Both branches of a joined data flow must have the same data type.
Data Flow Diagram Levels
In the real projects, data flow diagrams are considerably large and complex. So we need to avoid drawing the whole system in only one diagram. System analysts organize the overall DFD in a series of levels so that each level provides successively more detail about a portion of the level above it.[5] The top-level DFD is called a context diagram which represents the system as a single process. It consists of only one circle representing the entire system, the data flows showing the interaction between the system and the external terminators. There is no data stores appear on a context diagram because the data stores of the systems are conceptually inside the one process. The context diagrams are useful for showing how a proposed system may behave for a specific example or scenario. The next level DFD are called Level-0 DFD, Level-1 DFD, and so on. Level-0 diagram is the decomposition of the one process from the context diagram into two to nine high-level processes. Then, each process in the Level-0 diagram can be decomposed into the next level.
In order to properly create many levels of data flow diagram, you must understand two concepts: decomposition and balancing.
Decomposition is the iterative process by which system description has been broken down into deeper detail. One process on a given diagram is then explained in greater detail on a lower-level diagram.
Balancing is the conservation of inputs and outputs to a data flow diagram process when that process is decomposed into a lower level.
Figure 2: The example of the Data Flow Diagram.[18]
Use Case Diagram
In the Unified Modeling Language (UML), a use case diagram is a sub class of behavioral diagrams.[8] Use Case Diagram is one of the Object Oriented Diagrams. It shows how a system interacts with the external entities. So, it is relatively sparse about the details of how the system behaves internally and how the external environment is configured. Indeed, Use Case Diagram shows what we want the system to do rather than describe how it can be accomplished. One of the major benefits of this diagram is communication.
Use Case Diagram Components
There are four major symbols in the Use Case Diagrams: Use cases, Actors, and Associations and System boundary.
· Use Cases describe a sequence of actions. Those actions must provide the measurable value to an actor. It is represented by horizontal ellipse.
· Actors are a person, group of people, organization, or external system the plays a role in one or more interactions with your system. Furthermore, it can be networks, communication devices, computers, or other programs on the same computer. It is represented by stick figure.
· Associations or Communications indicate the interaction described by a use case. It is represented by lines connecting between use cases and actors with an optional arrowhead on one end of the line. Notice that the arrowheads in Use Case diagram is used for indicating the direction of the initial invocation of the relationship or to indicate the primary actor, while the arrowheads of Data Flow Diagram is used for showing the flow of data in the system.
· System boundary is the rectangle around the use cases. Anything within this boundary is the functionality in scope of the system.
System analysts and designers must remember that interaction among actors is not shown in the Use Case Diagrams. Thus, the system boundary should reexamine if the interaction between actors is essential to a coherent description of the desired behavior. Furthermore, Actors are formed based on the role we set. So, the different actors may actually be the same person.
Use Case Relationships
There are three major types of Use Case Relationships: Include Extend, and Generalization or Inheritance.
Include relationship occurs when the first use case depends on the outcome of the included use case. It is helpful when the same use case can be factored out of two different use cases. For example, when patient (actor) wants to make appointment (use case). It is required that make appointment depends on check patient record (included use case). You may refer Include relationships as the equivalent of a procedure call.[9]
Extend relationship indicates that the behavior of extension use case may be inserted in the extended use case under some conditions. For instance, patient (actor) is linked to Pay Bill (extension use case). Whenever the patient is required more treatment, the extend relationship emerges between Pay Bill (extension use case) and Defer Payment (extended use case).[10] You may refer Extend relationships as the equivalent of a “hardware interrupt”.[9]
Generalization or Inheritance indicates that a given use case may be a specialized form of an existing use case. For example, Pay Bill (parent use case) can be substituted by the Bill Insurance (child use case) whenever necessary.
Figure 3: The example of the Use Case Diagram.[19]
Entity-Relationship Diagrams is a network model that describes the stored data layout of a system at a high level of abstraction.[11] For the system analyst, the benefit of using Entity-Relationship Diagram is that it concentrates on the relationships between data stores on the Data Flow Diagram that can be seen only in the process specification. Since Data Flow Diagram mainly focuses on the function that the system perform not the data that the system need, using Entity-Relationship Diagram is important to capture another part of system analysis which concentrates mainly on the data in the system.
Entity-Relationship Components
There are four major components of an Entity-Relationship Diagram: Objects or Entities, Relationships, Associative object type indicators, and Supertype/Subtype indicators.
· Entities represent set of objects in the real world. Entities are represented by rectangles. It has three main characteristics. First, each entity can be identified uniquely in some way. Student, for example, must be able to distinguish from one another by student identities, or name because if students are the same, then Student is meaningless in Entity-Relationship Diagram. Second, each entity must play a necessary role in the system. In other words, objects which have no role in the system can not put into the system. Third, each entity can be described by one or more data elements. For instance, Textbook can be described by one attribute or one data element, ISBN. Also, it can be described by combined attributes (Title, Author, Published Date, and Edition).
· Relationships represent set of connections between entities. It captures how two or more entities are related to one another. Diamond symbols are used for identify relationships. We must keep in mind that the relationship represents something that must not be calculated or derived mechanically by the system. Also, more than one relationship can occur between objects.
· Associative object type indicator represents something that functions both as an object and a relationship.
· Subtype/Supertype indicators represent objects and one or more subcategories connected by a relationship. For example, Student can be connected with Part-time Student and Full-time Student via unnamed relationship. So in this case, Student is Supertype and Part-time Student and Full-time Student are subtypes. Also, all data elements in supertype can be applied to subtypes and subtype have additional data elements to identify themselves.
Figure 4: The example of the Entity-Relationship Diagram.[20]
State-Transition Diagram (STD) is the graphical representation of the system that created for dealing with the time-dependent behavior of a system. Examples for the time-dependent systems are process control, telephone switching systems, high-speed data acquisition systems, and military command and control systems.[13] However, if the system is dealing with inputs from many terminals or high-speed inputs from other systems, then it may have the same kind of time-dependent issues. So, system analysts must be familiar with this modeling tool.
State-Transition Diagram Components
There are two major components for this diagram: States, Changes of State, and Conditions and Actions.
· System States are represented by rectangles. States are the sets of circumstances or attributes characterizing a person or thing at a given time. Keep in mind that States are something in the system that waiting for something from external environment to occur or waiting for a current activity in the environment to change to some other activity.
· Changes of State is shown by the arrows. It represents the change from one state to another by connecting the relevant pair of states. Note that a system can have only one initial state but can have multiple final states.
· Conditions and Actions are shown next to the arrow connecting two related states. Condition explains the cause of changing the state and Action explain what the system takes when it changes state. Remember that condition is some event in the external environment that the system is capable of detecting, not the change in the system.
Comparison of diagrams
Each diagramming tool is aimed at a different portion of the analytical process.[16] Flow Charts are useful tools when system analysts or users want to represent either the processing or decision logic flows within the particular process, with its associated inputs and outputs, or the flows of an entire system, with all the various types of processing, preparation, inputs, outputs, data storage media, and other hardware which are associated with it. Unlike Flow Charts, Data Flow Diagram does not show the strict order of execution steps but it shows how processes depend upon one another for information. Data Flow Diagram focuses mainly on the functions performed by a system. One of the major benefits of a Use Case Diagram is communication.[15] By looking at the Use Cases, they know what functionality will be included in the system. Unlike Data Flow Diagram, Entity-Relationship focuses entirely on the data relationships, without providing any information about the functions that create or use the data. State-Transition Diagram focuses mainly on the time-dependent behavior of a system.
Each of these diagrams focuses on critical aspect of the system we are modeling. It means that the person reading the model is also focusing on one critical aspect. So, we should make sure that we are drawing the diagram that is focused on that critical aspect. That is, Data Flow Diagram focuses the reader’s attention on the functions in the system. Entity-Relationship focuses on the data relationships and State-Transition Diagram focuses on the timing characteristics of the system.
Control flow diagrams or Flowchart are the schematic representation of a process. They break a process down to a finite number of steps that get executed one at a time.[7] It does not focus on what the inputs and outputs are and also does not address why we perform those process on each step. It just tells us about when the decision is required in the system and what process step will be executed next based on those decisions. Data Flow Diagram is a graphic representation of a system. It consists of data flows, processes, sources, destinations and stores. Unlike Flow Charts, Data Flow Diagram does not show the strict order of execution steps but it shows how processes depend upon one another for information. Use Case Diagram shows you some of the use cases in your system, some of the actors in your system, and the relationships between them. It shows what we want our system to do, but it does not explain the way how those requirements can be accomplished. Entity-Relationship Diagrams is a network model that describes the stored data layout of a system at a high level of abstraction. [11] Unlike Data Flow Diagram, it highlights relationships between data stores on the Data Flow Diagram that can be seen only in the process specification. The state-transition diagram is a powerful modeling tool for describing the required behavior of real-time system.
Each diagram shows a different aspect of some complex system. Any system of sufficient complexity can be derived from different diagrams. System Analyst must realize that to successfully analysis the systems, they need to understand the main information they got from each diagramming tool. One diagramming tool may not enough for analyzing the system and they may require using multiple diagrams. Also, it is important to remember that diagrams are documentations. It is a means of communication between groups of human beings and needs to be understandable to both senders and receivers.[7]
What diagrams need to be develop depend on the kind of system you are developing. For example, if the system you are analyzing has complex functions but relatively trivial data structures, Data Flow Diagram will be the best tool. However, in many cases of the real systems, they are required that system analysts must be dealing with more than one diagramming tools.
[2] Ed Yourdon – Just Enough Structured Analysis – Chapter15, http://www. yourdon. com/strucanalysis/chapters/ch15.html. Last accessed November 15, 2006.
[5] Ed Yourdon – Just Enough Structured Analysis – Chapter 9, http://www. yourdon. com/strucanalysis/chapters/ch9.html. Last accessed November 15, 2006.
[10] Digging Deeper: Use Case Diagrams, http://bdn. borland. com/article/31863. Last accessed November 16, 2006.
[11] Ed Yourdon – Just Enough Structured Analysis – Chapter 12, http://www. yourdon. com/strucanalysis/chapters/ch12.html. Last accessed November 16, 2006.
[13] Ed Yourdon – Just Enough Structured Analysis – Chapter 13, http://www. yourdon. com/strucanalysis/chapters/ch13.html. Last accessed November 16, 2006.
[21] The State Transition Diagram, http://www. csc. calpoly. edu/
dbutler/tutorials/winter96/rose/node10.html. Last accessed November 22, 2006.
Non-web Citations
[1] Modern Systems Analysis and Design, Forth Edition, Hoffer, George, and Valacich
[2] Flow Chart, First Edition, John Ashbery, ISBN: 0679402012.
[3] Structured analysis and system specification, Tom DeMarco, ISBN: 0138543801
[4] Fundamentals of Database Systems, Forth Edition, Elmasri and Navathe
[5] Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
[6] Learning SQL, First Edition, Alan Beaulieu, ISBN: 0596007272.
[7] The unified modeling language, Jean Bйzivin, Pierre-Alain Muller, ISBN: 3540662529
[8] Modern structured analysis, Edward Yourdon, ISBN: 0135986249
[9] Use Case Modeling - Page 28, Kurt Bittner, and Ian Spence, ISBN 0201709139
[10] Technical Data Requirements for Systems Engineering and Support, Thomas F. Walton, ISBN: 0138968780
[11] Analyzing Business Information Systems: An Object-Oriented Approach, Shouhong Wang, ISBN: 0849392403
Developing Entity Relationship Diagrams (ERDs)
WHY:
Entity Relationship Diagrams are a major data modelling tool and will help organize the data in your project into entities and define the relationships between the entities. This process has proved to enable the analyst to produce a good database structure so that the data can be stored and retrieved in a most efficient manner.
INFORMATION:
A data entity is anything real or abstract about which we want to store data. Entity types fall into five classes: roles, events, locations, tangible things or concepts. P. ej. employee, payment, campus, book. Specific examples of an entity are called instances. P. ej. the employee John Jones, Mary Smith's payment, etc.
A data relationship is a natural association that exists between one or more entities. P. ej. Employees process payments. Cardinality defines the number of occurrences of one entity for a single occurrence of the related entity. P. ej. an employee may process many payments but might not process any payments depending on the nature of her job.
Attribute A data attribute is a characteristic common to all or most instances of a particular entity. Synonyms include property, data element, field. P. ej. Name, address, Employee Number, pay rate are all attributes of the entity employee. An attribute or combination of attributes that uniquely identifies one and only one instance of an entity is called a primary key or identifier . P. ej. Employee Number is a primary key for Employee.
AN ENTITY RELATIONSHIP DIAGRAM METHODOLOGY: (One way of doing it)
1. Identify Entities
Identify the roles, events, locations, tangible things or concepts about which the end-users want to store data.
3. Draw Rough ERD
We connect the entities whenever a relationship is shown in the entity Relationship Matrix.
4. Fill in Cardinality
From the description of the problem we see that:
Each department has exactly one supervisor.
A supervisor is in charge of one and only one department.
Each department is assigned at least one employee.
Each employee works for at least one department.
Each project has at least one employee working on it.
An employee is assigned to 0 or more projects.
5. Define Primary Keys
The primary keys are Department Name, Supervisor Number, Employee Number, Project Number.
6. Draw Key-Based ERD
There are two many-to-many relationships in the rough ERD above, between Department and Employee and between Employee and Project. Thus we need the associative entities Department-Employee and Employee-Project. The primary key for Department-Employee is the concatenated key Department Name and Employee Number. The primary key for Employee-Project is the concatenated key Employee Number and Project Number.
7. Identify Attributes
The only attributes indicated are the names of the departments, projects, supervisors and employees, as well as the supervisor and employee NUMBER and a unique project number.
8. Map Attributes
10. Check Results
The final ERD appears to model the data in this system well.
FURTHER DISCUSSION:
Step 1. Identify Entities
A data entity is anything real or abstract about which we want to store data. Entity types fall into five classes: roles, events, locations, tangible things, or concepts. The best way to identify entities is to ask the system owners and users to identify things about which they would like to capture, store and produce information. Another source for identifying entities is to study the forms, files, and reports generated by the current system. P. ej. a student registration form would refer to Student (a role), but also Course (an event), Instructor (a role), Advisor (a role), Room (a location), etc.
Step 2. Find Relationships
There are natural associations between pairs of entities. Listing the entities down the left column and across the top of a table, we can form a relationship matrix by filling in an active verb at the intersection of two entities which are related. Each row and column should have at least one relationship listed or else the entity associated with that row or column does not interact with the rest of the system. In this case, you should question whether it makes sense to include that entity in the system.
Step 3. Draw Rough ERD
Using rectangles for entities and lines for relationships, we can draw an Entity Relationship Diagram (ERD).
Step 4. Fill in Cardinality
At each end of each connector joining rectangles, we need to place a symbol indicating the minimum and maximum number of instances of the adjacent rectangle there are for one instance of the rectangle at the other end of the relationship line. The placement of these numbers is often confusing. The first symbol is either 0 to indicate that it is possible for no instances of the entity joining the connector to be related to a given instance of the entity on the other side of the relationship, 1 if at least one instance is necessary or it is omitted if more than one instance is required. For example, more than one student must be enrolled in a course for it to run, but it is possible for no students to have a particular instructor (if they are on leave).
The second symbol gives the maximum number of instances of the entity joining the connector for each instance of the entity on the other side of the relationship. If there is only one such instance, this symbol is 1. If more than 1, the symbol is a crows foot opening towards the rectangle.
If you read it like a sentence, the first entity is the subject, the relationship is the verb, the cardinality after the relationship tells how many direct objects (second entity) there are.
Step 5. Define Primary Keys
For each entity we must find a unique primary key so that instances of that entity can be distinguished from one another. Often a single field or property is a primary key (e. g. a Student ID). Other times the identifier is a set of fields or attributes (e. g. a course needs a department identifier, a course number, and often a section number; a Room needs a Building Name and a Room Number). When the entity is written with all its attributes, the primary key is underlined.
Step 6. Draw Key-Based ERD
Looking at the Rough Draft ERD, we may see some relationships which are non-specific or many-to-many. Es decir. there are crows feet on both ends of the relationship line. Such relationships spell trouble later when we try to implement the related entities as data stores or data files, since each record will need an indefinite number of fields to maintain the many-to-many relationship.
Fortunately, by introducing an extra entity, called an associative entity for each many-to-many relationship, we can solve this problem. The new associative entity's name will be the hyphenation of the names of the two originating entities. It will have a concatenated key consisting of the keys of these two entities. It will have a 1-1 relationship with each of its parent entities and each parent will have the same relationship with the associative entity that they had with each other before we introduced the associative entity. The original relationship between the parents will be deleted from the diagram.
The key-based ERD has no many-to-many relationships and each entity has its primary and foreign keys listed below the entity name in its rectangle.
Step 7. Identify Attributes
A data attribute is a characteristic common to all or most instances of a particular entity. In this step we try to identify and name all the attributes essential to the system we are studying without trying to match them to particular entities. The best way to do this is to study the forms, files and reports currently kept by the users of the system and circle each data item on the paper copy. Cross out those which will not be transferred to the new system, extraneous items such as signatures, and constant information which is the same for all instances of the form (e. g. your company name and address). The remaining circled items should represent the attributes you need. You should always verify these with your system users. (Sometimes forms or reports are out of date.)
Step 8. Map Attributes
For each attribute we need to match it with exactly one entity. Often it seems like an attribute should go with more than one entity (e. g. Name). In this case you need to add a modifier to the attribute name to make it unique (e. g. Customer Name, Employee Name, etc.) or determine which entity an attribute "best' describes. If you have attributes left over without corresponding entities, you may have missed an entity and its corresponding relationships. Identify these missed entities and add them to the relationship matrix now.
Step 9. Draw Fully-Attributed ERD
If you introduced new entities and attributes in step 8, you need to redraw the entity relationship diagram. When you do so, try to rearrange it so no lines cross by putting the entities with the most relationships in the middle. If you use a tool like Systems Architect, redrawing the diagram is relatively easy.
Even if you have no new entities to add to the Key-Based ERD, you still need to add the attributes to the Non-Key Data section of each rectangle. Adding these attributes automatically puts them in the repository, so when we use the entity to design the new system, all its attributes will be available.
Step 10. Check Results
Look at your diagram from the point of view of a system owner or user. Is everything clear? Check through the Cardinality pairs. Also, look over the list of attributes associated with each entity to see if anything has been omitted.
Introducción
From this page you can reach Entity-Relationship diagrams that pertain to the "FAS/FRS" accounting system that is used throughout the California State University (CSU) system, including San Diego State University. (Recently, several campuses have embarked on projects to replace FAS.)
From BMS description: "In the California State University System, the Financial Accounting System and the Accounts Payable System (APS) are totally integrated component of an integrated Business System (IBS), although each could be viewed as stand-alone systems in other environments. The Financial Accounting System is the central unit of the IBS project. The Account Payable system is an automated disbursement system which updates accounting information in the Financial Accounting System. The Financial Accounting and Accounts Payable Systems provide users with many desireable accounting and reporting benefits."
Entity-Relationship Diagrams for Financial Accounting System
FAS is a VSAM/COBOL application, and consequently E-R diagrams don't apply directly. However, it is possible to map the concepts using E-R diagrams. BMS provided COBOL and PL/SQL jobs to load the VSAM files into Oracle tables. These Oracle "extract" tables have only an approximate relationship to the models below, since they were simply copies of the VSAM tables, and not particularly normalized.
Analysis for these E-R diagrams was performed in 1997, and became the basis for the accounting data warehouse data structure and nightly processing.
Conceptual Diagrams
Entity Relationship Diagram (ERD)
An Entity Relationship Diagram (ERD) is a snapshot of data structures. An Entity Relationship Diagram shows entities (tables) in a database and relationships between tables within that database. For a good database design it is essential to have an Entity Relationship Diagram.
There are three basic elements in ER-Diagrams:
Entities are the "things" for which we want to store information. An entity is a person, place, thing or event.
Attributes are the data we want to collect for an entitiy.
Relationships describe the relations between the entities.
With DeZign for Databases you can draw new ERD's or reverse engineer existing databases and derive an ERD from that database. After importing the structure of an existing database you can modify/redesign your model and regenerate or synchronize it with your database. The tool can generate SQL scripts (DDL) or a database from the content of a data model (ERD). It "converts" the diagram into database commands and DDL (forward engineering).
Use DeZign for Databases to:
Model a New Database From Scratch
You can design or model your database visually before you write a single line of database code. You draw entities (tables), add attributes (columns) and create relationships between those entities. When you are ready with the data model, DeZign for Databases generates the database you designed. DeZign for Databases can generate the SQL to create the database or it can generate the database directly.
Redesign Databases
DeZign for Databases can connect to data sources (Oracle, MS SQL Server, PostgreSQL, MySQL, MS Access. ) and automatically generate Entity Relationship Diagrams/models of existing (complex) database schemas. You then have a good overview of the database structure. You can modify the model and then synchronize it with your database. DeZign for Databases is capable of generating intelligent database update scripts to keep your data model and database synchronized.
Visually Understand a Database
A data model/diagram provides developers and users a much better understanding of the database architecture. DeZign for Databases allows you to create, annotate and distribute visual data models with industry standard notations. You can generate database documentation and share these models with other members in your team. A data model can also be useful to the end user in verifying that all of their data needs have been captured accurately. DeZign for Databases serves as a powerful communication tool. It connects the database designers to the rest of the development team and business users.
Creating an Information System/Data Flow Diagram
The goal of the Information System/Data Flow Diagram is to capture the main components of an Information System, how data moves within the system, user-interaction points, and the Authorization Boundary. Think of this diagram as conceptual rather than technical – multiple systems can be abstracted together, and there’s no need to detail every network connection. The Authorization Boundary describes the limits of the Information System – which pieces are currently being assessed. Information Systems often depend on other Information Systems, but those other Information Systems will be assessed independently, and their risk factored into the current Information System.
Figure 2: Example of a poor System/Flow Diagram
Figure 1: Example of a good System/Flow diagram
The diagram on the Right focuses too much on system components, includes unnecessary information, and does little to explain how data moves through the system, which protocols are in use, or the boundaries of the system to be assessed.
Directional arrows indicating data flow and protocols are important to know during an assessment, because they can highlight which parts of the Information System need scrutiny during an assessment. For instance, system descriptions often might only say, “data is transferred from the customer to the Viridian Dynamics System”. In this case, if the diagram depicts the protocol as ‘FTP’, then the assessor can ask the appropriate followup questions.
Figure 3: Example of a good system/flow diagram
Figure 4: Example of a good system/flow diagram, illustrating how to represent virtual and hosted systems.
Herramientas
You may use any tool you prefer to create your diagrams, but to ensure compatibility, please only send image files (jpg or png) or PDFs to the Information Security Office. We have had success with the following tools:
Microsoft Visio – May be licensed under the Microsoft Select Plus agreement
OmniGraffle – available for Mac OSX
Microsoft Powerpoint
Draw. io – free online tool. Since system diagrams may contain information related to security controls, please choose either Browser or Device to save your drawing, do not save to a cloud provider.
ER Diagrams, Domain Model, and N-Layer Architecture with ASP. NET 3.5 (part1)
Let us start with a 1-tier ASP. NET application configuration.
Note that the application as a whole including database and client browser is three tier.
We can call this 1-tier architecture a 3-tier architecture if we include the browser and database (if used). For the rest of this article we will ignore the database and browser as separate tiers so that we can focus on how to divide the main ASP. NET application layers logically, using the n-layer pattern to its best use.
We will first try to separate the data access and logical code into their own separate layers and see how we can introduce flexibility and re-usability into our solution. We will understand this with a sample project. Before we go ahead into the technical details and code, we will first learn about two important terms: ER Diagram and Domain Model, and how they help us in getting a good understanding of the application we need to develop.
Entity-Relationship Diagram
Entity-Relationship diagrams, or ER diagrams in short, are graphical representations depicting relationships between different entities in a system. We humans understand and remember pictures or images more easily than textual information. When we first start to understand a project we need to see how different entities in the project relate to each other. ER diagrams help us achieve that goal by graphically describing the relationships.
An entity can be thought of as an object in a system that can be identified uniquely. An entity can have attributes; an attribute is simply a property we can associate with an entity. For example, a Car entity can have the following attributes: EngineCapacity, NumberofGears, SeatingCapacity, Mileage, and so on. So attributes are basically fields holding data to indentify an entity. Attributes cannot exist without an entity.
Let us understand ER diagrams in detail with a simple e-commerce example: a very basic Order Management System. We will be building a simple web based system to track customer's orders, and manage customers and products.
To start with, let us list the basic entities for our simplified Order Management System (OMS):
Customer: A person who can place Orders to buy Products.
Order: An order placed by a Customer. There can be multiple Products bought by a Customer in one Order.
Product: A Product is an object that can be purchased by a Customer.
Category: Category of a Product. A Category can have multiple Products, and a Product can belong to many Categories. For example, a mixer-grinder can be under the Electronic Gadgets category as well as in Home Appliances.
OrderLineItem: An Order can be for multiple Products. Each individual Product in an order will be encapsulated by an OrderLineItem. So an Order can have multiple OrderLineItems.
Now, let us picture the relationship between the core business entities is defined using an Entity-Relationship diagram. Our ER diagram will show the relational associations between the entities from a database's perspective. So it is more of a relational model and will not show any of the object-oriented associations (for which we will use the Domain Model in the later sections of this article). In an ER diagram, we show entities using rectangular boxes, the relationships between entities using diamond boxes and attributes using oval boxes, as shown below:
The purpose of using such shapes is to make the ER diagram clear and concise, depicting the relational model as closely as possible without using long sentences or text. So the Customer entity with some of the basic attributes can be depicted in an ER diagram as follows:
Now, let us create an ER diagram for our Order Management System. For the sake of simplicity, we will not list the attributes of the entities involved.
Here is how the ER diagram looks:
The above ER diagram depicts the relationships between the OMS entities but is still incomplete as the relationships do not show how the entities are quantitatively related to each other. We will now look at how to quantify relationships using degree and cardinality.
Degree and Cardinality of a Relationship
The relationships in an ER diagram can also have a degree . A degree specifies the multiplicity of a relationship. In simpler terms, it refers to the number of entities involved in a relationship. All relationships in an OMS ER diagram have a degree of two, also called binary relationships. For example, in Customer-Order relationships only two entities are involved—Customer and Order; so it's a two degree relationship. Most relationships you come across would be binary.
Another term associated with a relationship is cardinality. The cardinality of a relationship identifies the number of instances of entities involved in that particular relationship. For example, an Order can have multiple OrderLineItems, which means the cardinality of the relationship between Order and OrderLineItem is one-to-many. The three commonly-used cardinalities of a relationship are:
One-to-one . Depicted as 1:1 Example: One OrderLineItem can have only one Product; so the OrderLineItem and Product entities share a one-to-one relationship
One-to-many . Depicted as 1:n Example: One customer can place multiple orders, so the Customer and Order entities share a one-to-many relationship
Many-to-many . Depicted as n:m Example: One Product can be included in multiple Categories and one Category can contain multiple Products; therefore the Product and Category entities share a many-to-many relationship
After adding the cardinality of the relationships to our ER diagram, here is how it will look:
This basic ER diagrams tells us a lot about how the different entities in the system are related to each other, and can help new programmers to quickly understand the logic and the relationships of the system they are working on. Each entity will be a unique table in the database.
OMS Project using 2-Layer
We know that the default coding style in ASP. NET 2.0 already supports the 1-tier 1-layer style, with two sub-layers in the main UI layer as follows:
Designer code files: ASPX markup files
Code behind files: Files containing C# or VB. NET code
Because both of these layers contain the UI code, we can include them as a part of the UI layer. These two layers help us to separate the markup and the code from each other. However, it is still not advisable to have logical code, such as data access or business logic, directly in these code-behind files.
Now, one way to create an ASP. NET web application for our Order Management System (OMS) in just one layer is by using a DataSet (or DataReader) to fill the front-end UI elements directly in the code-behind classes. This will involve writing data access code in the UI layer (code-behind), and will tightly bind this UI layer with the data access logic, making the application rigid (inflexible), harder to maintain, and less scalable.
In order to have greater flexibility, and to keep the UI layer completely independent of the data access and business logic code, we need to put these elements in separate files. So we will now try and introduce some loose-coupling by following a 2-layer approach this time. What we will do is, write all data access code in separate class files instead of using the code-behind files of the UI layer. This will make the UI layer independent of the data-access code.
We are assuming that we do not have any specific business logic code at this point, or else we would have put that under another layer with its own namespace, making it a 3-layered architecture. We will examine this in the upcoming sections of this article.
Sample Project
Let us see how we can move from this 1-tier 1-layer style to a 1-tier 2-layer style. Using the ER diagram above as reference, we can create a 2-Layer architecture for our OMS with these layers:
UI-layer with ASPX and code-behind classes
Data access classes under a different namespace but in the same project
So let's start with a new VS 2008 project. We will create a new ASP. NET Web Project in C#, and add a new web form, ProductList. aspx . which will simply display a list of all the products using a Repeater control. The purpose of this project is to show how we can logically break up the UI layer further by separating the data access code into another class file.
The following is the ASPX markup of the ProductList page (unnecessary elements and tags have been removed to keep things simple):
In this ASPX file, we only have a Repeater control, which we will bind with the data in the code-behind file.
Here is the code in the ProductList. aspx. cs code-behind file:
Note that we don't have any data access code in the code-behind sample above. We are just calling the GetAllProducts() method, which has all of data access code wrapped in a different class named DAL. We can logically separate out the code, by using different namespaces to achieve code re-use and greater architectural flexibility. So we created a new class named DAL under a different namespace from the UI layer code files. Here is the DAL code:
So we have separated the data access code in a new logical layer, using a separate namespace, OMS. Code . and using a new class. Now, if we want to, we can re-use the same code in the other pages as well. Furthermore, methods to add and edit a product can be defined in this class and then used in the UI layer. This allows multiple developers to work on the DAL and UI layers simultaneously.
Even though we have a logical separation of the code in this 2-layer sample architecture, we are still not using real Object Oriented Programming (OOP). All of the Object-Oriented Programming we have used so far has been the default structure the. NET framework has provided, such as the Page class, and so on.
When a project grows big in size as well as complexity, using the 2-layer model discussed above can become cumbersome and cause scalability and flexibility issues. If the project grows in complexity, then we will be putting all of the business logic code in either the DAL or the UI layer. This business logic code includes business rules. For example, if the customer orders a certain number of products in one order, he gets a certain level of discount. If we code such business rules in the UI layer, then if the rules change we need to change the UI as well, which is not ideal, especially in cases where we can have multiple UIs for the same code, for example one normal web browser UI and another mobile-based UI.
We also cannot put business logic code in the DAL layer because the DAL layer should only contain data access code which should not be mixed with any kind of business processing logic. In fact the DAL layer should be quite "dumb"–there should be no "logic" inside it because it is mostly a utility layer which only needs to put data in and pull data out from a data store.
To make our applications more scalable and to reap the benefit of OOP, we need to create objects, and wrap business behavior in their methods. This is where the Domain Model comes into the picture.
Domain Model using UML
The domain model is a more object-oriented way of indicating the relationships between different objects in the context of the business logic of the application. It is similar to the ER diagram. But instead of merely showing the relationships between the entities involved, it graphically reflects how these entities relate to each other in an object-oriented fashion. On the other hand, an ER diagram is only focused from a relational perspective.
Unified Modeling Language, or UML in short, is a graphical language used to describe object-oriented designs for software systems. UML is quite a vast language, but we will focus more on class diagrams and UML relationships to represent our domain model. Class diagrams are widely used in every object-oriented system to describe the different types of internal relationships between the different business entities.
Before going for a 3-layer object-oriented system, we need to create a domain model of the system. So we need to put all of the business code into separate logical structures and start creating a domain model, in order to understand the different business entities involved.
For this, we need to "organize" the code by breaking it down into logical entities, which we call objects, and create relationships between them. The resulting set of objects with relationships defined between them would be known as the domain model of the application. It is so called because this model illustrates how different entities in the application domain would interact with each other.
We use the following shapes in our class diagram:
We will learn in detail what each figure represents, and how to create a domain model using them.
Class Diagram
A class diagram simply represents how different entities are related to each other in an object-oriented system. Class diagrams are different from ER diagrams because class diagrams deal with relationships in an object-oriented manner, showing inheritance, interfaces and so on, whereas an ER diagram can only depict relational models (for Relational Database Management Systems, or RDBMSs).
In order to create a class diagram for our OMS, let us highlight the major entities in our OMS in terms of domain classes:
The rectangular boxes denote the entities (or classes) with the class name in the header and the attributes (or fields) below it. The arrows define relationships between entities. These relationships can be of different types and are depicted differently using different arrow styles.
Broadly speaking, we can place class relationships into these categories:
Dependency relationship
Association
Generalization
Realization
Let's explore each of these UML relationships in detail.
UML Relationships
In an ER diagram for two entities A and B, we can show only one type of relationship–a Relational relationship–which means that entity A is somehow related to entity B. But in a class diagram, the relationships can be further divided on the basis of object-oriented principles such as inheritance, association, and so on. The following sections describe the main UML relationships used in a class diagram.
Dependency Relationship
A Dependency exists between two elements if changes to one element will affect the other. A dependency relationship is the simplest relationship of all, and means that Entity 1 depends on Entity 2 in such a way that any change in entity 2 might break entity 1. This is a one-way relationship only—changes in entity 1 will not affect entity 2 in any manner. Dependency relationships are represented by a broken (dashed) line with an "empty" arrow (--->). The direction of this arrow flows to the entity that is dependent on the entity that the arrow flows from.
A simple example would be:
In the above pseudo code, Entity2 is used in Entity1 first as a method parameter and secondly inside MethodY() as a local variable. Both of these cases show a dependency relationship.
An important point about dependency relationships relates to the state of the objects involved. The state of Entity2 is not related to the state of Entity-1, as Entity2 is not a member of the Entity1 class. It is only used in the methods as local variable.
Association Relationship
An Association shows the relationship between instances of classes. An association is similar to a dependency except that it specifies the relationship in a stricter form. An association means that instead of Entity2 being used in Entity1 as a local variable, it would be a global variable instead, which can be a private, public, or protected class member. In its basic form, it is represented by a solid arrow (instead of dashed as in a dependency relationship).
In the above pseudo code, the Customer object is a part of the Order class—a private member in this case. This means that the Customer object forms a part of the state of the Order. If you have an Order object, you can easily identify the Customer associated with it. This is not possible in a dependency. Hence, the association is a stronger form of dependency.
An Association relationship can be divided further into two separate relationships, based on the state of the aggregated object in the dependent class.
An Aggregation relationship depicts a classifier as a part of, or as subordinate to, another classifier. For example, if Entity1 goes out of scope, it does not mean that Entity2 has to go out of scope too. That is, the lifetime of Entity2 is not necessarily controlled by Entity1. An aggregation is represented by a straight arrow, with an empty diamond at the tail, as shown in the following figure:
So, in our example, Entity2 is a part of (or subordinate to) Entity 1. If you destroy the parent class (Entity 1) in an aggregation (weak) relationship, the child class (Entity 2) can survive on its own.
Let's understand aggregations by using our example of the Order Management System. Consider the OrderLine and Product classes. An OrderLine can have multiple quantities of one Product. If an OrderLine is destroyed, it does not mean that we delete the Product as well. A Product can exist independently of the OrderLine object. Here is the relationship diagram between OrderLine and Product classes:
In the diagram, we can see an Aggregation relationship between OrderLine and Product classes. Put simply, the above diagram states that if an order is cancelled, all of the products will not be destroyed; they will only be "de-associated" from that particular order.
A Composition is exactly like Aggregation except that the lifetime of the 'part' is controlled by the 'whole'. For example: You have a 'student' who has a 'schedule'. If you destroy the student, the schedule will cease to exist.
In this case, the associated entity is destroyed when the parent entity goes out of scope. Composition is represented by a straight arrow with a solid diamond at the tail, as shown below.
In our case, Entity-2 is controlled by Entity-1. If Entity 1 is destroyed in a composition (strong) relationship, Entity-2 is destroyed as well.
Let's understand compositions by using our example of the Order Management System. Consider the Customer and Order classes. A Customer can have one or more orders, and an Order can have one or more Products (in order lines). An Order object cannot exist on its own without a Customer. So the following Composition indicates that if a Customer object goes out of scope, the Orders associated with that Customer go out of scope too.
Generalization Relationship
Inheritance is a very widely known and common feature of OOP. In UML, inheritance is depicted using generalization relationships, depicted by a straight arrow with a hollow arrowhead (triangle) at one end. A generalization relationship (also known as a "is-a" relationship) implies that a specialized (child) class is based on a general (parent) class.
Here is a diagram illustrating this:
Here, we can see that the arrow points in the direction of the base class. In our Order Management System, we can have a base class for all customers; we can call it Person class so that we have other classes derived from it, such as Customer, CSR (Customer Sales Representative), and so on.
Realization Relationship
Realization is similar to generalization but depicts the relationship between an interface and a class implementing that interface. In UML, realization is depicted with a dashed arrow with a hollow arrowhead (triangle) at one end. A realization relationship exists between the two classes when one of them must realize, or implement, the behavior specified by the other.
For example, a realization relationship connects an interface to an implementing class. The interface specifies the behaviors, and the implementing class implements the behaviors. Here is a diagram illustrating this:
Here, we can see that the arrow points in the direction of the interface. Note that the italicized text in entities that are interfaces. It is UML convention to italicize interfaces.
Multiplicity
Multiplicity quantifies the relationship between two entities. Multiplicity is closely related to the cardinality of a relationship, which we learned about earlier when discussing ER diagram. Multiplicity indicates how many instances of classes (objects) are related to each other in a UML relationship. The following is a list of different multiplicities we can have between two entities in a class diagram:
One-to-one . For example, one OrderLine object can have only one product. This is depicted as follows:
Note how we show a 1:1 multiplicity using the number "1" at the end points of the aggregation relationship.
One-to-many . For example, a customer can have many orders. This is depicted as follows:
Note the text "1" and "*" near the entities; these are multiplicity indicators. In the above example, the multiplicity indicates that one (1) customer can have multiple orders (*). We depict "many" using a "*" (asterisk) symbol.
The relationship between Order and OrderLine objects is the same. An order can have multiple products; each product will be shown in a separate line (called as OrderLine) in the Order. So there can be one or more order lines for a single order, as shown here:
The above diagram confirms that for each order, there will be one or more order lines. We can't use 0..* here in place of 1..* because each order will have atleast one product in it (as one order line item).
Also, if an order gets cancelled (destroyed), then all order lines will be destroyed. It doesn't make sense to have order lines that are not a part of any order—hence the composition.
Many-to-many: A Product can belong to multiple Categories, and a Category object can include multiple Product objects. To depict such many-to-many relationships, we use asterisk at both ends of the relationship arrow, as shown here:
Also note the aggregation relationship between the Product and the Category, because both can exist independently of each other.
So, now, we can combine all of the above diagrams and create a simple class diagram with all of the relationships and multiplicities for our OMS. Here is the combined UML class diagram for our sample application:
So we have a very simple domain model of a simple Order Management System. Now, based on the above classes, let's look at how we can convert this domain model to code by creating a 1-tier 3-layer architecture based web application.
Resumen
All of the samples we covered in this article were of the 1-tier n-layer style. We learned how to create a 1-tier 2 layer architecture using logical code separation. Then we focused on the need for a 3-layered solution and examined ER-diagrams, domain models and UML, all of which are important tools that aid in the understanding of commercial projects required to build a 3-layered structure.
If you have read this article you may be interested to view :
You've been reading and excerpt of:
New & Popular Posts
We understand your time is important. Uniquely amongst the major publishers, we seek to develop and publish the broadest range of learning and information products on each technology. Every Packt product delivers a specific learning pathway, broadly defined by the Series type. This structured approach enables you to select the pathway which best suits your knowledge level, learning style and task objectives.
Learning
As a new user, these step-by-step tutorial guides will give you all the practical skills necessary to become competent and efficient.
Beginner's Guide
Friendly, informal tutorials that provide a practical introduction using examples, activities, and challenges.
Essentials
Fast paced, concentrated introductions showing the quickest way to put the tool to work in the real world.
Cookbook
A collection of practical self-contained recipes that all users of the technology will find useful for building more powerful and reliable systems.
Blueprints
Guides you through the most common types of project you'll encounter, giving you end-to-end guidance on how to build your specific solution quickly and reliably.
Mastering
Take your skills to the next level with advanced tutorials that will give you confidence to master the tool's most powerful features.
Comenzando
Accessible to readers adopting the topic, these titles get you into the tool or technology so that you can become an effective user.
Answers to Selected Exercises
3.19 Consider the ER diagram of Figure 3.20, which shows a simplified schema for an
airline reservations system. Extract from the ER diagram the requirements and
constraints that resulted in this schema. Try to be as precise as possible in your
requirements and constraints specification.
(1) The database represents each AIRPORT, keeping its unique AirportCode, the
AIRPORT Name, and the City and State in which the AIRPORT is located.
(2) Each airline FLIGHT has a unique number, the Airline for the FLIGHT, and the
Weekdays on which the FLIGHT is scheduled (for example, every day of the week
except Sunday can be coded as X7).
(3) A FLIGHT is composed of one or more FLIGHT LEGs (for example, flight number
CO1223 from New York to Los Angeles may have two FLIGHT LEGs: leg 1 from New
York to Houston and leg 2 from Houston to Los Angeles ). Each FLIGHT LEG has a
DEPARTURE AIRPORT and Scheduled Departure Time, and an ARRIVAL AIRPORT and
Scheduled Arrival Time.
(4) A LEG INSTANCE is an instance of a FLIGHT LEG on a specific Date (for example,
CO1223 leg 1 on July 30, 1989 ). The actual Departure and Arrival AIRPORTs and
Times are recorded for each flight leg after the flight leg has been concluded. los
Number of available seats and the AIRPLANE used in the LEG INSTANCE are also
(5) The customer RESERVATIONs on each LEG INSTANCE include the Customer Name,
Phone, and Seat Number(s) for each reservation.
(6) Information on AIRPLANEs and AIRPLANE TYPEs are also kept. For each AIRPLANE
TYPE (for example, DC-10), the TypeName, manufacturing Company, and
Maximum Number of Seats are kept. The AIRPORTs in which planes of this type
CAN LAND are kept in the database. For each AIRPLANE, the AirplaneId, Total
number of seats, and TYPE are kept.
- There are 435 congresspersons in the U. S. House of Representatives.
- States have between one (AK, DE, MT, ND, SD, VT, and WY) and 52 (CA)
- M represents number of bills during the 2-year session.
The resulting ER Diagram is shown in Figure A.
3.22 A database is being constructed to keep track of the teams and games of a sports
league. A team has a number of players, not all of whom participate in each game.
It is desired to keep track of the players participating in each game for each team,
the positions they played in that game, and the result of the game. Try to design an
ER schema diagram for this application, stating any assumptions you make.
Choose your favorite sport (soccer, football, baseball. ).
The following design may be used for a baseball league. Here, we assumed that each game
in the schedule is identified by a unique Game#, and a game is also identified uniquely by
the combination of Date, starting Time, and Field where it is played. The Performance
attribute of PARTICIPATE is used to store information on the individual performance of
each player in a game. This attribute can be designed to keep the information needed for
statistics, and may be quite complex. One possible design for the Performance attribute
may be the following (using the notation of Figure 3.8):
Here, performance is a composite attribute made up of three multivalued components:
Hitting, Pitching, and Defense. Hitting has a value for each AtBat of a player, and records
the HitType (suitable coded; for example, 1 for single, 2 for double, 3 for triple, 4 for
home run, 0 for walk, -1 for strikeout, -2 for fly out. ) and other information
concerning the AtBat. Pitching has a value for each inning during which the player
pitched. Defense has a value for each inning a player played a fielding position. We can
have a less detailed or a more detailed design for the performance of a player in each
game, depending on how much information we need to keep in the database. Suitable
variations of the ER diagram shown below can be used for other sports.
3.23 Consider the ER diagram shown in Figure 3.21 for part of a BANK database. Cada
bank can have multiple branches, and each branch can have multiple accounts and
(a) List the (nonweak) entity types in the ER diagram.
(b) Is there a weak entity type? If so, give its name, its partial key, and its
(c) What constraints do the partial key and the identifying relationship of the
weak entity type specify in this diagram?
(d) List the names of all relationship types, and specify the (min, max) constraint
on each participation of an entity type in a relationship type. Justify your
(e) List concisely the user requirements that led to this ER schema design.
(f) Suppose that every customer must have at least one account but is restricted
to at most two loans at a time, and that a bank branch cannot have more than
1000 loans. How does this show up on the (min, max) constraints?
(a) Entity types: BANK, ACCOUNT, CUSTOMER, LOAN
(b) Weak entity type: BANK-BRANCH. Partial key: BranchNo.
Identifying relationship: BRANCHES.
(c) The partial key BranchNo in BANK-BRANCH specifies that the same BranchNo value
may occur under different BANKs. The identifying relationship BRANCHES specifies that
BranchNo values are uniquely assigned for those BANK-BRANCH entities that are related
to the same BANK entity. Hence, the combination of BANK Code and BranchNo together
constitute a full identifier for a BANK-BRANCH.
(d) Relationship Types: BRANCHES, ACCTS, LOANS, A-C, L-C. The (min, max) constraints
are shown below.
(e) The requirements may be stated as follows: Each BANK has a unique Code, as well as a
Name and Address. Each BANK is related to one or more BANK-BRANCHes, and the
BranhNo is unique among each set of BANK-BRANCHes that are related to the same BANK.
Each BANK-BRANCH has an Address. Each BANK-BRANCH has zero or more LOANS and
zero or more ACCTS. Each ACCOUNT has an AcctNo (unique), Balance, and Type and is
related to exactly one BANK-BRANCH and to at least one CUSTOMER. Each LOAN has a
LoanNo (unique), Amount, and Type and is related to exactly one BANK-BRANCH and to at
least one CUSTOMER. Each CUSTOMER has an SSN (unique), Name, Phone, and
Address, and is related to zero or more ACCOUNTs and to zero or more LOANs.
(f) The (min, max) constraints would be changed as follows:
3.25. Consider the ER diagram in Figure 3.23. Assume that a course may or may not use a textbook, but that a text by definition is a book that is used in some course. A course may not use more than five books. Instructors teach from two to four courses. Supply (min, max) constraints on this diagram. State clearly any additional assumptions you make. If we add the relationship ADOPTS between INSTRUCTOR and TEXT, what (min, max) constraints would you put on it? Por qué?
Assuming the following additional assumptions:
- Each course is taught by exactly one instructor.
- Each textbook is used by one and only one course.
- An instructor does not have to adopt a textbook for all courses.
- If a text exists:
- ___it is used in some course,
- ___hence it is adopted by some instructor who teaches that course.
- An instructor is considered to adopt a text if it is used in some course taught
- by that instructor.
The resulting ER Diagram will have the (min, max) constraints shown in Figure B.
This article may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. To maintain the flow of the article, we've left these URLs in the text, but disabled the links.
When All You Want is an ER Diagram
Paul Munkenbeck's great review of ERwin last month inspired me to reflect on less expensive alternatives we can use to crank out "quick and dirty" ER diagrams. Here's what I came up with. If you've got other ideas, please share them as a letter to the editor, tip, or mini-review. We'll all benefit! Also, in forthcoming issues, look for reviews of Embarcadero's ER/Studio and Sybase's PowerDesigner.
I suspect that almost all SQL Server Professional readers are familiar with ER diagrams, entity-relationship diagrams that are sometimes referred to as ERDs. For small projects, you probably sketch out the entities and relationships of your logical data model on a sheet of notebook paper—or even on a proverbial cocktail napkin. For larger ones, however (say, databases with 100+ tables—or databases you inherit), it's nice to have a "crow's foot" (or similar IDEF1X) diagram that you can just print out. You might want to thumb-tack it onto an appropriate empty section of cubicle wall, flash it at your boss, or even (gasp) use it as part of project documentation. Hence, the appeal of products such as ERwin, reviewed by Paul Munkenbeck in last month's issue.
Unfortunately, however, ERwin's current owner, Computer Associates, doesn't exactly give ERwin away, and not all organizations will choose to invest several thousand dollars in ERwin or competing products such as Embarcadero's ER/Studio, Sybase's PowerDesigner, or Popkin's System Architect. Indeed, why should you if all you want is a "quick and dirty" ER diagram? In this article, I'll show you how you can use SQL Server itself, Microsoft Access, or Visio 2000 Enterprise/2002 Professional to create logical data models that you can print out.
SQL Server's own Diagrammer
For SQL Server 7 or higher user databases (though not for master, model, or msdb for some reason), you can simply right-click on the "diagrams" feature in the Enterprise Manager hierarchy tree to launch the Create Database Diagram Wizard. (Another way to start most wizards, but not this one, is to click on the EM's "wizard" icon, the wand.) You select the tables to add (opting to have the wizard automatically select related tables if you so desire), and bingo—instant ER diagram (see Figure 1 ).
As you might expect, you can manually arrange the tables, modify the relationships, opt whether or not to display attributes, and so on. You can even add text annotations and, of course, print out your masterpiece. No, you don't have a lot of flexibility when it comes to importing, exporting, and moving EM diagrams around, but a SELECT * FROM dtproperties (for the database where you saved your diagram) gives you the clues you need to copy a diagram's "recipe" to another server, for example. You won't, however, be able to opt for different diagramming notations. You're "stuck" with EM Diagrammer's use of the key and infinity symbols to depict one-to-many relationships, for example. Commercial products let you choose among a variety of diagramming notations and methodologies.
Another SQL Server tool you can harness to help you generate ER diagrams is DTS. Remember, you can use DTS to get virtually any data or database into SQL Server. Once you've imported it (or just its schema), it's often a matter of just a few seconds to have EM's Diagrammer generate a diagram for you. You can even use DTS to get a database into Access—that is, move an Oracle8i database into Access, for example, bypassing SQL Server altogether. And don't forget that the SQL Server 2000 version of DTS also supports XML. The ReadFile and WriteFile transformations give you a way to import and export XML files as part of your transformations, and the parallel data pump task lets you process XML's hierarchical recordsets. (For more on using XML with SQL Server, see Tom Moreau's March 2001 column, "Feeding XML to Stored Procedures," and consider purchasing Graeme Malcolm's excellent new book, Programming Microsoft SQL Server 2000 with XML [ISBN 0-7356-1369-9].)
What about Access?
If you use a sample Microsoft database like Northwind and then select Tools | Relationships (see Figure 2 ), you'll probably think Access's Relationships designer is even faster than Enterprise Manager's.
Figure 3 illustrates another example of Access's prowess, here modeling SQL Server's Analysis Services FoodMart2000 database. Like SQL Server, there are limitations to what you can do with the diagrams. You can print an Access "relationships" diagram, but you can't change the notation (a "1" and an infinity symbol for 1:M relationships, for example) or add annotations.
What you don't realize until you try to generate a diagram for a non-Microsoft sample database is that "someone" has to manually set up all of the relationships (EM automates the process by making intelligent "guesses" based on primary and foreign keys). Granted, Access's Relationships designer is reasonably flexible (you can define relationships as 1:1, 1:N, or 1:M and specify whether referential integrity is to be enforced), and we've been able to save Access Relationships at least since Access 2.0, but the Relationships designer isn't smart enough to figure out the relationship itself.
The Relationships designer and menu in Access 2002/XP (see Figure 4 ) seems to be the same as it is in Access 2000. The main feature that potentially extends its features is Access XP's ability to import and export XML.
What about Visio 2000?
Visio 2000 Enterprise Edition SR-1, which is included in the MSDN Universal Subscription as disks 672 and 673, is no longer available commercially. If you're not an MSDN subscriber and want a copy of any version of Visio 2000, you can either try to find an unsold copy in the channel or buy Visio 2002 and then "downgrade" to Visio 2000. (For information about Visio 2000's SR-1, you can read "Visio 2000: How to Obtain the Visio 2000 Service Release 1 [SR-1] Update" at http://support. microsoft. com/support/kb/articles/Q263/7/21.ASP and/or Q264400, "What Is Fixed in the Service Release 1 [SR-1] Update for Visio 2000 [All Editions].") Actually, you might not need EE to do database diagramming, since Visio 2000 Professional lets you create six types of database diagrams: Bachman, Chen ERD, Database Model, Express-G, Martin ERD, and ORM Diagramming.
Visio 2000 EE supports seven types of diagrams: Bachman, Chen ERD, Database Model Diagram, Express-G, Martin ERD, ORM Source Model, and ER Source Model.
The Bachman, Chen, Martin, DBM, and ER Source model diagrams are undoubtedly familiar to most DBAs as variations on the ER theme of depicting tables with annotated lines between them. Less familiar, perhaps, is Express-G, a graphical notation for information models. (See www. steptools. com/support/stdev_v8_docs/devtools/devtools_9.html for information about Express and its support of STEP. STEP, the Standard for the Exchange of Product Model Data, is a comprehensive ISO standard [ISO 10303] that describes how to represent and exchange digital product information. STEP was born in 1983, and was based on previous national efforts such as IGES, VDAFS, SET, CAD*I, and PDDI.) ORM refers to Dr. Terry Halpin's Object Role Modeling methodology, which Visio inherited when it acquired InfoModeler. See www. orm. net/halpin. html for more about ORM.
Visio, of course, is a commercial modeling product, so you'd expect it to offer more than SQL Server's EM Diagrammer or Access's Relationships designer, and indeed it does. In addition to creating databases or data models in Visio Professional or EE, you can also reverse engineer database models from existing databases. You can also import ERwin ERX diagrams (but not the newer ER1 models—see the "ERwin Filenames" sidebar).
To test Visio 2000, I decided to try to reverse engineer a data model. I opted to create a new Database Model Diagram (you can only reverse engineer three of the seven diagrams: Database Model Diagram, ER Source Model, and the ORM Source Model because the others are "left over" shape-only stencils from earlier versions of Visio) and was rewarded by Visio 2000 EE's Reverse Engineer Wizard. The first step is to select the Visio database driver for the source DBMS, and the wizard will guide you through the process of configuring and testing the ODBC data source if you need to.
Next, you check the boxes for the type of information you want to extract (see Figure 5 ).
Then you check the tables (and views, if any) that you want to extract (fortunately, there's a Select All button). If you checked Stored Procedures, you'll see a screen asking you to check the procedures that you want to extract (again, there's a Select All option to extract them all).
The wizard extracts the selected information and displays notes about the extraction process in the Output window and lists the tables in the Tables window (see Figure 5 ).
At this point, the human work begins. You have to drag the tables you want from the Tables window onto the drawing page and manually create the relationships using the icons from the toolbox on the left side of Figure 5. Visio is a rich product and gives you all kinds of options such as keeping your drawing and the original database schema in sync. When you save a Visio 2000 EE drawing, you can opt to have your VSD file saved for printing, for PPT output, or for HTML/GIF output. For information about ways to include Visio 2000 diagrams in other docs, refer to www. microsoft. com/technet/prodtechnol/visio/maintain/spot1.asp.
Visio 2000 Professional and EE also support UML 1.2 diagrams and reverse engineering from Visual Studio, though you can only generate Visual Studio code from UML (Unified Modeling Language) models with the EE. If you want to use UML with Visio 2000, you should download the 240KB Microsoft Visio 2000 UML Shapes Update from http://office. microsoft. com/downloads/2000/visUMLShapesddl. aspx. The download replaces some of your existing Visio 2000 Professional edition UML shapes with shapes you can manually resize. You might also want to read Frank Sternberg's white paper on "Iterative Development Using UML and MS Visio 2000 Enterprise Edition" at www. microsoft. com/technet/prodtechnol/visio/maintain/visiodev. asp? frame=true.
The best sources of current Visio 2000 information are www. microsoft. com/office/previous/visio/default. htm and the 20 or so newsgroups (including ones in French, German, Dutch, Spanish, and Japanese) at public. microsoft. com/visio…. You can search for Microsoft Online Seminars dealing with Visio. You can also subscribe to Visio's bi-monthly Visio SmartPages newsletter from Microsoft and work through several online database-related tutorials at www. microsoft. com/presspass/guides/visio/professional/enttutorials/defaultd. asp .
Interesting bit of trivia: Microsoft BizTalk customers and developers might have noticed that the BizTalk Orchestration Designer is based on Visio.
Visio 2002 Professional
Microsoft began shipping Visio 2002 Standard and Professional editions earlier this year for $199 U. S. and $499 U. S. respectively. There's no downloadable evaluation version available for these products, but U. S. and Canadian customers can order a 30-day trial version CD for $7.50 ($10 Canadian). There's no Enterprise edition because "the advanced database and software modeling solutions previously found in Visio 2000 Enterprise Edition will be delivered in Microsoft Visual Studio. NET," presumably as part of the recently announced VS. NET Enterprise Architect (http://msdn. microsoft. com/vstudio/productinfo/overview/eaoverview. asp ). Here's the main URL for info about Visio 2002: www. microsoft. com/office/visio/evaluation. The main URLs for Visio programmers and developers are http://msdn. microsoft. com/library/default. asp? url=/nhp/Default. asp? contentid=28000456 and http://www. microsoft. com/technet/prodtechnol/visio/default. mspx .
I'd been unsuccessful installing the Visio 2002 Marketing beta on either 1) any of three different Windows 98 systems or 2) a Windows 2000 system that had Office XP installed, but the shipping release product did install on both. I wouldn't, however, recommend using it on a Win98 box unless you're desperate. (It brings new meaning to the notion of "slow.")
Visio 2002 Professional does provide you with features that let you generate ER diagrams, but, instead of Visio 2000 Professional's six, or Visio 2000 EE's seven, you only get three choices: Database Model Diagram, Express-G, and ORM Diagram (see Figure 6 ). Basically, the Bachman, Chen, and Martin ER diagrams have been subsumed into the Database Model Diagram, but Visio 2002 Professional does provide all of the shapes you need to create logical models using today's popular ER and IDEF1X notations. (IDEF1X is a method for designing relational databases with a syntax designed to support the semantic constructs necessary in developing a conceptual schema. For more about IDEF1X, see www. idef. com/idef1x. html or buy Thomas Bruce's 1992 classic Designing Quality Databases With IDEF1X Information Models [ISBN 0932633188].)
As with Visio 2000 Enterprise, I was able to successfully reverse engineer pubs and generate a Database Model Diagram. Unlike Visio 2000 Enterprise, however, I couldn't generate DDL (a big minus, IMHO), nor could I reverse engineer databases from DDL scripts. (These features will be offered in what amounts to a Visio 2002 Enterprise, which apparently will be available in the form of the Enterprise Edition of Visual Studio. NET. VSEA is not available in the general release of. NET Beta 2, but was distributed in mid-July to TechEd attendees and MSDN Universal subscribers. And speaking of Visual Studio, it too offers developers a "quick and dirty" ER diagram generator of sorts. In VB6, for example, you can use the Data Environment's data diagrams, and a similar functionality is available in VS. NET via the Data Form Wizard, which actually stores the schema as a VSD file.)
New in Visio 2002 Professional, however, is XML support, both in the guise of an optional new file format (VDX) for Visio diagrams and for reverse engineering. See the June white paper "XML for Visio Scenarios," which illustrates how XML for Visio can be used to extract Visio data for use in solution development, data analysis, text localization, Web publication, and database interoperability for more on Visio's XML.
Here are some additional resources for Visio 2002:
COM Add-in Designer for Visio 2002 .
Visio MVP Graham Wideman's Unofficial Visio (still mainly Visio 2000) FAQ site at www. diagramantics. com/diagenvs/visio/faq/index. htm. (I also highly recommend Graham's extremely useful Visio 2002 Developer's Survival Pack . ISBN 1-55212-682-X. Owners can download a 7MB ZIP of samples and tools.) Note from Graham: "One currently missing opportunity is that, though Visio in general is programmable by Automation, the DB and UML modeling solutions have not been. So, you can use Automation to visit and read the shapes of a UML or DB diagram, but that doesn't get you very far, as there's much more information in the model than in the shapes. So counter to expectations, you can't write your own code to do something (useful) automatically with a Visio DB or UML diagram."
Short animated illustration of how to use database modeling and UML features: www. microsoft. com/office/visio/evaluation/techtour/page4.htm .
Conclusión
This just represents tools that I use to generate low-cost ER diagrams when I'm in a hurry or at the site of a client who doesn't have one of the high-end commercial tools. If you know of others you think should be included, please let us all know.
Link to www. microsoft. com/office/visio
Sidebar: Get ORMed
(Adapted from the June 20 issue of Karen's SQL eXTRA eNewsletter #84. Subscribe at www. FREEeNewsletters. com .)
Perhaps I'm reading too much between the lines here at TechEd, but it seems to me that Microsoft is favoring its own database modeling software—software acquired when it bought Visio (which had itself acquired InfoModeler)—over competing tools such as Computer Associates' ERwin. Indeed, Visio's ORM also seems poised to supplant Visual Modeler, a subset of Rational Rose that ships with Visual Studio 6.0 Professional and Enterprise editions.
Here's what Microsoft was saying as of June 18: "Visual Studio. NET Enterprise Developer (VSED) will include functional testing tools for XML Web services, full Unified Modeling Language (UML) 1.2 software modeling, industry-leading database modeling (spanning conceptual, logical, and physical models), and enterprise frameworks and templates—a set of technologies that enable software architects to create an application recipe (ingredients and instructions) and provide it directly to developers within the Visual Studio. NET environment. The enterprise features aren't provided in the public Visual Studio. NET Beta 2 release due to timing issues."
So what's ORM and where did it come from? Object Role Modeling (ORM) is a methodology for designing and documenting databases, and www. orm. net is "the official site for conceptual data modeling." As the site's owner, Dr. Terry Halpin, now program manager in Microsoft's Database Modeling, Enterprise Framework and Tools Unit, explains, "Object Role Modeling (ORM) is a method for designing and querying database models at the conceptual level, where the application is described in terms easily understood by non-technical users. In practice, ORM data models often capture more business rules, and are easier to validate and evolve than data models in other approaches." This site features a number of technical papers and articles on ORM, as well as other approaches such as the UML. Permission has been obtained from the relevant publishers to reproduce these publications on this Web site, and to make them freely downloadable.
Halpin, whose new book Information Modeling and Relational Databases has just been published (ISBN 1-55860-672-6), formalized the Object Role Modeling notation and has authored four books and more than 90 technical papers.
Related: The former ORM tool known as VisioModeler (essentially InfoModeler) is now freely available as an unsupported product from Microsoft Corporation (as a 26.5MB download). Models developed in VisioModeler should be able to be exported to Microsoft's current and future ORM solutions, which are based on the Visio drawing engine. (Visio MVP Graham Wideman recommends using this rather than the incomplete version of ORM that shipped with Visio 2000 Enterprise.)
See http://msdn. microsoft. com/library/default. asp? url=/downloads/list/visio. asp for the 26.5 MB download.
Sidebar: Conceptual, Logical, and Physical Models
Conceptual database design is a process that might be described as "getting your head around" the data you need to model. The result is a high-level model of the data that you can use to describe the database to high-level managers and end users, for example.
Logical database design is the process of constructing a model according to the conventions of a specific modeling methodology, but independent of a particular DBMS and physical considerations.
Physical database design is the process of producing a description of the database (often in terms of DDL scripts, for example) in terms of secondary storage. It will include descriptions of the base tables and views, the indexes, constraints, and so on.
Sidebar: ERwin Filenames
ER1 and ERX are both filename extensions associated with ERwin (Entity Relationship for Windows), a popular database modeling program originally created by Logic Works, Inc. and subsequently purchased by Platinum Technology, which was itself acquired by Computer Associates (www. cai. com ). After a long wait (the previous version, ERwin 3.52, hadn't been updated since 1998), Computer Associates finally released ERwin 4.0.
One of the outputs of all of these programs is an ER diagram that graphically illustrates database tables (entities) and the relationships (one-to-one, one-to-many, or many-to-many) between them. At any rate, if you run across references to ER1 or ERX, they're probably referring to ERwin files:
ER1—Standard ERwin diagram file format.
ERX—Text-based version of ERwin diagram file format. The text-based ERX file format is designed to transfer model data and comments between ERwin and other tools.
Those aren't the only types of files ERwin creates. Others include:
ERT—ERwin diagram file saved as a template.
ERV—ERwin diagram saved as an Intersolv PVCS archive file. You must have Intersolv's PVCS version 5.1 or later installed to open an ERV file. (Intersolv is now owned by Merant, www. merant. com .)
EAX and BPX—Files with these extensions are associated with BPwin, the business process model tool.
ERS—ERwin physical database schema script text file.
SQL—SQL DDL (Data Definition Language) schema script text file.
SML—Structured Modeling Language text file. Similar to a SQL data file used to store information about an ERwin model in text format.
CMT—Text file containing logical entity/attribute and physical table/column definitions (comments).
DF (SQL)—A special version of SQL files used for Progress Software databases.
Conceptual, Logical, and Physical Models>
To find out more about Microsoft SQL Server Developer and Pinnacle Publishing, visit their website at http://www. pinpub. com/html/main. isx? sub=57
Note: This is not a Microsoft Corporation website. Microsoft is not responsible for its content.
This article is reproduced from the August 2001 issue of Microsoft SQL Server Developer. Copyright 2001, by Pinnacle Publishing, Inc. unless otherwise noted. All rights are reserved. Microsoft SQL Server Developer is an independently produced publication of Pinnacle Publishing, Inc. No part of this article may be used or reproduced in any fashion (except in brief quotations used in critical articles and reviews) without prior consent of Pinnacle Publishing, Inc. To contact Pinnacle Publishing, Inc. please call 1-800-493-4867 x4209.
Show: Inherited Protected
ER Diagram Representation
Let us now learn how the ER Model is represented by means of an ER diagram. Any object, for example, entities, attributes of an entity, relationship sets, and attributes of relationship sets, can be represented with the help of an ER diagram.
Entity
Entities are represented by means of rectangles. Rectangles are named with the entity set they represent.
Attributes
Attributes are the properties of entities. Attributes are represented by means of ellipses. Every ellipse represents one attribute and is directly connected to its entity (rectangle).
If the attributes are composite . they are further divided in a tree like structure. Every node is then connected to its attribute. That is, composite attributes are represented by ellipses that are connected with an ellipse.
Multivalued attributes are depicted by double ellipse.
Derived attributes are depicted by dashed ellipse.
Relationship
Relationships are represented by diamond-shaped box. Name of the relationship is written inside the diamond-box. All the entities (rectangles) participating in a relationship, are connected to it by a line.
Binary Relationship and Cardinality
A relationship where two entities are participating is called a binary relationship . Cardinality is the number of instance of an entity from a relation that can be associated with the relation.
One-to-one − When only one instance of an entity is associated with the relationship, it is marked as '1:1'. The following image reflects that only one instance of each entity should be associated with the relationship. It depicts one-to-one relationship.
One-to-many − When more than one instance of an entity is associated with a relationship, it is marked as '1:N'. The following image reflects that only one instance of entity on the left and more than one instance of an entity on the right can be associated with the relationship. It depicts one-to-many relationship.
Many-to-one − When more than one instance of entity is associated with the relationship, it is marked as 'N:1'. The following image reflects that more than one instance of an entity on the left and only one instance of an entity on the right can be associated with the relationship. It depicts many-to-one relationship.
Many-to-many − The following image reflects that more than one instance of an entity on the left and more than one instance of an entity on the right can be associated with the relationship. It depicts many-to-many relationship.
Participation Constraints
Total Participation − Each entity is involved in the relationship. Total participation is represented by double lines.
Partial participation − Not all entities are involved in the relationship. Partial participation is represented by single lines.
ER Diagram for a student information system?
ANSWER The ER is the hub of the hospital. This is where people first come in to be seen by a doctor. This is equivalent to that of a foyer in a church or in a house where peop … le will come and meet. When you walk into an ER, you will usually notice a waiting room, in which you have to wait until the triage nurse calls you to take the necessary information for your visit, and then the preliminary tests such as vitals (blood pressure, temperature, oxygen saturation, heart beat). They will then give you a piece of paper, that you will take to the admitting desk, and the clerk will confirm the information on the form as it pertains to your address, phone number, physician's name etc. From that point, the clerk, will either send you down to the fast track( treatment room), which is normally near the back of the ward, and this is usually where the least serious cases go, as there are no monitors or no lifesaving equipment to monitor you. This is the ward where they send people that will need to be admitted for less severe things, and/or those who need to get a phyisician check them, but they are in no danger of coding. The other place that the admissions clerk could put you is in the waiting room, in which you will wait for a bed to open up in the regular emergency treatment area. This is the area in which there ARE monitors and lifesaving equipment that is able to help you out. This ward also has the monitors at the nursing station as well, that will be able to keep a check on your vitals, heart rate etc. The nurses station also faces these beds as these cases are usually a lot more serious and need careful and meticulous observation. With the Fast Track department, there is often no careful observation. The desk is usually situated away from the beds. There are also a couple of washrooms that are strategically placed through the emerg ward so that if there are any tests that are needed to get for urine, etc. there are washrooms that are available for the use of patients. There is also a room that is in a lot of emergency wards that are for gynecological emergencies, this usually has a table that has stirrups for easy access. The ER is known as the hub, because this is where the IMMEDIATE care takes place, and then when a bed is ready in the corresponding department, that is when the patient will be taken from the ER to the ward. This is when the help is transferred from the ER staff to the ward staff. For example, if you have a cardiac condition, depending on the severity, they may either decide to put you within the Medical Ward (Cardiac emphasis), or they will place you in the Cardiac ICU. Hopefully this paints a bit of a picture of what an ER is like. (MORE)
4 people found this useful
Answered by The WikiAnswers ® Community
UML Use Case Diagrams: Tips and FAQ
Contents:
What is a UML Use Case Diagram (UCD), and when should I use it?
UML Use Case Diagrams can be used to describe the functionality of a system in a horizontal way. That is, rather than merely representing the details of individual features of your system, UCDs can be used to show all of its available functionality. It is important to note, though, that UCDs are fundamentally different from sequence diagrams or flow charts because they do not make any attempt to represent the order or number of times that the systems actions and sub-actions should be executed. There are a number of graphical examples in this FAQ; you might want to look over them to familiarize yourself with the look of them.
UCDs have only 4 major elements: The actors that the system you are describing interacts with, the system itself, the use cases . or services, that the system knows how to perform, and the lines that represent relationships between these elements.
You should use UCDs to represent the functionality of your system from a top-down perspective (that is, at a glance the system's functionality is obvious, but all descriptions are at a very high level. Further detail can later be added to the diagram to elucidate interesting points in the system's behavior.) Example: A UCD is well suited to the task of describing all of the things that can be done with a database system, by all of the people who might use it (administrators, developers, data entry personnel.)
You should NOT use UCDs to represent exception behavior (when errors happen) or to try to illustrate the sequence of steps that must be performed in order to complete a task. Use Sequence diagrams to show these design features. Example: A UCD would be poorly suited to describing the TCP/IP network protocol, because there are many exception cases, branching behaviors, and conditional functionality (what happens when a packet is lost or late, what about when the connection dies?)
How do you know who the actors are in a UCD?
When working from an Action/Response table, itentifying the actors is easy: entities whose behavior appears in the "Actor's Actions" column are the actors, and entities whose behavior appears in the "System's Response" column are components in the system.
If you are working from an informal narrative, a sequence diagram, or a scenario description, the actors are typically those entities whose behavior cannot control or change (i. e. agents that are not part of the system that you are building or describing.) The most obvious candidates for actors are the humans in the system; except in rare cases when the system you are describing is actually a human process (such as a specific method of dealing with customers that employees should follow) the humans that you must interact with will all be actors. If your system interacts with other systems (databases, servers maintained by other people, legacy systems) you will be best to treat these as actors, also, since it is not their behavior that you are interested in describing. Example: When adding a new database system to manage a company's finances, your system will probably have to interface with their existing inventory management software. Since you didn't write this software, don't intend to replace it, and only use the services that it provides, it makes sense for that system to be an actor .
How do you know what to put in the "System" box?
The system box only appears on the top-level diagram (remember that a typical UML Use Case description will be composed of many diagrams and sub-diagrams), and should contain use case ovals, one for each top-level service that your system provides to its actors. Any kind of internal behavior that your system may have that is only used by other parts of the system should not appear in the system box. One useful way to think of these top-level services is as follows: if a use case represents a top-level service, then it should make sense for the actors who interact with it to request only that service of your system in a single session (in whatever sense a "session" is intelligible in your system.)
Example: In the diagram below we would like to represent the use cases for a camera. Suppose we choose "Open Shutter", "Flash", and "Close Shutter" as the top-level use cases. Certainly these are all behaviors that a camera has, but no photographer would ever pick up their camera, open the shutter, and then put it down, satisfied with their photographic session for the day. The crucial thing to realize is that these behaviors are not done in isolation, but are rather a part of a more high-level use case, "Take Picture". (Note that it does make sense for a photographer to "Take Picture" just once during a session with their camera.)
The actors in my diagram have interactions. How do I represent them?
If there are interactions between the actors in your system, you cannot represent those interactions on the same diagram as your system. What you can do instead is draw a separate UCD, treating one of the actors itself as a system, and your original system (along with the other actors) as actors on this new diagram.
Example: Suppose you wanted to diagram the interactions between a user, a web browser, and the server it contacts. Since you can only have one system on the diagram, you must choose one of the obvious "systems", such as the server. You might then be tempted to draw interaction lines between the actors, but this is a problem because it isn't clear what the interaction means, so it isn't helpful to show it here. A more useful solution would be to draw two diagrams, showing all of the interactions, as below.
I am trying to represent a sequence of actions that the system performs. How do I do it?
Using a UML Use Case Diagram, you can't. UCDs are meant to be a top-down, horizontal description of functionality, not a blow-by-blow desrciption of behavior. For the most part, it isn't a good idea to try to represent sequences of actions with Use Case diagrams. You should use a Sequence Diagram or a traditional flow chart instead. (It is possible to represent simple branching conditions with a UCD, as described below, but you should use this technique sparingly because it can render a diagram unreadable.)
How is a UML Use Case Diagram different from a traditional flow chart?
As mentioned above, UCDs represent functionality in a top-down way, whereas flow charts represent behavior in a linear, time-based way. Also, the way you develop them is all-together different.
Example: (This text refers to the diagrams below.) When constructing a UCD, the initial step is to identify all of the top-level behavior. Once you have done this (not a very tricky process) you have already described, at least in a high-level way, all of the things your system knows how to do. You can then continue to add detail by decomposing your use cases into more use cases which are used by the top-level use cases. At every stage of development, though, your UCD is a complete description of the system's functionalty: it may lack detail, but it will not lack feature set elements. And if functionality or behavior is added or deleted over the life of your project, the scope of the change you need to make is proportional to both the scope of the change in the system itself, and the maturity of your model. This is useful because it means that when your model is very young (only high-level diagrams drawn) making sweeping changes to the system does not involve throwing very much work away. A flow chart, however, does not correctly describe the system until you have finished drawing it, and even then small changes in the system will result in significant reworking of your flow charts. In general, UCDs support the process of analysis and design much better than flow charts.
When do I use the uses arrow?
The uses arrow (or uses edge as it would be called in traditional graph thoery) is drawn from a use case X to another use case Y to indicate that the process of doing X always involves doing Y at least once (although it may involve doing it many times, "at least once" is the only relationship guaranteed by this symbol.) This symbol can be referred to as an aggregation operator, because it indicates that a given use case is an aggregate (made up of parts) whose components are the use cases that it uses. If a certain use case uses several others, that means that all of the component use cases must be completed in the process of completing the aggregate use case, although there is no specification in UCDs of the order in which these are completed. A brief, mnemonic way to think about the uses arrow is that it it can be read X uses Y means that "X has a Y" as part of it's behavior.
Example: Suppose you wanted to add detail to the diagram shown below, representing an airline reservation system. First, you would create a separate diagram for the top-level services, and then you would add new use cases that make up the top-level ones. There is a uses edge from "Check in Passenger" to "Weigh Luggage" and from "Check in Passenger" to "Assign Seat"; this indicates that in order to Check in a Passenger, Luggage must be Weighed and a Seat must be Assigned. Similarly, the diagram indicates that in order to add a reservation to the system, the available space must be checked and the passenger's information must be recorded. You could imagine breaking these use cases down further to show more detail.
When do I use the extends arrow?
The extends arrow (or extends edge ) is drawn from a use case X to a use case Y to indicate that the process X is a special case behavior of the same type as the more general process Y. You would use this in situations where your system has a number of use cases (processes) that all have some subtasks in common, but each one has something different about it that makes it impossible for you to just lump them all together into the same use case.
Example: Suppose you wanted to add detail to the diagram shown below, representing an airline reservation system. Specifically, what you would like to show is that not all of the seats aboard the airplane are exactly alike (some window and some aisle seats), and sometimes passengers will express a preference for one of these types of seats but not the other. But of course, they cannot just be given their preference right away, because the seat they want might not be available. Therefore, the process of assigning a window seat involves checking for the availability of window seats, whereas the process of assigning an aisle seat involves checking for the availability of aisle seats. But even though these processes are different, they are quite similar in a number of other ways, so it doesn't make sense to ignore their similarities. Fortunately, UML lets us have both: we write that assigning these two types of seats are different processes, but they are similar in that both processes extend a common, more general process (assigning seats.)
What is the difference between uses and extends ?
Probably the best way to think about these diagram elements is as follows:
- "X uses Y" indicates that the task "X" has a subtask "Y"; that is, in the process of completing task "X", task "Y" will be completed at least once.
- "X extends Y" indecates that "X" is a task fo the same type as "Y", but "X" is a special, more specific case of doing "Y". That is, doing X is a lot like doing Y, but X has a few extra processes to it that go above and beyond the things that must be done in order to complete Y.
Example: indicates that inorder to successfully "Check-in", you must "Weigh luggage" and "Assign a seat", some number of times, in some order. The key, though, is that all UCs used by a use case MUST BE DONE before that use case be considered to be complete. Once you realize that there are several types of seat assignment, you might be tempted to draw a diagram using the uses edge like the one below, but this doesn't make sense: This diagram says that in order to assign a seat you must assign both a window seat AND an aisle seat to the passenger. Never fear, however; this situation is correctly handled by the extends relationship. Using the extends relationship (as shown in the following diagram), we can express that there are two ways to assign a seat: assigning a window seat and assigning an aisle seat, but only one need be completed in the process of assigning the passenger a seat.
The scenario I want to describe branches into several possible outcomes, or has some error conditions. How can I represent that with Use Case Diagrams?
Representing failure and branching conditions is often best done with a Sequence Diagram or flow chart, but there are some grey-area cases when it isn't clear whether or not a Use Case Diagram is appropriate. A rule of thumb: if in representing the branching actions in the Use Case Diagram you must add significantly more use case ovals, and the resulting diagram is muddy or confusing, consider using a different diagramming style.
With that said, it is possible to represent simple branching behavior with UCDs, although I would like to again stress that UCDs ARE NOT FLOW CHARTS. This is done by realizing that if the use case, or process that you are trying to represent can have two significantly different outcomes (success and failure, for example), then that means that you really have two different use cases: one in which the process succeeds, and one in which the process fails. Of course, these two use cases are related in that they are both extensions of the original use case, so you would draw the original use case with the two branches extending from it. I consider this almost an abuse of the meaning of the extends edge, because it really isn't being used here to represent a taxonomy of use cases (which is its purpose) but is instead taking advantage of the specific abstract definition of the relation to hack flow-chart-like behavior out of the UCD style. Again, USE THIS TECHNIQUE SPARINGLY; IT CAN QUICKLY MAKE A DIAGRAM UNREADABLE.
Example: Suppose that we want to represent the use cases of a normal CD player. When all goes well, the CD player retracts the tray upon which the CD sits, reads it, and starts playing. (The use case for this behavior is represented below. The top-level diagram has been omitted for brevety.) Unfortunately, some users will command the system to play a CD even when there is no CD in the tray. We therefore have a failure condition, under which the system must do something other than play the CD (namely, prompt the user for a CD.) To represent this, we modify the normal diagram with some extra use cases, in which the presence of the CD is verified. The behavior of playing the CD extends the behavior of verifying that the CD is present in that it is the special case of verifying the CD's presence in which the CD is present. The other special case of verifying the CD's presence is that this is done and the CD is not present, so the user is prompted for a CD. I will say one last time that this use of extension is a bit of a reach, but it is an elegant way to express multiple behaviors of a single use case when the number of such behaviors is small.
Using Metadata for Generating Entity Diagrams in Microsoft Dynamics CRM 4.0
The account entity that is shown on the diagram represents a bank customer. As a bank customer, you can open several bank accounts, such as checking and savings accounts, and also several safe deposit boxes. This is an example of a many-to-one relationship type between a bank account and a customer, and a safe deposit box and a customer. You can associate multiple activities, such as tasks, emails and appointments with a bank account. To provide additional information about a bank account or a safe deposit box, you can use notes and attachments.
The Metadata Diagram tool can also create much more complex diagrams. The following example is a diagram for the Marketing Automation area.
To see the Marketing Automation diagram in detail, download Microsoft Dynamics CRM 4.0 Logical Database Diagrams and open the Marketing Automation diagram. The package contains the diagrams for each area of the product, such as Sales, Service and Marketing. These diagrams let you explore the logical database structure for the entities in a default installation of Microsoft Dynamics CRM 4.0. They are designed to be printed as large posters.
About the Diagrams
You can find the diagrams for many system entities in the Microsoft Dynamics CRM 4.0 SDK documentation, in the topics that describe the entity capabilities. In each box in the diagram, the first line in bold text is the name of the entity. Subsequent lines contain the names of the attributes used to define the relationships for that entity. The tool does not generate lines showing the relationships to the following entities: organization, business unit, and user (systemuser). This is done to simplify the diagram. Color coding is used to indicate the owner relationship for each entity. The following diagram describes the color coding:
Generating Entity Diagrams with the Metadata Diagram Tool
To use the sample code that will programmatically generate Microsoft Office Visio metadata diagrams, download the Microsoft Dynamics CRM 4.0 Software Development Kit (SDK) from the MSDN Developer Center. After you download and unzip the SDK, navigate to the following folder: \sdk\server\fullsample\metadatadiagram. To build and run the sample code, follow the instructions in the Readme. doc. The code sample is a stand-alone console application that creates an entity relationship diagram. The program requires Microsoft Office Visio 2003.
You can run the program at the command prompt. List the entities you wish to include in the diagram as command line arguments. Other entities may be included in your diagram as needed to show all the relationships for each entity you have requested. To generate a diagram that shows the relationships for new_bankaccount and new_safedepositbox entities, use the following command:
Entity Relationship Modeler
The Aqua Data Studio Entity Relationship Modeler (ER Modeler) helps you design complex database models for all major RDBMS vendors and versions. Use the Forward Engineer feature to model entities and convert them into SQL Scripts, or Reverse Engineer existing databases to visualize a database model. You can quickly convert models from one database vendor to another using the Convert feature. The Schema Compare Tool functionality within the ER Modeler allows comparing ER Models. The Import feature allows adding entities from existing databases into an ER model. ER models can also be stored in version control to keep track of changes.
1 of 16 - ER Modeler - Model
2 of 16 - ER Modeler - Region
3 of 16 - ER Modeler - Schema Folder Grouping
4 of 16 - ER Modeler - Reverse Engineering Database into ER Model
5 of 16 - ER Modeler - Import Database Objects
6 of 16 - ER Modeler - Comparing a Database to a Model
7 of 16 - ER Modeler - Comparing Two Models
8 of 16 - ER Modeler - Quick Search
9 of 16 - ER Modeler - Mounted Scripts with Model's SVN History
10 of 16 - ER Modeler - Drag to Create Objects
11 of 16 - ER Modeler - Sheet - Show in Diagram
12 of 16 - ER Modeler - Forward Engineering ER Model into Database
13 of 16 - ER Modeler - Converting Models
14 of 16 - ER Modeler - Save as Image
15 of 16 - ER Modeler - Print Preview
16 of 16 - ER Modeler - Generating HTML Reports
The ER Modeler can be used for:
Model Complex Databases and Data Warehousing Designs
The ER Modeler allows you to create professional database designs with its rich set of features. A graphic display 1 of database objects can be created manually by adding entities on a sheet and altering their attributes. Model a complex database by dragging and dropping tables, indexes, constraints, relationships, notes and regions from the Palette. Easy and visual database management. ER Modeler
Group Entities into Region
Regions are used to group displayed objects in a sheet. To make a region, drag one around the objects you wish to group. You may then move Regions around, to move a group of objects. Region
Enable different Display Levels
Use the Display options to model diagrams based on Attribute, Primary Key, Entity, Physical Schema, Nullable Columns, Comments or Relationship Names. An option for Schema Folder Grouping is also available. Schema Folder Grouping
Reverse Engineer to visualize Database Structure
An ER diagram can be extracted from an existing database (commonly referred to as reverse engineering 2 ) and its schema objects displayed as a model by using Tools->ER Diagram Generator in the Server Browser. ER Modeler - Reverse Engineering a Database into a Model
Import Database to ER Model
A powerful and flexible feature of the ER Modeler is the Import support under Tools-> Import Database, which allows you to add tables and views from existing databases into your model. Import Database Objects
Compare ER Models and Databases
The ER modeler is integrated with the Aqua Data Studio Schema Compare Tool. It allows comparing two ER models, or an ER model to an existing database. The DDL script for each object is shown and differences are highlighted in a graphical and text notation. Comparing Two ER Models | Comparing a Database to a Model
Quick Search Entities
Version Control Integration
Aqua Data Studio provides integration with several version control systems like CVS, Subversion (SVN), Git and Perforce. Developers in an organization can access ER Models associated with a version control repository, modify and track their changes. ER Modeler - Mounted Scripts Folder with Model's SVN History
Add Entities and Relationships
The ER Modeler supports Information Engineering (IE) notation. To add a table, click on the Table Entity in the Palette and then drag within the sheet to create it. Double click to alter its properties. Comments appear at the bottom of table entities. Properties for a selected entity are displayed in the Object Properties pane at the bottom of the window. Sheets are views of the model and multiple sheets can be added to a diagram. Drag to Create Objects
Views and Sheet Layout
The ER Modeler has a rich set of features for choosing model views and built-in sheet layouts, which make your data visualization much easier. 1:1 Scale, Zoom In, Zoom Out, Fit to Window are the different views available. You can adjust the "zoom" of the model with the mouse scroll wheel. Sheet - Show in Diagram
Forward Engineer Model into Database
An ER diagram can be quickly converted into a DDL 3 script using Tools->Generate Script. The script can be executed in a Query Analyzer window to populate a database with objects. ER Modeler - Forward Engineering a Model into a Database
Universal Schema Migrations
The DDL of one database can be converted to the DDL of another database through the use of the "Convert to…" tool to ease migration 4 from one database vendor to another. ER Modeler - Convert Model
Save as Image
ER Models can be saved as a JPG or PNG image for inclusion in word processing documents or presentation slides. Save as Image
Print ER Models and Generate HTML Reports
ER Models can be printed for quick reference. It is easy to set the dimensions of the printout to fit your needs. They may be printed across multiple pages. You can generate HTML reports from models, which include HTML navigation elements and detailed information about database objects. Print Preview | Generating HTML Reports
Referencias
^ ER Diagram Wikipedia article.
^ Reverse Engineering Wikipedia article.
^ DDL Wikipedia article. Data Definition Language.
^ Database Migration Wikipedia article. See "Database Migration" paragraph.
Copyright y copia; 2001–2016 AquaFold, Inc. All Rights Reserved.
Drawing Entity Relationship Diagrams
What You’ll Learn
This section of notes covers how to draw Entity Relationship Diagrams using PowerPoint.
While there are many purpose-built tools (such as CASE tools) that can be used to draw E-R diagrams, often the fastest way to get moving on a project is to use drawing tools available in Microsoft Office.
The focus of this tutorialis on PowerPoint. Make sure to check out my visio tutorials as well.
Continued on next page
results for "Er Diagram For Bookstore Management System"
writing) of a customer or potential client's system requirements and dependencies at a particular point in time (usually) prior to any actual. design or development work. It's a two-way insurance policy that assures that both the client and the organization understand the other's requirements from that perspective at a given point in time. The SRS document itself states in precise and explicit language those functions and capabilities a software system (i. e. a software application, an eCommerce.
5230 Words | 20 Pages
Entity Relationship Diagram - ERD Database – is a large data repository that stores a shared collection of logically data. A database can be. modeled as: A collection of entities and relationship among entities. What is Entity Relationship Diagram . An entity-relationship ( ER ) diagram is a specialized graphic diagram that illustrates the relationships between entities in a database, simply it illustrates the logical structure of databases. ER diagrams often use symbols to represent different.
405 Words | 5 Pages
= 5102. 2)Compute the probability of a stock-out for the order quantities suggested by membersof the management team. Probability of stock out for N no. of orders is P (X>N). to convert this into Standard Normal Distribution P(Z, (N-µ)/ σ ) ==> P(Z,(N-20000)/5102)) 3) Compute the projected profit for the order quantities suggested by the management team under three scenarios: worst case in which sales _ 10,000 units, most likely case in which.
423 Words | 2 Pages
Exercise 1 1. Draw an E-R diagram for each of the following situations (if you believe that you need to make additional assumptions. clearly state them for each situation): a. A hospital has a large number of registered physicians. Attributes of PHYSICIAN include Physician_ID (the identifier) and Specialty. Patients are admitted to the hospital by physicians. Attributes of PATIENT include Patient__ID (the identifier) and Patient_Name. Any patient who is admitted must have exactly one admitting.
761 Words | 3 Pages
are working on their degree. * Each graduate student has another, more senior graduate student (known as a student advisor) who advises him or her on. what courses to take. * Design and draw an ER diagram that captures the information about the university. Use only the basic ER model here; that is, entities, relationships, and attributes. Be sure to indicate any key and participation constraints. Exercise 2. Notown Records has decided to store information about musicians who perform.
887 Words | 4 Pages
Purpose The purpose of this document is to determine the requirements for Little Caesar's Bookstore Management . system . It also describes all the subsystems that constitute the functioning of this system and their interrelationships. Scope This document portrays, in full context, the requirements for developing the specific BMS solution. As such, it represents an important guideline and a complete reference for the upcoming phase of software development and idea generation. By applying.
685 Words | 3 Pages
International Journal of Innovation, Management and Technology, Vol. 3, No. 5, October 2012 Investigating Online Shopping. System in Iran as a Developing Country B. Zibanezhad, M. Makhlughian, and A. Salajegheh Abstract—The lack of necessary reliable infrastructures in developing countries has reduced electronic commerce growth and development. Online shopping system analysis and design was evaluated in Iran as a developing country. National banking & delivery systems along with cultural & training.
3901 Words | 12 Pages
New Er Digram for BIOIn software engineering, an entity–relationship model ( ER model) is a data model for describing the data or. information aspects of a business domain or its process requirements, in an abstract way that lends itself to ultimately being implemented in a database such as a relational database. The main components of ER models are entities (things) and the relationships that can exist among them. Entity-relationship modeling was developed by Peter Chen and published in a 1976 paper.
886 Words | 3 Pages
CREDIT CARD SALES SYSTEM The main entities of a Credit Card Sales System are: 1. Customer 2. Orders 3. Order. Details 4. Bank 5. Retailer The main relationships among entities of a credit card sales System are: 1. Customer places an order. 2. Order contains order details. 3. An Order detail has a product. 4. Bank completes the payment. The main assumptions in a Credit Card Sale System are: 1. The Customer and the Retailer have an account in the same.
271 Words | 2 Pages
manipulate information. ICT is a combination of information technology and communications technology. In an increasingly interconnected world, the. interactions among devices, systems . and people are growing rapidly. Businesses need to meet the demands of their employees and customers to allow for greater access to systems and information. All of these communications needs must be delivered in a unified way. By offering a scalable infrastructure, cloud computing models enable companies to work.
850 Words | 3 Pages
growing-in-progress bookstore is no different from any other firms and institution, considering the use of computers will make tasks efficient. Bookstore owners/managers must also know not only ways on how to manage business by means of automation, but to know the significant effect and be aware of the changes in the service that automation can bring into the near future. Thus, computer works radically different from human beings and the flows of work from automated system differ quite considerably.
381 Words | 2 Pages
White paper on Process Modeling, ER diagram and Logical Data Modeling Authors Yogini Wagh Process Modeling. Process modeling is the concise description of the total variation in one quantity, by partitioning it into a deterministic component given by a mathematical function of one or more other quantities, plus a random component that follows a particular probability distribution. Software process modeling and business process modeling are the techniques for obtaining a better understanding.
969 Words | 5 Pages
Diagram The Health Care System . Linkages and Alliance Introduction to U. S. Healthcare Sector Due September 14, 2014 Shanette. Campbell Introduction Healthcare delivery organizations are an integral part of the complex healthcare industry. They are typically composed of a large hospital that branches off to smaller hospitals and clinics. The World Bank describes this set up as somewhat of a “hierarchy” as it ranks in order of importance from large facilities to small clinics (2014).
396 Words | 5 Pages
[pic] Factors Contributing to Project Success According to Standish Report: 1. Executive Management Support 2. User involvement 3. Experienced Project Manager 4. Clear Business Objectives 5. Minimized Scope 6. Standard software Infrastructure 7. Firm Basic Requirements 8. Formal Methodology 9. Reliable Estimates 10. Other The cost of incorrect, misunderstood, and not agreed upon requirements affects the customers and developers in terms of time, money, and lost opportunities. Applying.
654 Words | 9 Pages
Management System for Travel Company 04/03/2013 Doan Cong Danh Truong Dai Tram Anh Prepared for. Management Information System Instructor: Pham Van Hau, Ph. D. Spring 2013 Table of Contents 1. Introduction 4 1.1 Purpose 4 1.2 Scope 4 1.3 Definitions, Acronyms, and Abbreviations 4 1.4 References 4 1.5 Overview 4 2. General Description 5 2.1 Product Perspective 5 2.2 Product Functions 5 2.3 User Characteristics 5 2.4 General.
2350 Words | 15 Pages
METHODIST CENTRE MANAGEMENT SYSTEM NGO KER NEE This project is submitted in partial fulfillment of the requirements for the. degree of Bachelor of Education with Honours (Information Technology) Faculty of Computer Science and Information Technology March 2005 ABSTRACT Nowadays, almost all the churches are employing church management . anticipated to a system to operate in assisting the Development of Methodist Centre Management System (MCMS) bring benefits to Samarahan Methodist.
4365 Words | 70 Pages
NicBlitz Internet Café Management Information System System Analysis and Design Main Documentation. Outline For Information Technology Program ITP101M Group 5: Gamponia, Ivy Valerie T. Luis, John Paul L. Obispo, Armando Brian Table of Contents Title….………………………………………………………………………………….…………1 Table of Contents………….……………………………………………………………….……. 2 List of Appendices………………………………………………………………………………. 3 Introduction……………………………………………………………………………………….
525 Words | 3 Pages
www. final-yearproject. com | www. finalyearthesis. com INTRODUCTION A hotal management system is required for the library. function. It contains the database of the student profile and the books and the member profile. It is beneficial for the helping the librarians to work on the system . With the introduction of the system it gives the new data creation for the maintaining the records of the book s, which is available in the library and helps it to take all the information such as date of issuing.
2920 Words | 16 Pages
HOTEL MANAGEMENT SYSTEM OF PALACIO DE LAOAG HOTEL A Thesis Presented to the Faculty of the Department of. Computer Studies AMA Computer College - Laoag City Campus In Partial Fulfillment of the Requirements for the Degree of BACHELOR OF SCIENCE IN COMPUTER SCIENCE MARK ISAAC DCTOLERO JIMWEL BUTIN CHAPTER I THE PROBLEM AND ITS BACKGROUND INTRODUCTION Only once in a lifetime will a new invention come about to touch every.
1278 Words | 5 Pages
CHAPTER I THE PROBLEM AND ITS BACKGROUND Introduction An organization is a social unit of people that is structured and managed to meet a need or to. pursue collective goals. All organizations have a management structure that determines relationships between the different activities and the members, and subdivides and assigns roles, responsibilities, and authority to carry out different tasks. Association of Computer Technology Students (ACTS) is an organization of Bachelor in Industrial Technology.
487 Words | 3 Pages
Er diagram for a clinic >>
Answer to Design an E-R diagram for modeling a small clinic database. The database models the patie. The steps and processes on how-to translate the ERD diagram to the database Relational model (table. Aug 28, 2013 . To Scope The Online Clinic Reservation System has the following scope: The website. Feb 24, 2014 . LIST OF ABBREVIATIONS Terminology Meaning ERD Entity Relation Diagram ERM Entities. Figure 3.2 ERD for the Clinic Management System. 24. Figure 3.3 Context Diagram. 26. Figure 3.4 Dat. 2 CONCEPTUAL SCHEMA ER DIAGRAM 3 Entity Doctor Patient City Gender Visit History Insurance Bill Pay.
Er diagram for a clinic
White Space. White Space is an private orthodontic clinic for an opinion leader and luminary who is applying and researching most advanced techniques and materials in. Patient care and health information. More than 3,300 physicians, scientists and researchers from Mayo Clinic share their expertise to empower you. Chiyodanomori Dental Clinic . This is a dental clinic accompanied with a housing project. The conditions required were: to make the clinic and housing into. Washing Machine Repair Help. To troubleshoot your washing machine, enter the model number in the search box below. After entering your model number, we’ll list the. Mohs Surgery. OVERVIEW. Mohs micrographic surgery is a specialized surgical procedure used to treat skin cancers, typically of the head and neck. Recurrent or more. Analysis Methodology Facts Spaghetti Diagram Zoning Adjacency Efficiency Privacy Issues.
Charlotte mecklenburg schools residency
Pig gets chainsawed video
Section 26-1 introduction to the animal kingdomection 26-1 introduction to the animal kingdom
Pass pokerstars staff invitational 03 05 2012
Lix in boy girl
Answer to Design an E-R diagram for modeling a small clinic database. The database models the patie. The steps and processes on how-to translate the ERD diagram to the database Relational model (table. Aug 28, 2013 . To Scope The Online Clinic Reservation System has the following scope: The website. Feb 24, 2014 . LIST OF ABBREVIATIONS Terminology Meaning ERD Entity Relation Diagram ERM Entities. Figure 3.2 ERD for the Clinic Management System. 24. Figure 3.3 Context Diagram. 26. Figure 3.4 Dat. 2 CONCEPTUAL SCHEMA ER DIAGRAM 3 Entity Doctor Patient City Gender Visit History Insurance Bill Pay.
Summary:
Answer to Design an E-R diagram for modeling a small clinic database. The database models the patie. The steps and processes on how-to translate the ERD diagram to the database Relational model (table. Aug 28, 2013 . To Scope The Online Clinic Reservation System has the following scope: The website. Feb 24, 2014 . LIST OF ABBREVIATIONS Terminology Meaning ERD Entity Relation Diagram ERM Entities. Figure 3.2 ERD for the Clinic Management System. 24. Figure 3.3 Context Diagram. 26. Figure 3.4 Dat. 2 CONCEPTUAL SCHEMA ER DIAGRAM 3 Entity Doctor Patient City Gender Visit History Insurance Bill Pay. Patient care and health information. More than 3,300 physicians, scientists and researchers from Mayo Clinic share their expertise to empower you. Washing Machine Repair Help. To troubleshoot your washing machine, enter the model number in the search box below. After entering your model number, we’ll list the. Mohs Surgery. OVERVIEW. Mohs micrographic surgery is a specialized surgical procedure used to treat skin cancers, typically of the head and neck. Recurrent or more. White Space. White Space is an private orthodontic clinic for an opinion leader and luminary who is applying and researching most advanced techniques and materials in. Analysis Methodology Facts Spaghetti Diagram Zoning Adjacency Efficiency Privacy Issues. Chiyodanomori Dental Clinic . This is a dental clinic accompanied with a housing project. The conditions required were: to make the clinic and housing into.
You should probably have a table "StaffHostel" which has StaffID/HostelID FKs. It should also have another field called "IsManager", which can be True/False. That is a better way to represent the Staff - Hostel relationship. Table would look like:
If this is for a Hostel, note that people often don't book Rooms, but book beds! There can be many beds in a single room (usually up to 8) with customers booking a bed in a particular room. That will complicate your design significantly.
You may want to put RoomPrice into the Room table and have a "DefaultRoomTypePrice" in the RoomType table, but that is getting into semantics. I just know from experience sometimes room can be the same type but different prices for certain reasons.
It is unclear how your Catalog table is linked to the Hostel, explain a bit more? What is a Catalog?
Otherwise looks pretty good, the only thing I can imagine you might want to do differently is to hand off the payment to another provider, storing Credit Card information is a very dangerous thing to do, leave it to the big boys who implement stringent security practices.
answered Sep 1 '14 at 4:58
Gracias por tu comentario. catalog mean subsciber hostel can have many subscriber but its optional for a subscriber to subscribe or not. & Ndash; Anis Maredia Sep 1 '14 at 5:07
please advice me how can i handle CC information – Anis Maredia Sep 1 '14 at 5:08
Google "credit card payment gateway". Paypal is one used extensively, but it might not be the best. Isn't too hard to integrate into a website, lots of tutorials on the web. The first of these is for ASP, the second PHP: codeproject. com/Articles/152280/… jdmweb. com/how-to-easily-integrate-a-paypal-checkout-with-php – blobbles Sep 1 '14 at 6:10
You can go for adding a table called RoleType to store info about the role of employee by adding one more column in Employee table as RoleId
Role table as with two column RoleId RoleName
here RoleId will be Pk for RoleType table and and will be Fk in Employee table, Now you can add all the roles like Manager, Caterer etc.
Don't got your Catalog table, other wise looks fine.
On Credit card info, don't store it your data base you can integrate paypal or any other payment gateway
September 21, 2013
TOPIC: Collect a simple ER diagram with explanation
LIBRARY MANAGEMENT SYSTEM
A library consists of a section, a member, a book, a granter, a publisher.
Section has section id, name and phone number
Member has member id, address, telephone, occupation, member name.
Book has call number, title, author, price.
Publisher has publisher id, name, address, phone number.
Granter has national identify card number, name, address, phone.
Member name can be divided into first name, middle name, last name.
The section, member, book, granter, publisher are uniquely identified by section id, member id, call number, publisher id, national id card number respectively.
One section has many books but one book should keep in one section.
One member can borrow many books.
Many books may publish by one publisher otherwise one publisher may be published many books.
STEP-1: ->IDENTIFYING THE ENTITIES
The entities are
STEP-2:-> IDENTIFYING THE RELATIONSHIPS
One section has many books but one book should keep in one section. It is 1: N Relationship.
One member can borrow many books. It is 1. N Relationship.
Many books may publish by one publisher otherwise one publisher may be published many books. It is N. 1 Relationship.
Many member may have one Granter otherwise one Granter grants for many members. It is N: 1 Relationship.
STEP-3: ->IDENTIFYING KEY ATTRIBUTES
SECTION SECTION ID
MEMBER MEMBER ID
BOOK CALL NUMBER
PUBLISHER PUBLISHER ID
GRANTER NATIONAL IDENTIFY CARD NUMBER
STEP-4:-> OTHER RELEVANT ATTRIBUTES
SECTION NAME, PH NO
MEMBER ADDRESS, TELEPHONE, OCCUPATION, MEMBER NAME
PUBLISHER NAME, ADDRESS, PHONE NUMBER
BOOK TITLE, AUTHOR, PRICE
GRANTER NAME, ADDRESS, PHONE NUMBER, POST
STEP-5: ->ER DIAGRAM
September 24, 2013
TOPIC. ER DIAGRAM EXAMPLE WITH EXPLANATION
BLOOD BANK MANAGEMENT SYSTEM
A Blood Bank stores blood of various blood groups. Many donors donate blood, each of different blood group/type. A donor may donate blood more than once and he is identified by a donor id(DID),name, sex, age. address and phone number. The blood donated by the donor is characterized by blood type. code and cost. Before each donor donates his blood. he is required to register himself as a donor with the receptionist who works at the Blood Bank. The receptionist is identified by employee id, name. address and phone number. The Blood Banks receives orders for blood from many hospitals for emergency purposes and other surgical requirements and each blood bank issues the same of required blood type. Each blood bank has it’s own blood bank number(BNO). issues, orders and blood types stored. The Blood Bank is managed by the blood bank manager who is identified by employee id. name. email_id and phone number. He is responsible for the proper management of the blood bank. The hospitals are identified by name, address and phone number. Represent this using an ER diagram.
STEP 1. Identifying the entities
1. Donor 2. Blood 3. Receptionist 4. Blood Bank 5. Blood Bank Manager 6. Hospital
STEP 2. Identify the relationships.
1.A donor may donate blood any number of times. So cardinality is 1:N. 2.Many donors may register blood donation with a single receptionist. So cardinality is N:1. 3.Blood of different type in large numbers is stored in a single Blood Bank. So cardinality is N:1. 4.Blood Bank is managed by an blood bank - manager. So cardinality is 1:1. 5. A receptionist works in a Blood Bank. So cardinality is 1:1. 6. Hospitals may order blood from different Blood Banks. So cardinality is N:M.
STEP 3. Identify the key attributes.
1. Donor – donor id(DID) 2.Blood – code 3.Receptionist – employee id(empid) 4.Blood Bank–Blood Bank number(BNO) 5.Blood Bank Manager – employee id(empid) 6.Hospital – name, phone number(phno)
STEP 4. Identify other relevant attributes
1. Donor – name, age, sex, address, phone number(phno) 2. Blood – blood type, cost 3. Receptionist – name, address, phone number(phno) 4. Blood Bank – issues, orders. blood type 5. Blood Bank Manager – name, email _id. phone number(phno) 6. Hospital-address
STEP 5. Complete the ER Diagram.
Waypoints: Entity Relationship (ER) Diagrams
Our initial entity relationship (ER) diagram includes the tables which we felt were most important to our design. These 13 tables and the logic behind their creation are listed in the paragraphs below.
The Artifact Table . Database design is centered on the concept that individual artifacts combine to create a historical archive. The artifact is the building block of the larger collection and as such became the central table in our design. Much like books on a bookshelf, artifacts have numerous descriptive properties such as creator, title, and a short description. Therefore, the artifact table contains these and many additional attributes which collectively describe a unique article.
The Creator Table . Realizing that an individual might be the creator for many artifacts in the collection we decided to implement a "creator" table which could be associated with many artifacts in the collection. This addition negated the need to have a person's name in the "artifact" table numerous times and allowed us the opportunity to generate queries to identify the artifacts in the collection that a particular person created.
The Donor Table . Much like a creator, a donor or group of donors can be responsible for contributing materials to the collection. As such, we built a "donor" table which has a one-to-many relationship with the artifact table. The attributes in this table were created in order to duplicate the information found in the "Deed of Gift" form used by the historian's office.
Historian and Historian Review . Not knowing how the system might be used in the future, we decided to include tables which allow system administrators to document who last reviewed a record in the database. The "historian" table is used solely to identify the individuals which review content for accuracy. And, the "historianreview" table associates a historian with one or many artifacts which they have reviewed along with a review date, comments, etc.
The Collection Table . Much like creators and donors which have a one-to-many relationship with artifact, a "collection" table was created in order to define the many-to-one relationship where a group of artifacts constitute a unique collection. In cases where a group of artifacts is donated to the archive (i. e. a scrapbook, personal photograph collection), it is valuable (and interesting) to be able to identify these materials as members of their own group.
The User Table . The "user" table was created so that administrative user interfaces could be restricted to those users allowed by the database.
Artwork, Historic Document, Oral history, Photograph, Video, and Physical Artifact . These six tables contain unique attributes not common to all artifacts. Originally, we discussed focusing on one type of artifact (e. g. photographs) or combining the different properties found in these tables with the artifact table (while allowing them to contain null values if they didn't apply). However, as we worked through our initial design - we wanted to maintain the ability to document all artifact types while keeping the design appropriately normalized. As such, we decided to create these six sub-class tables - leaving the unique attributes in each table.
With our basic framework in place, we had a system that allowed us to inventory our data. However, the structure did not support the faceted browsing interface which we hoped to implement. In our second ER diagram, we included the tables which would allow us to implement out browsing interface.
With a many-to-many relationship between artifacts and facets, we decided to create two one-to-many relationships in order to achieve the same end result. The resulting "association" tables serve as the bridge between the artifact table and each facet - each artifact having many associations and many associations referencing individual facets. Though the only artifacts made available to our development team were photographs, the browsing hierarchy has been designed to accommodate any type of descriptive metadata. However, the vocabulary in the faceted ontology will undoubtedly evolve as new artifacts are added to the collection.
The third version of our ER diagram reflects our current database design. The overall design remained the same; however, the user table was dropped because functionality for usernames/passwords was not yet implemented. Other changes include:
The "time" facet table was renamed to year in order to accurately reflect the data being kept in the table. Additionally, an association table was added for the new "year" table so that an artifact could be described using several individual years (i. e. to describe the start and end dates for a cutters' service).
The ParentRecord attribute in each facet table was dropped and a ParentID attribute was added. Originally, the associations between facets were referenced by name, but once the table was populated the new ParentID feature allowed for the referencing of the parents' FacetID number.
The attributes in the facet and association tables were consistently named so that reusable php scripts could be used for UI implementation.
The data type for "ArtifactType" (in the "artifact" table) was changed to ENUM in order to restrict the data types that can be entered into the system (and end up as a sorting tool for browsing).
Indices were added for "ArtfiactName," "ShortDescription," and "LongDescription" in hopes that search/browse retrieval will not suffer as addtional data is added to the system.
&dupdo; Waypoints Project 2005
Wonderful work! That is the kind of information that should be shared across the net. Shame on Google for not positioning this submit higher! Come on over and visit my web site. Thank you =) Here is my web-site . vip electronic cigarette review
Fantastic beat. I would like to apprentice while you amend your web site, how could i subscribe for a blog web site? The account helped me a acceptable deal.
I had been tiny bit acquainted of this your broadcast provided bright clear concept Also visit my website . Opciones binarias
¡Hola! Quick question that's entirely off topic. Do you know how to make your site mobile friendly? My weblog looks weird when browsing from my iphone4. I'm trying to find a template or plugin that might be able to fix this problem. If you have any recommendations, please share. ¡Aclamaciones! Also visit my page . onlinecasinoxb. com
¡Hola! Would you mind if I share your blog with my zynga group? There's a lot of people that I think would really appreciate your content. Por favor hagamelo saber. Cheers My web page - affiliation
hello there and thank you for your info – I have certainly picked up anything new from right here. I did however expertise some technical points using this web site, as I experienced to reload the web site many times previous to I could get it to load correctly. I had been wondering if your web host is OK? Not that I am complaining, but slow loading instances times will often affect your placement in google and can damage your quality score if advertising and marketing with Adwords. Anyway I'm adding this RSS to my email and could look out for much more of your respective fascinating content. Ensure that you update this again soon. Take a look at my weblog . Casino blackjack online check it out
Way cool! Some very valid points! I appreciate you writing this post plus the rest of the site is very good. Look at my website - onlinecasinoxs. com
I don't even know how I ended up here, but I thought this post was great. I don't know who you are but certainly you are going to a famous blogger if you are not already ;) Cheers! Also visit my homepage . how to make lots of money online
Saved as a favorite, I really like your site! Also visit my site how to Make alot of money
I truly love your site. Excellent colors & theme. Did you build this website yourself? Please reply back as I'm looking to create my own site and want to learn where you got this from or exactly what the theme is called. Appreciate it! Also visit my web blog ways to make money fast online
My partner and I stumbled over here coming from a different web page and thought I may as well check things out. I like what I see so i am just following you. Look forward to looking at your web page again. Also visit my blog - play penny slots online
Hi there, There's no doubt that your web site could possibly be having browser compatibility issues. When I look at your website in Safari, it looks fine but when opening in Internet Explorer, it has some overlapping issues. I just wanted to provide you with a quick heads up! Other than that, great blog! my web page - how to make money online fast
¡Hola! This is kind of off topic but I need some advice from an established blog. Is it hard to set up your own blog? I'm not very techincal but I can figure things out pretty fast. I'm thinking about making my own but I'm not sure where to begin. Do you have any ideas or suggestions? Thanks Feel free to surf my blog post . easy way to make money
Does your site have a contact page? I'm having trouble locating it but, I'd like to send you an e-mail. I've got some ideas for your blog you might be interested in hearing. Either way, great website and I look forward to seeing it grow over time. Also see my webpage . best online jobs
Thanks designed for sharing such a good thought, paragraph is nice, thats why i have read it entirely Here is my homepage . how to make big money fast
This is a great tip particularly to those new to the blogosphere. Simple but very accurate information… Appreciate your sharing this one. A must read article! Also visit my web page ; work at home companies
I'm no longer sure where you're getting your information, but good topic. I must spend some time finding out much more or understanding more. Thank you for excellent info I used to be looking for this info for my mission. Visit my web page ; forex robot trading
Today, I went to the beachfront with my kids. I found a sea shell and gave it to my 4 year old daughter and said "You can hear the ocean if you put this to your ear." She put the shell to her ear and screamed. There was a hermit crab inside and it pinched her ear. She never wants to go back! LoL I know this is totally off topic but I had to tell someone! Feel free to surf my web blog stock trading training
Thanks in favor of sharing such a pleasant opinion, article is pleasant, thats why i have read it completely Feel free to visit my web site . how to make money fast online
What's up to every one, it's actually a good for me to pay a quick visit this site, it includes valuable Information. My website - Investing penny Stocks
I blog frequently and I truly appreciate your content.
This great article has really peaked my interest. I'm going to take a note of your site and keep checking for new details about once a week. I subscribed to your RSS feed as well. Feel free to surf my blog post ; online jobs work at home
I'm extremely impressed with your writing skills and also with the layout on your weblog. Is this a paid theme or did you modify it yourself? Anyway keep up the nice quality writing, it's rare to see a nice blog like this one these days. Feel free to visit my website - best forex signals service
Paragraph writing is also a excitement, if you be acquainted with afterward you can write if not it is difficult to write. My web site - automatic forex trading software
If some one wishes expert view regarding blogging after that i advise him/her to go to see this webpage, Keep up the pleasant job. Feel free to visit my page . options strategy
Spot on with this write-up, I honestly believe this web site needs far more attention. I'll probably be returning to read through more, thanks for the information! My web page . how to make money online the easy way
Hello, of course this post is truly nice and I have learned lot of things from it on the topic of blogging. Gracias. Also visit my web blog . highest paying jobs ever
We're a group of volunteers and opening a new scheme in our community. Your website provided us with valuable info to work on. You've done an impressive job and our entire community will be grateful to you. Feel free to surf my site - how can i make money from home online
Do you mind if I quote a few of your posts as long as I provide credit and sources back to your weblog? My blog is in the very same area of interest as yours and my users would genuinely benefit from a lot of the information you present here. Please let me know if this alright with you. ¡Gracias! my web site > online work jobs
This design is spectacular! You obviously know how to keep a reader entertained. Between your wit and your videos, I was almost moved to start my own blog (well, almost. HaHa!) Wonderful job. I really enjoyed what you had to say, and more than that, how you presented it. Too cool! Also visit my blog post . online work jobs
Simply want to say your article is as amazing. The clarity on your put up is just excellent and that i can think you are knowledgeable in this subject. Fine with your permission let me to take hold of your feed to keep updated with forthcoming post.
Thank you 1,000,000 and please continue the gratifying work. My page . internet jobs online
Pretty nice post. I just stumbled upon your blog and wished to mention that I have really enjoyed browsing your weblog posts. In any case I will be subscribing in your rss feed and I hope you write once more very soon! My site . Affiliate Marketing For Dummies
I'm not sure why but this web site is loading incredibly slow for me. Is anyone else having this issue or is it a problem on my end? I'll check back later on and see if the problem still exists. my webpage > online trading platform
Thanks designed for sharing such a pleasant thinking, piece of writing is fastidious, thats why i have read it completely My web-site . Cambio de moneda extranjera
Oh my goodness! Amazing article dude! Thank you, However I am having difficulties with your RSS. I don't understand the reason why I cannot join it. Is there anyone else having identical RSS issues? Anyone who knows the solution can you kindly respond? Thanks!! Here is my web blog . slots online for money
Does your blog have a contact page? I'm having problems locating it but, I'd like to send you an e-mail. I've got some suggestions for your blog you might be interested in hearing. Either way, great website and I look forward to seeing it grow over time. My website - how to find a good job
Excellent, what a website it is! This web site gives valuable information to us, keep it up. Look at my web-site binary options Affiliate programs
I do not even know how I ended up here, but I thought this post was great. I don't know who you are but definitely you're going to a famous blogger if you aren't already ;) Cheers! my web page - play roulette for money online
Hi colleagues, nice paragraph and pleasant urging commented here, I am really enjoying by these. Also visit my website . binary signals
Hmm it seems like your blog ate my first comment (it was extremely long) so I guess I'll just sum it up what I had written and say, I'm thoroughly enjoying your blog. I as well am an aspiring blog writer but I'm still new to the whole thing. Do you have any helpful hints for inexperienced blog writers? I'd really appreciate it. My web site ; Online job apps
I will right away take hold of your rss feed as I can not find your email subscription hyperlink or newsletter service.
Do you have any? Kindly let me recognise in order that I may subscribe.
Hi there, just wanted to say, I loved this article. It was funny. Keep on posting! My web page > play roulette for real money
It's awesome to pay a quick visit this site and reading the views of all mates on the topic of this paragraph, while I am also zealous of getting know-how. Feel free to surf my blog . online job Search websites
I just like the valuable information you supply in your articles. I will bookmark your weblog and check again here regularly. I am slightly sure I will be told plenty of new stuff proper right here! Good luck for the next! Also visit my web blog . freebie trading scam
I think this is one of the most significant information for me. And i'm glad reading your article. But should remark on few general things, The web site style is ideal, the articles is really excellent. D. Good job, cheers Check out my weblog search for common ground jobs
Hiya! Quick question that's totally off topic. Do you know how to make your site mobile friendly? My site looks weird when viewing from my iphone. I'm trying to find a theme or plugin that might be able to resolve this problem. If you have any recommendations, please share. ¡Muchas gracias! Also visit my homepage . winning money online
Hello There. I found your blog using msn. This is a really well written article. I'll make sure to bookmark it and come back to read more of your useful info. Thanks for the post. I will definitely comeback. Feel free to visit my web site online work at home
Thanks for sharing your info. I truly appreciate your efforts and I am waiting for your next post thank you once again.
Hello my loved one! I want to say that this post is awesome, nice written and come with approximately all vital infos. I'd like to look more posts like this .
Pretty! This has been a really wonderful post. Thank you for providing this information.
It's not my first time to visit this website, i am visiting this web site dailly and get nice facts from here all the time.
We are a group of volunteers and opening a new scheme in our community. Your site offered us with valuable information to work on. You have done a formidable job and our whole community will be grateful to you.
Hi there to all, how is all, I think every one is getting more from this site, and your views are fastidious in support of new users.
Your mode of describing everything in this post is in fact good, every one can without difficulty be aware of it, Thanks a lot.
Superb blog! Do you have any recommendations for aspiring writers? I'm planning to start my own site soon but I'm a little lost on everything. Would you recommend starting with a free platform like Wordpress or go for a paid option? There are so many options out there that I'm completely overwhelmed. Any recommendations? ¡Gracias!
¡Oye! I know this is kinda off topic however. I'd figured I'd ask. Would you be interested in exchanging links or maybe guest authoring a blog article or vice-versa? My blog addresses a lot of the same topics as yours and I think we could greatly benefit from each other. If you might be interested feel free to shoot me an e-mail. I look forward to hearing from you! Excellent blog by the way!
I all the time used to read post in news papers but now as I am a user of net therefore from now I am using net for articles or reviews, thanks to web.
Hi, I do believe this is a great web site. I stumbledupon it ;) I will return once again since I bookmarked it. Money and freedom is the greatest way to change, may you be rich and continue to guide other people.
Feel free to visit my web site: penny stocks to buy
Hi, I wish for to subscribe for this website to get most recent updates, thus where can i do it please help.
I am regular visitor, how are you everybody? This post posted at this web page is actually fastidious.
Hi i am kavin, its my first time to commenting anyplace, when i read this post i thought i could also create comment due to this sensible piece of writing.
Hi there everyone, it's my first visit at this website, and article is genuinely fruitful in favor of me, keep up posting these types of articles.
We stumbled over here by a different web page and thought I should check things out. I like what I see so i am just following you. Look forward to exploring your web page repeatedly.
Wow, this post is good, my sister is analyzing such things, thus I am going to convey her.
Nice post. I learn something new and challenging on websites I stumbleupon every day. It's always helpful to read content from other authors and use something from their web sites.
What's up to every one, the contents existing at this web page are really remarkable for people knowledge, well, keep up the nice work fellows.
I think this is among the most important information for me. And i am glad reading your article. But should remark on few general things, The website style is perfect, the articles is really nice. D. Good job, cheers
Today, I went to the beachfront with my children. I found a sea shell and gave it to my 4 year old daughter and said "You can hear the ocean if you put this to your ear." She placed the shell to her ear and screamed. There was a hermit crab inside and it pinched her ear. She never wants to go back! LoL I know this is totally off topic but I had to tell someone!
Attractive section of content. I simply stumbled upon your web site and in accession capital to assert that I acquire in fact enjoyed account your blog posts. Any way I will be subscribing on your augment or even I success you get right of entry to consistently quickly.
Hello there, just became aware of your blog through Google, and found that it is really informative. I'm gonna watch out for brussels. I will be grateful if you continue this in future. Lots of people will be benefited from your writing. ¡Aclamaciones!
Hey I know this is off topic but I was wondering if you knew of any widgets I could add to my blog that automatically tweet my newest twitter updates. I've been looking for a plug-in like this for quite some time and was hoping maybe you would have some experience with something like this. Please let me know if you run into anything. I truly enjoy reading your blog and I look forward to your new updates.
I am sure this article has touched all the internet people, its really really good post on building up new web site.
This website certainly has all of the information and facts I wanted about this subject and didn't know who to ask.
whoah this weblog is great i like studying your articles. Keep up the good work! You already know, many persons are hunting around for this information, you can help them greatly.
I always used to read post in news papers but now as I am a user of internet so from now I am using net for articles or reviews, thanks to web.
First of all I would like to say fantastic blog! I had a quick question in which I'd like to ask if you don't mind. I was interested to know how you center yourself and clear your mind prior to writing. I have had a difficult time clearing my mind in getting my ideas out. I truly do enjoy writing but it just seems like the first 10 to 15 minutes are wasted just trying to figure out how to begin. Any suggestions or tips? Kudos!
This article is genuinely a good one it helps new internet people, who are wishing in favor of blogging.
I am sure this post has touched all the internet viewers, its really really fastidious article on building up new blog.
Attractive section of content. I just stumbled upon your blog and in accession capital to assert that I acquire in fact enjoyed account your blog posts. Anyway I'll be subscribing to your augment and even I achievement you access consistently rapidly.
Hello, I enjoy reading through your article post. I wanted to write a little comment to support you.
After I initially commented I appear to have clicked on the - Notify me when new comments are added - checkbox and now each time a comment is added I recieve 4 emails with the same comment. Perhaps there is a means you are able to remove me from that service?
Hello, this weekend is nice in support of me, as this point in time i am reading this wonderful educational article here at my home.
Pretty nice post. I just stumbled upon your weblog and wanted to say that I've really enjoyed surfing around your blog posts. After all I'll be subscribing to your feed and I hope you write again soon!
Currently it looks like Expression Engine is the top blogging platform available right now. (from what I've read) Is that what you're using on your blog?
Oh my goodness! Incredible article dude! Many thanks, However I am going through issues with your RSS. I don't know the reason why I am unable to join it. Is there anybody having similar RSS issues? Anyone who knows the answer will you kindly respond? Thanks!!
There is certainly a lot to know about this issue. I really like all the points you made.
I have been exploring for a bit for any high-quality articles or blog posts on this kind of house .
Exploring in Yahoo I finally stumbled upon this web site. Reading this info So i am happy to show that I've a very just right uncanny feeling I came upon just what I needed. I such a lot definitely will make sure to do not omit this web site and give it a glance on a continuing basis.
Thank you for the good writeup. It in reality was once a amusement account it. Glance advanced to far introduced agreeable from you! However, how could we keep up a correspondence?
Nice weblog right here! Additionally your website loads up fast!
What web host are you using? Can I get your associate link on your host? I desire my site loaded up as quickly as yours lol
We are a group of volunteers and starting a new scheme in our community. Your site offered us with valuable information to work on.
You have done an impressive job and our entire community will be thankful to you.
I'd like to thank you for the efforts you have put in penning this website. I'm hoping to check out the same high-grade blog posts from you later on as well. In truth, your creative writing abilities has motivated me to get my own, personal blog now ;)
Spot on with this write-up, I honestly believe this site needs a great deal more attention. I'll probably be returning to see more, thanks for the information!
Diagrams
First published Tue Aug 28, 2001; substantive revision Tue Sep 17, 2013
All of us engage in and make use of valid reasoning, but the reasoning we actually perform differs in various ways from the inferences studied by most (formal) logicians. Reasoning as performed by human beings typically involves information obtained through more than one medium. Formal logic, by contrast, has thus far been primarily concerned with valid reasoning which is based on information in one form only, i. e. in the form of sentences. Recently, many philosophers, psychologists, logicians, mathematicians, and computer scientists have become increasingly aware of the importance of multi-modal reasoning and, moreover, much research has been undertaken in the area of non-symbolic, especially diagrammatic, representation systems. This entry outlines the overall directions of this new research area and focuses on the logical status of diagrams in proofs, their representational function and adequacy, different kinds of diagrammatic systems, and the role of diagrams in human cognition.
Diagrams or pictures probably rank among the oldest forms of human communication. They are not only used for representation but can also be used to carry out certain types of reasoning, and hence play a particular role in logic and mathematics. However, sentential representation systems (e. g. first-order logic) have been dominant in the modern history of logic, while diagrams have largely been seen as only of marginal interest. Diagrams are usually adopted as a heuristic tool in exploring a proof, but not as part of a proof. [1 ] It is a quite recent movement among philosophers, logicians, cognitive scientists and computer scientists to focus on different types of representation systems, and much research has been focussed on diagrammatic representation systems in particular.
Challenging a long-standing prejudice against diagrammatic representation, those working on multi-modal reasoning have taken different kinds of approaches which we may categorize into three distinct groups. One branch of research can be found in philosophy of mind and cognitive science. Since the limits of linguistic forms are clear to those who have been working on mental representation and reasoning, some philosophers and cognitive scientists have embraced this new direction of multi-modal reasoning with enthusiasm and have explored human reasoning and mental representation involving non-linguistic forms (Cummins 1996 ; Chandrasekaran et al. 1995 ). Another strand of work on diagrammatic reasoning shows that there is no intrinsic difference between symbolic and diagrammatic systems as far as their logical status goes. Some logicians have presented case studies to prove that diagrammatic systems can be sound and complete in the same sense as symbolic systems. This type of result directly refuted a widely-held assumption that diagrams are inherently misleading, and abolished theoretical objections to diagrams being used in proofs (Shin 1994 ; Hammer 1995a ). A third direction in multi-modal reasoning has been taken by computer scientists, whose interest is much more practical than those of the other groups. Not so surprisingly, those working in many areas in computer science—for example, knowledge representation, systems design, visual programming, GUI design, and so on—found new and exciting opportunities in this new concept of ‘heterogeneous system’ and have implemented diagrammatic representations in their research areas.
We have the following goals for this entry. First of all, we would like to acquaint the reader with the details of some specific diagrammatic systems. At the same time, the entry will address theoretical issues, by exploring the nature of diagrammatic representation and reasoning in terms of expressive power and correctness. The case study of the second section will not only satisfy our first goal but also provide us with solid material for the more theoretical and general discussion in the third section. The fourth section presents another case study and considers it in light of the third section's general discussion. As mentioned above, the topic of diagrams has attracted much attention with important results from many different research areas. Hence, our fifth section aims to introduce various approaches to diagrammatic reasoning taken in different areas.
For further discussion, we need to clarify two related but distinct uses of the word ‘diagram’: diagram as internal mental representation and diagram as external representation. The following quotation from Chandrasekaran et al. (1995. p. xvii) succinctly sums up the distinction between internal versus external diagrammatic representations:
External diagrammatic representations . These are constructed by the agent in a medium in the external world (paper, etc), but are meant as representations by the agent.
Internal diagrams or images . These comprise the (controversial) internal representations that are posited to have some pictorial properties.
As we will see below, logicians focus on external diagrammatic systems, the imagery debate among philosophers of mind and cognitive scientists is mainly about internal diagrams, and research on the cognitive role of diagrams touches on both forms.
The dominance of sentential representation systems in the history of modern logic has obscured several important facts about diagrammatic systems. One of them is that several well-known diagrammatic systems were available as a heuristic tool before the era of modern logic. Euler circles, Venn diagrams, and Lewis Carroll's squares have been widely used for certain types of syllogistic reasoning (Euler 1768 ; Venn 1881 ; Carroll 1896 ). Another interesting, but neglected, story is that a founder of modern symbolic logic, Charles Peirce, not only revised Venn diagrams but also invented a graphical system, Existential Graphs, which has been proven to be equivalent to a predicate language (Peirce 1933 ; Roberts 1973 ; Zeman 1964 ).
These existing diagrams have inspired those researchers who have recently drawn our attention to multi-modal representation. Logicians who participate in the project have explored the subject in two distinct ways. First, their interest has focused exclusively on externally-drawn representation systems, as opposed to internal mental representations. Second, their aim has been to establish the logical status of a system, rather than to explain its heuristic power, by testing the correctness and the expressive power of selective representation systems. If a system fails to justify its soundness or if its expressive power is too limited, a logician's interest in that language will fade (Sowa 1984 ; Shin 1994 ).
In this section, we examine the historical development of Euler and Venn diagrams as a case study to illustrate the following aspects: First, this process will show us how one mathematician's simple intuition about diagramming syllogistic reasoning has gradually been developed into a formal representation system. Second, we will observe different emphases given to different stages of extension and modification of a diagrammatic system. Thirdly and relatedly, this historical development illustrates an interesting tension and trade-off between the expressive power and visual clarity of diagrammatic systems. Most importantly, the reader will witness logicians tackle the issue of whether there is any intrinsic reason that sentential systems, but not diagrammatic systems, could provide us with rigorous proofs, and their success in answering this question in the negative.
Hence, the reader will not be surprised by the following conclusion drawn by Barwise and Etchemendy, the first logicians to launch an inquiry into diagrammatic proofs in logic,
there is no principled distinction between inference formalisms that use text and those that use diagrams. One can have rigorous, logically sound (and complete) formal systems based on diagrams. (Barwise & Etchemendy 1995. 214)
This conviction was necessary for the birth of their innovative computer program Hyperproof . which adopts both first-order languages and diagrams (in a multi-modal system) to teach elementary logic courses (Barwise & Etchemendy 1994 ).
Leonhard Euler, an 18th century mathematician, adopted closed curves to illustrate syllogistic reasoning (Euler 1768 ). The four kinds of categorical sentences are represented by him as shown in Figure 1.
For the two universal statements, the system adopts spatial relations among circles in an intuitive way: If the circle labelled ‘ A ’ is included in the circle labelled ‘ B ,’ then the diagram represents the information that all A is B . If there is no overlapping part between two circles, then the diagram conveys the information that no A is B .
This representation is governed by the following convention: [2 ]
Every object x in the domain is assigned a unique location, say l ( x ), in the plane such that l ( x ) is in region R if and only if x is a member of the set that the region R represents.
The power of this representation lies in the fact that an object being a member of a set is easily conceptualized as the object falling inside the set, just as locations on the page are thought of as falling inside or outside drawn circles. The system's power also lies in the fact that no additional conventions are needed to establish the meanings of diagrams involving more than one circle: relationships holding among sets are asserted by means of the same relationships holding among the circles representing them. The representations of the two universal statements, ‘All A are B ’ and ‘No A is B ,’ illustrate this strength of the system.
Moving on to two existential statements, this clarity is not preserved. Euler justifies the diagram of “Some A is B ” saying that we can infer visually that something in A is also contained in B since part of area A is contained in area B (Euler 1768: 233). Obviously, Euler himself believed that the same kind of visual containment relation among areas can be used in this case as well as in the case of universal statements. However, Euler's belief is not correct and this representation raises a damaging ambiguity. In this diagram, not only is part of circle A contained in area B (as Euler describes), but the following are true: (i) part of circle B is contained in area A (ii) part of circle A is not contained in circle B (iii) part of circle B is not contained in circle A . That is, the third diagram could be read off as “Some B is A ,” “Some A is not B ,” and “Some B is not A ” as well as “Some A is B .” In order to avoid this ambiguity, we need to set up several more conventions. [3 ]
Euler's own examples nicely illustrate the strengths and weaknesses of his diagrammatic system.
In both examples, the reader can easily infer the conclusion, and this illustrates visually powerful features of Euler diagrams. However, when existential statements are represented, things become more complicated, as explained above. For instance:
No single diagram can represent the two premises, since the relationship between sets B and C cannot be fully specified in one single diagram. Instead, Euler suggests the following three possible cases:
Euler claims that the proposition ‘Some C is not B ’ can be read off from all these diagrams. However, it is far from being visually clear how the first two cases lead a user to reading off this proposition, since a user might read off “No C is B ” from case 1 and “All B is C ” from case 2.
Hence, the representation of existential statements not only obscures the visual clarity of Euler Circles but also raises serious interpretational problems for the system. Euler himself seemed to recognize this potential problem and introduced a new syntactic device, ‘*’ (representing non-emptiness) as an attempt to repair this flaw (1768: Letter 105).
However, a more serious drawback is found when this system fails to represent certain compatible (that is, consistent) pieces of information in a single diagram. For example, Euler's system prevents us from drawing a single diagram representing the following pairs of statements: (i) “All A are B ” and “No A is B ” (which are consistent if A is an empty set). (ii) “All A are B ” and “All B are A ” (which are consistent when A = B ). (iii) “Some A is B ” and “All A are B ”. (Suppose we drew an Euler diagram for the former proposition and try to add a new compatible piece of information, i. e. the latter, to this existing diagram.) This shortcoming is closely related to Venn's motivation for his own diagrammatic system (see Section 3.1 for other shortcomings of Euler's system).
Venn's criticism of Euler Circles is summarized in the following passage:
The weak point in this [Euler diagrams], and in all similar schemes, consists in the fact that they only illustrate in strictness the actual relation of classes to each other, rather than the imperfect knowledge of these relations which we may possess, or may wish to convey by means of the proposition. (Venn 1881. 510)
Because of its strictness, Euler's system sometimes fails in representing consistent pieces of information in a single diagram, as shown above. In addition to this expressive limitation, Euler's system also suffers other kinds of expressive limitations with respect to non-empty sets, due to topological restrictions on plane figures (see Section 3.1 ).
Venn's new system (1881 ) was to overcome these expressive limitations so that partial information can be represented. The solution was his idea of ‘primary diagrams’. A primary diagram represents all the possible set-theoretic relations between a number of sets, without making any existential commitments about them. For example, Figure 2 shows the primary diagram about sets A and B .
According to Venn's system, this diagram does not convey any specific information about the relation between these two sets. This is the major difference between Euler and Venn diagrams.
For the representation of universal statements, unlike the visually clear spatial containment relations in the case of Euler diagrams, Venn's solution is ‘to shade them [the appropriate areas] out’ (Venn 1881. 122). By using this syntactic device, we obtain diagrams for universal statements as shown in Figure 3.
Venn's choice of shading might not be absolutely arbitrary in that a shading could be interpreted as a visualization of set emptiness. However, it should be noted that a shading is a new syntactic device which Euler did not use. This revision gave flexibility to the system so that certain compatible pieces of information may be represented in a single diagram. In the following, the diagram on the left combines two pieces of information, “All A are B ” and “No A is B ,” to visually convey the information “Nothing is A .” The diagram below, representing both “All A are B ” and “All B are A ,” clearly shows that A is the same as B :
In fact, using primary diagrams also avoids some other expressivity problems (to do with spatial properties of diagram objects) discussed below, in Section 3. Surprisingly, Venn was silent about the representation of existential statements, which was another difficulty of Euler diagrams. We can only imagine that Venn might have introduced another kind of a syntactic object representing existential commitment. This is what Charles Peirce did about twenty years later.
Peirce points out that Venn's system has no way of representing the following kinds of information: existential statements, disjunctive information, probabilities, and relations. Peirce aimed to extend Venn's system in expressive power with respect to the first two kinds of propositions, i. e. existential and disjunctive statements. This extension was completed by means of the following three devices. (i) Replace Venn's shading representing emptiness with a new symbol, ‘o’. (ii) Introduce a symbol ‘x’ for existential import. (iii) For disjunctive information, introduce a linear symbol ‘-’ which connects ‘o’ and ‘x’ Símbolos.
For example, Figure 4 represents the statement, ‘All A are B or some A is B ’, which neither Euler's nor Venn's system can represent in a single diagram.
The reason that Peirce replaced Venn's shading for emptiness with the symbol ‘o’ seems to be obvious: It would not be easy to connect shadings or shadings and ‘x’s in order to represent disjunctive information. In this way, Peirce increased the expressive power of the system, but this change was not without its costs.
For example, the following diagram represents the proposition ‘ Either all A are B and some A is B . or no A is B and some B is not A ’:
Reading off this diagram requires more than reading off visual containment among circles (as in Euler diagrams) or shadings (as in Venn diagrams), but also requires extra conventions for reading combinations of the symbols ‘o,’ ‘x,’ and lines. Peirce's new conventions increased the expressive power of single diagrams, but the arbitrariness of its conventions and more confusing representations (for example, the above diagram) sacrificed the visual clarity which Euler's original system enjoys. At this point, Peirce himself confesses that ‘there is a great complexity in the expression that is essential to the meaning’ (Peirce 1933. 4.365). Thus, when Peirce's revision was completed, most of Euler's original ideas about visualization were lost, except that a geometrical object (the circle) is used to represent (possibly empty) sets.
Another important contribution Peirce made to the study of diagrams starts with the following remark:
‘Rule’ is here used in the sense in which we speak of the ‘rules’ of algebra; that is, as a permission under strictly defined conditions. (Peirce 1933. 4.361)
Peirce was probably the first person to discuss rules of transformation in a non-sentential representation system. In the same way that the rules of algebra tell us which transformations of symbols are permitted and which are not, so should the rules of diagram manipulation. Some of Pierce's six rules needed more clarification and turn out to be incomplete—a problem which Peirce himself anticipated. However, more importantly, Peirce did not have any theoretical tool—a clear distinction between syntax and semantics—to convince the reader that each rule is correct or to determine whether more rules are needed. That is, his important intuition (that there could be transformation rules for diagrams) remained to be justified.
Shin (1994 ) follows up Peirce's work in two directions. One is to improve Peirce's version of Venn diagrams, and the other is to prove the soundness and the completeness of this revised system.
Shin's work alters Peirce's modifications of Venn diagrams to achieve an increase in expressive power without such a severe loss of visual clarity. This revision is made in two stages: (i) Venn-I: retains Venn's shadings (for emptiness), Peirce's ‘x’ (for existential import) and Peirce's connecting line between ‘x’s (for disjunctive information). (ii) Venn-II: This system, which is proven to be logically equivalent to monadic predicate logic, is the same as Venn-I except that a connecting line between diagrams is newly introduced to display disjunctive information.
Returning to one of Euler's examples we will see the contrast among these different versions clearly:
Euler admits that no single Euler diagram can be drawn to represent the premises, but that three possible cases must be drawn. Venn's system is silent about existential statements. Now, Peirce's and Shin's systems represent these two premises in a single diagram as follows:
In the case of Shin's diagram, Venn's shading convention for emptiness, as opposed to Peirce's ‘o’, much more naturally leads the reader to the inference “Some C is not B ” than in the case of Peirce's diagram.
However, Venn-I cannot express disjunctive information between universal statements or between universal and existential statements. Retaining Venn-I's expressive power, Venn-II allows diagrams to be connected by a line. Peirce's confusing looking diagram above is equivalent to the following Venn-II diagram:
In addition to this revision, Shin (1994 ) presented each of these two systems as a standard formal representation system equipped with its own syntax and semantics. The syntax tells us which diagrams are acceptable, that is, which are well-formed, and which manipulations are permissible in each system. The semantics defines logical consequences among diagrams. Using these tools, it is proven that the systems are sound and complete, in the same sense that some symbolic logics are.
This approach has posed a fundamental challenge to some of the assumptions held about representation systems. Since the development of modern logic, important concepts, e. g. syntax, semantics, inference, logical consequence, validity, and completeness, have been applied to sentential representation systems only. However, none of these turned out to be intrinsic to these traditional symbolic logics only. For any representation system, whether it is sentential or diagrammatic, we can discuss two levels, a syntactic and a semantic level. What inference rules tell us is how to manipulate a given unit, whether symbolic or diagrammatic, to another. The definition of logical consequence is also free from any specific form of a representation system. The same argument goes for the soundness and the completeness proofs. When a system is proven to be sound, we should be able to adopt it in proofs. In fact, much current research explores the use of diagrams in automated theorem proving (see Barker-Plummer & Bailin 1997 ; and Jamnik et al. 1999 ).
It is interesting and important to notice that the gradual changes made from Euler Circles through to Shin's systems share one common theme: to increase both the expressive and logical power of the system so that it is sound, complete, and logically equivalent to monadic predicate logic. The main revision from Euler to Venn diagrams, introducing primary diagrams, allows us to represent partial knowledge about relations between sets. The extension from Venn to Peirce diagrams is made so that existential and disjunctive information may be represented more effectively.
Both Venn and Peirce adopted the same kind of solution in order to achieve these improvements: to introduce new syntactic objects, that is, shadings by Venn, and ‘x’s, ‘o’s, and lines by Peirce. However, on the negative side, these revised systems suffer from a loss of visual clarity, as seen above, mainly because of the introduction of more arbitrary conventions. The modifications from Peirce to Shin diagrams concentrate on restoring visual clarity, but without loss of expressive power.
Hammer and Shin take a different path from these revisions: To revive Euler's homomorphic relation between circles and sets—containment among circles represents the subset relation among sets, and non-overlapping of regions represents the disjoint relation—and at the same time, to adopt Venn's primary diagrams by default. On the other hand, this revised Euler system is not a self-sufficient tool for syllogistic reasoning, since it cannot represent existential statements. For more details of this revised system, refer to (Hammer & Shin 1998 ).
This case study raises an interesting question for further research on diagrammatic reasoning. Throughout the different developments of Euler diagrams, increasing its expressive power and enhancing its visual clarity seem to be complementary to each other. Depending on purposes, we need to give priority to one over the other. Hammer and Shin's alternative system provides a simple model for the development of other efficient non-sentential representational systems, a topic that has been receiving increasing attention in computer science and cognitive science.
While it is often possible to afford diagrams the same logical status as formulae (as argued above), there are still important differences (which can have ramifications for correctness of the system) between diagrams and traditional linear proof calculi. An important point to note about diagrams (cf. Russell 1923 ) is that spatial relations between objects in a diagram can be used to represent relations between objects in some other domain. Sequential languages (e. g. symbolic logics, natural languages), however, use only the relation of concatenation to represent relations between objects. The peculiar representational use of spatial relations in the case of diagrams is direct and intuitive, as seen in the development of Euler Diagrams above, but also has its perils—as we shall discuss. Spatial constraints, being peculiar to diagrammatic systems, can be expected to be an important source of both their strengths and weaknesses. Psychological considerations concerning human capacities for visual processing of information, and skill at qualitative spatial reasoning, also have ramifications for the effectiveness of reasoning with diagrams, but we shall not survey them here.
A particular distinguishing feature of diagrams is that they obey certain “nomic” or “intrinsic” constraints due to their use of plane surfaces as a medium of representation. The idea is that sentential languages are based on acoustic signals which are sequential in nature, and so must have a compensatingly complex syntax in order to express certain relationships—whereas diagrams, being two-dimensional, are able to display some relationships without the intervention of a complex syntax (Stenning & Lemon 2001 ). Diagrams exploit this possibility—the use of spatial relations to represent other relations. The question is; how well can spatial relations and objects represent other (possibly more abstract) objects and relations?
Logical reasoning with diagrams is often carried out in virtue of their depiction of all possible models of a situation, up to topological equivalence of the diagrams (this, of course, depends on the particular diagrammatic system in use). A single diagram is often an abstraction over a class of situations, and once a suitable diagram has been constructed, inferences can simply be read off the representation without any further manipulation. In some diagrammatic systems (e. g. Euler Circles) inference is carried out by constructing diagrams correctly and reading information off them. The complexity of using inference rules in a symbolic logic is, in these cases, replaced by the problem of drawing particular diagrams correctly. [4 ] For instance, an Euler Circles diagram ventures to capture relationships between sets using topological relationships between plane regions in such a way that that it depicts all the possible ways that a certain collection of set-theoretic statements could be true. This has two important consequences: (1) if a certain diagram cannot be drawn then the described situation must be impossible (termed “self-consistency”), and (2) if a certain relationship between diagram objects must be drawn, then the corresponding relation can be inferred as logically valid. (See the numerous examples in Section 2 .) This phenomenon is often termed a “free-ride” (Barwise & Shimojima 1995 ). This style of diagrammatic reasoning is thus dependent on a particular representational use of diagrams—that they represent classes of models. If a particular class of models cannot be represented by a diagrammatic system, then those cases will not be taken into account in inferences using the system, and incorrect inferences might be drawn. This fact makes the representational adequacy of diagrammatic systems, restricted by their spatial nature, of paramount importance, as we shall now explore.
The representational use of the spatial relations in the plane constrains diagrammatic representation, and therefore reasoning with diagrams, in certain important ways. In particular, there are topological and geometrical (let us lump them together as “spatial”) properties of diagrammatic objects and relations which limit the expressive power of diagrammatic systems. For instance, in graph theory it is known that some simple structures cannot be drawn in the plane. For example, the graph K 5 is the graph consisting of 5 nodes, each joined to the other by an arc. This graph is non-planar, meaning that it cannot be drawn without at least two of the arcs crossing. This is just the sort of constraint on possible diagrams that limits the expressive power of diagrammatic systems. Now, since diagrammatic reasoning can occur by enumeration of all possible models of a situation, this representational inadequacy (a type of incompleteness) renders many diagrammatic systems incorrect if they are used for logical reasoning (e. g. see the critique of Englebretsen 1992 in Lemon & Pratt 1998 ).
Perhaps the most simple example of this is due to Lemon and Pratt [5 ] (see e. g. 1997 ). Consider Euler Circles—where convex regions of the plane represent sets, and overlap of the regions represents non-empty intersection of the corresponding sets. A result of convex topology known as Helly's Theorem states (for the 2 dimensional case) that if every triple of 4 convex regions has a non-empty intersection then all four regions must have a non-empty intersection.
To understand the ramifications of this, consider the following problem:
Note that, in terms of set-theory, only trivial consequences follow from these premises. However, an Euler diagram of the premises, such as Figure 5, leads to the incorrect conclusion that A ∩ B ∩ C ∩ D ≠ ∅ (due to the quadruple overlap region in the centre of the diagram):
Figure 5: An Euler's Circles representation exhibiting Helly's Theorem
In other words, a user of Euler Circles is forced [6 ] to represent a relationship between the sets which is not logically necessary. This means both that there are logically possible situations which the system cannot represent, and that a user would make incorrect inferences if they relied on the system for reasoning. More generally, this type of result can be generated for many different types of diagrammatic system, depending on the particular spatial relations and objects which they use in representation—a research programme which is ongoing.
For example, using non-convex regions (e. g. “blobs” instead of circles) leads to a similar problem, only that non-planar graphs are involved instead of Helly's Theorem. A similar result concerns linear diagrams for syllogisms Englebretsen 1992. where lines are used to represent sets, points represent individuals, point-line intersection represents set-membership, and intersection of lines represents set-intersection. Again, planarity constraints restrict the expressive power of the system and lead to incorrect inferences.
Atsushi Shimojima's “constraint hypothesis” perhaps best sums all this up:
Representations are objects in the world, and as such they obey certain structural constraints that govern their possible formation. The variance in inferential potential of different modes of representation is largely attributable to different ways in which these structural constraints on representations match with the constraints on targets of representation (Shimojima 1996a. 1999 ).
As discussed above, much of the interest in diagrams has been generated by the claim that they are somehow more “effective” than traditional logical representations for certain types of task. Certainly, for example, a map is a greater aid to navigation than a verbal description of a landscape. However, while there are certainly psychological advantages to be gained through the use of diagrams, they are (as in the case of Euler Circles) often ineffective as representations of abstract objects and relationships. Once a purely intuitive notion, non-psychological claims about “efficacy” of diagrammatic systems can be examined in terms of standard formal properties of languages (Lemon et al. 1999 ). In particular, many diagrammatic systems are self-consistent, incorrect, and incomplete, and complexity of inference with the diagrams is NP-hard. By way of contrast, most sentential logics, while able to express inconsistencies, are complete and correct [7 ] .
On the other hand, not being able to represent contradictions could provide us with interesting insights about the nature of diagrammatic representation. If a central goal of a language is to represent the world or a state of affairs, then representing contradictions or tautologies is called into question. Neither contradictions nor tautologies are part of the world. How can we draw a picture, or take a picture, of the contradiction that “it is raining and it is not raining”? How about the picture of the disjunctive information “it is either raining or not raining”? Now, we seem to be much closer to Wittgenstein's classic picture theory of language (Wittgenstein 1921 ).
Mathematicians have used, and continue to use, diagrams extensively. The communication of mathematical concepts and proofs—in textbooks, on blackboards—is not uniformly sentential. Figures and pictures are common. In line with the prevailing conception of logic as essentially sentential, however, they are not usually thought to play a role in rigorous mathematical reasoning. Their use is taken to be limited to enhancing comprehension of a proof. They are not standardly believed to form any part of the proof itself.
The attitude is well illustrated by the standard assessment of Euclid's methodology in the Elements . In no mathematical subject are diagrams more prominent than in the elementary geometry Euclid develops in the text. The proofs of the subject seem to be in some sense about the diagrams of triangles and circles that appear with them. This is especially the case with the geometric proofs of the Elements . Diagrams for Euclid are not merely illustrative. Some of his inference steps depend on an appropriately constructed diagram. On the standard story, these steps indicate gaps in Euclid's proofs. They show how Euclid did not fully carry out the project of developing geometry axiomatically.
Ken Manders set out to explode this story with his seminal work “The Euclidean diagram” (2008 [1995] ). His analysis of Euclid's diagrammatic proof method reveals that Euclid employs diagrams in a controlled, systematic way. It thus calls into question the common, negative assessment of the rigor of the Elements . Moreover, the specifics of Manders' analysis suggest that the proofs of the text can be understood to adhere to a formal diagrammatic logic. This was subsequently confirmed by the development of formal diagrammatic systems designed to characterize such a logic. The first of these was FG (presented in Miller 2007 ), followed by the system Eu (Mumma 2010 ).
This section is devoted to explicating Manders' analysis and the formal systems that have emerged from it. After a brief survey of how Euclid's diagrams have been viewed through the centuries, Manders' picture of their role in geometric proofs is presented. A description of how the systems FG and Eu render this picture in formal terms and characterize a logic of Euclidean diagrams then follows.
The elementary geometry of the Elements was taken to be foundational to mathematics from its inception in ancient Greece until the 19 th century. Accordingly, philosophers concerned with the nature of mathematics found themselves obliged to comment on the diagrammatic proofs of the text. A central issue, if not the central issue, was the generality problem . The diagram that appears with a Euclidean proof provides a single instantiation of the type of geometric configurations the proof is about. Yet properties seen to hold in the diagram are taken to hold of all the configurations of the given type. What justifies this jump from the particular to the general?
As an illustration, consider the proof for proposition 16 of book I of the Elements .
The proposition is:
In any triangle, if one of the sides be produced, the exterior angle is greater than either of the interior and opposite angles.
Euclid's proof is:
Let ABC be a triangle, and let one side of it BC be produced to D;
I say that the angle ACD is greater than the interior and opposite angle BAC.
Let AC be bisected at E [I, 10], and let BE be joined and produced in a straight line to F;
let EF be made equal to BE [I,3], and let FC be joined.
Then, since AE is equal to EC, and BE equal to EF, the two sides AE, EB are equal to the two sides CE, EF respectively; and the angle AEB is equal to the angle FEC [I, 15].
Therefore the base AB is equal to the base FC, and the triangle ABE is equal to the triangle CFE [I,4];therefore the angle BAE is equal to the angle ECF (which is also the angle ACF);
But the angle ACD is greater than the angle ACF;
Therefore the angle ACD is greater than BAE.
The proof seems to refer to the parts of the diagram given with the proof. Nevertheless the proof does not purport to establish something just about the triangle in the diagram, but something about all triangles. The diagram thus serves to represent, in some way, all triangles.
The role of diagrams as representations is remarked upon by Aristotle in book A, chapter 10 of the Posterior Analytics :
The geometer bases no conclusion on the particular line he has drawn being that which he has described, but [refers to] what is illustrated by the figures. (The translation is by T. Heath, found in Euclid 1956: vol. I, p.119)
Aristotle does not in passage confront the question of how the geometer uses diagrams to reason about what they illustrate. A few centuries later Proclus does in his commentary on the Elements . Proclus asserts that passing from a particular instance to a universal conclusion is justified because geometers
& Hellip; use the objects set out in the diagram not as these particular figures, but as figures resembling others of the same sort. It is not as having such-and-such a size that the angle before me is bisected, but as being rectilinear and nothing more…Suppose the given angle is a right angle…if I make no use of its rightness and consider only its rectilinear character, the proposition will apply equally to all angles with rectilinear sides. ( A Commentary on the First Book of Euclid's Elements . Morrow 1970. 207))
The place of diagrams in geometry remained an issue into the early modern period. Major philosophical figures in the 17 th and 18 th centuries advanced positions on it. Anticipating the predominate modern view, Leibniz asserts:
…it is not the figures which furnish the proof with geometers, though the style of the exposition may make you think so. The force of the demonstration is independent of the figure drawn, which is drawn only to facilitate the knowledge of our meaning, and to fix the attention; it is the universal propositions, i. e. the definitions, axioms, and theorems already demonstrated, which make the reasoning, and which would sustain it though the figure were not there. (1704 New Essays . 403)
In the introduction to his Principles of Human Knowledge (1710, section 16), Berkeley reiterates 13 centuries later Proclus's take on the generality problem. Though one always has a particular triangle ‘in view’ when working through a demonstration about triangles, there is ‘not the least mention’ of the particular details of the particular triangle in the demonstration. The demonstration thus proves, according to Berkeley, a general proposition about triangles.
The most developed, and predictably most complex and difficult, account of geometric diagrams in the modern period can be found in Kant. Kant saw something of deep epistemological significance in the geometer's use of a particular diagram to reason about a geometric concept. In reasoning in this way, the geometer
considers the concept in concreto . although non-empirically, but rather solely as one it has exhibited a priori . i. e. constructed, and in which that which follows from the general conditions of the construction must also generally of the object of the constructed concept. (1781, Critique of Pure Reason . A716/B744.)
For contrasting views of what passages like these reveal about where diagrams fit in Kant's philosophy of geometry, see Shabel 2003 and Friedman 2012.
In the 19 th century geometry and mathematics as a whole underwent a revolution. Concepts far more abstract and general than those found in the Elements (e. g. non-Euclidean geometries, sets) emerged. Not only did questions about the nature of Euclid's diagrammatic method lose their urgency, the method came to be understood as mathematically flawed. The latter view found its most precise expression in the groundbreaking work of Moritz Pasch, who provided the first modern axiomatization of elementary geometry in Pasch (1882 ). In it, Pasch showed how the subject could be developed without reference to diagrams or even to the geometric concepts diagrams instantiate. The methodological norm guiding the work is nicely expressed in the following often-quoted passage:
In fact, if geometry is genuinely deductive, the process of deducing must be in all respects independent of the sense of the geometrical concepts, just as it must be independent of figures; only the relations set out between the geometrical concepts used in the propositions (respectively definitions) concerned ought to be taken into account. (Pasch 1882. 98; emphasis in original. The translation here is from Schlimm 2010 )
The norm has since entrenched itself both in mathematics and in philosophical discussions of mathematics. It is its entrenchment in the latter that Manders opposes in Manders 2008 [1995]. In the account he develops of ancient geometry, the necessity of consulting a diagram in a proof does not indicate a deductive gap. Rather, diagram and text together form a rigorous and deductive mathematical proof.
To explain the division of labor between text and diagram in ancient geometry, Manders distinguishes between the exact and co-exact properties of geometric diagrams in Manders 2008 [1995]. Underlying the distinction is a notion of variation. The co-exact conditions realized by a diagram ‘are those conditions which are unaffected by some range of every continuous variation of a specified diagram.’ Exact conditions, in contrast, are affected once the diagram is subject to the smallest variation. Roughly, a diagram's co-exact properties comprise the ways its parts define a finite set of planar regions, and the containment relations between these regions. A prominent exact relation is the equality of two magnitudes within a diagram. For example, only the slightest change to the position of CF in the diagram for proposition 16 is required to make the angles BAE and ECF unequal.
Manders' key observation is that Euclid's diagrams contribute to proofs only through their co-exact properties. Euclid never infers an exact property from a diagram unless it follows directly from a co-exact property. Relations between magnitudes which are not exhibited as a containment are either assumed from the outset or are proved via a chain of inferences in the text. This can easily be confirmed with the proof of proposition 16. The one inference that relies on the diagram is the second to last inference of the proof. The inference, specifically, is that angle ACD is greater than angle ACF. This, crucially, is based on seeing from the diagram that angle ACD contains angle ACF. There are many other relations asserted to hold in the proof. Though the diagram instantiates them, they are explicitly justified in the text. And with these relations, the relata are spatially separated magnitudes.
It is not difficult to hypothesize why Euclid would have restricted himself in such a way. It is only in their capacity to represent co-exact properties and relations that diagrams seem capable of functioning effectively as symbols of proof. The exact properties of diagrams are too refined to be easily reproducible and to support determinate judgments. As Manders puts it
The practice has resources to limit the risk of disagreement on (explicit) co-exact attributions from a diagram; but it lacks such resources for exact attributions, and therefore could not allow them without dissolving into a disarray of irresolvably conflicting judgements. (Manders 2008 [1995]. 91–92)
Manders' insights lead naturally to the idea that Euclid's arguments could be formalized in a manner similar to the way Venn diagrams have been formalized in Shin 1994. The co-exact information carried by Euclid's diagrams is discrete. When a diagram is consulted for this information, what matters about it is how its lines and circles partition a bounded planar region into a finite set of sub-regions. This opens the door to conceptualizing Euclid's diagrams as part of the syntax of Euclid's proof method.
Realizing this conception in a formal system of proof amounts, as in Shin 1994. to specifying the syntax and semantics of diagrams. On the syntactic side, this means defining Euclid's diagrams as formal objects precisely, and giving rules whereby diagrams as formal object figure in derivations of Euclid's propositions. On the semantic side, this means specifying how derivable expressions are to be interpreted geometrically, or in other words how exactly are they to be understood as representing Euclid's propositions.
The semantic situation with Euclid's diagrams is thus different from that with Venn's. Venn diagrams are used to prove logical results. The inferences made with them are topic neutral. Euclid's diagrams on the other hand are used to prove geometrical results. The inferences made with them are topic specific. In particular, though the objects of plane Euclidean geometry are abstract (e. g. geometric lines are breadthless), they are still spatial. Consequently, issues surrounding the spatiality of diagrams and representational scope do not arise with Euclid's diagrams as they do, for instance, with Euler diagrams. In the case of geometry, in fact, the spatiality of diagrams counts in their favor. Spatial constraints on what is possible with geometric configurations are also operative with spatial Euclidean diagrams.
Nevertheless, as recognized in the philosophical commentary on Euclid's geometry from antiquity onward, there are with Euclidean diagrams issues of representational scope to contend with. What is the justification for treating properties of a single geometric diagram as representative of all the configurations in the range of a proof? How can a single diagram prove a general result? Manders' exact/co-exact distinction provides the basis for a partial answer. The co-exact properties of a diagram can be shared by all geometric configurations in the range of a proof, and so in such cases one is justified in reading off co-exact properties from the diagram. In a proof about triangles for instance, variation among the configurations in the range of the proof is variation of exact properties—e. g. the measure of the triangles' angles, the ratios between their sides. They all share the same co-exact properties—i. e. they all consists of three bounded linear regions which together define an area.
This is not a full answer because Euclid's proofs typically involve constructions on an initial configuration type. With the proof of proposition 16, for example, a construction on a triangle with one side extended is specified. In such cases, a diagram may adequately represent the co-exact properties of an initial configuration. But the result of applying a proof's construction to the diagram cannot be assumed to represent the co-exact properties of all configurations resulting from the construction. One does not need to consider complex geometric situations to see this. Suppose for instance the initial configuration type of a proof is triangle . Then the diagram
serves to represent the co-exact properties of this type. Suppose further that the first step of a proof's construction is to drop the perpendicular from a vertex of the triangle to the line containing the side opposite the vertex. Then the result of carrying this step out on the diagram
ceases to be representative. That the perpendicular falls within the triangle in the diagram is a co-exact feature of it. But there are triangles with exact properties different from the initial diagram where applying the construction step results in a perpendicular lying outside the triangle. For example, with the triangle
the result of applying the construction step is
And so, carrying out a Euclidean construction on a representative diagram can result in an unrepresentative diagram. A central task of formalizing Euclid's diagrammatic proofs is accounting for this—i. e. providing with its rules a method for distinguishing general co-exact features from non-general ones in diagrammatic representations of constructions. The systems FG and Eu take two different approaches to this task.
Employing the method of FG . one must produce with a diagram every case that could result from the construction. A general co-exact relation of the construction is then one that appears in every case. FG 's demand that every case be produced would, of course, be of a little interest if it did not also provide a method for producing them all. The method FG provides depends on the fact that lines and circles in the system's diagrams are defined in purely topological terms. Their resulting flexibility makes it possible to formulate and implement in a computer program a general method for generating cases. [8 ]
The lines and circles of Eu diagrams are not similarly flexible. Accordingly, it cannot resolve the generality problem via case-analysis as FG does. The central idea of its approach is to allow diagrams to hold partial information from the outset. Within an Eu derivation, the diagram produced by a proof's construction has an initial content consisting in all the qualitative relations of the proof's initial diagram. The qualitative relations concerning objects added by the construction cannot be read off the diagram immediately. Those that can be read off the diagram must be derived by the system's rules. [9 ]
The differences between the FG and Eu approaches to formalizing Euclid's constructions can be understood as representing different general conceptions of the role of diagrams in mathematics. FG embodies a conception where diagrams concretely realize a range of mathematical possibilities. They support mathematical inference by furnishing direct access to these possibilities. Eu in contrast embodies a conception where diagrams serve to represent in a single symbol the various components of a complex mathematical situation. They support mathematical inference by allowing the mathematical reasoner to consider all these components in one place, and to focus on those components relevant to a proof.
Despite the formal limitations of some diagrammatic systems noted above, many different systems are currently used in a wide variety of contexts; logic teaching, automated reasoning, specifying computer programs, reasoning about situations in physics, graphical user interfaces to computer programs, and so on. In general, it is not yet known how effective (in the above sense) many of these diagrammatic systems are. We now give a brief survey of other diagrammatic systems and their uses, as well as the more philosophical issues raised by the debate over the status of diagrammatic reasoning.
It is worth noting that many mathematicians and philosophers proposed diagrammatic systems, often with a didactic motivation. Some systems, like Lewis Carroll's in “The Game of Logic” (1896 ) are variants on the proposals of Euler and Venn. Others, like Frege (1879 ), used lines rather than plane regions. (For a description of Frege's notation, see the section on Complex Statements and Generality in the entry on Gottlob Frege. See also Englebretsen 1992 .) Carroll's system supersedes Venn's in that the complements of sets are explicitly represented as regions of the diagram, rather than being left as the background region against which the circles appear. This means that Carroll's system is able to draw inferences about relations between complements of properties, at the expense of representing some properties as disjoint (i. e. non-connected) regions. This shift closely mirrors the shift in logic from subject-predicate argumentation to a function-argument representation (Stenning 1999 ).
Peirce, a founder of modern quantified logic, also invented a graphical system, called Existential Graphs, which is logically equivalent to predicate logic. Along with Don Robert's pioneering work on Existential Graphs and John Sowa's creative application of Peirce's graphs, recently a group of diagrammatic researchers provided more diverse approaches to Existential Graphs in a broader theoretical context (Shin 2003 ).
On a more practical theme, AI researchers, one of whose main concerns is the heuristic power of representation systems in addition to their expressive power, have been debating about different forms of representation for decades (Sloman 1971. 1985. 1995 ). Hence, they have welcomed discussions of the distinct role of visual reasoning and have recently hosted interdisciplinary symposiums on diagrammatic reasoning at AI conferences. [10 ] At the same time, realizing that human beings adopt different representation forms depending on the kinds of problems they face, some AI researchers and design theorists have practiced domain-specific approaches to bringing in problem-tailored representation forms. [11 ]
For instance, Harel (1988 ) invented higraphs to represent system specifications in computer science. This idea has been taken up in industrial applications (e. g. UML, in Booch et al. 1998 ). Barker-Plummer & Bailin (1997 ) present a case study in developing computers which can carry out the kind of analogical reasoning that humans perform when proving certain mathematical theorems. More recently, an interesting result has been presented by Mateja Jamnik of Alan Bundy's Mathematical Reasoning Group at Edinburgh (Jamnik 2001 ). Jamnik shows how a semi-automatic formal proof system can perform some of the perceptual inferences which humans find so natural. For instance, that the sum of the first n odd natural numbers is n squared is easily seen by decomposing an n × n grid into “ells” (Jamnik et al. 1999 ).
The Visual Modeling Group at the University of Brighton has been carrying out interesting projects both in developing diagrammatic systems and in applying visual tools in software development, see the link in the Other Internet Resources section .
It should also be mentioned that scientists such as chemists and physicists also use diagrams in order to perform certain computations. Feynman diagrams, for example, are used to perform calculations in sub-atomic physics. In Knot Theory (which has applications in physics, Kauffman 1991 ) the three Reidemeister Moves are diagrammatic operations which make up a complete calculus for proving knots equivalent.
Do our mental representations have diagram-like or picture-like entities as components? This question has a long history both in philosophy and in psychology, independently of each other. More recently, however, some philosophers have participated in this “imagery debate”, one of the most time-honored controversies in psychology, and some cognitive psychologists find certain epistemological theories in philosophy useful to support their views on the issue.
The nature of mental representation has been one of the perennial topics in philosophy, and we can easily trace back philosophical discussions on images and mental representation to ancient times. [12 ] The writings of Hobbes, Locke, Berkeley, and Hume concern themselves in large part with mental discourse, the meaning of words, mental images, particular ideas, abstract ideas, impressions, and so on. Descartes' well-known distinction between imagining and conceiving something has generated much discussion about the unique role of visual images in mental representations. The development of cognitive science in the 20th century naturally has brought certain group of philosophers and psychologists closer and we find a number of authors whose works easily belong to both disciplines (Block 1983 ; Dennett 1981 ; Fodor 1981 ).
Imagery based on introspection was the main focus in the early development of psychology until the behavioristic approach became predominant in the discipline. During the era of behaviorism, anything related to mental inspection, including images, was excluded from any serious research agenda. Finally when the topic of mental images made a comeback in psychology in 1960s, researchers adopted a more humble agenda for mental imagery than before: Not all mental representations involve imagery, and imagery is one of many ways of manipulating information in the mind. Also, thanks to the influence of behaviorism, it is acknowledged that introspection is not enough to explore imagery, but a claim about mental imagery needs to be confirmable by experiments in order to show that we successfully externalize mental events. That is, if what a certain mental introspection tells us is genuine, then there would be observable external consequences of that mental state.
Thus the contemporary imagery debate among cognitive scientists is about the claim that picture-like images exist as mental representations and about how we interpret certain experiments. [13 ]
Kosslyn (1980. 1994 ) and other pictorialists (Shepard & Metzler 1971 ) present experimental data to support their position that some of our mental images are more like pictures than a linear form of language (for example, natural languages or artificial symbolic languages) in some important aspects, even though not all visual mental images and pictures are of exactly the same kind. By contrast, Pylyshyn (1981 ) and other descriptionalists (Dennett 1981 ) raise questions about the picture-like status of mental images and argue that mental images are formed out of structured descriptions. To them, mental images represent in the manner of language rather than pictures and, hence, there are no picture-like visual mental images.
Both sides of the debate sometimes used a philosophical theory as a supporting factor. For example, pictorialists in the imagery debate found the modern sense-datum theory in philosophy quite close to their point of view. By the same token, the critics of the sense-datum theory argued that the mistaken pictorial view of mental images arises mainly from our confusion about ordinary language and claimed that mental images are epiphenomena.
Without being heavily involved in the imagery debate, some researchers have focused on a distinct role that diagrams or pictures—as opposed to traditional sentential forms—play in our cognitive activities. Based on the conjectures that humans adopt diagrammatic or spatial internal mental representations in their reasoning about concrete or abstract situations (see Howell 1976 ; Sober 1976 ), some cognitive scientists have concentrated on the functions of images or diagrams in our various cognitive activities, for example, memory, imagination, perception, navigation, inference, problem-solving, and so on. Here, the distinct nature of “visual information,” which is obtained either through internal mental images or through externally drawn diagrams, has become a major topic of research. Even though most of these works assume that there are mental images (that is, they accept the pictorialists' claim), strictly speaking they do not have to commit themselves to the view that these images exist as basic units in our cognition. Descriptionalists do not have to discard discussions of the functions of images, but only need to add that these images are not primitive units stored in our memory, but formed out of structured descriptions more like the sentences of a language (see Pylyshyn 1981 ).
A search for the distinct role of diagrams has led researchers to explore the differences among different forms of external or internal representations, and mainly between diagrammatic and sentential representations. Many important results have been produced in cognitive science. Starting from Larkin and Simon's classic case study (1987 ) to illustrate a difference between informational and computational equivalence among representation systems, Lindsay's work locates where this computational difference lies, which he calls a ‘non-deductive’ method. As briefly pointed out above, this inference process is called ‘free ride’ by Barwise and Shimojiima (1995 ), i. e. the kind of an inference in which the conclusion seems to be read off automatically from the representation of premises. In Gurr, Lee, and Stenning (1998 ) and Stenning and Lemon (2001 ), there is an explanation of the uniqueness of diagrammatic inference in terms of a degree of ‘directness’ of interpretation, and it is argued that this property is relative, and hence that “some rides are cheaper than others”. Having the role of graphs in mind, Wang and Lee (1993 ) present a formal framework as a guideline for correct visual languages. At this point, we are very close to applied aspects of research in multi-modal reasoning—design theory and AI research—by providing these disciplines with computational support for visual reasoning.
Related to the issue of imagistic mental representation is the examination of the semantics of various diagrammatic systems and what they can teach us about the nature of languages in general (e. g. Goodman 1968 ). For instance, Robert Cummins (1996 ), amongst others, argues that too little attention has been given to diagrammatic representations and that focus on a notion of “structural representation” more akin to diagrammatic representation can help to explicate the nature of representation itself. We believe that the considerations presented above give us some empirical handle on this type of claim at least—depending on the imagistic objects and relations used, patterns of incorrect inference should be predictable and detectable. An important, if little-known, article on this theme is Malinas 1991. Here Malinas explores the concepts of pictorial representation and “truth in” a picture via the notion of resemblance, and considers various semantic puzzles about pictorial representation. He develops Peacocke's “Central Thesis” of depiction (Peacocke 1987 ), where experienced similarities between properties of pictorial objects and their referents in the visual field give rise to the relation of depiction. He goes on to provide a formal semantics for pictures which is “analogous to a semantics for an ideal language”.
We began by motivating the philosophical interest of diagrams, by way of their role in human reasoning and their relation to the study of language in general, and multi-modal information processing. We then explained the trade-off between expressive power and visual clarity of diagrammatic systems, by examining the historical development of diagram systems from Euler and Venn, through Peirce's work, to recent work by Shin and Hammer. It was argued that diagrammatic systems can be afforded the same logical status as traditional linear proof calculi. We then explained some of the potential pitfalls of diagrammatic representation and reasoning, by examining spatial constraints on diagrammatic systems and how they can affect correctness and expressive power. We closed by surveying other diagrams systems, the interest in diagrams generated in computer science and cognitive science, and gave an introduction to the imagery debate in the philosophy of mind.
Allwein, G. and J. Barwise (eds.), 1996, Logical Reasoning with Diagrams . Oxford: Oxford University Press.
Avigad, J. with E. Dean and J. Mumma, 2009, “A formal system for Euclid's Elements”, Review of Symbolic Logic . 2: 700–768.
Barker-Plummer, D. and S. Bailin. 1997, “The Role of Diagrams in Mathematical Proofs”, Machine GRAPHICS and VISION . 6(1): 25–56. (Special Issue on Diagrammatic Representation and Reasoning).
Barker-Plummer, D. D. Beaver, J. van Benthem, and P. Scotto di Luzio. 2002, Words, Proofs, and Diagrams . Stanford: CSLI Publications.
Barwise, J.. 1993, “Heterogeneous reasoning”, in G. Mineau, B. Moulin, and J. Sowa, (eds), ICCS 1993: Conceptual Graphs for Knowledge Representation . volume 699 of Lecture Notes in Artificial Intelligence . pages 64–74, Berlin: Springer Verlag.
Barwise, J. and J. Etchemendy. 1989, “Information, Infons, and Inference”, in Cooper, Mukai, and Perry, (eds), Situation Theory and its Applications . volume 1, Stanford: CSLI Publications.
–––. 1991, “Visual Information and Valid Reasoning”, in Zimmerman and Cunningham, (eds), Visualization in Teaching and Learning Mathematics . pages 9–24. Washington: Mathematical Association of America.
–––. 1993, The Language of First-Order Logic . Stanford: CSLI Publications.
–––. 1994, Hyperproof . Stanford: CSLI Publications.
–––. 1995, “Heterogeneous Logic”, in J. Glasgow, N. Hari Narayanan, and B. Chandrasekaran, (eds), Diagrammatic Reasoning: Cognitive and Computational Perspectives . pages 209–232. Cambridge, MA: AAAI Press/The MIT Press.
Barwise, J. and A. Shimojima. 1995, “Surrogate Reasoning”, Cognitive Studies: Bulletin of Japanese Cognitive Science Society . 4(2): 7–27.
Berkeley, G. 1710, Principles of human knowledge . in David Armstrong (ed.), Berkeley's Philosophical Writings . London: Macmillian, 1965.
Block, N.. (ed.), 1981, Imagery . Cambridge, MA: MIT Press.
–––. 1983, “Mental pictures and cognitive science”, The Philosophical Review . 92: 499–541
Booch, G. J. Rumbaugh, and I. Jacobson. 1999, The Unified Modeling Language Reference Manual . Reading, Mass. Addison-Wesley.
Carroll, L.. 1896, Symbolic Logic . New York: Dover.
Chandrasekaran, B. J. Glasgow, and N. Hari Narayanan. (eds.), 1995, Diagrammatic Reasoning: Cognitive and Computational Perspectives . Cambridge, MA: AAAI Press/The MIT Press.
Cummins, R.. 1996, Representations, Targets, and Attitudes . Cambridge, MA: MIT Press.
Dennett, D.. 1981, “The nature of images and the introspective trap”, in Block 1981. pp. 87–107.
Englebretsen, G., 1992, “Linear Diagrams for Syllogisms (with Relationals)”, Notre Dame Journal of Formal Logic . 33(1): 37–69.
Euclid, The Thirteen Books of the Elements (second edition, Vols. I–III), New York, NY: Dover Publications, 1956. Translated with introduction and commentary by Sir Thomas L. Heath, from the text of Heiberg.
Euler, L.. 1768, Lettres à une Princesse d'Allemagne . St. Petersburg; l'Academie Imperiale des Sciences.
Fodor, J.. 1981, “Imagistic representation”, in Block 1981. pp. 63–86.
Frege, G.. 1879, Begriffsschrift: eine der arithmetischen nachgebildete Formelsprache des reinen Denkens . Halle am See: Louis Nebert
Friedman, M.. 2012, “Kant on geometry and spatial intuition”, Synthese, 186: 231–255.
Gardner, M.. 1958, Logic Machines and Diagrams . Sussex: Harvester Press.
Goodman, N.. 1968, Languages of Art: an approach to a theory of symbols . London: Oxford University Press.
Greaves, M. 2002, The Philosophical Status of Diagrams . Stanford: CSLI Publications.
Grigni, M. D. Papadias, and C. Papadimitriou. 1995, “Topological Inference”, in International Joint Conference on Artificial Intelligence (IJCAI ‘95) . pages 901–907, Cambridge, MA: AAAI Press.
Gurr, C. J. Lee, and K. Stenning. 1998, “Theories of diagrammatic reasoning: Distinguishing component problems”, Minds and Machines . 8: 533–557.
Hammer, E.. 1995a, “Reasoning with Sentences and Diagrams”, Notre Dame Journal of Formal Logic . 35(1): 73–87.
Hammer, E. and S. Shin. 1998, “Euler's Visual Logic”, History and Philosophy of Logic . 19: 1–29.
Harel, D.. 1988, “On Visual Formalisms”, Communications of the ACM . 31(5): 514–530.
Howell, R.. 1976, “Ordinary Pictures, Mental Representations, and Logical Forms”, Synthese . 33: 149–174.
Jamnik, M.. 2001, Mathematical Reasoning with Diagrams . Stanford: CSLI Publications.
Jamnik, M. A. Bundy, and I. Green. 1999, “On Automating Diagrammatic Proofs of Arithmentic Arguments”, Journal of Logic, Language, and Information . 8(3): 297–321.
Kant, I. 1781, Critique of Pure Reason . translated and edited by P. Guyer and A. Wood, Cambridge: Cambridge University Press, 1998.
Kauffman, L. 1991, Knots and Physics . Singapore: World Scientific.
Kosslyn, S.. 1980, Image and Mind . Cambridge, MA: Harvard University Press.
–––. 1994, Image and Brain: the resolution of the imagery debate . Cambridge, MA: MIT Press.
Lambert, J. H.. 1764, Neues Organon . Berlin: Akademie Verlag, 1990.
Larkin, J. and H. Simon. 1987, “Why a Diagram is (Sometimes) Worth 10,000 Words”, Cognitive Science . 11: 65–99.
Leibniz, G.. 1704, New Essays Concerning Human Understanding . LaSalle: Open Court Publishing, 1949.
Lemon, O.. 2002, “Comparing the Efficacy of Visual Languages”, in Barker-Plummer et al. (eds.), 2002. pp. 47–69.
Lemon, O. M. de Rijke, and A. Shimojima. 1999, “Efficacy of Diagrammatic Reasoning” (Editorial), Journal of Logic, Language, and Information . 8(3): 265–271.
Lemon, O. and I. Pratt. 1997, “Spatial Logic and the Complexity of Diagrammatic Reasoning,” Machine Graphics and Vision . 6(1): 89–108, 1997. (Special Issue on Diagrammatic Representation and Reasoning).
–––. 1998, “On the insufficiency of linear diagrams for syllogisms”, Notre Dame Journal of Formal Logic . 39(4): 573–580.
Malinas, G.. 1991, “A Semantics for Pictures”, Canadian Journal of Philosophy . 21(3): 275–298.
Manders, K.. 2008 [1995], “The Euclidean diagram”, in Philosophy of Mathematical Practice . P. Mancosu (ed.), Oxford: Clarendon Press, 2008, pp. 112–183. (First circulated as a manuscript in 1995.)
Miller, Nathaniel. 2007, Euclid and His Twentieth Century Rivals: Diagrams in the Logic of Euclidean Geometry . (CSLI Studies in the Theory and Applications of Diagrams), Stanford: CSLI Publications.
–––, 2006, “Computational complexity of diagram satisfaction in Euclidean geometry”, Journal of Complexity . 22: 250–74.
Morrow, G.. 1970, Proclus: A commentary on the first book of Euclid's Elements . Princeton: Princeton University Press, 1970.
Mumma, J.. 2010, “Proofs, Pictures and Euclid”, Synthese . 175(2): 255–287.
Narayanan, N.. 1993, “Taking issue/forum: The imagery debate revisited”, Computational Intelligence . 9(4): 303–435.
Pasch, M.. 1882, Vorlesungen über neuere Geometrie . Teubner: Leipzig.
Peacocke, C.. 1987, “Depiction”, The Philosophical Review . 96: 383–410
Peirce, C. S.. 1933, Collected Papers . Cambridge, MA: Harvard University Press.
Pylyshyn, Z.. 1981, “Imagery and Artificial Intelligence”, in N. Block, (ed.), Readings in Philosophy of Psychology . volume 2, pages 170 –196. Cambridge, MA: Harvard University Press.
Roberts, D.. 1973, The Existential Graphs of Charles S. Peirce . The Hague: Mouton.
Russell, B.. 1923, “Vagueness”, in J. Slater, (ed.), Essays on Language, Mind, and Matter: 1919–26 (The Collected Papers of Bertrand Russell) . pages 145–154. London: Unwin Hyman.
Schlimm, D.. 2010, “Pasch's philosophy of mathematics”, Review of Symbolic Logic . 3(1): 93–118.
Shabel, L.. 2003, Mathematics in Kant's Critical Philosophy: Reflections on Mathematical Practice . New York: Routledge.
Shepard, R. and J. Metzler. 1971, “Mental rotation of three-dimensional objects”, Science . (171): 701–3.
Shimojima, A.. 1996a, On the Efficacy of Representation . Doctor en Filosofía. thesis, Indiana University.
–––. 1999, “Constraint-Preserving Representations”, in L. Moss, J. Ginzburg, and M. de Rijke, (eds), Logic, Language and Computation: Volume 2 . CSLI Lecture Notes #96, pages 296–317. Stanford: CSLI Publications.
Shin, S.. 1994, The Logical Status of Diagrams . Cambridge: Cambridge University Press.
–––. 2003, The Iconic Logic of Peirce's Graphs . Cambridge: MIT Press (Bradford).
Sloman, A.. 1971, “Interaction between philosophy and AI: The role of intuition and non-logical reasoning in intelligence”, in Proceedings Second International Joint Conference on Artificial Intelligence . Los Altos, Calif. Morgan Kaufmann.
–––. 1985, “Why we need many knowledge representation formalisms”, in M. Bramer, (ed.), Research and Development in Expert Systems . pages 163–183.
–––. 1995, “Musings on the roles of logical and nonlogical representations in intelligence”, in Chandrasekaran et al. 1995. pp. 7–32.
Sober, E.. 1976, “Mental Representations”, Synthese . 33: 101–148
Sowa, J.. 1984, Conceptual Structures: Information Processing in Mind and Machine . London: Addison Wesley.
Stenning, K.. 1999, “Review of Das Spiel der Logik . by Lewis Carrol”, Journal of Symbolic Logic . 64: 1368–1370.
Stenning, K. and O. Lemon. 2001, “Aligning Logical and Psychological Perspectives on Diagrammatic Reasoning”, Artificial Intelligence Review . 15(1–2): 29–62. (Reprinted in Thinking with Diagrams . Kluwer, 2001.)
Tye, M.. 1991, The Imagery Debate . Cambridge, MA: MIT Press.
Venn, J.. 1881, Symbolic Logic . London: Macmillan.
Wang, D. and J. Lee. 1993, “Visual Reasoning: its Formal Semantics and Applications”, Journal of Visual Languages and Computing . 4: 327–356.
Wittgenstein, L.. 1921, Tractatus Logico-Philosophicus . B. Pears and B. McGuinness (trans), London: Routledge & Kegan Paul, 1961
Zeman, J.. 1964, The Graphical Logic of C. S. Peirce . Doctor en Filosofía. thesis, University of Chicago.
Barwise, J. and E. Hammer, 1994, “Diagrams and the Concept of a Logical System”, in Gabbay, D. (ed.), What is a Logical System? New York: Oxford University Press.
Hammer, E. 1995b, Logic and Visual Information . Studies in Logic, Language, and Computation. Stanford: CSLI Publications and FoLLI.
–––, 1998, “Semantics for Existential Graphs”, Journal of Philosophical Logic . 27: 489–503
Hammer, E. and S. Shin, 1996, “Euler and the Role of Visualization in Logic”, in Seligman, J. and Westerståhl, D. (eds), Logic, Language and Computation: Volume 1 . CSLI Lecture Notes #58, pages 271–286. Stanford: CSLI Publications.
Kneale, W. and Kneale, M. 1962, The Development of Logic . Oxford: Clarendon Press.
Lemon, O. 1997, “Review of Logic and Visual Information . by E. M. Hammer”, Journal of Logic, Language, and Information . 6(2): 213–216.
Roberts, D. 1992, “The Existential Graphs of Charles S. Peirce”, Computer and Math. Applic. . (23): 639–663.
Shimojima, A. 1996b, “Operational constraints in diagrammatic reasoning”, in J. Barwise and G. Allwein, (eds), Logical Reasoning with Diagrams . New York: Oxford University Press, pages 27–48.
–––, 1996c, “Reasoning with Diagrams and Geometrical Constraints”, in Seligman, J. and Westerståhl, D. (eds), Logic, Language and Computation: Volume 1 . CSLI Lecture Notes #58, pages 527–540. Stanford, CSLI Publications.
Shin, S. 1991, “A Situation-Theoretic Account of Valid Reasoning with Venn Diagrams”, in J. Barwise, J. Gawron, G. Plotkin, and S. Tutiya, (eds), Situation Theory and its Applications: Volume 2 . CSLI Lecture Notes #26, pages 581–605. Stanford: CSLI Publications.
–––, 1999, “Reconstituting Beta Graphs into an Efficacious System”, Journal of Logic, Language, and Information . 8: 273–295.
–––, 2000, “Reviving the Iconicity of Beta Graphs”, in Anderson, Cheng, and Haarslev, (eds), Theory and Application of Diagrams . pages 58–73. Springer-Verlag.
–––, 2002a, The Iconic Logic of Peirce's Graphs . Cambridge, MA: MIT Press.
–––, 2002b, “Multiple Readings of Peirce's Alpha Graphs”, in M. Anderson, B. Meyer, and P. Olivier, (eds), Diagrammatic Representation and Reasoning . London: Springer-Verlag, pp. 297–314.
Sowa, J. 2000, Knowledge Representation: Logical, Philosophical, Computational Foundations . Belmont, CA: Brooks/Cole.
Stenning, K. 2002, Seeing Reason: image and language in learning to think . Oxford: Oxford University Press.
Stenning, K. and J. Oberlander, 1995, “A Cognitive Theory of Graphical and Linguistic Reasoning: Logic and Implementation”, Cognitive Science . 19(1): 97–140.
Tufte, E. 1983, The Visual Display of Quantitative Information . Connecticut: Graphics Press.
–––, 1990, Envisioning Information . Connecticut: Graphics Press.
Entity Relationship Diagram
Need an entity relationship diagram for an information management requirements specification and want practical timesaving suggestions?
The objective of an entity relationship diagram is to show the business rules that apply to an organizations data. It contains entities, which are things of interest to a company, and relationships, which are relationships between entities. It also documents volumetric data so that we know what the initial data storage requirements will be together with the anticipated growth
A customer, product and order might be considered something of interest to an organization. A simple relationship between these entities might read:
Customer places one or many orders;
An order must be placed by one, and only one, customer
An order must be for one or many products;
A product may be ordered by one or many orders.
An attribute is something that further describes an entity, e. g. customer first name, customer last name, or product name.
A fully attributed data model contains:
all entities of interest to a project;
all attributes for each entity; y
a definition of each entity and attribute together with an example.
Why is a model important?
An entity relationship diagram is an excellent communications tool, which can be used to confirm business requirements and provide direction to the architecture and design team as they move forward with physical database design.
If we are building a data warehouse, it provides the business rules that are needed to ensure data integrity e. g. if an order is received from a source system and is not related to a customer, then we have a data quality issue—We should not load this data into the warehouse because it fails the business rules.
What is a quick way to create an entity relationship diagram?
An information management project should use the enterprise data model as a starting point.
In a perfect world, the enterprise data model is a fully attributed model but in reality, it may only include key entities and relationships.
A data modeler should involve the business team in data modeling sessions. There are data model resource books, which can also be used as reference or as a starting point, if there is no enterprise data model.
What else does the model provide?
Confirms business rules;
Is used as the “target” for data movement mapping and helps ensure no data is overlooked;
Provides direction to the architecture and design team to start physical database design; y
Helps make important decisions about facts and dimensions required for business intelligence purposes.
Do we always need a logical model?
If the project is building a data warehouse, than a model is required;
If the project is extracting data from a source system and loading it directly to a data mart (without using a data warehouse) then it is desirable, but can be omitted; y
If the project involves extracting data from source systems and consolidating it into a data feed to a target system (without storing it a data warehouse or data mart), then it may not be required.
Summary…
An entity relationship diagram is a mandatory requirement for most information management projects. The enterprise model should serve as the starting model and a data modeler needs to work with the business team to finalize the model. A data model is not required for all projects and may require an exception to the project management methodology.
В©David Bowman 2009-2015 All Rights Reserved
Assembly on Education Meeting
Data Modeling with Entity Relationship Diagrams
At the end of this session, participants will:
1. Understand the importance of data modeling in designing relational databases
2. Distinguish between a conceptual data model and a logical data model
3. Define the components of an Entity Relationship Diagram (ERD)
4. Identify the Entities, Attributes and Relationships for a proposed relational
5. Identify the primary key for each data entity
6. Understand the differences among unary, binary and ternary relationships
7. Assign the correct cardinality to a relationship between data entities
8. Given a scenario, construct an ERD for an end-user relational database
9. Transform an ERD into well-structured relations
10. Describe the process of normalization
Part I: Creating; Entity Relationship Diagrams
Data modeling is one of the first steps in database design. It serves as a link between "real" objects about which the organization wants to collect and maintain data and the actual database structure that resides on the computer. One of the problems with database design is that designers, programmers and users do not necessarily see data the same way. Different users have different views of the organization's data, depending on their particular data needs. Different views of data can lead to poorly constructed databases that fail to meet the many users' needs unless communication among the designers, programmers and users is as unambiguous as possible. Data modeling is an excellent communication tool to reduce complex data structures to easy-to-understand "pictures" or abstractions.
There are three levels of data models: conceptual, logical, and physical. The conceptual data model defines database requirements for the entire enterprise. Generally, there will be one conceptual data model for the enterprise. The logical model is a view of the data by a specific group within the enterprise. This group might be a department or unit within a department. The logical data model should, of course, be based on the conceptual model for the enterprise. The physical data model is concerned with actual data structures. This level of modeling is generally done by information systems personnel with little interaction with the users (Johns, 1997).
The Importance of Data Modeling
The importance of data modeling cannot be overstated! Not only do data models serve as a communication tool among the developers and users of a database, but they also provide the developer an opportunity to work out conceptual and design issues and problems prior to beginning the actually design process. The data themselves constitute the most basic of the information units within an information system. A good analogy for a data model is a blueprint of a new building. No reputable builder would start to construct a building without a detailed blueprint. Of course some changes may occur along the way, but the basic foundation and ways in which the building units will be put together are worked out in the blueprint. Both the blueprint and the data model are pictures or abstractions of reality. You cannot live in a blueprint and you cannot transform data into information through a data model.
Data models, such as Entity Relationship Diagrams (ERD), serve as excellent learning tools for new database users and developers. Whether the goal is to build a huge enterprise-wide database or a simple end-user database, the concepts of a data "entity" and "relation" are the same. Understanding how to identify the data needs of an organization and how groups of data are related is vital to creating effective database systems.
Think for a minute about the patient record as a data repo sitory What are some of the different user views of the data contained in the patient record? How do each o these views differ?
The ERD is used to depict relational databases. It is a modeling technique that can be used at both the conceptual and the logical levels. The ERD shows the main data objects for an enterprise or unit and the relationships among those data objects.
The three basic - components of the ERD are Entities, Attributes and Relationships. These are represented with various symbols within the ERD.
An Entity can be defined as either:
a. Entity type: a collection of entities that share common properties or characteristics or
segundo. Entity instance: a single occurrence of an entity type.
An entity type corresponds to a table within a relational database. An entity instance corresponds to a row or record within that table.
Note: in general, the term entity refers to an entity type.
An entity within an ERD is depicted as a rectangle.
Attribute: characteristic that describes the entity type.
Attributes correspond to the field names or column titles within the data table.
Attributes within an ERD are depicted as ovals attached to the entity shape or in a separate list.
Primary Key: Another consideration in determining the appropriate attributes for each entity is selecting or identifying the primary key. The primary key is the attribute that uniquely identifies each instance of an entity.
Each attribute that could possibly be a primary key is called a "candidate key." Sometimes more than one attribute may need to be combined to create a primary key. Primary key attribute names are generally underlined.
Relationship: an association between the instances of one or more entity. The relationship shows how the data are related to one another within the organization or unit in question.
A relationship is depicted in the ERD as a diamond shape.
There are two key concepts to understanding relationships between or among entities. The first is the degree of the relationship. The degree of relationship refers to the number of entity types that are a part of the relationship. The most common are:
unary (degree one) - the entity has a relationship with itself,
binary (degree two) - two entities have a relationship, and
ternary (degree three) - three entities have a simultaneous relationship.
Most entity relationships are binary.
The second key concept is the cardinality of a relationship. Cardinality of a relationship is the number of instances of entity B that can or must be associated with each instance of - entity A. Each relationship has a minimum and a maximum cardinality. The minimum cardinality can be zero, one or many. The maximum cardinality can also be zero, one or many. Consider the following example.
In most health care clinics the cardinalities would be described as follows.
For every instance of the entity patient there will be one or many instances of the entity visit.
One common notation used to depict this relationship is illustrated in the following binary ERD.
Cardinality is bidirectional. Therefore, we need to determine the relationship from visit to patient also.
For each instance of the entity visit there will be one and only one instance of the entity patient.
Other ways to "read" these cardinalities is: One and only one patient will have one or many visits or any one patient will have one or more visits; likewise, for any one visit there will be one and only one patient.
Consider a situation where a health clinic has the option to register a patient before the patient ever visits the clinic. Would the cardinalities change? If so, how? Draw the ERD in the space below.
Relationships may also have zero cardinalities. This is depicted by a small circle or zero on the line connecting the entities.
Write out the bidirectional description for this binary ERD.
Example: Constructing an ERD for the Phoenix HIA Program Student Scheduling and Grading Database
The Phoenix HIA program wants to develop an Access student scheduling and grading database. They plan to use an ERD as a communication tool among the program faculty and the database designer. The database designer in this case is the program director.
What are the data entities? In other words, what are the entities about which the program would like to maintain data?
STUDENT, INSTRUCTOR, COURSE, CLASS, ROOM
What are some of the attributes that might be assigned to each entity? Let's look at STUDENT for example.
STUDENT
Student no
SSN
First name
Last name
Middle initial
Género
DOB
Home address
Home phone
College address
College phone
What are the candidates for primary key for the entity, STUDENT? Which one would you select and why?
In the case of STUDENT we will select the student number as our primary key. This is signified in most data modeling schemes by an underline. One common, nongraphical form of notation for the STUDENT entity is:
STUDENT ( STUDENT NO . SSN, FIRST NAME, LAST NAME, MIDDLE INITIAL, GENDER, DOB, HOME ADDRESS, HOME PHONE, COLLEGE ADDRESS, COLLEGE PHONE)
Note: In this workbook and education session we are more concerned with concepts than precise notation of the ERD. However, you should be aware that there are different forms of ERDs and each has its own "rules " of notation.
The attributes and primary keys for each of the other entities are as follows:
INSTRUCTOR
Instructor SSN
ILast name
IFirst name
IMiddle initial
Office Address Office
Phone E-mail address
The foreign key . Room ID links the COURSE entity to the ROOM entity. Foreign key attributes may be underlined with a broken line. They are the only exception to the basic rule that no attribute should be repeated within a database. Note that Room ID is the primary key of ROOM.
The last entity is a little less obvious, but very important. It is the entity, CLASS, which brings together all of the other entities. The attributes in CLASS include the primary key, Class. ID and the attributes assigned as primary keys from the entities that it will join. These become the foreign keys within CLASS.
Note: This type of entity is sometimes referred to as a gerund. It is a cross between a relationship and an entity. One way of looking at it is as a relationship that requires attributes. This type of entity may not even appear on a conceptual diagram. One clue that you need this type of "linking" entity is the presence of a many-to many relationship within the ERD. Well constructed databases do not contain tables with many-to-many relationships. These relationships must be converted to one-to-many relationships before the database is constructed. (See the section on normalization.)
The ERD for the Phoenix HIA Program Student Database would include all the needed entities. relationships, and cardinalities. It is important to recognize that the data needs of the organization or unit drive the construction of the ERD and subsequent database-. Relationships and entities depend on the organization's use of the data.
In this case, because we have listed the attributes separately, we will not include them in the diagram.
ERD for Phoenix HIA Student Database
Think about how the relationships within this ERD might change for different organizations. Can you see how the needs of the program have determined some of the relationships?
Part I Exercise: Developing an ERD for an End-User Database
This exercise is based on a case study in Lee, F. W. (1996). How to use entity-relationship diagrams in developing personal database systems. Journal of the American Health Information Management Association, 67 (2), 42-45.
Sarah Collins is a health information manager employed by an organization that owns and operates five primary care clinics within a four-county, rural area 'in the southeastern United States. She has just come from a meeting of the newly formed Information Management (IM) Team. This team first met six months ago when it was charged with the development of an organization-wide information system strategic plan and with making recommendations for the development of a centralized clinical information system. But the news at this most recent meeting was not good. In spite of months of hard work by the IM team, budget cuts and the uncertainty of Medicaid reimbursement have put all new information system development on hold for at least a year. Meanwhile, Sarah (and others) must cope with archaic manual systems, including a decentralized, manual master patient index.
After several more meetings, the IM team approved Sarah pursuing the development of a Microsoft Access - based NMI for use in the clinics.
Develop a logical ERD for the planned MPI using the techniques described in this manual.
Part II: Transforming an ERD into Well-structured Relations
A relational database is made up of one or more relations or data tables. A relation is a named two-dimensional table that consists of named columns and an arbitrary number of un-named rows. One important concept to remember is that a relation exists even if data are not entered into it.
There are several properties that must be associated with relations:
Entries (cells) are single-valued or atomic
Entries in columns are from the same domain
Each row is unique (no duplicates)
Sequence of columns is not significant
Sequence of rows is not significant
Therefore, well structured relations will:
have a minimum amount of redundancy, and
allow users to modify, insert and delete rows without error or inconsistency
Normalization is a process for insuring well structured relations (tables.) It is the process used to assign attributes to entities. These attributes will transform into column names and the entities will transform into relations. Normalization reduces data redundancies and helps eliminate data anomalies. There are levels of normalization that are referred to as first normal form (1NF), second normal form (2NF) and third normal form (3NF). Note: there are higher normal forms but the first three are generally that are applied to business applications.
1NF Definition
All the key attributes are defined
There are no repeating groups in the entity. In other words, each row/column intersection can contain one and only one value, not a set of values.
All attributes are dependent on the primary key
Consider the following data table. Is it in INF? If not, explain why How could you convert it to INF?
2NF Definition
The relation is in I NF
It includes no partial dependencies; in other words, no attribute is dependent on only a portion of the primary key.
A relation whose primary key is a single attribute will be in 2NF if it is in I NF.
Consider the preceding data table. Is it in 2NF? If not, explain why. How could you convert it to 2NF?
3NF Definition
The relation is in 2NF, and
There are no transitive dependencies
A transitive dependency occurs when a non-key attribute is dependent on another non-key attribute.
For example, consider that the attribute Wage is dependent on the attribute Job Grade. Wage is determined by Job Grade, yet neither Job Grade nor Wage are primary keys or part of a primary key. This is a transitive dependency.
In the most simple terms, normalization is the process of eliminating the potential for data redundancy and the errors that can result. Normalization will eliminate unwanted many-to-many relationships and redundancy of attributes.
Transforming ERDs into Relations
Each entity type is transformed into a relation, with the designated primary key. Non-key attributes become additional column headings.
Example: Transforming the ERD for the Phoenix HIA Program Student Scheduling and Grading Database into Well-Structured Relations.
One of the first questions raised by the Phoenix MA Program faculty was, "Why go to all this trouble? Couldn't we just build a single data table in Access This could be done, but this would not take advantage of ability of Access to create efficient, relational databases. By using the ERD as a blueprint for the database, we see that there will be five data tables in the database. The attributes will become the field names (column headings.)
ER Diagram for the Banking Enterprise - PowerPoint PPT Presentation
Transcript and Presenter's Notes
Title: ER Diagram for the Banking Enterprise
1 E-R Diagram for the Banking Enterprise 2 Banking Example
branch (branch-name, branch-city, assets)
customer (customer-name, customer-street, customer-city)
account (account-number, branch-name, balance)
loan (loan-number, branch-name, amount)
depositor (customer-name, account-number)
borrower (customer-name, loan-number)
3 Determining Keys from E-R Sets
Strong entity set. The primary key of the entity set becomes the primary key of the relation.
Weak entity set. The primary key of the relation consists of the union of the primary key of the strong entity set and the discriminator of the weak entity set.
Relationship set. The union of the primary keys of the related entity sets becomes a super key of the relation.
For binary many-to-one relationship sets, the primary key of the many entity set becomes the relations primary key.
For one-to-one relationship sets, the relations primary key can be that of either entity set.
For many-to-many relationship sets, the union of the primary keys becomes the relations primary key
4 Relational Algebra Relational Calculus
Chapter 4
5 Query Languages
Language in which user requests information from the database.
Categories of languages
procesal
non-procedural
Formal languages
Relational Algebra
Tuple Relational Calculus
Domain Relational Calculus
Formal languages form underlying basis of query languages that people use.
6 Relational Algebra
Procedural language
Six basic operators
seleccionar
proyecto
Unión
set difference
Cartesian product
rebautizar
The operators take one or more relations as inputs and give a new relation as a result.
7 Select Operation Example A B C D
Relation r
.
.
1 5 12 23
7 7 3 10
?AB D gt 5 (r)
UN
segundo
C
D
.
.
1 23
7 10
8 Project Operation Example A B C . 10 20 30 40 1 1 1 2
Relation r
UN
C
UN
C
?A, C (r)
. 1 1 1 2 . 1 1 2
9 Union Operation Example A B A B
Relations r, s
.
1 2 1
.
2 3
s
r
UN
segundo
r. s
.
1 2 1 3
10 Set Difference Operation Example A B A B
Relations r, s
.
1 2 1
.
2 3
s
r
r s
UN
segundo
.
1 1
11 Cartesian-Product Operation-Example A B C D E Relations r, s . 1 2 . 10 10 20 10 a a b b r s r x s A B C D E . 1 1 1 1 2 2 2 2 . 10 10 20 10 10 10 20 10 a a b b a a b b 12 Composition of Operations
Can build expressions using multiple operations
Example? AC(r x s)
r x s
?AC(r x s)
UN
segundo
C
D
E
.
1 1 1 1 2 2 2 2
.
10 10 20 10 10 10 20 10
a a b b a a b b
UN
segundo
C
D
E
.
.
10 20 20
a a b
1 2 2
13 Additional Operations
We define additional operations that do not add any power to the relational algebra, but that simplify common queries.
Set intersection
Natural join
Division
Asignación
14 Set-Intersection Operation - Example
Relation r, s
r. s
A B
A B
.
1 2 1
.
2 3
r
s
A B
? 2
15 Natural Join Operation Example
Relations r, s
segundo
D
E
UN
segundo
C
D
1 3 1 2 3
a a a b b
.
.
1 2 4 1 2
.
a a b a b
r
s
UN
segundo
C
D
E
.
1 1 1 1 2
.
a a a a b
.
16 Division Operation Example A B Relations r, s B . 1 2 3 1 1 1 3 4 6 1 2 1 2 s r. s A r . 17 Another Division Example Relations r, s A B C D E D E . a a a a a a a a . a a b a b a b b 1 1 1 1 3 1 1 1 a b 1 1 s r A B C r. s . a a . 18 Banking Example
branch (branch-name, branch-city, assets)
customer (customer-name, customer-street, customer-city)
account (account-number, branch-name, balance)
loan (loan-number, branch-name, amount)
depositor (customer-name, account-number)
borrower (customer-name, loan-number)
19 Example Queries
Find all customers who have an account from at least the Downtown and the Uptown branches.
20 Example Queries
Find all customers who have an account at all branches located in Brooklyn city.
21 Relational Calculus
Comes in two flavors
Tuple relational calculus (TRC) and
Domain relational calculus (DRC).
Calculus has variables, constants, comparison ops, logical connectives and quantifiers.
TRC Variables range over (i. e. get bound to) tuples.
DRC Variables range over domain elements ( field values).
Both TRC and DRC are simple subsets of first-order logic.
Expressions in the calculus are called formulas. An answer tuple is essentially an assignment of constants to variables that make the formula evaluate to true.
22 Tuple Relational Calculus
A nonprocedural query language, where each query is of the form
t P (t)
Answer is the set of all tuples t such that the formula P is true for t.
t is a tuple variable, tA denotes the value of tuple t on attribute A
T r denotes that tuple t is in relation r
P is a formula similar to that of the predicate calculus
23 Predicate Calculus Formula
1. Set of attributes and constants
2. Set of comparison operators (e. g. . )
3. Set of connectives and (?), or (v) not (?)
4. Implication (?) x. y, if x if true, then y is true
x. Y. x v y
5. Set of quantifiers
??t. r (Q(t)). there exists a tuple in t in relation r such that predicate Q(t) is true
?t. r (Q(t)). Q is true for all tuples t in relation r
24 TRC Formulas
Atomic formula
T r. or ta op tb, or ta op constant, or constant op ta
op is one of.
Formula
an atomic formula, or
?p, p? q, p v q, p. q where p and q are formulas, or
?X(p(X)), where X is a tuple variable and is free in p(X), or
?X(p(X)). where variable X is free in p(X)
The use of quantifiers? X and? X is said to bind X.
A variable that is not bound is free.
25 Free and Bound Variables
Let us revisit the definition of a query
t P (t)
There is an important restriction the variable t that appear to the left of must be the only free variable in the formula P(. ).
Every variable in a TRC appears in a subformula that is atomic.
If a variable t does not appear in an atomic formula of the form t. r. the type of t is a tuple whose fields include all and only fields of t that appear in the formula.
26 Example Queries
Find the loan-number, branch-name, and amount for loans of over 1200
t t. loan. t amount. 1200
Find the loan number for each loan of an amount greater than 1200
T S loan (tloan-number sloan-number ? s amount. 1200)
Notice that a relation on schema loan-number is implicitly defined by the query
27 Example Queries
Find the names of all customers having a loan, an account, or both at the bank
t? s. borrower( tcustomer-name scustomer-name). U depositor( tcustomer-name ucustomer-name)
Find the names of all customers who have a loan and an account at the bank
t? s. borrower( tcustomer-name scustomer-name). U depositor( tcustomer-name ucustomer-name)
28 Example Queries
Find the names of all customers having a loan at the Perryridge branch
t? s. borrower(tcustomer-name scustomer-name. u. loan(ubranch-name Perryridge. uloan-number sloan-number))
Find the names of all customers who have a loan at the Perryridge branch, but no account at any branch of the bank
t? s. borrower( tcustomer-name scustomer-name. u. loan(ubranch-name Perryridge. uloan-number sloan-number)). v. depositor (vcustomer-name tcustomer-name)
29 Example Queries
Find the names of all customers having a loan from the Perryridge branch, and the cities they live in.
t? s. loan( sbranch-name Perryridge . u. borrower (uloan-number sloan-number. t customer-name ucustomer-name. v. customer (ucustomer-name vcustomer-name. tcustomer-city vcustomer-city)))
30 Example Queries
Find the names of all customers who have an account at all branches located in Brooklyn
T do. customer (tcustomer. name ccustomer-name). S branch(sbranch-city Brooklyn. ? u. account ( sbranch-name ubranch-name . d. depositor ( tcustomer-name dcustomer-name. daccount-number uaccount-number )) )
31 Safety of Expressions
It is possible to write tuple calculus expressions that generate infinite relations.
For example, t. T r results in an infinite relation if the domain of any attribute of relation r is infinite
To guard against the problem, we restrict the set of allowable expressions to safe expressions.
An expression t P(t) in the tuple relational calculus is safe if every component of t appears in one of the relations, tuples, or constants that appear in P
NOTE this is more than just a syntax condition.
P. ej. t tA5. true is not safe --- it defines an infinite set with attribute values that do not appear in any relation or tuples or constants in P.
32 Domain Relational Calculus
A nonprocedural query language equivalent in power to the tuple relational calculus
Each query is an expression of the form
. x1, x2. xn. P(x1, x2. xn)
x1, x2. xn represent domain variables
P represents a formula similar to that of the predicate calculus
Answer includes all tuples. x1, x2. xn. ese
make the formula P(x1, x2. xn) true.
33 Example Queries
Find the loan-number, branch-name, and amount for loans of over 1200
. l, b, a. l, b, a. loan. a gt 1200
Find the names of all customers who have a loan of over 1200
. do. l, b, a (? c, l. borrower. l, b, a. loan. a gt 1200)
Find the names of all customers who have a loan from the Perryridge branch and the loan amount
? c, a. l (? c, l. borrower. b(? l, b, a. loan. b Perryridge)) or. c, a. ? l (? c, l. borrower. l, Perryridge, a. ? loan)
34 Example Queries
Find the names of all customers having a loan, an account, or both at the Perryridge branch
? do. l (. c, l. borrower. b, a(? l, b, a. loan. b Perryridge)) . a(? c, a. depositor. b, n(? a, b, n. account. b Perryridge))
Find the names of all customers who have an account at all branches located in Brooklyn
? do. s, n (? c, s, n. customer). . x, y,z(? x, y, z. branch. y Brooklyn). a, b(? a, y, b. account. c, a. depositor)
35 Safety of Expressions
. x1, x2. xn. P(x1, x2. xn)
is safe if all of the following hold
1. All values that appear in tuples of the expression are values from dom(P) (that is, the values appear either in P or in a tuple of a relation mentioned in P).
2. For every there exists subformula of the form. x (P1(x)), the subformula is true if and only if there is a value of x in dom(P1) such that P1(x) is true.
3. For every for all subformula of the form? x (P1 (x)), the subformula is true if and only if P1(x) is true for all values x from dom (P1).
36 Null Values
It is possible for tuples to have a null value, denoted by null, for some of their attributes
null signifies an unknown value or that a value does not exist.
The result of any arithmetic expression involving null is null.
Aggregate functions simply ignore null values
Is an arbitrary decision. Could have returned null as result instead.
We follow the semantics of SQL in its handling of null values
For duplicate elimination and grouping, null is treated like any other value, and two nulls are assumed to be the same
Alternative assume each null is different from each other
Both are arbitrary decisions, so we simply follow SQL
37 Null Values
Comparisons with null values return the special truth value unknown
If false was used instead of unknown, then not (A lt 5) would not be equivalent to A gt 5
Three-valued logic using the truth value unknown
OR (unknown or true) true, (unknown or false) unknown (unknown or unknown) unknown
AND (true and unknown) unknown, (false and unknown) false, (unknown and unknown) unknown
NOT (not unknown) unknown
In SQL P is unknown evaluates to true if predicate P evaluates to unknown
Result of select predicate is treated as false if it evaluates to unknown
PowerShow. com is a leading presentation/slideshow sharing website. Whether your application is business, how-to, education, medicine, school, church, sales, marketing, online training or just for fun, PowerShow. com is a great resource. Y, lo mejor de todo, la mayoría de sus características interesantes son gratuitas y fáciles de usar.
You can use PowerShow. com to find and download example online PowerPoint ppt presentations on just about any topic you can imagine so you can learn how to improve your own slides and presentations for free. O utilizarlo para encontrar y descargar de alta calidad de cómo PowerPoint ppt presentaciones con diapositivas ilustradas o animadas que le enseñará a hacer algo nuevo, también de forma gratuita. O utilizarlo para cargar sus propias diapositivas de PowerPoint para que pueda compartirlas con sus profesores, clase, estudiantes, jefes, empleados, clientes, inversores potenciales o el mundo. Or use it to create really cool photo slideshows - with 2D and 3D transitions, animation, and your choice of music - that you can share with your Facebook friends or Google+ circles. That's all free as well!
For a small fee you can get the industry's best online privacy or publicly promote your presentations and slide shows with top rankings. But aside from that it's free. We'll even convert your presentations and slide shows into the universal Flash format with all their original multimedia glory, including animation, 2D and 3D transition effects, embedded music or other audio, or even video embedded in slides. Todo gratis. Most of the presentations and slideshows on PowerShow. com are free to view, many are even free to download. (You can choose whether to allow people to download your original PowerPoint presentations and photo slideshows for a fee or free or not at all.) Check out PowerShow. com today - for FREE. There is truly something for everyone!
presentations for free. O utilizarlo para encontrar y descargar de alta calidad de cómo PowerPoint ppt presentaciones con diapositivas ilustradas o animadas que le enseñará a hacer algo nuevo, también de forma gratuita. O utilizarlo para cargar sus propias diapositivas de PowerPoint para que pueda compartirlas con sus profesores, clase, estudiantes, jefes, empleados, clientes, inversores potenciales o el mundo. Or use it to create really cool photo slideshows - with 2D and 3D transitions, animation, and your choice of music - that you can share with your Facebook friends or Google+ circles. That's all free as well!
For a small fee you can get the industry's best online privacy or publicly promote your presentations and slide shows with top rankings. But aside from that it's free. We'll even convert your presentations and slide shows into the universal Flash format with all their original multimedia glory, including animation, 2D and 3D transition effects, embedded music or other audio, or even video embedded in slides. Todo gratis. Most of the presentations and slideshows on PowerShow. com are free to view, many are even free to download. (You can choose whether to allow people to download your original PowerPoint presentations and photo slideshows for a fee or free or not at all.) Check out PowerShow. com today - for FREE. There is truly something for everyone!
The operational context diagram
Introducción
We've always liked the simplicity of a system context diagram (SCD). You can draw it in front of a customer, and in just a few minutes reach a shared understanding of the scope of a project, the actors, and even of the major use cases that the system has to sustain.
If we were journalists and had to describe the news instead of a system, our SCD would have answered the Who and, as a first cut, the What. But, the SCD would not have answered the Where, When, How and How Much questions. Without this information the context of our system is only partially defined.
The initial analysis task has to focus on the functional content only. Even the functional architecture can be impacted by the resolution of the non-functional requirements (NFRs). There is no conceptual difference between the functional and non-functional requirements, since both are expressions of motivations by one of the stakeholders, or influencers, in the system under definition.
See Resources for information about the business motivation model.
Rozanski and Woods categorize the various stakeholders who have an interest in an IT system as:
Acquirers Oversee the procurement of the system or product. Assessors Oversee the system's conformance to standards and legal regulation. Communicators Explain the system to other stakeholders in documentation and training materials. Developers Construct and deploy the system from specifications (or lead the teams that do so). Maintainers Manage the evolution of the system once it is operational. Suppliers Build or supply the hardware, software, or infrastructure on which the system will run. Support staff Provide support to users for the product or system when it is running. System administrators Run the system once it has been deployed. Testers Test the system to ensure it is suitable for use. Users Define the systems functions and ultimately make use of it.
Where an Enterprise Architecture (EA) framework is in place, many stakeholder requirements would already be specified in the EA itself. They should be taken into account as primary input. Otherwise, interviewing the stakeholders can be a good way to capture their needs. The needs should be categorized as functional or NFRs. The NFRs should be categorized into qualities (objective) and constraints (given). Non-functional qualities can be ranked by their perceived importance by the stakeholder (from VH = Very High to VL = Very Low).
Categorizing the requirements
Many taxonomies have been proposed for organizing NFRs: runtime and non-runtime qualities, business and technical constraints, ISO9126 categories, and so on. This article uses a slightly different one based on the concept of "primary need."
In our approach, NFRs are what the stakeholders need from the system under design. Those requirements will shape the system from the operational point of view. Each requirement may be expressed by several classes of stakeholders, but it's usually coming from a primary source. For example, a "pages per second" objective is a requirement for the:
Acquirers, who have to include and verify it in the procurement process.
Developers and Maintainers, who have to reach and maintain the established target.
System Administrators, who have to track and measure the runtime performance.
However, even if apparently very technical, the pages per second need is ultimately rooted in the Number of Business Transactions per front-desk employee, a line of business (LOB) or user need.
As a guideline, we'll use the following classification for NFRs.
Actor-dependent Requirements that represent the needs of the users of the system (human or not), and can be further categorized as:
System qualities needed by users or external systems interacting with the system, as represented in the SCD.
System qualities required by the IT Service Manager, for example the set of the specialized actors (human and system) managing the operations of the system under design.
Actors can require an NFR to become an actorâs constraint . which the system has to comply with. Think of constraints as NFRs that cannot be negotiated (although sometimes they can be rejected).
Actor-independent Requirements that represent system qualities which cannot be rooted to an actor but to one of the other stakeholders. Some NFRs can belong to both the actor-dependent and actor-independent categories at the same time. For example, security can simultaneously be a requirement for a specific class of users and a standard for the enterprise.
Actorâindependent NFRs that the system has to comply with may become actor-independent constraints .
Generally, NFRs can be ranked by their stakeholder's perceived importance, for both categories, but constraints will be specified through a statement (such as the standard or regulation to be met).
This classification has the advantage of tying directly to the SCD and therefore allowing, as you'll see later, a similar representation.
The realm of NFRs
The starting point in listing NFRs is the ISO 9126 taxonomy. Since the final objective is to build an operational context diagram to drive the development of the operational model (OM) of the system, the following modifications were made to the ISO 9126 list.
For simplicity, used Reliability as aggregation of:
Madurez
Recoverability
Fault Tolerance
Used Usability as aggregation of:
Learnability
Understandability
Attractiveness
Dropped Functionality and Interoperability (which simply defines that one external system is an actor of our SCD), since both have little impact on the OM definition.
Dropped Stability, Changeability, and Replaceability for the same reason.
Added Security Compliance as an important factor for today's system designs.
Inserted a set of business-related constraints to categorize the LoB's inputs that may affect the OM:
Business policies (business behavioral policies are the constraints related to the LoB's business decision, for example multi-channel customers support).
Business domain (business structural policies are the constraints resulting directly from the industry or domain policies, such as the opening hours for shops).
Schedule/Budget refers to the financial constraints of the project.
Locations are the constraints of the sites that have to be served by the system.
The list can be expanded, depending on the project.
Gathering NFRs
Since the operational context, as the system context, will be defined very early in the analysis process, don't expect precise quantitative targets for most NFRs -- just qualitative ones.
While gathering information from stakeholders, you might need to supply a more quantitative, though artificial, view of the requirement to avoid all NFRs being rated âVery High. â Using performance as an example, you might ask stakeholders if acceptable response time would be less than one second, less than two seconds, and so on. For availability, the question may be whether the system has to be available 24x7, 24x6, or 12x6.
It's important to understand that you might use only representative values, depending on the type of system under design. It is up to the IT architect to devise such a representative set of values. The real NFRs quantification will be later in the design cycle (unless these requirements are real constraints for the system).
The resulting list of NFRs, shown in Figure 1, can be used to gather stakeholder needs.
Figure 1. Categorizing NFRs
Stakeholders are organized into three main groups:
SCD actors.
Stakeholders who interact with the system's artifacts (run time or development time), such as developers.
Stakeholders who interact only with the process of introducing the system in the business context, such as assessors.
Those inputs will be consolidated in the table in Figure 2, which represents the system's NFRs matrix and drives the operational context diagram representation.
Figure 2. System NFRs Matrix
Letâs now see how our chief architect can exploit the operational context diagram and the system NFRs matrix to provide a first, technology-neutral view of the operational architecture. If component modeling work is not available, other techniques such as the Conflicting Requirements Matrix cannot be used.
The operational context diagram
The operational context diagram is the starting point for designing the technical aspects of the system. To help explain the concepts, the following scenario involves a fictitious company derived from a real home shopping business, as shown in Figure 3.
Figure 3. Home shopping system context diagram
The customer wants to start a home shopping capability, with the ability to offer every single service in several ways: telephone call center, Internet, or in-store kiosk.
The company environment consists of a main office, and a warehouse at a separate location. The call center is outsourced.
The chief architect collected NFRs from the stakeholders, which lead to the table in Figure 4. Only primary sources for a given requirement are shown.
Figure 4. Example stakeholders responses
The responses were then consolidated into the system NFRs matrix in Figure 5.
Figure 5. Example system NFRs matrix
The table above shows that the stakeholders assigned relative importance to the requirements. Some of them were also categorized as system constraints.
The operational context diagram in Figure 6 represents the same information in a graphic layout. Only requirements with High and VeryHigh importance are shown. Qualities (in red) and constraints (in blue) are connected to the originating actor, or to the system's boundary, in case they are common to all actors. Qualities and constraints which are not originated by a specific actor are aligned on the left of the figure as system characteristics.
Figure 6 concisely shows the different expectations that the actors have of the system. The operational context diagram is a very good aid for explaining and verifying the systemâs complexity to the customer. For example, for both Internet and kiosks, usability is a main concern and will probably require a channel-specific interface, while 24x7 operations is a constraint only for the Internet option.
Figure 6. Home shopping operational context diagram
The chief architect can now exploit the operational context diagram and the system NFRs matrix to provide an early, technology-neutral view of the operational architecture.
The actor-specific quality related NFRs translate into requirements on the conceptual nodes supporting that actor. Usually, this involves multiple nodes, and some nodes have to support more than one actor type. Of course, the more demanding requirements apply to the common nodes.
Using the information supplied with the Locations requisites and some connections constraints, you can now draft an initial zoning for the system's main infrastructural components. You know where to place conceptual nodes, which eventually will host the components supporting the application level functions:
The central runtime location of the system will host the main application services (CN_App Svcs) that need an AAA integration service to reuse the existing AAA system (a stated constraint), and an integration interface service (CN_Old WH Interface Svc) to allow interoperability with the warehouseâs existing interface.
The kiosk, Internet user, and Call Center representative require highly usable, channel-specific interfaces, suggesting a separation of the systems.
Perhaps adoption of a different technology for the rendering of the interfaces is in order.
Consider a conceptual node, enabling manageability service, to satisfy the high operability requirement for the IT service manager actor.
The Call Center, in a remote location with low reliability connectivity, requires Very High performances. It can be supported by caching local copies of 'low volatility' data (similar to a catalog's descriptions and pictures) through a dedicated system.
To guarantee interoperability with the credit card system, you need to add dedicated gateway conceptual nodes.
Figure 7 shows the resulting conceptual operational architecture of our system.
Figure 7. A first cut of the operational architecture
Starting from this view, and with input from the application level component model, the infrastructure IT architect is lead directly into detailing the system's final operational model, as follows.
Nodes with reliability set to High or Very High would imply a clustered or balanced infrastructure.
Performance needs would require appropriate connections and servers throughout.
The requirements are for a highly-secure system, so you have to "seal," with a security provider, all the external interfaces (Internet and external networks like the credit agency or the call center company) and the interfaces with insecure areas of the intranet, such as the warehouse and stores.
The resource utilization target would require an appropriate capacity planning activity in later stages.
By using the specifications of NFRs at the system's actor level, the approach outlined in this article enables a more precise shaping of the infrastructure. You can avoid, for instance, providing resources that are not justified by an actor's actual needs.
Conclusión
In this article you learned about a technique to complement the well-known system context diagram with a non-functional oriented operational context diagram.
The operational context diagram is the starting point for designing the technical aspects of the system, including the supporting infrastructure.
Expresiones de gratitud
The authors thank Philippe Binet, Distinguished Engineer with IBM GTS in Italy, Piero Sguazzero, Distinguished Engineer with IBM SWG in Italy, and Raffaele Pullo, Executive IT Architect with IBM GTS in Italy, for their encouragement and valuable comments on this article.
Resources
Aprender
Analyze requirements for complex software systems in a new, holistic way (developerWorks, Feb 2009): Learn how functional and non-functional requirements are opposing forces that are handled similarly to forces in civil engineering structures.
Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives by Rozanski and Woods is a practitioner-oriented guide to designing and implementing effective architectures for information systems. It is both a readily accessible introduction to software architecture and an invaluable handbook of well-established best practices.
The Business Rules Group formulates statements and supporting standards about the nature and structure of business rules, the relationship of business rules with the way an enterprise is organized, and the relationship of business rules with systems' architectures.
The Business Motivation Model: Business Governance in a Volatile World (Sep 2007) deals with the 'motivation' cell of the Zachman Framework.
N. Nayak, M. Linehan, A. Nigam, D. Marston, J.-J. Jeng, F. Y. Wu, D. Boullery, L. F. White, P. Nandi, J. L. C. Sanz. Core business architecture for a service-oriented enterprise " (IBM Systems Journal, vol 46, no 4, 2007) focuses on the core business architecture, the set of essential elements in each of the five domains, and the interrelationships among these elements.
Learn more about the ISO 9126 Standard .
Defining Non-Functional Requirements (Bredemeyer Consulting) lays out important concepts and discusses capturing non-functional requirements in such a way that they can drive architectural decisions and be used to validate the architecture.
An IBM Rational approach to the Department of Defense Architecture Framework (DoDAF) Part 1: Operational view (developerWorks, Mar 2006) presents an overview of the Department of Defense (DoD) Architecture Framework (DoDAF) and describes its Operational View (OV) products.
Get products and technologies
Download IBM product evaluation versions and get your hands on application development tools and middleware products from DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.
Discuss
Comentarios
Create an ER diagram for an Informix database
Before you start
The IBM Informix database provides a variety of administration tools, starting with the powerful onstat command that delivers detailed information about the server in ASCII format, and including GUI tools such as the OpenAdmin Tool (OAT). Developers using IBM Optim™ Development Studio already have access to information about the structures of the tables and references. With IBM Optim Development Studio, the structures can be changed or adapted. The diagram created with the scripts in this tutorial can only be displayed, but unlike Optim Development Studio, don't give you the capability to change the structure of database objects.
About this tutorial
This tutorial explains how to extract the information from the system catalog and how to use that information as the basis for graphical output that will give you insight into the database relationships. Building on these basics that show how to select and display the DDL structures, experienced Informix administrators will be able to extend the functionality of the sample script and adjust it to the needs of their own local Informix installations.
Figure 1. Graphical illustration of a database
Objectives
You'll learn where to find information about database data definitions (DDL structures) and how to write select statements to extract this information from an existing Informix database. You will see how to format the selected data so you get an XML file that holds the information to create a graphical overview of the system.
Requisitos previos
This tutorial is written for database administrators and application developers or programmers whose skill and experience are at a beginning to intermediate level of SQL and shell programming. You should have a general familiarity with using a Linux® or UNIX® command-line shell and a working knowledge of SQL. The knowledge of the Informix system catalog can help extend the sample scripts to meet individual needs.
System requirements
To run the examples here, you need a Linux or UNIX system with at least 10 MB of free disk space. To run it on Windows®, some minor changes are needed. The query tool Informix dbaccess (provided by the server or separately installed) must be available.
The environment must be set correctly for connecting to the Informix instance. The user that runs these scripts must be able to connect to the database to be analyzed (with at least read access to the database). In addition, the user needs the ability to create files in the local working directory.
Information from system catalog
System catalog
All the information needed to build the ER-Diagram can be found in the system catalog of the database. Every user who can connect to the database (connect permission) can select the DDL information from these system catalog tables using SQL.
The main tables are:
systables
Name of the table
Owner of the table
Number of records
Number of pages used
syscolumns
Names of the columns
Data types used
sysconstraints
Columns in constraints
Constraint type
sysindexes (view)
Columns of the primary keys and references
sysreferences
Information about foreign keys
systriggers
Information about triggers on tables
syssyntable
Information about synonyms
sysdepend
Information about table dependencies
Figure 2. Connections among selected system catalog tables
Select tables and their columns
Let's have a look at the SQL statements that return the table name and the list of columns of that table. In addition, we select the number of rows (value at the last run of update statistics).
First, we have to create an SQL function to list the columns for a given table ID.
Listing 1. SQL function: Column list
Listing 2. Example result for tabid 100
Now we can write an SQL query to list the tables with columns. We use the SQL function created in Listing 1 to be able to list all columns in one output line.
Listing 3. SQL query: List tables with columns
Listing 4. Example result for tables with columns
This output shows one line for a table with all of its columns and the number of data records in the table. The next step is to analyze the referential constraints for each table. In this first example, we do the select only for the first column of the constraint. Later, if we have to get the information for all columns in a referential constraints, this statement has to be executed in a loop for part 1 until part 16 (maximum 16 columns within a foreign key).
Listing 5. Show referential constraints (only first column)
Listing 6. Show the result of the query
Now we have all information to build the basic structures. The query results need to be enhanced with XML tags to be the base of a graphical output. In the next section, we add the XML syntax as text to these queries.
XML data and diagram
In this section, we use the selected data to create the graphical output. To generate the picture of the ER-Diagram, we use the program dot (part of Graphviz, installed on most Linux distributions by default). The syntax for the XML as base of the ER diagram can be seen in the following listing.
Listing 7. Sample XML instructions as base of the diagram
If we display the XML instructions from above, we get the following.
Figure 3. Table structure
In SQL, static character strings can be displayed along with the output of the query. We use this SQL feature to merge the selected values from the system tables with the static XML tags that define the structure needed for formatting.
To generate the XML syntax, we use the SQL queries from the first section and add some XML tags like "<TR>" as "fixed text." This change refers only to the selection part of the queries. These XML tags deliver the format information. To highlight the primary keys of each table, we change the background color of these columns by adding "BGCOLOR="#88ff88" ALIGN="LEFT">".
Listing 8. SQL function with XML enhancements
All columns are tagged as row elements of a table. The columns of the primary keys are identified by the constrype 'P' in sysconstraints and are marked with a different color as background.
Listing 9. The statement now delivers valid XML code
Some format information is still missing, such as font information and the tags for the table (i. e. <TABLE> ).
Listing 10. SQL statement for tables, including column list with XML extensions
This query delivers the complete layout for the tables to be displayed. We select only the tables with tabid staring with 100, where the user-defined tables begin. Below that value, the tables are internal tables. In this part, we only select real tables and restrict the selection to tabtype 'T'. Other tabtypes in systables represent views, synonyms or other related information.
Listing 11. Output for table customer
Now we add a header with the information about the database and add some format and layout information. After this step, we can generate the ER diagram showing the tables and columns.
Listing 12. Add style information
We have created the header and can combine it with the selected table information from the scripts, where we have generated the format information for our database tables. We simply have to put all the parts together using the shell command:
The file $DOT_FILE contains the information to create a picture by using:
Figure 4. Database tables
The diagram now contains the tables, their columns, and the columns included in a primary key marked with green background. Still missing are the referential constraints in this database, so we have to add another part that draws the arrows.
Listing 13. SQL query to get the foreign keys
The result of this statement is a row for every connection among columns of different tables. The query has to be run for all the 16 possible elements of the foreign key. The output looks like the listing below.
Listing 14. List of the foreign keys
Now we can put the information about the foreign keys at the end of the table instructions, and we get the complete diagram of the tables and relations among the tables. At this point, the main part of the construction of the ER-Diagram is done. Synonyms, views, triggers, table owners, and many other things could be of interest for database analysis. In the following section, you will see how this additional information can be added to our newly created diagram.
Figure 5. Database tables and constraints
More information and other database objects
There is a lot of more information that can be read from the system tables. There are also more things that belong to a database than tables and constraints. The decision of what to display within the diagram is difficult. It may not be a good idea to show all possible information and database objects within one diagram. At the other side, there might be information that is missing for a specific view.
At this point, you should decide what to include and what to eliminate from the scripts provided. Less can be more, so a restriction to show only a subset of features and tables might be helpful.
Data types
The additional information of the data types used in the table can be very useful. This information can be selected from the table syscolumns, but the values have to be decoded to a human readable form. The additional information of the data types needs more space, so this should only be an optional feature.
Figure 6. Data types of the columns
Triggers
The information if there are triggers for insert, update, delete, or select can be displayed as one additional row in the listing of a table, so this information can be added without influence of the appearance.
Sinónimos
Alias names for tables, the synonyms may be helpful to find the tables, used in statements. This information can be selected using the tables syssyntable and systables. These synonyms don't have their own columns, and are only alternate names of tables.
Figure 7. Synonyms referencing a table
Puntos de vista
Views depend on one or more tables, so we can show this relation between a view and the tables, where it is built from. The list of columns makes no sense because a view can contain a lot of functionality, such as SUM, AVG, SUBSTR(), so there is no option to show the relationship between the columns of a view and the columns of the tables.
Figure 8. Views referencing one or more tables
Index columns
Performance analysis often needs to know what columns are at the first position of an index. In the sample script, these columns are marked with an HTML tag for a different color.
Table owner
Sometimes objects of a database have different owners. To manage permissions, it is important to know who is the owner of the objects. So we added the value of systables. owner to the table name to show who has created the object.
Subset of tables
After listing the features that can be displayed, we provide a way to reduce the number of tables displayed. In most cases, there is a set of tables, included in a statement, to be analyzed; you do not need the several hundreds of tables contained in the database. Most times, it is useful to select only a subset of tables that are of interest. We added this option in our script to reduce the diagram to a defined list of table names. In this sample script, we included the option to select only one table, using the - t tabname option, or to select a list of tables using - f file_with_tablenames.
Resumen
A relational database provides everything needed to get the information about the structures of the objects and references within the database.
Using this information and adding some information for the display of the objects, every database can be displayed in a graphical mode.
Downloads
Outcome 3: Perform Structured Systems Analysis
Entity Relationship Diagrams (ER)
Now that we have the DFDs, we have the system view of the main functions and processes in the new system. Another important stage in the development is creating Entity Relationship diagrams, which will help us understand the data model view of the system.
Data modelling is a technique that is widely used in the world of business and information technology to show how information is, or should be, stored and used within a system. The success of any organisation relies on the efficient flow and processing of information.
Let's look at an example in which information flows around the various departments in the organisation. This information can take many forms; for example it could be written, oral or electronic.
The General Manager regularly communicates with staff in the sales and marketing and accounts departments by using email. Orders received by sales and marketing are forwarded to the production and accounts departments for completion and invoicing. The accounts department forwards regular written reports to the General Manager. It also raises invoices and sends these to the customers.
Data modelling is a technique aimed at making the most of the way that information is stored and used in an organisation. It begins with the identification of the main data groups, for example the invoice, and continues by defining the detailed content of each of these groups. This results in structured definitions for all of the information that is stored and used within a system.
The technique provides a solid foundation for systems design and a universal standard for system documentation. Data modelling is an essential precursor to analysis and design, maintenance and documentation, and improving the performance of an existing system.
D77F 35: Systems Development: Structured Design Methods (c) 2007 SQA
I am doing some background reading about the database and i am a little bit confused, i would appreciated any help. Assume been asked to draw the ER diagram for the following statement: "Many players play for a team but a player can play just in one team" The author of the reference that i do have, suggests the following ER diagram:
I have some concerns about the participation constraints that might be missing in the above diagram. Personally, i was expecting a *mandatory* participation for both of the entities. i am just assuming that if a participation is not specified as in the above diagram, it has to be considered as optional. Is that right?
As i have said above i was expecting the participation of both entities to be mandatory since normally for a team to exist, it must have a number of players, and a player to (exist), (s)he should be associated with a team. This seems not the intepretation taken by the author. After an informal discusssion with peers, it has been suggested that NO assumptions should be made unless it is specified clearly and precisely in the problem description. To support this claim, in the above example with optional type participation, the database can have for instance a table for many players and a record for a team. some players for instance are recorded but are not yet playing for the team at the present. in parallel, we can have a record of a team with no associated players yet!
Consequently, i just concluded that when drawing ER diagram no assumption should be made and i have just to map the statement requirements accurately with no further personal interpretation. In other word to make an entity particpation mandatory, the word "must" should be imperatively included in the statement
however i got confused later while checking the ER diagram suggested as a solution for the following problem
Problem : --------- The university database maintains records of its departments, lecturers, course modules. The requirements are as follows:
The university consists of departments. Each department has a unique name. A department must also have a number of lecturers. lecturers must teach one or more modules. A lecturer can only belong to one department. Modules are offered by departments and taught by lecturers. Solution -------- / \ Name / \ +-----------+ 1 / \ M +---------+ |Department |--------/ Has \--------|Lecturer | +-----------+ \ / +---------+ | Mandatory \ / Mandatory | 1| \ / | Mandatory | \ / | | /\ 1 /\ / \ / \ / \ / \ / \ /Offers\ /teaches\ \ / \ / \ / \ / \ / \ / | \ / | \/ | | Mandatory | | | | M | | | N +-----------+ --------------------------------|Module | +-----------+ Mandatory In the following, i'll go through the above statement line by line. my conclusion is preceded by the symbol.
- The university database maintains records of its departments, lecturers, course modules.
entity types are: departments, lecturers, course modules - The requirements are as follows: The university consists of departments. Each department has a unique name.
the dept entity has a name attribute
- A department must also have a number of lecturers.
one to many relationship between Dept and lecturers. Mandatory participation for department entity type (must word)
- Lecturers must teach one or more modules.
one to many relationship between Lecturer entity and Module entity, where lecturer participation is mandatory, labelled by + in the above relationship - A lecturer can only belong to one department.
one to many relationship between lecturer and dept - Modules are offered by departments and taught by lecturers.
should we really have to model the "offers" relationship as shown above in the diagram?
if we consider only the above statement and the associated ER diagram, my concerns are:
from where come the 1:N relationship between departement and module? And why the relationship is optional for the department entity? As explained in the first part of my message, i don't want to make any assumption which is not clearly included in the statement. of course i do expect that a dept offers more than one module, actually i do expect that each dept MUST offer more than one module, thus the dept particpation in this relationship is mandatory and not optional as shown in the above diagram. In parallel, a module can in some universities offered by more than one dept, i. e joint module, thus the relationship between dept and module should be N:M relationship instead of 1:N with mandatory participation for both of the entity instances.
As already explained above, considering solely the above statement, do we have really to model the relationship (offers) between dept and modules? for instance, in another variant of the above example, the university said to have a library which keep track of the papers published by their members. however, in the modelling, only papers and lecturers were included in ER diagram and not the library entity. someone can expect to have a "have" relationship between dept and library entities
any assistance please?
On 20 Jan 2005 12:21:33 -0800, Maria wrote:
(snip) I have some concerns about the participation constraints that might be missing in the above diagram. Personally, i was expecting a *mandatory* participation for both of the entities. i am just assuming that if a participation is not specified as in the above diagram, it has to be considered as optional. Is that right? Hi Maria,
(Trust me, I'll get more verbose later) (snip)Consequently, i just concluded that when drawing ER diagram no assumption should be made and i have just to map the statement requirements accurately with no further personal interpretation. In other word to make an entity particpation mandatory, the word "must" should be imperatively included in the statement
Any comment? I agree with your conclusion. However, the real world is neither black nor white. In the real world, if the requirements are not entirely clear, you ask.
In the real world, you also make use of your knowledge of your customer's business. Ask a used-car salesman if one customer is allowed to buy more than one car and you're fired before you can even begin drawing the ER diagram. But using your knowledge is often a judgement call, as the dividing line between knowledge and assumptions can be thin. If you have 30 years experience in modeling banking databases, you are probably NOT the right person to model the database for a ground breaking revolutionary new approach to banking - you might be so stuck in the familiar patterns that your "knowledge" are actually assumptions - and they might even be contrary to the innovative plans. Even the safest assumptions can be wrong in certain circumstances. You'd probably agree that it's always safe to assume that "sex" will always be a single-valued attribute of the entity "person", right? ¡Incorrecto! The database for a gender clinic will include people that are physically male but living as a female, people that are physically female but legally male, or even people that are physically somewhere halfway between male and female. In this (admittedly very rare) case, a person's sex should actually be modeled as a relationship. Let's hope you verified your "knowlegde" were not actually "assumptions" before building the database!
Enough of the real world. You are currently reading a text book, and you can't ask a text book to clarify if the requirements are unclear, nor can you ask to verify your assumptions. So you'll have to unlearn assuming. Or to put it another way: learn to always assume the least restrictive option, unless restrictions are explicitly called for. (snip)In the following, i'll go through the above statement line by line. my conclusion is preceded by the symbol.
- The university database maintains records of its departments, lecturers, course modules.
entity types are: departments, lecturers, course modules Agree. - The requirements are as follows: The university consists of departments. Each department has a unique name.
the dept entity has a name attribute And the name attribute qualifies as candidate key. Important information that you should not leave out of your conclusions. It's a shame that the text doesn't include any details on the other attributes of any of the entities. You're missing lots of essential information and you could never build a system off these specifications! - A department must also have a number of lecturers.
one to many relationship between Dept and lecturers. Mandatory participation for department entity type (must word) Agree with the one to many relationship, but you're concluding it too soon. At this point in the text, it can still be a many to many relationship. Agree with the mandatory participation. - Lecturers must teach one or more modules.
one to many relationship between Lecturer entity and Module entity, where lecturer participation is mandatory, labelled by + in the above relationship This relationship can also still be a many to many relationship. There is nothing in the line above that warrants the conclusion that a module can't be taught by more than one teacher. The "must" and "one or more" are quite specific, so you are right about the mandatory participation for lecturer. - A lecturer can only belong to one department.
one to many relationship between lecturer and dept This is indeed the bit of information you need to confirm that the relationship between lecturer and department is one to many, not many to many. The advanced nitpickers can have their field day with this sentence: do the words "can only belong to" denote a maximum only, or do they denote both a maximum and a minimum? Correct interpretation of these words requires a thorough understanding and knowledge of the language. And though my English is fairly good, it's not my native language, so I don't think I can make any authorative statements here. However, my gut feeling says that this is only a maximum and that this sentence does NOT imply that participation of lecturer in the relationship is mandatory. Your mileage may vary.
- Modules are offered by departments and taught by lecturers.
should we really have to model the "offers" relationship as shown above in the diagram? Yes, we should. The modules are apparently not offered by the university as a whole, but by the specific departments. If somebody calls the university and has questions about a module, the phone operator should know which department (or departments) offers that module, so the call can get transferred to the correct department.
There's very little information about the cardinality of the "offers" relación. It might be one to one, one to many, many to one or many to many - the sentence above is correct in all these cases. It is also not clear if each department MUST offer any modules. The only thing we can say, is that each module MUST be offered by a (at least one) department; otherwise, the words "Modules ARE offered" should have been "Modules MAY BE offered" (or CAN BE, or whatever).
The same goes for the "teaches" relación. We already knew that each lecturer teaches at least one but possibly more modules; from the information above we can now also conclude that each module is teached by at least one author. The relationship can still be one to many or many to many, though.
Instead of the solution in your text book, I have now arrived at the following solution:
In my opinion, the author of your book made three assumptions that are not warranted by the text: the one to many instead of many to many for the Offers relationship, the one to many instead of many to many for the teaches relationship and the mandatory participation of Lecturer in the Has relationship (but see the gotcha above).
if we consider only the above statement and the associated ER diagram, my concerns are:
from where come the 1:N relationship between departement and module? Explained above. And why the relationship is optional for the department entity? Because there is nothing in the text to indicate that each department MUST offer any modules.
As explained in the first part of my message, i don't want to make any assumption which is not clearly included in the statement. of course i do expect that a dept offers more than one module, So do I, but the fact that both you and I expect it doesn't change the clear fact that this is an assumption. Don't use it when you are modeling.
Yes, my model will also allow a department to offer more than one module, NOT because I assumed they would, but because nothing in the text indicate that they can't. actually i do expect that each dept MUST offer more than one module, thus the dept particpation in this relationship is mandatory and not optional as shown in the above diagram. Here, your assumptions results in a wrong conclusion. The text does not indicate that a department MUST offer a module, so you should not include such a constraint. You may deem it logical that each department should always offer modules, but others might have different expectations. This particular university might have departments that are still developing their first modele. Or departments that will be discontinued, still in the administration until the last students have finished the last module, but not offering any new modules. Or the university might have research-only departments. But even without these examples, the conclusion is simple: the text doesn't indicate this constraint, so it should not be included. In parallel, a module can in some universities offered by more than one dept, i. e joint module, thus the relationship between dept and module should be N:M relationship instead of 1:N with mandatory participation for both of the entity instances. I agree with the conclusion, but (again) not with the reasoning. That it can be done in some universities is irrelevant - what counts os that nothing in the text indicates it isn't done by this particular university.
I've given my students text about relationships between circles, squares and triangles. I've given them texts with words I made up myself (like "each grumbah will fnargoosh one or more quirckles"). And I've given them text about familiar things in the real world, but with some requirements changed to the unexpected. All with just one purpose: to teach them to NEVER ASSUME ANYTHING.
As already explained above, considering solely the above statement, do we have really to model the relationship (offers) between dept and modules? for instance, in another variant of the above example, the university said to have a library which keep track of the papers published by their members. however, in the modelling, only papers and lecturers were included in ER diagram and not the library entity. someone can expect to have a "have" relationship between dept and library entities
Are you familiar with the term "Universe of discourse" (UoD for short)? The universe of discourse is the subject of the database or model: the part of the "world" under discussion. In this UoD, there is only one university, so there is no need to model the the departments are part of this university - departments that are not part of this university are not part of this UoD. The same argument goes for the library: since the UoD has only one library and all papers are assumed to be in (or registered by) that library, there's no need to model the library as an entity, nor a need to model the fact that a paper is in the collection of that library.
However, the UoD has (or rather: might have) more than one department; it is therefor relevant to model which of the department offers a specific module.
That's it for now. Did I already mention that I'd get more verbose. -)
(Remove _NO_ and _SPAM_ to get my e-mail address)
ER Diagrams
ER Diagrams. com offers free, ready-to-use, er diagrams/data models . The ER Diagrams presented here are instant to download and are mainly meant to make the database modeling and building process easier. You can edit the downloaded data models/er diagrams so that it meets your needs.
Whether you are a database designer newbie trying to educate yourself or a professional database designer seeking for a database design for your new project, you are sure to find the data model that you will consider worthy to download and use in your project.
We update our collection of data models on a regular basis so don't hesitate to come back to check out our free data models that may become your new database.
Recommended Tools
All data models on this website are made with DeZign for Databases. You can open/edit and view the data models with the trial (and full) version of this software. Download this data modeling tool here.
Popular Entities
A stall at the "Carbon Expo: Global Carbon Market Fair" which deals with the topic of emissions trading and the emerging carbon market in Cologne, Germany, June 9, 2004. AP Photo
"A Proposal for a Global Upstream Emission Trading System (UGETS)"
An effective policy approach to climate change would be a global emission trading system, whereby;
A stringent cap is placed on global greenhouse gas (GHG) emissions that will serve, at the very least, to halve current emissions by mid-century. The cap must achieve an acceptable level of climate stability in light of the latest analysis of the Intergovernmental Panel on Climate Change.
A credible long-term system of price signaling will ensure minimum abatement cost worldwide and will trigger technology innovation.
Opinions differ, however, as to what approach should be pursued when fostering a global emissions trading system. Many argue in favor of linking various national and regional emission trading systems as a possible way forward. However, an alternative method, which involves developing a new system from the ground up, could prove more advantageous for the following reasons.
First, some national and regional systems may be downstream, and the linking of downstream systems does not necessarily lower abatement cost to the minimum, as it does not cover economy-wide emissions. National systems, therefore, should cover far more than what the European Union Emission Trading System (EU ETS) is covering to ensure minimum cost for GHG abatement.
Second, the linking of downstream systems does not necessarily prevent carbon leakage, as it does not ensure a worldwide carbon price. Marginal abatement costs must converge in order to avoid leakage, and only an economy-wide global system will achieve this.
Third, the linking of downstream systems presents a major challenge with regard to the comparability and adequacy of various schemes. This challenge will be compounded relative to linked upstream systems, as downstream trading requires accurate monitoring of all data related to fossil fuels purchased and consumption at a large number of emission points—factories, mills, furnaces, power stations, etc. It represents a major administrative challenge to all countries, developed as well as developing.
On the other hand, an Upstream Global Emission Trading System (UGETS) meets all of these challenges. Under UGETS, all nations would use an upstream emissions trading system that would result in far fewer monitoring points than a downstream system. A nation would only need to keep track of domestic shipments and imports of fossil fuels. This is the simplest.
In order to realize UGETS, the international community must agree:
To accept a stringent long-term global cap on GHG emissions that will lead to an accepted level of climate stability. A world-wide system is created with an authority to issue allowances in accordance with the stringent cap.
That a world-wide system provides and initially allocates allowances for free to all countries on the basis of a formula agreed upon globally. Each country can then sell those allowances by auction in their domestic market.
To ensure free, unrestrained, and non-discriminatory transactions of allowances domestically as well as internationally.
In this way, UGETS would allocate allowances to nations for free, after which national governments would auction the allowances in their domestic trading market, thereby creating revenue for each national treasury. Likewise, a nation and business could sell allowances in any foreign country’s market and create revenue.
Experts view this initial allocation of allowances as problematic, since it involves transferring financial resources; they argue that it is too difficult to allocate such allowances equitably. The initial allocation, however, can be done on the basis of any formula that is agreeable to all countries. It can be on the basis of per capita emissions or any other formula combined with other indices. What is important is to recognize the Coase Theorem, which states that, as long as the trading is free worldwide, global emissions trading ensures the maximum GDP production regardless of which allocation formula is adopted. Therefore, in reality, the issue of initial allocation of allowances is not as serious as it first appears to be. Furthermore, providing a rather favorable initial allocation to developing countries in light of “common but differentiated responsibilities” does not represent an undue burden for the OECD countries, as UGETS seeks the least expensive abatement opportunities. Taking all of the above into consideration, particularly the Coase Theorem, the international community can agree to provide a rather favorable initial allocation of allowances to developing countries, at least to the extent that the principle of “common but differentiated responsibilities” justifies.
As the climate continues to deteriorate, demand for the surest and least expensive solution will increase. The international community will need to resolve expeditiously all issues, such as equitable allocation of allowances, so as to prevent the catastrophe at hand. Although still in its rudimentary stages, UGETS may prove the wisest choice in such a state of climate emergency.
Akinobu Yasumoto, Advisor, Global Industrial and Social Progress Institute of Japan
Mutsuyoshi Nishimura, Special Advisor to the Government of Japan
Views expressed here are strictly personal and do not reflect those of the organizations to which the authors belong.
Viewpoint s present policy proposals, considered opinions, and commentary by distinguished policymakers, leaders from business and non-governmental organizations, and scholars. The Harvard Project on International Climate Agreements does not advocate any specific climate change policy proposals. Statements and views expressed in Viewpoints are solely those of the authors and do not imply endorsement by Harvard University, the Harvard Kennedy School, or the Harvard Project on International Climate Agreements.
Para obtener más información sobre esta publicación, póngase en contacto con el Coordinador de los Acuerdos Climáticos del Proyecto Harvard al 617-496-8054.
College Management System Project | VB Project
college management system project is free project basically developed in visual studio of latest version. also er diagram of college management system is shown in following class diagram of college management system . which is not exactly related to project but it contain broad map of project. to know more download project report of college management system . All new admitted student information is maintain her. any needed info whatever it is, can also be modified with this college management system in vb CMSP Project. Depend on classes system will allocate lecturer and subject they teach on classes. Also maintain attendance of student, employee and teacher i. e. lecturer. all at once store it on database. the student those are gone in other college for sake of competitor, they also noted down. In short this system do all those thing which are required for college management system project basic with advanced features. the component of college management system project are:
college management system login.
college management system report.
ER diagram of college management system .
college management system project documentation .
class diagram of college management system .
ER Diagram of College management System in vb (vb. net):
What show class diagram for college management system project ?
data flow diagram.
exact working.
easier to trace error.
planning before construction idea.
reduce failure rate.
increase redundancy.
maintain quality.
Reduce cost.
We assure about project because this software have no-error ( error free ). you download project college system by clicking download icon given below. more project on mini project in vb click link. so take this project for you curriculum activity for increasing your grades/ mark. also tells your friends about website. if you have any problem then comment us on below or you can also use facebook comment. enter your email address in footer to get update of project. if you have CMSP Project and need to upload on project-download. com with your name then send your project with report and your detail on 1000 projects
Download college management system project report + project
The mysterious power of Gravity holds the earth in orbit around the sun, and holds the moon in orbit around the earth. Although perhaps its not obvious to most of us, the sun is also moving around the galaxy in what we call the milky way. All very dynamic isn't it.
Albert Einstein and Stephen Hawking both confess to not understanding gravity. If they didn't understand it, then what chance do the rest of us have?
Some formulas exist for computing gravitational pull effects, other formulas exist to compute acceleration, deceleration and momentum etc. So perhaps one can compute a model without actually understanding the dynamic physics of it all.
So what if these formulas get applied to the stock market? Could it work? Could it be true that a price breakout can be compared to a moon that somehow escapes the gravitational pull of its mother planet?
A long time ago, I had this crazy idea, and at various points in time I coded up some models to see if my theories could be proven.
I have often observed on charts the strange phenomenon of prices getting stuck in ranges, being set free to run and run, oscillating wildly up and down, and behaving without any pattern in a truly random manner.
First of all one has to figure out where the sun is located on a vertical axis, where would it be? Could it be the point of most volume or the point of control as define in market profile terminology? Could it also be true that the price action is orbiting around this point with set boundaries?
My theory is that these are true, and the price is not going anywhere much unless the sun itself moves, or the earth slips out of orbit. Both of these points require something to happen first. Such as large amounts of volumes occurring away from the sun area.
So lets look at a scenario. Consider the following.
Have you tried using the Value area (VA) from market profile (MP) concepts, as a way to compute the position of the sun?
Yes, that as well as the MP "point of control" has already been tried, also VWAP and PLA combinations of these. The key to this part as I define it above is that the sun must move smoothly in an arc, or else the theory is refuted.
As a result of this very important point, the calculation is made from a blend of factors which have been given boundaries to direction. Any sudden movement of the sun is not allowed, and large price swings must be justified by movement of the earth in orbit or the earth leaving orbit.
When does the Precision Gravity system become available for sale, I have been using your Pi-Osc with good results.
It could be a while. but anyone who is interested, can drop me a mail to get progress reports
I have some code to measure cycles if you are interested?
That maybe worth looking at, sure you can send it on. I have been experimenting with some code which I got from John Ehlers. who is the worlds no1 cycle expert. Some of his code has been implanted in the right places. Likely I will be asking him for some more help as his maths knowledge is world class.
This idea seems pretty crazy and ridiculous to me, I don't think there is a chance in hell it will work
You could be right, but you could also be wrong. See quotes.
Far better is it to dare mighty things, to win glorious triumphs, even though checked by failure. than to rank with those poor spirits who neither enjoy nor suffer much, because they live in a grey twilight that knows not victory nor defeat.
Or the longer version
“It is not the critic who counts; not the man who points out how the strong man stumbles, or where the doer of deeds could have done them better. The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood, who strives valiantly; who errs and comes short again and again; because there is not effort without error and shortcomings; but who does actually strive to do the deed; who knows the great enthusiasm, the great devotion, who spends himself in a worthy cause, who at the best knows in the end the triumph of high achievement and who at the worst, if he fails, at least he fails while daring greatly. So that his place shall never be with those cold and timid souls who know neither victory nor defeat.” Theodore Roosevelt
I agree with Roosevelt, critics are pretty useless to all, they don't ever achieve anything worthwhile, but just attack the mistakes others make. Your model seems interesting but very complex to compute with so many factors I think.
But a good research project, good luck with it. How is it coming along? Can you send the code to me?
Thanks, it sure is complex. The initial results are encouraging. I am waiting for the algorithm for phasor calculations from John.
Sorry no code for sale yet. Its a big job and some of my quants are busy with other things.
Looks good in the photo Roger, how much longer do you think it will be?
The initial results are encouraging, 72% of the FT-SE100 stocks tested made a profit, the problem is there are too many variables in the code which I need to freeze, and testing it all takes a lot of time.
Has your critical reader seen that screen shot?
How to Create an Entity-Relationship Diagram for an Auto Service Business
Entity-relationship (ER) diagrams demonstrate relationships between the persons, places and things in an enterprise. An auto service business Crow's Foot entity-relationship diagram illustrates how the components of the enterprise such as customers, vehicles, mechanics and invoices work together. Create the entity-relationship diagram for an auto service business as basic or as detailed as needed.
Otras personas están leyendo
How to Create Entity Relationship Diagrams
How to Make an ERD in Access
Things You'll Need
Software drawing tools (optional)
The Steps
Define the entities (person, places or things) of an auto service business. Entities include customers, vehicles, mechanics, customer service assistants, salaries, invoices and customer records.
Define the relationships between the entities. Identify the relationships as verbs in the form "entity -- relationship -- entity." Relationships include "mechanics service vehicles," "customer service assistants manage customer records," "mechanics receive salaries," "customer service assistants receive salaries," "customer service assistants help customers" and "customers pay invoices."
Draw the entity-relationship diagram. Write the name of each entity inside its own rectangle. Draw a line between entities that have relationships. Write the name of each relationship above its corresponding line.
Define the cardinality (maximum number of instances, either "many" or "one) and modality (minimum number of instances, either "one" or "zero") of the relationships. For example, one mechanic services many vehicles, one customer service assistant manages many customer records, one mechanic receives one salary, one customer service assistant helps many customers and one customer pays one invoice.
Write the cardinality of the relationships on the outer ends of the relationship lines next to each entity. Denote a cardinality of "many" by drawing on the relationship line a crow's foot with three toes (similar to the letter E) touching the entity. Denote a cardinality of "one" by drawing a straight line perpendicular to the relationship line immediately next to the entity.
Write the modality of the relationships next to the cardinality. Denote a modality of one by drawing a straight line perpendicular to the relationship line (as in denoting cardinality). Denote a modality of zero by drawing a circle.
Resources
You May Also Like
An entity relationship diagram (ERD) helps database designers review and verify links between tables in a database. An ERD shows a visual.
How to Make an ERD in Access;. Examples of this are Customer, Purchase Order, Product, etc. Phlonx: 3 Normal Form.
Customer ID Number, Salesman. The ERD now accommodates any number of. How to Create an Entity-Relationship Diagram for an Auto Service.
How to Find Your Car's Wiring Diagram. Entity-relationship (ER) diagrams demonstrate relationships between the persons, places and things in an enterprise.
How to Create an Entity-Relationship Diagram for an Auto Service Business; How to Make Entity Relationship Diagrams; Print this article;. Cómo.
An entity relationship diagram, or an ERD. How to Create an Entity-Relationship Diagram for an Auto Service Business. Entity-relationship (ER).
The Best Car Tracking Devices. driving activity of their teen and gives the ordinary person a diagnostic tool previously available only.
How to Make Entity Relationship Diagrams; Why Are Entity Integrity & Referential Integrity Important in a Database? Print this article; Physical Entities.
Entity-Relationship Diagram. During the Microsoft Access database design stage. The other fields that complete the entity appear below the line in.
Sparx Systems' Enterprise Architect creates system diagrams using commands based on the. How to Create an Entity-Relationship Diagram for an Auto.
Entity Relationship Diagrams, or ERDs, are used to convey the entities within a system and the relationships between those entities. Son.
Just as a new job might mean more responsibility, so does driving a company car. Determining the driver's liability on a company.
Systems Diagrams
Systems diagrams allow you to model complex systems.
System diagrams are powerful tools that help you to understand how complex systems work. Systems analyzed may be anything from businesses, through biological population models, to the impact of social policy, etc.
System diagrams are particularly helpful in showing you how a change in one factor may impact elsewhere. They are excellent tools for flushing out the long term impacts of a change. Importantly, a good system diagram will show how changing a factor may feed back to affect itself!
Drawing a system diagram is a good way of starting to build a computer model. The technique helps you to map out the structure of the system to be modeled. It shows the factors and relationships that are important, and helps you to start quantifying the linkages between factors.
How to Use the Tool
Relationships Between Factors
At the heart of the use of system diagrams is the idea of linking factors to show a relationship between them.
For example a company may link the factors of product quality and customer satisfaction. It believes that as the quality of its goods change, so will customers' happiness with them. We show this as an arrow linking the two factors:
The S shows that the factors move in the Same way – as quality improves, so will the happiness of customers. The arrow shows the direction of the relationship: raising customer happiness does not necessarily raise the quality of the goods!
These relationships can also work the other way. The company may link price with the customers' perceptions of the 'good value' of its goods. This is shown below:
The O shows that the relationship works in the opposite way: in this case as you raise price, customers' perceptions of good value reduce.
Feedback Loops
Feedback is an important concept in the use of system diagrams – in very many cases changing one factor will impact on another factor, which will then affect the first.
Finding This Article Useful?
You can learn another 39 problem-solving skills, like this, by joining the Mind Tools Club.
Feedback will either reduce the impact of the change, or will amplify it.
Balancing Loops
Where feedback reduces the impact of a change, we call this a Balancing Loop. The example below shows an example of a balancing loop, where an under-resourced service company is trying to raise quality:
In this situation, improving the quality of service leads to improved customer satisfaction, which leads to an increase in demand for the company's service. In trying to meet this demand, the company has less time to devote to individual customers, which reduces its ability to improve quality further.
Note the small circular arrow in the middle of the loop. This shows which way round the loop is running. In complex diagrams with many loops, this arrow will be labeled and will identify loops.
The graph below shows how quality of service might vary with time in the example above:
Reinforcing Loops
Where feedback increases the impact of a change, we call this a Reinforcing Loop. The example below shows an example of a theatre trying to improve its profitability by investing more in productions.
As more investment is put into a production, the theatre is able to put on more lavish plays with more famous actors. Better plays should bring better reviews, and therefore higher ticket sales. This should lead to higher profitability, and therefore more money available to invest in future productions.
A graph showing how ticket sales might vary against time is shown below:
Note that this assumes that investment is increasing as time goes on. It also ignores some important facts: firstly that there are only a certain number of seats in the theatre, and secondly that external factors such as competition and market saturation will eventually limit growth. On a system diagram showing the way that the theatre operates, these factors would be shown as balancing loops impacting on this reinforcing loop.
External Factors
The system diagrams we have looked at so far completely ignore the impact of these external factors on them.
In our balancing loop example above we assumed that demand was raised only as customers became more satisfied. In reality demand is just as likely to be affected by the state of the economy. This is shown in the modified diagram below:
We show an external factor as a labeled relationship arrow pointing to the appropriate part of the system diagram.
Gaps
In our reinforcing loop example above we related sales of theatre seats to investment in productions. What we were not able to build into the model was the fact that there is a limited number of seats in the theatre.
Inevitably this will cap the growth of ticket sales as the theatre will seriously upset customers if it sells more tickets than it has seats available!
We build this into our model with the idea of a gap. There is a gap between the number of seats available (an external factor we have not yet built into our model), and the number of seats used (tickets sold).
As the theatre sells more tickets, the size of this gap reduces. At a particular point it cannot sell any more tickets. Increases in investment beyond this point may not yield any more profit.
We show this by modifying our diagram to both show both the external factor of the limit of the number of seats, and to show the gap:
When all seats are sold, i. e. when seats available – seats bought = 0, then profit will not rise any higher unless other factors are brought into the system.
Note that it is very important to get the gap definition correct for your model.
Delay
The impact of delay is the final area we need to consider in our system diagrams.
Ideally when we make a change to a system it should adjust immediately to its new state. In reality there is almost always a delay before other factors adjust. This delay may occur in a mechanical system simply as a result of inertia and friction. In a human system it will occur as people take time to communicate, get used to new ideas, and implement change.
We can show this delay in a simple model using antelopes and cheetahs. As the number of antelopes rises, more food is available for the cheetahs. More cheetahs will therefore survive, and will be able to breed.
One part of the delay within this system is given by the length of time it takes for a cheetah to be born and grow to maturity. The other part occurs as starving cheetahs take time to die.
Feedback occurs as cheetahs kill antelopes. The higher the number of cheetahs, the greater will be their impact on the antelope population.
The system below shows this:
Note the double slash on the line showing the relationship between the antelope and cheetah populations. This shows that some form of delay is slowing the change of the related factor.
If there was no delay within the system, we might expect to see a graph showing the number of cheetahs over time like the one below:
Here adjustment would be immediate. Any change in the antelope population would be instantly matched by an increase in the cheetah population. These additional cheetahs would eat the additional antelopes, and then die immediately.
The delay in the system causes it to behave in a different way:
Firstly the cheetah population will take time to increase
Next, the large population of cheetahs will continue to breed as food starts to become scarce.
This number of cheetahs will cause a big reduction in the number of antelopes.
This will then lead to a crash in cheetah population as animals starve.
The antelope population will then recover as there will be fewer cheetahs to restrict their numbers.
If nothing else has any impact on this system, then cheetah numbers may oscillate as shown below:
This occurs as the cheetah population continually over-adjusts, first in growth, and then in decline. In this system, the longer it takes for a cheetah to breed and starve – i. e. the greater the delay – the greater will be the variations in cheetah populations.
Improving the Systems Model
The models we have looked at so far have been simple – they have ignored many possible impacts on each system. For example, in our model of antelopes and cheetahs, we have ignored the impact of disease, drought, human activity, etc.
We improve the model by building in as many of these external factors as we can think of. We can then simplify it by eliminating those factors that have a negligible impact.
External factors might be:
Natural – weather, natural resources, disease, environmental change, etc.
Technological – new technologies, changes in technology, etc.
Human – psychological, emotional, ambitions, expectations, etc.
Political – ideology, corruption, effectiveness, interest, etc.
Social – values, social inertia, traditions, philosophies, etc.
Financial – state of the economy, capital available, etc.
Ultimately you may end up with a model made up of a number of reinforcing loops, balancing loops and external factors. The example below shows a more sophisticated diagram of the antelopes and cheetahs system:
Note: This diagram is an example only and does not necessarily reflect how antelope and cheetah populations operate in real life.
Systems Diagrams as the Basis of Computer Models
Once you have established the relationships between factors on your diagram, you can look to see if you can put numbers to the relationships. In the example above you may find that if drought halves the amount of grass available to antelopes, that the antelope population reduces by one third.
You can build this relationship into a computer model. A useful way of starting this with simple and moderately complex models is to build the model on a spreadsheet.
You can use this model to make predictions by changing factors within it. This would allow you to assess the likely impact on your system of external changes, and investigate the effect of changes you might make within the system.
Key Points
Systems diagrams allow you to model the way in which complex systems work. They help you to think through the way in which the factors within a system interact and feed back upon themselves.
You should now be able to analyze:
How factors are related, and how one factor will change when another changes.
How factors may feed back in either balancing loops or reinforcing loops.
How external factors impact on the system.
How gaps operate.
How delay affects the system.
All the complexities of a system.
This site teaches you the skills you need for a happy and successful career; and this is just one of many tools and resources that you'll find here at Mind Tools. Subscribe to our free newsletter. or join the Mind Tools Club and really supercharge your career!
Build a Positive Team Workbook Offer!
Build a team that's bursting with energy and enthusiasm . when you join the Mind Tools Club before midnight, March 24 .
Comments (6)
Over a month ago Midgie wrote
Hi Shawn, Thanks for the feedback and we're pleased to hear that the article helped with your understanding. Thanks for the suggestion which I will pass on to the editorial team for their consideration.
Regarding your questions about whether a systems diagram by used to explain somethring like an automobile repair shop. I believe that it can. System diagrams can be used for any process with individual steps such as from the point when a customer walks in the door to when they leave.
Midgie Mind Tools Team
Over a month ago Shawn wrote
hi, this article helped me greatly in understand how systems work. May i ask if it is possible to explain how a firm works in terms of value creation (inputs -> conversion -> outputs) activities? can a systems diagram be used to explain this for example, an automobile repair shop?
Over a month ago Yolande wrote
Kausar, I really think it will benefit you more if you do your own research and report on your findings. It will deepen your understanding of the topic - which is really the purpose of case studies. If there is anything on our website you need help with, you're more than welcome to let us know.
Yolandé Mind Tools Team
Build a Positive Team Workbook Offer!
Build a team that's bursting with energy and enthusiasm . when you join the Mind Tools Club before midnight, March 24 .
Calling All L&D Managers!
Populate your LMS with 1,000+ management and leadership development resources with Mind Tools Corporate .
Difference Between ER Diagram and Class Diagram
ER Diagram vs Class Diagram
ER (entity-relationship) diagrams and Class diagrams are two of the design diagrams that the software developers create usually during the design phases of the software engineering life cycle. ER diagrams are a product of entity-relationship modeling (ERM) technique for modeling databases. A class diagram, written in Unified Modeling Language, is a diagram that describes the structure of a proposed system. Although there is no requirement to have an exact one to one mapping between the classes in class diagrams and entities in entity diagrams, generally there is some meaningful relationship between them. However, there are plenty of occasions where an entity of an ER diagram maps to multiple classes of the corresponding class diagram or a single class of a class diagram mapping to multiple entities of the corresponding ER diagram. But, this depends entirely on the design choices of the software developers.
ER diagrams are the product of entity-relationship modeling. Entity-relationship modeling is the process of coming up with an abstract and conceptual representation of data. ER diagrams ultimately model the databases. More specifically, it produces the conceptual schema of the data model. Main building blocks of ER diagrams are entities, relationships and attributes. An entity represents a thing that can exist independently and that can be defined uniquely. Most often, an entity represents a real world object such as a car or an employee. Entities can be though of as nouns that come up during the description of the problem to be solved. Relationship shows how entities are connected. They are like verbs found in the description of the problem to be solved. Properties of both entities and attributes are called attributes.
What is Class Diagram?
A class diagram (more correctly known as a UML class diagram) is a design diagram that represents the static structure and the behavior of a proposed system, defined using UML (Unified Modeling Language). A class diagram shows the systems’ classes, relationships between classes, and their attributes. Classes depict the abstract representation of real world objects, while the relationships depict how each class is connected to others. Both classes and relationships have properties called attributes. Methods in the classes represent or define the behavior of these classes. Methods and attributes of classes are called the members of the class.
What is the difference between ER Diagram and Class Diagram?
Although ER diagrams and Class diagrams are two of the design diagrams developers often come across during the design phases of software engineering projects, they have their key differences. ER diagrams represent the abstract representation of the data model, while class diagrams represent the static structure and behavior of the proposed system. Main building blocks of ER diagrams are entities, relationships and attributes but the main building blocks of class diagrams are classes, relationships and attributes. Class diagram are more likely to map in to real-world objects, while ER diagrams most often map in to the tables in the database. Usually, relationships found in ER diagrams are more difficult to understand for humans than relationships in class diagrams.
UML diagrams
What is UML (Unified Modeling Language)?
UML or Unified Modeling Language is a language of graphical description for object-oriented modeling in software development. UML was created to define, visualize, construct and document mainly software systems. Though, the use of UML is not limited to software development. It is also used to model business processes, design systems and visualize organizational structures.
UML is object-oriented. As a result analysis results methods and construction methods are semantically close to programming methods using current object-oriented languages;
UML make is possible to describe the system from virtually all possible points of view and give various aspects of system behavior;
UML diagrams are quite easy to understand;
UML extends and allows addition of custom text and graphical types which makes it possible to use not only in software engineering;
UML is a unified standard and it is dynamically evolving.
How Grapholite can help
Grapholite allows you to easier create a UML diagram by offering the following abilities:
complete set of UML elements right under your fingertips, just look at the toolbox;
smart drawing tools, automatic connectors and shape library to create flow charts of processes, algorithms and procedures;
ability to work in online and offline modes; in and out of browser;
export to the most commonly used picture and document formats.
Types of UML Diagrams
There are 14 types of UML diagrams. They can be divided into two categories: Structure diagrams (representing information structure) and Behavior diagrams (representing behavior of the system and different aspects of interactions).
Structure Diagrams
Class Diagram is a static diagram describing system structure. It demonstrates system classes, their attributes, methods and relations between the classes.
Component Diagram is a static structure diagram that shows division of a software system into structural components and relations between the components. The components can denote files, libraries, modules, executable files, packages, etc.
Object Diagram shows complete or partial snapshot of the modeling system in some specific moment. Object diagram displays system class instances (objects) and states current values of their values and relations between the objects.
Composite Structure Diagram is a static structure diagram demonstrating inner structure of classes and, if possible, interaction of the elements of the inner class structure. Composite structure diagrams can be used together with Class Diagrams.
Package Diagram is a structure diagram showing packages and relation between them. This diagram type is used to organize elements into groups based on some condition in order to simplify structure and work with the system model.
Deployment Diagram is used to model operating nodes and artifacts deployed on them.
Profile Diagram describes extension mechanism to the UML. They contain stereotypes, tagged values, constraints that are applied to classes, attributes, operations and activities. Profiles make it possible to adjust UML to different platforms and domains.
Behavior Diagrams
Activity Diagram is a diagram showing how some activity is divided into constituent parts. Activity diagrams are used to model business processes, technological processes and parallel calculations.
Use Case Diagram describes relations between actors and use cases. The main purpose is to provide a unified tool to the customer, end user and developer that will allow collective discussion of the system features and behavior.
State Machine Diagram depicts dynamic behavior of an entity based on its response to events, showing how the entity reacts to various events depending on the current state that it is in.
Communication Diagram shows interaction between the parts of the composite structure and cooperation roles. It clearly states relations between the elements (objects).
Sequence Diagram is used to visualize sequenced interaction of the objects. It shows objects participating in interaction and sequence of the messages they exchange.
Interaction Overview Diagram includes a part of a Sequence diagram and constructions of the management stream. It helps to review objects interaction from different points of view.
Timing Diagram is a specific type of interaction diagram focusing on timing. This diagram type is used to explore behavior of objects throughout a given period of time.
How to Draw a UML diagram
The easiest way to draw a new UML diagram is to use Grapholite. Simply choose New from the File menu, then just drag-and-drop the necessary shapes and show connections by the arrows. Or use one of the pre-designed templates.
A user-friendly interface was developed for Loan Management System. I used Oracle Developer 2000 for developing the interface. Form 6i was used to develop input forms and report 6i was used to develop output reports.
Main Screen: The form is a parent form. User can easily open different input forms and output reports from here. Initially when the system starts main screen is not activate.
Description . This form is used to check users validity. If the user is valid then main screen activated.
From Name: Branch Information
Menu Path: Setup >> Bran Information
Description: This screen is used to setup different branches.
Related Tables: BRANCH.
Form Name: Section Information
Menu Path: Setup >> Section Information
Description: This form is used to setup different sections.
Related Table . SECTION_TYPE
Form Name: Ledger Information
Menu Path: Setup >> Ledger Information
Description: This form is used to setup different types of Ledger Section.
Related Table . LEDGER_SEC_INFO
Form Name: Project Information
Menu Path: Setup >> Project Information
Description: This form is used to setup new Project.
Related Table . PROJECT
Form Name: Cycle Information
Menu Path: Setup >> Cycle Information
Description: This form is used to setup different types of installment cycle.
Related Tables: INS_CYCLE_INFO
Form Name: Other Charge Type
Menu Path: Setup >> Other Charge Information
Description: This form is used to setup different types of other charge type.
Related Tables: OTHER_CHARG_TYPE
Form Name: New Currency Entry
Menu Path: Setup >> Currency Information
Description: This form is used to setup different types of currency.
Related Tables: CURRENCY_INFO
Form Name: Loan Master
Menu Path: Regular Entry >> Not Due >> Loan Master
Description: when a new loan number is created this screen is used to entry/create the new loan number and other required information details. To complete this process user should input different type of related information such as project id, currency code, sanction details, installment details, disbursement details and other related information.
Related Table . LOAN_MASTER & LOAN_BALACE.
Form Name: Loan Disbursement
Menu Path: Regular Entry >> Not Due >> Loan Disbursement
Description: This screen is used to entry Disbursement Information of a specific loan number. The information includes disbursement amount, value date, transact date etc.
Related Table . LOAN_DISBURSE
Form Name: Repayment Schedule
Menu Path: Regular Entry >> Not Due >> Repayment
Description: This screen is used to prepare the Repayment Schedule of the Not Due Section for installment (Principle & Interest) fall.
Related Table . REPAY_SCH_MASTER & REPAY_SCH_DETAIL
Form Name: Amount Falling Form
Menu Path: Regular Entry >> Not Due >> Amount Fall
Description: This screen is used to move all the due amounts to over due section.
Related Table . LOAN_BALANCE
Form Name: Pay Receive
Menu Path: Regular Entry >> Over Due >> Pay Receive
Description: This screen is used to entry the Received Amount. To entry in this screen user should give the project information with value date, loan number on which the pay amount will be adjusted
Related Table . PAY_RECEIVE_MASTER & PAY_RECEIVE_DETAILS
Form Name: Other Charge Entry Screen
Menu Path: Regular Entry >> Over Due >> Other Charge
Description: This screen is used to entry Other Charges against loan number in over due section.
Related Table . OTHER CHARGE
Form Name: Rephrase Information
Menu Path: Regular Entry >> Over Due >> Rephrase
Description: This screen is used for Rephasement Purpose. Here balance is transferred from old loan number to new loan number of the same project.
Related Table . REPHARASE
Form Name: Rebate Information Screen
Menu Path: Regular Entry >> Over Due >> Rebate
Description: If any rebate is given against any loan number then this information is stored using this screen.
Related Table: Rebate
Report Name: Not Due Ledger
Menu Path: Reports >> Not Due >> Not Due Ledger Balance
Purpose: This report shows branch wise ledger information of loan number.
Input Parameters: Branch Number
Report Name: Disbursement Balance
Menu Path: Reports >> Not Due >> Disbursement Balance
Purpose: This report shows Disbursement Balance information of the Branch Name.
Input Parameters: Branch Name
Report Name: Pay Receive
Menu Path: Reports >> Over Due >> Pay Receive
Purpose: This report shows received amount in a particular time Period.
Input Parameters: Dates
Report Name: Over Due Balance
Menu Path: Reports >> Over Due >> Over Due Balance
Purpose: This report shows the detail of the over due ledger.
Input Parameters: Branch Name
Menu Path: Reports >> Over Due >> Over Due Balance
Purpose: This report shows the summery over due balance of all the branches.
Input Parameters: No input parameters needed.
Entity-relationship modelling
In this chapter I introduce the concepts of entity-relationship (ER) modelling. At the end of this chapter you should be able to explain and apply these concepts.
1 Databases, this class, and you
Data bases, and the data base management systems that lord over them, are the core information systems technology. They are used---and will be used---to store corporate data, web pages, on-line movies, work flow information, document databases---absolutely everything that is of interest to business. After taking this class you will clearly understand and be able to explain why this is a good thing. This understanding will allow you to see opportunities for exploiting this technology in innovative ways.
Both of the above will be useful for a student (and eventual businessperson) whether they be interested in accounting, marketing, human resources, or finance. Business process reengineering (BPR) (by whatever name) virtually demands that data bases take a more central role in a corporations life. By its very definition BPR demands that people from throughout an organisation apply information technology solutions to broad problems. Data bases are one of the more frequently applied solutions. Thus, I propose that a great percentage of students interested in business should be knowledgeable about data bases.
2 A very simple modelling exercise
The whole purpose of ER modelling is to create an accurate reflection of the real world in a database. The ER model doesnt actually give us a database description. It gives us an intermediate step from which it is easy to define a database. Lets look at an example. (You will see much more detail on these concepts in the rest of this chapter. For now just try to understand the overall process.)
Suppose you are presented with the following situation and are told to create a database for it:
Every department within our company is in only one division. Each division has more than one department in it. We dont have an upper limit on the number of departments that a division can have. For example, the New Business Development ---the one managed by Mackenzie---and Higher Education departments are both in the Marketing division.
This is a fairly clear description of a situation. Many things are left unsaid that we understand about the situation. For example: each division has a name, and that name is unique within the company. For now, though, lets focus on the description as it is given.
The first step is to figure out the items of interest in this situation. (In this document you will come across Problems . You should attempt to perform these before continuing the reading. Simply reading the problem and then reading the answer is not sufficient---you should attempt the problem yourself before you continue reading. Understanding these problems are integral to understanding the text. The answer to the problem appears in the text immediately after the problem.)
Problem 1 . What are the items of interest here?
It seems here that the situation is concerned with divisions . departments . and employees or managers . It gives some details about which contains which, how they are related to each other, and provides some examples of each, but basically the situation is concerned with these three entity types . Heres a formal, if somewhat ambiguous, definition.
An entity type is a collection of entities that share a common definition. An entity is a person, place, concept, or thing about which the business needs data.
So, Department is the name of one entity type . One instance of this entity type is the New Business Development department. The Marketing division is an instance of the Division entity type. Mackenzie is one instance of the Employee entity type. Instances of entity types are referred to as entities . Put more simply: You can touch an entity but an entity type is simply an idea. Person is an idea (entity type) while Scott, Nancy, Lindsey . and Mackenzie are touchable (entities). Entity types provide us with a means for making generalisations about entities. For example, instead of saying Every department within our company is in only one division, we could have gone down the list of all departments (that is, all entities with entity type Department ) and asserted that each one is, indeed, in one division:
The New Business Development department is in one division. The Higher Education department is in one division. And so on until weve noted that each is on only one division.
But we know more than the facts about each individual department being in one division. We know that all new departments will also be in just one division. And if there is a new division . it, too, will have departments that are unique to the division. So, instead of providing information in the form of statements about specific entities . we use a more powerful and concise format and provide information in the form of statements about relationships among entity types .
Thus, in ER modelling we look for relationships among entity types because it is easier and more concise to speak of relationships among general entity types rather than the touchable entities themselves.
Problem 2 . Each of the following is either an entity type and/or an entity. If its an entity type, then provide examples of entities; if its an entity, define a possible entity type.
A municipal bond from Detroit
Ford
Ropa
Employee
The municipal bond is an entity; bond is a possible entity type. Ford is an entity; manufacturer is a possible entity type. Clothes could be either: 1) a type if the entities are pants, shirts, etc.; 2) an entity if the type is product. Employee is an entity type; Angela and Natalie are example entities.
Back to our example: we have identified three entity types and four entities. From the description we can assume that there are more entities for each entity type. Go back and read the situation description if you do not think this is immediately obvious.
From the description there is some sort of relationship between Department and Division and another sort of relationship between Department and Employee . The first relationship is one of containment: each division has one or more departments, but any one department can only be in one division. (Think about an NCAA conference such as the Big 10 (the bucket) having many teams (a bunch of balls). On the other hand, each team (one ball) can only be in one bucket (a conference). In this instance the bucket is the division and the balls are the departments.) The second relationship tells us that an employee has a certain relationship relative to a certain Department . namely, that the employee manages the department. Determining the relationships among entity types is another important step in the process of ER modelling.
A relationship is an association between entity types.
Problem 3 . What would you name these two relationships?
The defining characteristic of a relationship is that several entity types are involved. So something like a name or birth date would not be a relationship since only one entity is involved.
Now we have identified three entity types ( Employee . Department . Division ) and two relationships among these entity types ( manages . contains ). Now we can begin to represent the problem in the language of ER modelling.
ER models are usually represented graphically. The language we are going to use represents entity types as rectangles and relationships as diamonds . Below is the representation of the situation we are working with.
Notice that the contains relationship is drawn between the two entities that it is associated with. Similarly for the manages relationship. This (simplified) ER model tells us that:
Division is related to department through a relationship called contains .
Departments are related to employees through a relationship called manages .
Employees are not directly related to divisions.
Certainly we know more about the problem than this. Consider the relationship between divisions and departments. We know that divisions have multiple departments and departments can only be contained within one division. Or, for every one division there can be many departments. In the language of ER modelling this is called a 1:M (read: one to many) relationship.
Problem 4 . What is the relationship between departments and managers? Fill in the blanks with either a one or a many .
For each department there can be, at most, _____ managing employee(s).
For each managing employee there can be, at most, _____ department(s).
The relationship between department and a managing employee is different. It doesnt say so but we can assume that a department has only one manager. (Certainly you can imagine an instance in which a department has co-managers. That possibility is just as viable as the possibility I have assumed. This is part of the attraction of this type of work. The database professional has to read descriptions for what is said and then imagine what isnt said. If you were actually creating a database in this example, you would have to ask someone what the situation actually is. But since you are just given this description, you have to come up with some assumption. For this situation well make the above assumption.) Well also assume that an employee can also be the manager of, at most, one department. In other words, for every one department there can be, at most, one managing employee. In the language of ER modelling this is called a 1:1 (read: one to one) relationship. This information can also be represented in the ER diagram:
As you might have determined, the M part of a relationship is represented by putting an M next to the appropriate entity type in the relationship while the 1 part is represented by a 1 . The ER diagram now represents much more information than it did above:
Any one division can contain many departments. Any one department can be contained in, at most, one division.
Any department can have, at most, one managing employee (or manager). Any manager can manage, at most, one department.
If you are a bit confused about all this 1:M and 1:1 stuff, never fear. Youll see a lot more clarifying detail later.
Several other questions remain about this situation that are not addressed in the description:
What is the minimum number of departments in a division?
Does a department have to be associated with a division?
Does a department have to have a manager?
These questions would have to be answered before we complete the ER model. And we will answer these questions later. For now we are going to stop this part of the analysis since the purpose of this example is to demonstrate what ER modelling is all about.
The ER modelling process is not something for which a set of steps can be given and then performed. The process contains almost as much art as science. Some steps are performed many times and many decisions are re-visited and revised. Given these conditions, a broad outline can be given:
Determine what entity types are involved.
Determine which entity types are related.
Refine the definition of the relationships.
Understand now that there are several methods for representing ER models graphically. Some dont use the diamonds for the relationship---they might just put the word above the line. Its not really important how the entity types and relationships are represented; its just important that they are represented.
Notice what has happened with this situation. Initially we had a text description of the problem. After analysing it and making some necessary assumptions, we created an ER diagram that reflects the situation accurately and makes explicit the relationship among the entity types. This is why we perform ER modelling. We dont know any more than we used to about the problem---we just have made explicit what we do know. It is quite a straight-forward step to go from this ER model to an implemented database. Remember why we are doing all this: We are finding out all we need to know to create a database that will hold our data. And a well-defined database can be a very useful tool for solving business problems---and it is also in high demand by recruiters. You will learn how to perform the steps necessary to create such a database in later chapters.
3 More detail
In this previous section I used an example to present an overview of how and why ER modelling is performed. In this section I present more detail on some of the basic concepts.
3.1 Relationships
Relationships define which entity types are directly associated with which other entity types. In the example in an earlier section, we saw that divisions are directly associated with departments and departments are directly associated with employees. No direct association between division and employee was given. This does not mean that there is no relationship between division and employee. In fact, the ER diagram tells us that there is a relationship between the two:
Given any one division, there can be many employees managing departments within that division.
Certainly, this is not earth shattering news. But it is in the ER diagram. The above fact is not represented as a separate relationship between division and employee because it can be inferred from existing relationships. An ER diagram should contain the minimum number of relationships necessary to reflect the situation.
3.1.1 Cardinality
Once a relationship between entity types has been established, the analyst should determine its cardinality .
A relationships cardinality defines the maximum number of entities of one type that can be associated with an entity of another type.
For relationships between two entity types, there are three basic cardinalities. Each of the following descriptions are given in terms of a relationship between entity type X and entity type Y .
1:1 --- one-to - one --- One entity of type X can be associated with, at most, one entity of type Y . One entity of type Y can be associated with, at most, one entity of type X .
An example: the relationship between car and steering wheel . A car has only one steering wheel and a steering wheel can only be installed in one car. 1:M --- one-to-many --- One entity of type X can be associated with many entities of type Y . One entity of type Y can be associated with, at most, one entity of type X .
An example: the relationship between building and rooms . A building can have many rooms but a room can be in, at most, one building. M:M --- many-to-many --- One entity of type X can be associated with many entities of type Y . One entity of type Y can be associated with many entities of type X . An example: the relationship between a car and its options (such as air conditioning, ABS brakes). A car can have many options and an option can be installed on many cars.
Problem 5 . Determine the cardinality of the relationships between the following four pairs of entity types. For each relationship you have to answer two questions:
For each entity of type Y there can be, at most, _____ entity or entities of type X .
For each entity of type X there can be, at most, _____ entity or entities of type Y .
Answering these two questions gives you the answer to the following questions. For example, if you answered M to the first question and 1 for the second question, then this relationship between entity types X and Y is of cardinality M:1 . This is read as for every X there can be only one Y and for every Y there can be many X. Realize that you will have to make assumptions about the situations below to clarify some of these relationships.
Patient under care of primary care physician
Physician performs operation
Doctors have speciality in disease
Needle injected into patient
It would seem that at any particular time a patient can only have one primary care physician and that any physician can have many patients (M:1). One physician can perform many operations and one operation can be performed by many physicians (M:M). One doctor can have specialities in many diseases and one disease can be the speciality of many doctors (M:M). One needle can be injected into one patient and one patient can have many needles injected into him/her (M:1).
3.1.2 Existence
In the previous section we were concerned with the maximum number of entities of one type that can be associated with an entity of another type. In this section we examine the minimum number of entities in a relationship.
A relationships existence defines what we know about the existence of any entity on the other side of a relationship from a given entity. Existence is given as optional . mandatory . or unknown .
This is best clarified with an example. Consider again the example discussed in Section 2. Specifically, focus on the manage relationship between department and employee. We know the cardinality is 1:1 . This tells us that at most one department is managed by an employee and an employee can manage, at most, one department. (Be sure you understand the distinction between these two phrases.) The existence of this relationship tells us the fewest number of departments that can be managed by an employee and the fewest number of employees that can manage a department. Only one of the following can be true:
optional A department need not have any manager. mandatory A department must have at least one manager. unknown It is unknown whether or not a department has to have a manager.
Similarly, only one of the following may be true:
optional An employee need not manage any department. mandatory An employee must manage at least one department. unknown It is unknown whether or not an employee must manage a department.
Problem 6 . For each set of three above, which ones would you choose?
It is not entirely clear from the situation description which of the above are true. I make the relatively standard assumptions that a department must have at least one manager and that an employee need not be the manager of any department. Thus, the existence of this relationship is mandatory in one direction and optional in the other.
Going back to the definition of existence . we can also look at this situation in this way:
Given any (randomly chosen) department, there must be an employee on the other side of the manage relationship. Thus, the relationship is mandatory in this direction. This is indicated by a dash on the line (youll see this below).
Given any (randomly chosen) employee, there need not be any department on the other side of the manage relationship. Thus, the relationship is optional in this direction. This is indicated by a circle on the line (youll also see this below).
I assume that the contains relationship is mandatory in both directions. Given this information, the ER diagram is modified in the following manner:
This diagram is beginning to look a little complicated but remember the following pieces of information and it gets a little easier:
You read information about a relationship in two passes: going left-to-right and going right-to-left (it doesnt matter which pass is read first).
When reading information about a relationship off an ER diagram, when going left-to-right, cover up the left side of the line; when going right-to-left, cover up the right side of the line.
The marks on the lines tell you the minimum number in a relationship. A dash on the line looks like a 1 ; it tells you the minimum number in the relationship is one so the existence is mandatory. A circle on the line looks line a 0 ; it tells you the minimum number in the relationship is zero so the existence is optional. If there are not any marks on the line, then the existence is unknown.
The marks below the line tell you the maximum number in a relationship. An M tells you the cardinality is many while a 1 tells you it is one .
Lets practice this. Look at the manages relationship again.
Go from left-to-right.
Cover up the line connecting the manages diamond with the department rectangle.
Now all you see are the department entity type, the employee entity type, and the right side of the line with a dash on it and a one below it.
This tells us that a department is managed by at least (the dash) one employee and at most (the 1 ) one employee. Rephrasing: A department is managed by one and only one employee.
Go from right-to-left.
Cover up the line connecting the manages diamond with the employee rectangle.
Now all you see are the department entity type, the employee entity type, and the left side of the line with a circle on it and a 1 below it.
This tells us that an employee does not have to manage any departments (the circle) and may manage at most (the 1 ) one department. Rephrasing: An employee may manage no more than one department.
Problem 7 . For each of the relationships listed in Problem 5:
Define the existence in both directions .
Draw the ER diagram for the relationship.
Write out two sentences that represent what the ER diagram says.
3.2 Entity types
Entity types are things for which it is important that your company capture data. If it is not important, it should not be in the database. In an accounting database you would expect to find entity types for expenses, assets, liabilities, expenditures, deposits, etc. You would not expect to find entity types for colour of check, quality of dollar bills received, etc. The database is supposed to reflect reality---but only the part of reality that is important to the company.
3.2.1 Entity subtypes
Entity types are entities that share a common definition. This allows us to make generalisations about that type. This is a powerful capability; however, sometimes we want to make a generalisation only about a certain subset of those entities and another generalisation about the rest of the entities. Consider a simple example. Suppose you have an accounting database which keeps track of accounts receivable and accounts payable. Of course the database keeps track of the companies to which you owe money and the companies that owe you money. For all these companies, you keep track of their mailing address and a contact person. For the companies that owe you money you keep track of how much they owe you . For the companies that you owe money you keep track of how much you owe them . What to do? Should we have three entity types: one for the whole set and one for each subset? That would be a mess. That is why the concept of entity subtypes was created.
An entity subtype is a collection of entities of the same type to which a narrower definition and additional attributes and/or relationships apply.
Problem 8 . In this company example, what is the entity type? What are the subtypes?
In this database you should define a company entity type with two subtypes: AR_co and AP_co . The company entity type stores all facts that are common attributes---in this case, the address and contact person. The AR_co entity subtype tracks the balance owed from this company while the AP_co entity subtype tracks the balance owed to this company.
There are many situations in which subtypes can be created but should not be. Only create subtypes
if the subtype is involved in relationships that the other subtypes are not or
if the subtype needs to have additional facts stored with it.
If one of these two requirements is not met, then do not create the subtype.
Problem 9 . What is the relationship among the following? List a few facts common to all items for each question. List a few facts about each subtype that is not common to the other subtype. Also draw the ER diagram for each.
book, publication, magazine
individual, employee, contact person
laptop, computer, desktop
On the other hand, there are some situations that are not so clear cut. Consider the following figure.
Many students would first suggest the diagram on the right---divide customers into investors and attendees and show that investors buy stocks and attendees register for seminars. I suggest that the figure on the left is better. Heres my thought process:
What is it that makes an investor an investor? She buys stocks. And what is it that makes an attendee an attendee? She registers for seminars. Is there anything about an investor that keeps her from being an attendee? No. Vice versa? No. Do you want to prevent investors from being classified as attendees or vice versa? No and no. So, define relationships buy and register for the customer entity. Investors can be listed by choosing only those customers that are in the buy relationship. Attendees can be listed by choosing only those customers that are in the register relationship.
Thus, if a relationship defines the members of a proposed subtype, then use the relationship instead of the subtype.
3.2.2 Type/instance distinction
For some people this can one of the more difficult concepts to understand, so read carefully. What we are trying to discern here is the difference between a type of a thing and an actual thing. This is a pretty easy concept when comparing people and Joe . People is the type and Joe is the instance. However, modellers generally dont make the type/instance distinction between an entity type and an entity---they generally make it between two entities. For example, think about CT481 and section 2 of CT481 in Winter 1962. The second is an instance of the first. The section is an actual class that meets at an actual time with an actual teacher and actual students. CT481 is a type of thing that is an idea that only becomes real when you come into contact with one of its instances (e. g. section 2 of CT481 in Winter 1962).
Realize that this is a different distinction than that between entity types and entities. In this example, CT481 is one specific instance of the entity type Course and section 2 of CT481 in Winter 1962 is one specific instance of the entity type Section . Thus, both are entities and neither one is an entity type.
Problem 10 . Analogously to the CT481 story above, fill out the story for a Boeing 747 relative to the type/instance distinction and the distinction between entity types and entities.
Boeing 747 is a type of plane and a specific Boeing 747 that flies through the air with passengers in it is an instance of this type. Boeing 747 is a specific instance of the entity type plane type and a flying Boeing 747 with passengers is a specific instance of an entity type plane .
3.3 Attributes
3.3.1 Basics
To this point we have focused on entity types and relationships among them. We have mentioned, in passing, facts about entity types and attributes of entity types. In this section I hope to make these ideas a little more clear.
Attributes are the characteristics of an entity type that we are interested in.
An attribute is a descriptor whose values are associated with individual entities of a specific type.
The attribute value for any single entity can have only one value at a given time. This value can change over time. An attribute of an employee might be salary . At any one time if you asked for the salary level of a certain employee, then you should get one answer. And if someone else asked the same question about that employee at the exact same time, they would expect to get the same answer. Of course, if you asked this question at a later time you might expect to get a different answer.
Think back to the example in Section 2. Few attributes are mentioned in the description but a few can be inferred. The department entity type has a name attribute, as do the division and employee entity types. Possible attributes for the employee entity type that arent mentioned include date of hire, home mailing address, work phone, and work address.
3.3.2 Identifier
Every entity type has an identifier. This identifier uniquely identifies a single (at least one, and no more than one) entity. If you know the value of the identifier, then you know exactly which entity you are dealing with. Further, the identifiers value will never change over time. Thus, if you know the identifier now, then you can be confident that at any time in the future the identifier for that entity will not have changed.
Problem 11 . Social security number is a possible identifier for a person. What is a possible problem with using it as an identifier? Why shouldnt we use peoples names as an identifier?
Problem 12 . For each of the following entity types, come up with a possible identifier:
Libro
Coche
UM student
UM building
color
Problem 13 . Suppose that we have a database that has the table car . and this table has an identifier vin (vehicle id number) and another field called model (e. g. Ford Mustang GT, Ford Mustang SHO, or Accord Integra GS-R). Suppose that we want to add information about the type of the model (e. g. sporty, sedan, SUV) to this database. How would you do it? You have two choices---either add model field to the car table or create another table to hold this information.
Consider the two choices:
Adding a field to an existing table The new relation will have the attributes [vin, model, type] . Before we added the type attribute to this relation, there seemed to be only one entity type ( vehicle ). Now that weve added the type attribute it seems that we have another entity type that were collecting information about ( model ). Remember that the identifier (in this case, vin ) uniquely identifies one and only one entity (again, in this case, car ). But type is a piece of data about the model . not about the car itself. Every time we added an entity (a vehicle) to this relation, we would have to repeat information about the model that we might have entered before. For example, if there were 5000 Ford Mustang GTs in the relation, then 5000 times we would have to indicate that a Ford Mustang GT is sporty. All in all, this doesnt seem like a good solution. Creating a new table Creating a new table is required since we now have two entity types---vehicles and models. In this first entity type we would have the attributes vin and model while in the second we would have model and type . In the vehicle entity, the model field tells us what model that particular vehicle is. In the model entity, the model field identifies which model were talking about while the type field tells us what type of vehicle that instances of this model are.
4 Advanced concepts
The concepts in the previous two sections of this chapter will allow you to model many business situations. The following concepts are needed to round out your repertoire so that you will be ready for almost any situation that comes your way.
4.1 Degree of a relationship
Relationships can be classified by the number of entity types involved. This is referred to as the degree of a relationship. To this point we have concerned ourselves with relationships between two entity types. This is, by far, the most common type of relationships. The most common degrees of relationships are as follows:
binary This is a relationship between two entity types. ternary This is a relationship between three entity types. recursive This is a relationship involving only one entity type.
I will not spend any time on binary relationships now because we have discussed them at length already.
4.1.1 Ternary
In the real world there are relationships other than those involving two things. For example, suppose that we want to capture which employees use which skills on which project. We might try to represent this data in a database as three binary relationships between skills and project, project and employee, and employee and skill.
The applies relationship indicates which employee applies which skill. The used on relationship indicates which skill is used on which project. The works on relationship indicates which employee works on which project. But this is not enough to specify which employee uses which skill on which project. Suppose you know the following:
works-on Lindsey and Mackenzie have worked on projects A and B . applies Lindsey has used skills interface design and database design while Mackenzie only used her database design skill. used on Both skills have been used on both projects.
Given this information, it is impossible to figure out on which projects Lindsey used which skills. She could have used interface design on project B and database design on project A ---or the other way around. Or she might have used both skills on both projects. The database simply does not give us enough information.
In order to capture the necessary information the database needs a ternary relationship. In this case the database needs a relationship, called used - on . among employee, skill, and project.
The used on relationship captures information three pieces at a time. It stores facts such as:
Lindsey used interface design skill on project A .
Mackenzie used database design skill on project A .
Lindsey used interface design skill on project B .
Lindsey used database design skill on project B .
Mackenzie used database design skill on project B .
Notice that this ternary relationship captures the information represented in the three binary relationships:
Lindsey worked on project A (first fact).
Lindsey worked on project B (third and fourth facts).
Mackenzie worked on project A (second fact).
Mackenzie worked on project B (fifth fact).
Lindsey used her interface design skill (first and third facts).
Lindsey used her database design skill (fourth fact).
Mackenzie used her database design skill (second and fifth facts).
Both skills have been used on both projects (all the facts).
Implementing ternary relationships does not mean that you have to get rid of the binary relationships. You only get rid of the binary relationships if they capture a subset of the information captured by the ternary relationship. If a binary relationship captures information that differs from the ternary relationship, then the binary relationship should be retained if the information is important to your company. For example, consider the following:
The used on relationship stays the same as in the previous ER diagram. The binary relationships are different.
have skill An employee has a certain skill. This is different than used on because there are some skills that an employee has that an he or she may not have used on a particular project. needed A project needs a particular skill. This is different than used on because there may be some skills for which employees have not been assigned to the project yet. manages An employee manages a project. This is a completely different dimension than skill so it could not be captured by used on .
Problem 14 . We have three entities: car, customer, and salesperson. Consider the following situations.
#1 There is a ternary relationship called sell relating all three entities. Sells: Customer cust bought car car from salesperson SP .
buys Customer cust buys car car . buys from Customer cust buys from salesperson SP . sells Salesperson SP has sold car car .
Question: Using this data, who sold Sam the Cobra?
In situation #1 you can see from the first line that Don sold Sam the Cobra. In situation #2, looking at buys you can see that Sam did actually buy a Cobra (second line). Looking at buys from you can see that both Don and Sharon sold Sam cars. Looking at sells you can see that both Don and Sharon have sold Cobras. So the answer is either Don or Sharon sold Sam the Cobra. This is not good enough. This demonstrates that having three binary relationships does not capture the same information that one ternary relationship does.
It might be asserted (and has been by a former student) that the ambiguity in the problem is a result of the data base keeping information about car types (Cobra, Mustang, etc.)\ instead of actual cars (Cobra VIN=32, Cobra VIN=33, etc.). This is the case and Id like to demonstrate why here.
Suppose that the four cars in this data base are numbered 1, 2, 3, 4. Were going to try to answer the same question, Who sold Sam the Cobra?, using just the binary relationships but with information about numbered cars rather than the car types that is used above. The Buys relationship shows that Sam bought cars 1 and 2. The Sells relationship will show which sales person sold car #2 (the Cobra). It does not say to whom, but we already know that Sam bought car #2. So without even consulting the Buys from relationship, we know who sold Sam the Cobra.
This is a good observation but does not change the essential point. Breaking down a ternary relationship into its component binary relationships will sometimes result in a loss of information. It will always result in a loss of data if at least one of the entity types is a type of thing (e. g. a car or skill) as opposed to a specific thing (e. g. an actual car).
The question also remains: Why break up a ternary relationship into its component binary relationships if the ternary relationship captures whats really going on in the world. A customer does buy a car from a salesperson. Thats really how we think about it and how it really occurs. Its not: a customer buys a car, a car is sold by a sales person, and a customer buys from a sales person. The real world event involves three entities. Why not construct the data base to reflect this reality?
Thus far in this section the ER diagrams have not represented the cardinality of ternary relationships. There is a different method for determining cardinalities of higher order relationships:
Cover up all but one of the lines going from the relationship to the entities. (For example, begin by covering up the lines from used on to employee and from used on to project .)
For the one remaining entity, ask yourself: Can there be only one of these items for any single combination of these other entities, or can there be many? (Continuing this example, ask yourself: Can there be only one skill for a certain employee and certain project, or can an employee use many skills on one project?)
If the answer is many . then put an M below the line going to this entity. If the answer is one . then put a 1 below it.
Repeat this process until each entity involved in the relationship has been examined.
Problem 15 . For the used on relationship, what is the cardinality for each entity type?
To determine the cardinality for this relationship, I had to make several assumptions. Other assumptions are possible but I thought these seemed reasonable.
An employee can use the same skill on many projects .
An employee can use many skills on the same project.
Many employees use the same skill on the same project.
Given these assumptions, the cardinality for each entity type is M . So this is a M:M:M relationship.
4.1.2 Recursive
The final, and possibly the most difficult, relationship is the recursive relationship. This is a relationship that an entity has with itself. But it really doesnt have to be difficult if you think about it as you would any ordinary binary relationship. Lets look at an example.
Think of an employee who is the manager of other employees.
A manager manages many employees and an employee has exactly one direct manager. This is pretty straightforward. But, now, realize that a manager is really just another name for an employee. So, replace managers with employees in this diagram.
Now this diagram has the entity type employees represented twice. To remedy this situation, pull the relationship diamond down and slide the two employee rectangles so that they are lying on top of each other. Now the diagram looks like the following:
This diagram represents what we want:
Reading from left, down, and back up: An employee may not manage any other employees but may manage many.
Reading from right, down, and back up: All employees are managed by exactly one other employee.
Not everyone in the company has a manager. The president will not have a direct manager. This is handled in the data in the table by indicating that the presidents manager is the president. A little trick.
4.2 Attributes of a relationship
When we examined attributes earlier, the attributes were exclusively attached to entity types. However, it is also possible for a relationship to have attributes. Consider the is member relationship below.
A person can be a member of many clubs and a club can have many members. A natural piece of information to want to store is the date the person joined the club. If the attribute is of the person entity, then this would indicate when the person joined a club but we would not know which club. If the attribute is of the club entity, then this would indicate (possibly) when the club was founded or (possibly) when the most recent member joined the club but we would not know the dates on which each person joined. The solution is to make join date an attribute of the is member relationship.
4.3 Entity subtype partitioning
This section describes two different ways in which subtypes of an entity can be related to one another and to the super-type.
4.3.1 Optional versus mandatory
Assume there is an entity type called person . and entity subtypes called customer and employee . When a person is created, the designer of the database has two options:
mandatory He/she can demand that the person be classified as one of the subtypes. optional He/she can allow a person to be created without classifying the person as any subtype.
Neither one is preferable to the other. The proper one to choose depends on the business situation.
Mandatory sub-typing is represented by creating a double line from the super-type ( person in the following ER diagram) to the circle. Optional sub-typing is represented by leaving a single line from the super-type to the circle.
So, what does this figure tell you? Since it is a mandatory subtype partitioning (you know this from the double line), whenever data for a new person is entered into the database, it must be classified as either a customer or an employee. The database user cannot simply add information about a generic person ---she must know whether this person is a customer or an employee. If this had been an optional subtype partitioning, then when that user was entering data about an employee, she had the option of classifying the person as an employee or as a customer---but did not have to classify the person as either.
4.3.2 Disjoint versus overlapping
Consider now the company super-type and the subtypes AR_co and AP_co . As a designer you can specify whether or not an entity of subtype AR_co can also be an entity of type AP_co . Certainly it is not abnormal to think that you can do business with companies that do business with you. Think of being a consultant for Ameritech or IBM.
The following are the two possibilities:
disjoint If entities are allowed to be no more than one subtype, then the subtypes are said to be disjoint . overlapping If entities can be classified as several subtypes, then the subtypes are said to be overlapping .
Disjoint subtypes are represented by putting a d in the circle. Overlapping subtypes are represented by putting a o in the circle.
The above figure tells us that this is a disjoint entity sub-typing. This means that whenever data for a new company is entered into the database, the company can be classified as either AR_co or AP_co but not both. If this had been an overlapping entity sub-typing, then when that user was entering data about a company, she would have had the option of classifying the company as both AR_co and AP_co .
Problem 16 . Suppose there is a student entity type with subtypes CIS majors . finance majors . and accounting majors . Is this a mandatory or optional sub-typing? Are these subtypes disjoint or overlapping?
Suppose I didnt tell you that this should be an entity subtype problem. Would you represent it this way? What else would you do?
I would think that these would be optional, overlapping entity subtypes. But if I were not going to represent it this way, I may consider having a M:M relationship between student and major .
Certainly, entity subtypes should be classified along both dimensions---that is, you should identify whether the subtype is mandatory or optional and whether it is disjoint or overlapping . All four combinations are possible and each is appropriate at different times.
4.4 Aggregation of entity types
Subtypes are generally thought of in terms of X is a Y (which is why these are commonly referred to as is-a relationships). Another type of relationship that needs to be represented in a database is the part of relationship, more formally called aggregation . When an entity is made up of several different types of other entities, an aggregation relationship may be called for.
Consider the relationship between a car and its engine and body. The engine and body are both part of the car. The relationship is represented as follows in an ER diagram.
4.5 Parallel relationships
Two entities can have more than one type of relationship. This is not surprising; further, it is not difficult to represent in a database or in an ER diagram. Consider the entity types person and insurance policy and the relationships between them of pays for and is insured under .
Look at these relationships one at a time.
A person pays for zero or more insurance policies. An insurance policy is paid for by exactly one person.
A person is insured by zero or more insurance policies. An insurance policy insures one or more persons.
These are two distinct relationships. They mean two different things---that is why they are represented as two separate relationships in the ER diagram.
4.6 Weak entities
Weak entities are entities, but with a difference---weak entities only exist because some other entity exists. For example, if you were to define two entities employee and salary-history . then the second would be a weak entity because the record of an employees salary history could only exist if a record of an employee also exists. Joe Smiths salary history wouldnt make much sense if Joe Smith doesnt exist in the data base. A weak entity is represented by a double border as shown below.
4.7 Types of attributes
Sometimes it is instructive to classify an attribute by the means in which the value is determined. Here are the three possibilities.
basic These are values provided to the business. These are the types of attributes that we have been discussing so far. Think of name . address . etc. These values cannot be deduced from the values of other attributes. designed This is invented and exists only in the database. An example might be a unique identifier for a department. This value is not changed once it is set. derived This is a value that can be calculated from the value of other attributes in the database. An example might be the age of an employee when the birth date is in the database. These attributes should, generally, not be stored in the database but should be calculated when needed.
4.8 Attribute optionality
Not all entities have a value for every attribute; however, some attributes must have a value for all entities.
optional An entity need not have a value associated with an optional attribute. mandatory An entity must have a value associated with a mandatory attribute.
For example, assume the employee entity type has attributes hire date and termination date . Hire date would certainly be classified as a mandatory attribute; if the employee didnt have a hire date, then the person couldnt very well be an employee.
Termination date is an optional attribute. You would expect that many people in the database would not have a termination date while others, who are obviously ex-employees, do have a value associated with the termination date attribute.
The optionality of an attribute depends highly on the business situation, how the information is gathered, and how the business updates its database. One company might classify an attribute of an entity type as optional while another company might classify the same attribute of the same type as mandatory. Considere el siguiente ejemplo:
Consider the attribute sale price of the catalog item entity type for a computer mail order company. Company A has a policy that they do not put an item into the catalog until it has a price; thus, they do not create a catalog item entity until they can assign a value to the attribute sale price . For this company the sale price attribute is mandatory.
On the other hand, Company B has a policy that they put an item into their catalog as soon as they decide to stock it. This way they can make their product line look as broad as possible. They put Call us for latest quote in the catalog instead of a price. Thus, they do create catalog items even before they have assigned a value to the attribute sale price . For this company the sale price attribute is optional.
Again, in order to classify an attribute as optional or mandatory, you must understand the business situation and practices.
Problem 17 . For each of the following attributes, determine whether it is optional or mandatory:
Delivery date of a customer order
Order date of a customer order
Title of a book
Serial number of a television
4.9 Other information about attributes
The database designer should also determine miscellaneous other information about each attribute: default This is the value that an attribute should take if it is not assigned a value. For example, the state field of an employee table might have the default value of MI . permitted range These are the values that an attribute is allowed to take. This ensures that a value that gets put into the database is valid. For example, the sale_price field of the inventory table might have a permitted range of sale_price > 0 . composite A composite attribute is an attribute made up of many other attributes. The reason for creating a composite attribute is that the attribute itself is referred to as a whole. Think of an employees address that is made up of the house number, street, city, state, and zip. One way of storing this attribute is to create an attribute address that would contain the whole address. For example, a value of address might be
address = 202 Crest Avenue, Ann Arbor, MI 48103
An alternative to this would be to store these pieces of data in separate fields in the table. For example, the above information might be stored as
street = 202 Crest Avenue city = Ann Arbor state = MI zip = 48103
Separating the attributes in this way allows database users to refer to each field independently. For example, under the second scheme a user could easily and quickly determine the employees who live in Michigan. Under the first scheme this would not be nearly as fast.
5 Interpreting ER diagrams
ER diagram for interpretation exercise
The point of this section is to give you some examples of how ER diagrams are interpreted. I try to give you some of the variations but I certainly do not give you all of them. If your reading of a relation is not below, then it is not necessarily wrong. Try to determine if they mean the same thing. If they dont and you cannot figure out the problem, then come by and talk with me during office hours.
necesario
A skill can be needed by many projects but might not be needed by any.
A project can need one or more skills.
maneja
An employee can manage many projects but might not manage any. (Or: An employee can manage many projects. There are some employees who dont manage any projects.)
A project must be managed by an employee. (Or: A project is managed by exactly one employee.) (Or: A project is managed by one and only one employee.)
has-skill
An employee may have many skills but might not have any.
A skill can be possessed by many employees. There are some skills that no employees possess.
used-on The technique for an n-ary (in this case 3-ary, or ternary) relation is different than for binary relations, but still straight-forward. Hold your hand on n-1 entity types (in this case 2 ) and determine whether a 1 or an m goes on the remaining arm of the relation. Below, in order, are the project, employee, and skill arms.
An employee uses one skill on many projects.
Many employees can use a skill on one project.
An employee can use one skill on a project.
Notice that the other two entity types are held constant; that is, for the project arm (the first one) you are determining how many projects can be associated with any single pairing of employees and skills. You can think of it the following way: I have an employee named Fred. He is skilled in woodworking. How many projects can Fred be a woodworker on? If its many, then put an m on the project arm; if its one, then put a 1 on it.
6 ER exercises
Question 1
What is the cardinality and existence of each of the following relationships in just the direction given? State any assumptions you have to make.
Husband to wife
Student to degree
Child to parent
Player to team
Student to course
Question 2
For each of the following pairs of rules, identify two entity types and one relationship. State the cardinality and existence of the relationship in each case. If you dont think enough information is available to define either of these, then state an assumption that makes it clear. Draw the ER diagram.
A department employs many persons. A person is employed by, at most, one department.
A manager manages, at most, one department. A department is managed by, at most, one manager.
An author may write many books. A book may be written by many authors.
A team consists of many players. A player plays for only one team.
A lecturer teaches, at most, one course. A course is taught by exactly one lecturer.
A flight-leg connects two airports. An airport is used by many flight-legs.
A purchase order may be for many products. A product may appear on many purchase orders.
A customer may submit many orders. An order is for exactly one customer.
Question 3
Draw an ER diagram for the following. Be sure to indicate the existence and cardinality for each relationship.
A college runs many classes. Each class may be taught by several teachers, and a teacher may teach several classes. A particular class always uses the same room. Because classes may meet at different times or on different evenings, it is possible for different classes to use the same room.
Each employee in an engineering company has at most one recognised skill, but a given skill may be possessed by several employees. An employee is able to operate a given machine-type (e. g. lathe, grinder) if he has one of several skills, but each skill is associated with the operation of only one machine type. Possession of a given skill (e. g. mechanic, electrician) allows an employee to maintain several machine-types, although maintenance of any given machine-type requires a specific skill (e. g. a lathe must be maintained by a mechanic).
Question 4
Draw an ER diagram for each of the following situations. On the diagram be sure to identify the cardinality, existence, and optionality (for subtypes) of each relationship.
A company has a number of employees. Each employee may be assigned to one or more projects, or may not be assigned to a project. A project must have at least one employee assigned, and may have several employees assigned.
A university has a large number of courses in its catalog. Each course may have one or more other courses as prerequisites, or may have no prerequisites.
A college course may have one or more scheduled sections, or may not have a scheduled section.
A hospital patient has a patient history. Each patient has one or more history records (we assume that the initial patient visit is always recorded as an instance of the history). Each patient history record belongs to exactly one patient.
A video store may stock more than one copy of a given movie. It is also true that the store may not have a single copy of a particular movie.
Question 5
Draw an ER diagram to represent the following entity types and the natural relationships among them: Vehicle, Land-vehicle, Air-vehicle, Water-vehicle, Ocean-vessel, River-raft, Helicopter, Rail-vehicle, Road-vehicle, Car, Airplane, Bicycle.
Question 6
Draw an ER diagram that best represents the following situation. There are three types of accounts in a bank, with these attributes:
Checking: Acct-no, Date-opened, Balance, Service-charge
Savings: Acct-no, Date-opened, Balance, Interest-rate
Loan: Acct-no, Date-opened, Balance, Acct-limit
Question 7
Consider the following diagram:
What are the minimum and maximum number of C s that can be associated with any one A . This is the same as asking What are the existence and cardinality for the C to A relationship?
Substitute A : person and B : manage and C : project in the above ER diagram. Suppose that someone told you that the following three facts are true. Are these consistent with the diagram? Answer yes or no for each of the three facts. If your answer is no . then explain why it is inconsistent.
Mackenzie manages the White project.
Lindsey manages the Brown and Black projects.
Joe doesnt manage any projects.
Question 8
The following facts make up all of the leads relation between person and project :
Jennifer leads the Southpark project.
Jennifer leads the Briarwood project.
Don leads the Eastgate project.
You do not know whether or not there are any other people or any other projects. Which diagram(s) that is (are) consistent with this set of three facts. For example, you might answer 1, 4 if both 1 and 4 are consistent with the above facts.
Question 9
For each of the following sets of sentences, draw the corresponding ER diagram.
An account can be charged against many projects, though it may not be charged against any. A project must have at least one, though it may have many, accounts charged against it.
Projects must be classified as either top secret or civilian (but not both). There is information specific to top secret projects and specific to civilian projects that we want to record.
An employee must manage exactly one department. A department may or may not have one employee manage it.
Men are only allowed to supervise men. Women are only allowed to supervise women. We do not want to allow the database to hold data representing a man supervising a woman. An employee, regardless of sex, is assigned to exactly one office, with each office having exactly one employee in it. (Be sure to include the office entity in this diagram.)
Question 10
The following descriptions all have to do with a holding company for food service companies. You should answer each one separately from the others.
Each chain consists of 50 to 300 stores that are owned by ACTME, the holding company for several restaurant chains and two caterers.
Menu items are wide ranging, and can be classified by the section of the menu (appetiser, dessert, etc.) in which each is presented and by ethnic group (Italian, Hungarian, etc.) to which it belongs.
The menu of each restaurant changes every couple months; management likes to keep track of past menus to track which ones have been successful.
Each menu item is made of several ingredients (eggs, bacon, etc.) that are used in a certain quantity.
Ingredients can be acquired from several suppliers. Ingredients are acquired by sending orders for several goods using the vendors item numbers. The item number for each of these ingredients varies across suppliers, so if you are going to order eggs from supplier # 1, then you might order item 52 while from supplier # 2 you might order item J216. The company keeps price and item numbers for all the ingredients for all its menu items---and even for some ingredients which it is not currently using in any menu items. The quantity needed for each ingredient is also kept. The current price of these goods is maintained though the historical price is not. Because of special deals and volume discounts, the price at which a good is acquired is often different from its list price. Thus, the database must retain the price at which a good is actually acquired.
Failed UTP SIP system shutters Nasdaq trading
Nasdaq's unprecedented trading halt today stemmed from a technical glitch with a core data feed that disseminates market data for Nasdaq-listed securities.
The feed is part of the exchange's UTP SIP system, or Unlisted Trading Privileges Securities Information Processor.
The broken system allows Nasdaq to send and receive quote and trade information on Nasdaq listed securities with other exchanges including the New York Stock Exchange, Chicago Stock Exchange and BATS Global Markets. Unlisted Trading Privileges permit other exchanges to trade in Nasdaq-listed securities,
According to an official description. "UTP SIP data feeds consist of one network, Tape C, which is the single source of consolidated market data for Nasdaq-listed securities." It provides continuous quotes and last sale information from all market centers trading Nasdaq-listed securities.
The NASDAQ OMX Group, Inc. today halted halting trading on all Nasdaq-listed securities at 12:14 p. m. The alert posted at 12:14 pm. ET noted that trading would resume later Thursday but did not specify when exactly that would happen.
Trading resumed about 3:30 p. m.
CNBC had reported that trading was to resume at 2:45 p. m. ET. That proved overoptimistic, as did a later AP reported that the exchange had delayed the opening to about 3:10 p. m.
A July 5 Nasdaq alert reported that the UTP SIP is being modified to accommodate new data sets. The new Sale Condition Modifiers and Financial Status Indicators are said to be set for an Octomer rollout.
The Wall Street Journal's Market Watch described the trading halt as "extraordinary," affecting more than 2,000 companies including Google, Amazon, Microsoft and Cisco. Market Watch noted that the combined worth of companies affected by the trading freeze was around $5.7 trillion.
According to the Journal, the Nasdaq freeze has prompted other exchanges to stop trading Nasdaq-listed tocks, exchange-traded funds and options.
A spokesman from the New York Stock Exchange confirmed that the exchanged had halted trading in Nasdaq listed issues. "I can confirm that we have halted equities trading in Tape C (Nasdaq-listed) issues as well as any options based on Tape C securities, however, any comment would need to come from Nasdaq," the spokesman said in an email.
John Nester, spokesman for the U. S. Securities and Exchanges Commission said the regulatory body is keeping an eye on the situation. "We are monitoring the situation and are in close contact with the exchanges," Nester said in an email.
This is not the first time that Nasdaq has run into problems with the UTP SIP.
In January, Nasdaq briefly shut down trading while it investigated that cause for stale data on UTP SIP. The problem resulted in Nasdaq-listed trades not being recorded in real-time according to a description of the problem by Securities Technology Monitor .
Jaikumar Vijayan covers data security and privacy issues, financial services security and e-voting for Computerworld . Follow Jaikumar on Twitter at @jaivijayan. or subscribe to Jaikumar's RSS feed. His email address is jvijayan@computerworld. com .
Jaikumar Vijayan is a freelance technology writer specializing in computer security and privacy topics.
Contenido
A publishing company produces scientific books on various subjects. The books are written by authors who specialize in one particular subject. The company employs editors who, not necessarily being specialists in a particular area, each take sole responsibility for editing one or more publications. A publication covers essentially one of the specialist subjects and is normally written by a single author. When writing a particular book, each author works with on editor, but may submit another work for publication to be supervised by other editors. To improve their competitiveness, the company tries to employ a variety of authors, more than one author being a specialist in a particular subject.
A General Hospital consists of a number of specialized wards (such as Maternity, Paediatry, Oncology, etc). Each ward hosts a number of patients, who were admitted on the recommendation of their own GP and confirmed by a consultant employed by the Hospital. On admission, the personal details of every patient are recorded. A separate register is to be held to store the information of the tests undertaken and the results of a prescribed treatment. A number of tests may be conducted for each patient. Each patient is assigned to one leading consultant but may be examined by another doctor, if required. Doctors are specialists in some branch of medicine and may be leading consultants for a number of patients, not necessarily from the same ward.
ER Diagram and Database Table Stracture for Call Center Management System
One day I was asked to submit an ER diagram and Database structure on call center management system in our IT institute. That day I spend a long time in internet searching for references on Call Center Management system. But I did not get anything to satisfy me. I collected some Information on Call Center Management and tried my best to design an ER diagram and Database Table Structure. Today I am going to upload the diagram and the database Table structure for your help
Before handover the ER Diagram to you I thing it will be good to introduce you with ER diagram.
What is ER Diagram?
ER diagram is a graphical representation of entities and their relationships to each other in database. ER Diagram uses three spacial symbol to represent three different type of information. Boxes are used to represent entities. Diamonds are used to represent relationships and ovals are used to represent attributes. Peter Chen introduced Entity Relationship model in 1976
What is Entity? Peter Chen defined an entity as "a thing, which can be easily identified". In a logical sense, entities are like a table, which contain columns and values in rows. Ex: Student_Details, Employee_Details etc.
What is Attribute? An attributes is a property of a given entity, for example, Roll_No is a property(attribute) of Student_Details entity. Attributes are like a column in a table. What is Relationship? Chen defined a relationship as "an association among entities". For example teachers teaches student. In this situation this relationship could be named as TEACH.
Your ER Diagram and Data structure are given below.
Hi Rajiv Phukan
i am working on a school project and my project is all about helpdesk, can you please help me with the ERD related to ur ER digram.
thanks kem(business analysis student)
Hi Rajiv Phukan
i am working on a school project and my project is all about helpdesk, can you please help me with the ERD related to ur ER digram.
thanks kem(business analysis student)
Please post something about er diagram on online school management
Thanks for the info! I have also recently learned ER Diagram Symbols and Meaning (Entity Relationship Diagram) using Lucidchart and their site is very helpful and easy to use! Check it out!
UML Behavioural Diagrams
UML behavioral diagrams visualize, specify, construct, and document the dynamic aspects of a system. The behavioral diagrams are categorized as follows: use case diagrams, interaction diagrams, state–chart diagrams, and activity diagrams.
Use Case Model
(a) Use case
A use case describes the sequence of actions a system performs yielding visible results. It shows the interaction of things outside the system with the system itself. Use cases may be applied to the whole system as well as a part of the system.
(b) Actor
An actor represents the roles that the users of the use cases play. An actor may be a person (e. g. student, customer), a device (e. g. workstation), or another system (e. g. bank, institution).
The following figure shows the notations of an actor named Student and a use case called Generate Performance Report.
(c) Use case diagrams
Use case diagrams present an outside view of the manner the elements in a system behave and how they can be used in the context.
Use case diagrams comprise of:
Use cases
Actors
Relationships like dependency, generalization, and association
Use case diagrams are used:
To model the context of a system by enclosing all the activities of a system within a rectangle and focusing on the actors outside the system by interacting with it.
To model the requirements of a system from the outside point of view.
Let us consider an Automated Trading House System. We assume the following features of the system:
The trading house has transactions with two types of customers, individual customers and corporate customers.
Once the customer places an order, it is processed by the sales department and the customer is given the bill.
The system allows the manager to manage customer accounts and answer any queries posted by the customer.
Interaction Diagrams
Interaction diagrams depict interactions of objects and their relationships. They also include the messages passed between them. There are two types of interaction diagrams:
Sequence Diagrams
Collaboration Diagrams
Interaction diagrams are used for modeling:
the control flow by time ordering using sequence diagrams.
the control flow of organization using collaboration diagrams.
Sequence Diagrams
Sequence diagrams are interaction diagrams that illustrate the ordering of messages according to time.
Notations . These diagrams are in the form of two-dimensional charts. The objects that initiate the interaction are placed on the x–axis. The messages that these objects send and receive are placed along the y–axis, in the order of increasing time from top to bottom.
Ejemplo. A sequence diagram for the Automated Trading House System is shown in the following figure.
Collaboration Diagrams
Collaboration diagrams are interaction diagrams that illustrate the structure of the objects that send and receive messages.
Notations . In these diagrams, the objects that participate in the interaction are shown using vertices. The links that connect the objects are used to send and receive messages. The message is shown as a labeled arrow.
Ejemplo. Collaboration diagram for the Automated Trading House System is illustrated in the figure below.
State–Chart Diagrams
A state–chart diagram shows a state machine that depicts the control flow of an object from one state to another. A state machine portrays the sequences of states which an object undergoes due to events and their responses to events.
State–Chart Diagrams comprise of:
States: Simple or Composite
Transitions between states
Events causing transitions
Actions due to the events
State-chart diagrams are used for modeling objects which are reactive in nature.
In the Automated Trading House System, let us model Order as an object and trace its sequence. The following figure shows the corresponding state–chart diagram.
Activity Diagrams
An activity diagram depicts the flow of activities which are ongoing non-atomic operations in a state machine. Activities result in actions which are atomic operations.
Activity diagrams comprise of:
Activity states and action states
Transitions
Objects
Activity diagrams are used for modeling:
workflows as viewed by actors, interacting with the system.
details of operations or computations using flowcharts.
The following figure shows an activity diagram of a portion of the Automated Trading House System.
This diagram shows the steps and processes that an importer has to go through, as well as the documents that need to be submitted in order to complete the import process successfully for Full Container Load via Dubai.
Import is the process of bringing goods from one country into another country in a manner satisfying the legal requirements of the receiving country. An organization that is licensed to receive these goods in the country is referred to as an Importer. For importing goods into Dubai, an Importer should have a valid Trade License issued from any of the License Issuing Authority in U. A.E. and should be registered with Dubai Customs.
The Importer has the option to carry out import procedures online on Dubai Trade or manually through Ports & Customs Documentation Centers. The procedure mentioned below describes the paperless import process through Dubai Trade.
To access Dubai Trade portal electronic services the customer must register himself with Dubai Trade. The registration process is available online on Dubai Trade Portal (www. dubaitrade. ae ).
The Import process can be summed up as per following:
To initiate the Import process in Dubai, the importer must obtain following documents in original from the exporter:
Original Bill of Lading copies
Commercial Invoice
Packing List
Certificate of Origin The above documents are required irrespective of the sales agreement and payment method agreed between the importer and exporter.
Based on the vessel arrival date, the importer must then approach the shipping agent to submit the original Bill of Lading and settle any dues with the Shipping agent. In return, the shipping agent must issue a Delivery Order to the importer.
A Shipping agent may issue Delivery Order 3-4 days before vessel arrival. The Importer must ensure that all cargo clearance formalities (step 3 to 8) are completed before the Delivery Order expiry date.
Post expiry of the Delivery Order, DP World will not release cargo to the importer. In such cases the Delivery order needs to be extended by the agent and the Shipping agent may charge an additional fee for providing the extension.
The importer can then login to Dubai Trade to create and submit the Import Declaration application for Dubai Customs clearance. The importer can make payment for customs duties and other fees online using the CDR account or E-payment using credit card or direct debit. In case of restricted goods or duty exempted cargo, the importer must arrange for necessary permits from the designated Permit Issuing Authority before filling the Customs Import Declaration. For import of goods from outside the country into Dubai following documents are required:
Commercial invoice from the exporter addressed to the importer detailing total quantity, goods description and total value for each item
Original certificate of origin approved by the chamber of commerce at the country of origin detailing the origin of goods.
Detailed packing list as per weight, method of packing and HS code for each individual article contained in the shipment.
Import permit from the competent agencies in the event of importing restricted goods or duty exempted goods.
Dubai Customs will verify and evaluate the information provided for the purpose of payment of customs duties and import approval. Dubai Customs may mandate examination, checking and inspection of the goods by a competent authority before release of cargo to the importer
At the time of Import Declaration application submission, if the mode of payment selected is CDR account, then the importer can print the Customs Import Declaration immediately after approval. In case the mode selected is e-payment, then the importer must use the E-Payment service to make payment for customs duties and fees using a valid credit card or direct debit account. On successful payment completion the importer can print the Customs Import Declaration.
The Importer can settle DP World dues any time after receiving the Delivery order from the Shipping agent. The importer must use the DP World Payment e-service on Dubai Trade portal to make payment to DP World using the Advanced Deposit account or e-payment gateway. The e-payment gateway allows importers to make payments using credit card, e-dirham card or direct debit.
The importer can check the vessel arrival using the Vessel Enquiry e-service and container discharge status using the Container Enquiry e-service.
Once the container is discharged, the importer can then nominate a transport company to take delivery of the cargo/ container from DP World on importer’s behalf using the Haulier Nomination service on Dubai Trade.
The importer can also generate an e-token through Dubai Trade portal. e-Token system manages the flow of trucks entering and exiting the Jebel Ali Port. e-Token number is a unique identifier generated by Dubai Trade portal when a user selects a designated day and time slot to pick or drop containers from Jebel Ali Port using a registered truck. The importer must provide this e-token number to his nominated haulier. The haulier can then enter Jebel Ali port by quoting the e-Token number or presenting the e-Token slip to the security at the Jebel Ali port gates. DP World will deliver the containers to the nominated haulier as advised on e-Token. The haulier will be provided an Equipment Interchange Receipt (EIR) by DP World for each container taken out from the Jebel Ali port.
If inspection is required as per the Customs Import Declaration, the haulier must take the cargo/ container to the inspection area of the competent authority. Post inspection clearance, the haulier can exit the Jebel Ali Free Zone by presenting a copy of the EIR to the security staff at the Free Zone gates.
We have covered the concepts of relational databases in "Introduction to Databases ," how to access such databases in "Accessing Databases with SQL ," creation of web pages with forms in "Creating Web Pages " and "Web Forms for Database Queries ," and CGI programming to interface between web pages and databases and to process data in "CGI Programs and Web Forms " and "CGI Programs in C++ Using the MySQL C API ," "In Genomic Data ," "Genomic Sequence Comparison ," and "Searching Genomic Databases ," we studied some of the algorithms to process genomic data and how to use these algorithms in conjunction with the above tasks. Until now, however, we have employed existing databases. The current module, "Relational Database Development ," and "Creating and Changing Databases with SQL " discuss how we can design and produce databases. The ability to do so is important for development of databases for our own use or for larger computational science applications. Throughout this discussion, we consider the "College Physics Example " of the module "Computational Science and Web-Accessed Databases " as well as other applications.
Three-Level Architecture We can consider the database on three levels of abstraction: external, conceptual, and internal. (See Figure 1 .)
The external level has the users' views of the database. Depending on their needs, different users access different parts of the database. For example, a doctor performing drug tests should be able to access the patients' medical data but not their hospital bills. However, a billing clerk should have a very different view of the database.
The conceptual level describes the logical structure of an entire database, including descriptions of the data and relationships among the data. For example, at this level we would describe a row of the table StudyA05 as containing the values for SSN and placebo . However, we would not give the details of the physical storage of the fields and records.
The internal level gives the details of the physical storage of the database on the computer. This level contains such details as the number of bytes for each data item, ordering of records, and data compression techniques. For example, at this level we would describe the attribute SSN as 10 bytes to store the nine-digit social security number.
The external level of a database has the users' views of the database. The conceptual level describes the logical structure of the entire database, including descriptions of the data and relationships among the data. The internal level gives the details of the physical storage of the database on the computer.
struct string SSN; double dosage; string LastName; string FirstName; . >
ER Model for Conceptual Design In 1976, Chen developed the Entity-Relationship (ER) model . a high-level data model that is useful in developing a conceptual design for a database. Creation of an ER diagram, which is one of the first steps in designing a database, helps the designer(s) to understand and to specify the desired components of the database and the relationships among those components. An ER model is a diagram containing entities or "items", relationships among them, and attributes of the entities and the relationships.
The Entity-Relationship (ER) model . a high-level data model that is useful in developing a conceptual design for a database.
To make the description of the model more complete, we consider the example of a physics department at a college that maintains a database of experimental results. Throughout a laboratory, students collaborate and share their results and access data sets from other semesters on a computer system. For example, in the laboratory session on "Freely Falling Objects with Significant Drag," students determine the drag coefficient by dropping dust balls from different heights and measuring the times they take to fall. Each team enters its results into the distributed database, and the class analyzes the data. After a team enters data into the web-accessed database, all students can obtain the measurements simultaneously. To simplify the analysis, we assume that the database only stores results related to this experiment over a period of several years.
Entity An entity is a real-world item or concept that exists on its own. In our example, a particular student (such as, "Emanuel Vagas"), team, lab section, or experiment is an entity. The set of all possible values for an entity, such as all possible students, is the entity type . In an ER model, we diagram an entity type as a rectangle containing the type name, such as student (see Figure 2 ).
An entity is a real-world item or concept that exists on its own. The set of all possible values for an entity is the entity type .
Attribute Each entity has attributes . or particular properties that describe the entity. For example, student Emanuel Vagas has properties of his own Student Identification number, name, and grade. A particular value of an attribute, such as 93 for the grade, is a value of the attribute. Most of the data in a database consists of values of attributes. The set of all possible values of an attribute, such as integers from 0 to 100 for a grade, is the attribute domain . In an ER model, an attribute name appears in an oval that has a line to the corresponding entity box, such as in Figure 3.
An attribute of an entity is a particular property that describes the entity. The set of all possible values of an attribute is the attribute domain .
Figure 3 . ER diagram notation for an attribute domain ( StudentGrade ) of an entity type ( student )
The degree of a relationship type is the number of entity types that participate. Thus, the LabSecMemberOf relationship type of Figure 9 has degree 2, which we call a binary relationship type. To clarify the role that an entity plays in each relationship instance, we can label a connecting edge with a role name that indicates the purpose of an entity in a relationship. For example, we can have two binary relationship types associating the student and team types, TeamMemberOf and LeaderOf . In the former case, a student entity is a member of a team entity; in the later case, a student can be a leader of a team. We illustrate the situation in Figure 10.
The degree of a relationship type is the number of entity types that participate. If two entity types participate, the relationship type is binary . A role name indicates the purpose of an entity in a relationship.
Figure 10. ER diagram notation with roles member . leader . and lab team
As Figure 11 illustrates, a relationship type can also have attributes. The relationship type order connects entities chemical and supplier . The relationship is many-to-many because each chemical can be from several suppliers and each supplier has a number of chemicals. An order has a purchase date, amount, and total cost as well as the chemical and supplier information. Thus, order has attributes PurchaseDate . amount . and TotalCost that we cannot appropriately associate with chemical or supplier .
Figure 11 . Relationship type with attributes
Recursive Relationship Another situation involving roles that can arise in an application is a recursive relationship. Suppose one team is assigned the task of supervising the other teams. This supervisor team makes sure that each team records its portion of the data. The supervision relationship is a recursive relationship because the same entity, a particular team, participates more than once in the relationship, as a supervisor and as a supervisee. To draw the situation, we label the two lines between team and supervision with the two possible roles (see Figure 12 ).
A recursive relationship is one in which the same entity participates more than once in the relationship.
Figure 12 . ER diagram notation for recursive relationship type, supervision
Weak and Strong Entity Types In the physics laboratory ER model example, the entity type student is strong bec ause its existence does not depend on some other entity type. However, the team entity type is weak . The existence of team depends on the existence of LabSection, and we call the in identifying relationship. As (see Figure 13 ) illustrates, we draw double lines around the identifying relationship, the team entity type, and the line connecting the two to indicate the weak entity type.
An entity type is strong if its existence does not depend on some other entity type. Otherwise, the entity type is weak .
Figure 13 . ER diagram notation for weak entity type, team . and identifying relationship, in
Cardinality Constraints If each team can have at most one student leader and a student can be a leader of at most one team, we have a 1:1 or one-to-one relationship . We can illustrate this ratio by writing ones on the lines indicating the relationship, as in Figure 14. Several teams can be in each lab section, students as members, so we write the cardinality ratio as N :1 in this many-to-one relationship and draw the diagram, as in Figure 15. Similarly, we can have a one-to-many relationship .
Figure 14 . ER diagram notation for one-to-one relationship
Figure 15 . ER diagram notation for many-to-one relationship
Because a student can retake a course, a student could be a member of more than one team. Thus, we would need different variables, say N and M . for the numbers of student and team entities, respectively; and the ratio would be N:M in this many-to-many relationship . As Figure 16 diagrams, a team has any number of students, and a student can participate in several teams during his or her college career. Ratios, such as 1:1, 1: N . N :1, and N:M . give a cardinality constraint or numeric restriction on the possible relationships.
A 1:1 or one-to-one relationship from entity type S to entity type T is one in which an entity from S is related to at most one entity from T and vice versa. An N :1 or many-to-one relationship from entity type S to entity type T is one in which an entity from T can be related to two or more entities from S . A 1: N or one-to-many relationship from entity type S to entity type T is one in which an entity from S can be related to two or more entities from T . An N:M or many-to-one relationship from entity type S to entity type T is one in which an entity from S can be related to two or more entities from T . and an entity from T can be related to two or more entities from S . A ratio, such as 1:1, 1: N . N :1, and N:M . gives a cardinality constraint or numeric restriction on the possible relationships.
Figure 16 . ER diagram notation for many-to-many relationship
Quick Review Questions
Quick Review Question 3 Give the cardinality constraint on the relationship runs . where each team may have many drag experiment runs:
Participation Constraints Every student must be a member of a team, or, in other words, a student entity is of interest only if it participates in a MemberOf relationship. Thus, we can include in an ER diagram a participation constraint in which participation of student in MemberOf is total . A double line indicates the total participation constraint in an ER model (see Figure 17 ). However, the participation of student in LeaderOf in Figure 10 is partial . because a student might be a team leader.
Figure 17 . ER diagram notation for total participation constraint
Using the above components, we have the ER model in Figure 18.
Figure 18 . ER diagram notation for total participation constraint
Table 1. Summary of the ER diagram notation
Weak entity type with identifying relationship
Projects For each of the projects, do the following: a. Draw an ER diagram. Make sure each entity type has at least one key attribute. Document any assumptions you make. Avoid diagrams with a single entity. segundo. For each attribute, determine its domain of values, whether null is an acceptable value, and, if acceptable, what null indicates. do. If you think the description is incomplete, list other data the database should store. re. Adjust your design to incorporate these additions. 1. A chemistry department wants to have a database of all chemicals in the stockroom. The information includes the name, molecular formula, amount on hand, date purchased, supplier, and supplier contact information.
2. A space agency wants to develop a database of all satellites that humans have launched into space. Data includes the satellite identification, date of launch, destruction date, purpose, maximum orbital altitude, launching location, launching agency, and contact information for agency.
3. An environmental agency wants to catalogue all the plants in an area that is susceptible to acid rain. Data should include genus, species, quantity, date, quadrant identification number, quadrant location, average altitude of quadrant, and botanist.
4. A psychological study requires participants to answer a number of questions related to personality. The database should store the multiple choice answers (A, B, C, D) to the questions and information about each participant, such as participant id, age, and sex. The database should compute a score based on the individual's answers. The score indicates one of 8 personality categories. Each category has an identifying name and specifies that each of three qualities is either true or false.
Copyright 2002, Dr. Angela B. Shiflet All rights reserved
Final Project Part – I [includes ER & Functional Diagram]
Medical Record Patient Information :
The goal of the project is to build a patient medical record information system that provides easy and instant access to patient information. In addition, the new system will obtain a more efficient support for clinical work, better possibilities for integration with future systems, and lower cost of operation. This project needs to develop a client/server application system that uses relational database management system. It will also provide Internet access so that doctors will be able to access it from anywhere. A database is needed to store all the medical information such as patient record, diagnostic procedures, staff’s schedule and a large collection of multimedia data (X-rays and MRI scans). Furthermore, it provides data independence, uniform data administration, reduce application development time, concurrent access and recovery. The new system provides strong security with multi-level authorities
The patient medical information system requires a single repository of data to be maintained and stored on a relational database management system, which can be accessed by various users. In addition, the system also requires the following conditions to be met:
Security – Patient medical information is confidential in nature. The system must provide strong security with multi-level authorities.
Almacenamiento & amp; Retrieval – The system requires medical information such as patient record, diagnostic procedures, staff’s schedule and a large collection of multimedia data (X-rays and MRI scans) to be stored and retrieved. The system should allow multiple views on the same data.
Accessibility – The system must be Internet accessible so that doctors and clinic staffs can access it from anywhere.
Scalability & Performance – The database system should be scalable enough to support concurrent usage with little degradation to the response time.
Doctor should be able to lookup a patient record through the system
The clinic staffs should be able to assess the entire medication pattern of the patient, in current admission as well as other admissions. System should provide an overview of all medications, CAVE, diagnoses, etc.
Clinic staff should be able to record patient vital information on the spot through the system.
Doctor should be able to assess the state of the patient by looking at a patient overview screen on the system, which provides everything about the patient on one screen and the ability to drill down to details.
Doctor should be able to follow up on planned services (procedures and tests) and results. The system should provide an overview of ordered services and the results.
Doctor should adjust diagnoses (modify, add, delete, prioritize). Check against standard recommendation. Write notes. That is the system should provide record changes and notes on the spot.
The clinic staffs should be able to plan and order new services (procedures/tests). Check against available time for all parties – including the patient. That is the clinic staff should be able to book a new services with date and time on the spot
The clinic staffs should be able to manage ( create, read, update, delete ) each patient’s profile that includes SSN, medical policy, and emergency contact and so on.
The clinic staffs should be able to schedule an appointment for a patient through the system.
The system should keep all the medical information including all the vitals taken during the visit such as weight, pulse, blood pressure, and temperature.
The system should keep track each patient’s profile that includes SSN, medical policy, and emergency contact and so on.
Doctor should be able to prescribe medicine for patient on the spot through the system.
The clinic staffs should be able to generate result report for procedures and tests.
The system should able to keep a history patience diagnosis. All changes to the diagnosis are recorded and in the earlier versions are kept in the system. Usually, doctors are only interested in the latest version.
The system must contain a report generator that is easy to use. The system must be able to show all reports on the screen as well as on print.
The system should provide a search form for clinic staffs and doctor to lookup request record.
System users must identify themselves with a username and a password.
The system must time out after 5 minutes of non-use
The system must check that only authorized users have access to systems and data. The rights are check in the database system. The system may display only authorized functions and data.
The system must allow a system administrator to assign or remove access rights for a user.
The system must allow a system administrator to create user and create new role types.
Patient cannot book appointments online
Financial account information not part of the database as there is a direct relationship with the patient billing info
3. Conceptual Design of the Database based on the ER diagram :
This section lists all the entities and their related attributes
· Patient – MRN, Gender, PhNum, Insuranceid, Address, DOB, Name(First, Last), SSN
· Appointment – date, MRN, staffID
· Doctor – DeptId, staffId, specialization
· Department – DeptId, DeptName, Location
· Staff – staffId, DOB, Name(First, Last), Address, Gender
· Schedule – date, staffId
· Procedure – ProcedureId, DeptId, cost, staffId, ProcName
· Report – ProcedureId, MRN, Bill, staffId, details, date, ReportId, MultimediaData
· vitals – pulse, staffId, MRN, weight, date, temperature, bloodpressure
· Patient Medical Record – MRN, ReportId, date, prescription, symtoms, vitalId, diagnose
The following section details the functional components of the patient medical information system. These function components collectively work together to obtain our objective
Cameo Data Modeler
Testimonios
Please give a big thumbs up to whomever had the idea to throw in Cameo Requirements Management into MagicDraw 18. I'm using the plugin a ton now. ¡Aclamaciones! Chris Mellroth Northrop Grumman
No Magic's team were exceptional at delivering software that was on time and within specification. President and CEO Metalithic Systems Inc.
I'm working with MagicDraw for 3 years now and I'm still impressed by the tons of functionalities it has and by the great support team! Xavier Seignard Sodifrance
I just wanted to thank you for your great customer service. I have enjoyed working with you (and MagicDraw) so far, and look forward to doing so increasingly in the future. Eric Crane Members United Corporate Federal Credit Union
One of the best, if not the best object-oriented modeling tools IMO is MagicDraw. Mark Lorenz Labcorp
MagicDraw is BY FAR the greatest modeling tool I have ever used. Stan Butler Deposco
Thank you very much for your help! I must say that I have never experienced such excellent technical support. Dr. Jim Arlow ClearView Training
MagicDraw is very intuitive and robust. The best UML Modeler I've been using so far. Volker Lenz IT Services Promotion Agency
I really am loving the product. It's just that when I find out that a company actually *listens* for once. Gavin Kistner Image Refinery Productions
I have used multiple modeling tools over the years. by far the best one I've used is MagicDraw. Mark Lorenz Labcorp
The product exceeded all its competitors in every area and was by far the easiest for all our teams to use when building enterprise solutions. Allen Scott Intelligent Chaos
MagicDraw is now my main tool of trade. Dr. Darren R C Kelly Elements of the Web
We knew when we bought our MagicDraw licenses that the product was top of the line. You have just proven to me that your support is also top of the line. Stefan Zetterberg LearningWell AB
Cameo Data Modeler plugin provides data-related modeling for MagicDraw. It includes entity-relationship, database and XML schema modeling features.
This plugin enables you to draw entity-relationship diagrams (using the crow's foot notation). This is a full - featured variant of ER diagram (including extended entity-relationship concepts - like generalization), providing a spectrum of capabilities for logical data modeling.
This plugin provides SQL database modeling / diagramming and DDL script generation / reverse features. It supports 11 flavors of databases (including Standard SQL, Oracle, DB2, Microsoft SQL Server, MySQL, PostgreSQL), has separate type libraries for them, carries additional modeling extensions for Oracle databases, Transformations from / to plain UML models and from ER models are provided.
This plugin provides XML schema modeling / diagramming and schema file (*.xsd) generation / reversing features.
Entity-Relationship diagram provides a spectrum of capabilities for logical data modeling using Information Engineering notation. It is suitable for logical level data modeling – providing data structures for various domains, defining business terminology, requirements of business and information exchange. It is suitable for any task where physical level data modeling – DDL diagrams – is deemed too implementation-dependent and platform specific.
ER diagram provides:
Entity and relationship modeling
Generalization/specialization modeling, including discriminator support for attribute-defined specialization
Specification of keys for entities (primary, alternative keys, inversion entries)
Additionally, this plugin provides enhancements for DDL diagrams – crow's foot notation for relationships and easier multiplicity specification.
To try the Cameo Data Modeler plugin, go to the Help menu and select the Resource/Plugin Manager to see the list of available plugins. Select the Cameo Data Modeler Plugin to download and install.
Cameo Data Modeler plugin is a separately purchasable add-on for MagicDraw application (Standard, Professional, Architect editions) and at no-cost for MagicDraw Enterprise edition with one year Software Assurance.
Cameo Data Modeler plugin replaces previous Data Modeling Notations plugin, which had support for business entity-relationship diagram - a simplified variant of entity-relationship diagram, usable for high level, abstract, domain data modeling.
Capturas de pantalla
Create a UML Diagram
Unified modeling language (UML for short), is a standardized language accompanied by a specific set of symbols, used in the field of software engineering among others. UML diagrams make it possible to depict complex processes, systems and architectures in a way that anyone familiar with the unified modeling language will understand. The diagrams may be complex, but creating them with Gliffy is easy.
Use Gliffy UML Software To Create
Class diagrams
Object diagrams
State diagrams
Activity diagrams
Sequence diagrams
Use case diagrams
Collaboration diagrams
Component diagrams
Deployment diagrams
Gliffy Is Easy to Use
Gliffy works in all modern web-browsers and features an intuitive drag-and-drop interface. There’s nothing to install and almost no learning curve.
Collaborate With Anyone
Diagrams can be shared and edited by anyone with an Internet connection, coworkers, friends, even grandma. Gliffy makes collaboration fun.
Use A Template
Whether you’re drawing a UML class, sequence, activity or other type of UML diagram, we have templates and shapes to get you started.
Multi-Storey Buildings in Steel, Godfrey, GB (Editor); Second Edition; Collins, London, England, 1985
WORLD TRADE CENTER, NEW YORK, USA; Pages 162-4.
Architectural design: M. Yamasaki and Associates, Troy, Michigan; E. Roth and Sons, New York. Structural design: Skilling, Helle, Jackson, Seattle. Built: 1966/1973. Function
The complex comprises two tower office blocks, each 110 storeys high, together with four 8-storey and 10-storey ancillary buildings which are grouped around the towers and enclose a plaza. The complex provides for a total staff of 50,000 people but it also receives up to 80,000 visitors daily. It accommodates the premises of business firms, insurance companies, banks and public authorities and includes a hotel.
The 110 upper floors contain open-plan offices, free from internal supports, each with 2,900 m 2 of effective floor area. On five basement floors are stations served by underground railway and rapid-transit lines, underground parking space for 2,000 cars, and service facilities of various kinds. Below these, on a sixth basement floor and in four double-height storeys distributed over the height of the building, are air-conditioning plant and other technical services.
Each of the tower blocks has 100 passenger lifts and four goods lifts. A lobby on the ground floor and two sky-lobbies, on the 44th and 78th floor respectively, subdivide the building into three circulation zones. Each sky-lobby is connected by eleven or twelve lifts to the ground floor. From each of the three lobbies 24 local lifts give access, to the floors above. Furthermore, five express lifts go non-stop from the ground floor to the 107th and 110th floors. As three local lifts, one above the other, can operate in the same shaft, only 56 shafts are needed to accommodate the 104 lifts in the building (the liftshafts occupy 13% of the area of each floor). Maximum transit time, including change of lift, is 2 minutes. In an emergency, a fully occupied tower block (assuming it to contain 55,000 people, including visitors) can be emptied in 5 minutes.
Diagram (left): Vertical section through a tower block
1 Ancillary building 2 Plaza level 3 Sky-lobby 4 Technical services 5 Underground car park
Two towers, each 411 m high, 63.5 x 63.5 m square on plan, core 24 x 42 m. Storey height 3.66 m, ceiling height 2.62 m. Height of entrance hall 22.3 m.
The structural design of the two towers is determined by the method of absorbing and transmitting the wind forces. On each of the facades a Vierendeel girder type wall is formed by 59 box-section columns (spaced at 1.02 m centres) which are rigidly connected to spandrel panels at each floor level. At the corners of the building these walls are interconnected to transmit shear, so that, together with the floors of the building, they form a torsionally rigid framed tube which is fixed to the foundations and transmits all wind loads. The floors span without intermediate columns between the external columns and the core, the 44 box-section columns of which have to carry vertical loading only.
External framework and facade
The external columns are of constant overall cross-section, 450 x 450 m. The spandrel panels interconnecting them comprise steel plates, 1.32 m deep. 12 m above the entrance level the columns are combined in groups of three to form single base columns, spaced at 3.05 m centres and with an overall cross-section of 800 x 800 mm.
Diagram (above): Framed tube construction principle: load-bearing external walls stiffened by the floors to form a torsionally rigid tube
13 Load-bearing external wall 17 Core box column 20 Floor slab
Note that the buildings are stiffened by the composite steel-concrete floors. The floors are an integral part of the structural system. Without the composite floor slabs, the buildings would soon collapse.
The wall thickness and grade of steel in the external columns are varied in successive steps in the upward direction: wall thickness decreasing from 12.5 to 7.5 mm, yield point of the steel from 70.0 to 29.5 kg/mm 2. To ensure that the floors remain plane, i. e. free from warping distortion, the external columns are so designed that the stresses, and therefore the strains, produced in them by vertical loads are equal to those produced in core columns (mild steel with yield point of 24 kg/mm 2 ). The reserve stress capacity in the external columns which is provided by the progressively graded qualities of steel serves to absorb wind load. The design value adopted for wind pressure over the entire height of the building is 220 kg/in 2. The calculated maximum deflection at the top of the building is 28 cm.
Although the calculated maximum deflection at the top of the building may be 28 cm, the measured deflections were considerably larger. In Robertson [1] we find information concerning the World Trade Center when subjected to a 95 mph (153 kph) wind. It turns out that the static deflection is 45 inches (114 cm) from the vertical and that the building then oscillates some 33 inches (84 cms) either side of the point of static deflection (with a period of eleven seconds). Thus a 95 mph (153 kph) wind induces a maximum deflection of 78 inches (198 cms) from the vertical.
The external framework was erected using prefabricated three-storey units, each comprising columns interconnected by spandrel panels. These units, ranging in weight from 22.3 to 6.0 tonnes, were fitted together, alternately staggered in one storey heights, and spliced with high-strength friction-grip bolts.
Diagram (above): Horizontal section through an external column with window frame connection
36 External column 38 Vermiculite plaster 39 Special fire-resistant plaster 40 Aluminium sheet 41 Guide rail for window-cleaning equipment 42 Special tinted glass 43 Aluminium window frame
The external cladding to columns and spandrels consists of aluminium sheet. The window openings, 1.98 x 0.48 m, are infilled with bronze-tinted solar-heat rejecting glass fitted into aluminium frames and sealed with Neoprene gaskets. Automatic window cleaning is by means of rotating brushes guided along rails fitted on the column cladding.
Diagram (above): Structural system for typical floor
13 Load-bearing external wall 14 Bar joist 900mm deep 15 Secondary joist 16 Horizontal bracing 17 Core box column
Composite floors comprise 900mm deep bar joists (spaced at 2.04 m centres and braced transversely by secondary joists) and a 10 cm thick lightweight concrete slab laid on steel trough decking as permanent formwork. Composite action between the concrete and the steelwork is ensured by extending the diagonal web members of the joists through the steel decking and embedding them in the slab. Dead weight of floor 50 kg/in 2. imposed load 488 kg/in 2.
Diagram (above): Constructional features of a prefabricated floor unit
21 Floor covering 22 In-situ concrete 23 Trough decking 24 Bar joist 25 Electrical services duct 26 Air-conditioning duct
Each upper floor comprises 32 prefabricated units spanning between core and external columns.
This is (partly) wrong. It turns out that 18 floors have heavy steel beams instead of trusses. Consider the following quote from Engineering News-Record, January 1, 1970.
On the 41st and 42nd floors, both towers will house mechanical equipment. To accommodate the heavy loads, the floors are designed as structural steel frame slabs. All other floors from the ninth to the top (except for 75 and 76, which will also carry mechanical equipment) have typical truss floor joists and steel decking.
Typical office floors have 4-in. thick slabs of composite construction using top chord knuckles of the joists (trusses), which extend into the slab, as shear connectors. On mechanical floors, composite action is provided by welded stud shear connectors.
So the first 8 + 6 = 14 stories, and the 41st, 42nd, 75th and 76th floors, used solid steel beams in place of trusses. Also, the top stories had special steel reinforcing diagonals called outrigger trusses.
These units are of two sizes: 18.3 x 6.0 m along the longitudinal faces of the core and 10.7 x 4.0 m along the transverse faces. Additional beams are provided to strengthen the four corner bays.
Diagram (above): Shock absorbers between floor girders and external wall: plan and elevation
29 Visco-elastic pads 30 High tensile steel wire 31 Steel plates
Oscillations due to wind are absorbed by visco-elastic shock absorbers installed between the floor beams and the external columns. Electricity and telephone cables and air-conditioning ducts are incorporated in the floor units, being installed prior to erection.
Fire protection of the steelwork is provided by 3 mm thick sprayed vermiculite plaster. The core has been designed as a safety zone with emergency stairs for escape and with hydrants for active fire-fighting operations. Water for extinguishing fires is available in tanks, each of 18,500 litres capacity, which are installed on the technical services floors. Additional riser pipes are installed in the core.
Rock with a permissible bearing pressure of 39 kg/cm 2 occurs at a depth of 22.5 m. The excavation for the basement and foundations, area 440,000 in 2. is enclosed by a 90 cm thick reinforced concrete diaphragm wall anchored back into the surrounding ground. The column foundations comprise two-layer grillages which transmit the loads through a concrete base slab, 2.1 m thick, to the underlying rock.
Diagram (below left): Plan of foundation for a tower block
Diagram (below right): Grillage foundation under a core column
33 Concrete base slab 34 Grillage beams 37 Core column
Diagram (above): Shock absorbers between floor girders and external wall: plan and elevation
32 Rock 33 Concrete base slab 34 Grillage beams 36 External column 37 Core column
The whole complex of buildings is fully air-conditioned. In the tower blocks, air-conditioning units are installed in front of the windows around the perimeter of the floor. The cooling plant at bottom basement level obtains cooling water from the adjacent Hudson River at a rate of 330,000 litres/mm. There are seven cooling units, each with a capacity of 21,000 Mcal/h. The cooled water (at a temperature of 3.3 degrees C) is distributed through a total of 20 distributing stations.
The top part of each tower (59th to 110th floor) has a high-pressure air-conditioning system comprising two distributing stations on the 75th floor and two on the 108th. On the floors below and in the ancillary buildings a low-pressure system is provided, with a total of 16 distributing stations located in the basement and on the 7th and 41st floors. Heating is by means of steam generated in the central air-conditioning plant.
Location plan of the complex
1. WTC 1 - North Tower - 110 floors 2. WTC 2 - South Tower - 110 floors 3. WTC 3 - Hotel - 22 floors 4. WTC 4 - South Plaza Building - 9 floors 5. WTC 5 - North Plaza Building - 9 floors 6. WTC 6 - US Custom Building - 8 floors 7. WTC 7 - World Trade Center Seven - 47 floors
Diagram (above): Plan of typical floor
10 Open-plan office 11 Express lifts 12 Local lifts
Assembly of the external wall units (alternately staggered in one-storey heights) and floor units
Areas and volume (per tower)
gross area: 418,000 m 2 area on plan: 4,032 m 2 effective floor area: 319,000 m 2 volume: 1,754,000 m 3
Quantities of steel (structural steelwork in one tower)
total: 78,000 tonnes per square meter gross area: 166.6 kg per cubic meter: 44.5 kg per square meter effective floor area: 244.5 kg
Architectural Forum, 4/1 964. p. 119. Engineering News-Record. 9/1964. pag. 36; 11/1971. Der Stahlbau, 11/1964. pag. 350; 4/1970. pag. 123. Der Baningenleur. 9/1965. p.373:11/1967, p. 421. Bauwelt. 32/1 966. p. 909. Acier-Stahl-Steel. 12/1966, p. 556:6/1970. pag. 273.
1. (20 points) List four major advantages of a database system and two major disadvantages of a database system compared with a file system.
2. (10 points) List at least two reasons why database system support data manipulation using a declarative query languages such as SQL, instead of just providing a library of C or C++ functions to carry out data manipulation.
3. (10 points) Explain the distinctions among the terms primary key, candidate key, and a super key. Give an example Entity set to show what the primary key is and what are the candidate keys and super keys?
4. (30 points) Consider an ER diagram in Figure 1 which models an online bookstore.
a) List the entity sets and their primary keys.
b) Suppose the bookstore adds music cassettes and compact disks to its collection. The same music item may be present in cassette or compact disk format, with differing prices. Extend the ER diagram to model this addition, ignoring the effect on shopping baskets.
c) Now extend the ER diagram, using generalization, to model a case where a shopping basket may contain any combination of books, music cassettes, or compact disks.
5. (50 points) Design an ER diagram for the following application. Clearly State the assumptions you make and justify your assumptions.
1. The system needs to keep track of aircrafts, flight crews, customers and their itineraries, and flights.
2. Each aircraft has a unique number, maker, model, and capacity.
3. A crew member is either a flight attendant or a pilot. Each crew member has his/her employee ID, name, job title, and base city. Each crew member serves several flights and each flight has two co-pilots and several flight attendants.
4. Each customer has a profile (you will need to decide what information to keep) and may have several itineraries. Each itinerary consists of one or more flights.
5. Each flight has a unique flight number, a departing city, an arriving city, a departing time, an arriving time, and number of available seats. Several aircrafts may fly under the same flight number on different days.
Identify the main entities first, and then construct their relationships. Draw an ER diagram for the system using a graph drawing tool.
- give answers to problems 1-5 and submit a hard copy of the answers before class on the due date
Beautifully designed chart and diagram slides for PowerPoint with visually stunning graphics and animation effects.
Our new CrystalGraphics Chart and Diagram Slides for PowerPoint is a collection of 1500 impressively designed data-driven chart and editable diagram slides guaranteed to impress any audience. They are all artistically enhanced with visually stunning color, shadow and lighting effects. Many of them are also animated. And they’re ready for you to use in your PowerPoint presentations the moment you need them. This growing collection includes creatively-designed and animated diagrams including all the chart and diagram types listed below. All aspects of the charts and diagrams, including size, color, shape, wording and other attributes are extremely easy to edit inside of PowerPoint. All the charts are linked to PowerPoint tables, making it easy for you to change the data which changes the charts accordingly. And nearly all the diagrams are created using PowerPoint’s own toolset including SmartArt, so they are easily editable using familiar PowerPoint tools. All charts and diagrams are contained in PowerPoint slides (in the PPTX format) that you can paste into as many presentations as you like, royalty free. A handy chart and diagram slide browsing and 1-click insertion tool is also included for the ultimate in ease of use.
Here are some types of slides you will find in the different volumes:
Static Service Marketings Diagram Funnel Diagram Forces at Work Diagram Flow Chart Diagram Strategy Diagram Arrow & Text Boxes Diagram Boston Matrix Diagram Business Cycle Diagram Chevrons Diagram Circular Flow Diagram Decision Tree Diagram Fishbone Diagram Human Network Diagram Innovation Process Diagram
Animated Growth Diagram Milestone Diagram Chevron Diagram Process Diagram Hexagon Diagram Cause and Effect Diagram Plant Diagram Goal Diagram Stages Diagram Steps Diagram Timeline Diagram Puzzle Diagram Phases Diagram Roadmap Diagram Target Diagram
Animated Circle Diagram Time Diagram Steps Diagram Staircase Diagram Triangle Diagram Globe Diagram Square Diagram Quadrant Diagram Arrow Diagram Parts Diagram Pie Chart Callout Diagram Points Diagram Text Box Diagram Progress Diagram
Data Driven Charts Column Charts Doughnut Charts Pie Charts 3D Bubble Chart Line Charts Stacked Area Charts Bar Charts Scatter Chart Radar Chart Candle Chart Comparison Chart Customer Rating Chart Sales vs. Discount Chart Cone Chart
Experts say “Don’t just tell your audiences, show them. ” Now, with CrystalGraphics Chart and Diagram Slides for PowerPoint . you can do that in style!
System Requirements Microsoft Windows XP, Vista to Windows 10 Microsoft PowerPoint 2007 to 2016
Ordering Online It's easy to order online! Simply click on the Add to Cart button below then proceed through our secure online checkout.
Ordering by Phone or Email To learn about discounted upgrades, volume discounts, educational discounts, credit terms or wire or check payments or if you have any other questions or simply prefer to shop by phone or email, one of our helpful sales reps will gladly assist you. Please click here for more information.
CrystalGraphics Chart and Diagram Slides for PowerPoint Individual Volumes Choose from among 15 volumes, with 100 professionally-designed slides in each volume.
Se ha detectado un error al acceder a esta página.
1. Server: ireasoning. sourceforge. net 2. URL path: /downloads/Document%20-%204%20-%20nds%20-%20Design%20Specification. pdf 3. Error notes: NONE 4. Error type: 404 5. Request method: GET 6. Request query string: NONE 7. Time: 2016-03-24 13:21:29 UTC (1458825689)
Informar de este problema: El problema que ha encontrado es con un sitio web del proyecto alojado por SourceForge. net. Este problema debe ser reportado al proyecto SourceForge. net-hosted (no a SourceForge. net).
Si se trata de un problema grave o recurrente / persistente, realice una de las acciones siguientes y proporcione el texto de error (numerado del 1 al 7):
Póngase en contacto con el proyecto a través de sus recursos de apoyo designados.
Póngase en contacto con los administradores de proyectos de este proyecto por correo electrónico (consulte la esquina superior derecha de la página Resumen del proyecto para sus nombres de usuario) a nombre de usuario @ users. sourceforge. net
Si usted es un mantenedor de este contenido web, consulte la documentación del sitio web sobre servicios web para obtener más ayuda.
NOTA: A partir de 2008-10-23 la visualización del índice del directorio se ha deshabilitado de forma predeterminada. Esta opción puede volver a habilitarse mediante el proyecto colocando un archivo con el nombre ".htaccess" con esta línea:
Er diagram for a clinic >>
Design an E-R diagram for modeling a small clinic database. The database models the patients, doctors. the patients visits to the doctors, the doctors. Download Health Clinic Entity Relationship Diagram at Health Informer: EDraw Flowchart, yEd Graph Editor, DiagramStudio. Aug 14, 2001 . The Clinic Information Form. Clinic Scheduling Report. Concept Definition and Preliminary ER Diagram Synthesis. The steps and processes on how-to translate the ERD diagram to the database Relational model (tables) using MySQL script and DBDesigner. May 11, 2011 . Clinic Dfd Context Diagram - Free download as PDF File (.pdf), Text File (.txt) or read online for free. E-R Diagram 29. PART IV – DATABASE. 3.4 System Requirements 8. 4. CONCEPTUAL DESIGN 9. 4.1 ER Diagram 9. 4.2 Functional Dependencies and Normalization 11. 4.3 Relational Schema 11. E-R Diagram for Hospital Managment System ( Entity Relationship Diagram ). Updated:7 months ago. 4.1818. (11). E-R Diagram for Hotel management system. Feb 24, 2014 . LIST OF ABBREVIATIONS Terminology Meaning ERD Entity Relation Diagram ERM. clinic database and software management system. 1.Aug 28, 2013 . To Scope The Online Clinic Reservation System has the following. Aliases: Tsched Type: Datetime Format Entity Relationship Diagram . 2 CONCEPTUAL SCHEMA ER DIAGRAM 3 Entity Doctor Patient City Gender Visit History Insurance Bill Payment Diagnosis Prescription Record Medicine .
Er diagram for a clinic
Analysis Methodology Facts Spaghetti Diagram Zoning Adjacency Efficiency Privacy Issues. White Space. White Space is an private orthodontic clinic for an opinion leader and luminary who is applying and researching most advanced techniques and materials in. Washing Machine Repair Help. To troubleshoot your washing machine, enter the model number in the search box below. After entering your model number, we’ll list the. Chiyodanomori Dental Clinic . This is a dental clinic accompanied with a housing project. The conditions required were: to make the clinic and housing into. Patient care and health information. More than 3,300 physicians, scientists and researchers from Mayo Clinic share their expertise to empower you. Mohs Surgery. OVERVIEW. Mohs micrographic surgery is a specialized surgical procedure used to treat skin cancers, typically of the head and neck. Recurrent or more.
Final trim diet pills
Disney world blackout days 2012 calendar
Bls hcp answer key
Storage wars nipsliptorage wars nipslip
911 calls of pasco county florida
Design an E-R diagram for modeling a small clinic database. The database models the patients, doctors. the patients visits to the doctors, the doctors. Download Health Clinic Entity Relationship Diagram at Health Informer: EDraw Flowchart, yEd Graph Editor, DiagramStudio. Aug 14, 2001 . The Clinic Information Form. Clinic Scheduling Report. Concept Definition and Preliminary ER Diagram Synthesis. The steps and processes on how-to translate the ERD diagram to the database Relational model (tables) using MySQL script and DBDesigner. May 11, 2011 . Clinic Dfd Context Diagram - Free download as PDF File (.pdf), Text File (.txt) or read online for free. E-R Diagram 29. PART IV – DATABASE. 3.4 System Requirements 8. 4. CONCEPTUAL DESIGN 9. 4.1 ER Diagram 9. 4.2 Functional Dependencies and Normalization 11. 4.3 Relational Schema 11. E-R Diagram for Hospital Managment System ( Entity Relationship Diagram ). Updated:7 months ago. 4.1818. (11). E-R Diagram for Hotel management system. Feb 24, 2014 . LIST OF ABBREVIATIONS Terminology Meaning ERD Entity Relation Diagram ERM. clinic database and software management system. 1.Aug 28, 2013 . To Scope The Online Clinic Reservation System has the following. Aliases: Tsched Type: Datetime Format Entity Relationship Diagram . 2 CONCEPTUAL SCHEMA ER DIAGRAM 3 Entity Doctor Patient City Gender Visit History Insurance Bill Payment Diagnosis Prescription Record Medicine.
Summary:
Design an E-R diagram for modeling a small clinic database. The database models the patients, doctors. the patients visits to the doctors, the doctors. Download Health Clinic Entity Relationship Diagram at Health Informer: EDraw Flowchart, yEd Graph Editor, DiagramStudio. Aug 14, 2001 . The Clinic Information Form. Clinic Scheduling Report. Concept Definition and Preliminary ER Diagram Synthesis. The steps and processes on how-to translate the ERD diagram to the database Relational model (tables) using MySQL script and DBDesigner. May 11, 2011 . Clinic Dfd Context Diagram - Free download as PDF File (.pdf), Text File (.txt) or read online for free. E-R Diagram 29. PART IV – DATABASE. 3.4 System Requirements 8. 4. CONCEPTUAL DESIGN 9. 4.1 ER Diagram 9. 4.2 Functional Dependencies and Normalization 11. 4.3 Relational Schema 11. E-R Diagram for Hospital Managment System ( Entity Relationship Diagram ). Updated:7 months ago. 4.1818. (11). E-R Diagram for Hotel management system. Feb 24, 2014 . LIST OF ABBREVIATIONS Terminology Meaning ERD Entity Relation Diagram ERM. clinic database and software management system. 1.Aug 28, 2013 . To Scope The Online Clinic Reservation System has the following. Aliases: Tsched Type: Datetime Format Entity Relationship Diagram . 2 CONCEPTUAL SCHEMA ER DIAGRAM 3 Entity Doctor Patient City Gender Visit History Insurance Bill Payment Diagnosis Prescription Record Medicine . Mohs Surgery. OVERVIEW. Mohs micrographic surgery is a specialized surgical procedure used to treat skin cancers, typically of the head and neck. Recurrent or more. Chiyodanomori Dental Clinic . This is a dental clinic accompanied with a housing project. The conditions required were: to make the clinic and housing into. Analysis Methodology Facts Spaghetti Diagram Zoning Adjacency Efficiency Privacy Issues. White Space. White Space is an private orthodontic clinic for an opinion leader and luminary who is applying and researching most advanced techniques and materials in. Patient care and health information. More than 3,300 physicians, scientists and researchers from Mayo Clinic share their expertise to empower you. Washing Machine Repair Help. To troubleshoot your washing machine, enter the model number in the search box below. After entering your model number, we’ll list the.
er diagram for car rental system
er diagram for car rental system
ER diagram templates covering many scenarios. You can download these entity relationship diagram templates or modify them online using our ER diagram editorLecture Slides available: PDF PowerPoint. Tutorial – ER Diagram Examples 3-5 Contents. Example 3; Example 4; Example 5; Example 3. A database is to be designed for a All users public diagrams. Assemblies. Created by: pony. CorporateDirectory. Created by: pony. Corporate Directory example; eStore. Created by: pony. Simple model of driving in europe: crossing borders. Until recently vehicles attempting to drive across a European national border were required to bear near the rear license plate a Advantage Golf Cars – Looking for somewhere to rent, buy, lease, or repair golf carts in Florida or California? We do all that and more! Artisteer – Automated Web Designer. Artisteer is the first and only Web design automation product that instantly creates fantastic looking, unique website templates I was simply wondering, how an ISA relationship in an ER diagram would translate into tables in a database. Would there be 3 tables? One for person, one for student For the first few years I lived in Spain, I didn’t have a car. There’s really no need to get behind the wheel if you’re living in a city or visiting another I need a diagram for the carbureter throttle spring setup for a magnum 49cc 111 plus ice auger sold by Osceola Power equip. prior to 1995. The engine and carbureter Orlando International Airport (IATA: MCO, ICAO: KMCO, FAA LID: MCO) is an international airport six miles southeast of Orlando, Florida, United States.
Image Gallery er diagram for car rental system
Related Posts to er diagram for car rental system
ER Diagram Template for College Management System. A simple diagram template showing a College Management System. As with the previous template this can be modified …
Lecture Slides available: PDF PowerPoint. Tutorial – ER Diagram Examples 3-5 Contents. Example 3; Example 4; Example 5; Example 3. A database is to be designed for a …
green. org is a new business model, Technology, and Solution targeting the premium domain channel with a fast, affordable, high quality business creation and …
Artisteer – Automated Web Designer. Artisteer is the first and only Web design automation product that instantly creates fantastic looking, unique website templates …
Terminos de busqueda entrantes:
craigslist rental apt queens
refinance less than 1 year real estate in maryland
Er Diagram Examples
Description ER Diagram MMORPGpng
ER Diagram Of The Mondial Database
Designing Warehouses Libraries And Car Rentals James T Vu
ER Diagrams With A Side Of Lucid Charts Eduard Gamiao
Car Sales Midsize Large In America GOOD CAR
Previous Class Diagram Example Schema Contents Next
MySQL Sample Database Schema
Er Diagram Of Banking Management System
Um Die Dauerhaltbarkeit Aller Komponenten Gew&228hren Zu K&246nnen Hat G
Continental Airlines Boeing 767 500/ER Fake Aviation Design Modified
These Diagrams May All Contain Comments Or Notes Explaining Usage
AdventureWorks Database Diagram 2014
Power Window Wiring Diagram 1 YouTube
ER Diagrams Using Data Modeler You Can Add Tables To The Diagram
Car Body Parts Names Diagram Images & Pictures Becuo
ER Diagrams From SQL S Christian Biggins
Stores Management System Free Student Projects
Steps To Design The Database Entity Relationship Modeling
Sales And Inventory Management System
Cell Organelle Analogies
Importante.
Some latest information/details about
Do You Want To See More Details About "intranetchatting uml diagrams". Then Ask here with your need/request. We will collect and show specific information of intranetchatting uml diagrams's within short time. So hurry to Ask now (No Registration. No fees. its a free service from our side). Our experts are ready to help you. Below is some stripped version of available pages links in this web site. To go through help you little for the details of intranetchatting uml diagrams Thank you.
Resultados. intranetchatting uml diagrams
Title: online examination system documentation with uml diagrams Page Link: online examination system documentation with uml diagrams - Posted By: Guest Created at: Tuesday 09th of October 2012 04:41:52 AM [:=Show Contents=:]
Profile information
Confirmar
is not in your collection. Do you have the game and are ready to ship it out? (If not, just click ‘No’ and you can come back and trade when you have the game)
is not in your collection. Do you have the case to go along with the game? Are you ready to ship it out? (If not, just click ‘No’ and you can come back and trade when you have the game)
is not in your collection. Do you have the case and manual to go along with the game? Are you ready to ship it out? (If not, just click 'No' and you can come back and trade when you have the game)
Dumbbell deadlift diagram >>
Mar 6, 2015 . Mark Rippetoe teaches Brett how to deadlift correctly. Don't drop the weight! Fi. On this page you will find some of my favourite dumbbell exercises. If your into. Illustration. Jul 22, 2009 . Deadlifts work your entire body. Forearm curls? Waste of time. Shrugs with dumbbel . The most thorough Deadlift guide on the entire internet. Discover how to Deadlift with proper form. Grasp barbell from rack or deadlift from floor with shoulder width to wide overhand grip. Stand wit.
Dumbbell deadlift
The poor deadlift has a bad rap. Yes, as far as weightlifting exercises go, the humble deadlift needs a serious PR boost. In my opinion, it is a core exercise. Recommended Diet Plan: Over the years, I've tried many different diets from Nutrisystem, Weight Watchers, Atkins, Paleo, Carb Nite, Carb Backloading, Renegade Diet. The Complete Step-by-Step Guide to a Stronger, Sculpted Body The Complete Step-by-Step Guide to a Stronger, Sculpted Body | Title: _Strength_Training, Author: george. Barbell Clean & Press. Stand over the barbell as if you were going to do a deadlift . Squat down and grasp the bar with a shoulder width grip. Using your legs, explode. The deadlift is a key exercise in strength and conditioning programs. What does the biomechanics research say about it? Shane Duquette. Hey Michael, did this post answer your question? We used it as an example in the text part above the diagram . Long story short, the barbell overhead.
Resignation letter for a medical assistant
Tumblr navigation scrollbar
Mal malloy easter egg
Amazing grace roman coliseum cd
E-trade facebook mothers day
Mar 6, 2015 . Mark Rippetoe teaches Brett how to deadlift correctly. Don't drop the weight! Fi. On this page you will find some of my favourite dumbbell exercises. If your into. Illustration. Jul 22, 2009 . Deadlifts work your entire body. Forearm curls? Waste of time. Shrugs with dumbbel . The most thorough Deadlift guide on the entire internet. Discover how to Deadlift with proper form. Grasp barbell from rack or deadlift from floor with shoulder width to wide overhand grip. Stand wit.
Summary:
Mar 6, 2015 . Mark Rippetoe teaches Brett how to deadlift correctly. Don't drop the weight! Fi. On this page you will find some of my favourite dumbbell exercises. If your into. Illustration. Jul 22, 2009 . Deadlifts work your entire body. Forearm curls? Waste of time. Shrugs with dumbbel . The most thorough Deadlift guide on the entire internet. Discover how to Deadlift with proper form. Grasp barbell from rack or deadlift from floor with shoulder width to wide overhand grip. Stand wit. The Complete Step-by-Step Guide to a Stronger, Sculpted Body The Complete Step-by-Step Guide to a Stronger, Sculpted Body | Title: _Strength_Training, Author: george. Barbell Clean & Press. Stand over the barbell as if you were going to do a deadlift . Squat down and grasp the bar with a shoulder width grip. Using your legs, explode. The deadlift is a key exercise in strength and conditioning programs. What does the biomechanics research say about it? Recommended Diet Plan: Over the years, I've tried many different diets from Nutrisystem, Weight Watchers, Atkins, Paleo, Carb Nite, Carb Backloading, Renegade Diet. The poor deadlift has a bad rap. Yes, as far as weightlifting exercises go, the humble deadlift needs a serious PR boost. In my opinion, it is a core exercise. Shane Duquette. Hey Michael, did this post answer your question? We used it as an example in the text part above the diagram . Long story short, the barbell overhead.
Sep 16, 2014 . The U - verse system is certainly powerful, and all of that power generates heat. tapes. since AT & T Unverse has been installed. the instructions to turn the. The alarm system communicated before U - verse installation and did not. lineup like comcast . the system works more like a “system” whereas all. The rub: Installation for Verizon can be pricey for the telecom giant as. In this case the set-top boxes from Verizon and Comcast were nearly identical. MOST cable companies and U - verse (AT&T) run fiber to the node, and coax from the. When I get FIOS, I am going to leave my POTS line in, for my alarm system and. Comparison Chart . AT&T Security System is compromised of white labeled equipment. With several cable companies hopping on board such as Comcast and Tim Warner, AT&T digital life just seems like another company going after. AT&T U - verse digital life system is slowing my internet with Cox Communication. Oct 24, 2011 . My girlfriend and I recently got cable television through ATT's IPTV U - verse service. I could keep the Comcast connection in addition to the AT&T TV service. the remote, and how to reset the system in case something went wrong. 2 PS3 Random Tangent security Server Software Steam Technology. PC Gaming. ·, Console Gaming. ·, Distributed Computing. ·, Security . AT&T u - verse is new in the area, and I'm wondering if anyone here knows the. A typical installation permits "2+2" - 2 HD and 2 SD boxes showing or recording. ScottMac is right on, I just ditched Comcast and got Uverse on 12/20Learn how to arm and disarm your XFINITY Home - Secure system with this simple step-by-step. You will need to enter your XFINITY username and password. Feb 19, 2013 . This file type includes high resolution graphics and schematics when applicable. Performance, Power, and Security Top Digital Hardware Trends. The U - verse system provides cable TV-like service with IPTV as well as VoIP. Comcast et al Cable providers quote ***burst*** speed ("1st 10 MB of file"). Whether you are looking for broadband cable Internet providers or DSL, get you the. The speeds listed in the first chart below are merely recommendations. Xfinity, Time Warner Cable . Cox, Bright House, Suddenlink, Verizon FiOS, AT&T U - verse . Customer Service · Protection Plans · Installation · Trade-In. You can be confident that your DIY security system installation will be backed. Comcast Digital Voice; AT&T U - verse ; Time Warner Cable ; Cablevision; Charter. Nov 15, 2009 . Part 1 of Uverse Insallation. Uverse Installation - Part1. WhateverUnique. AT&T Uverse vs Comcast . Are you really getting what you pay for?
October 03, 2015, 05:43
System with comcast or u
Concord 4 VoIP or Phone Line Alarm Monitoring: The Concord 4 hybrid security system comes equipped to send its alarm signals over a traditional phone line. From Album: Le Chevalier HOCKEY MASK dessus Matching Comments: Stan Hughes: 930koyzx85xrmw0s View A Private Profile As Public http://6.rsgnmksag. com/2j Serrano Indian. SEO and SEM professionals use SEMrush to find the best keywords and online marketing ideas. Artisteer - Automated Web Designer. Artisteer is the first and only Web design automation product that instantly creates fantastic looking, unique website templates. You have likely landed on this page because you have trouble with your VoIP phone service and you are struggling to get support from your service provider. Secrets. com: Job Interview Online Practice Tests The Fastest Way to Land Your Dream Job. Search the history of over 469 billion pages on the Internet. search Search the Wayback Machine How complicated is it to replace a home alarm pad? The brand of the pad is Napco and it is worn out to the point where some buttons dont work. Digitone has made great efforts to keep pace with the changing caller ID methods and signal.
Nov 15, 2009 . Part 1 of Uverse Insallation. Uverse Installation - Part1. WhateverUnique. AT&T Uverse vs Comcast . Are you really getting what you pay for? Sep 16, 2014 . The U - verse system is certainly powerful, and all of that power generates heat. tapes. since AT & T Unverse has been installed. the instructions to turn the. The alarm system communicated before U - verse installation and did not. lineup like comcast . the system works more like a “system” whereas all. The rub: Installation for Verizon can be pricey for the telecom giant as. In this case the set-top boxes from Verizon and Comcast were nearly identical. MOST cable companies and U - verse (AT&T) run fiber to the node, and coax from the. When I get FIOS, I am going to leave my POTS line in, for my alarm system and. Comparison Chart . AT&T Security System is compromised of white labeled equipment. With several cable companies hopping on board such as Comcast and Tim Warner, AT&T digital life just seems like another company going after. AT&T U - verse digital life system is slowing my internet with Cox Communication. Oct 24, 2011 . My girlfriend and I recently got cable television through ATT's IPTV U - verse service. I could keep the Comcast connection in addition to the AT&T TV service. the remote, and how to reset the system in case something went wrong. 2 PS3 Random Tangent security Server Software Steam Technology. PC Gaming. ·, Console Gaming. ·, Distributed Computing. ·, Security . AT&T u - verse is new in the area, and I'm wondering if anyone here knows the. A typical installation permits "2+2" - 2 HD and 2 SD boxes showing or recording. ScottMac is right on, I just ditched Comcast and got Uverse on 12/20Learn how to arm and disarm your XFINITY Home - Secure system with this simple step-by-step. You will need to enter your XFINITY username and password. Feb 19, 2013 . This file type includes high resolution graphics and schematics when applicable. Performance, Power, and Security Top Digital Hardware Trends. The U - verse system provides cable TV-like service with IPTV as well as VoIP. Comcast et al Cable providers quote ***burst*** speed ("1st 10 MB of file"). Whether you are looking for broadband cable Internet providers or DSL, get you the. The speeds listed in the first chart below are merely recommendations. Xfinity, Time Warner Cable . Cox, Bright House, Suddenlink, Verizon FiOS, AT&T U - verse . Customer Service · Protection Plans · Installation · Trade-In. You can be confident that your DIY security system installation will be backed. Comcast Digital Voice; AT&T U - verse ; Time Warner Cable ; Cablevision; Charter .
Sobre nosotros
Search the history of over 469 billion pages on the Internet. search Search the Wayback Machine From Album: Le Chevalier HOCKEY MASK dessus Matching Comments: Stan Hughes: 930koyzx85xrmw0s View A Private Profile As Public http://6.rsgnmksag. com/2j Serrano Indian. Secrets. com: Job Interview Online Practice Tests The Fastest Way to Land Your Dream Job. Artisteer - Automated Web Designer. Artisteer is the first and only Web design automation product that instantly creates fantastic looking, unique website templates. Digitone has made great efforts to keep pace with the changing caller ID methods and signal. You have likely landed on this page because you have trouble with your VoIP phone service and you are struggling to get support from your service provider. How complicated is it to replace a home alarm pad? The brand of the pad is Napco and it is worn out to the point where some buttons dont work.
Latest Updates
norton360 vs microsoft - Events
October 04, 2015, 01:02
car rental system class diagram
car rental system class diagram
BAHIR DAR UNIVERSITY INSTITUTE OF TECHNOLOGY School of computing and Electrical Engineering Computer Science Program Industrial Project I Car Rent and Online Club Car Diagrams: EZGO Diagrams. Yamaha: Club Car 36 Volt Pre V-Glide 1981 to 1991 Wiring Diagram. Club Car 36 Volt V-Glide w/Resistor Wiring DiagramFrequently asked questions about car rentals. Here are some of the most frequently asked questions about car rentals. You can find more FAQs here. Easy Design RDBMS Model: Most RDMS Systems here had not over 15 tables. So it is simple to design, to input data, easy to manage. easy to run. CAPACITY The nominal load in pounds or gallons which the car is designed to carry. See “Load Limit.” CAR BODY The portion of the car structure above the trucks. Being poor or unable to get credit 100% of the expenses must be covered with wage income. Schematically the cash flow looks like this. Thus you put your time into 1995, Ken Textor, The New Book of Sail Trim, ISBN 0924486813, page 201: On boats 25 feet or more, it is best to mount a mast car and track on the front of VMware ESXi is virtual infrastructure software for partitioning, consolidating, and managing systems in mission-critical environments. VMware ESXi provides a highly German School System. German public education makes it possible for qualified kids to study up to university level, regardless of their families’ financial status. If you are a teenager, then you would surely love Soapbox Derby Car Racing game. There are a lot of fans of this cool racing game and most of the them belong to the
Image Gallery car rental system class diagram
Related Posts to car rental system class diagram
BAHIR DAR UNIVERSITY INSTITUTE OF TECHNOLOGY School of computing and Electrical Engineering Computer Science Program Industrial Project I Car Rent and Online …
ER diagram templates covering many scenarios. You can download these entity relationship diagram templates or modify them online using our ER diagram editor
Club Car Diagrams: EZGO Diagrams. Yamaha: Club Car 36 Volt Pre V-Glide 1981 to 1991 Wiring Diagram. Club Car 36 Volt V-Glide w/Resistor Wiring Diagram
Here are some of the most frequently asked questions about car rentals.
Terminos de busqueda entrantes:
avis 1800 number avis rent a-car
cheap car rentals in killeen texas
difference between economy ad compact rental
rent a full size car at Mesa Gateway
EER schemas can be expressed in a diagrammatic form called EER Diagram . Entity-sets, relationship-sets, and attributes are represented graphically by rectangles, diamonds, and ellipses, respectively. Every vertex is labeled by the name of the object-set or attribute it represents; entity and relationship vertices must be uniquely identified by their labels globally, while attribute vertices must be uniquely identified by their labels only locally, with respect to their object-set.
Edges in an EER diagram are directed and represent the interaction of the various object-sets and attributes. Thus, there are edges:
directed from vertices representing entity-sets or relationship-sets to vertices representing attributes;
directed from vertices representing relationship-sets to vertices representing entity-sets or other relationship-sets;
directed from vertices representing weak entity-sets to vertices representing other entity-sets, labeled ID ;
directed from vertices representing entity-sets to vertices representing other entity-sets, labeled HAS or ALWAYS_HAS ;
Figure 1: An Extended Entity-Relationship Diagram Example
directed from vertices representing specialization entity-sets to vertices representing generic entity-sets, labeled ISA .
If entity-set E has an association-cardinality of one (respectively many ) with respect to relationship-set R . then the edge connecting the vertices representing E and R is associated with label 1 (respectively M ). Mandatory involvement of entity-sets in relationship-sets is represented graphically in an EER diagram by double-line edges instead of the regular edges representing the non-mandatory (optional) involvements.
Figure 1 contains an example of an EER diagram consisting of the following main elements: PERSON . AUTHOR . PROJECT . REFERENCE . PUBLICATION . and SPONSOR are entity-sets, relationship-set AUTHORED represents the association of authors with references, relationship-set ASSIGNED represents the assignment of projects to persons, HAS represents the project-sub-project relation, and SPONSORS represents the sponsoring of projects. PERSON represents a generalization of entity-set AUTHOR . The association cardinalities of relationship-set ASSIGNED represent the restriction of a project being assigned to at most one person.
Login My Cart 0
A single developer license allows 1 developer to use the components for development, obtain free updates & support for a full version cycle of the product. The license is not transferable.
A single developer license allows 1 developer to use the components for development, obtain free updates & support for 1 year. The license is not transferable.
A single developer license allows 1 developer to use the components for development, obtain free updates & support for 2 years. The license is not transferable.
A small team license allows 2 developers within the company to use the components for development, obtain free updates & support for a full version cycle of the product. The license is not transferable.
A small team license allows 2 developers within the company to use the components for development, obtain free updates & support for 1 year. The license is not transferable.
A small team license allows 2 developers within the company to use the components for development, obtain free updates & support for 2 years. The license is not transferable.
A site license allows an unlimited number of developers within the company to use the components for development, obtain free updates & support for a full version cycle of the product. Developers can be added at any time during the full version cycle.
A site license allows an unlimited number of developers within the company to use the components for development, obtain free updates & support for 1 year. Developers can be added at any time during the 1 year period.
A site license allows an unlimited number of developers within the company to use the components for development, obtain free updates & support for 2 years. Developers can be added at any time during the 2 year period.
TMS ALL-ACCESS
Quick links
Featured Product
TMS Data Modeler
The ultimate tool for modeling databases with an easy and simple interface.
TMS Data Modeler is the ultimate tool for modeling databases with an easy and simple interface. It provides powerful features you need, such as diagramming, reverse engineering, SQL script generation and version control. It keeps track of your changes and generates SQL scripts to update your database according to them. It has smooth integration with development tools like Delphi and C++Builder. And all of these features are accessible through a very pleasant user interface.
Feature Overview
Supported databases
Absolute Database
ElevateDB
Firebird 2
MS SQL Server 2000
MS SQL Server 2005
MS SQL Server 2008
MS SQL Azure
MySQL 5.1
NexusDB V3
Oracle 10g
PostgreSQL
SQLite 3.7
Caracteristicas
Entity relationship diagram editor (ER diagram)
Design ER diagrams using Data Modeler. You can add tables to the diagram, see the relationships, change several display options, and much more.
Create tables in diagram and/or in tab forms
If you don't want or don't need to model your database using diagrams, you don't have to. Data Modeler allows you to create and manage database objects directly, without having to deal with visual diagram designing. It's up to you.
Multi-diagram interface
Create different ER diagrams in a single project. You can put different tables in each diagram, making it easy to document and separate your application if it's too big.
Project validation allows you to trace errors in your model
Data Modeler performs a validation in your database model checking for design errors. It also displays warnings about your project, such as usage of reserved words and tables with no primary keys, among others. This validation allows fine tuning of your database model, and avoids future problems after your software is in production.
Supports logical (application-level) domains
Use domains as an abstraction layer for your data types. Even if your database system doesn't support domains/user-defined types, you can do it at application level in Data Modeler and make it easy to maintain your databases.
Manage many database objects
You can use Data Modeler to manage not only tables and fields, but several other database objects. Data Modeler supports indexes, triggers, relationships, constraints, views, procedures, generators, etc. Each database system has its own set of objects available.
Several database systems supported and more will be added
Data Modeler supports a number of database systems and new ones are in our roadmap to be included in future versions.
Reverse engineering of existing databases
Import your existing databases and start using Data Modeler quickly. The reverse engineering tool connects directly to your existing database and extracts all the information you need, such as tables, fields, foreign keys and other objects.
Generate SQL (DDL) scripts to create databases
Use Data Modeler to generate the SQL script that will create all your database objects. You can choose which object types to generate.
Keep track of your changes by archiving and managing versions
With Data Modeler you can archive project versions/add checkpoints. This way you can have the history of all development stages of database modeling, and also compare between versions and see what has changed from one version to another
Compare models between versions or between projects
A full comparer is available for you to check the differences between two models. You can perform comparison between two versions, or even between two projects. The comparer provides a very friendly visual interface that shows the differences in a tree view and also in a SQL diff format. From the comparer you can choose which items you want to update to generate an Alter SQL script.
Generate Alter SQL scripts to update database according to changes
Data Modeler creates SQL scripts to alter your database and update the structure. By using the comparer and/or checking differences, you can easily generate the alter script related to the differences and have your database in sync with your project.
Convert model to a different database system
If you want to target multiple database systems, you can easily convert your project from one database system to another. Data Modeler provides data type conversion maps between the databases, and allows you to create your own custom conversion map.
Modern ribbon interface
Data modeler is one of the few database modeling tools that offers the modern ribbon interface. It's much easier to use, nicer to look, and all options and features are available with less menu clicks.
Tables and other objects organized in tabs
Don't edit your tables, fields and objects in modal forms or windows that overlap each other. Most tables and objects in data modeler are displayed in tabs, making navigation very similar to browsers like Firefox and Internet Explorer. You can have many objects open at the same time, all accessible through one click.
Easy and quick navigation. Create tables and fields in a glance
Everything in Data Modeler was designed to be easy. Objects are displayed in tabs, and creating and editing fields don't require you to open another window. Everything is simple, clean and accessible through keyboard in a single window. Create your tables and fields quickly.
Multi-project interface
Open several projects at the same time. And you don't need to deal with MDI interfaces. Every project has its own taskbar button and you can easily switch between projects using regular Windows Alt-Tab function.
Automatic online updates
Like any modern software, TMS Data Modeler checks for new versions in the internet and auto-updates online. You will always have the latest version of your software.
User comments
I am very happy with you product, it meets just about all of my needs and is great value for money.
Mike Hamilton, via email
- Your product is by far the most pleasant tool to use. No other product even comes close to its ease of use. - It is currently the easiest to use especially for those who neither want or need to have to spend lots of time learning some of the competitor's products. - Data Modeler makes this an almost pleasant experience where you can work with a minimum of technical knowledge or be able to delve deeper where necessary.
Bill Marshall, via email
Buy online
View licensing FAQ
License for commercial use
Free 2 year updates and new releases
Free priority support through email and forum
Single developer license for 1 developer
Small team license for 2 developers
UML 2 class diagrams are the mainstay of object-oriented analysis and design. UML 2 class diagrams show the classes of the system, their interrelationships (including inheritance, aggregation, and association), and the operations and attributes of the classes. Class diagrams are used for a wide variety of purposes, including both conceptual/domain modeling and detailed design modeling. Although I prefer to create class diagrams on whiteboards because simple tools are more inclusive most of the diagrams that I'll show in this article are drawn using a software-based drawing tool so you may see the exact notation.
In this article I discuss:
1. Conceptual Class Diagrams
Figure 1 depicts a start at a simple UML class diagram for the conceptual model for a university. Classes are depicted as boxes with three sections, the top one indicates the name of the class, the middle one lists the attributes of the class, and the third one lists the methods. By including both an attribute and a method box in the class I'm arguably making design decisions in my model, something I shouldn't be doing if my goal is conceptual modeling. Another approach would be to have two sections, one for the name and one listing responsibilities. This would be closer to a CRC model (so if I wanted to take this sort of approach I'd use CRC cards instead of a UML class diagram). I could also use class boxes that show just the name of the class, enabling me to focus on just the classes and their relationships. However, if that was my goal I'd be more likely to create an ORM diagram instead. In short, I prefer to follow AM's Apply the Right Artifact(s) practice and use each modeling technique for what it's best at.
Enrollment is an associative class, also called a link class, which is used to model associations that have methods and attributes. Associative classes are typically modeled during analysis and then refactored into what I show in Figure 2 during design (Figure 2 is still a conceptual diagram, albeit one with a design flavor to it). To date, at least to my knowledge, no mainstream programming language exists that supports the notion of associations that have responsibilities. Because you can directly build your software in this manner, I have a tendency to stay away from using association classes and instead resolve them during my analysis efforts. This is not a purist way to model, but it is pragmatic because the other members on the team, including project stakeholders, don't need to learn the notation and concepts behind associative classes.
Figure 2 depicts a reworked version of Figure 1. the associative class has been resolved. I could have added an attribute in the Seminar class called Waiting List but, instead, chose to model it as an association because that is what it actually represents: that seminar objects maintain a waiting list of zero or more student objects. Attributes and associations are both properties in the UML 2.0 so they're treated as basically the same sort of thing. I also showed associations are implemented as a combination of attributes and operations - I prefer to keep my models simple and assume that the attributes and operations exist to implement the associations. Furthermore that would be a detailed design issue anyway, something that isn't appropriate on a conceptual model.
The on waiting list association is unidirectional because there isn't yet a need for collaboration in both directions. Follow the AM practice of Create Simple Content and don't over model - you don't need a bi-directional association right now so don't model it. The enrolled in association between the Student and Enrollment classes is also uni-directional for similar reasons. For this association it appears student objects know what enrollment records they are involved with, recording the seminars they have taken in the past, as well as the seminars in which they are currently involved. This association would be traversed to calculate their student object's average mark and to provide information about seminars taken. There is also an enrolled in association between Enrollment and Seminar to support the capability for student objects to produce a list of seminars taken. The instructs association between the Professor class and the Seminar class is bidirectional because professor objects know what seminars they instruct and seminar objects know who instruct them.
When I'm conceptual modeling my style is to name attributes and methods using the formats Attribute Name and Method Name . respectively. Following a consistent and sensible naming convention helps to make your diagrams readable, an important benefit of AM's Apply Modeling Standards practice. Also notice in Figure 2 how I haven't modeled the visibility of the attributes and methods to any great extent. Visibility is an important issue during design but, for now, it can be ignored. Also notice I haven't defined the full method signatures for the classes. This is another task I typically leave to design.
I was able to determine with certainty, based on this information, the multiplicities for all but one association and for that one I marked it with a note so I know to discuss it further with my stakeholders. Notice my use of question marks in the note. My style is to mark unknown information on my diagrams this way to remind myself that I need to look into it.
In Figure 2 I modeled a UML constraint, in this case on the association between Seminar and Student . The basic idea is that students are put on the waiting list on a first-come, first-served/out (FIFO) basis. In other words, the students are put on the waiting list in order. UML constraints are used to model complex and/or important information accurately in your UML diagrams. UML constraints are modeled using the format “ ” format, where the constraint description may be in any format, including predicate calculus. My preference is to use UML notes with English comments, instead of formal constraints, because they're easier to read.
2. Design Class Diagrams
3. How to Create Class Diagrams
One to n (where n > 1)
Another option for associations is to indicate the direction in which the label should be read. This is depicted using a filled triangle, called a direction indicator, an example of which is shown on the offering of association between the Seminar and Course classes of Figure 5. This symbol indicates the association should be read “a seminar is an offering of a course, ” instead of “a course is an offering of a seminar. ” Direction indicators should be used whenever it isn't clear which way a label should be read. My advice, however, is if your label is not clear, then you should consider rewording it.
The arrowheads on the end of the line indicate the directionality of the association. A line with one arrowhead is uni-directional whereas a line with either zero or two arrowheads is bidirectional. Officially you should include both arrowheads for bi-directional assocations, however, common practice is to drop them (as you can see, I prefer to drop them).
At each end of the association, the role, the context an object takes within the association, may also be indicated. My style is to model the role only when the information adds value, for example, knowing the role of the Student class is enrolled student in the enrolled in association doesn't add anything to the model. I follow the AM practice Depict Models Simply and indicate roles when it isn't clear from the association label what the roles are, if there is a recursive association, or if there are several associations between two classes.
3.4 Inheritance Relationships
Similarities often exist between different classes. Very often two or more classes will share the same attributes and/or the same methods. Because you don't want to have to write the same code repeatedly, you want a mechanism that takes advantage of these similarities. Inheritance is that mechanism. Inheritance models “is a” and “is like” relationships, enabling you to reuse existing data and code easily. When A inherits from B, we say A is the subclass of B and B is the superclass of A. Furthermore, we say we have “pure inheritance” when A inherits all the attributes and methods of B. The UML modeling notation for inheritance is a line with a closed arrowhead pointing from the subclass to the superclass.
Many similarities occur between the Student and Professor classes of Figure 2. Not only do they have similar attributes, but they also have similar methods. To take advantage of these similarities, I created a new class called Person and had both Student and Professor inherit from it, as you see in Figure 7. This structure would be called the Person inheritance hierarchy because Person is its root class. The Person class is abstract: objects are not created directly from it, and it captures the similarities between the students and professors. Abstract classes are modeled with their names in italics, as opposed to concrete classes, classes from which objects are instantiated, whose names are in normal text. Both classes had a name, e-mail address, and phone number, so these attributes were moved into Person . The Purchase Parking Pass method is also common between the two classes, something we discovered after Figure 2 was drawn, so that was also moved into the parent class. By introducing this inheritance relationship to the model, I reduced the amount of work to be performed. Instead of implementing these responsibilities twice, they are implemented once, in the Person class, and reused by Student and Professor .
3.5 Composition Associations
Sometimes an object is made up of other objects. For example, an airplane is made up of a fuselage, wings, engines, landing gear, flaps, and so on. Figure 8 presents an example using composition, modeling the fact that a building is composed of one or more rooms, and then, in turn, that a room may be composed of several subrooms (you can have recursive composition). In UML 2, aggregation would be shown with an open diamond.
I'm a firm believer in the "part of" sentence rule -- if it makes sense to say that something is part of something else then there's a good chance that composition makes sense. For example it makes sense to say that a room is part of a building, it doesn't make sense to say that an address is part of a person. Another good indication that composition makes sense is when the lifecycle of the part is managed by the whole -- for example a plane manages the activities of an engine. When deciding whether to use composition over association, Craig Larman (2002) says it best: If in doubt, leave it out. Unfortunately many modelers will agonize over when to use composition when the reality is little difference exists among association and composition at the coding level.
3.6 Vocabularies
In Agile Database Techniques (Ambler 2004) I discussed the importance of vocabularies when it comes to modeling XML data structures. A vocabulary defines the semantics of entity types and their responsibilities, the taxonomical relationships between entity types, and the ontological relationships between entity types. Semantics is simply a fancy word for meaning - when we're defining the semantics of something we're defining it's meaning. Taxonomies are classifications of entity types into hierarchies, an example of which is presented for persons Figure 9. Ontology goes beyond taxonomy. Where taxonomy addresses classification hierarchies ontology will represent and communicate knowledge about a topic as well as a set of relationships and properties that hold for the entities included within that topic.
The semantics of your conceptual model are best captured in a glossary. There are several interesting aspects of Figure 9 :
It takes a “single section” approach to classes, instead of the three section approach that we've seen in previous diagrams, because we're exploring relationships between entity types but not their responsibilities.
It uses UML 2.0's generalization set concept, basically just an inheritance arrowhead with a label representing the name of the set. In UML 1.x this label was called a discriminator. There are three generalization sets for Person . Nationality . Role . and Gender .
These generalization sets overlap - a person can be classified via each of these roles (e. g. someone can be a male foreign student). This is called multiple classification.
You can indicate “sub generalization” sets, for example Student within the Role generalization set.
Some generalization sets are mutually exclusive from others, not shown in the example, where an entity type may only be in one set. This is referred to as single classification and would be modeled using an XOR (exclusive OR) constraint between the two (or more) discriminators.
The notation used in these diagrams, particularly the hand drawn ones, may not conform perfectly to the current version of the UML for one or more of reasons:
The notation may have evolved from when I originally developed the diagrams. The UML evolves over time, and I may not have kept the diagrams up to date.
I may have gotten it wrong in the first place. Although these diagrams were thoroughly reviewed for the book, and have been reviewed by thousands of people online since then, an error may have gotten past of us. We're only human.
I may have chosen to apply the notation in "non-standard" formas. An agile modeler is more interested in created models which communicate effectively than in conforming to notation rules set by a committee.
It likely doesn't matter anyway, because the modeling tool(s) that you're using likely won't fully support the current version of the UML notation perfectly anyway. Bottom line is that you're going to be constrained by your tools anyway.
If you're really concerned about the nuances of "official" UML notation then read the current version of the UML specification .
Share with friends:
Let Us Help
We actively work with clients around the world to improve their information technology (IT) practices, typically in the role of mentor/coach, team lead, or trainer. A full description of what we do, and how to contact us, can be found at Scott Ambler + Associates .
Recommended Reading
This book, Disciplined Agile Delivery: A Practitioner's Guide to Agile Software Delivery in the Enterprise describes the Disciplined Agile Delivery (DAD) process decision framework. The DAD framework is a people-first, learning-oriented hybrid agile approach to IT solution delivery. It has a risk-value delivery lifecycle, is goal-driven, is enterprise aware, and provides the foundation for scaling agile. This book is particularly important for anyone who wants to understand how agile works from end-to-end within an enterprise setting. Data professionals will find it interesting because it shows how agile modeling and agile database techniques fit into the overall solution delivery process. Enterprise professionals will find it interesting beause it explicitly promotes the idea that disciplined agile teams should be enterprise aware and therefore work closely with enterprise teams. Existing agile developers will find it interesting because it shows how to extend Scrum-based and Kanban-based strategies to provide a coherent, end-to-end streamlined delivery process.
The Object Primer 3rd Edition: Agile Model Driven Development with UML 2 is an important reference book for agile modelers, describing how to develop 35 types of agile models including all 13 UML 2 diagrams. Furthermore, this book describes the fundamental programming and testing techniques for successful agile solution delivery. The book also shows how to move from your agile models to source code, how to succeed at implementation techniques such as refactoring and test-driven development(TDD). The Object Primer also includes a chapter overviewing the critical database development techniques ( database refactoring. object/relational mapping. legacy analysis. and database access coding) from my award-winning Agile Database Techniques book.
24 Data flow diagrams
24.1 Purpose
A data flow diagram is a logical model of the flow of data through a system that shows how the systems boundaries, processes, and data entities are logically related.
24.2 Strengths, weaknesses, and limitations
A data flow diagram is an excellent tool for summarizing and organizing detailed information about a systems boundaries, processes, and data entities, providing the analyst with a logical map of the system. Documenting the systems boundaries by drawing a context diagram helps the analyst, the user, and the responsible managers visualize alternative high-level logical system designs. The elements of a data flow diagram lead directly into physical design, with processes suggesting programs and procedures, data flows suggesting composites, and data stores suggesting data entities, files, and databases.
Creating a data flow diagram is a process driven task. Consequently, it is relatively easy to overlook key data elements and composites. Balancing a data flow diagram verifies the models internal consistency, but does not necessarily reveal missing elements. Attempting to balance a significant logical model without appropriate software (such as CASE software) is at best difficult and can be misleading. Beginners and users often confuse data flow diagrams with process flowcharts.
24.3 Inputs and related ideas
The first step in creating a data flow diagram is to prepare a list of the systems boundaries, data, and processes using the tools covered in Part II. Data flow diagrams are a significant part of the structured analysis and design methodology (# 3 ). A data flow diagram is sometimes created in conjunction with an entity-relationship diagram (# 26 ) or data normalization (# 28 ). Processes are documented using one or more of the process description tools in Part VI (#s 55 through 60 ). The data elements and data composites are documented in the data dictionary (# 25 ). The data flow diagram is sometimes included in the requirements specification (# 35 ). A completed data flow is required by the automation boundaries technique described in # 36.
24.4 Concepts
A data flow diagram is a logical model that shows the flow of data through a system.
24.4.1 Data flow diagram symbols
Using Gane and Sarsons notation, 4 four primary symbols are used to create a data flow diagram (Figure 24.1 ). A source or destination (sink) is represented by a (shaded) square. Sources and destinations define the systems boundaries; each one represents a person, organization, or other system that supplies data to the system, gets data from the system, or both. A process, or transform, (a round-cornered rectangle) identifies an activity that changes, moves, or otherwise transforms data. A data store (an open-ended, horizontal rectangle) represents data at rest and implies that the data are held (for some logical reason) between processes. A data flow (an arrow) represents data in motion. Additionally, Gane and Sarson use thick arrows to show physical or material flows.
Using Yourdon 7 and DeMarcos 2 notation, sources and sinks are represented as rectangles, processes as circles, and data stores as horizontal rectangles open at both ends (two parallel horizontal lines). Data flows are shown as arrows. There is no symbol for a material flow.
24.4.2 Conventions
The following conventions are used.
24.4.2.1 Legal and illegal data flows
All data flows must begin and/or end with a process (Figure 24.2 ). Data cannot legally flow directly from a source to a destination or between a source/destination and a data store unless they pass through an intermediate process.
Figure 24.2 All data flows must begin and/or end with a process.
24.4.2.2 Data flow lines
Multiple data flows between two components can be shown by two data flow lines or by a two-headed arrow. Some analysts use two flow lines when the input and output data flows are different and a single two-headed arrow when they are the same. For example, a process that gets data from a store, updates the data, and then sends the same data elements back to the store calls for a two-headed arrow.
24.4.2.3 Naming
A process name consists of a verb followed by a noun. By convention, the names of the sources, destinations, and data stores are capitalized, while process names and data flows are shown mixed case.
24.4.2.4 Numbering
By convention, the processes in a level 1 data flow diagram are numbered 1, 2, 3, and so on. The numbers do not imply sequence; they are for reference only.
The sub-processes in an exploded data flow diagram are assigned numbers starting with the parent processs number. For example, level 1 process 4 might be exploded into level 2 processes 4.1, 4.2, 4.3, and so on, while level 2 process 4.3 might be decomposed into level 3 processes 4.3.1, 4.3.2, 4.3.3, and so on.
Many analysts use the letter D followed by a number to identify the data stores. For example, in an inventory system, INVENTORY might be D1, SALES might be D2, and so on. Some analysts identify the sources and destinations as well.
24.4.2.5 Duplicate symbols
Symbols can be repeated if doing so makes the diagram easier to read. For example, duplicating a symbol might be clearer than drawing lengthy or crossing data flows. Duplicate symbols are usually marked in some way; for example, source/destinations might be marked with a slash in the lower-left corner and data stores might be marked with an extra vertical line.
24.4.3 Underlying principles
Two general principles guide the creation of a data flow diagram: the principle of data conservation and the principle of iteration.
24.4.3.1 The principle of data conservation
There are no miracles, and there are no black holes. A given process can neither lose nor create data. Any data that flow into a process must be used by or output by that process. Any data output by a process must be input to or created by an algorithm within that process. Except for constants, any data used by an algorithm within a process must first flow into the process. Finally, any data created by an algorithm must either be used by another algorithm within the same process or output by the process.
24.4.3.2 The principle of iteration
High-level processes are decomposed into lower-level processes. At the lowest level are primitive processes that perform a single function (or algorithm). Note that a lower-level process gets its data from its higher-level parent.
24.4.4 The context (level 0) diagram
A context (level 0) diagram documents the systems boundaries by highlighting its sources and destinations. Documenting the systems boundaries by drawing a context diagram helps the analyst, the user, and the responsible managers visualize alternative high-level logical system designs.
For example, Figure 24.3 shows a context diagram for a typical inventory system. The system itself is shown as a single process. It provides data to the FINANCIAL SYSTEM. It both provides data to and gets data from MANAGER, SUPPLIER, and CUSTOMER. Note that the data flows are labeled with (at this level) composite names.
Moving the boundaries significantly changes the system, and the ability to visualize the implications of different boundary assumptions is a powerful reason for creating a context diagram. For example, in Figure 24.3 the financial system and the inventory system are independent. An alternative logical design might move the financial system inside the inventory system (or vice versa), effectively integrating them. The result would be a somewhat more complex (but perhaps more efficient) system.
24.4.5 The level 1 data flow diagram
A level 1 data flow diagram shows the systems primary processes, data stores, sources, and destinations linked by data flows. Generally, a systems primary processes are independent, and thus, separated from each other by intermediate data stores that suggest the data are held in some way between processes.
For example, Figure 24.4 shows a level 1 data flow diagram for an inventory system. Start at the upper left with source/destination FINANCIAL SYSTEM. Data flow to FINANCIAL SYSTEM from process 9, Report cash flow . Data enter process 9 from data store D1, SALES. Data enter D1 from process 2, Sell appliance . Process 2 gets its data from CUSTOMER and from data stores D1, D3, D5, and D6, and so on. Note how intermediate data stores serve to insulate the primary processes from each other and thus promote process independence.
A level 1 process is a composite item that might incorporate related programs, routines, manual procedures, hardware-based procedures, and other activities. For example, process 2, Sell appliance might imply (in one alternative) a set of sales associates guidelines, while another alternative might include a point-of-sale terminal equipped with a bar code scanner and necessary support software. In effect, the level 1 process Sell appliance represents all the hardware, software, and procedures associated with selling an appliance. As the data flow diagram is decomposed, the various sub-processes are eventually isolated and defined.
24.4.6 Documenting the model
The data flow diagram shows the data flows between the systems sources, destinations, processes, and data stores.
24.4.6.1 The data dictionary
The data elements are recorded in the data dictionary (# 25 ). As work progresses, the data elements that occupy the same data store or share a data flow form composite items or data structures that are also documented in the data dictionary. For example, Supplier name, Supplier address, Description, Reorder quantity and other data elements flow to SUPPLIER from process 4 and form a data structure that might be called Reorder .
24.4.6.2 Process descriptions
Each process is defined in a process description that notes its input and output data elements and composites and briefly describes the tasks or activities it performs. (Process description tools are described in Part VI.) Process (or data transform) descriptions are sometimes recorded in the data dictionary.
24.4.6.3 The CASE repository
In most CASE products (# 5 ), the data descriptions and process descriptions are stored in the CASE repository.
24.4.7 Verifying the model
The point of verification is to ensure that the model is complete and internally consistent.
24.4.7.1 Syntax checking
Every data flow must begin and/or end with a process and have at least one arrowhead to define the direction of data movement. Every process and every data store must have at least one input data flow and at least one output data flow. If the inflow is missing, the source of the data is unknown. If the outflow is missing, that process or store acts like a black hole. In either case, something is wrong.
Other syntax checks involve judgement. Process names should imply their function. Component names should be unique because redundant names are confusing.
24.4.7.2 Tracing data elements
Following the principle of data conservation, each data element in a level 1 data flow diagram must be rigorously traced from its destination, through the model, back to its source. If the source of every data element is accounted for, the data flow diagram is internally consistent.
24.4.7.3 Cross referencing
On the data flow diagram, each data element, data store, and data flow must appear in the data dictionary, and each process must have a matching process description.
In the data dictionary, each logical data structure must match a data flow or a data store, and each data element must appear at least once on the data flow diagram. Additionally, each data element and each logical data structure must appear in the input or output list of at least one process description. There are two possible explanations for unused data elements: Either they are not needed by the system, or the analyst overlooked them.
Each process description must match a process on the data flow diagram, and the input and output lists must match the data flows. Every data element entering or leaving a process must appear in the data dictionary. Unused processes may have been overlooked when the data flow diagram was created. If not, they are unnecessary.
24.4.7.4 Tracing objectives
Note that if a significant feature of the system was overlooked, verification will not necessarily find the error. Consequently, the logical model should always be checked against the system objectives and the process or processes that contribute to meeting each one identified. If an objective cannot be matched with at least one process, that objective may have been overlooked. If a process cannot be matched with at least one objective, that process might be unnecessary.
24.4.8 Exploding the processes
A level 1 data flow diagram is a high-level logical map of the system. It shows the key relationships but hides most of the details. Consequently, the next step is to explode the processes by taking advantage of the principle of iteration. The act of exploding a data flow diagram is sometimes called functional decomposition.
24.4.8.1 Level 2
Each level 1 process consists of several sub-processes that are listed on the process description. To explode the data flow diagram, the analyst creates an independent level 2 data flow diagram for each level 1 process.
For example, Figure 24.5 shows a level 2 data flow diagram for process 4, Reorder stock (Figure 24.4 ). Note the numbering scheme. Processes 4.1, 4.2, 4.3, 4.4, and 4.5 are sub-processes of level 1 process 4.
24.4.8.2 Local and global data
Global data are shared by two or more higher level processes. Local data are known only within one part of the system; intermediate computations are a good example. For example, in Figure 24.5. the data elements in data store D7, REORDER DATA are known only within the level 2 explosion of process 4 (and its sub-processes).
Mistakes made while working with local data tend to be limited in scope, but global data errors can ripple throughout the system. Local data elements should be recorded in the data dictionary and identified as local. If they already exist, they might not be local; perhaps a global data element was overlooked.
24.4.8.3 Balancing the level 2 explosion
An exploded data flow diagram must be balanced by accounting for each input from the parent level and each output to the parent level. Checking to ensure that an explosion is balanced is similar to tracing data elements from their destination (output) back to their source (input). The only difference is that the higher-level processs outputs are traced back to the higher-level processs inputs through the exploded data flow diagram.
Every global data element (or composite) input to the lower level must be used by at least one lower-level sub-process. Every global data element (or composite) output to the higher level must either be input to the lower level or generated by an algorithm within a lower-level sub-process. Each data element or composite input to or used by an exploded process must be defined in the higher-level process.
Note that a higher-level composite might be decomposed into data elements or sub-composites at the lower level. Local data (by definition) are neither input to nor output from the explosion.
24.4.9 Functional primatives
A functional primitive is a process (or transform) that requires no further decomposition. The process description for a functional primitive is sometimes called a mini-spec. The systems discrete physical components lie one step below a functional primitive.
24.4.10 The configuration item level
The functional primitives and the data stores that appear at the lowest level of decomposition are called configuration items. A configuration item is a composite rather than a specific physical component; for example, a composite item might represent a program and the computer on which it runs, or a database and the device on which it resides. In a complete logical model, all the processes are decomposed down to the configuration item level, an imaginary line that links the systems configuration items.
24.4.11 The complete logical model
A logical model consists of a complete set of balanced data flow diagrams, a data dictionary, and one process description for each process at each level down to the configuration item level. Note that some processes will be exploded only to level 2, others to level 3, and so on, so the configuration item level does not necessarily correspond to a single, consistent data flow diagram level.
The documentation package for a large system can be quite lengthy. Processes above the configuration item level are purely logical; their process descriptions consist of little more than lists of sub-processes. Those sub-processes can be obtained from the exploded data flow diagram, so some organizations exclude them from the finished model process descriptions above the configuration item level.
The configuration item level processes will decompose into the systems programs and procedures. The data stores will map into files and databases. The data flows will become reports, screens, forms, and dialogues. Above the configuration item level, the logical relationships between the components support planning, coordination, and control.
24.4.12 Logical and physical data flow diagrams
A logical data flow diagrams symbols are used to describe logical not physical entities. A process might eventually be implemented as a computer program, a subroutine, or a manual procedure. A data store might represent a database, a file, a book, a folder in a filing cabinet, or even notes on a sheet of paper. Data flows show how the data move between the systems components, but they do not show the flow of control. The idea is to create a logical model that focuses on what the system does while disregarding the physical details of how it works.
A physical data flow diagram uses data flow diagram symbols to represent the systems physical processes (programs, manual procedures) and physical data stores (files, databases, reports, screens, etc.) and shows how the system works. Some analysts like to start the analysis process by preparing a physical data flow diagram of the present system. Following the analysis stage, physical data flow diagrams can be used to document alternative solutions.
24.5 Key terms
Balance A characteristic of an exploded data flow diagram in which each input from and output to the parent level is accounted for. Composite A set of related data elements; a data structure. Configuration item A functional primitive that appears at the lowest level of decomposition. Configuration item level An imaginary line that links the systems configuration items. Context diagram (level 0 data flow diagram) A data flow diagram that documents the systems boundaries by highlighting its sources and destinations. Data flow Data in motion. Data flow diagram A logical model of the flow of data through a system. Data store Data at rest; implies that the data are held between processes. Data structure A set of related data elements; a composite. Destination (sink) A person, organization, or other system that gets data from the target system; a destination defines a system boundary. Explode To decompose a process in a data flow diagram to a lower level. Functional decomposition The act of exploding a data flow diagram. Functional primitive A process (or transform) that requires no further decomposition. Global data Data elements or composites that are shared by two or more processes. Level 1 data flow diagram A data flow diagram that shows the systems primary processes, data stores, sources, and destinations linked by data flows. Level 2 data flow diagram An explosion of a level 1 process. Local data Data elements or composites that are known only within one part of the system. Logical data flow diagram A data flow diagram that does not suggest physical references but shows the systems components as logical entities. Mini-spec The process description for a functional primitive. Physical data flow diagram A data flow diagram that identifies the systems physical processes and physical data stores. Process (transform) An activity that changes, moves, or otherwise transforms data. Source A person, organization, or other system that supplies data to the target system; a source defines a system boundary.
24.6 Software
Many CASE products support creating, modifying, maintaining, and balancing data flow diagrams. Charting programs, such as Visio and Micrografxs Flowcharter can be used to create data flow diagrams. The data flow diagrams in this # were created using Visio.
24.7 References
1. Davis, W. S. Business Systems Analysis and Design . Wadsworth, Belmont, CA, 1994. 2. DeMarco, T. Structured Analysis and System Specification . Yourdon, New York, 1978. 3. Gane, C. Rapid System Development . Rapid System Development, New York, 1987. 4. Gane, C. and Sarson, T. Structured Systems Analysis: Tools and Techniques . Prentice-Hall, Englewood Cliffs, NJ, 1979. 5. Martin, J. and McClure, C. Diagramming Techniques for Analysts and Programmers . Prentice-Hall, Englewood Cliffs, NJ, 1985. 6. Thayer, R. H. and Dorfman, M. System and Software Requirements Engineering . IEEE Computer Society Press, Los Alamitos, CA, 1990. 7. Yourdon, E. and Constantine, L. L. Structured Design . Prentice-Hall, Englewood Cliffs, NJ, 1979. <ch23 toc ch25>
er diagram for car rental system
er diagram for car rental system
ER diagram templates covering many scenarios. You can download these entity relationship diagram templates or modify them online using our ER diagram editorLecture Slides available: PDF PowerPoint. Tutorial – ER Diagram Examples 3-5 Contents. Example 3; Example 4; Example 5; Example 3. A database is to be designed for a All users public diagrams. Assemblies. Created by: pony. CorporateDirectory. Created by: pony. Corporate Directory example; eStore. Created by: pony. Simple model of driving in europe: crossing borders. Until recently vehicles attempting to drive across a European national border were required to bear near the rear license plate a Advantage Golf Cars – Looking for somewhere to rent, buy, lease, or repair golf carts in Florida or California? We do all that and more! Artisteer – Automated Web Designer. Artisteer is the first and only Web design automation product that instantly creates fantastic looking, unique website templates I was simply wondering, how an ISA relationship in an ER diagram would translate into tables in a database. Would there be 3 tables? One for person, one for student For the first few years I lived in Spain, I didn’t have a car. There’s really no need to get behind the wheel if you’re living in a city or visiting another I need a diagram for the carbureter throttle spring setup for a magnum 49cc 111 plus ice auger sold by Osceola Power equip. prior to 1995. The engine and carbureter Orlando International Airport (IATA: MCO, ICAO: KMCO, FAA LID: MCO) is an international airport six miles southeast of Orlando, Florida, United States.
Image Gallery er diagram for car rental system
Related Posts to er diagram for car rental system
ER Diagram Template for College Management System. A simple diagram template showing a College Management System. As with the previous template this can be modified …
All users public diagrams. Assemblies. Created by: pony. CorporateDirectory. Created by: pony. Corporate Directory example; eStore. Created by: pony. Simple model of …
Lecture Slides available: PDF PowerPoint. Tutorial – ER Diagram Examples 3-5 Contents. Example 3; Example 4; Example 5; Example 3. A database is to be designed for a …
Vehicle Showroom Management System PPT, project report, asp. net, vb. net, java, documentation. source code download. http://projectseminar. org/asp-net/veh …
Terminos de busqueda entrantes:
xbox 360 game rentals
York, PA Print Ads from In York
More Advertisements by Better Hearing Aid Center
Better Hearing Aid Center 03/21/16 - op On Ov er 3 DAY Better Hearing! for MARCH MARCH MARCH 22 23 24 EVENT! BETTER HEA…
Better Hearing Aid Center 03/20/16 - 500 $ TRADE-IN SALE Trade in your old hearing aid & receive 1/2 off or up to $500 …
Better Hearing Aid Center 03/14/16 - 500 TRADE-IN $ SALE not the volume. BETTER HEARING Aid Center Luv Your Ears With t…
Better Hearing Aid Center 03/13/16 - 500 $ TRADE-IN SALE Trade in your old hearing aid & receive 1/2 off or up to $500 …
Better Hearing Aid Center 03/07/16 - BATTERIES FREE LIFETIME WITH PURCHASE OF DIGITAL HEARING AIDS BETTER HEARING Aid C…
Better Hearing Aid Center 03/06/16 - FREE LIFETIME BATTERIES WITH PURCHASE OF DIGITAL HEARING AIDS BETTER HEARING Aid C…
Better Hearing Aid Center 02/28/16 - FREE LIFETIME BATTERIES WITH PURCHASE OF DIGITAL HEARING AIDS BETTER HEARING Aid C…
No comments:
Post a Comment