Enviar búsqueda
Cargar
03.uml
•
0 recomendaciones
•
162 vistas
I
ivangutierrez131
Seguir
03.uml
Leer menos
Leer más
Dispositivos y hardware
Denunciar
Compartir
Denunciar
Compartir
1 de 12
Recomendados
Normalizacion base de datos_pbc
Normalizacion base de datos_pbc
PEDRO OSWALDO BELTRAN CANESSA
Normalizacion base de datos
Normalizacion base de datos
emersonserna
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
mellcv
Wbase de datos pruebaaaaaaaaaaaaaaaaaaaa
Wbase de datos pruebaaaaaaaaaaaaaaaaaaaa
gutierroger1
Modelado orientado a objetos de bd
Modelado orientado a objetos de bd
María Luisa Velasco
Modelo de entidad relación extendido
Modelo de entidad relación extendido
Juan Gerardo Moreno Florentino
Normalización de Base de Datos
Normalización de Base de Datos
Mayra Romero
Uml diagrama claseobjeto
Uml diagrama claseobjeto
luisgustavosanchez
Recomendados
Normalizacion base de datos_pbc
Normalizacion base de datos_pbc
PEDRO OSWALDO BELTRAN CANESSA
Normalizacion base de datos
Normalizacion base de datos
emersonserna
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
mellcv
Wbase de datos pruebaaaaaaaaaaaaaaaaaaaa
Wbase de datos pruebaaaaaaaaaaaaaaaaaaaa
gutierroger1
Modelado orientado a objetos de bd
Modelado orientado a objetos de bd
María Luisa Velasco
Modelo de entidad relación extendido
Modelo de entidad relación extendido
Juan Gerardo Moreno Florentino
Normalización de Base de Datos
Normalización de Base de Datos
Mayra Romero
Uml diagrama claseobjeto
Uml diagrama claseobjeto
luisgustavosanchez
Uml diagrama clase objeto
Uml diagrama clase objeto
Facultad de Ciencias y Sistemas
Modelo entidad relacion extendido
Modelo entidad relacion extendido
JuanSaldaaRived
Entidad relacion extendido resumen
Entidad relacion extendido resumen
15e1a
Manual de java_2
Manual de java_2
Beydasanchezhernandez
manual 9
manual 9
ariannalizeeth
Manual de java 3
Manual de java 3
adrianyourlust1998
MANUAL DE JAVA 2
MANUAL DE JAVA 2
ariannalizeeth
Manual de java 3
Manual de java 3
ariannalizeeth
Manual de java 2
Manual de java 2
Karla Estefania Villanueva Epigmenio
MANUAL DE JAVA 3
MANUAL DE JAVA 3
ariannalizeeth
Manual de java 3
Manual de java 3
Yin Miroslawa
Presentaciones base de datos , fundamentos de base de datos
Presentaciones base de datos , fundamentos de base de datos
BryanSotalin1
Diagrama de clases
Diagrama de clases
jmachado614
Modelo entidad relacion extendido
Modelo entidad relacion extendido
JuanSaldaaRived
Modelo entidad relacion jg
Modelo entidad relacion jg
Gabriel Bohorquez Vera
Diseño de base de datos moo
Diseño de base de datos moo
josevara
Clases 2
Clases 2
Fiorella Urbina Vera
Tipos de bases de datos
Tipos de bases de datos
Luis Fernando Ordóñez Armijos
JAVA ORIENTADO A OBJETOS - INTERFACES
JAVA ORIENTADO A OBJETOS - INTERFACES
Eric Gustavo Coronel Castillo
Sobrecarga de operadores y funciones.pptx
Sobrecarga de operadores y funciones.pptx
yonyroyerccosiapaza
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todos
Debora Gomez Bertoli
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
AdrianaBernal82
Más contenido relacionado
Similar a 03.uml
Uml diagrama clase objeto
Uml diagrama clase objeto
Facultad de Ciencias y Sistemas
Modelo entidad relacion extendido
Modelo entidad relacion extendido
JuanSaldaaRived
Entidad relacion extendido resumen
Entidad relacion extendido resumen
15e1a
Manual de java_2
Manual de java_2
Beydasanchezhernandez
manual 9
manual 9
ariannalizeeth
Manual de java 3
Manual de java 3
adrianyourlust1998
MANUAL DE JAVA 2
MANUAL DE JAVA 2
ariannalizeeth
Manual de java 3
Manual de java 3
ariannalizeeth
Manual de java 2
Manual de java 2
Karla Estefania Villanueva Epigmenio
MANUAL DE JAVA 3
MANUAL DE JAVA 3
ariannalizeeth
Manual de java 3
Manual de java 3
Yin Miroslawa
Presentaciones base de datos , fundamentos de base de datos
Presentaciones base de datos , fundamentos de base de datos
BryanSotalin1
Diagrama de clases
Diagrama de clases
jmachado614
Modelo entidad relacion extendido
Modelo entidad relacion extendido
JuanSaldaaRived
Modelo entidad relacion jg
Modelo entidad relacion jg
Gabriel Bohorquez Vera
Diseño de base de datos moo
Diseño de base de datos moo
josevara
Clases 2
Clases 2
Fiorella Urbina Vera
Tipos de bases de datos
Tipos de bases de datos
Luis Fernando Ordóñez Armijos
JAVA ORIENTADO A OBJETOS - INTERFACES
JAVA ORIENTADO A OBJETOS - INTERFACES
Eric Gustavo Coronel Castillo
Sobrecarga de operadores y funciones.pptx
Sobrecarga de operadores y funciones.pptx
yonyroyerccosiapaza
Similar a 03.uml
(20)
Uml diagrama clase objeto
Uml diagrama clase objeto
Modelo entidad relacion extendido
Modelo entidad relacion extendido
Entidad relacion extendido resumen
Entidad relacion extendido resumen
Manual de java_2
Manual de java_2
manual 9
manual 9
Manual de java 3
Manual de java 3
MANUAL DE JAVA 2
MANUAL DE JAVA 2
Manual de java 3
Manual de java 3
Manual de java 2
Manual de java 2
MANUAL DE JAVA 3
MANUAL DE JAVA 3
Manual de java 3
Manual de java 3
Presentaciones base de datos , fundamentos de base de datos
Presentaciones base de datos , fundamentos de base de datos
Diagrama de clases
Diagrama de clases
Modelo entidad relacion extendido
Modelo entidad relacion extendido
Modelo entidad relacion jg
Modelo entidad relacion jg
Diseño de base de datos moo
Diseño de base de datos moo
Clases 2
Clases 2
Tipos de bases de datos
Tipos de bases de datos
JAVA ORIENTADO A OBJETOS - INTERFACES
JAVA ORIENTADO A OBJETOS - INTERFACES
Sobrecarga de operadores y funciones.pptx
Sobrecarga de operadores y funciones.pptx
Último
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todos
Debora Gomez Bertoli
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
AdrianaBernal82
linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los años
MaraPazCrdenas
9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales
JhonathanRodriguez10
Presentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.ppt
CARLOSAXELVENTURAVID
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
MiguelGomez900779
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
RosiClaros
PLANIFICACION ANUAL , año 2024. nivel primaria
PLANIFICACION ANUAL , año 2024. nivel primaria
josevilla696981
Último
(8)
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todos
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los años
9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales
Presentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.ppt
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
PLANIFICACION ANUAL , año 2024. nivel primaria
PLANIFICACION ANUAL , año 2024. nivel primaria
03.uml
1.
DBD Tema 3
1UR Fac. C.E.A. e Informática (© A. Jaime) Tema 3. EER y diagramas de clase UML El modelo entidad-relación mejorado (EER) Elmasri/Navathe 07 The Unified Modeling Language Reference Manual Rumbaugh/Jacobson/Booch 99 • Introducción • Superclases y subclases • Herencia de atributos y relaciones • Generalización y especialización – Restricciones: disjunta/solapada, total/parcial – Jerarquías de especialización y retículas (herencia múltiple) • UML: conceptos de clase e instancia (objeto) • Conceptos de E/R en los diagramas de clase UML • Herencia en los diagramas de clase UML • Ejemplo de diseño con diagramas de clase UML DBD Tema 3 2UR Fac. C.E.A. e Informática (© A. Jaime) Introducción • El modelo E/R es suficiente para aplicaciones “tradicionales” como el procesamiento de datos en negocios e industria • Existen BD con requisitos más complejos: CAD/CAM (diseño asistido por ordenador), multimedia, telecomunicaciones, minería de datos, warehousing (almacenes de datos), sist. de información geográfica, indexación web, … • EER añade al E/R: – el mecanismo de herencia de atributos y relaciones – los conceptos asociados a la herencia: superclase-subclase, generalización-especialización, etc. • El mecanismo de herencia se ha desarrollado en otras áreas de la informática como los modelos semánticos de datos, el modelo orientado a objetos o la representación del conocimiento. • UML (lenguaje unificado de modelado) se utiliza muchísimo para diseño de aplicaciones y sus diagramas de clases son una notación alternativa a EER. DBD Tema 3 3UR Fac. C.E.A. e Informática (© A. Jaime) Superclases y subclases • Cada subclase representa a un subconjunto de las entidades de EMPLEADO. • La relación entre una superclase y cualquiera de sus subclases se llama relación is-a (es un). • Toda entidad de una subclase será al mismo tiempo entidad de su superclase: – Por ejemplo la TÉCNICO “Ana” es también una EMPLEADO. Aunque tiene un papel diferente como TÉCNICO y como EMPLEADO genérico. – Cuando se implementa la BD, “Ana” puede estar representada por una entidad en TÉCNICO y otra en EMPLEADO, pero ambas representan a la misma persona. • Una entidad puede ser al mismo tiempo miembro de varias subclases: por ejemplo el SECRETARIO “Fermín” puede ser también un ASALARIADO. • Una entidad de la superclase no tiene por qué ser al mismo tiempo miembro de alguna subclase. SECRETARIO TÉCNICO ASALARIADO EMPLEADO superclase subclases DBD Tema 3 4UR Fac. C.E.A. e Informática (© A. Jaime) Herencia • Es el mecanismo por el cual entidades más específicas (de subclases) incorporan atributos y relaciones definidos para entidades más generales (de superclases). – Un BECARIO, por ejemplo “hereda” los atributos de PERSONA. Así pues las entidades de BECARIO tienen los atributos Nombre, DNI y Salario. – Tanto las entidades de BECARIO como las de ALUMNO pueden relacionarse con entidades de CURSO por ser al mismo tiempo entidades de PERSONA. • Se hereda de la superclase, pero además de la superclase de la primera y así sucesivamente hasta la superclase raíz. • Una subclase con sus atributos específicos más los atributos y relaciones heredados es un tipo de entidades. Por eso se representan con rectángulo. PERSONA BECARIO ALUMNO CURSO Nombre DNI Salario Carrera MATRICULADA (0,N) (0,N) Atributo específico de los alumnos Atributo específico de los becarios Heredada por las subclases Heredados por las subclases
2.
DBD Tema 3
5UR Fac. C.E.A. e Informática (© A. Jaime) Generalización • Se identifican rasgos comunes entre varios tipos de entidad y se crea una superclase para todos ellos. • En el ejemplo los tipos de entidad COCHE y CAMIÓN de la izquierda se generalizan a la derecha en la superclase VEHÍCULO con los atributos comunes. • Se está realizando un refinamiento bottom-up o ascendente. Generalizar VEHÍCULO MatrículaPrecio COCHE Plazas CAMIÓN Tonelaje Matrícula Precio COCHE Plazas CAMIÓN Tonelaje Matrícula Precio DBD Tema 3 6UR Fac. C.E.A. e Informática (© A. Jaime) Especialización • Es el proceso de dividir un tipo de entidad en subclases. • Es lo contrario a generalizar: aquí el refinamiento es top-down o descendente. • Un conjunto de subclases se define a partir de alguna característica distintiva. Podemos tener varias especializaciones sobre el mismo tipo de entidad: – Por tipo de trabajo: Secretario, Técnico, Gerente – Por método de pago: Asalariado, Por horas • Por qué es necesaria la especialización/generalización: – Atributos que se aplican sólo a algunas entidades del tipo de entidades: agrupar en una subclase estas entidades y definir en ella los atributos. Por ejemplo si sólo se almacenan las pulsaciones para los SECRETARIOS. – Relaciones donde sólo pueden participar algunas entidades del tipo de entidades. Por ejemplo si sólo los ASALARIADOS pueden afiliarse a SINDICATO. SECRETARIO TÉCNICO ASALARIADO EMPLEADONombre DNI Especializar Pulsaciones Nivel Sueldo AFILIADO SINDICATO (1,N) (0,1) Empleados Secretarios Asalariados Técnicos DBD Tema 3 7UR Fac. C.E.A. e Informática (© A. Jaime) Subclases ‘definidas por condición’, ‘por atributo’ y ‘ por el usuario’ • Definidas por condición: sólo aquellos EMPLEADOS cuyo atributo TipoTrabajo=‘Secretario’ pertenecen a la subclase SECRETARIO. Encima del circulo se escribe la “condición”. • Definidas por atributo: cuando TODAS las subclases de EMPLEADO están definidas por una condición sobre el mismo atributo, como ocurre en el ejemplo. • Definidas por el usuario: cuando no existe una condición para determinar la pertenencia a una subclase. SECRETARIO TÉCNICO INGENIERO EMPLEADO Nombre DNI Pulsaciones Nivel Tipo TipoTrabajo TipoTrabajo ‘Secretario’‘Secretario’ ‘Ingeniero’‘Ingeniero’‘Técnico’‘Técnico’ Especialización definida sobre el atributo de EMPLEADO TipoTrabajo DBD Tema 3 8UR Fac. C.E.A. e Informática (© A. Jaime) Especialización: disjunta vs. solapada • Restricción de disyunción: – Cada entidad de la superclase FIGURA pueden ser miembro como mucho de una de sus subclases. – Si las subclases se definen por atributo, este será monovalor. • Restricción de solapamiento (overlapped): – Es el caso contrario a la disyunción. – Opción por defecto (si no se indica nada es solapada) – Una misma entidad de ATLETA puede ser miembro de varias de sus subclases (por ejemplo, ser al mismo tiempo atleta de cien y de doscientos metros). • Caso especial: cuando el predicado da lugar a una sola subclase. GERENTE EMPLEADO d o POLÍGONO ELIPSE FIGURA d CIEN DOSCIENTOS TRES_MIL ATLETA o B C A B C A o =
3.
DBD Tema 3
9UR Fac. C.E.A. e Informática (© A. Jaime) Especialización: total vs. parcial • Especialización total: – Toda entidad de la superclase debe ser miembro de alguna subclase de la especialización. – Cuando la superclase se extrae por generalización la especialización suele ser total. • Especialización parcial: – Es el caso contrario a la especialización total. – Puede haber entidades de la superclase que no pertenezcan a ninguna de las subclases de la especialización PROFESOR ADMINISTRACIÓN_SERVICIOS PLANTILLA_UNIVERSIDAD d CIEN DOSCIENTOS TRES_MIL ATLETA o PÉRTIGA total parcial DBD Tema 3 10UR Fac. C.E.A. e Informática (© A. Jaime) Reglas de inserción y eliminación de entidades • Eliminación de una entidad c1 de una superclase C: – Se elimina automáticamente de todas las subclases a la que pertenezca. • Inserción de una entidad en una superclase: – Si sus subclases están ‘definidas por una condición’ (o atributo) se podría insertar automáticamente la entidad en las subclases que le corresponden. – Se insertará al menos en una subclase si la especialización es total. P Q R C Eliminación de la entidad c1 de C Si c1 también es miembro de P y Q también debe desaparecer de esas subclases P Q R CA A ‘p’‘p’ ‘r’‘r’‘q’‘q’ Inserción de la entidad c1 en C con valor de su atributo A = ‘r’‘r’ La entidad c1 se puede insertar automáticamente en R P Q R C Inserción de la entidad c1 en C La entidad c1 se deberá insertar en P, Q o en R DBD Tema 3 11UR Fac. C.E.A. e Informática (© A. Jaime) Jerarquías de herencia • Jerarquía: toda subclase participa en una única relación superclase/subclase. Ello da lugar a una estructura en árbol. • Las entidades de INFORMÁTICO son miembros de TÉCNICO. Por tanto heredan todos los atributos y relaciones de TÉCNICO además de heredar los atributos y relaciones de EMPLEADO. SECRETARIA TÉCNICO INGENIERO ASALARIADO POR_HORASGERENTE EMPLEADO DIRIGE PROYECTO AFILIADOPulsaciones Nivel Tipo Nombre FechaNctoNSS Dirección SINDICATO Salario EscalaPago d d (1,N) (1,1) Tres especializaciones de empleado (1,N) (0,1) INFORMÁTICO DBD Tema 3 12UR Fac. C.E.A. e Informática (© A. Jaime) Retículas de herencia (con herencia múltiple) • Retícula: hay alguna subclase que participa en más de una relación. En el ejemplo GERENTE_INGENIERÍA. • Estas subclases se llaman subclases compartidas y heredan los atributos y relaciones de todas sus superclases (de INGENIERO, GERENTE y ASALARIADO). Este mecanismo se llama herencia múltiple. • Los atributos de EMPLEADO se heredan por varios caminos (INGENIERO, GERENTE y ASALARIADO). Las reglas de herencia establecen que debería incluirse una sola vez cada elemento proveniente de EMPLEADO. No hay conflicto. • Algunos mecanismos de herencia no permiten la herencia múltiple. SECRETARIA TÉCNICO INGENIERO ASALARIADO POR_HORASGERENTE EMPLEADO Pulsaciones Nivel Tipo Nombre FechaNcto NSS Dirección Salario EscalaPago d d GERENTE_INGENIERÍA Subclase compartida (herencia múltiple)
4.
DBD Tema 3
13UR Fac. C.E.A. e Informática (© A. Jaime) Conflictos con la herencia múltiple • AUTOCARAVANA hereda de CARAVANA y de VEHÍCULO. • El atributo “Precio” no está muy claro de dónde se hereda. – En estos casos se produce un conflicto. – EER no proporciona reglas de resolución de conflictos (tampoco UML: “porque la experiencia muestra que el diseñador debería resolverlos explícitamente”). – Algunos lenguajes OO como Eiffel permiten al programador resolver explícitamente los conflictos. – También se pueden encontrar reglas de solución implícita de conflictos, pero “suelen deparar sorpresas desagradables al programador”. AUTOCARAVANA CARAVANA VEHÍCULO NºCamas Servicios Precio Matrícula Plazas Precio DBD Tema 3 14UR Fac. C.E.A. e Informática (© A. Jaime) Ejemplo de diseño: UNIVERSIDAD La universidad mantiene la sig. información: • Por cada alumno su carrera o carreras y las notas que ha recibido en cada asignatura. • Proyectos de investigación realizados por el profesorado y becarios. Para cada uno se guarda su nombre, código, fecha de inicio, subvención obtenida, entidad que subvenciona, investigador principal (profesor) y profesores y becarios participantes. • Para cada persona se guarda su nombre, nº de la seguridad social, dirección, sexo y fecha de nacimiento. • Para los profesores además se tiene su rango (CU, TU, etc.), nº de despacho, extensión, departamento y salario. • Para los alumnos se tiene el nº de años que llevan haciendo cada carrera y las asignatura-grupo-cuatrimestre-año (grupo-sección) en las que está o estuvo matriculado. • Interesa distinguir qué alumnos han acabado la carrera (licenciados) y cuáles son becarios (pueden serlo alumnos de últimos cursos o licenciados). Cada becario tiene un profesor que es su tutor de tesis. • Para cada departamento se guarda su nombre, teléfono y despacho de la secretaría y quién es su director (un profesor). • Por cada asignatura se mantiene su nombre, código, descripción y departamento. Cada nuevo cuatrimestre se pueden organizar varios grupos de la misma asignatura (secciones). Para cada uno se guarda la asignatura, el número de grupo, el profesor responsable (único) de la asignatura en ese grupo junto al cuatrimestre y año en el que se impartió. DBD Tema 3 15UR Fac. C.E.A. e Informática (© A. Jaime) Nombre PERSONA NºSS Dirección Sexo FechaNacimiento PROFESOR ALUMNO Rango NumDespacho Extensión Salario Nombre Carrera AñosFaltan DEPARTAMENTO BECARIO LICENCIADOASIGNATURA ES_IP ES_ TUTOR ES_ RESONSABLE CURSA_ O_ CURSÓ DIRIGIDO Nombre DespachoTeléfono Nombre Descripción Código ∪ ∪ (1,1 ) o Nota (1,1) IMPARTE d ∪ PERTE- NECE ∪ TIENETIENE (1,1) CARRERA PROYECTO Nombre Entidad Subvención FechaInicioCódigo Cuatri- mestre Año PARTICIPA _P PARTICI PA_B (0,N) (0,N) (1,N) (1,1) (1,1) Nº (1,1) (0,1)( 1,N) (1,1) ( 1,N) SECCIÓN- GRUPO Clave- parcial ( 0,N) ( 1,N) (1,N) (0,N) (1,1) ( 0,N) (0,N) Ejemplo de diseño con EER: UNIVERSIDAD DBD Tema 3 16UR Fac. C.E.A. e Informática (© A. Jaime) Diagramas de clase de UML • UML cubre además del diseño de BD, la especificación detallada de aplicaciones. Para ello emplea varios tipos de diagramas (de casos de uso, de clases, de secuencias, ...). • UML usa diagramas de clases para el diseño de BD. • En los diagramas de clases, además de atributos y relaciones, también se incluyen operaciones sobre objetos. • Dichas operaciones pueden servir para especificar requisitos funcionales durante el diseño de la BD.
5.
DBD Tema 3
17UR Fac. C.E.A. e Informática (© A. Jaime) Conceptos de clase e instancia (objeto) • En E/R un tipo de entidad representa dos cosas: – La intensión: nombre del tipo de entidad y lista de atributos. – La extensión: conjunto de entidades del tipo de entidad. • Una clase incluye ambos aspectos. • Las entidades de una clase se llaman objetos o instancias. • Cada objeto o instancia consta de un identificador predefinido diferente para cada objeto. Dicho identificador no es ninguno de sus atributos. • Los objetos o instancias de una clase cuentan con un conjunto de operaciones que se pueden realizar sobre ellos (sólo se pueden realizar esas operaciones). • Las operaciones están asociadas a (definidas en) la clase. DBD Tema 3 18UR Fac. C.E.A. e Informática (© A. Jaime) Clase, atributo y tipo de un atributo Las operaciones son de interés en las BD Orientadas a Objetos o para el diseño de los programas de aplicación. PROYECTO Nombre Número Localización Proyecto Nombre: string {clave} Número {clave} Localización añade_empleado añade_proyecto cambio_director ... Nombre de la clase Atributos. Opcionalmente con tipo mediante “:” Operaciones aplicables a sus objetos ClaseClase EMPLEADO Nombre NombreP Iniciales Apellido Salario ... Empleado Nombre: DomNombre {clave} NombreP Iniciales Apellido Salario ... Dominio estructurado DBD Tema 3 19UR Fac. C.E.A. e Informática (© A. Jaime) Atributo clave • En una clase no es necesario tener atributos clave, puesto que los objetos tienen su propio identificador. • El problema surge al transformar los diagramas a determinados modelos de BD, como el relacional. • Una clave es una restricción de un atributo (simple o compuesto). Las restricciones se indican entre llaves ( {...} ) PROYECTO Nombre Número Localización Proyecto Nombre: string {clave} Número {clave} Localización añade_empleado añade_proyecto cambio_director ... DBD Tema 3 20UR Fac. C.E.A. e Informática (© A. Jaime) Asociación • Asociación: (tipo de relación de E/R) se representa con una línea que une dos clases. Son opcionales el nombre (TrabajaEn) y el triángulo negro que indica el orden de lectura (Empleado TrabajaEn Departamento). • Cada relación entre un empleado y un departamento se llama enlace. • Multiplicidad mín..max – Equivalente a (mín, máx) de E/R. En lugar de N se usa *. – Los mín..máx se colocan en los extremos inversos a los (mín, máx) de E/R. – Se emplean estas dos abreviaturas: * ≡ 0..* 1 ≡ 1..1 EMPLEADO NSS Salario ... DEPARTAMENTO Nombre ...Número TRABAJA_EN (1,1) (1,N) Empleado NSS {clave} Salario ... Departamento Nombre {clave} Número {clave} ... TrabajaEn 1..* 1..1 Opcionales
6.
DBD Tema 3
21UR Fac. C.E.A. e Informática (© A. Jaime) Clases asociación y roles EMPLEADO NSS Salario ... DEPARTAMENTO Nombre ...Número DIRIGE (0,1) (1,1) FechaInicio Empleado NSS Salario ... Departamento Nombre Número... 1 0..1 Dirige FechaInicio Clase asociación: contiene los atributos de la asociación 0..1 * Empleado NSS Salario ... supervisor supervisado EMPLEADO NSS Salario ... SUPERVISA supervisorsupervisado (0,N)(0,1) Roles en asociaciones reflexivas No es una clase DBD Tema 3 22UR Fac. C.E.A. e Informática (© A. Jaime) Agregación y composición • Agregación: – Es una forma de asociación que especifica una relación entre el “todo” y sus “partes”. • Composición: – Es una forma de agregación con dependencia de existencia entre las “partes” y el “todo”. Esto supone que si el “todo” desaparece de la BD automáticamente desaparecen todas sus “partes”. – No tiene sentido que en la parte del rombo negro haya multiplicidad superior a 1. • Sólo tienen sentido para asociaciones binarias Carta Dirección Cuerpo * 1 * 1 agregaciones El todo Las partes Ventana Cabecera Panel Deslizador 1 0..1 1 1 21 composiciones El todo Las partes DBD Tema 3 23UR Fac. C.E.A. e Informática (© A. Jaime) Navegabilidad de asociaciones • En el ejemplo, los objetos solicitud saben qué productos incluyen, pero un producto desconoce en qué solicitudes figura. • En UML las asociaciones son bidireccionales a menos que se indique lo contrario (unidireccionales) mediante una punta de flecha que indica la dirección en la que se puede navegar (navegabilidad). • Esto mismo ocurre con agregaciones y composiciones (son asociaciones). • Las asociaciones se implementan en el modelo relacional de BD con claves extranjeras (foráneas). Allí la navegabilidad no tiene sentido, ya que las relaciones se resuelven con la operación de reunión (join) Solicitud NºSolicitud ... Producto NºProducto Nombre ... * * SOLICITUD NºSolicitud Producto ... PRODUCTO NºProducto ...Nombre DBD Tema 3 24UR Fac. C.E.A. e Informática (© A. Jaime) Notas y restricciones • Las notas son comentarios que figuran dentro de un rectángulo con la “esquina doblada”. • Pueden incluir comentarios, restricciones o código de operaciones. • Las restricciones son condiciones que se deben cumplir y se ponen entre “{“ y “}”. Las hemos usado anteriormente para indicar las claves. • La restricción del ejemplo exige que “la compañía para la que trabaja una persona debe ser la misma que la compañía donde trabaja su jefe”. • Pueden situarse al lado de cualquier elemento, por ejemplo al lado de atributos ( {será múltiplo de 10} ). Persona Empresa * 0..1 empleado compañía { Persona.compañía = Persona.jefe.compañía } * 0..1 jefe Nota con una restricción. Hace referencia a las asociaciones que conectan las líneas punteadas subordinado Representa a una entidad incluida Nota con un comentario sobre la clase Empresa
7.
DBD Tema 3
25UR Fac. C.E.A. e Informática (© A. Jaime) Ordered • La lista de solicitudes relacionadas con una representación teatral concreta estará ordenada (ordered). • La lista de reservas relacionadas con una representación teatral concreta no tendrá ningún orden concreto • La multiplicidad de los objetos relacionados debe ser mayor que uno ( * en el ejemplo) • Ordered no significa ordenación según un atributo o atributos de la clase Solicitud. En su lugar, añade automáticamente un nuevo elemento a la asociación y los objetos quedan ordenados respecto a él. • La ordenación según un atributo (sorted en inglés) se expresa mediante una restricción (entre “{“ y “}”). 1*Solicitud Representación Reserva {ordered} 1 * DBD Tema 3 26UR Fac. C.E.A. e Informática (© A. Jaime) Atributo derivado y asociación derivada • Los atributos derivados se representan con un “/” al principio del nombre. • La fórmula, o explicación, de cómo se obtiene el atributo se pone opcionalmente en forma de restricción ( {...} ) PERSONA DNI ...FechaNac Edad Persona DNI FechaNac /Edad ... { Edad = FechaHoy - FechaNac } Persona Empresa Departamento 1 * 1 * 1 */Trabaja { Persona.contratante = Persona.ubicación.compañía } contratante ubicacióncompañía • Puede haber asociaciones derivadas (redundantes) obtenidas a partir de otras. • También se usa el símbolo “/”. Pueden acompañarse de alguna restricción que se deba cumplir, como en el caso de /Trabaja. DBD Tema 3 27UR Fac. C.E.A. e Informática (© A. Jaime) Multiplicidad de un atributo • Las multiplicidades más comunes de un atributo son: 1 (exactamente un valor) y 0..1 (vacío o un valor). • * significa desde cero (vacío), a un número indefinido de valores. • Otra forma de representar atributos con múltiples valores (multivalor en E/R) es la siguiente: DEPARTAMENTO Nombre Lugares ... Número Departamento Nombre Número Lugares[*] ... Indicando la multiplicidad del atributo Departamento Nombre Número Lugares Nombre * 1..* Como asociación o agregación DEPARTAMENTO Nombre Lugares ... Número DBD Tema 3 28UR Fac. C.E.A. e Informática (© A. Jaime) Asociaciones calificadas • Sólo sirve para asociaciones binarias. • El calificador: es uno o varios atributos de la clase objetivo o de la asociación. • Un banco está relacionado con todos sus clientes (sería * en el lado de cliente). Pero un banco y un nº de cuenta determinan a un cliente o a ninguno si el nº de cuenta no existe. En otros ejemplos el calificador podría relacionar con varios clientes. • Casilla parece un tipo de entidad débil. El problema es cuando las clases propietarias son varias. • Desde el punto de vista de implementación un calificador podría ser un índice. 0..1 * Banco Cliente NºCuenta Clase calificada Clase objetivo Atributo calificador Multiplicidad * reducida mediante el calificador 1 1 Tablero Casilla Fila Columna
8.
DBD Tema 3
29UR Fac. C.E.A. e Informática (© A. Jaime) Representación de tipos de entidad débil • Concepto alejado de las clases. UML no dispone de notación especial. • Elmasri y Navathe proponen usar asociaciones calificadas. Pero, hemos visto que una asociación calificada no tiene por qué ser una clase sin clave y sólo sirve cuando el tipo de entidad propietario (BANCO) es único. • Usaremos las restricciones {c. parcial} para indicar la clave parcial e {ident.} para la composición identificadora. • En los casos donde no haya clave parcial se seguirá sabiendo que es débil porque no habrá clave y porque tendrá una o varias composiciones identificadoras. Banco Código {clave} Nombre {clave} Sucursal Código {c. parcial} Dirección 1 1..* {ident.} BANCO Código Nombre SUCURSAL Dirección TIENE (1,N) (1,1) Código DBD Tema 3 30UR Fac. C.E.A. e Informática (© A. Jaime) Asociaciones n-arias • No admite agregación, composición ni calificación. • Admite clases asociación (Inscripción) y poner nombre a la asociación (cerca del rombo) • Como en E/R, en cada enlace de la asociación participan un profesor, un alumno y una asignatura. • Multiplicidades (cambia respecto a E/R): – La multiplicidad de un extremo se define respecto a los demás extremos. – Profesor (0..1) indica con cuántos profesores se puede relacionar cada par asignatura-alumno. – Alumno (*) refleja cuántos alumnos puede tener una asignatura impartida por un profesor. Asignatura Profesor Alumno 0..1* * Inscripción Fecha NO: DBD Tema 3 31UR Fac. C.E.A. e Informática (© A. Jaime) Herencia CIEN DOSCIENTOS TRES_MIL ATLETA o PÉRTIGA PROFESOR ADMINISTRACIÓN_SERVICIOS PLANTILLA_UNIVERSIDAD d Plantilla_Universidad Profesorado Administración_Servicios tipo {disjunta, total} Atleta Cien Doscientos Tres_Mil {solapada, parcial} Pértiga INGENIERO ASALARIADOGERENTE EMPLEADO GERENTE_INGENIERÍA Empleado Ingeniero Gerente Asalariado Gerente_ingeniería DBD Tema 3 32UR Fac. C.E.A. e Informática (© A. Jaime) Discriminador • Nombre opcional que se pone al lado de un triángulo o línea de especialización. • “posición” y “origen” representan dos dimensiones independientes de especialización. Cada una representa una cualidad abstracta del empleado. • Cada objeto de empleado deberá contener todas las dimensiones (por ejemplo, los objetos de “enlace”) • Si hay varias dimensiones las subclases son clases abstractas, es decir, que no pueden contener objetos. • Con un solo discriminador se tiene lo mismo que llamábamos en EER subclases definidas por atributo. • Si no hay discriminador, el usuario decide en qué subclase se inserta cada nuevo objeto. Empleado Supervisor Operario Nacional Extranjero origenposición Enlace discriminadordiscriminador Clases abstractas
9.
DBD Tema 3
33UR Fac. C.E.A. e Informática (© A. Jaime) Ejemplo de diseño con d. de clase: UNIVERSIDAD Alumno Carrera[*] Nombre NºAños Persona Nombre NSS {clave} Dirección Sexo FechaNcto Licenciado Becario Profesor Rango Despacho Extensión Salario Departamento Nombre {clave} TfnoSecre DespachoSecre Director Pertenece Asignatura Nombre Código {clave} Descripción * 1 0..1 1 Sección IdSección {c. parcial} NºGrupo Cuatrimestre Año 1 * impartida * {ident} imparte 1 * * Tutor 1* 1 1..* responsable matriculado Proyecto Nombre Código {clave} FechaInicio Subvención Entidad investigador investigador Invest_ppal 1 * * 1..* * 1..* Calificación Nota Se pueden añadir restricciones, discriminadores y poner alguna relación como derivada (ejemplos: asignatura-profesor o asignatura-alumno) DBD Tema 3 34UR Fac. C.E.A. e Informática (© A. Jaime) Ejercicios DBD Tema 3 35UR Fac. C.E.A. e Informática (© A. Jaime) MUSEO (1/2) Diseña bien un diagrama de clases UML o bien EER que recoja la siguiente información sobre un museo: • El museo tiene una colección de objetos de arte. Cada uno tiene su nº de identificación, artista y año de creación (si se conocen), título y una descripción. • Los objetos de arte se clasifican en varias categorías: – Basándose en su tipo se distinguen pinturas, esculturas y otros. Las pinturas incluyen el tipo de pintura (óleo, acuarela, ...), soporte (lienzo, papel, ...) y estilo (impresionista, abstracto, etc.). Para las esculturas se almacena el material (mármol, bronce, ...), altura, peso y estilo. – Basándose en su pertenencia al museo se distinguen objetos en préstamo u objetos de la colección permanente. Para estos últimos se guarda la fecha de adquisición y coste además de si está en exposición o en almacén. Para las obras en préstamo se incluye el nombre de la colección a la que pertenece, la fecha en la que se recibió en préstamo y la fecha de devolución. DBD Tema 3 36UR Fac. C.E.A. e Informática (© A. Jaime) MUSEO (2/2) • Por cada objeto de arte se tiene también información sobre su origen mediante información de su país y cultura (romano, egipcio, maya, etc.) y su época (renacimiento, neoclásico, etc.). • También se guarda información de los artistas: su nombre (se supone que único), fecha de nacimiento y en su caso de defunción, país de origen, época, estilo principal y descripción. • En el museo se celebran diferentes exposiciones, cada una de ellas tiene un nombre que la identifica, tiene una fecha de comienzo y de finalización e incluye el conjunto de objetos de arte exhibidos. • Sobre las colecciones de obras de arte con las que el museo intercambia obras es útil guardar su nombre (único), tipo (museo, colección privada, etc.), descripción, dirección, teléfono y el nombre de la persona de contacto.
10.
DBD Tema 3
37UR Fac. C.E.A. e Informática (© A. Jaime) PARQUES NATURALES (1/2) Diseña bien un diagrama de clases UML o bien EER que recoja la siguiente información sobre parques naturales (PN): • Por cada comunidad autónoma (CA) se guarda su nombre, sus parques y el organismo responsable de estos. Hay parques que se extienden por varias CAs. • De un parque se almacena su nombre (no habrá dos de igual nombre), la fecha en la que fue declarado PN, sus diferentes áreas y los km2 de cada una. No hay dos áreas del mismo PN que se llamen igual. • En cada área de un parque residen varias especies. Cada especie tiene sus nombres científico y vulgar y se conoce el nº de individuos en cada área. • Por cada especie vegetal desean conocer si tiene floración y, en ese caso, en qué periodo florece. De las especies animales se guardará cuál es su periodo de celo. Según su alimentación, las especies animales se clasifican en herbívoras, carnívoras y omnívoras. • También hay registrar qué animales o vegetales sirven de alimento a los animales de los parques. • Por cada visitante a PNs se recoge su DNI, nombre, dirección y profesión. Los PN tienen alojamientos propios que organizan excursiones. No hay dos alojamientos de un parque con igual nombre. Además se guarda su capacidad, categoría, visitantes que lo utilizaron y en qué habitación y fechas de inicio y fin. DBD Tema 3 38UR Fac. C.E.A. e Informática (© A. Jaime) PARQUES NATURALES (2/2) • Cada excursión tiene un código que la identifica. Además se registra el día, la hora y los alojamientos que la organizan. También se almacenan los visitantes que se inscriben en cada excursión. • El personal que trabaja en cada parque puede ser: celador, investigador y guarda. Una persona puede desempeñar varios cargos al mismo tiempo (por ejemplo, guarda e investigador). Para todos ellos se guarda su DNI, nombre, dirección, teléfono, sueldo, nº de seguridad social y el parque donde trabaja. • Cada parque tiene una o varias entradas. Éstas se numeran del uno al nº de entradas al mismo. Cada celador está destinado en una de ellas y se encarga de registrar quién visita el parque a través de esa entrada y en qué fecha. • Cada guarda tiene asignada un área de su parque y la recorre en un vehículo, del que se almacena su tipo y matrícula. Se pueden asignar varios guardas a un área del parque y varios celadores a una entrada. • Por cada investigador se recoge su titulación y los proyectos de investigación en los que ha intervenido. Para cada proyecto se guarda sobre qué especies se ha investigado en el mismo. • De cada proyecto se registra su nombre, presupuesto y período de realización (fechas de inicio y fin). DBD Tema 3 39UR Fac. C.E.A. e Informática (© A. Jaime) AERÓDROMO (1/2) Diseña bien un diagrama de clases UML o bien EER que recoja la siguiente información sobre un aeródromo privado: • Cada avión tiene un nº de matrícula, es de un tipo y se guarda en un hangar. • Cada tipo de avión tiene un nº de modelo (único) y cierta capacidad y peso. • Cada hangar tiene un número, capacidad y una ubicación. • La BD también lleva el control del propietario(s) actual de cada avión así como de los mecánicos que han llevado su mantenimiento. También se guarda la fecha de adquisición de cada avión por su propietario actual o propietarios actuales. • También se almacenan los servicios realizados por cada mecánico a cada avión. Cada registro de servicio incluye la fecha en la que se realizó, el número de horas invertidas y el tipo de trabajo. No puede haber dos servicios realizados al mismo avión en la misma fecha con el mismo tipo de trabajo. • Por cada persona se guarda su nº de seguridad social, nombre, dirección y teléfono. Para los mecánicos se guarda también su salario y turno. Para los pilotos su nº de licencia y restricciones. • También se guarda el tipo de aviones en los que está autorizado a volar cada piloto y los tipos de avión en los que puede dar mantenimiento cada mecánico. DBD Tema 3 40UR Fac. C.E.A. e Informática (© A. Jaime) AERÓDROMO (2/2) • Considera ahora que un propietario es una persona o una corporación. En el caso de las entidades corporativas los datos que se mantienen incluyen su nombre, dirección teléfono y NIF
11.
DBD Tema 3
41UR Fac. C.E.A. e Informática (© A. Jaime) CAMPEONATOS DE ESQUÍ (1/2) Diseña bien un diagrama de clases UML o bien EER que recoja la siguiente información sobre un campeonato de esquí: • El campeonato consta de una serie de pruebas. En cada una se inscribe un conjunto de participantes. Hay pruebas individuales y por equipos. Un esquiador puede participar en varias pruebas a título individual o sino formando parte de un equipo (pero NO unas veces individualmente y otras en equipo). • Por cada esquiador se desea guardar su DNI, nombre, fecha de nacimiento y edad. A cada participante en una prueba (equipo, para pruebas por equipos o esquiador si es individual) se le asigna un código formado por el nombre de la prueba y un dorsal. • Por cada equipo se tiene su código, entrenador, sus esquiadores y cuántos son. No todos los esquiadores de un equipo deben participar en cada prueba donde se ha inscrito. • Hay varias federaciones de esquí. De cada una se conoce su nombre y nº de federados. Cada esquiador pertenece a una única federación. No se admite la participación de esquiadores no federados. • Cada federación puede administrar estaciones de esquí. Toda estación se administra al menos por una federación, aunque puede serlo por varias. DBD Tema 3 42UR Fac. C.E.A. e Informática (© A. Jaime) CAMPEONATOS DE ESQUÍ (2/2) • Cada estación de esquí dispone de un código identificativo. Tiene un nombre, personas de contacto, dirección, teléfono, nº total de kilómetros esquiables y nº de pistas. • Cada pista se identifica por el código de la estación a la que pertenece y un número correlativo. Se guarda su longitud en kilómetros y su nivel de dificultad (según un código de colores). • Algunas pruebas de largo recorrido utilizan varias pistas de una misma estación como si fuesen una sola pista compuesta de varias subpistas. • Cada prueba se realizará en las pistas de una única estación. Puede durar varios días. Se almacenan las fechas en las que tiene lugar. • Los participantes podrán competir en diferentes pruebas y en diferentes pistas. Se registrará la fecha o fechas en las que cada participante compite en cada prueba así como el tiempo empleado y la posición obtenida. • Cada prueba se identifica por un nombre, será de un tipo (fondo, slalom, salto, ...) tendrá unas fechas previstas de realización y se registrará el vencedor y el tiempo empleado por éste. DBD Tema 3 43UR Fac. C.E.A. e Informática (© A. Jaime) CONCESIONARIO • Un concesionario de automóviles se dedica a la venta de vehículos nuevos y nos pide que diseñemos un diagrama de clases UML o uno EER, con la información que maneja, de acuerdo a lo siguiente: • El concesionario sólo vende vehículos nuevos, pero rebaja el precio si el cliente cede su vehículo usado. • El concesionario maneja numerosos vehículos. Desea conservar la matrícula, color y modelo de cada uno. Como decíamos distinguen dos tipos de vehículo: nuevo y usado. Para los usados guardarán el kilometraje y la cantidad rebajada (por la cesión del vehículo usado). También distinguen dos clases de vehículo nuevo: vendido y en existencias. Por cada vehículo vendido se guarda la fecha de la venta. • Se tiene información de dos tipos de persona: clientes y vendedores. Para ambos interesa saber su dni, nombre, dirección y teléfono. De los vendedores se conoce también su nº de seguridad social y la cantidad total (en euros) de sus ventas. • Como decíamos, cada vehículo es de un modelo. Puede haber muchos vehículos del mismo modelo. Marca, modelo y cilindrada, conjuntamente, distinguen un modelo de otro. • Un modelo puede disponer de varias opciones (por ejemplo aire acondicionado, pintura metalizada, ...). Cada opción se identifica por un nombre e incluye una descripción. Se puede disponer de la misma opción en diferentes modelos. Una opción tiene un coste diferente dependiendo del modelo. Además de este coste, se guarda el precio base (sin opciones) de cada modelo. • Para cada coche vendido se guarda qué opciones incluye, el precio final (precio base, más el coste de las opciones, menos la rebaja por el coche usado), qué coche usado se ha cedido (puede que ninguno) para rebajar el coste del vehículo, qué cliente compró el vehículo y qué vendedor gestionó la venta DBD Tema 3 44UR Fac. C.E.A. e Informática (© A. Jaime) BIBLIOTECA UNIVERSITARIA (1/3) Diseña un diagrama de clases UML o uno EER que recoja la siguiente información sobre una biblioteca universitaria: • La biblioteca cuenta con 16.000 socios, 100.000 títulos y 250.000 volúmenes (media de 2,5 copias de cada libro). Suele mantenerse en préstamo el 10% de los volúmenes. Los bibliotecarios se aseguran de que los libros que quieran pedir los socios se encuentren disponibles. También deben conocer cuántas copias de cada libro se encuentran prestadas. • Se desea disponer de un catálogo on-line con acceso por título, por autor y tema. Además en el catálogo se guarda una descripción del libro, que ocupa desde una línea a varias páginas. • La plantilla de la biblioteca se divide en: jefe de biblioteca, bibliotecarios asociados a departamentos, bibliotecarios que atienden consultas, personal de préstamos y ayudantes de biblioteca. • Los libros se pueden prestar por un periodo de 21días. Sólo se permite tener en préstamo 5 libros a la vez. Los socios suelen devolver los libros al cabo de 3 o 4 semanas. La mayoría de socios sabe que disponen de otra semana de gracia hasta que les llegue a casa una notificación. Aproximadamente el 5% de socios ha recibido alguna vez una de estas notificaciones. (continúa en la siguiente página)
12.
DBD Tema 3
45UR Fac. C.E.A. e Informática (© A. Jaime) BIBLIOTECA UNIVERSITARIA (2/3) (viene de la página anterior) • La mayor parte de los libros no devueltos en plazo se devuelven dentro del mes siguiente al vencimiento. Aproximadamente el 5% de los libros no devueltos en plazo no se devuelven nunca. • Aquellos socios que solicitan préstamos un mínimo de 10 veces al año son considerados como los más activos. El 1% de los socios solicita el 15% de los préstamos. El 10% de los socios solicita el 40% de préstamos. Cerca del 20% de socios son inactivos (nunca solicitan préstamos). • Para darse de alta como socio hay que rellenar un formulario donde se pide el NIF, dirección y número de teléfono tanto personales como del campus. Con estos datos se confecciona una tarjeta con banda magnética y fotografía con una validez de 4 años. Un mes antes de caducar la tarjeta se envía una notificación de renovación. Los profesores se consideran socios automáticamente. Cuando se contrata un nuevo profesor, su información se transfiere desde el registro de empleados y su tarjeta de lector se le envía a su dirección del campus. A los profesores se les permite tener libros en préstamo durante periodos de 3 meses y tienen un periodo de gracia de 2 semanas. (continúa en la siguiente página) DBD Tema 3 46UR Fac. C.E.A. e Informática (© A. Jaime) BIBLIOTECA UNIVERSITARIA (3/3) (viene de la página anterior) • Las notificaciones de renovación de profesores se envían a la dirección del campus. • Los bibliotecarios mantienen una lista de libros por los que hay interés en su adquisición pero que no se puede como algunos libros curiosos, descatalogados, perdidos o prestados y no devueltos. • La biblioteca tiene algunos libros exentos de préstamo, como los libros de consulta y mapas. Lo mismo sucede con algunas copias de libros. • Cada libro se identifica por su ISBN. Dos libros iguales pero en diferente idioma o con distinta encuadernación tienen diferente ISBN. Lo mismo pasa con las diferentes ediciones de un mismo libro. • El sistema de bases de datos debe mantener la información propuesta para los socios, los libros, el catálogo y las operaciones de préstamo.