Progetto step by step CodeIgniter – il database
Vi avevo annunciato un paio di post fa il piccolo progetto in CodeIgniter che volevo realizzare. Si tratta di una piccola webapplication per tenere organizzata la propria collezione di cd, dvd e vhs.
Nel capitolo introduttivo ho descritto genericamente il funzionamento e le entità in gioco, ora vediamo più concretamente come sarà strutturata definendo le tabelle del nostro database.
Partiamo definendo le entità e di conseguenza il database che ci serve.
Ho individuato principalmente tre elementi in gioco: Item (gli elementi che catalogheremo), Type (il tipo di elementi – ad es. cd, vhs, dvd…), Status (i possibili stati – ad es. in archivio, prestato, perduto, danneggiato, etc)
Items
Ho chiamato “Item” l’oggetto del nostro archivio, sia esso un cd, una cassetta o qualsiasi altro tipo di elemento che vogliamo catalogare.
La tabella nel nostro DB, che chiameremo appunto “items” conterrà queste colonne:
- id (INT 7)
- name (VARCHAR 255)
- code (VARCHAR 255)
- description (TEXT)
- position (TEXT)
- type_id (INT 7)
- status_id (INT 7)
- about_the_status (TEXT)
In particolare code rappresenta un eventuale codice identificativo, description una descrizione indicativa del contenuto (ad es. i titoli degli album all’interno di una compilation mp3), position il luogo dove l’abbiamo riposto (ad es. “porta cd N°1 pagina 23 scomparto 11″), type_id la chiave esterna del tipo, status_id la chiave esterna dello stato corrente e about_the_status un commento sullo stato corrente (ad es. “prestato a Mario a Natale”).
Types
Nella tabella “types” andremo ad inserire le tipologie di oggetti che andremo a gestire, eventualmente con la possibilità di indicarne di nuovi -ad es. quando compreremo qualche Blue-ray
.
I campi quindi saranno per adesso soltato due:
- id (INT)
- name (VARCHAR 255)
Statuses
La tabella “statuses” sarà identica alla tabella “types” ma conterrà gli stati possibili che potranno assumere i nostri elementi:
- id (INT)
- name (VARCHAR 255)
Ora che abbiamo definito le tabelle necessarie del nostro database, possiamo procedere alla stesura dell’applicazione. Nel prossimo step comincierò a lavorare su CodeIgniter, per prima cosa definendo i modelli, e cioè le rappresentazioni nel framework delle nostre entità. Più concretamente, tramite i modelli compiremo tutte le interazioni con le tabelle del DB. Nel nostro codice quindi non dovremo mai dialogare direttamente col database, useremo sempre e soltanto i metodi che andremo a definire per ciascun modello. Giusto per darvi un assaggio, useremo una sintassi del tipo $this->item_model->get_all();
Alla prossima!
Comments(0)