0% found this document useful (0 votes)
16 views

Revision SQL Jaidene Hachemi

The document contains SQL statements to create tables for classes, modules, teachers, and programs. It inserts sample data and performs various updates, deletes, and selects. The tables created are: classes, modules, teachers, and programs which links the other tables together. Sample data is inserted and various updates, deletes, and selects are run to retrieve and modify the data.

Uploaded by

hechmi.jaidane
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Revision SQL Jaidene Hachemi

The document contains SQL statements to create tables for classes, modules, teachers, and programs. It inserts sample data and performs various updates, deletes, and selects. The tables created are: classes, modules, teachers, and programs which links the other tables together. Sample data is inserted and various updates, deletes, and selects are run to retrieve and modify the data.

Uploaded by

hechmi.jaidane
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Jaidene Hachemi

Revision SQL

INFO1-1

Exercice 2 :

Partie 1 :

a)CREATE TABLE enseignants (ensno NUMBER CONSTRAINT ck_num CHECK (ensno between 1 and
100) PRIMARY KEY,ensnom VARCHAR2(25) NOT NULL CONSTRAINT ck_nom CHECK (ensnom LIKE('_
%')),ensprenom VARCHAR2(25) NOT NULL);

CREATE TABLE modules (codemodule NUMBER PRIMARY KEY,module Varchar2(50) NOT NULL,pl
NUMBER DEFAULT 0,p2 NUMBER DEFAULT 0);

CREATE TABLE classes (classe varchar2(20) PRIMARY KEY CONSTRAINT check_classe CHECK
(SUBSTR(classe, 1, 1) BETWEEN 1 AND 5));

CREATE TABLE programmes (nbh number not null,ensno number constraint fk_ens_prog references
enseignants(ensno),classe varchar2(20) constraint fk_prog_class references
classes(classe),codemodule number constraint fk_prog_mod references modules(codemodule));

b)alter table programmes modify ensno default 100;

alter table programmes add p1 number default 0;

alter table programmes add constraint ck_p1 check (p1 IN(0,21,42,63,84));

alter table programmes add p2 number default 0;

alter table programmes add constraint ck_p2 check (p2 IN(0,21,42,63,84));

insert into modules values(10,'Bases De données',NULL,NULL);

insert into modules values(20,'Systèmes d''exploitation',NULL,NULL);

Partie 2 :

a)insert into classes values('2A1');

insert into classes values('3M1');

insert into classes values('4TELB3');

insert into enseignants values(58,'N1','P1');

insert into programmes values(42,58,'2A1',10,21,21);

insert into enseignants values(100,'Non affecté','Non affecté');

insert into programmes values(42,NULL,'3M1',20,42,NULL);

b)UPDATE enseignants SET ensnom = UPPER(ensnom), ensprenom = LOWER(SUBSTR(ensprenom, 1,


1)) || SUBSTR(ensprenom, 2);

c)UPDATE programmes SET classe='3M1' WHERE codemodule=20;

d)DELETE FROM modules WHERE module='Systèmes d''exploitation';


Partie 3:

a)select classe,codemodule,ensno,nbh from programmes order by classe,codemodule;

b)select * from programmes where nbh=42;

c) select * from programmes where p1=21 and classe='2A1';

d) select classe from programmes where codemodule=10;

e) select p.classe,p.codemodule,m.module,p.ensno,ensnom,ensprenom,p.nbh from programmes p


inner join modules m on(p.codemodule=m.codemodule) right join enseignants e on
(e.ensno=p.ensno) where p.ensno=58;

f) select count(m.module) as nbr_modules from programmes p inner join modules m


on(m.codemodule=p.codemodule) group by p.classe;

select max(p.p1) as chrg_tot from programmes p inner join modules m


on(m.codemodule=p.codemodule) group by p.classe;

g) select classe from programmes p inner join modules m on(m.codemodule=p.codemodule) where


m.codemodule>10 and p.nbh>28 group by p.classe;

You might also like