CURSO CICLO V: BASE DE DATOS Docente: Jim Erick Navarro Villacorta; email: jimerick_n@yahoo.es TEMA 1. CONCEPTOS BÁSICOS DE BASE DE DATOS (4h) 1. Conceptos básicos: Bases de Datos, DBMS, Esquemas de Bases de datos, Independencia Lógica y Física de Datos. DATO: Un dato es un conjunto discreto, de factores objetivos sobre un hecho real. Dentro de un contexto empresarial, el concepto de dato es definido como un registro de transacciones. Un dato no dice nada sobre el porqué de las cosas, y por sí mismo tiene poca o ninguna relevancia o propósito. Las organizaciones actuales normalmente almacenan datos mediante el uso de tecnologías. Desde un punto de vista cuantitativo, las empresas evalúan la gestión de los datos en términos de coste, velocidad y capacidad. Todas las organizaciones necesitan datos y algunos sectores son totalmente dependientes de ellos. Bancos, compañías de seguros, agencias gubernamentales y la Seguridad Social son ejemplos obvios. En este tipo de organizaciones la buena gestión de los datos es esencial para su funcionamiento, ya que operan con millones de transacciones diarias. Pero en general, para la mayoría de las empresas tener muchos datos no siempre es bueno. Las organizaciones almacenan datos sin sentido. Realmente esta actitud no tiene sentido por dos razones. La primera es que demasiados datos hacen más complicado identificar aquellos que son relevantes. Segundo, y todavía más importante, es que los datos no tienen significado en sí mismos. Los datos describen únicamente una parte de lo que pasa en la realidad y no proporcionan juicios de valor o interpretaciones, y por lo tanto no son orientativos para la acción. La toma de decisiones se basará en datos, pero estos nunca dirán lo que hacer. Los datos no dicen nada acerca de lo que es importante o no. A pesar de todo, los datos son importantes para las organizaciones, ya que son la base para la creación de información. INFORMACIÓN: Como han hecho muchos investigadores que han estudiado el concepto de información, lo describiremos como un mensaje, normalmente bajo la forma de un documento o algún tipo de comunicación audible o visible. Como cualquier mensaje, tiene un emisor y un receptor. La información es capaz de cambiar la forma en que el receptor percibe algo, es capaz de impactar sobre sus juicios de valor y comportamientos. Tiene que informar; son datos INSTITUTO SUPERIOR TECNOLOGICO NOR ORIENTAL DE LA SELVA CARRERA PROFESIONAL DE COMPUTACION E INFORMATICA 1 CURSO CICLO V: BASE DE DATOS Docente: Jim Erick Navarro Villacorta; email: jimerick_n@yahoo.es que marcan la diferencia. La palabra “informar” significa originalmente “dar forma a “ y la información es capaz de formar a la persona que la consigue, proporcionando ciertas diferencias en su interior o exterior. Por lo tanto, estrictamente hablando, es el receptor, y no el emisor, el que decide si el mensaje que ha recibido es realmente información, es decir, si realmente le informa. Un informe lleno de tablas inconexas, puede ser considerado información por el que lo escribe, pero a su vez puede ser juzgado como “ruido” por el que lo recibe. La información se mueve entorno a las organizaciones a través de redes formales e informales. Las redes formales tienen una infraestructura visible y definida: cables, buzones de correo electrónico, direcciones,... Los mensajes que estas redes proporcionan incluyen e-mail, servicio de entrega de paquetes, y transmisiones a través de Internet. Las redes informales son invisibles. Se hacen a medida. Un ejemplo de este tipo de red es cuando alguien te manda una nota o una copia de un artículo con las siglas “FYI” (For Your Information). A diferencia de los datos, la información tiene significado (relevancia y propósito). No sólo puede formar potencialmente al que la recibe, sino que esta organizada para algún propósito. Los datos se convierten en información cuando su creador les añade significado. Transformamos datos en información añadiéndoles valor en varios sentidos. Hay varios métodos: Contextualizando: sabemos para qué propósito se generaron los datos. Categorizando: conocemos las unidades de análisis de los componentes principales de los datos. Calculando: los datos pueden haber sido analizados matemática o estadísticamente. Corrigiendo: los errores se han eliminado de los datos. Condensando: los datos se han podido resumir de forma más concisa. Los ordenadores nos pueden ayudar a añadir valor y transformar datos en información, pero es muy difícil que nos puedan ayudar a analizar el contexto de dicha información. Un problema muy común es confundir la información (o el conocimiento) con la tecnología que la soporta. Desde la televisión a Internet, es importante tener en cuenta que el medio no es el mensaje. Lo que se intercambia es más importante que el medio que se usa para hacerlo. Muchas veces se comenta que tener un teléfono no garantiza mantener conversaciones brillantes. En definitiva, que actualmente tengamos acceso a más tecnologías de la información no implica que hayamos mejorado nuestro nivel de información. INSTITUTO SUPERIOR TECNOLOGICO NOR ORIENTAL DE LA SELVA CARRERA PROFESIONAL DE COMPUTACION E INFORMATICA 2 CURSO CICLO V: BASE DE DATOS Docente: Jim Erick Navarro Villacorta; email: jimerick_n@yahoo.es CONOCIMIENTO: La mayoría de la gente tiene la sensación intuitiva de que el conocimiento es algo más amplio, más profundo y más rico que los datos y la información. Vamos a intentar realizar una primera definición de conocimiento que nos permita comunicar que queremos decir cuando hablamos de conocimiento dentro de las organizaciones. Conocimiento es una mezcla de experiencia, valores, información y “saber hacer” que sirve como marco para la incorporación de nuevas experiencias e información, y es útil para la acción. Se origina y aplica en la mente de los conocedores. En las organizaciones con frecuencia no sólo se encuentra dentro de documentos o almacenes de datos, sino que también esta en rutinas organizativas, procesos, prácticas, y normas. Lo que inmediatamente deja claro la definición es que ese conocimiento no es simple. Es una mezcla de varios elementos; es un flujo al mismo tiempo que tiene una estructura formalizada; es intuitivo y difícil de captar en palabras o de entender plenamente de forma lógica. El conocimiento existe dentro de las personas, como parte de la complejidad humana y de nuestra impredecibilidad. Aunque solemos pensar en activos definibles y concretos, los activos de conocimiento son mucho más difíciles de manejar. El conocimiento puede ser visto como un proceso (flujo) o como un stock. El conocimiento se deriva de la información, así como la información se deriva de los datos. Para que la información se convierte en conocimiento, las personas debe hacer prácticamente todo el trabajo. Esta transformación se produce gracias a: Comparación. Consecuencias. Conexiones. Conversación. Estas actividades de creación de conocimiento tienen lugar dentro y entre personas. Al igual que encontramos datos en registros, e información en mensajes, podemos obtenemos conocimiento de individuos, grupos de conocimiento, o incluso en rutinas organizativas. INSTITUTO SUPERIOR TECNOLOGICO NOR ORIENTAL DE LA SELVA CARRERA PROFESIONAL DE COMPUTACION E INFORMATICA 3 CURSO CICLO V: BASE DE DATOS Docente: Jim Erick Navarro Villacorta; email: jimerick_n@yahoo.es BASE DE DATOS: Conjunto de datos relacionados que representan un modelo de información. Es una colección de datos interrelacionados almacenados en conjunto sin redundancias, cuya finalidad es la de servir a una aplicación o más, los datos se almacenan de modo que resulten independientes de los programas que los manipulan. En otras palabras el conjunto de datos se conoce con el nombre de base de datos. Es un conjunto autodescriptivo de registros integrados: Autodescriptiva: además de los datos fuente del usuario contiene también una descripción de su propia estructura (diccionario de datos). Registros Integrados: La jerarquía normal de los datos es la siguiente: los bits conforman bytes o caracteres; los caracteres constituyen campos; los campos integran registros y los registros componen archivos. Una BDD incluye archivos de datos del usuario y más, una descripción de los datos metadatos, índices para formar las relaciones entre los datos y la última categoría de datos se denomina metadatos de aplicación información de las aplicaciones que la utilizan. Jerarquía de los elementos de datos: (a) En el procesamiento de archivos y (b) En el procesamiento de Bases de Datos. TERMINOLOGIA RELACIONADA A LA BASE DE DATOS 1. Item, Campo o Atributo.- es la cualidad o las características de un objeto y es la unidad de datos más pequeńa. 2. Registro.- (segmento o tupla), es una colección de items. (Sinónimo de fila). 3. Celda.- es el término genérico con que se refiere a una pista, un cilindro, un módulo o cualquier área de almacenamiento, es el valor de un atributo en determinada ocurrencia. 4. Ocurrencia.- es el conjunto de registros que cumplen determinado criterio. 5. Set.- es la relación definida entre dos miembros o entidades. 6. Cursor.- es el apuntador a un conjunto de registros o ocurrencias con determinado criterio en la base de datos. 7. Privilegios.- son las cualidades que se le asignan a cada uno de los atributos de una base de datos para su acceso a él. 8. Tabla.- es un registro diferente o un tipo de registro que difiere de otro. También se puede decir que es una estructura que permite almacenar una entidad. INSTITUTO SUPERIOR TECNOLOGICO NOR ORIENTAL DE LA SELVA CARRERA PROFESIONAL DE COMPUTACION E INFORMATICA 4 CURSO CICLO V: BASE DE DATOS Docente: Jim Erick Navarro Villacorta; email: jimerick_n@yahoo.es 9. Query.- Son consultas que se realizan a la base de datos. 10. Diccionario de Datos.- es un lugar en dónde se almacena la información relativa a la estructura de la base de datos. En otras palabras es la colección de toda la información para mantener una base de datos como: campos accesados, índices usados, usuarios activos, etc.). MODELOS DE DATOS Hablar del concepto lógico o físico de Base de Datos involucra un conjunto de pensamientos concretos que hacen posible la absorción temática del significado de los datos. La abstracción de los datos como una forma o un comportamiento que hace posible concretar un “algo”, se asocia con un esquema del conocimiento lógico, su semántica, condiciones y acciones, que permiten la producción de modelos por medio de los cuales se representa la funcionalidad de un sistema. Inicialmente el "dato" fue trabajado desde la óptica pura de su almacenamiento a través de los "Sistemas de Archivos"; donde cada uno de los archivos que se creaban solo obedecían a una necesidad de almacenamiento más que a la utilización funcional del dato. Por este motivo surgen los esquemas conceptuales que son elaborados a través del análisis de procesos de las áreas del negocio, los cuales involucran al "dato" como una consecuencia lógica funcional de ellos. Pero para poder estandarizar este tratamiento se crea el concepto del "Modelo de Datos", por medio del cual se definen un conjunto de elementos y símbolos que permiten estandarizar traducir dicho análisis a un lenguaje semántico y sistemático que dispone de reglas de control y evaluación del comportamiento del dato en el transcurso del tiempo, tanto en su almacenamiento como en su utilización. Estos modelos de datos, hacen posible que la lógica de un negocio pueda ser estructurada de forma tangible a través de un esquema físico que representa el almacenamiento de los datos bajo las reglas del negocio y de un sistema gestor de base de datos que permitirá la persistencia de estos a través del tiempo. Los Modelos de Datos, también llamados modelos lógicos, se han clasificado en dos grandes grupos debido al tratamiento de los datos: Basados en Objetos y basados en Registros. Estos dos grupos de modelos representan dos estados de la interpretación de los requerimientos de usuario: INSTITUTO SUPERIOR TECNOLOGICO NOR ORIENTAL DE LA SELVA CARRERA PROFESIONAL DE COMPUTACION E INFORMATICA 5 CURSO CICLO V: BASE DE DATOS Docente: Jim Erick Navarro Villacorta; email: jimerick_n@yahoo.es Basados en Objetos: Un problema de la vida real maneja concepciones abstractas o concretas, tangibles o intangibles, a las cuales se les ha dado el nombre de "objetos", calificados a partir de un valor significativo dentro de los parámetros de una forma o estilo de vida; dichos objetos se modelan a través de propuestas que fueron estructuradas para así poder estandarizar la forma de manipularlos. Dentro de estos modelos tenemos: Modelo Modelo Modelo Modelo Entidad Relación (MER) Orientado a Objetos (MOO) Semántico Deductivo Basados en Registros: Otra forma de tratar lógicamente la información suministrada por un sistema es a través de los "Registros", originalmente concebidos por los sistemas de archivos (registro: conjunto de campos que almacenan información de diferentes tipos), lo cual dió pie a la estructuración de modelos lógicos tales como: Modelo Relacional (MR) Modelo de Red Modelo Jerarquico Al modelar es importante conocer muy bien la semántica de estos modelos y lo que es posible lograr con ellos. SISTEMA MANEJADOR DE BASE DE DATOS: Una vez terminado el diseño lógico a través de modelos basados en registros, se da inicio al diseño físico de la base de datos. Para esto es muy importante conocer los Sistemas Administradores de Bases de Datos (DBMS: Database Managment Systems) los cuales permiten almacenar y controlar los datos a la vez, por medio de lenguajes propios de estos. Diferentes DBMS se especializaron en la utilización de Modelos de Datos específicos como es el caso de los RDBMS que trabajan con el Modelo Relacional, los ORDBMS que trabaja con el Modelo Relacional Extendido y algunos elementos del paradigma orientado a objetos, y por último se encuentran los OODBMS que trabajan con el Modelo Orientado a Objetos. ESQUEMAS DE BASES DE DATOS E INDEPENDENCIA LÓGICA Y FÍSICA: En la Ingeniería de Software, el tratamiento de los datos Las Bases de Datos dentro del ciclo de vida de un proyecto informático, están ubicadas dentro del proceso del Diseño, "el CÓMO", estructurar la INSTITUTO SUPERIOR TECNOLOGICO NOR ORIENTAL DE LA SELVA CARRERA PROFESIONAL DE COMPUTACION E INFORMATICA 6 CURSO CICLO V: BASE DE DATOS Docente: Jim Erick Navarro Villacorta; email: jimerick_n@yahoo.es funcionalidad expuesta en los requerimientos. El siguiente esquema escenifica esta situación: _________ 2. Ventajas de un ambiente de base de datos. Independencia de datos y tratamiento: Cambio en datos no implica cambio en programas y viceversa (Menor coste de mantenimiento). Redundancia mínima (coherencia de resultados, acciones lógicamente únicas, se evita inconsistencias) Integridad de los datos Mejora la disponibilidad de los datos Cumplimiento de ciertas normas: restricciones de seguridad, accesos (usuarios a datos), operaciones (operaciones sobre datos) Eficiente gestión de almacenamiento INSTITUTO SUPERIOR TECNOLOGICO NOR ORIENTAL DE LA SELVA CARRERA PROFESIONAL DE COMPUTACION E INFORMATICA 7 CURSO CICLO V: BASE DE DATOS Docente: Jim Erick Navarro Villacorta; email: jimerick_n@yahoo.es 3. Gestor de la base de datos (funciones). Un gestor de base de datos es un módulo de programa que proporciona el interfaz entre los datos de bajo nivel almacenados en la BDD y los programas de aplicación y consultas hechos al sistema. El GBDD es responsable de las siguientes funciones. Interacción con el gestor de archivos: el GBDD traduce las distintas sentencias DML a comandos del sistema de archivos de bajo nivel. Así, el GBDD es el responsable del verdadero almacenamiento, recuperación y actualización de los datos en la BDD. Implantación de la Integridad: los valores de los datos que se almacenan en la BDD deben satisfacer ciertos tipos de restricciones de consistencia. Implantación de la seguridad: no todos los usuarios de la BDD necesitan tener acceso a todo su contenido, el GBDD debe hacer cumplir estos requisitos de seguridad. Copia de seguridad y recuperación: Podría existir fallas externas al sistema que provocarían pérdida de la información por ejemplo daño físico del disco, problemas de suministro de energía y errores de software. Es responsabilidad del GBDD detectar tales fallos y restaurar la información de la BDD al estado que tenía antes de ocurrir el fallo. Control de recurrencia: cuando varios usuarios actualizan la BDD concurrentemente, es posible que no se conserve la consistencia de los datos. Controlar la interacción entre los usuarios concurrentes es otra responsabilidad del gestor de la BDD. 4. Arquitectura de un DBMS: Lenguaje de Definición de Datos (DDL), Lenguaje de Manejo de Datos (DML). INSTITUTO SUPERIOR TECNOLOGICO NOR ORIENTAL DE LA SELVA CARRERA PROFESIONAL DE COMPUTACION E INFORMATICA 8 CURSO CICLO V: BASE DE DATOS Docente: Jim Erick Navarro Villacorta; email: jimerick_n@yahoo.es LENGUAJES DEL DBMS En la estructura básica de un Sistema Manejador de Base de Datos se enuncian dos lenguajes que permiten trabajar sobre la base de datos. Estos lenguajes estandar son: DDL (Data Definition language): Lenguaje de Definición de Datos. Por medio de este el DBMS identifica las descripciones de los elementos de los esquemas y almacena la descripción del esquema en el catálogo del DBMS. Por medio de este el DBMS especifica el esquema conceptual e interno (Base de datos Almacenada). INSTITUTO SUPERIOR TECNOLOGICO NOR ORIENTAL DE LA SELVA CARRERA PROFESIONAL DE COMPUTACION E INFORMATICA 9 CURSO CICLO V: BASE DE DATOS Docente: Jim Erick Navarro Villacorta; email: jimerick_n@yahoo.es SDL (Store Definition language): Lenguaje de definición de almacenamiento. Es utilizado por el DBMS para especificar el esquema interno que corresponde a la Base de Datos Almacenada. VDL (View Definition language): Lenguaje de Definición de Vistas. Es utilizado por el DBMS para especificar las vistas del usuario y sus correspondencias con el esquema conceptual. En las Bases de Datos Relacionales, el SQL, representa una combinación de los anteriores. DML (Data Manipulation language): Lenguaje de Manipulación de Datos. Permite la manipulación de las operaciones de Inserción, Eliminación y Modificación. Tipos de DML's: De alto Nivel o No por procedimientos: SQL. De bajo Nivel o por procedimientos. 5. Tipos de almacenamiento en un ambiente de base de datos. Inicialmente, en los años 40s, los Sistemas de Archivos generados a través de lenguajes de programación no propietarios como Cobol y Fortran (vigentes en la actualidad), permiten almacenar los datos a través de archivos planos con funciones básicas de lectura y escritura sobre ellos. En 1964, se conciben los primeros Gestores de Base de Datos (DBMS: Database Management System), por medio de los cuales se pretende dar un viraje a los Sistemas de Archivos, los cuales se limitan a la estructuración del almacenamiento físico de los datos. Con los DBMS se crea el concepto de Administración de los datos, por medio de actividades integradas que permiten verlos físicamente en un solo almacenamiento pero lógicamente se manipulan a través de esquemas compuesto por estructuras donde se establecen vínculos de integridad, métodos de acceso y organización física sobre los datos, permitiendo así obtener valores agregados de utilización tales como: manejo de usuarios, seguridad, atomicidad e independencia física y lógica de los datos, entre otros. 6. Usuarios de un ambiente de base de datos. Personal del DBA Usuarios Exporádicos Programadores de Aplicaciones Usuarios paramétricos INSTITUTO SUPERIOR TECNOLOGICO NOR ORIENTAL DE LA SELVA CARRERA PROFESIONAL DE COMPUTACION E INFORMATICA 10 CURSO CICLO V: BASE DE DATOS Docente: Jim Erick Navarro Villacorta; email: jimerick_n@yahoo.es El modelo entidad-relación Es una técnica de diseño de bases de datos gráfica, que incorpora información relativa a los datos y la relación existente entre ellos, para poder así plasmar una visión del mundo real sobre un soporte informático. Sus características fundamentales son: Reflejan tan sólo la existencia de los datos sin expresar lo que se hace con ellos. Es independiente de las bases de datos y de los sistemas operativos Incluye todos los datos que se estudian sin tener en cuenta las aplicaciones que se van a tratar Las entidades se representan como rectángulos, los atributos como elipses y las relaciones como rombos. El significado de estas palabras así como de otras también importantes las vemos a continuación. Conceptos fundamentales Entidad: Una entidad es un objeto concreto o abstracto que presenta interés para el sistema y sobre el que se recoge información la cual va a ser representada en un sistema de base de datos. La mayoría de las entidades modelan objetos o eventos del mundo real, por ejemplo, clientes, productos o llamadas de pedidos. Atributo: Es una unidad básica e indivisible de información acerca de una entidad o una relación y sirve para identificar y describir a las mismas. Por ejemplo, si se va a modelar un evento como una llamada al servicio de asistencia, probablemente se querrá saber quién era el cliente, quién hizo la llamada y cuándo, así como si se resolvió o no el problema. La determinación de los atributos que hay que incluir en el modelo es un problema semántico (de significado). Se deben tomar decisiones basadas en el significado de los datos y en cómo se utilizarán. Dominio: Un dominio es el conjunto de valores que puede tomar cada uno de los atributos. La mayoría de las ocasiones se confunde dominio con tipo de datos, así que vamos a ver un ejemplo que ponga de manifiesto la diferencia: si tomamos como atributo para una entidad persona su grupo sanguíneo, está claro que el tipo de dato que tendremos que usar será de tipo cadena, sin embargo, los únicos valores que puede tomar son los del conjunto {A+, A-, B+, B-, AB+, AB-, 0+, 0-}; este sería el dominio del atributo grupo sanguíneo. Tabla: Organización de los datos en forma de filas y columnas. Cada fila se llama tupla, y cada columna dentro de una tupla corresponde al valor de un atributo para esa tupla. Relación: Asociación entre entidades. Por ejemplo, un "alumno" "tiene" una "asignatura". Tabla relacional: Es una tabla que debe cumplir las siguientes características: Cada fila debe ser única Cada columna debe ser única Los valores de las columnas deben pertenecer al dominio de cada atributo Debe tener un solo tipo de fila, cuyo formato está definido por el esquema de la tabla o relación El valor de la columna para cada fila debe ser único Clave candidata: Atributo o atributos que pueden distinguir de forma unívoca una tupla dentro de una tabla. Puede haber varias claves candidatas para distinguir una misma entidad. Se elegirá como clave candidata aquel atributo que posea un dominio en el que se tenga valores únicos. Si esto no es posible, entonces usaremos como clave candidata la combinación de varios atributos, de manera que esta combinación sí sea única. INSTITUTO SUPERIOR TECNOLOGICO NOR ORIENTAL DE LA SELVA CARRERA PROFESIONAL DE COMPUTACION E INFORMATICA 11 CURSO CICLO V: BASE DE DATOS Docente: Jim Erick Navarro Villacorta; email: jimerick_n@yahoo.es Clave principal: Aquella de las claves candidatas que es designada para distinguir de forma unívoca una tupla dentro de una tabla. Clave ajena: Se trata de un atributo que es clave principal en otra tabla. Vista: Una vista es una tabla ficticia cuya definición y tuplas se obtiene a partir de una o más tablas base. Sus características son: Sus columnas se obtienen a partir de varias tablas base Pueden estar definidas a partir de otras vistas Sus datos se obtienen como resultado de una consulta a la base de datos Se puede almacenar su estructura Así pues, vemos que se trata de una tabla virtual que no existe como tabla en el disco. Inconsistencia: Se da cuando se encuentra un valor en una clave ajena no existente en la entidad donde ésta sea clave principal. Asociaciones entre entidades Además de los atributos de cada entidad, un modelo de datos debe especificar las asociaciones existentes entre las entidades. Estas asociaciones son las relaciones entre entidades. Por ejemplo, la frase "los clientes compran productos" nos dice que hay dos entidades, "Clientes" y "Productos", que están relacionadas por "comprar". La gran mayoría de las asociaciones son binarias, como "los clientes compran productos" o "los empleados venden productos". Entre las dos hay una asociación ternaria implícita: "los empleados venden productos a los clientes". Con las dos asociaciones binarias independientemente no podríamos saber a qué clientes se han vendido los productos que ha vendido un cierto empleado: en este caso necesitamos de la asociación ternaria. Las asociaciones entre dos entidades cualesquiera pueden ser de tres tipos: uno-a-uno, unoa-muchos y muchos-a-muchos. Asociaciones uno-a-uno: Si es cierto que cualquier ejemplar de la entidad X se puede asociar con tan sólo un ejemplar de la entidad Y, entonces decimos que la asociación es unoa-uno. Cuando elegimos una asociación uno-a-uno debemos asegurarnos de que o bien se mantiene la asociación en todo momento, o en caso de que cambie no nos interesan los valores pasados. Por ejemplo: si asumimos que en los despachos de un edificio hay uno por persona, entonces la asociación será uno-a-uno. Pero esta asociación sólo es cierta en un momento dado. A lo largo del tiempo, se irán asignando diferentes empleados en el edificio. Habrá que valorar si el mantenimiento de esta información es útil en nuestro modelo o no. Asociaciones uno-a-muchos: Es el tipo de asociación más común, donde un solo ejemplar de una entidad se puede asociar con cero, uno o muchos ejemplares de otra entidad. Por ejemplo, una persona puede tener varios números de teléfono. Asociaciones muchos-a-muchos: Los clientes compran en muchas tiendas, una tienda tiene muchos clientes. Como este tipo de relaciones no se puede modelar directamente en una base de datos relacional, se modela usando una tabla intermedia que tenga una asociación uno-a-muchos con cada uno de los participantes originales. Por ejemplo, un pedido puede tener muchos tipos de confección, y un tipo de confección puede aparecer en varios pedidos. INSTITUTO SUPERIOR TECNOLOGICO NOR ORIENTAL DE LA SELVA CARRERA PROFESIONAL DE COMPUTACION E INFORMATICA 12