Algèbre relationnelle
Algèbre relationnelle
SB AD FC Janvier 2016 1 / 58
Algèbre relationnelle Introduction
Introduction
SB AD FC Janvier 2016 2 / 58
Algèbre relationnelle Introduction
Le modèle relationnel
Inventé par Codd (IBM) en 1970
Fondements théoriques basés sur la théorie des relations.
Propose un modèle pour la modélisation et l’interrogation de données
Facile à traduire dans des langages “réels” (ex. SQL)
SB AD FC Janvier 2016 3 / 58
Algèbre relationnelle Les tables/relations
Les tables/relations
SB AD FC Janvier 2016 4 / 58
Algèbre relationnelle Les tables/relations
Relations
Exemple
ville : ensemble de noms de villes
heure : ensemble de chaînes de caractères de la forme XYhZT où X,Y,Z,T
sont des chiffres.
Train
h-dép dest h-arr prov
13h15 Lyon 15h15 Paris
13h22 Nantes 15h30 Paris
Schéma : Train (h-dép: heure ; dest: ville ; h-arr:heure ; prov:ville)
Arité : 4
Cardinalité : 2
SB AD FC Janvier 2016 5 / 58
Algèbre relationnelle Les tables/relations
Exemple de Relation
Exemple
Table player dans la base tennis
pid name gender code last_name first_name
71 Vince Spadea M USA Spadea Vince
72 Igor Andreev M RUS Andreev Igor
73 Jiri Vanek M CZE Vanek Jiri
74 Benjamin Becker M GER Becker Benjamin
75 Dudi Sela M ISR Sela Dudi
SB AD FC Janvier 2016 6 / 58
Algèbre relationnelle Les tables/relations
Sur la table player
Une table comme player est un tableau à deux dimensions
Chaque ligne ou tuple contient des informations concernant un individu
(ici, un joueur de tennis professionnel).
Ces informations sont des valeurs d’attributs.
Les attributs qui définissent le schéma de la table sont
pid, name, gender, code, last_name, first_name.
Dans la vie d’un table,
on ajoute, on supprime et on modifie souvent les lignes d’une table.
On modifie beaucoup plus rarement les attributs.
SB AD FC Janvier 2016 7 / 58
Algèbre relationnelle Les tables/relations
Schema de la table player
Schema
Le schéma nous donne la liste des colonnes et le type/domaine de chaque
colonne.
Le schéma nous indique de quoi les lignes sont faites.
Table "tennis.player"
Column Type Modifiers
pid integer not null
name character varying(30) default NULL::character varying
gender character varying(1) default NULL::character varying
code character varying(3) default NULL::character varying
last_name character varying
first_name character varying
Indexes:
"Player_pkey" PRIMARY KEY, btree (pid)
SB AD FC Janvier 2016 8 / 58
Algèbre relationnelle Formalisation
Formalisation
SB AD FC Janvier 2016 9 / 58
Algèbre relationnelle Formalisation
Un peu de formalisation
Domaine : ensemble dénombrable d’éléments, (entiers, chaines de
caractères, date, ...)
Un domaine peut se définir
par extension (en donnant laliste de toutes les valeurs possibles)
par intention (en en donnant une propriété caractéristique).
Produit Cartésien d’une liste de domaines D1,D2,...,Dk, noté
D1×D2× · · · × Dk
est l’ensemble des k-uplets (ou tuples)
(v1,v2,...,vk)
où, pour chaque i,viDi.
SB AD FC Janvier 2016 10 / 58
1 / 29 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !