Admin:Eya Résumé Base de Données Définitions : Une - TopicsExpress



          

Admin:Eya Résumé Base de Données Définitions : Une donnée : est une information qui peut effectuer des traitements Une information : c’est une donnée regroupée avec d’autres liées à un contexte donnée. Entité : c’est la représentation d’un objet du monde réel ayant une existence propre. (Exp : Etudiant, Livre, classe…) Propriété (attribut) : représente les caractéristiques les propriétés de l’entité. Association : c’est un outil permettant de représenter les liens entre les entités. Base de Données : est un ensemble de données non redondantes, structurées et persistantes (non volatiles) relatives à un ou plusieurs domaines du monde réel. Intérêts de l’utilisation d’une BD : -Centralisation -Indépendance entre données et programme -Intégrité de données -Partage de données (concurrence d’accès) Intégrité de données : Ensemble de règles appelées contraintes d’intégrité qui décrivent les propriétés qui doivent être vérifié par les données pour être enregistrées. Elle permet d’assurer la cohérence des données. Modèles de BD : -Hiérarchique -Réseau -Modèle Relationnel : le principe consiste à représenter aussi bien les objets que les liens à l’aide d’une structure appelée table. Système de Gestion de Base de Données(SGBD) : c’est un logiciel qui permet de créer, de gérer et d’interroger efficacement une BD. (Pour dialoguer avec le SGBD il faut utiliser le langage SQL(Structured Query Language)) Les fonctions de bases d’un SGBD : -Définition des données -Manipulation des données -Intégrité des données -la gestion des accès concurrents -la confidentialité -la sécurité de fonctionnement Table : une table est un ensemble de données relatives à un même sujet(ou entité) et structurées sous forme de tableau. Colonne(ou champ ou propriété) : Dans une table une colonne est une propriété élémentaire de l’objet décrit par cette table. Ligne (n-uplet ou enregistrement) : Une ligne correspond à un objet représenté par la table. Clé primaire (identifiant=primary key) : c’est un identificateur unique pour la table qui correspond à une colonne ou un ensemble de colonnes. Clé étrangère =référence =contrainte d’intégrité référentielle = foreign key Un lien entre deux tables A et B est représenté par l’ajout dans la table B d’une nouvelle colonne correspondant à la clé primaire de la table A. cette nouvelle colonne est appelée Clé étrangère. Contraintes d’intégrité : Ensemble de règles appliquées à une colonne ou une table et qui doit être toujours vérifiée. (les principales contraintes d’intégrité sont : contraintes de domaines, contraintes d’intégrité de table et contrainte d’intégrité référentielle) Démarche de détermination de la structure d’une BD : - Délimiter le domaine - Déterminer les colonnes Liste des colonnes Nom Colonne Description Types de données Taille Obligatoire Valeur par défaut Valeur autorisé Sujet ….. ………. …… ….. …….. ……… …… …….. -Déterminer les tables Liste des tables Nom table Description Sujet - Affecter les colonnes aux tables - Déterminer les clés primaires - Déterminer les liens entre les tables - Analyser et affiner la structure de la BD Mode assisté : permet de créer les éléments de la BD à travers des assistants graphiques Formulaire : permet aux utilisateurs d’interagir avec l’application à travers des champs de type texte, liste..plusieurs opérations offertes par le formulaire: constatation, insertion, modification et suppression des données les Etats : ils permettent aux utilisateurs d’obtenir des données afin de les imprimer ou les stocker sous une forme quelconque Mécanismes de sécurité : -L’authentification -Les droits et les privilèges -Les logs ou traces -Tolérance aux pannes -Sauvegarde et restauration -Mécanisme transactionnels NB : Exemples pour les relations : • Relation un à plusieurs Un élève appartient à une seule classe. Dans une classe on trouve plusieurs élèves ELEVE ∞ 1 CLASSE Donc CLASSE table mère et ELEVE table fille. Comme CLASSE est mère alors sa clé primaire migre à la table fille qui est ELEVE et sera une clé étrangère Description textuelle : ELEVE (num_inscription, nom, prenom, date_naissance, adresse, id_classe#) CLASSE(id_classe, nom_classe) Description graphique : • Relation plusieurs à plusieurs Un athlète peut participer à plusieurs courses. Dans une course on trouve plusieurs athlètes. Dans ce cas la relation participer se transforme en un table identifié par deux clés primaires qui sont les clés primaires de la table athlète et la table Courses( les deux clés seront primaires et étrangères au même temps dans la nouvelle table) Description textuelle : athlete (anum,anom,aage) participation (cnum#,anum #) course (cnum,cnom) Description graphique : Création des tables en mode commande (SQL) Exemple : On va créer les tables décrites par la description textuelle ci-dessous, sachant que le titre et la date fin d’abonnement sont obligatoires et que le nombre maximal d’emprunt doit être ≥0. Film(id_film, titre) Client(id_client, nom, date_fin_abonnement, nbmaxemprunt) Cassette(id_cassette, id_film #) Emprunt (id_client #, id_cassette #, date_emprunt) CREATE TABLE Film( id_fim INT(3) PRIMARY KEY, titre VARCHAR(10) NOT NULL,); CREATE TABLE Client( id_client INT(3) PRIMARY KEY , nom VARCHAR(10) NOT NULL , date_fin_abonnement date NOT NULL , nbmaxemprunt CHECK(nbmaxemprunt >=0)) ; CREATE TABLE Cassette ( id_cassette INT(3) ON DELETE CASCADE, id_client INT(3) ON DELETE CASCADE, date_emprunt date, CONSTRAINT pk PRIMARY KEY(id_cassette, id_client), CONSTRAINT fk_cas FOREIGN KEY(id_cassette) REFERENCES Cassette , CONSTRAINT fk_cl FOREIGN KEY(id_client) REFERENCES Client ) ; Modifier la structure d’une table en mode commande (SQL) Rôle Commande Exemple Ajout d’une colonne à la table ALTER TABLE nom_table ADD COLUMN définition_colonne ; ALTER TABLE client ADD COLUMN email VARCHAR(80); Ajout d’une contrainte à la table ALTER TABLE nom_table ADD CONSTRAINT définition_contrainte ; ALTER TABLE article ADD CONSTRAINT PRIMARY KEY (code_article); Modification des propriétés d’une colonne ALTER TABLE nom_table Modify définition_colonne ; On veut élargir la taille de la colonne « email » : ALTER TABLE client MODIFY email VARCHAR(100); Suppression d’une colonne de la table ALTER TABLE nom_table DROP COLUMN nom_colonne ; ALTER TABLE client DROP COLUMN email; Suppression d’une contrainte de la table ALTER TABLE nom_table DROP CONSTRAINT nom_contrainte ; Supprimer la clé primaire de la table article : ALTER TABLE article DROP CONSTRAINTE PRIMARY KEY; Désactiver une contrainte ALTER TABLE nom_table DISABLE nom_contraint ; ALTER TABLE article DISABLE CONSTRAINT PRIMARY KEY; Réactiver une contrainte ALTER TABLE nom_table ENABLE nom_contrainte ; ALTER TABLE article ENABLE CONSTRAINT PRIMARY KEY; Suppression d’une table en mode commande (SQL) DROP TABLE nom_table; Manipulation des données en mode commande Mise à jour de données Insertion des lignes Suppression des lignes Modification des lignes INSERT INTO nom_table(liste_nomcolonne) VALUES(liste_valeurs) ; Exp : INSERT INTO Athlete (num,nom,age) VALUES (123, ‘GUAMOUDI’,45) ; DELETE FROM nom_table WHERE condition ; Exp : DELETE FROM Athlete WHERE age>50 ; UPDATE nom_table SET nom_colonne1=expression1, nom_colonne2=expression2,… WHERE condition ; Exp : UPDATE Athlete SET age=32 WHERE num=100 ; Recherche des données (requêtes) • Recherche de colonne à partir d’une table (projection) SELECT liste_nom_colonne From nom_table ; SELECT * from nom_table ; SELECT DISTINCT(nom_colonne) From nom_table ; RQ : Par défaut les colonnes de la table résultat portent les mêmes noms que ceux de la table de départ ; il est possible de donner aux colonnes de la table résultat des noms différents de ceux de la table d’origine. On doit dans ce cas donner un entête de colonne juste après son nom donné par le paramètre liste_nom_colonne. Cette entête est appelé Alias. • Recherche de ligne à partir d’une table : sélection SELECT */liste_nom_colonne FROM nom_table WHERE condition ; Dans la condition on peut utiliser : Les opérateurs de comparaison (=,>, =, =3 ; 6- Donner les désignations des produits qui ont un prix comprix entre 1500 et 3500 SELECT designation FROM Produit WHERE prix_unit BETWEEN 1500 AND 3500 ; 7- Donner les numéros des commandes qui ont des quantités indéterminées SELECT numcom FROM Commande WHERE qte IS NULL ; 8- Donner La liste des noms et prénoms des clients qui habitent une ville dont Le nom se termine par AA. SELECT nom, prenom FROM Client WHERE ville LIKE ’%AA’ ; 9- Donner la liste des clients dont les villes commencent par Menzel. SELECT * FROM Client WHERE ville LIKE ‘Menzel%’ ; 10- Donner les prénoms des clients dont le nom est Ghdir, Hbibi, Aloui, Malki ou Hilali. SELECT prenom FROM Client WHERE nom IN (‘Ghdir’,’ Hbibi’,’ Aloui’,’ Malki’,’ Hilali’) ; 11- Donner les numéros et les prénoms des clients dont la 3ème lettre de leurs prénoms est h. SELECT numcli, prenom FROM Client WHERE prenom LIKE ‘__h%’; 12- Donner La moyenne des prix des produits SELECT AVG(prix_unit) FROM Produit ; 13- Donner le nombre total des commandes SELECT COUNT(numcom) FROM Commande ; 14- Donner le nombre des clients ayant passé une commande SELECT COUNT(DISTINCT(numcli)) FROM Commande ; 15- Donner la liste des numéros des commandes avec les noms des clients. (Requête de jointure) SELECT numcom, nomcli FROM Commande, Client WHERE Commande.numcli=Client.numcli ; Ou bien(en utilisant les alias) SELECT numcom, nomcli FROM Commande C, Client CL WHERE C.numcli=CL.numcli ; 16- Donner les numéros, les noms et prénoms des clients qui habitent à Mhamdia et dont leur prénom commence par A. SELECT numcli,nom, prenom WHERE ville=’Mhamdia’ AND prenom LIKE ‘A%’ ; 17- Donner la liste des clients ordonnées par ordre alphabétique des noms ; SELECT * FROM Client ORDER BY nom ; 18- Supprimer les produits qui ont une quantité de stock égale à zéro DELETE FROM Produit WHERE qte_stock=0 ; 19- Augmenter Le salaire du vendeur identifié par 125 en lui ajoutant 1500. UPDATE Vendeur SET salaire=salaire+1500 WHERE idvendeur=125 ; 20- Afficher la liste des vendeurs dont le nom commence par S et dont la qualité est déterminée, ordonnée dans l’ordre décroissant des salaires. SELECT * FROM Vendeur WHERE nomvendeur LIKE ‘S%’ AND qualite IS NOT NULL ORDER BY salaire DESC ; Bonne révision et très Bon travail pour l’examen …
Posted on: Tue, 25 Jun 2013 15:50:04 +0000

Trending Topics



Recently Viewed Topics




© 2015