Ejercicio cardinalidad
Transcript of Ejercicio cardinalidad
EJERCICIO 1
FACTURA ( LÍNEA ( número: dom_num, factura: dom_factura, fecha: dom_fecha) numlinea: dom_numlinea, CP (número) artículo: dom_art,
precio: dom_precio) CP (factura, numlinea) CAj(factura) -> FACTURA
Card(FACTURA, detalle) = ( 0 , N ) Card(LÍNEA, detalle) = ( 1 , 1 ) -------- dependencia de identificador
EJERCICIO 2 VEHÍCULO ( COCHE ( matrícula: dom_mat, matrícula: dom_mat, marca: dom_marca, puertas: dom_puertas) modelo: dom_modelo) CP (matrícula) CP (matrícula) CAj(matrícula) -> VEHÍCULO
Card(COCHE, es-un) = ( 1, 1) Card(VEHÍCULO, es-un) = ( 0, 1) -------- generalización (o especialización)
EJERCICIO 3
COCHE ( ALQUILA ( matrícula: dom_mat, dni: dom_dni, puertas: dom_puertas) mat: dom_mat, CP (matrícula) fecha: dom_fecha) CP (dni, mat, fecha) CLIENTE ( CAj(mat) -> COCHE dni: dom_dni, CAj(dni) -> CLIENTE nombre:dom_nom, cc: dom_cc) CP (dni)
Card(COCHE, alquila) = (0 , N) Card(CLIENTE, alquila) = ( 0, N)
EJERCICO 4 ASIGNATURA( ALUMNO( MATRÍCULA( código: dom_cod, dni: dom_dni, dni: dom_dni, nombre: dom_nom, expediente: dom_exp, asig: dom_ asig, créditos: dom_cred) nombre: dom_nom) cuatrimestre: dom_cuat) CP (código) CP (dni) CP (dni)
CAlt(expediente) CAlt(asig) CAj(dni) -> ALUMNO CAj(asig) -> ASIGNATURA VNN (cuatrimestre)
Card(ASIGNATURA, matrícula) = ( 0, 1 ) Card(ALUMNO, matrícula) = ( 0, 1 )
EJERCICIO 5 POBLACIÓN ( ALCALDE ( provincia: dom_pro, dni: dom_dni, nombre: dom_nom, nombrea: dom_nomal, habitantes: dom_hab) apellidos: dom_apellidos, CP (provincia, nombre) provincia: dom_pro,
nombre: dom_nom) CP (dni) CAlt(provincia, nombre) CAj(provincia, nombre) -> POBLACIÓN VNN (apellidos) VNN (nombreA)
Card(POBLACIÓN, rige) = ( 0, 1 ) Card(ALCALDE, rige) = ( 1, 1 )
EJERCICIO 6 DEPARTAMENTO( EMPLEADO( código: dom_cod, dni: dom_dni, nombre: dom_nom, nombre: dom_nom, área:dom_area) dpto: dom_dpto) CP(código) CP(dni)
CAj(dpto) -> DEPARTAMENTO
Card(DEPARTAMENTO, trabaja-en) = ( 0 , N ) Card(EMPLEADO, trabaja-en) = ( 0 , 1 )
EJERCICIO 7 DEPARTAMENTO( EMPLEADO( código: dom_cod, dni: dom_dni, nombre: dom_nom, nombre: dom_nom, área:dom_area) dpto: dom_dpto) CP(código) CP(dni)
CAj(dpto) -> DEPARTAMENTO VNN(dpto)
Card(DEPARTAMENTO, trabaja-en) = ( 0 , N ) Card(EMPLEADO, trabaja-en) = ( 1 , 1 )
EJERCICIO 8 EMPLEADO( DEPARTAMENTO( dni: dom_dni, código: dom_cod, nombre: dom_nom) nombre: dom_nom, CP(dni) área: dom_area,
jefe: dom_jefe) CP(código) CAj(jefe) -> EMPLEADO
Card(DEPARTAMENTO, dirige) = ( 0 , 1 ) Card(EMPLEADO, dirige) = ( 0 , N )
EJERCICIO 9 ASIGNATURA( ALUMNO( MATRÍCULA( Código: dom_cod, dni: dom_dni, dni: dom_dni, nombre: dom_nom, nombre: dom_nom) asig: dom_asig) créditos: dom_cred) CP(dni) CP(dni, asig) CP(código) CAj(dni) -> ALUMNO
CAj(asig) -> ASIGNATURA
Card(ALUMNO, matrícula) = ( 0 , N ) Card(ASIGNATURA, matrícula) = ( 0 , N )
EJERCICIO 10 BARCO( CAPITÁN( CAPITANEA( matrícula: dom_mat, dni: dom_dni, mat: dom_mat, nombre: dom_nom, nombre: dom_nombre) dni: dom_dni) eslora: dom_eslora) CP(dni) CP(dni) CP(matrícula) CAlt(mat)
CAj(dni) -> CAPITÁN CAj(mat) -> BARCO
Card(BARCO, capitanea) = ( 0 , 1 ) Card(CAPITÁN, capitanea) = ( 0 , 1 )
EJERCICIO 11 PROFESOR( ASIGNATURA( dni: dom_dni, código: dom_cod, nombre: dom_nom) nombre: dom_nom, CP(dni) créditos: dom_cred,
Dni: dom_dni) CP(código) CAlt(dni) CAj(dni) -> PROFESOR
Card(ASIGNATURA, coordina) = ( 1 , 1 ) Card(PROFESOR, coordina) = ( 0 , 1 )
EJERCICIO 12 DEPARTAMENTO( EMPLEADO( código: dom_cod, dni: dom_dni, nombre: dom_nom, nombre: dom_nom, área: dom_area, dpto: dom_dpto) jefe: dom_jefe) CP(dni) CP(código) CAj(dpto) -> DEPARTAMENTO CAj(jefe) -> EMPLEADO VNN(dpto)
Card(DEPARTAMENTO, trabaja-en) = ( 0 , N ) Card(EMPLEADO, trabaja-en) = ( 1 , 1 ) Card(DEPARTAMENTO, dirige) = ( 0 , 1 ) Card(EMPLEADO, dirige) = ( 0 , N )
EJERCICIO 13 INVITADO( PROGRAMA( dni: dom_dni, siglas: dom_siglas, nombre: dom_nom) nombre: dom_nom, CP(dni) inv: dom_inv)
CP(siglas) CAj(inv) -> INVITADO VNN(inv)
Card(PROGRAMA,exclusiva)=(1,1) Card(INVITADO,exclusiva)=(0,N)
EJERCICIO 14 PROGRAMA( INVITADO( siglas: dom_siglas, dni: dom_dni, nombre: dom_nom) nombre: dom_nom, CP(siglas) prog: dom_prog)
CP(dni) CAj(prog) -> PROGRAMA VNN(prog)
Card(PROGRAMA,asisten)=(0,N) Card(INVITADO,asisten)=(1,1)
EJERCICIO 15 PROGRAMA( INVITADO( COTILLEA( siglas: dom_siglas, dni: dom_dni, inv: dom_inv, nombre: dom_nom) nombre: dom_nom) prog: dom_prog) CP(siglas) CP(dni) CP(inv,prog)
CAj(prog) -> PROGRAMA CAj(inv) -> INVITADO
Card(PROGRAMA,cotillea)=(0,N) Card(INVITADO,cotillea)=(0,N)
EJERCICIO 16 PROGRAMA( INVITADO( INSULTA( siglas: dom_siglas, dni: dom_dni, inv: dom_inv, nombre: dom_nom) nombre: dom_nom, prog: dom_prog) CP(siglas) prog: dom_prog) CP(inv)
CP(dni) CAlt(prog) CAj(prog) -> PROGRAMA CAj(prog) -> PROGRAMA
CAj(inv) -> INVITADO
Card(PROGRAMA,hace_ridículo)=(0,N) Card(INVITADO,hace_ridículo)=(0,1) Card(PROGRAMA,insulta)=(0,1) Card(INVITADO,insulta)=(0,1)
EJERCICIO 17 PROGRAMA( INVITADO( siglas: dom_siglas, dni, nombre: dom_nom) nombre: dom_nom, CP(siglas) prog: dom_prog,
prog2: dom_prog2,) CP(dni) CAj(prog) -> PROGRAMA CAlt(prog2) CAj(prog2) -> PROGRAMA
Card(PROGRAMA,difama)=(0,N) Card(INVITADO,difama)=(0,1) Card(PROGRAMA,razona)=(0,1) Card(INVITADO,razona)=(1,1)
EJERCICIO 18 PROGRAMA( INVITADO( siglas: dom_siglas, dni: dom_dni, nombre: dom_nom) nombre: dom_nom) CP(siglas) CP(dni) GRITA( LADRA( inv: dom_inv, inv: dom_inv, prog: dom_prog) prog: dom_prog) CP(inv,prog) CP(inv,prog) CAj(prog) -> PROGRAMA CAj(prog) -> PROGRAMA CAj(inv) -> INVITADO CAj(inv) -> INVITADO
Card(PROGRAMA,grita)=(0,N) Card(INVITADO,grita)=(0,N) Card(PROGRAMA,ladra)=(0,N) Card(INVITADO,ladra)=(0,N)
EJERCICIO 19
MAR ( codmar: dom_codigomar nombre: dom_nombre) CP: codmar
COMUNIDAD ( codcomu: dom_codigocomu, nombre: dom_nombre) CP: codcomu
PASAR_POR ( codrio: dom_codigorio, codpro: dom_codigoprov) CP: (codrio,codpro) CAj: codrio -> RIO CAj:codpro -> PROVINCIA
RIO ( codrio: dom_rio, nombre: dom_nombre, long: dom_long, codmar:dom_codifgomar) CP: codrio CAj: codmar -> MAR
PROVINCIA ( codpro: dom_codigoprov, nombre: dom_nombre, extensión: dom_extension codcomu: dom_codigocomu) CP: codpro CAj: codcomu -> COMUNIDAD
Card (MAR, desemboca) = (0, N) Card (RIO, desemboca) = (0, 1) Card (COMUNIDAD, pertenece) = (0, N) Card (PROVINCIA, pertenece) = (0, 1) Card (RIO, pasa_por) = (0, N) Card (PROVINCIA, pasa_por) = (0, N)
EJERCICIO 20
ASIGNATURAS ( cod_asg: domCod, nombre: domNom, curso: domCur, t: dom_Horas, p: dom_Horas, l: dom_Horas) CP: cod_asg
ALUMNOS ( exp: domExp, nombre: domNom, dir: domDir, ciudad: domCiudad, estudios: domEstudios) CP: exp
PROFESOR ( dni: domDni, nombre: domNom, dir: domDir, ciudad: domCiudad) CP: dni
PROF_ASG ( dni: domDni, codigo: domCod, horas: domHoras) CP: (dni, codigo) CAj: dni -> PROFESOR CAj: código -> ASIGNATURA
NOTAS ( exp: domExp, cod_asg: domCod, nota: domNota) CP: (exp, cod_asg) CAj: exp -> ALUMNOS CAj: cod_asg -> ASIGNATURA
Card (ALUMNOS, notas) = (0, N) Card (ASIGNATURA, notas) = (0, N) Card (PROFESOR, imparte) = (0, N) Card (ASIGNATURA, imparte) = (0, N)
EJERCICIO 21
AGENCIA ( cif: dom_cif, nombre: dom_nombre, dom_nombre, país_sede: dom_pais) CP: cif
COMPAÑIA ( cif: dom_cif, nombre: dom_nombre, director: dom_nombre) CP: cif
FOTOGRAFO ( dni : dom_dni, nombre: dom_nombre, dirección: dom_dire) CP: dni
MODELO (
dni: dom_dni,
nombre: dom_nombre,
edad: dom_edad,
dirección: dom_dire,
cifAge: dom_cif)
CP: dni
CAj: cifAge -> AGENCIA
TRABAJAR (
dniFot: dom_dni,
cifAge: dom_cif,
desde: dom_fecha,
hasta: dom_fecha)
CP: (dniFot, cifAge)
CAj: dniFot -> FOTOGRAFO
CAj: cifAge -> AGENCIA
ANUNCIAR (
dniMod: dom_dni,
cifCia: dom_cif)
CP: (dniMod, cifCia)
CAj: dniMod -> MODELO
CAj: cifCia -> COMPAÑIA
Card (MODELO, pertenece) = (0, 1) Card (AGENCIA, pertenece) = (0, N) Card (FOTOGRAFO, trabajar) = (0, N) Card (AGENCIA, trabajar) = (0, N) Card (MODELO, anunciar) = (0, N) Card (COMPAÑIA, anunciar) = (0, N)
EJERCICIO 22
RAZA ( nombre: dom_nombre, detalles: dom_detalles) CP: nombre
SUPERVISOR ( dni: dom_dni, nombre: dom_nombre, teléfono: dom_telefono, fecha: dom_fecha) CP: dni
ADIESTRA ( numplaca: dom_numplaca, cif: dom_cif, fecha: dom_fecha, supervisa: dom_dni) CP: (numplaca, cif) CAj: numplaca -> PERRO CAj: cif -> ESCUELA CAj: supervisa -> SUPERVISOR VNN: fecha
PERRO ( numplaca: dom_numplaca, nombre: dom_nombre, raza: dom_raza, dni: dom_dni) CP: numplaca CAj: raza -> RAZA VNN (RAZA)
ESCUELA ( cif: dom_cif, nombre: dom_nombre, teléfono: dom_telefono) CP: cif
Card (PERRO, pertenece) = (0, 1)
Card (RAZA, pertenece) = (0, N) Card (PERRO, adiestra) = (0, N) Card (ESCUELA, adiestra) = (0, N) Card (ADIESTRA, supervisa) = (0, N) Card (SUPERVISOR, supervisa) = (0, N)
EJERCICIO 23 ASOCIACION ( cif: dom_cif, nombre: dom_nombre, ámbito: dom_ambito) CP: cif
PROPIETARIO ( dni: dom_dni, nombre: dom_nombre, teléfono: dom_telefono, direccion: dom_direccion, ciudad: dom_ciudad) CP: dni
ESCUELA ( cif: dom_cif, nombre: dom_nombre, teléfono: dom_telefono, dirección: dom_direccion, ciudad: dom_ciudad, categoría: dom_cat) CP: cif
PERTENECER ( dni: dom_dni, cif: dom_cif) CP: (dni, cif) CAj: dni -> PROPIETARIO CAj: cif -> ASOCIACION
PERRO ( numplaca: dom_numplaca, nombre: dom_nombre, raza: dom_raza dni: dom_dni) CP: numplaca CAj: dni -> PROPIETARIO VNN: dni
ADIESTRAR ( numplaca: dom_numplaca, cif: dom_cif, fecha: dom_fecha) CP: (nupmplaca, cif) CAj: numplaca -> PERRO CAj: cif -> ESCUELA
Card (PROPIETARIO, pertenece) = (0, N)
Card (ASOCIACION, pertenece) = (0, N) Card (PROPIETARIO, es_de) = (0, N) Card (PERRO, es_de) = (1, 1) Card (PERRO, adiestra) = (0, N) Card (ESCUELA, adiestra) = (0, N)
EJERCICIO 24
PROVEEDORES ( cod_pro: dom_pro, nombre: dom_nombre, estado: dom_estado, ciudad: dom_ciudad) CP: cod_pro
PIEZAS ( cod_pie: dom_pie, nombre: dom_nombre, color: dom_color, peso: dom_peso, ciudad: dom_ciudad) CP: cod_pie
PROYECTOS ( cod_proy: dom_proy, nombre: dom_nombre, ciudad: dom_ciudad) CP: cod_proy
PEDIDOS ( cod_pro: dom_pro, cod_pie: dom_pie, cod_proy: dom_proy, cantidad: dom_cantidad) CP: (cod_pro, cod_pie, cod_proy) CAj: cod_pro -> PROVEEDORES CAj: cod_ pie -> PIEZAS CAj: cod_proy -> PROYECTOS
Card (PROVEEDORES, pedidos) = (0, N) Card (PIEZAS, pedidos) = (0, N) Card (PEDIDOS, para_proy) = (1, 1) Card (PROYECTOS, para_proy) = (0, N)
EJERCICIO 25
EMPRESA ( cif: dom_cif, nombe: dom_nombre, país_sede: dom_pais) CP: cif
PROP_ANTERIOR( cif: dom_cif, nombre: dom_nombre, dirección:dom_direccion, teléfono: dom_telefono) CP: cif
ALQUILAR ( nif: dom_nif, matricula: dom_matr, desde: dom_fecha, hasta: dom_fecha, importe: dom_impor, descuento: dom_desc) CP: (nif, matricula, desde) CAj: nif -> CLIENTE CAj: matricula -> VEHICULO
VEHICULO ( matricula: dom_matr, modelo: dom_modelo, año_fab: dom_año, color: dom_color, cifAnterior: dom_cif) CP: matricula CAj: cifAnterior -> EMPRESA
CLIENTE ( nif: dom_nif, nombre: dom_nombre, fech_nac:dom_edad, dirección: dom_dire, cifEmpr: dom_cif) CP: nif CAj: cifEmpr -> EMPRESA
Card (CLIENTE, de_la) = (0, 1) Card (EMPRESA, de_la) = (0, N) Card (VEHICULO, pertenecio) = (0, 1) Card (EMPRESA, pertenecio) = (0, N) Card (CLIENTE, alquilar) = (0, N) Card (VEHICULO, alquilar) = (0, N)
Otra interpretación (más lógica) que podemos hacer es:
Card (VEHICULO, pertenecio) = (0, N) Card (ALQUILAR, pertenecio) = (1, 1) Card (CLIENTE, alquilar) = (0, N) Card (ALQUILAR, alquilar) = (1, 1)
Alquilar
desde
Vehículo
mat
Cliente
nif
1..1
0..N 1..1
0..N