fiche_BDD1

publicité
Base de données
PSQL, PG_ DUMP
Extraire les données et requetes SQL d’une base de données (DB) sans les informations propriétaires
de ses tables, sauvegarder dans un fichier (file) : pg_dump –h serveur –no-owner –x –f file DB
Visualiser le contenu d’une Base de données : more.
Insérer les données d’une Base de donnée en utilisant une sauvegarde faite dans un fichier : psql –f
file login.
Lister les tables d’une base de données \d ou \dt.
Différents modèles de base de données :
Modèle hiérarchique, modèle réseau, modèle relationnel, modèle déductif, modèle objet.
Schéma Relationnel
Ne pas mettre l’entité du schéma que l’on veut représenter !!
Entité, Attribut, Association, Attribut d’association (Acteur, joué dans <cachet> Film)
Règle pour passer d’un modele Entité Association à un modèle relationnel :
 Règle 1 : chopper toutes les entités et lister leurs attributs, souligner la clé primaire.
 Règle 2 : Types d’associations binaires avec cardinalités 1,1  intégrer dans l’entité auquel
correspond la cardinalité 1,1 la clé étrangère, ainsi que l’attribut d’association qu’elle pointe.
 Règle 3 : Pour toutes les cardinalités N,N : si l’association n’est pas déjà traités dans la règle 2
alors {
Créer une « entité » à partir de l’association reliant les deux entités à cardinalités N,N dans laquelle il
faudra mettre les deux clés étrangères correspondantes et les attributs d’association.
 Cas particulier (0,1) appliquer la règle 2 si le cas 0 est rare ou la règle 3 si le cas 0 est
fréquent.
Entité faible : Quand on n’a pas d’identifiant unique pour une entité mais que celle-ci dépend d’une
autre entité. Exemple du cours : salle est une entité faible de bâtiment car il existe plusieurs salles
Cordier C dans Paris mais qu’une seule dans le bâtiment Rue des Saint Pères. Dans le cas d’une entité
faible, l’identifiant est la clé primaire + la clé étrangère : A(I, #I’).
Algèbre Relationnel

La sélection : extrait les tuples vérifiant une condition booléenne.
Notation :

La projection : supprime les doubles, peut suivre un select.
Notation :

select(table, condition).
project(table, attribut de la table).
Union, différence, intersection, jointures (
), division
Langage SQL
Cf psql.doc
Le langage SQL n’est pas un langage procédural, c'est-à-dire qu’il n’y a pas d’ordre précis
dans les requêtes.
Les contraintes d’intégrités
Contrainte d’intégrité : permet la cohérence d’une SGBD  que les données saisies dans la base
soient conformes aux données attendues. Se fait par les mots clés : Constraint, Check, not null…
Penser à nommer les contraintes pour les reconnaître plus facilement.
Contrainte d’intégrité d’une clé primaire : les attributs choisis ne peuvent pas prendre la valeur null
et deux tuples ne peuvent avoir la même combinaison de valeurs pour ces attributs.
Clause PRIMARY KEY
Contrainte d’intégrité d’une clé étrangère (CI d’existence ou référence) : il est impossible de rentrer
des valeurs dans des champs qui sont des clés étrangères si ces valeurs ne sont pas déjà présentes
dans la table référencé par ces clés sous forme d’une clé primaire. Clause FOREIGN KEY
Index, vues
Avantages d’un index : accélère l’accès aux tuples à partir de certains attributs (clé primaires,
étrangères, attribut de selection). Inconvénients : ralentit la mise à jours des attributs car entraîne
une mise à jour de l’index.
La vue représente une sorte d'intermédiaire entre la base de données et l'utilisateur. Cela implique
une restriction d'accès à la table pour l'utilisateur, c'est-à-dire une sécurité des données accrue et un
regroupement d'informations au sein d'une entité.
Création, modification, suppression
Create table « nom de la table » (nomColone type de données, nomColone2 type de données2…) ;
Création et insertion à la suite :
Create table « nom de la table » (nomColone type de données, nomColone2 type de données2…) as
select nomChamp1, nomChamp2… from « nom de la table 2 » where condition ; Fonctionne de la
même manière avec Insert into.
Alter table pour modifier une table, associé à add pour ajouter des colonnes, modify, et drop column
pour supprimer une colone. Rename table pour la renommer.
Modifications des tuples :
Insert into nomtable(colones…) values (valeurs..) ;
Update nomtable set nomColone = valeur ou expression where condition ;
Delete from nomtable where condition. Ou Truncate Table nomtable  supprime tous les tuples
contenus dans la table.
Utiliser la clause cascade quand on a des clés étrangères.
Requêtes SQL
Group by : permet de faire des regroupements. Par exemple select avg (prime) from gain group by
nomjoueur ; calcule la moyenne des primes de chaque joueur tandis que select avg(prime) from gain
calcule la moyenne de l’ensemble des primes.
Téléchargement