PROGETTAZIONE DATABASE BIBLIOTECA PERSONALE

download PROGETTAZIONE DATABASE BIBLIOTECA PERSONALE

of 21

  • date post

    23-Feb-2016
  • Category

    Documents

  • view

    47
  • download

    0

Embed Size (px)

description

PROGETTAZIONE DATABASE BIBLIOTECA PERSONALE. De Sario Simona Matricola: 565581. ANALISI DEI REQUISITI. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: Amici Libri - PowerPoint PPT Presentation

Transcript of PROGETTAZIONE DATABASE BIBLIOTECA PERSONALE

PROGETTAZIONE DATABASE BIBLIOTECA PERSONALE

PROGETTAZIONE DATABASE BIBLIOTECA PERSONALEDe Sario SimonaMatricola: 5655811ANALISI DEI REQUISITISi vuole automatizzare la gestione di una biblioteca personale.A tale scopo bisogner memorizzare i dati relativi a:AmiciLibriIl fine ultimo ricavare le informazioni relative al prestito e la loro data di restituzione prevista.2DOMINIO APPLICATIVONel nostro caso il dominio applicativo rappresentato dal tutte le biblioteche.3SISTEMA ENTIT-RELAZIONEAMICILIBRIPRESTITI N : 11 : N4PROGETTAZIONE CONCETTUALENel nostro caso sono state individuate le seguenti entit:LibriAmiciPrestiti

5PROGETTAZIONE CONCETTUALE LIBRIPer lentit Libri sono stati individuati i seguenti attributi: TitoloLibro: Che comprende i titoli dei libri presenti nella biblioteca. AutoreLibro: che comprende gli autori dei libri presenti nella biblioteca (in realt vi potrebbe essere anche una tabella Autori con relazione 1:N con Libri). CasaEditriceLibro: che comprende le case editrici dei libri presenti in biblioteca (in realt vi potrebbe essere una tabella Casa Editrice con relazione 1:n con Libri).6PROGETTAZIONE CONCETTUALE AMICIPer lentit Amici sono stati individuati i seguenti attributi:NomeSoprannomeAmico: Contiene i nomi o i soprannomi degli amici del proprietario della biblioteca (in modo tale da essere univocamente individuati);IndirizzoAmico: contiene i campi indicanti la via e il numero civico di residenza dellamico;CittaAmico: contiene i campi indicanti il paese di residenza dellamico (in realt pi corretto che ci sia unaltra tabella Citt collegata con Amico con una relazione 1:N)7PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE RELAZIONIAMICILIBRIPRESTITI1 : N1 : NN : N8PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE RELAZIONIDalla relazione N : N deriva una ulteriore entit, PRESTITI, i cui attributi saranno i seguenti: IdPrestito: codice univoco del prestito Campo link alla tabella Amici (fkNomeSoprannomeAmico): definisce lamico che ha preso il libro in prestito Campo link alla tabella Libri (fkTitoloLibro): definisce il libro preso il prestito DataPrestito: definisce la data del prestito DataPrevistaRestituzione: definisce la data presunta di restituzione del libro preso in prestito.9PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella AmiciNomecampoTipocampoDimensioneVincoliNoteNomeSoprannomeAmicoTesto50PrimaryKeyIndirizzoAmico

Testo100CittaAmicoTesto40Not null10PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella LibriNomecampoTipocampoDimensioneVincoliNoteTitoloLibroTesto40Primary keyAutoreLibroTesto50Not nullCasaEditriceLibroTesto2011PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella PrestitiNomecampoTipocampoDimensioneVincoliNoteIdPrestitoContatoreIntero LungoPrimaryKeyFkNomeSoprannomeAmicoTesto50Foreing KeyLink alla tabella AmiciFkTitoloLibroTesto40Foreing KeyLink alla tabella LibriDataPrestitoDataNot nullRestituzionePrestitoDataNot null12SCHEMA LOGICO

13Istanza libriIstanza prestitiIstanza amici

14valori nulliImpostando come vincolo not null, non possibile saltare la compilazione del campo che, chi ha progettato il DB, ha voluto che necessariamente sia inserito. Il vincolo not null quindi importante per campi necessari senza dei quali la stessa istanza tabellare avrebbe poco senso. Il beneficio che senza la compilazione di un determinato campo il soggetto non potr andare avanti nellimmissione dei dati in tabella mentre lo svantaggio che se una informazione anche se importante non immediatamente disponibile non si riuscir ad andare avanti nella compilazione della tabella e aggiungere linformazione successivamente. Nel DB biblioteca ho posto come Not null lAutore nella tabella Libro, in quanto informazione importante, come anche la data del prestito e la data prevista di restituzione contenute nella tabella Prestiti.15DATABASE OSPEDALE

16DATABASE OSPEDALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella RepartiNomecampoTipocampoDimensioneVincoliNoteCodRepartoTesto1PrimaryKeyNomeRepartoTesto40Unique, Not nullFkMedicoNumericoIntero LungoForeing KeyLink alla tabella Medici17DATABASE OSPEDALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella PazientiNomecampoTipocampoDimensioneVincoliNoteCodPazienteTesto4PrimaryKeyCognomePazienteTesto40Not nullNomePazienteTesto40Not null18DATABASE OSPEDALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella RicoveriNomecampoTipocampoDimensioneVincoliNoteFkPazienteTesto4ForeingKeyLink alla tabella PazientiFkRepartoTesto1ForeingKeyLink alla tabella RepartiInizioRicoveroDataNot nullFineRicoveroDataSuperchiave (Chiave primaria di Ricoveri)19DATABASE OSPEDALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella MediciNomecampoTipocampoDimensioneVincoliNoteMatrMedicoNumericoIntero LungoPrimaryKeyNomeMedicoTesto40Not nullCognomeMedicoTesto40Not nullFkRepartoTesto1ForeingKeyLink alla tabella Reparti20DATABASE OSPEDALELunico attributo sul quale possa essere sensato ammettere valori nulli, lattributo FineRicovero della tabella Ricoveri.Infatti la data di fine ricovero non vieni immessa nel Data Base insieme alla registrazione del ricovero del paziente ma successivamente, ovvero al momento della sua dimissione. Le altre informazioni sono importanti, e quindi devono essere immesse necessariamente.21