• Aucun résultat trouvé

Bases de données - Modèles et langages

N/A
N/A
Protected

Academic year: 2022

Partager "Bases de données - Modèles et langages"

Copied!
6
0
0

Texte intégral

(1)

Cours de bases de données – Modèles et langages

Version 2017-2019 V1.0

Philippe Rigaux

sept. 25, 2018

(2)
(3)

Table des matières

1 Introduction 3

1.1 Contenu et plan du cours . . . 3

1.2 Apprendre avec ce cours . . . 4

1.3 S1 : notions de base . . . 4

1.3.1 Données, bases de données et SGBD . . . 5

1.3.2 Modèle et couches d’abstraction . . . 8

1.3.3 Les langages . . . 9

1.3.4 Quiz . . . 11

1.4 Atelier : installation d’un SGBD . . . 11

1.4.1 MySQL . . . 11

1.4.2 Autres . . . 11

2 Le modèle relationnel 13 2.1 S1 : relations et nuplets. . . 13

2.1.1 Qu’est-ce qu’une relation ? . . . 14

2.1.2 Les nuplets . . . 15

2.1.3 Le schéma . . . 15

2.1.4 Mais que représente une relation ? . . . 17

2.1.5 Quiz . . . 17

2.2 S2 : clés, dépendances et normalisation . . . 17

2.2.1 Qualité d’un schéma relationnel . . . 17

2.2.2 Schémas normalisés. . . 19

2.2.3 La notion de dépendance fonctionnelle . . . 19

2.2.4 Clés . . . 22

2.2.5 Clé étrangères . . . 23

2.2.6 Quiz . . . 24

2.2.7 Exercices . . . 24

2.3 S3 : deux exemples de schémas normalisés . . . 24

2.3.1 La base des voyageurs . . . 25

2.3.2 La base des films . . . 27

2.3.3 Quiz . . . 28

2.4 Exercices . . . 28

i

(4)

3 SQL, langage déclaratif 29

3.1 S1 : Un peu de logique . . . 30

3.1.1 Le calcul propositionnel . . . 31

3.1.2 Prédicats . . . 32

3.1.3 Collections et quantificateurs . . . 33

3.1.4 Logique et bases de données . . . 35

3.1.5 Quiz . . . 36

3.1.6 Exercices . . . 36

3.2 S2 : SQL conjonctif . . . 37

3.2.1 Requête mono-variable . . . 37

3.2.2 Requêtes multi-variables . . . 41

3.2.3 Quiz . . . 44

3.2.4 Exercices . . . 44

3.3 S3 : Quantificateurs et négation . . . 44

3.3.1 Le quantificateurexists . . . 44

3.3.2 Quantificateurs et négation . . . 46

3.3.3 Quiz . . . 47

3.3.4 Exercices . . . 47

4 SQL, langage algébrique 49 4.1 S1 : Les opérateurs de l’algèbre . . . 49

4.1.1 La projection,π . . . 50

4.1.2 La sélection,σ . . . 51

4.1.3 Le produit cartésien,× . . . 51

4.1.4 Renommage . . . 53

4.1.5 L’union,∪. . . 55

4.1.6 La différence,−. . . 56

4.1.7 Quiz . . . 56

4.1.8 Exercices . . . 56

4.2 S2 : la jointure . . . 56

4.2.1 L’opérateur⋊⋉ . . . 57

4.2.2 Résolution des ambiguités . . . 59

4.2.3 Quiz . . . 61

4.3 S3 : Expressions algébriques . . . 61

4.3.1 Sélection généralisée . . . 61

4.3.2 Requêtes conjonctives . . . 62

4.3.3 Requêtes avec∪et− . . . 64

4.3.4 Complément d’un ensemble . . . 64

4.3.5 Quantification universelle . . . 65

4.4 Exercices . . . 65

4.4.1 Atelier : évaluation et optimisation de requêtes . . . 65

5 SQL, récapitulatif 69 5.1 S1 : le blocselect-from-where . . . 71

