CommencerCommencez gratuitement

Créer un modèle de données en réseau

Dans cet ultime exercice, vous allez créer un modèle de données en réseau. Un cas d’usage typique consiste à trouver tous les trajets possibles qu’un bus peut emprunter d’un lieu à un autre. Chaque itinéraire comporte un lieu de départ et un lieu de destination. Un même lieu de départ ou de destination peut apparaître plusieurs fois. Sur l’image suivante, vous pouvez voir les arrêts et itinéraires possibles des bus. Par exemple, vous pouvez aller de San Francisco à New York, ou de New York à Washington.

Votre tâche consiste à créer la table Trip, à y insérer quelques itinéraires, puis à sélectionner tous les lieux de départ possibles à partir de cette table.

Cet exercice fait partie du cours

<cours>Requêtes hiérarchiques et récursives dans SQL Server</cours>
Voir le cours

Instructions de l’exercice

  • Définissez les champs Departure et Destination, qui ne peuvent pas être NULL.
  • Insérez l’itinéraire de San Francisco à New York pour le Bus 1.
  • Insérez l’itinéraire de Florida à San Francisco pour le Bus 9.
  • Sélectionnez tous les lieux de départ possibles.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

CREATE TABLE Trip (   
    -- Define the Departure
  	___ VARCHAR(255) ___ ___,
    BusName VARCHAR(255) NOT NULL,
    -- Define the Destination
    ___ VARCHAR(255) ___ ___,
);

-- Insert a route from San Francisco to New York
___ ___ ___ VALUES ( ___ , ___ , ___);
-- Insert a route from Florida to San Francisco
___ ___ ___ VALUES ( ___, ___ , ___);
INSERT INTO Trip VALUES ( 'San Francisco', 'Bus 2','Texas');
INSERT INTO Trip VALUES ( 'San Francisco', 'Bus 3','Florida');
INSERT INTO Trip VALUES ( 'San Francisco', 'Bus 4','Washington');
INSERT INTO Trip VALUES ( 'New York', 'Bus 5','Texas');
INSERT INTO Trip VALUES ( 'New York', 'Bus 6','Washington');
INSERT INTO Trip VALUES ( 'Florida', 'Bus 7','New York');
INSERT INTO Trip VALUES ( 'Florida', 'Bus 8','Toronto');

-- Get all possible departure locations
SELECT ___ ___ 
FROM ___;
Modifier et exécuter le code