elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Asesor en Base de Datos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Asesor en Base de Datos  (Leído 23,695 veces)
dark_headhunter

Desconectado Desconectado

Mensajes: 208


solo tu eres dueño de tu destino


Ver Perfil WWW
Asesor en Base de Datos
« en: 13 Enero 2011, 18:11 »

Buenos días, quiero hacer una propuesta:

Soy estudiante de informática en erasmus (español en otro pais), y en la asignatura Base de datos estoy teniendo problemas en un trabajo que es definitivo. Basicamente el entidad relación está hecho (aun hay algunos problemas con atributos), y la cosa sería pasarlo a A Microsoft SQL Server 2008 y hacer pocas consultas. El problema es que debido al idioma no nos estamos enterando de muchas cosas, y necesitamos a alguien más o menos conocimientos sólidos que pueda ayudarnos y asesorarnos. Por supuesto, nosotros por nuestra parte aportaríamos una gratificación económica dentro de nuestras posibilidades que hablaríamos en privado. El trabajo no es gran cosa, el único problema es saber hacerlo.

Espero vuestras respuestas, un saludo.


En línea

La informacion es nuestra arma, el anonimato nuestra armadura
Devilboy.Devil

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: Asesor en Base de Datos
« Respuesta #1 en: 13 Enero 2011, 19:30 »

que tipo de dudas tienes


En línea

dark_headhunter

Desconectado Desconectado

Mensajes: 208


solo tu eres dueño de tu destino


Ver Perfil WWW
Re: Asesor en Base de Datos
« Respuesta #2 en: 14 Enero 2011, 01:47 »

Bien, quizás sea un poco pesado, y se me condene al ostracismo en este foro, pero vosotros lo habéis querido  ;)

Dado este enunciado:
Citar
Haga una base de datos para el uso de una cadena de hoteles. Esta base de datos debe tomar norta de las reservas efectuadas, de tal modo que permita gestionar corrientemente el hotel.

La base de datos debe registrar todos los hoteles de la cadena, y para cada uno especificar: el número de estrellas, la morada y la ciudad; restaurantes/bares que el hotel pueda tener, incluyendo su categoria y el tipo de comidas que proporciona en cada uno (snack, desayuno, comida, cena). Aparte de eso, debe especificar los servicios disponibles para los huéspedes, como alquiler de salas de reuniones, de coches, y otros.

Para cada habitación en cada hotel, es necesario especificar su número, el tipo (Individual, doble, matrimonio, etc) y las opciones disponibles en la habitación: TV, casa de baño, internet, mini-bar, casa de baño privada, lavanderia, etc. El sistema debe permitir especificar diversas opciones para cada habitación, pero sin limitarlas previamente.

Cada huésped que pase por el hotel tiene que quedar registrado, siendo necesario guardar el nombre completo, el DNI, el teléfono y la ciudad donde habita. Para cada reserva, es necesario guardar la(s) habitaciones(s) para la(s) cual(es) la reserva está hecha, los huéspedes para cada habitación, y para cada huésped las fechas de entrada y salida y el régimen alojamiento (Alojamiento, Alojamiento y desayuno, Media-Pensión, Pensión Completa).

Se pide hacer la base de datos, de momento, hablando con el profesor y tal, hemos llegado a que El E/R viene a ser algo así:



Faltan atributos correspondiente, pues bien, no sabría como pasarlo a tabla, sobre todo para el modelo relacional con el que empezar a rellenar mi estructura.
En línea

La informacion es nuestra arma, el anonimato nuestra armadura
Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: Asesor en Base de Datos
« Respuesta #3 en: 14 Enero 2011, 21:28 »

