Ejercicio cardinalidad

11
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)

Transcript of Ejercicio cardinalidad

Page 1: 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)

Page 2: Ejercicio cardinalidad

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 )

Page 3: Ejercicio cardinalidad

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 )

Page 4: Ejercicio cardinalidad

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 )

Page 5: Ejercicio cardinalidad

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)

Page 6: Ejercicio cardinalidad

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)

Page 7: Ejercicio cardinalidad

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)

Page 8: Ejercicio cardinalidad

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)

Page 9: Ejercicio cardinalidad

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)

Page 10: Ejercicio cardinalidad

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)

Page 11: Ejercicio cardinalidad

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