initiation aux bases de donn es et la programmation v nementielle l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Initiation aux bases de données et à la programmation événementielle PowerPoint Presentation
Download Presentation
Initiation aux bases de données et à la programmation événementielle

Loading in 2 Seconds...

play fullscreen
1 / 19

Initiation aux bases de données et à la programmation événementielle - PowerPoint PPT Presentation


  • 160 Views
  • Uploaded on

Initiation aux bases de données et à la programmation événementielle. Cours N°4 : langage de définition de données. Support de cours de Souheib BAARIR. Page web : pagesperso-systeme.lip6.fr/Souheib.Baarir/bdvba/support.htm E-mail : souheib.baarir@u-paris10.fr

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Initiation aux bases de données et à la programmation événementielle' - issac


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
initiation aux bases de donn es et la programmation v nementielle

Initiation aux bases de données et à la programmation événementielle

Cours N°4 :

langage de définition de données.

Support de cours de Souheib BAARIR.

Page web : pagesperso-systeme.lip6.fr/Souheib.Baarir/bdvba/support.htm

E-mail : souheib.baarir@u-paris10.fr

Université Paris Ouest Nanterre la Défense.

2009-2010.

slide2

Tables Vs. Schémas des tables

  • Une base de données comporte des Tables (relations), dont les formats sont décrits par les Schémas des tables…
  • La plupart des SGBD permettent de créer ces schémas de manière interactive à l’aide de fenêtres de dialogue et d’assistants (Access, Query,…).
  • Cependant, SQL prévoit des instructions particulières pour gérer les schémas…C’est ce qu’on appel le Langage de Définition de Données (LDD).
ldd en sql
LDD en SQL
  • Plusieurs types de requêtes :
    • d’interrogation (LID).
    • de manipulation (LMD).
    • de définition (LDD).
  • CREATE TABLE… : créer une table.
  • ALTER TABLE… : modifier une table.
  • DROP TABLE… : supprimer une table.
slide4

Création de table :

syntaxe générale (simplifiée)

La création d’une table est prévue en SQL via l’instruction CREATE TABLE.

CREATE TABLE table (

champ1 type [(taille)] [NOT NULL]

[,champ2type [(taille)] [NOT NULL]]*

[,CONSTRAINT nom PRIMARY KEY (champi[, champj [, …]]) |

UNIQUE (champk [, champl [, …]]) |

FOREIGN KEY (champm [, champn [, …]]) REFERENCEStableE [(champE1 [,champE2 [, …]])]]*

)

slide5

Création de table :

types de données

  • Un type de données définit le genre de contenu d'un champ.
    • les opérations pouvant être effectuées sur ce champ.
  • Trois catégories de types :
    • Les valeurs numériques.
      • Bit,YesNo,…
      • Numeric, Short, Int, Real, Double,…
      • Autoincrement,…
    • Les dates et les heures.
      • Date.
      • Time. 
    • Les chaînes de caractères.
      • Text, Memo,…
      • Char,…
slide6

Création de table :

Premier exemple

CREATE TABLE article (

[code article] Autoincrement NOT NULL,

[prix article] INT,

[date fabrication] DATE,

CONSTRAINT C PRIMARY KEY ([code article])

)

slide7

Création de table :

Intégrité référentielle

La clause FOREIGN KEYpermet, pour les valeurs du champ indiqué, de faire référence à des valeurs existantes dans un champ d'une autre table. Ce mécanisme s'appelle intégrité référentielle.

Une valeur insérée dans le champ

[référence fournisseur] de la table article doit obligatoirement exister comme clé primaire de la table fournisseur

(le champ [N° Siret])

CREATE TABLE article (

[code article] Autoincrement NOT NULL,

[prix article] INT,

[date fabrication] DATE,

[référence fournisseur] INT NOT NULL,

CONSTRAINT C PRIMARY KEY ([code article]),

CONSTRAINT C1 FOREIGN KEY ([référence fournisseur]) REFERENCES fournisseur([N° Siret])

)

slide8

Modification de table :

syntaxe générale (simplifié)

ALTER TABLE table

