We consider a set of towns connected together by a
road network. Some connections between cities are one-way and others
are double-ways. Each city is characterized by its name, its population
and its membership to a department and a region. It will be considered
thereafter, and to simplify the presentation, that the road "network"
consists of the cities represented on the following diagram :
The numbers represent distances between cities.
Data
dictionary
Mnemonic
Wording
Ville
Name of the city
Population
Number of inhabitants in the city
NumDept
Number of the department in which the city
is
NomDept
Name of the department in which the city
is
NumRegion
Number of the region in which the city is
NomRegion
Name of the region in which the city is
Distance
Distance, in kilometers, between 2 cities
To model
the distance between 2 cities, the attribute "Ville"
will be brought to play two roles :
1- That
of the city of departure : attribute "VilleDepart"
2- That of the city of arrival : attribute VilleArrivee"
In the case of a double-ways connection between
2 cities, the same city will be successively considered
as city of departure then city of arrival. In our case,
for example B-C and C-B or B-D and D-B.
If the connection between two cities is one-way, in our example
E-B and E-F, one of the 2 cities will play only one of the 2 roles:
City of departure or City of arrival, but will be able to play two
roles if it is the object of a connection with a double-ways with
another city : for example B.
Diagram of data
For a further information on the different stages
for building the diagram of data refer, in these pages, to the column
DB Design.
The attributes VilleDepart, VilleArrivee, Distance
were not classified in the preceding stage, they intervene in a
compound FD which is the following one :
The "optimal" data structure is the following
one (keys are in bold type):
In this diagram, relations between the
table "Distances" and the table "Villes"
are not represented because they depend on treatments,
and so on various roles that attribute Ville is going
to play according to the questions that will be asked.
Content
of the table "Distances"
VilleDepart
VilleArrivee
Distance
A
E
50
A
F
60
B
C
50
B
D
60
C
B
50
D
B
60
D
E
30
E
A
50
E
B
60
E
D
30
E
F
100
F
A
60
Queries
To visualize the contents of each table of the database,
type :
SELECT * FROM Name_of_the_table;
in a frame containing the button "Execute".
Note to english readers : The value
of a string attribute must be spell in french. To see the real content
of string attributes, use the command above.
Question 1 Display, by region and department, the number of cities having
more than 100000 inhabitants. (Answer)
Question 2 Displaythe list of all the one-way connections between
two cities for which the population of one of the 2 cities is lower
than 80000 inhabitants. (Answer)
Question 3 Display the list of cities, distant from 2 road sections, and
the distance which separates them. (Answer)
Question 4 Displaythe list of cities, which can be distant from
4 road sections (there can indeed be shorter connections into 2
or 3 sections), and the distance which separates them. (Answer)
Display the number of inhabitants per region and department. We
suppose that the population of a region is that of the cities which
are part of the road network (Answer).
Give the name of the region which has the longest road network and
the number of kilometers of this network.
This question must be treated in a "static" way, because
it implies the creation of work tables. (Answer)