aiuto per schema ER

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
Avatar utente
thaiboxer89
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 322
Iscrizione: giovedì 15 settembre 2011, 14:13

aiuto per schema ER

Messaggio da thaiboxer89 »

Ho bisogno di una mano per la crezione di questo schema ER..ci sto provando ma molte cose ho paura che nel disegno non le sto facendo bene,vi riporto qui la traccia :

Si deve progettare una base di dati relativa a un sito di prenotazioni di servizi turistici. In
particolare si possono inserire, cercare, prenotare e recensire strutture ricettive (alberghi,
residence, B&B). Per poter usufruire dei servizi gli utenti devono registrarsi fornendo nome,
cognome, indirizzo, data di nascita, email.
Per prenotare una struttura i clienti devono selezionare un tipo di sistemazione (camera doppia
tripla o singola per gli alberghi, vari tipi di appartamenti per i residence) e un intervallo di date.
Quando un cliente, dopo aver visionato qualche struttura, decide di prenotare viene emesso un
numero di prenotazione attraverso cui l’utente può fare modifiche alle sue scelte. E’ lasciata ad
ente esterno la gestione del pagamento tramite carta credito o altro.
Gli utenti vengono classificati come recensori gold (piu’ di 50 recensioni), silver (più di 25 e meno
di 50 recensioni) e bronze (meno di 25 recensioni).
I clienti possono rilasciare un commento su una struttura e pubblicare foto su essa solo se ne
hanno realmente usufruito e possono pubblicare al massimo una recensione al mese per una
stessa struttura anche se hanno soggiornato in essa più volte in un mese.
Gli utenti possono cambiare i dati delle strutture inserite di cui sono proprietari e rispondere sia
privatamente che pubblicamente alle recensioni pubblicate da chi ha usufruito del servizio. Si
tiene traccia nella base di dati sia delle risposte pubbliche (che vengono pubblicate sotto la
recensione) sia di quelle private.
Quando un cliente si cancella dal servizio le sue recensioni e le risposte ricevute relativamente
ad esse rimangono memorizzate mentre i suoi dati personali vengono cancellati.
Le informazioni relative alla struttura e il formato delle recensioni sono reperibili nel documento
Formato Struttura.pdf. Le opinioni su una struttura vengono cancellate dopo un anno dalla prima
pubblicazione tranne che per quelle che hanno meno di 10 recensioni.
Infine si vogliono memorizzare le ricerche degli utenti: vengono riproposte all’utente le strutture
viste negli ultimi 30 giorni nella stessa localita’ della ricerca corrente.
melfnt
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1312
Iscrizione: sabato 15 ottobre 2011, 22:25

Re: aiuto per schema ER

Messaggio da melfnt »

Scrivi intanto quello che hai fatto, quello che pensi di non star facendo correttamente e perché, e quello che non capisci.
Avatar utente
SuperStep
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2037
Iscrizione: lunedì 19 dicembre 2011, 16:26
Desktop: Unity
Distribuzione: Ubuntu 16.04 LTS x86_64
Sesso: Maschile
Località: Somma Vesuviana (NA)

Re: aiuto per schema ER

Messaggio da SuperStep »

cosa dobbiamo fare? come ti aiutiamo se non posti la tua soluzione?
vuoi che ti aiutiamo, o che te lo facciamo?

in questo luogo e' vietato svolgere i compiti a casa di altri, posta la tua soluzione e noi gli diamo un'occhiata, aggiungendo pareri e correzioni.
ubuntu 16.04 LTS 64-bit - Memoria: 31,3 Gib - Processore: Intel Core i7-5960X CPU @ 3.00 GHz × 16 - Grafica: AMD Radeon HD 7800 Series - Disco: SSD 256 GB x 4 (RAID 01)
Avatar utente
thaiboxer89
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 322
Iscrizione: giovedì 15 settembre 2011, 14:13

Re: aiuto per schema ER

Messaggio da thaiboxer89 »

