Автор работы: Пользователь скрыл имя, 17 Ноября 2013 в 19:51, курсовая работа
Une base de données (son abréviation est BD, en anglais DB, database) est une entité dans laquelle il est possible de stocker des données de façon structurée et avec le moins de redondance possible. Ces données doivent pouvoir être utilisées par des programmes, par des utilisateurs différents. Ainsi, la notion de base de données est généralement couplée à celle de réseau, afin de pouvoir mettre en commun ces informations, d'où le nom de base. On parle généralement de système d'information pour désigner toute la structure regroupant les moyens mis en place pour pouvoir partager des données.
1. Considérations théoriques 3
1.1 Notion d’une Base de données 3
1.2 Avantages d’une base de données 3
1.3 Types de bases de données 4
2. Conception des bases de données relationnelles Ошибка! Закладка не определена.
2.1 Modélisation conceptuel Ошибка! Закладка не определена.
2.2 Modélisation logique – relationnelle Ошибка! Закладка не определена.
3. But du projet Ошибка! Закладка не определена.
4. Modèle conceptuel du projet 9
5. Modèle logique du projet Ошибка! Закладка не определена.
6. Modèle relationnel du projet Ошибка! Закладка не определена.
7. Création de la BD Ошибка! Закладка не определена.
8. Interrogations Ошибка! Закладка не определена.
Conclusion: 16
Projet d’année
à Bases de données
Thème : Gestion de la gare routière
Table of Contents
Table of Contents 2
1. Considérations théoriques 3
1.1 Notion d’une Base de données 3
1.2 Avantages d’une base de données 3
1.3 Types de bases de données 4
2. Conception des bases de données relationnelles Ошибка! Закладка не определена.
2.1 Modélisation conceptuel Ошибка! Закладка не определена.
2.2 Modélisation logique – relationnelle Ошибка! Закладка не определена.
3. But du projet Ошибка! Закладка не определена.
4. Modèle conceptuel du projet 9
5. Modèle logique du projet Ошибка! Закладка не определена.
6. Modèle relationnel du projet Ошибка! Закладка не определена.
7. Création de la BD Ошибка! Закладка не определена.
8. Interrogations Ошибка! Закладка не определена.
Conclusion: 16
Une base de données (son abréviation est BD, en anglais DB, database) est une entité dans laquelle il est possible de stocker des données de façon structurée et avec le moins de redondance possible. Ces données doivent pouvoir être utilisées par des programmes, par des utilisateurs différents. Ainsi, la notion de base de données est généralement couplée à celle de réseau, afin de pouvoir mettre en commun ces informations, d'où le nom de base. On parle généralement de système d'information pour désigner toute la structure regroupant les moyens mis en place pour pouvoir partager des données.
Figure 1 Database architecture
On va présenter quelques avantages pour l’utilisation d’une base de données :
Il existe 4 types de bases de données :
BD Objets: organisation des données sous forme d’instances de classes hiérarchisées qui possèdent leurs propres méthodes d’exploitation.
1.2 Description des documents d'entrée et de messages
En conséquence, la base de données «Bus» utilise les entrées suivantes:
1.3 Modèle de base de données infologiques
L'objet de conception infologique - fournir la plus naturelle pour l'homme du moyen de collecte et de présentation de l'information qui doit être stockée dans la base de données créée. Par conséquent infologique essayer de construire un modèle similaire au langage naturel. Les éléments structurels modèles infologiques de base sont des entités, des relations entre eux et leurs propriétés.
2.1.1 Description des entités
Conformément à la description du domaine ont été obtenus les entités suivantes:
"driver" - contient des informations sur les chauffeurs d'autobus;
"Bus" - contient des informations sur les bus;
"station" - contient des informations sur les employés de la société;
"town" - contient des informations sur la destination;
"route" - contient des informations sur les itinéraires de déplacement.
1. Le table conducteur (drivers) contient:
driver_id - code unique du conducteur;
driver_fio - nom du conducteur.
2. Le table bus (Autobus) contient:
bus_id - code unique de l'autobus;
gos_number - le numéro d'enregistrement de l'autobus;
bus_name - bus marque;
driver_id - un code unique pour le conducteur.
3. Tableau gare (gare routière) contient:
station_id - code unique de l'autobus;
station_name - le nom de la station.
4. Table ville (Destinations) contient:
town_id - code unique de la destination;
town_name - le nom de la destination.
5. Tableau itinéraire (routes) contient:
route_id - un code de routage unique,
articles time_out-temps;
arrivée TIME_IN-temps;
town_id - code unique de la destination;
station_id - code unique de l'autobus;
bus_id - un bus de code unique.
2.1.2 Relations
Communication - l'association de deux ou plusieurs entités. Si le but de la base de données a été seulement de garder des données indépendantes séparées, sa structure pourrait être très simple. Cependant, l'une des principales exigences pour l'organisation de la base de données - est de veiller à la possibilité de trouver d'autres entités de la candidature, pour lesquels vous avez besoin d'installer un lien entre eux.
Modèle «entité - relation" est basée sur les 3 principaux éléments structurels:
Essence
- attribut.
- Communication.
Les relations entre les tables dans la base de données peuvent être saisies dans les types suivants:
Le ratio «one to one» (1:1) signifie que chaque enregistrement d'une table correspond à un seul enregistrement d'une autre table;
Le ratio de «un à plusieurs» (1: M) se produit quand un enregistrement est lié à beaucoup d'autres;
Le taux de " plusieurs à un " signifie que de nombreux enregistrements associés à un ( M 1 ) ;
Le ratio de " many to many " (M : N) surgit entre deux tables dans les cas où :
Un enregistrement de la première table peut être associé à plus d'une entrée de la seconde table ;
Un enregistrement de la seconde table peut être associé à plus d'une entrée de la première table .
Un inconvénient de ce modèle est que les mêmes éléments peuvent servir à la fois comme substance et comme un attribut et la qualité de la communication . Dans ce cas , nous supposons que chaque objet ne peut agir comme une composante structurelle . Le schéma du modèle de «l'entité - relation" est donnée en annexe A.
Dans le projet de cours utilisé les types de relations suivantes (tableau 3.1) :
Tableau 3.1 - Classification des obligations
nr |
table parent |
la table fille |
Type de connexion |
1 |
driver |
bus |
1:M |
2 |
bus |
route |
1:M |
3 |
station |
route |
1:M |
4 |
town |
route |
1:M |
Le tableau 3.1 présente la classification des relations entre les tables. Communication comptait parmi les tables «pilote - bus» indique qu'un pilote peut fonctionner sur plusieurs bus. Le second lien «bus - itinéraire» est de type «1: M», comme un bus peut fonctionner sur plusieurs routes. Le troisième lien «gare - itinéraire» indique que c une station peut être envoyé par différentes voies. Le quatrième lien «ville - itinéraire» indique que dans un seul endroit peut être des voies différentes.
Tableau 3.7 Cle
table |
cle |
type de clé |
Drivers |
Driver_id |
primary |
Station |
Station_id |
primary |
Town |
Town_id |
primary |
Bus |
Bus_id |
primary |
Bus |
Driver_id |
regular |
Route |
Route_id |
primary |
Route |
Town_id |
regular |
Route |
Bus_id |
regular |
Route |
Station_id |
regular |
Voici une partie des tables de base de données. Pour chaque domaine, la table doit spécifier la taille du champ (nombre de caractères), le type. Pour les clés primaires d'interdire les valeurs NULL. Pour les autres domaines, la capacité à prévenir les valeurs NULL déterminées par la sémantique du domaine.
Table 5.1.1 drivers
l'attribut name |
le type de champ |
la taille des champs |
admissibilité nuls |
Driver_id |
Int |
4 |
Not null |
Driver_fio |
Varchar |
50 |
Not null |
Table 5.1.2 bus
l'attribut name |
le type de champ |
la taille des champs |
admissibilité nuls |
Bus_id |
Int |
4 |
Not null |
bus_name |
Varchar |
50 |
Not null |
Gos_number |
Varchar |
10 |
Not null |
Driver_id |
Int |
4 |
Not null |
Table 5.1.3 station
l'attribut name |
le type de champ |
la taille des champs |
admissibilité nuls |
Station_id |
Int |
4 |
Not null |
Station_name |
Varchar |
50 |
Not null |
Table 5.1.4 town
l'attribut name |
le type de champ |
la taille des champs |
admissibilité nuls |
Town_id |
Int |
4 |
Not null |
Town_name |
Varchar |
50 |
Not null |
Table 5.1.5 route
l'attribut name |
le type de champ |
la taille des champs |
admissibilité nuls |
Route_id |
Int |
4 |
Not null |
Time_in |
Varchar |
8 |
Not null |
Time_out |
Varchar |
8 |
Not null |
Bus_id |
Int |
4 |
Not null |
Town_id |
Int |
4 |
Not null |
Station_id |
Int |
4 |
Not null |
ANNEXE 2
Un des moyens les plus efficaces et polyvalents pour récupérer des données à partir des tables de base de données est d'utiliser la requête SQL.
Dans la base de données développée fournit les demandes suivantes:
SELECT *FROM drivers
SELECT *FROM town
SELECT *FROM station
SELECT *FROM bus
SELECT *FROM route
SELECT town_name, COUNT(route_id) as count_ FROM route INNER JOIN town;
on route.town_id = town.town_id GROUP BY town_name
3L'échantillonnage dans une certaine gamme
SELECT * FROM route WHERE route.time_out BETWEEN '10-11' AND '14-00'
SELECT * FROM town WHERE town_name like 'М%'
SELECT bus.bus_name,bus.gos_number FROM bus as bus ORDER BY bus.bus_Name
SELECT * from town order by town_name
SELECT t.town_name FROM town as t;
WHERE t.town_id in (SELECT route.town_id FROM route HAVING COUNT(*) between min_
AND max_ group BY town_id ) ORDER BY town_name
SELECT t.town_name FROM town as t;
WHERE t.town_id in (SELECT route.town_id FROM route HAVING COUNT(*) between min_
AND max_ group BY town_id ) ORDER BY town_name
SELECT town_name FROM town, route, bus
WHERE bus.driver_id = ident AND
route.bus_id = bus.bus_id AND
route.town_id = town.town_id
SELECT driver_fio, coUNT(route_id) as count_ FROM route, bus, drivers
WHERE route.bus_id = bus.bus_id AND
bus.driver_id = drivers.driver_id GROUP BY driver_fio ORDER BY driver_fio
SELECT bus.bus_name, driver_fio FROM bus INNER JOIN
drivers ON
bus.driver_id = drivers.driver_id
ANNEXE 1 du code des objets de base de données
# Host: localhost (Version: 5.5.27)
# Date: 2013-10-06 22:10:37
# Generator: MySQL-Front 5.2 (Build 5.76)
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@
/*!40101 SET @OLD_COLLATION_CONNECTION=@@
/*!40101 SET NAMES utf8 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */;
/*!40101 SET SQL_MODE='' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES */;
/*!40103 SET SQL_NOTES='ON' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_
/*!40014 SET UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@
/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
DROP DATABASE IF EXISTS `bus`;
CREATE DATABASE `bus` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `bus`;
#
# Source for table "bus"
#
DROP TABLE IF EXISTS `bus`;
CREATE TABLE `bus` (
`Bus_id` int(10) NOT NULL DEFAULT '0',
`bus_name` char(50) DEFAULT NULL,
`Gos_number` char(50) DEFAULT NULL,
`Driver_id` int(20) DEFAULT NULL,
PRIMARY KEY (`Bus_id`),
KEY `Driver_id` (`Driver_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#
# Data for table "bus"
#
INSERT INTO `bus` VALUES (1,'MAZ','BR ZD 002',2),(2,'MERCEDES','ED RT 656',5),(3,'MERCEDES','OC YU 976',1),(4,'ZAZ','RS YU 978',4),(5,'URAL','SD IO 346',3),(6,'MERCEDES','OR HG 816',7),(7,'MAZ','C GJ 493',6);
#
# Source for table "drivers"
#
DROP TABLE IF EXISTS `drivers`;
CREATE TABLE `drivers` (
`Driver_id` int(11) NOT NULL DEFAULT '0',
`Driver_fio` char(50) DEFAULT NULL,
PRIMARY KEY (`Driver_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#
# Data for table "drivers"
#
INSERT INTO `drivers` VALUES (1,'Moraru'),(2,'Cimpoi'),(3,'
#
# Source for table "route"
#
DROP TABLE IF EXISTS `route`;
CREATE TABLE `route` (
`Route_id` int(10) NOT NULL DEFAULT '0',
`Time_in` char(20) DEFAULT NULL,
`Time_out` char(20) DEFAULT NULL,
`Bus_id` int(10) DEFAULT NULL,
`Town_id` int(10) DEFAULT NULL,
`Station_id` int(10) DEFAULT NULL,
PRIMARY KEY (`Route_id`),
KEY `Bus_id` (`Bus_id`),
KEY `Town_id` (`Town_id`),
KEY `Station_id` (`Station_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#
# Data for table "route"
#
INSERT INTO `route` VALUES (1,'2013-10-03 17:00:00','2013-10-03 19:00:00',3,5,7),(2,'2013-10-
#
# Source for table "station"
#
DROP TABLE IF EXISTS `station`;
CREATE TABLE `station` (
`Station_id` int(10) NOT NULL DEFAULT '0',
`Station_name` char(50) DEFAULT NULL,
PRIMARY KEY (`Station_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#
# Data for table "station"
#
INSERT INTO `station` VALUES (1,'Lipcani 1'),(2,'Lipcani 2'),(3,'Cupcini'),(4,'A 6'),(5,'A 4'),(6,'Gara Singerei'),(7,'Gara Balti'),(8,'Gara Orhei');
#
# Source for table "town"
#
DROP TABLE IF EXISTS `town`;
CREATE TABLE `town` (
`Town_id` int(10) NOT NULL DEFAULT '0',
`Town_name` char(50) DEFAULT NULL,
PRIMARY KEY (`Town_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#
# Data for table "town"
#
INSERT INTO `town` VALUES (1,'Criva'),(2,'Lipcani'),(3,'
#
# Foreign keys for table bus
#
ALTER TABLE `bus`
ADD CONSTRAINT `bus_ibfk_1` FOREIGN KEY (`Driver_id`) REFERENCES `drivers` (`Driver_id`);
#
# Foreign keys for table route
#
ALTER TABLE `route`
ADD CONSTRAINT `route_ibfk_1` FOREIGN KEY (`Bus_id`) REFERENCES `bus` (`Bus_id`),
ADD CONSTRAINT `route_ibfk_2` FOREIGN KEY (`Town_id`) REFERENCES `town` (`Town_id`),
ADD CONSTRAINT `route_ibfk_3` FOREIGN KEY (`Station_id`) REFERENCES `station` (`Station_id`);
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_
/*!40101 SET COLLATION_CONNECTION=@OLD_
En effectuant ce projet d’année, j’ai fait connaissance avec les étapes de travail avec une BD relationnelle qui est une collection de tableaux associés entre eux a base d’une colonne commune. Le system de BD relationnelles Oracle nous met a la disposition une BD facile en compréhension, en utilisation et suffisamment flexible pour satisfaire toutes les nécessités de la BD.