SGBD (Système de Gestion de Base de Données) et SQL Plan • Rappel: – Rappel Bas

SGBD (Système de Gestion de Base de Données) et SQL Plan • Rappel: – Rappel Base de Données – Définition d’un SGBD • SQL: Langage de base d’un SGBD: – Langage de définition de données : LDD – Langage de manipulation de données : LMD – … • PL/SQL: Langage procédural : – Introduction à PL/SQL – Les structures de contrôle – Interaction avec un SGBD (Oracle) – … Rappel Rappel: Base de Données • Définition de Base de Données – Une Base de Données (BD) : ensemble de données structurées accessible à plusieurs utilisateurs en même temps. • Objectifs de Base de Données – Élimination de la redondance des données. – Indépendance entre les programmes et les données : on peut isoler le niveau utilisation (application) de l'organisation physique de données. – Intégration de données : intégration de toutes les données de l'entreprise dans un réservoir unique de données. Comment structurer les données ? •Les données sont représentées dans des tables •Le découpage en tables demande une analyse et une optimisation •L’analyse doit aller au-delà des besoins immédiats (abstraction) Base de données = ensemble de tables • Chaque table a un nom unique • Chaque table contient les données relatives à des entités de même nature. • Chaque ligne d’une table décrit les données relatives à une entité. • Chaque colonne d’une table décrit une propriété des entités • Les noms de tables et de colonnes constituent le schéma de la base. • La gestion d'une base de données pose des problèmes complexes. • Cette gestion est assurée par des logiciels spécialisés : => les Systèmes de Gestion de Bases de Données (SGBD) Définition d’un SGBD Qu'est-ce qu'un SGBD (ou DataBase Management System - DBMS) ? Logiciel permettant de gérer efficacement de grandes bases de données. Exemple : Oracle, DB2, SQL Server, MySQL, PostgreSQL, Microsoft Access, ... Objectifs des SGBD • Organisation des données : le SGBD organise les données en tables permanentes: • stockées sur disque; : le SGBD crée les mécanismes garantissant un accès rapide aux données; • Gestion des données : le SGBD garantit l'évolution cohérente des données; il vérifie que les contraintes (unicité, référence entre tables, etc.) sont respectées. • Accès aux données : le SGBD permet l'accès aux données à la fois par les utilisateurs et par les programmes de traitement de données. LE LANGAGE SQL (Structured Query Language) 10 • Les SGBD présentent une interface externe sous forme de langage de requêtes. • Celui-ci permet de spécifier les données à sélectionner ou à mettre à jour sans dire comment les retrouver. • Plusieurs langages permettant de définir (de créer), de manipuler et de contrôler les données relationnelles ont été proposés: • QUEL (QUEry Language), • QBE (Query By Example) et • SQL (Structured Query Language). • L'algèbre relationnelle est la base de développement du langage SQL. Introduction Le Langage SQL • SQL : Structured Query Language (Langage d’interrogation structuré) • Développé chez IBM (1970-80) • Devenu une norme en 1986 • SQL est un Langage de gestion de bases de données pour : – Interroger une base de données – Mettre à jour les informations contenues dans les tables de la base de données – Définition et Modification du schéma des tables de la base de données – … 11 12 • Aujourd'hui, le langage SQL est normalisé, et est le standard d'accès aux bases de données relationnelles. • SQL est un langage simple et concis. • Il est utilisable directement sur un terminal grâce à l'utilitaire interactif SQL (SQLPLUS, …) • ou dans un langage hôte (COBOL, C, C++, JAVA (JDBC), …) Le Langage SQL 13 Le Langage SQL • Le langage SQL est basé sur un ensemble d'opérations à effectuer sur des tables. • Ces opérations constituent d ’une part l’algèbre relationnelle et d ’autre part des opérateurs très utiles tels que le tri et les calculs (agrégats). • SQL est non-procédural : SQL est un langage de requêtes qui permet à l’utilisateur de demander un résultat sans se préoccuper des moyens techniques pour trouver ce résultat : • C’est l’optimiseur du SGBD qui se charge de cette tâche. 14 Les sous-langages de SQL • LDD : Langage de Définition des Données – Création, Modification et Suppression des objets – Objets : tables, index, vue, …. • LMD : Langage de Manipulation des Données – Ajout, Modification et Suppression des données – Sélection (recherche) de l’information • LCD : Langage de Contrôle de l’accès aux Données: – Gestion des privilèges d'accès aux données – Notion de rôles et de privilèges • LCT: Langage de Contrôle des Transactions – Gestion de la concurrence des opérations – … Subdivisions du SQL LCT: SET TRANSACTION, COMMIT, ROLLBACK LDD: CREATE, ALTER, DROP LMD: SELECT, INSERT, UPDATE, DELETE LCD: CONNECT, GRANT, REVOKE Programmation SQL: DECLARE, FETCH, PREPARE, DESCRIBE, EXECUTE Langage SQL – Syntaxe général • SQL est insensible à la casse (majuscule/minuscule) des caractères. • Commentaires : /* … */ • Chaîne de caractères : suite de caractères entre deux apostrophes. • Noms des objets (tables) : doivent commencer par une lettre et ne contenir que des caractère de A à Z, les chiffres de 0 à 9 et le caractère souligné _ (max = 128 caractères) . • Liste : la virgule est utilisée comme séparateur pour les éléments de la liste. 16 SQL - LDD Langage de Définition de Données : Langage de définition de données : LDD • La définition de données dans SQL permet la définition des objets (tables, …) manipulés par le SGBD. • Les commandes du LDD sont : – CREATE : création des objets. – ALTER : modification de la structure des objets. – DROP : suppression des objets. LDD: Syntaxe de Création des tables • La Création d’une table consiste à définir: • son nom, • les colonnes qui la composent • et leurs types. Elle se fait avec la commande SQL : CREATE TABLE ... … … 20 Syntaxe de Création des tables Syntaxe simplifié de la commande CREATE : create table nom_table (colonne1 type1(taille), colonne2 type2(taille), ……………………. constraint nom_contrainte type_contrainte, ……………………. ); 3 Types de Contraintes CHECK (NOT NULL, UNIQUE) FOREIGN KEY PRIMARY KEY 21 Syntaxe de Création des tables Exemple -Création de Table contenant ‘les services d’une entreprise’ CREATE TABLE service (IdService CHAR(3), NomService VARCHAR(30), CONSTRAINT pk_service PRIMARY KEY(IdService) ); • CHAR : stocke des chaînes comportant au maximum 255 caractères dans une colonne de longueur fixe : CHAR(n). • VARCHAR: Il stocke jusqu'à 4000 caractères dans une seule colonne pour des chaînes de longueur variable. • La taille indique la valeur maximale de la longueur du champ. • Les types de données possibles sont : – NUMBER(n,m) : stocke les nombres en général entiers positifs et • n : varie de 1 à 38 et indique le nombre maximum des chiffres à stocker. • m : indique le nombre de chiffres situés à droite de la virgule, – … voir page suivante … Création des tables Définition des colonnes : les types de données create table nom_table (colonne1 type1(taille), colonne2 type2(taille), ……………………. constraint nom_contrainte type_contrainte, ……………………. ); • CHAR : stocke des chaînes comportant au maximum 255 caractères dans une colonne de longueur fixe : CHAR(n). Si on ne spécifie pas la longueur : CHAR, une colonne de ce type ne stocke qu'un seul caractère. • VARCHAR / VARCHAR2 : Il stocke jusqu'à 4000 caractères dans une seule colonne pour des chaînes de longueur variable. • LONG : donnée de type caractère variable allant jusqu'à 2 G. Mais on ne peut pas employer de fonctions intégrées ni d'opérateurs avec ce type (pour chercher ou modifier le contenu d'une colonne de ce type). On peut stocker et récupérer ces données mais pas les manipuler. • DATE, TIME, … : permet de stocker des informations concernant les dates et les heures (voir page suivante types de donnée temporels). Création des tables: Définition des colonnes : Les types de données Création des tables: Définition des colonnes : Les types de donnée temporels – DATE : date du calendrier entre le 1 janvier 1 et 31 décembre 9999. – TIME : Temps sur 24 heures – TIMESTAMP : DATE + TIME. • Exemples de colonnes : – date_naiss DATE format iso : ‘aaaa-mm-jj’ – heure_naiss TIME format iso : ‘hh:mm:ss.nnn’ – date_heure_naiss TIMESTAMP format iso :’aaaa-mm-jj hh:mm:ss.nnn’ 24 Création des tables: Définition des colonnes : les types de donnée BLOB • BLOB : Binary Large OBjects • Famille de type : – Image – Son – Vidéo – … 25 Exemple : Créer la table Produit ayant comme schéma : Produit (Numprod, Desprod, Couleur, Poids, Qte_stk, Qte_seuil, Prix) Avec: Numprod : de type numérique de taille 6, Desprod : de type caractère variable de taille 15, Couleur : de type caractère sur une position, Poids : de type numérique sur huit positions dont trois chiffre après la virgule, Qte_stk : de type numérique sur sept positions dont trois chiffres après la virgule, Qte_seuil : de type numérique sur uploads/Management/ cours-sql-1.pdf

  • 23
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Fev 14, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.9761MB