Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Struttura Database Prodotti [help]

    Salve forum,

    devo organizzare un database per gestire dei prodotti
    (stavo valutando la possibilità di farlo in xml)

    non capisco come ottimizzare i riferimenti

    come potrei capire le tecniche di tabellizazione delle informazioni?

    mi servirebbe una guida pratica che illustri come costruire un database in funzione di condizioni tipo

    come relazionare le tabelle tra di loro, etc...

    suggerimenti?
    Arjuna

    finding solutions

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    61
    ciao
    non mi è chiaro bene il problema e nemmeno le tue basi di partenza; ad esempio cosa intendi per "non capisco come ottimizzare i riferimenti" ?
    Un database elementare potrebbe avere una tabella chiamata "Prodotti".
    Sempre ipoteticametnte, all'interno della tabella i campi potrebbero essere:

    id_prodotto
    nome_prodotto
    descrizione_prodotto

    rispettivamente da riempire con un un id univoco che identifichi i prodotti all'interno del database, con il nome del prodotto e con una sua descrizione.

    la guida pratica che cerchi:
    http://freephp.html.it/guide/lezioni.asp?idguida=8

  3. #3
    Esempio:

    Tabella Marche:

    - id
    - nome
    - categorie
    - immagini

    Tabella Categorie:

    - id
    - nome

    Tabella Immagini:

    - id
    - nome
    - categoria
    - marca

    I problemi nascono sulle categorie e sulle immagini.

    Innanzi tutto non capisco come relazionare una marca a più categorie, fosse uno ad uno sarebbe semplice, basterebbe inserire l'id della categoria di riferimento nel record categoria.

    Lo stesso dicasi per le categorie delle immagini.

    Un altro problema era la facilità di popolamento del database.

    I dati 'cartacei' sono organizzati in maniera semplice mentre dovendo frazionare immagini e categorie sarebbe scomodo dover prima popolare una tabella e poi un'altra (non ho bisogno di una IDE per la popolazione del database quindi a mano da un pò fastidio).

    Poi ci sono i dubbi amletici:
    - se nella tabella immagini inserisco il record marche, nella tabella marche non dovrò inserire il record immagini, o viceversa. Ma allora in quale delle due tabelle mi conviene mettere questo record?

    questi sono i miei dubbi!
    Arjuna

    finding solutions

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    Innanzi tutto non capisco come relazionare una marca a più categorie, fosse uno ad uno sarebbe semplice, basterebbe inserire l'id della categoria di riferimento nel record categoria.
    Le relazioni molti-a-molti si fanno con una tabella di supporto:

    CATEGORIE_MARCHE
    id
    id_categoria
    id_marca

    FK id_categoria -> categoria.id
    FK id_marca marca.id
    UNIQUE (id_categoria, id_marca)
    There are 10 types of people in the world - those who understand binary and those who don't.

  5. #5
    Quelòlo che stai tentando di fare si chiama "normalizzazione". Se cerchi su google troverai molti molti documenti a riguardo.

    Per ciò che riguarda il tuo problema unqa delle prime regole della normalizzazione è l'analisi.

    L'analisi si fa in questo modo (o almeno questo è il modo che uso io): si tratta "semplicemente" di decidere che caratteristiche deve avere lo script.

    Nel tuo caso

    - Gestione marche
    - Gestione categorie
    - Gestione prodotti
    - Numero arbitrario di immagini per ogni prodotto
    - Numero arbitrario di categorie di appartenenza di un prodotto

    A questo punto è necessario un chiarimento da parte tua. Parli di relazionare le marche alle categorie ma io credo sia più corretto relazionarle alle marche. Cmq spiegami un po' meglio che intendi.

    Da quello che ho capito, cmq basta fare il ragionamento inverso: non memorizzi la categoria nella tabella delle marche ma la marca nella tabella delle categorie.

    io rimango dell'opinione, comunque, che categorie, immagini e marche siano attributi del prodotto proprio come un nome, un codice prodotto o un prezzo.

    Una volta fatta l'analisi si passa alla definizione delle tabelle necessarie e dei relativi campi.
    Codice PHP:
    // MARCHE
    id int autoincrement primarykey
    name 
    varchar(255)

    // CATEGORIE
    id int autoincrement primarykey
    name 
    varchar(255)
    // Altri campi per la gestione dell'albero
    // (dipendono dal metodo che intendi usare)

    // PRODOTTI
    id int autoincrement primarykey
    name 
    varchar(255)
    code varchar(255)
    marca int // Qui viene inserito l'id della
                // marca preso dalla tabella "marche"

    // Come vedi non ho inserito i campi che fanno riferimento
    // alle immagini o alle categorie: per questi creeremo delle
    // tabelle apposite

    // MAP_CATEGORIES
    id int autoincrement primarykey
    product 
    int // Id di rifermento del prodotto
    category int // Id di riferimento della categoria

    // MAP_IMAGES
    id int autoincrement primarykey
    product 
    int // id di riferimento del prodotto
    image_name varchar(255
    Ecco, questa potrebbe essere una base di partenza. Ovviamente andrà personalizzata in base alle tue esigenze specifiche.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.