Esercizio 1 Progettazione DataBase di una biblioteca privata

11
Esercizio 1 Progettazione DataBase di una biblioteca privata Si vuole automatizzare una biblioteca privata che presta libri agli amici. Gli amici sono indicati con il nome o il soprannome. Si fa riferimento ai libri attraverso i titoli e la biblioteca non possiede libri con lo stesso titolo. A tal fine è opportuno memorizzare i dati relativi agli amici e ai libri per ricavare le informazioni su ciò che viene dato in prestito. Ai fini della progettazione concettuale le entità individuate sono le seguenti: •Libri •Amici

description

Esercizio 1 Progettazione DataBase di una biblioteca privata. - PowerPoint PPT Presentation

Transcript of Esercizio 1 Progettazione DataBase di una biblioteca privata

Page 1: Esercizio 1              Progettazione  DataBase  di una biblioteca privata

Esercizio 1

Progettazione DataBase di una biblioteca privata

Si vuole automatizzare una biblioteca privata che presta libri agli amici. Gli amici

sono indicati con il nome o il soprannome. Si fa riferimento ai libri attraverso i titoli e

la biblioteca non possiede libri con lo stesso titolo.

A tal fine è opportuno memorizzare i dati relativi agli amici e ai libri per ricavare le

informazioni su ciò che viene dato in prestito.

Ai fini della progettazione concettuale le entità individuate sono le seguenti:

•Libri

•Amici

Page 2: Esercizio 1              Progettazione  DataBase  di una biblioteca privata

Progettazione logica

• Tra le due entità individuate sussiste una relazione N:N per cui si ritiene opportuno inserire una ulteriore

entità (tabella di mezzo) chiamata “Dataprestiti”.

• 1 : N

• N : 1

N : N

Libri Amici

Dataprestiti

Page 3: Esercizio 1              Progettazione  DataBase  di una biblioteca privata

Progettazione logica

Gli attributi individuati per l’entità Libri sono:

Gli attributi individuati per l’entità Amicisono:

Id LibroTitolo libroAutoreeditorePrezzo d’acquisto

Id AmicoNome/SoprannomeAmicoTelefonoEmailCittà

IdprestitoCampo link alla tabella AmiciCampo link alla tabella LibriData consegnaData reso previstaData reso effettiva

Gli attributi individuati per l’entità Dataprestiti sono:

Page 4: Esercizio 1              Progettazione  DataBase  di una biblioteca privata

• Tabella Amici

• Tabella Libri

Progettazione logicaDefinizione delle caratteristiche degli attributi

Nome Campo Tipo campo Dimensione Vincoli NoteIdAmico Numerico Intero lungo Primary keyNome/SoprannomeAmico Testo 40 Not nullTelefono Testo 15 Not nullEmail Testo 40 uniquecittà Testo 30 Not null

Nome Campo Tipo campo Dimensione Vincoli Note

IdLibro Numerico Intero lungo Primary key

Titololibro Testo 50 Not Nul

Autore Testo 40 Not null

Editore Testo 40 Not null

Prezzo d’acquisto valuta

Page 5: Esercizio 1              Progettazione  DataBase  di una biblioteca privata

Progettazione logicaDefinizione delle caratteristiche degli attributi

• Tabella DataPrestiti

• t

Nome Campo Tipo campo

Dimensione Vincoli Note

idPrestito Numerico Intero lungo Primary Key

Fk Amici Numerico Intero lungo Foreign key Link alla tabella Amici

Fk libri Numerico Intero lungo Foreign key Link alla tabella libri

Dataconsegna Data Not null

Dataresoprevista Data Not null

Dataresoeffettiva Data Not null

Page 6: Esercizio 1              Progettazione  DataBase  di una biblioteca privata

Schema logico

Page 7: Esercizio 1              Progettazione  DataBase  di una biblioteca privata

Base di dati – Tabelle

idAmico Nome/SoprannomeAmico

Telefono Email Città

A Giuseppe 08534232 [email protected]

Bari

B Mario 0864322 NULL Torino

C Pino 33378653 [email protected]

Bari

Id prestiti dataprestito dataresoprevista Dataresoeffettiva FkAmici FkLibri

1 02/02/2010 10/04/2010 20/04/2010 C 1A

2 10/12/2010 08/01/2011 A 3C

Amici

Dataprestiti

Idtitolo Titololibro Autore Editore Prezzod’acquisto

1A La bella e la bestia

Eeeeeee Ooooooo €12,00

2B Dal bit a internet

Ggggg Jjjj € 34,00

3C Manuale di economia

Hjkkls Llopp € 56,00

Libri

Page 8: Esercizio 1              Progettazione  DataBase  di una biblioteca privata

Chiavi e valori nulli

• Nella tabella Amici una chiave primaria è ID Amici, un’altra è Nome/SoprannomeAmici;• Nella tabella Libri una chiave primaria è IDTitolo, un’altra è Titololibri;• Nella tabella Dataprestiti la chiave primaria è Idprestiti e un’altra è Idprestiti e Dataconsegna• Oltre queste chiavi, nel definire le caratteristiche degli attributi, sono state riportate anche le chiavi esterne

delle relazioni.• I valori nulli non possono esserci nei campi chiave primaria.• Nell’esempio del database riportato, un valore nullo potrebbe aversi nell’attributo Email della tabella

Amici, considerato che non tutti gli amici possono esserne forniti. La dicitura “null”in quel caso ,pur costituendo una perdita di informazione, non è causa di grossi problemi.

Page 9: Esercizio 1              Progettazione  DataBase  di una biblioteca privata

Esercizio 2

Basi di dati ospedale

Page 10: Esercizio 1              Progettazione  DataBase  di una biblioteca privata

Base di dati ospedale

• • Nella tabella Pazienti• Superchiave: CodCognomeNome• Cod è chiave minimale e superchiave ed è anche chiave primaria perchè non nulla•  •  • tabella Reparti• superchiavi: cod, Nome, NomePrimario, CodPrimario.• chiavi minimali:Cod, Nome; sono anche primarie perchè non nulle•  • tabella Ricoveri• superchiave e chiave minimale primaria: PazienteInizio•  • Tabella Medici• superchiave: Matr. oppure Matr,NomeCognome, oppure NomeCognomeReparto.• chiave minimale e primaria: Matr, oppure NomeCognomeReparto• anche CognomeReparto è una chiave ma solo "per caso"•  

Page 11: Esercizio 1              Progettazione  DataBase  di una biblioteca privata

Vincoli di integrità

Nella base di dati ospedale i vincoli di integrità si riscontrano come segue:

• tra gli attributi Paziente, Inizio della relazione Ricoveri e la relazione Pazienti;

• tra l'attributo Cod della relazione Reparti e la relazione Ricoveri;

• tra l'attributo Matr della relazione Medici e la relazione Reparti

• Ci possono essere dei valori nulli nella tabella Pazienti in corrispondenza delle ennuple attribuite agli attributi Cognome e Nome (es. viene ricoverato al pronto soccorso un individuo di cui non sono note le generalità ma ha diritto comunque ad essere curato)