Entidades Persona: Entidad que hará de supertipo, la cual representa a cualquier individuo que esté involucrado con la empresa. Sus atributos son: ❖ DNI-Persona como clave primaria, nombres compuesto por primerNom, segundoNom, apellidoPaterno, apellidoMaterno y teléfono atributo multivaluado y puede tener 0 o varios teléfonos. Empleado: Entidad que hará de subtipo de Persona, la cual representa a cualquier empleado que trabaje en la empresa. Sus atributos son: ❖ IdEmpleado como clave primaria y sueldo. PersonalLimpieza: Entidad que hará de subtipo de Empleado, la cual representa al personal que se encarga de limpiar las habitaciones, habilitándolas para su uso. Sus atributos son: ❖ turno. Anfitrión: Entidad que hará de subtipo de Empleado, la cual representa al personal que se encarga de registrar el ingreso de los clientes de acuerdo a su reserva. Sus atributos son: ❖ horasTrabajadas. Recepcionista: Entidad que hará de subtipo de Empleado, la cual representa al personal que se encarga de generar la boleta de acuerdo al pago realizado por el cliente. Sus atributos son: ❖ turno y NroRecepcion. Cliente: Entidad que hará de subtipo de Persona, la cual representa a cualquier Persona que desee hospedarse y consumir en la empresa. Sus atributos son: ❖ nroSocio como clave primaria. Pago: Entidad que guarda el monto que hace el cliente por el servicio realizado en la empresa. Sus atributos son: ❖ idPago como clave primaria y monto. Boleta: Entidad que representa el comprobante de pago generado por el servicio ofrecido por la empresa. Sus atributos son: ❖ NroBoleta como clave primaria, montoTotal, horasDeEstancia y Fecha compuesto por dia, mes, año. Reserva: Entidad que representa la reserva hecha por un cliente para hospedarse en el hotel. Sus atributos son: ❖ IdReserva como clave primaria, horasDeEstancia y Fecha compuesto por dia, mes, año. TipoDeHabitación: Entidad que representa los diferentes tipos de habitaciones que ofrece el hotel del más barato al más caro, las cuales son Standard, Premium, Deluxe, GrandDeluxe y Exclusive Collection, cada una se identificada con un id diferente. Sus atributos son: ❖ IdTipoHabitación como clave primaria y PrecioPorHora. Habitación: Entidad que representa a las habitaciones del hotel las cuales son identificadas por un numero de habitación y tienen un estado de habilitación (limpias o no). Sus atributos son: ❖ NúmeroHabitación como clave primaria y EstadoDeHabilitación. Pedido: Entidad que representa al pedido que puede realizar un cliente a habitación por alguno o varios productos. Sus atributos son: ❖ NroPedido como clave primaria, hora y Fecha compuesto por dia, mes, año. Producto: Entidad que representa a los productos ofrecidos por la empresa para pedidos a habitación. Sus atributos son: ❖ idProducto como clave primaria, nombreProducto, tipoProducto, PrecioProducto y StockProducto. Relaciones Persona especialización en Cliente y Empleado: Es una especialización disjunta y total. Disjunta porque una instancia del supertipo puede ser miembro de, como máximo, uno de los subtipos. Y total porque toda instancia del supertipo también debe ser instancia de algún subtipo. Para este caso es disjunta ya que una persona solo puede ser miembro de un solo subtipo, solo puede ser empleado o cliente, no ambos a la vez. Y total porque cada persona debe ser obligatoriamente o un empleado o un cliente. Empleado especialización en PersonalLimpieza, Anfitrión y Recepcionista: Es una especialización disjunta y total. Para este caso es disjunta ya que un Empleado solo puede ser miembro de un solo subtipo, solo puede ser Anfitrión, PersonalLimpieza o Recepcionista, no varios a la vez. Y total porque cada Empleado debe ser Anfitrión o PersonalLimpieza o Recepcionista. Recepcionista registra Boleta: relación que indica que una recepcionista puede registrar muchas boletas, pero cada boleta solo puede ser registrada por una recepcionista. Boleta incluye Pago: relación que indica que en una boleta solo puede haber un pago por el monto total. Cliente realiza Pago: relación que indica que un cliente solo realizara un único pago por el servicio ofrecido por la empresa. Cliente hacer Reserva: relación que indica que un cliente solo realizara una reserva a la vez mas no varias al mismo tiempo. Anfitrión registra Reserva: relación que indica que el anfitrión registra el ingreso hecho por reserva de todos los clientes que llegan al hotel. Reserva asignar Habitación: relación que indica que toda reserva tiene asignada una habitación. Habitación pertenecer TipoDeHabitación: relación que indica que todas las habitaciones pertenecen a un tipo de habitación las cuales pueden ser Standard, Premium, Deluxe, GrandDeluxe y Exclusive Collection, cada una identificada con un idTipoHabitación diferente. Cliente solicita Pedido: relación que indica que un cliente puede realizar uno o muchos pedidos en su estancia en el hotel. Pedido contiene Producto: relación que indica que un pedido puede contener muchos productos y que un producto puede estar contenido dentro de muchos pedidos. En este caso en la relación se crea un detalle con un atributo de la cantidad de productos que se contendrán. Persona herencia (cliente y empleado) Es una especialización disjunta y total. Disjunta porque una instancia del supertipo puede ser miembro de, como máximo, uno de los subtipos. Y total porque toda instancia del supertipo también debe ser instancia de algún subtipo. Para este caso es disjunta ya que una persona solo puede ser miembro de un solo subtipo, solo puede ser empleado o cliente, no ambos a la vez. Y total porque cada persona debe ser obligatoriamente o un empleado o un cliente. teléfono_Pers (DNI-Persona, teléfono) Empleado (IdEmpleado, DNI-Persona, Sueldo, primerNom, segundoNom, apellidoPaterno, apellidoMaterno) Cliente (DNI-Persona, NroSocio, primerNom, segundoNom, apellidoPaterno, apellidoMaterno) Como se puede observar hemos hecho la transformación de una relación de especialización al modelo relacional, y para esta ocasión hemos usado la estrategia 2 que es aplicable a una especialización disjunta y total, que se basa en crear una relación por cada entidad especializada, donde le corresponde los atributos de la entidad especializada como los atributos de la entidad padre con su clave primaria de este mismo. Lo que se ve subrayado de color rojo son las relaciones de especialización, donde la primera relación Empleado, hereda los atributos de su padre como mantiene sus mismos atributos, y así mismo pasa con la segunda relación Cliente, además en las dos relaciones se puede observar el atributo compuesto nombres que contiene a los atributos nombre, apellidoPaterno, apellidoMaterno. Cabe resaltar que en la relación Empleado se tomó en cuenta una clave primaria compuesta: IdEmpleado, DNI – Persona y también en la relación Cliente se tiene una clave primaria compuesta que sería: DNI-Persona, NroSocio además se creó la entidad teléfono_Pers debido al atributo multivalorado teléfono que contiene la entidad padre persona. Empleado herencia (Anfitrion, PLimpieza y Recepcionista) Es una especialización disjunta y total. Disjunta porque una instancia del supertipo puede ser miembro de, como máximo, uno de los subtipos. Y total porque toda instancia del supertipo también debe ser instancia de algún subtipo. Para este caso es disjunta ya que un Empleado solo puede ser miembro de un solo subtipo, solo puede ser Anfitrión, PersonalLimpieza o Recepcionista, no varios a la vez. Y total porque cada empleado debe ser obligatoriamente ser Anfitrión o PersonalLimpieza o Recepcionista. Empleado (IdEmpleado, DNI-Persona, Sueldo, nombre, apellidoPaterno, apellidoMaterno) PersonalLimpieza (IdEmpleado, DNI-Persona, Sueldo, primerNom, segundoNom, apellidoPaterno, apellidoMaterno, turno) Recepcionista (IdEmpleado, DNI-Persona, Sueldo, primerNom, segundoNom, apellidoPaterno, apellidoMaterno, NroRecepcion, Turno) Anfitrión (IdEmpleado, DNI-Persona, Sueldo, primerNom, segundoNom, apellidoPaterno, apellidoMaterno, horasTrabajadas) Como se puede observar hemos hecho la transformación de una relación de especialización al modelo relacional, y para esta ocasión hemos usado la estrategia 2 que es aplicable a una especialización disjunta y total, que se basa en crear una relación por cada entidad especializada, donde le corresponde los atributos de la entidad especializada como los atributos de la entidad padre con su clave primaria de este mismo. Lo que se ve en negrita de color azul son las relaciones de especialización, donde la primera relación Recepcionista, hereda los atributos de su padre como mantiene sus mismos atributos, y así mismo pasa con las relaciones PesonalLimpieza y Anfitrión, además en las tres relaciones se puede observar el atributo compuesto nombres que contiene a los atributos nombre, apellidoPaterno, apellidoMaterno. Cliente Hacer Reserva (Transformación de Vínculos 1:1) Cliente (DNI-Persona, NroSocio, primerNombre, segundoNombre, apellidoPaterno, apellidoMaterno) Reserva (IdReserva, día, mes, año, HorasDeEstancia) Reserva (IdReserva, día, mes, año, DNI-Persona, NroSocio, HorasDeEstancia) Fecha Nombre Cliente (DNI-Persona, NroSocio, primerNombre, segundoNombre, apellidoPaterno, apellidoMaterno) Descripción: Para el vínculo 1,1 entre las entidades no débiles Reserva y Cliente, se añade a la relación de la entidad Reserva, a modo de clave foránea, la clave primaria de la entidad Cliente. Siendo que la clave foránea es única. Anfitrión registra Reserva (Transformación de Vínculos 1:M) Anfitrión (IdEmpleado, DNI-Persona, horasTrabajadas, primerNombre, segundoNombre, apellidoPaterno, apellidoMaterno) Reserva (IdReserva, día, mes, año, HorasDeEstancia, DNI-PersonaNroSocio) Fecha Reserva (IdReserva, día, mes, año, IdEmpleado, DNI-Persona, HorasDeEstancia, DNI-PersonaNroSocio) Nombres Anfitrión (IdEmpleado, DNI-Persona, horasTrabajadas, primerNom, segundoNom, apellidoPaterno, apellidoMaterno) Descripción: Para el vínculo 1,M entre las dos entidades Anfitrión y Reserva donde Reserva está del lado M del vínculo se le añade la clave primaria y atributos heredados de la entidad empleado. Cliente realiza Pago (Transformación de Vínculos 1:1) Pago (idPago, monto, DNI-Persona,NroSocio) Cliente (DNI-Persona, NroSocio, primerNom, segundoNom, apellidoPaterno, apellidoMaterno) Para el vínculo 1,1 entre las entidades no débiles Pago y Cliente, se añade a la relación de la entidad Pago, a modo de clave foránea, la clave primaria de la entidad Cliente. Siendo que la clave foránea es única. Boleta incluye Pago (Transformación de Vínculos 1:1) Boleta (nroBoleta, montoTotal, día, mes, año, horasDeEstancia, idPago) Fecha Pago (idPago, monto, DNI-PersonaNroSocio) Para el vínculo 1,1 entre las entidades no débiles Pago y Boleta, se añade a la relación de la entidad Boleta, a modo de clave foránea, la clave primaria de la entidad Pago. Siendo que la clave foránea es única. Recepcionista registra Boleta (Transformación de Vínculos 1:1) Boleta (NroBoleta, día, mes, año, montoTotal, horasDeEstancia, IdEmpleadoDNI-Persona, idPago) Fecha Recepcionista (IdEmpleado, DNI-Persona, Sueldo, primerNom, segundoNom, apellidoPaterno, apellidoMaterno, NroRecepcion, Turno) Para el vínculo 1,M entre las dos entidades Boleta y Recepcionista donde Boleta está del lado M del vínculo se le añade la clave primaria de la entidad Recepcionista. Habitación Pertenece TipodeHabitacion (Transformación de Vínculos 1:N) Habitación (Númerohabitación, EstadoDeHabitación, IdTipoHabitación) TipoDeHabitación(IdTipoHabitación, PrecioPorHora) Habitación (Númerohabitación, EstadoDeHabitación, IdTipoHabitación) TipoDeHabitación(IdTipoHabitación, PrecioPorHora) Descripción: Para el vínculo 1,M entre las dos entidades Habitación y TipoDeHabitación donde Habitación está del lado M del vínculo se le añade la clave primaria IdTipoHabitación de la entidad TipoDeHabitación. PersonalLimpieza Limpia Habitación (Transformación de Vínculos 1:1) PersonalLimpieza (IdEmpleado, DNI-Persona, Sueldo, primerNom, segundoNom apellidoPaterno, apellidoMaterno, turno, NúmeroHabitación) Habitación (Númerohabitación, EstadoDeHabitación, IdTipoHabitación) PersonalLimpieza (IdEmpleado, DNI-Persona, Sueldo, primerNom, segundoNom apellidoPaterno, apellidoMaterno, turno, NúmeroHabitación) Habitación (Númerohabitación, EstadoDeHabitación, IdTipoHabitación) Descripción: Para el vínculo 1,1 entre las entidades no débiles PersonalLimpieza y Habitación, se añade a la relación de la entidad PersonalLimpieza, a modo de clave foránea, la clave primaria de la entidad Habitación. Siendo que la clave foránea es única. Reserva Asignar Habitación (Transformación de Vínculos 1:1) Reserva (IdReserva, horasDeEstancia, día, mes, año, NúmeroHabitación ) Habitación (Númerohabitación, EstadoDeHabitación, IdTipoHabitación) Reserva (IdReserva, horasDeEstancia, día, mes, año, NúmeroHabitación ) Habitación (Númerohabitación, EstadoDeHabitación, IdTipoHabitación) Descripción: Para el vínculo 1,M entre las dos entidades Reserva y Habitación donde Reserva está del lado M del vínculo se le añade la clave primaria Númerohabitación de la entidad Habitación. Pedido contiene producto (Transformación de Vínculos M:M) Producto (idProducto, NombreProducto, TipoProducto, PrecioProducto, StockProducto) Pedido (NroPedido, día, mes, año, hora) Debido a que la relación es de (M,M), por lo tanto hace que también su relación contenga un atributo como se observa en el grafico anterior y a las misma vez como se verá a continuación, la relación contiene heredará las claves de las entidades Producto y Pedido. Cliente solicita pedido (Transformación de Vínculos 1:M) Cliente (DNI-Persona, NroSocio, primerNom, segundoNom, apellidoPaterno, apellidoMaterno) Pedido (NroPedido, día, mes, año, hora) (1,1) (1,M) → (1,M) Esta vez la relación viene a hacer (1,M), por lo tanto la entidad que este del lado de M, heredará como las claves de la otra entidad, como se puede a ver a continuación, Pedido heredará la clave de Cliente. Modelo relacional lineal: teléfono_Pers (DNI-Persona, teléfono) Empleado (IdEmpleado, DNI-Persona, Sueldo, primerNom, segundoNom, apellidoPaterno, apellidoMaterno) Cliente (DNI-Persona, NroSocio, primerNom, segundoNom, apellidoPaterno, apellidoMaterno) PersonalLimpieza (IdEmpleado, DNI-Persona, Sueldo, primerNom, segundoNom apellidoPaterno, apellidoMaterno, turno, NúmeroHabitación) Recepcionista (IdEmpleado, DNI-Persona, Sueldo, primerNom, segundoNom, apellidoPaterno, apellidoMaterno, NroRecepcion, Turno) Anfitrión (IdEmpleado, DNI-Persona, Sueldo, primerNom, segundoNom, apellidoPaterno, apellidoMaterno, horasTrabajadas) Reserva (IdReserva, día, mes, año, IdEmpleadoDNI-Persona, HorasDeEstancia, DNIPersonaNroSocio, NumeroHabitación) Pago (idPago, monto, DNI-PersonaNroSocio) Boleta (NroBoleta, día, mes, año, montoTotal, horasDeEstancia, IdEmpleadoDNIPersona, idPago) Habitación (Númerohabitación, EstadoDeHabitación, IdTipoHabitación) TipoDeHabitación(IdTipoHabitación, PrecioPorHora) Producto (idProducto, NombreProducto, TipoProducto, PrecioProducto, StockProducto) Contiene (idProducto, NroPedido, Cantidad) Pedido (NroPedido, día, mes, año, hora, DNI-PersonaNroSocio) Modelo lógico (Erwin):