Análise e deseño detallado de aplicacións de informática e de xestión/Exercicios

Método de resolución dos exercicios editar

Mentres se len os exercicios, xa se deben ir marcando as entidades, que no esquema entidade-relación irán en singular.

No diagrama situaremos nunha banda as entidades con seus atributos, e na outra banda estableceranse as relacións entre as entidades, e só se incluirán aquí os atributos utilizados nas relacións.

Exercicio 1 editar

Deseña o modelo entidade-relación e relacional completos do seguinte suposto:

  • Interesa almacenar a información relativa ao NIF, nome, apelidos e país de procedencia de cada peregrino.
  • Un peregrino pode parar en distintos albergues un número de horas determinado. Nunca poderá superar as 24 horas no mesmo albergue.
  • É necesario rexistrar todos os albergues nos que parou o peregrino.
  • O mesmo peregrino pode parar nos mesmos albergues en distintos anos, pero supoñemos que nunca parará dúas veces no mesmo albergue no mesmo ano.
  • Cada albergue é atendido por varios empregados. É necesario gardar información acerca do nome, apelidos e teléfono de contacto dos citados empregados. Un empregado traballará nun único albergue.
  • Cada peregrino será atendido por un empregado.
  • Cada albergue pode ter ou non camas, cunhas medidas (“alto” e “ancho”) determinadas. Interesa saber en que cama durmiu (se se dá o caso) un peregrino.

Solución editar

Modelo entidade-relación editar

Entidades:

  • Peregrino
    • NIF (clave)
    • Nome
    • Apelidos
    • País de procedencia
  • Albergue
    • Código (clave)
    • Nome
    • Enderezo
  • Empregado
    • NIF (clave)
    • Nome
    • Apelidos
    • Teléfono de contacto
  • Cama (debilidade por identificación)
    • Número (clave)
    • Alto
    • Ancho

Relacións:

  • “Para en”. Peregrino (1,n) N:M (1,n) Albergue.
    • Data de entrada
    • Data de saída
  • “Ten”. Albergue (1,1) 1:N (1,n) Empregado.
  • “Atende”. Empregado (1,n) N:M (1,n) Peregrino.
  • “Ocupa”. Peregrino (1,n) N:M (1,n) Cama
  • “Pertence a”. Cama (1,1) 1:N (0,n) Albergue.

Modelo relacional editar

Albergues(CodAlber, NomeAlber, EnderAlber)

CP: CodAlber

Camas(NumCama, AltoCama, AnchoCama, CodAlberCama)

CP: NumCama
CE: CodAlberCama → Albergues(NumCama)

Empregados(NIFEmp, NomeEmp, ApelEmp, TelEmp, CodAlberEmp)

CP: NIFEmp
CE: CodAlberEmp → Albergues(CodAlber)

Peregrinos(NIFPere, NomePere, ApePere, PaisPere)

CP: NIFPere

PereAlber(NIFPereAlber, CodAlberPere, DataEntrada, DataSaida, CamaPereAlber)

CP: NIFPereAlber, CodAlberPere
CE: NIFPereAlber → Peregrinos(NIFPere)
CE: CodAlberPere → Albergues(CodAlber)
CE: CamaPereAlber → Camas(NumCama)

EmpPer(NIFPereEmp, NIFEmpPere)

CP: NIFEmpPere, NIFPereEmp
CE: NIFPereEmp → Peregrinos(NIFPere)
CE: NIFEmpPere → Empregados(NIFEmp)