The document discusses database management systems (DBMS). It explains that a DBMS is software that stores and manages databases to provide benefits like data independence, efficient access, integrity and security. It also discusses key DBMS concepts like data models, schemas, transactions, concurrency control and ensuring atomicity through logging. DB application development and database administration are important roles supported by a DBMS.
The document introduces databases and database management systems (DBMS). It discusses that a DBMS is software that allows users to create, access, and manage data and databases. A DBMS is made up of four main components: users, a database, database applications, and the DBMS itself. The DBMS controls access to the database and enforces rules like security and data integrity. It also discusses some advantages of using a DBMS like improved data sharing and consistency.
This document discusses the key components of a database system including applications, file systems, data views, query processors, users and administrators, data languages, transaction management, and storage managers. It provides examples of common database applications and describes how data is abstracted at the physical, logical, and view levels. It also explains the roles of DDL, DML, transactions, and storage managers in database design and management.
The document discusses database management systems (DBMS). It explains that a DBMS is software that stores and manages databases to provide benefits like data independence, efficient access, integrity and security. It also discusses key DBMS concepts like data models, schemas, transactions, concurrency control and ensuring atomicity through logging. DB application development and database administration are important roles supported by a DBMS.
The document introduces databases and database management systems (DBMS). It discusses that a DBMS is software that allows users to create, access, and manage data and databases. A DBMS is made up of four main components: users, a database, database applications, and the DBMS itself. The DBMS controls access to the database and enforces rules like security and data integrity. It also discusses some advantages of using a DBMS like improved data sharing and consistency.
This document discusses the key components of a database system including applications, file systems, data views, query processors, users and administrators, data languages, transaction management, and storage managers. It provides examples of common database applications and describes how data is abstracted at the physical, logical, and view levels. It also explains the roles of DDL, DML, transactions, and storage managers in database design and management.
Dispense del corso IN530 "Sistemi per l'elaborazione delle informazioni" presso il Corso di Laurea in Matematica dell'Università degli Studi Roma Tre.
[http://www.mat.uniroma3.it/users/liverani/IN530/]
In questa presentazione è descritta la progettazione concettuale e logida di un database relazionale. In particolare è descritto il paradigma della progettazione E-R (entità - relazione) e come convertirlo in un modello logico relazionale.
Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...Massimo Cenci
La naming convention è una componente fondamentale di ogni progetto informatico.
L’obiettivo di questo articolo è quello di suggerire uno standard di nomenclatura pratico ed efficace per un progetto di Data Warehouse.
(parte 2)
Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...Massimo Cenci
La naming convention è una componente fondamentale di ogni progetto informatico.
L’obiettivo di questo articolo è quello di suggerire uno standard di nomenclatura
pratico ed efficace per un progetto di Data Warehouse.
(parte 1)
Slide del corso "Il Patrimonio Informativo Pubblico" organizzato dal Progetto Open Data in Trentino in collaborazione con TSM e rivolto agli enti del sistema provinciale. 19 febbraio 2013 http://www.innovazione.provincia.tn.it/contenuti.php?t=opendata_tab&id=5
Dispense del corso IN530 "Sistemi per l'elaborazione delle informazioni" presso il Corso di Laurea in Matematica dell'Università degli Studi Roma Tre.
[http://www.mat.uniroma3.it/users/liverani/IN530/]
In questa presentazione è descritta la progettazione concettuale e logida di un database relazionale. In particolare è descritto il paradigma della progettazione E-R (entità - relazione) e come convertirlo in un modello logico relazionale.
Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...Massimo Cenci
La naming convention è una componente fondamentale di ogni progetto informatico.
L’obiettivo di questo articolo è quello di suggerire uno standard di nomenclatura pratico ed efficace per un progetto di Data Warehouse.
(parte 2)
Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...Massimo Cenci
La naming convention è una componente fondamentale di ogni progetto informatico.
L’obiettivo di questo articolo è quello di suggerire uno standard di nomenclatura
pratico ed efficace per un progetto di Data Warehouse.
(parte 1)
Slide del corso "Il Patrimonio Informativo Pubblico" organizzato dal Progetto Open Data in Trentino in collaborazione con TSM e rivolto agli enti del sistema provinciale. 19 febbraio 2013 http://www.innovazione.provincia.tn.it/contenuti.php?t=opendata_tab&id=5
1. DBMS
Una base di dati (database o DB) è una collezione organizzata di dati utilizzati per
rappresentare le informazioni di interesse ed è gestita da un DBMS.
Un DBMS (DataBase Management System) è un sistema software in grado di gestire collezioni
di dati che siano grandi, condivise e persistenti, assicurando la loro affidabilità e privatezza.
Grandi vuol dire di dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo
utilizzati.
Persistenti significa con un periodo di vita indipendente dalle singole esecuzioni dei programmi
che le utilizzano.
Condivise, nel senso che vengono utilizzate da applicazioni diverse.
Le caratteristiche di affidabilità e privatezza si definiscono invece come:
Affidabilità - resistenza a malfunzionamenti HW o SW
Privatezza - con una disciplina di controllo degli accessi
2. Modello E-R
Il modello Entità/Relazione (Entity Relationship model E-R) è un modello concettuale di dati, e
fornisce una serie di strutture (costrutti) per la descrizione della realtà.
I costrutti sono utilizzati per definire degli schemi che descrivono l’organizzazione e la struttura
delle occorrenze dei dati.
I costrutti principali sono quattro:
* Entità
* Relazioni
* Attributi
* Generalizzazione
3. Entità
Entità: rappresentano classi di oggetti (fatti, persone) che hanno proprietà comuni ed
esistenza “autonoma” per una applicazione.
CITTA’, DIPARTIMENTO, IMPIEGATO, ACQUISTO, VENDITA
sono es. di entità di una applicazione aziendale.
Una occorrenza di una entità è un oggetto della classe che l’entità rappresenta
(come accade nella programmazione ad oggetti).
Una entità si rappresenta graficamente con una rettangolo, all'interno del quale si
mette il nome del concetto che rappresenta.
Impiegato
4. Relazioni
rappresentano legami logici, significativi per l’applicazione, tra due o più entità.
RESIDENZA è un esempio di relazione che può sussistere tra le entità CITTA’ e
IMPIEGATO,
mentre ESAME può esserlo tra STUDENTE e CORSO.
Una occorrenza di una relazione è una n-upla (coppia nel caso di relazione binaria)
costituita da occorrenze di entità, una per ciascuna delle entità coinvolte. Una
relazione si rappresenta graficamente con una rombo, all'interno del quale si mette il
nome del concetto che rappresenta.
5. Attributi
Attributi: descrivono proprietà elementari di entità o relazioni di interesse ai fini
dell’applicazione.
N_posti
Spettacolo Settore
Titolo
Data Prezzo
Nome
N_posti_disponibili
6. Cardinalità delle relazioni
Cardinalità delle relazioni: vengono specificate per ciascuna entità che partecipa a
una relazione e dicono quante volte, in una relazione tra entità, un’occorrenza di una
di queste entità può essere legata ad occorrenze delle altre entità coinvolte nella
relazione (indica il minimo e il massimo delle occorrenze).
Nello schema si intende cha ad un impiegato possono essere assegnati da uno a cinque
incarichi, e che ad un incarico possono essere assegnati da 0 a molti (N) impiegati.
7. Generalizzazioni
rappresentano legami logici tra una entità padre e una o più entità figlie, che sono comprese
dal padre e che ne costituiscono un caso particolare. Il padre viene chiamato
generalizzazione dei figli, che vengono chiamati specializzazioni dell’entità padre. Tra le
entità coinvolte in una generalizzazione valgono le proprietà:
* Ogni occorrenza dell’entità figlia lo è anche dell’entità padre
* Ogni proprietà dell’entità padre (attributi, identificatori, relazioni) è anche una proprietà
delle entità figlie (ereditarietà).
13. Anomalie di DB non relazionali
• Aggiornamento
In una tabella dove i dati sono ripetuti inutilmente l’aggiornamento dei dati
comporta dover aggiornare numerose righe. Si pensi al caso in cui una delle righe
da modificare era stata inserita con un errore di una lettera, una query di UPDATE
fallirà e i dati risulterebbero incongruenti.
• Cancellazione
La cancellazione di un dato in una tabella deve essere possibile senza dover
eliminare altri dati importanti.
• Inserimento
Se una tabella contiene informazioni non appartenenti alla stessa entità, ad esempio
clienti e contatti, sarà impossibile inserire solo una società.
14. Prima forma normale
• Ogni colonna deve contenere un valore ‘atomico’
• La tabella deve avere una chiave primaria
• Non sono ammessi gruppi ripetuti di dati
15. Seconda forma normale
Questa problematica entra in gioco quando si hanno chiavi su più campi.
La tabella è in seconda forma normale se non si hanno colonne che dipendono
solo parzialmente dalla chiave primaria: ad esempio da uno solo dei due campi
che costituiscono la chiave.
16. Terza forma normale
Una tabella è in terza forma normale se non sono presenti
dipendenze transitive, cioè si hanno campi che dipendono da
una colonna che non è la chiave primaria.
17. Esempio
Per archiviare i dati di un sistema on-line per la
iscrizione a corsi di formazione sono necessarie le
seguenti informazioni:
- corsi (titolo, durata, data_inizio, n_max_allievi)
- moduli (nome, descrizione, durata)
- docenti (nome, cognome,...altre info anagrafiche)
- studenti (nome,cognome,...informazioni anagrafiche)
Nello schema indicato sono state trascurate le chiavi
primarie e le chiavi esterne (foreign key). Si
consideri inoltre la eventuale necessità di entità
aggiuntive, tra cui ricordo l'esigenza di memorizzare
le iscrizioni ai corsi.