SuperStep [url=http://forum.ubuntu-it.org/viewtopic.php?p=4607483#p4607483][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
cosa dobbiamo fare? come ti aiutiamo se non posti la tua soluzione?
vuoi che ti aiutiamo, o che te lo facciamo?

in questo luogo e' vietato svolgere i compiti a casa di altri, posta la tua soluzione e noi gli diamo un'occhiata, aggiungendo pareri e correzioni.
chiedo scusa,avete ragione,lo avevo fatto su carta e stavo finendo di disegnarlo al pc ...se serve vi mando anche il file orginale per modificarlo,in questo schema ho già eliminato le possibili generalizazione,dato che poi lo schema lo voglio tradure in schema logico ..ecco qui a voi http://imageshack.com/a/img840/7791/ri6t.jpg
melfnt
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1312
Iscrizione: sabato 15 ottobre 2011, 22:25

Re: aiuto per schema ER

Messaggio da melfnt »

Ok, ho provato a fare l'esercizio anch'io (premetto che sono un po' arrugginito), così posso confrontare il mio risultato con il tuo.
Butto giù un elenco veloce, con relative spiegazioni, non prenderlo per oro colato:

[1] non ho usato l'ereditarietà fra tabelle per fare la differenza fra B&B, residence, Hotel:
Non mi sembra che dal testo questa divisione sia particolarmente rilevante, l'unica differenza è il "tipo", che puoi salvare dentro un campo di `struttura ricettiva`, e nel quale salverai "albergo", "residence", "B&B" o un altro valore possibile.
Così come non ho fatto neanche la divisione fra le varie `sistemazioni`, nei quali ho inserito solo il numero dei posti, l'id della struttura alla quale appartengono e le note.

[2] nella `prenotazione` ho messo l'id della `sistemazione` invece che quello della struttura.
in questo modo è più facile stabilire se una sistemazione è libera o meno.
Gli altri dati di `prenotazione` sono id, saldo e data inizio, data fine (vedi sotto)

[3] Ho messo le date
In alcuni punti del testo, è richiesto di memorizzare le date:
-per verificare la disponibilità di una sistemazione è utile tenere la data nella prenotazione (semplificata in data inizio e data fine)
-per vedere se una ricerca è più o meno recente di 30 giorni, è utile salvare la data nella ricerca
-per cancellare le recensioni più vecchie di un anno, bisogna salvarne la data, come giustamente hai fatto anche tu

[4] Non ho fatto alcuna distinzione fra `proprietario` e `cliente`.
Nelle prime righe del codice infatti c'è scritto: "In particolare si possono inserire, cercare, prenotare e recensire strutture ricettive" il che lascia intendere che ogni utente può fare tutte queste cose, senza distinzioni fra chi si registra per prenotare e chi per inserire.
Il fatto che un `cliente` possa o meno recensire puoi ricavarlo dalle prenotazioni.

[5] Gestione delle `foto`
Una cosa puramente tecnica per quando questo schema diventerà un database: come `foto` ti conviene salvare il percorso del file che contiene l'immagine.

[6] `Ricerche` e `località`
Io le ho intese in una maniera un po' diversa: l'utente inserisce una località oppure alcune parole chiave, e vengono visualizzate le strutture che corrispondono ai criteri di ricerca.
A questo punto l'utente clicca le strutture che gli interessano per visualizzarne descrizioni, recensioni e foto.
Per questo secondo me due modifiche sono necessarie al tuo schema:
-inserire la località nella struttura, o meglio: fare una tabella `località` e metterne l'id nella struttura, onde evitare errori nell'inserimento.
-memorizzare le strutture visualizzate (con relativa data, come ti spiegavo al punto [3]), per poterle riproporre all'utente. Le parole chiavi e località non servono, a mio avviso.

Queste sono solo mie considerazioni, se qualcosa non ti torna o se hai altre perplessità non esitare a chiedere, e scusa per il post chilometrico.
Avatar utente
thaiboxer89
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 322
Iscrizione: giovedì 15 settembre 2011, 14:13

Re: aiuto per schema ER

Messaggio da thaiboxer89 »

grazie mille delle prime note :) ....la data di inizio e fine mi ero scordato di riportarla nella relazione "prenota struttura", ma se io non ho uso l'ereditarietà fra B&B,hotel e residence, come faccio a distinguere la scelta di una stanza(doppia,tripla,singola) e appartamento?
melfnt
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1312
Iscrizione: sabato 15 ottobre 2011, 22:25

Re: aiuto per schema ER

Messaggio da melfnt »

Io ho messo queste informazioni nella singola `sistemazione`.
e nella prenotazione ho messo l'id della sistemazione.
Avatar utente
thaiboxer89
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 322
Iscrizione: giovedì 15 settembre 2011, 14:13

Re: aiuto per schema ER

Messaggio da thaiboxer89 »

melfnt [url=http://forum.ubuntu-it.org/viewtopic.php?p=4609613#p4609613][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Io ho messo queste informazioni nella singola `sistemazione`.
e nella prenotazione ho messo l'id della sistemazione.
per quanto riguarda le foto,ho creato lo schema così,perchè questo è il formato della struttura..http://i.imgur.com/MRiUHkK.png
melfnt
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1312
Iscrizione: sabato 15 ottobre 2011, 22:25

Re: aiuto per schema ER

Messaggio da melfnt »

Ok.
Allora non è un esercizio, ma un problema reale?
Avatar utente
thaiboxer89
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 322
Iscrizione: giovedì 15 settembre 2011, 14:13

Re: aiuto per schema ER

Messaggio da thaiboxer89 »

è realmente un 'esercizio :) ..solo che devo svilluparne lo schema er.una volta sviluppato il modello logico e poi trasformarlo in sql per creare il database
melfnt
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1312
Iscrizione: sabato 15 ottobre 2011, 22:25

Re: aiuto per schema ER

Messaggio da melfnt »

Me li avessero fatti fare così anche a me...
e invece no, solo carta, carta, carta e non sapevi mai se andava bene o no.
Avatar utente
thaiboxer89
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 322
Iscrizione: giovedì 15 settembre 2011, 14:13

Re: aiuto per schema ER

Messaggio da thaiboxer89 »

melfnt [url=http://forum.ubuntu-it.org/viewtopic.php?p=4610910#p4610910][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Me li avessero fatti fare così anche a me...
e invece no, solo carta, carta, carta e non sapevi mai se andava bene o no.
Fidati farli al pc è più lunga ed è anche da sclerarci con i programmi quando muovi male i legami delle relazioni :) ...comunque ho seguito un pò dei tuoi consigli e lo rifatto....la parte delle struttre ricettive ho messo una generalizazione che strutturerò successivamente,e devo ancora inserire le cardinalità..te lo metto in forma cartacea così ci intendaimo un pò di più ;) ..ahahahah http://i.imgur.com/SKPhdrb.jpg?1 dimmi cosa nè pensi....comunque da quello che ho visto dagli appunti per la generalizazione della struttura ricettiva mi conviene proprio separare le strutture: creare 2 entità entità "hotel/B&B" e "residence",le relative sistemzioni e delle relazioni a se distaccate ...grazie per l'aiuto e la disponibilità che mi hai dato fino adesso :)
melfnt
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1312
Iscrizione: sabato 15 ottobre 2011, 22:25

Re: aiuto per schema ER

Messaggio da melfnt »

Intendevo fare al pc il progetto finale, non lo schema ER!

Comunque le mie "dritte" sono solo consigli, e derivano dalla mia personalissima interpretazione del testo.
La cosa migliore in questi casi, se i professori te lo permettono, è fare delle restrizioni in fase di analisi.

Io, per esempio, nel mio testo di analisi (potevo e) avrei scritto questo: "Non sembrando dal testo molto significative le differenze fra i vari tipi di strutture, non sarà usata l'ereditarietà per implementarla, ma la distinzione avverrà tramite un attributo salvato nella struttura, che avrà uno dei seguenti valori: "Hotel", "B&B".... "
Avatar utente
thaiboxer89
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 322
Iscrizione: giovedì 15 settembre 2011, 14:13

Re: aiuto per schema ER

Messaggio da thaiboxer89 »

melfnt [url=http://forum.ubuntu-it.org/viewtopic.php?p=4611947#p4611947][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Intendevo fare al pc il progetto finale, non lo schema ER!

Comunque le mie "dritte" sono solo consigli, e derivano dalla mia personalissima interpretazione del testo.
La cosa migliore in questi casi, se i professori te lo permettono, è fare delle restrizioni in fase di analisi.

Io, per esempio, nel mio testo di analisi (potevo e) avrei scritto questo: "Non sembrando dal testo molto significative le differenze fra i vari tipi di strutture, non sarà usata l'ereditarietà per implementarla, ma la distinzione avverrà tramite un attributo salvato nella struttura, che avrà uno dei seguenti valori: "Hotel", "B&B".... "
ahahahahah..scusa se ho capito male :) ...comunque ti dicevo il problema di non usare l'erditarietà è questo secondo me: se non distingui gli hotel/b&b dai residence,come faccio a fare selezionare la sistemazione? perchè se leggi dal testo se l'utente ad esempio sceglie un'appartamento ,sarà obbligato a prenotare un residence,e così ovviamente non potrà scegliere un hotel o b&b...apparte questa piccola cosa dell'ereditarietà,dal disegno come ti sembra il modello? può già inizare andare bene?
melfnt
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1312
Iscrizione: sabato 15 ottobre 2011, 22:25

Re: aiuto per schema ER

Messaggio da melfnt »

Per quanto riguarda l'ereditarietà: l'utente prenota la sistemazione, nelle note della di sistemazione c'è scritto cosa è (camera, appartamento...)

Ad esempio, la struttura ricettiva 1 (hotel) ha le seguenti sistemazioni:
A camera doppia
B camera doppia
C camera tripla
Che hanno come chiave esterna di "struttura di appartenenza" 1

L'utente, se sceglie una sistemazione tra A,B oppure C, prenota necessariamente la struttura 1, io nella prenotazione ho messo l'id della sistemazione (A,B,C) e da quello posso risalire a quale struttura ha prenotato.


Il disegno mi sembra ok.
;)
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 12 ospiti