Citar
Tabla HOTEL
idhotel (INT: unique, auto_increment, primary_key)
nombre (VARCHAR(150))
estrellas (INT)
morada (VARCHAR(150) Aunque no estoy seguro a que se refiere con morada
ciudad (VARCHAR(150))

Citar
Tabla RESTAURANTE
idrestaurante (INT: unique, auto_increment, primary_key)
idhotel (INT: foreign_key)
nombre (VARCHAR(150))
categoria (VARCHAR(150)) No sé si la categoría son por ejemplo "3 tenedores" u otra cosa, como no se especifica lo pongo varchar, si es en número de tenedores sería más conveniente usar un INT.

Citar
Relación HOTEL-SERVICIO
idhotel (INT: primary_key)
idservicio (INT: primary_key)

Citar
Tabla SERVICIO
idservicio (INT: unique, auto_increment, primary_key)
nombre (VARCHAR(255))

Citar
Relación RESTAURANTE-COMIDA
idrestaurante (INT: primary_key)
idcomida (INT: primary_key)

Citar
Tabla COMIDA
idcomida (INT: unique, auto_increment, primary_key)
tipo (ENUM('snack','desayuno','comida','cena'))

-----------

Citar
Relación HOTEL-HABITACION
idhotel (INT: primary_key)
idhabitacion (INT: primary_key)

Citar
Tabla HABITACION
idhabitacion (INT: unique, auto_increment, primary_key)
tipo (VARCHAR(100))

Citar
Relación HABITACION-SERVICIO
idhabitacion (INT: primary_key)
idserviciohabitacion (INT: primary_key)

Citar
Tabla SERVICIO_HABITACION
idserviciohabitacion (INT: unique, auto_increment, primary_key)
nombre (VARCHAR(255))

-------------

Citar
Relación HOTEL-HUESPED
idhotel (INT: primary_key)
idhuesped (INT: primary_key)

Citar
Tabla HUESPED
idhuesped (INT: unique, auto_increment, primary_key)
nombre (VARCHAR(200))
DNI (VARCHAR(10): unique)
telefono (VARCHAR(13)) 13 Caracteres para poder almacenar prefijos de distintos países. Se podría poner UNIQUE pero es posible que dos personas que vivan en la misma casa (por lo tanto con el mismo número fijo) hagan reservas individuales por lo que yo no usaría el atributo UNIQUE en el teléfono.
ciudad (VARCHAR(150))

Citar
Tabla RESERVA
idreserva (INT: unique, auto_increment, primary_key)
idhotel (INT: foreign_key)

Citar
Relación RESERVA-HABITACION
idreserva (INT: primary_key)
idhabitacion (INT: primary_key)

Citar
Relación RESERVA-HUESPED
idreserva (INT: primary_key)
idhabitacion (INT: primary_key)
idhuesped (INT: primary_key)
fecha_entrada (DATE)
fecha_salida (DATE)
regimen (ENUM('alojamiento','alojamiento_desayuno','media_pension','pension_completa'))

Es posible que me haya equivocado en algunas cosas, porque lo he hecho sobre la marcha aquí en el foro, ni lo he dibujado, ni lo he probado, pero creo que en general se adapta a los requerimientos del ejercicio, puede que falte algún detalle pero no creo que falte nada importante.

La entidad relación que yo haría sería así:

Está hecho con DBDesigner, te lo aconsejo, porque creas la entidad relación, añades los atributos correspondientes y luego exportas a SQL. Ese archivo SQL lo importas en tu gestor de bases de datos y ya tienes la tabla creada y diseñada.


En el modelo que he hecho en DBDesigner NO he puesto los atributos de cada tabla (sólo los claves principales y foráneas) para hacerla más sencilla de entender, pero obviamente cada tabla tendrá que tener los atributos que ya he especificado arriba en este post.


ERRORES que he visto en tu modelo entidad-relación

- Relacionas los servicios disponibles del hotel con la tabla huésped, ¿por qué?, no necesitas esa relación.
« Última modificación: 14 Enero 2011, 22:38 por Spider-Net » En línea

slis

Desconectado Desconectado

Mensajes: 1



Ver Perfil
Re: Asesor en Base de Datos
« Respuesta #4 en: 21 Julio 2011, 03:57 »

Hola  muy buena ;-) ...tengo un similar problema con la base de datos para la administracion de un hotel, en la cual tenemos  una tabla Clientes, Pago, reservacion, habitacion y Servicio.. lo cual al realizar la relacion, hay conflicto al guardar las reservaciones.. Desde aHora se les Agradece, GRACIAS>>
**************************************************************
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines