Oracle

Fermé
maywa23 - Modifié par BmV le 2/06/2011 à 12:01
 Utilisateur anonyme - 2 juin 2011 à 13:23
Bonjour,

Qui peut m'aider a faire mon exercice d'oracle (je suis nulle en programmation)
merci d'avance

On est dans le cadre d'une institution universitaire et on se propose d'étudier la base de données de la bibliothèque. Dans cette base on enregistre des livres (table livre), des abonnés qui sont des étudiants et des enseignants (table abonne). Ces abonnées peuvent emprunter des livres et doivent les retourner aussi à des dates données. Suite aux opérations d'empreint des sanctions peuvent avoir lieu, une sanction touche un abonné suite à l'empreint d'un livre à partir d'une date (date_deb_sanction) jusqu'à une date de fin de sanction.
Le schéma relationnel de la base est donné par :

abonne (num_abonne, nom, prenom,email,type_abonnee)
livre (cote,titre,nb_livre_total,nb_livre_disponible)
emprunter (#num_abonne,#cote,date_emprunt, date_retour)
sanctions (#num_abonne,#cote,date_deb_sanction, date_fin_sanction)

NB : Dans la relation abonnee le champ type_abonnee détermine si l'abonné est un étudiant ou un enseignant.
La durée de d'emprunt d'un livre pour un enseignant est de 7 jours.
La durée de d'emprunt d'un livre pour un étudiant est de 3 jours.
La valeur de la date système sous oracle est : sysdate.

Les champs soulignés présentent des clés primaires et ceux précédés par un # présentent des clés étrangères.

Ecrire un bloc PL/SQL qui affiche toutes les opérations d'emprunts effectués par les abonnées entre deux dates données (les deux dates seront choises par le développeur). Vous allez afficher les numéros, nom et prénom de chaque abonné suivi des livres empruntés. Vous allez afficher le cote du livre emprunté, la date de début emprunt et la date de retour.


2 réponses

Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 101
2 juin 2011 à 12:04
qu'on t'aide, pas de problème...

qu'on fasse ton travail à ta place, c'est hors de question.

si tu veux un coup de main, montre nous ton travail, et dit nous où tu bloque.
0
merciiiiii beaucoup maisj'avais pas l'intention de vous laisser faire mon travail a moi
voila mon essai, je me suis bloquée a terminée les conditions.....


CREATE TABLE abonne
(
Num_abonne NUMBER(8) CONSTRAINT pk_abonne PRIMARY KEY,
nom VARCHAR2(63) NOT NULL,
prenom VARCHAR2(63),
email VARCHAR2(63),
type_abonnee VARCHAR2(63),
);

CREATE TABLE livre
(
cote NUMBER(6) CONSTRAINT pk_livre PRIMARY KEY,
titre VARCHAR2(63) NOT NULL,
nb_livre_total NUMBER,
nb_livre_disponible NUMBER,

);

CREATE TABLE emprunter
(

Num_abonne NUMBER(8) CONSTRAINT fk_emprunter
REFERENCES abonne(numero),

cote NUMBER(6) CONSTRAINT fk_emprunter
REFERENCES livre(numero),

date DATE CONSTRAINT pk_emprunter PRIMARY KEY,
date_retour DATE,

);


CREATE TABLE sanctions
(

Num_abonne NUMBER(8) CONSTRAINT fk_emprunter
REFERENCES abonne(numero),

cote NUMBER(6) CONSTRAINT fk_emprunter
REFERENCES livre(numero),

Date_deb_sanction DATE CONSTRAINT pk_sanctions PRIMARY KEY,
date_fin_sanction DATE,

);

BEGIN

SELECT num_abonne, nom, prenom
FROM abonne

UNION


SELECT cote, date_deb_sanction, date_fin_sanction,
FROM sanction


WHERE ..................
0
Bonjour,

Suggestion :

Se munir d'une bonne documentation :

Oracle_Database_PLSQL_Language_Reference.pdf
https://docs.oracle.com/cd/B28359_01/appdev.111/b28370.pdf

Oracle_DataBase_Advanced_Developers_Guide.pdf
https://docs.oracle.com/cd/B28359_01/appdev.111/b28424.pdf

Oracle_DataBase_SQL_Language_Reference.pdf
https://docs.oracle.com/cd/B28359_01/server.111/b28286.pdf

Oracle_DataBase_Object-Relational_Developers_Guide.pdf
https://docs.oracle.com/cd/B28359_01/appdev.111/b28371.pdf

Oracle_DataBase_Globalization_Support_Guide.pdf
https://docs.oracle.com/cd/B19306_01/server.102/b14225.pdf

Oracle_DataBase_PLSQL_Packages_and_Types_Reference.pdf
https://docs.oracle.com/cd/B19306_01/appdev.102/b14258.pdf

Cdt

Lupin
0