5.1.1 La clausefrom . . . 71

5.1.2 La clausewhere . . . 74

5.1.3 Valeurs manquantes : lenull . . . 75

5.1.4 La clauseselect . . . 77

(5)

5.1.5 Jointure interne, jointure externe . . . 79

5.1.6 Tri et élimination de doublons . . . 82

5.1.7 Quiz . . . 84

5.2 S2 : Requêtes et sous-requêtes . . . 84

5.2.1 Requêtes imbriquées . . . 84

5.2.2 Requêtes correlées . . . 86

5.2.3 Requêtes avec négation . . . 88

5.2.4 Quiz . . . 89

5.3 S3 : Agrégats . . . 89

5.3.1 La clausegroup by. . . 90

5.3.2 La clausehaving . . . 92

5.3.3 Quiz . . . 92

5.4 S4 : Mises à jour . . . 92

5.4.1 Insertion . . . 93

5.4.2 Destruction . . . 93

5.4.3 Modification . . . 93

6 Conception d’une base de données 95 6.1 S1 : La normalisation. . . 95

6.1.1 La décomposition d’un schéma . . . 96

6.1.2 Algorithme de normalisation . . . 98

6.1.3 Une approche globale . . . 98

6.1.4 Quiz . . . 100

6.2 S2 : Le modèle Entité-Association . . . 100

6.2.1 Le schéma de la baseFilms . . . 101

6.2.2 Entités, attributs et identifiants . . . 103

6.2.3 Types d’entités . . . 104

6.2.4 Associations binaires . . . 106

6.2.5 Quiz . . . 110

6.2.6 Exercices . . . 110

6.3 S3 : Concepts avancés . . . 110

6.3.1 Entités faibles . . . 110

6.3.2 Associations généralisées . . . 111

6.3.3 Spécialisation . . . 113

6.3.4 Bilan . . . 114

6.3.5 Quiz . . . 114

6.4 S4 : Du schéma E/A au schéma relationnel . . . 114

6.4.1 Application de la normalisation. . . 115

6.4.2 Illustration avec la base des films . . . 117

6.4.3 Associations avec type d’entité faible . . . 119

6.4.4 Spécialisation . . . 119

6.4.5 Quiz . . . 121

6.4.6 Exercices . . . 121

7 Schémas relationnel 123 7.1 S1 : Création d’un schéma SQL . . . 123

7.1.1 Types SQL . . . 124

7.1.2 Création des tables . . . 125

iii

(6)

Cliquez ici pour telecharger le PDF complet

Références

Documents relatifs

CONJECTURE 4; Tout langage algébrique admet un motif algébrique Revenant à la construction (ç) dans te cas rationnel, nous laissons au lecteur le soin de vérifier qu'à chaque étape

La base de données (données primaires) est la matière première à partir de laquelle la bioinformatique va produire d'autres données (données secondaires) et

Compilation (Pascal, C, C++, C#, ...) : traduction de l'ensemble du programme écrit en langage évolué (code source) en langage machine (code objet).. Le programme en langage

C'est un ensemble de tables et de vues dans lesquelles sont stockées les descriptions des objets de la base, et qui sont tenues à jour automatiquement par le système de gestion de

Dans certains SGBD, cette contrainte d’unicité porte également sur les valeurs null. Il est donc possible d’insérer une ligne sans valeur pour cette nouvelle colonne, mais pas deux !

3.1 Introduction 3.5 Types d'associations 3.2 Modèle Entité-Association 3.6 Exemples de schéma conceptuel 3.3 Types d'entités 3.7 Exemple détaillé. 3.4

•Extraction des caractéristiques de l’image : couleur, texture, forme, contraintes spatiales, régions.. Recherche d’images basée sur

Une clé étrangère est un groupe de colonnes d'une table S tel qu'il existe, à tout moment, dans une table T, une ligne dont l'identifiant a pour valeur(s) celle(s) de ce groupe.