Le blog de Bastien

Le blog de Bastien

SGBDR

  1. Les bases de données

 

  • Structure de stockage de données (stockage [bas niveau → fichier] = disque, RAM)

  • Moteur (C.R.U.D → create, read, update & delete → logique ou physique)

  • Les BD proposent un vision (paradigme)

    ex : SGBDR = table en relation, SGBDOO = objets en relation, SGBDNoSQL → Twitter, google, Amazon (Sharding) = graphe, document, tableau, clé-valeur, …

  • Communication en réseau (paradigme Client-Serveur)

 

1970 → langages différents

IBM a créer une norme, le langage SQL (Structured Query Langage) et l'a déposer auprès de l'ANSI (American norm standard institute).

 

  1. Structure d'une base de données relationnelle

 

Vue d'en haut, c'est un graphe (nœud reliés entre eux par des segments ou arc ex : représentation des atomes) ou les nœuds sont des TABLE et les arcs sont des relations.

 

Ex :

 

 

 

Si l' »ID » est déclarer comme PK (Primary Key) les valeurs de « ID » ne peuvent pas être identique.

 

SQL : CREATE TABLE TABETU (ID Integer Primary Key, Nom Varchar (32), Prénom varchar (32), Sexe Char[1])

 

Lorsqu'on veux relier une table à une autre, si par exemple on veux relier la table TABFORMATION à TABETU, il faut rajouter une colonne dans TABEETU.

 

 

 

 

 

IDF étant une FK (Foreign Key) relié à ID (en PK) de la table TABFORMATION.

 

SQL : CREATE TABLE TABETU (ID Integer Primary Key, Nom Varchar (32), Prénom varchar (32), Sexe Char[1], IDF Integer Foreign Key References TABFORMATION(ID)) ;

 

On fait la même chose si on veut rajouter une table TABTYPETU, on rajoute une colonne à TABETU.

 

 

 

 

 

 

 

  1. Le langage standard SQL

 

/! Attention aux différents dialectes SQL !

 

 

 

Deux parties :

 

    • DDL = Data Définition Langage → CREATE, DROP TABLE, ALTER TABLE (Structure)

    • DML = Data Management Langage → C.R.U.D (Create = INSERT, READ = SELECT)

 

 

INSERT INTO NomTable (col, … ) VALUES ('_', '_', '_') ;

SELECT projection (col, …)

FROM table(s)

WHERE condition1

AND condition2

OR condition3

ORDER BY colonne(s)

 

Exercice : réaliser le modèle de données puis le schéma relationnel avec le langage UML des spécifications suivantes :

 

  • un client est défini par un nom, prénom et adresse

  • un client passe des commandes

  • une commande est caractérisée par une date, des produits commandés avec leurs quantités commandés, leur prix et les totaux

  • un produit est caractérisé par un code, une désignation et un prix unitaire

 

 

UML :

 

 

Un nœud ne supporte pas d'aller de plusieurs à plusieurs (N à N) il faut donc crée la table « LIGNE » qui permet d'aller de un à plusieurs (1 à N).

PFK (Primary Foreign Key) = « #machin »

 

CLIENT (Idclient, nom, prénom, voie, CP, ville)

COMMANDE (Idcommande, date, total, #Idclient)

PRODUIT (Code, désignation, prix unitaire)

LIGNE (Quantité_commandée, #Idcommande, #Code)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DDL → Data Definition language [SQL]

 

  1. Structure de données = tables, vues (mémoire, materalisé)

 

La vue est le résultat d'un SELECT (calcul)

 

Sur ces structure, on fait un C.R.U.D (Create, Read, Update & Delete) → CREATE TABLE, SELECT sur des tables système, ALTER TABLE, DROP TABLE

 

  1. Privilèges (droits)

 

DBA = Data Base Administrator (→ super administrateur)

 

  1. Optimisation

 

Les optimisation de bases sont les clés primaires et secondaires.

 

Création d'indexes → Créer des DBSpace qui permet une recherche plus rapide, une recherche saltatoire (par saut)

 

  1. Architecture d'un SGBDR

 

Isoler & protéger → créer un systèmes en couches (Layers)

 

Pour cela on créer des applications et des vues en l'utilisateur et la BDD.

 

 

 

 

Application : (ne change jamais)

 

Vue : Moyenne (nom, moyenne)

 

Eleve (IdElve, nom)

Tables : Note (IdN, note, #mat, #IdEleve)

Matière (IdM, nom, coef, …)

 

 

La requête SQL : CREATE TABLE :

 

CREATE TABLE NomTable (id primary key (surrogate Key) → « clé artificielle » auto-incrémentée

 

 

 

CREATE TABLE PRODUIT (idProd integer primary key …

Code CHAR(10) unique,

désignation VARCHAR(32),

prix décimal(6,2))

 

Squirrel + Derby (embarqué)

 

  1. Création de table

 

 

 

 

CREATE TABLE TABPRODUIT (idProd Integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), code char(8) unique, designation VARCHAR(32),
prix DECIMAL(6,2))

INSERT INTO TABPRODUIT (code, designation, prix) VALUES ('MOT123', 'VESPA', 1099.99)

INSERT INTO TABPRODUIT (code, designation, prix) VALUES ('MOT127', 'PEUGEOT', 1099.99)

CREATE INDEX LADESIGNATION ON TABPRODUIT(designation)

CREATE INDEX LEPRIX ON TABPRODUIT(prix)


ALTER TABLE TABPRODUIT ADD CONSTRAINT ch_prix CHECK(prix >0 AND prix < 50000)

ALTER TABLE TABPRODUIT ALTER COLUMN code NOT NULL
ALTER TABLE TABPRODUIT ALTER COLUMN designation NOT NULL
ALTER TABLE TABPRODUIT ALTER COLUMN prix NOT NULL

 

Exemple d'un diagramme UML réaliser selon l'exercice du cours.

UML Exemple.jpg



27/04/2014
0 Poster un commentaire

A découvrir aussi


Ces blogs de Informatique & Internet pourraient vous intéresser

Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour