• Aucun résultat trouvé

Base de données

N/A
N/A
Protected

Academic year: 2022

Partager "Base de données"

Copied!
15
0
0

Texte intégral

(1)

Base de données

Damien Nouvel

Damien Nouvel (Inalco) Base de données 1 / 11

(2)

Plan

1. Les bases de données 2. Le langage SQL

(3)

Les bases de données

Historique

§ Stockage dedonnées

§ Au départ, systèmes de fichiers

‚ Ouverture / fermetures de fichiers

‚ Accès lent (RAM)

‚ Pas d’opération qui croise les fichiers

§ Logiciels dédiés (1960)

SGBD: Système de Gestion de Bases de Données

‚ Centralisation des données

Opérations sur les données (lecture / écriture) ñ ACID : Atomicité, Cohérence, Isolation, Durabilité

Damien Nouvel (Inalco) Base de données 3 / 11

(4)

Historique

§ Stockage dedonnées

§ Au départ, systèmes de fichiers

‚ Ouverture / fermetures de fichiers

‚ Accès lent (RAM)

‚ Pas d’opération qui croise les fichiers

§ Logiciels dédiés (1960)

SGBD: Système de Gestion de Bases de Données

‚ Centralisation des données

Opérations sur les données (lecture / écriture) ñ ACID : Atomicité, Cohérence, Isolation, Durabilité

(5)

Les bases de données

Modèles de données

§ Tables

‚ Objetsstructurés etréguliers

‚ Algèbre : n-uplets

‚ Structure de tableau

Lignes : enregistrements (objets)

Colonnes : champs (attributs /fields)

‚ Champs

Typés: entiers, texte, dates, images, etc.

Indexs: identifiant unique par enregistrement et table

§ Bases de donnéesrelationnelles

‚ Possibilité de relationsentre données

‚ Stockage selon la cardinalité de l’association

‚ Exemple : auteur(s) d’un livre

Damien Nouvel (Inalco) Base de données 4 / 11

(6)

Modèles de données

§ Tables

‚ Objetsstructurés etréguliers

‚ Algèbre : n-uplets

‚ Structure de tableau

Lignes : enregistrements (objets)

Colonnes : champs (attributs /fields)

‚ Champs

Typés: entiers, texte, dates, images, etc.

Indexs: identifiant unique par enregistrement et table

§ Bases de donnéesrelationnelles

‚ Possibilité de relationsentre données

‚ Stockage selon la cardinalité de l’association

‚ Exemple : auteur(s) d’un livre

(7)

Les bases de données

Opérations sur les données

§ Administrationde la base

‚ Création des tables

‚ Ajout / suppression de champs

‚ Gestion des accès utilisateurs et autorisations

§ Manipulation des enregistrementsCRUD

‚ Create : nouvel enregistrement

‚ Read : lecture d’un enregistrement

‚ Update : mise à jour d’un enregistrement

‚ Delete : effacer enregistrement

Damien Nouvel (Inalco) Base de données 5 / 11

(8)

Opérations sur les données

§ Administrationde la base

‚ Création des tables

‚ Ajout / suppression de champs

‚ Gestion des accès utilisateurs et autorisations

§ Manipulation des enregistrementsCRUD

‚ Create : nouvel enregistrement

‚ Read : lecture d’un enregistrement

‚ Update : mise à jour d’un enregistrement

‚ Delete : effacer enregistrement

(9)

Les bases de données

Logiciels de SGBD

§ Quelques logiciels

‚ MySQL

‚ PostgreSQL

‚ SQLite

‚ Redis

‚ MongoDB

‚ Oracle Database

‚ Microsoft SQL Server

‚ IBM DB2

Damien Nouvel (Inalco) Base de données 6 / 11

(10)

Plan

1. Les bases de données 2. Le langage SQL

(11)

Le langage SQL

Généralités

§ Norme SQL : Standard Query Language (1974)

§ Caractéristiques principales

‚ Langage debase de données relationnelles

‚ Basé sur lalogique des prédicats

Fiabilité

‚ Optimisation des requêtes (jointures)

Damien Nouvel (Inalco) Base de données 8 / 11

(12)

Opérations basiques sur les données

§ INSERT INTO X (Y) VALUES (Z)

‚ X : une table

‚ Y : noms des champs

‚ Z : valeurs pour les champs

§ SELECT Y FROM X WHERE Z

‚ Y : un ou plusieurs champs (* pour tous)

‚ X : une table (ou plusieurs)

‚ Z : condition sur les champs

§ UPDATE X SET Y WHERE Z

‚ X : une table

‚ Y : nom et valeur pour des champs

‚ Z : condition sur les champs

§ DELETE FROM X WHERE Z

‚ X : une table

(13)

Le langage SQL

Jointures

§ Principe de la jointure

‚ Besoin d’afficher des enregistrements simultanément

‚ Par exemple : le nom d’un livre et de ses auteurs ñ Inutile de faire plusieurs requêtes

ñ Sélection sur plusieurs tables

§ SELECT * FROM T1, T2 WHERE T1.T2ID = T2.ID

‚ Sélection sur les deux tables T1 et T2

‚ Chaque champ est préfixé par le nom de la table

‚ L’enregistrement de T1 doit être lié à celui de T2

Damien Nouvel (Inalco) Base de données 10 / 11

(14)

Jointures

§ Principe de la jointure

‚ Besoin d’afficher des enregistrements simultanément

‚ Par exemple : le nom d’un livre et de ses auteurs ñ Inutile de faire plusieurs requêtes

ñ Sélection sur plusieurs tables

§ SELECT * FROM T1, T2 WHERE T1.T2ID = T2.ID

‚ Sélection sur les deux tables T1 et T2

‚ Chaque champ est préfixé par le nom de la table

‚ L’enregistrement de T1 doit être lié à celui de T2

(15)

Le langage SQL

Exercice

§ Base de données des films

‚ Télécharger la base de donnéessakila.db

‚ Ouvrir la base avecsqlite3

‚ Afficher tous les acteurs

‚ Afficher les noms et descriptions des films

‚ Afficher les titres de film dont la location est de plus de 2$

‚ Afficher le nom, la durée et la langue des films

‚ Afficher les titres de films avec leurs catégories

‚ Afficher les films dans lesquels joue M. Pitt

‚ Insérer un nouveau film et ses acteurs

‚ Supprimer tous les films qui durent plus de 2h

Damien Nouvel (Inalco) Base de données 11 / 11

Références

Documents relatifs

– sélectionne dans le nœud courant, l'élément dont l'attribut attribut a une valeur égale à valeur.. 2- Xpath désignation par

Cela peut se faire aussi dans le menu courant avec. la commande : {x 1 ,...,x n } Ñ List 1 On peut l’afficher dans le menu courant en

Pour cela, nous avons utilisé trois méthodes : la première est une variante optimale suivant un certain critère que nous préciserons, de la méthode des

Cоветские власти тогда не отреагировали заметным образом на нарушение принципа первенства между братскими республиками, считая, по-видимому, что издание на

Exemple : pour rechercher les noms des patients de plus de 70 kg : SELECT nom FROM patient WHERE poids > 70;?. Pour rechercher les noms des patients en surpoids (IMC > 27)

[r]

[r]

- ﺓﺭﺎﻴﺴﻝﺍ ﺕﻼﺠﻋ ﻰﻠﻋ ﻡﻭﺎﻘﻤﻝﺍ ﻙﺎﻜﺘﺤﻻﺍ ﺓﻭﻗ لﺜﻤﻴ