|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Catanzaro
Messaggi: 976
|
[MySql & Schema E/R] Create domain ed esposizione tra un'entità e relazione
Salve,
Ho un progetto che rappresenta un negozio online di vendita di film (qualsiasi supporto, dvd, bd, hddvd, umd) ogni film a le solite cose, registi, attori, codifiche audio/video, ecc. http://img32.imageshack.us/img32/9657/82357167.jpg Il problema ce l'ho tra cliente-ordini-film (cioè il prodotto). In pratica, il prospetto finale vorrei fosse così: Il cliente visualizza gli ordini: ordine. 123 ordine. 983 ordine. n clicca su un ordine qualsiasi e vorrei uscisse questo: cod.Film titolo q.tà prezzo 1 star wars 2 12€ 2 xxx 5 12€ 3 indiana jones 1 12€ Come l'ho fatto io non mi esce questa cosa. Dovrei partiziona qualcosa? Fare della relazione "composto" un'entità? Per MySql: è da sempre che mi porta errore ogni volta che creo un dominio: create domain long_string as varchar(20); ogni create domain mi porta errore, errore si sintassi nel tuo MySql. Ultima modifica di Nexus 6 : 23-09-2009 alle 22:12. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Jun 2007
Città: Milano
Messaggi: 413
|
Quote:
Per la domanda che hai posto, sinceramente nello schema er non vedo dove salvi il prezzo del film... Vedo male? |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Catanzaro
Messaggi: 976
|
A ecco, MySql non implementa "create domain" non lo sapevo.
Per il prezzo hai ragione non c'è nello schema, non l'ho messo perchè gli attributi di "Film" sono troppi e non ci entrava. Allora questi sono i dati finali (dopo aver ristrutturato lo schema e/r e definizione dei vincoli intrarelazionali) Schema finale del database Cliente (ID, CF, Nome, Cognome, Data di nascita, sesso, nazione, città, indirizzo, numero civico, CAP, provincia, e-mail, telefono, cellulare, fax) Film (CodProdotto, titolo, regista, genere, durata, anno di produzione, Paese, release, casa di produzione, tipo di supporto, regione, quantità, prezzo) Video (Codifica video, formato video, Mbps, idFilm) Audio (lingua, codifica audio, canali, Mbps, idFilm) Sottotitoli (lingua, idFilm) Registi (Nome, Cognome, nazionalità) mi sa che anche qui devo mettere "idFilm"? Attori (Nome, Cognome, nazionalità, idFilm) CasaProduttrice (idCP, nome) Supporto (idSupporto, nome) Genere (idGenere, nome) Ordine (codOrdine, data Creazione, data Spedizione, stato, importo, idCliente) Fattura (codFattura, data Emissione, importo, idCliente) Forse dovrei usare la relazione "composto" per metterci dentro una cosa simile: codOrdine codprodotto titolo prezzo 1 2587 starwars 20€ 1 252 x 20€ 1 258 x2 20€ 3 2587 starwars 20€ 3 2587 starwars 20€ 3 2587 starwars 20€ Nel senso che questa tabella contiene i film presenti nell'ordine. con la query poi dovrei dire: riportami tutti i prodotti presenti nell'ordine N°, si scansiona la tabella e riporta i prodotti contenuti nell'ordine n., quindi "quantità" non lo posso mettere, se fosse giusto e se dovessi fare così "composto" dovrei farlo diventare entità? Se si, che relazioni gli metto tra ordine -> ??? ->composto ->??? -> Film Ultima modifica di Nexus 6 : 24-09-2009 alle 12:56. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2007
Città: Milano
Messaggi: 413
|
Beh essendo l'associazione "Composto" una associazione con cardinalità molti a molti nel passaggio allo schema logico devi per forza tramutarla in una "tabella". Potresti aggiungere come attributo dell'associazione la quantità o un eventuale sconto.. che ne dici?
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Catanzaro
Messaggi: 976
|
Lo sconto è bello
codOrdine codFilm titolo quantità sconto prezzo 98798 1453 coraline 1 0 27€ 98798 2547 Matrix 1 0 19€ 98798 9852 Starwars 2 10 9€ 11255 2547 Matrix 1 0 19€ 11255 3698 Evangelion 1 0 155€ 11255 7685 Ran 1 0 9€ si, figo, dovrebbe uscire bene, ah! dici di mettere disponibilità, metto un booleano o un char(2) si o no.Composto(codOrdine, codFilm(chiave esterne) titolo, quantità, sconto, prezzo) così diventa, giusto? Dici di cambiare il nome "composto" con un'altra cosa? Quindi faccio di composto un'entità. Quale relazioni metto tra ordine -> ??? ->composto ->??? -> Film a Regista devo mettere la chiave esterna idFilm come ho fatto per audio/video? |
|
|
|
|
|
#6 | |||
|
Senior Member
Iscritto dal: Jun 2007
Città: Milano
Messaggi: 413
|
Quote:
Quote:
Quote:
|
|||
|
|
|
|
|
#7 | |||
|
Senior Member
Iscritto dal: Sep 2006
Città: Catanzaro
Messaggi: 976
|
Quote:
Quote:
Quote:
|
|||
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: May 2005
Città: Trieste
Messaggi: 2285
|
Quote:
quindi la relazione NN tra ordine e film genererà 3 tabelle: ordine tabella_di_link (nel tuo caso "composto") e film
__________________
neo mini v2 / asus strix z490i / 10600k@? / uh12s / rx6700xt / 32gb ddr4@3200 / sandisk 250 + asenno 1tb / lenovo g34w
trattative concluse : tante... |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Catanzaro
Messaggi: 976
|
Quindi "Composto" rimane un rombo (relazione), non lo devo trasformare in rettangolo (entità).
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Jun 2007
Città: Milano
Messaggi: 413
|
Quote:
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Catanzaro
Messaggi: 976
|
ok grazie
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:36.












dici di mettere disponibilità, metto un booleano o un char(2) si o no.