ADD COLUMN champ type[(taille)] [NOT NULL] |

ALTER COLUMN champtype[(size)] |

ADD CONSTRAINT … |

DROP COLUMN champ |

DROP CONSTRAINT nom

SQL (de ACCESS) permet de modifier le schéma d’une table par l’instruction

ALTER TABLE, suivie de la spécification de l’opération à effectuer.

slide9

Modification de table :

Premier exemple

ALTER TABLE article ALTER COLUMN [prix article] CHAR(25)

slide10

Suppression de table :

syntaxe générale (simplifiée)

DROP TABLE article

Supprime la table article de notre base de données.

La suppression d’une table se fait par DROP TABLE :

DROP TABLE table

slide11

Exercice :

BD Articles-Fournisseurs

  • Un vendeur veut gérer, de façon automatique, les articles qu’il vend. Sachant
  • qu’un fournisseur est décrit par : un numéro de Siret, une description, et une
  • adresse,
  • qu’un article est décrit par : un code alphanumérique, une description, un prix
  • d’achat et un prix de vente,
  • qu’un article à un seul fournisseur et qu’un fournisseur peut fournir plusieurs
  • articles.
  • Comment construire la base de données correspondante à son besoin ?

Pour décrire les fournisseurs  Une table Fournisseurs.

Pour décrire les articles  Une table Articles.

Pour décrire le lien entre un article et un fournisseur  Clé primaire/clé externe

slide12

La table Fournisseurs

Un fournisseur est décrit par : un numéro de Siret, une description, et une adresse.

CREATE TABLE Fournisseurs (

[N° Siret] INT NOT NULL,

[Description] Text(30),

[Adresse] Text(50),

CONSTRAINT C PRIMARY KEY ([N° Siret])

)

slide13

La table Articles

Un article est décrit par : un code alphanumérique, une description,

un prix d’achat et un prix de vente.

CREATE TABLE Articles (

[Code Article] Text(40) NOT NULL,

[Description] Text(30),

[Prix achat] Real,

[Prix vente] Real,

CONSTRAINT C1 PRIMARY KEY ([Code Article])

)

slide14

Insertion du lien :

Modification de la table Articles

Un article à un seul fournisseur et un fournisseur peut fournir plusieurs articles.

ALTER TABLE Articles ADD COLUMN [Réf fournisseur]INT   

ALTER TABLE Articles ADD CONSTRAINT C2 FOREIGN KEY

([Réf fournisseur]) REFERENCES Fournisseurs([N° Siret])

slide15

Exemple de violation

d’intégrité référentielle

slide16

La table Articles complète, dés la création

CREATE TABLE Articles (

[Code Article] Text(40) NOT NULL,

[Description] Text(30),

[Prix achat] Real,

[Prix vente] Real,

[Réf fournisseur]INT,   

CONSTRAINT C1 PRIMARY KEY ([Code Article]),

CONSTRAINT C2 FOREIGN KEY ([Réf fournisseur]) REFERENCES Fournisseurs([N° Siret])

)

slide17

Les associations (n-n) : problème

Un article à un seul fournisseur et un fournisseur peut fournir plusieurs articles.

Association (1-N)

Articles

Fournisseurs

Un article à plusieurs fournisseurs et un fournisseur fournit plusieurs articles.

Association (N-N) !?

slide18

Les associations (n-n) : solution

Association (N-N)

Deux associations (1-N).

Table(s) intermédiaires.

Articles

ArticlesFournisseurs

Fournisseurs

La clé primaire de la table ArticlesFournisseurs: (Réf Article, Réf fournisseur)

slide19

Création de la table Articles-Fournisseurs

CREATE TABLE ArticlesFournisseurs (

[Réf Articles] Text(40),

[Réf Fournisseurs]INT,   

CONSTRAINT C3 PRIMARY KEY ([Réf Articles], [Réf Fournisseurs]),

CONSTRAINT C4 FOREIGN KEY ([Réf Articles]) REFERENCES Articles([Code Article]),

CONSTRAINT C5 FOREIGN KEY ([Réf Fournisseurs]) REFERENCES Fournisseurs([N° Siret])

)