|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Feb 2012
Messaggi: 8
|
Progettazione Logica [MYSQL]
Ciao a tutti. Son nuovo di questo forum (e spero di rimanerci a lungo).:P
Ho una domanda davvero stupida da porvi. In una progettazione di un database , quando si ha una relazione ad esempio 1:1 , e abbiamo una relazione con attributi , quando si passa allo schema logico viene creata anche la tabella della relazione con i relativi attributi??(senza chiave primaria?). Ringrazio in anticipo |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Sep 2010
Messaggi: 8
|
se non ho capito male, devi passare da uno schema concettuale a uno relazionale
in questo caso si.. per ogni associazione su un diagramma (ER o EER) costruisci una relazione (tabella) che contiene tutti gli attributi dell'associazione di partenza |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Feb 2012
Messaggi: 8
|
Anche se non ci sono attributi chiave(o chiavi primarie) ?
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Sep 2010
Messaggi: 8
|
si.. se non hai chiave nel diagramma avrai un'entità debole, che si traduce sempre come una tabella, specificando però le chiavi esterne (ci saranno spero
|
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Feb 2012
Messaggi: 8
|
Per chiave parziale intendi la chiave dell'entità a cui l'entità debole è collegata?
Mi stai dicendo che , se una relazione non ha chiavi primarie ma comunque un attributo o piu' , essa sarà perforza collegata ad un entità debole? |
|
|
|
|
|
#6 |
|
Junior Member
Iscritto dal: Feb 2012
Messaggi: 8
|
Ad esempio :
Ho fatto bene il passaggio da schema E/R a Schema Logico di queste 2 progettazioni concettuali? Ti ringrazio per la pazienza. Foto riuppate sotto * Ultima modifica di Terminator3018 : 07-03-2012 alle 14:46. |
|
|
|
|
|
#7 |
|
Junior Member
Iscritto dal: Feb 2012
Messaggi: 8
|
Riuppo perchè tinypic mi aveva cancellato le foto -.- :
Schema 1 : ![]() Schema 2 : ![]() Perfavore potreste aiutarmi? |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
|
così come li hai scritti sono entrambi sbagliati, in quanto la tabella che ricavi dalla relazione non ha chiavi valide. Infatti tipicamente le relazioni 1 a N si risolvono accorpando gli attributi della relazione all'entità che concorre con 1 istanza. Ovvero:
Codice:
CARROZZA(numero, id_treno, merce_trasportata) TRENO(id, nome_guidatore) Questo porterà probabilmente a valori NULL in caso di accorpamento. E' anche da notare che potresti voler tener traccia dei dati dei noleggi passati; dallo schema non si capisce, anche se quel (1,1) al cliente mi suggerisce di no. Io comunque metterei la partecipazione di cliente come (0,N) così da poter permettere che un cliente può noleggiare più bici contemporaneamente o non noleggiarne nessuna (magari l'hai solo inserito nella base di dati, o, nel caso in cui non memorizzi i noleggi passati, semplicemente non ha nessun noleggio attivo). Sono quasi certo che la cardinalità di quella relazione non è concettualmente corretta. Se ti interessa tenere in ogni istante le informazioni relative solo all'attuale stato di noleggio delle bici, allora puoi accorpare Data e Ora di noleggio nell'entità BICI con buona pace dei valori NULL. Altrimenti, per una soluzione più completa, puoi creare una terza entità NOLEGGIO che poi puoi gestire come ti pare. Se vuoi conservare solo lo stato istantaneo dei noleggi, puoi usare come chiave l'id della bici: Codice:
BICI (numero, tipo) CLIENTE (id) NOLEGGIO (id_bici, id_cliente, data, ora) Se vuoi memorizzare anche i noleggi passati (questo prevede partecipazione 0,N di cliente), semplicemente estendi la definizione di chiave anche all'ora e alla data (in quanto consideri impossibile noleggiare la stessa bici lo stesso giorno alla stessa ora a due clienti diversi: Codice:
BICI (numero, tipo) CLIENTE (id) NOLEGGIO (id_bici, id_cliente, data, ora)
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight Ultima modifica di demos88 : 07-03-2012 alle 18:48. |
|
|
|
|
|
#9 |
|
Junior Member
Iscritto dal: Feb 2012
Messaggi: 8
|
Non sò come ringraziarti
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:43.





















