Master I
Informatique
Big Data
SGBD NoSQL,
SGBD NewSQL (Données NoSQL, Big data,
données NewSQL, Hadoop,
SGBD Objet Relationnel (Oracle Si, DB2,….) Spanner)
+100Go (SQL99, Entrpôt de données, OLAP,
1999-2004 ETL, Data Mining, XML)
SGBD Orienté objet (ObjectStore, 02) (SQL1(86), SQL92, ODL, DQL, UML,
100Go
1985-1995 Données multimédias)
SGBD Relationnel (Oracle, Ingres)
2Go (QUEL, SQUEL, QBE(77), Relation,
1970-1980 OLTP)
Modèle hiérarchique (IBM) Modèle Réseau (CODASYL)
50Mo (Structure hiérarchique, Réseau)
1950-1960
Niveaux d’abstraction
Niveaux d’abstraction
• Niveau conceptuel:
• Objectif :
• structuration du domaine d’application afin de de le représenter sous forme
de types et de tables
• d’accompagner ces structures de contraintes sur les données afin de tirer plus
de sémantique
Conception du schéma des bases(suite)
• La représentation doit être :
• Exemples
• Entier, réel, chaîne de caractères, booléen
• Salaire = 1000…100000 (€)
• Couleur = {‘rosé’, ‘blanc’, ‘rouge’}
Concepts produit cartésien
• Le produit cartésien de D1, ...., Dn est l'ensemble des n-uplets
(tuples) <V1, ...., Vn> tel que Vi ϵDi
• Notation:
• D1 X ....X Dn
• Exemple :
• D1 = {‘BD’, ‘IO’} (Code UV)
• D2 = {‘Chamil’, ‘Lami’, ‘Miri } (Prof)
Concept Relation
• Définition
• Sous-ensemble du produit cartésien d'une liste de domaines
• Caractérisée par un nom
• Exemple
• D1 = Code UV
• D2 = Prof
• Concraitement: une relation est un tableau à deux dimensions
• Une ligne est un n-uplet (tuple)
• On associe un nom à chaque colonne afin de la repérer
• Indépendamment de l'ordre = attribut
• Prend ses valeurs dans un domaine
• Exemple : code
Concepts Clé
• Définition: Une clé est un groupe d'attributs minimum qui détermine
un n-uplet unique dans une relation (à tout instant)
• Exemple
• Clé de Elève ?
• Clé de UV ?
• Clé de Inscrit ?
• Contrainte d'intégrité
• Toute relation doit posséder une clé renseignée (sans valeur inconnue)
Schéma d’une relation
• Définition
• Le schéma d'une relation décrit :
• Son nom
• La liste des attributs qu'elle comporte et des domaines associés
• La liste des attributs composant la clé (la clé est soulignée)
• Exemple
• Elève(num : entier, nom : chaîne, adresse : chaîne, age : entier de 18 à 35)
• Intention vs. Extension
• Schéma de relation : intention de la relation
• Table : extension
• Schéma d'une BD relationnelle : ensemble des schémas des relations
Clé étrangère
Une clé étrangère est un groupe d'attributs qui apparaît comme clé
dans une autre relation
• Rôle
• Les clés étrangères définissent des contraintes d'intégrités référentielles entre
relations
Bases de Données Avancées
Master I
Informatique
Exemple:
Types de base (déclarer les colonnes)
• SMALLINT : entier signé long (par ex. 16 bits),
• INTEGER ou (INT) : entier signé long (par ex. 32 bits),
• NUMERIC(p, q) : nombre décimal de p chiffres dont q après le point
• décimal (q prend par défaut la valeur de 0),
• FLOAT(p) ou (FLOAT) : nombre en virgule flottante d’au moins p bits
• significatifs,
• CHARACTER(p) ou (CHAR) : chaîne de longueur fixe de p caractères,
• CHARACTER VARYING ou (VARCHAR(p)) : chaîne de longueur variable
• d’au plus p caractères,
• BIT(p) : chaîne de longueur fixe de p bits,
• BIT VARYING: chaîne de longueur variable d’au plus p bits,
• DATE: date (année, mois de et jour),
• TIME: instant (heure, minute, seconde, éventuellement 1000e de seconde),
• TIMESTAMP: date + temps,
• INTERVAL: intervalle en années/mois/jours entre dates ou en
• heures/minutes/secondes entre instants,
• Il est possible de déclarer des domaines de valeurs pour les types de
base comme suit :
Clé
• Elle peut être primaire:
• Secondaire
• elle peut être étrangère
Opérations sur les tables
• Une table peut être supprimée et son contenu sera perdu
• drop table EVALUATION
• La commande suivante ajoute la colonne NATIONALITE à la table
ETUDIANT :
alter table ETUDIANT add column NATIONALITE char(30);
• La commande suivante élimine la colonne DATE_EXAM de la table
EVALUATION :
alter table EVALUATION drop column DATE_EXAM;
• Une caractéristique d’une colonne peut être modifiée :
• alter table ETUDIANT alter column GENRE set default ‘M’;
• alter table ETUDIANT alter column GENRE drop default;
• Un domaine peut être modifié ou supprimé :
• alter domain NOTE set default 0.0;
• drop domain MATRICULE ;
• Il est possible d’ajouter une clé primaire :
• alter table ETUDIANT add primary key (NETUD);
• ou étrangère:
• alter table EVALUATION add foreign key (NETUD) references ETUDIANT;
• Lors de la déclaration d’une contrainte, Il est possible de la nommée: