create schema tennis ;
DROP TABLE tennis.gain;
DROP TABLE tennis.rencontre;
drop table tennis.joueur;

-- Table: "JOUEUR"
CREATE TABLE tennis.joueur (
  nujoueur int,
  nom varchar(32) NOT NULL,
  prenom varchar(32),
  annaiss int,
  nationalite varchar(3),
  CONSTRAINT pk_joueur PRIMARY KEY (nujoueur)
) ;

-- Table: "RENCONTRE"
CREATE TABLE tennis.rencontre (
  nugagnant int,
  nuperdant int,
  lieutournoi varchar(32) NOT NULL,
  annee int,
  score varchar(24),
  CONSTRAINT pk_rencontre PRIMARY KEY (nugagnant, nuperdant, lieutournoi, annee),
  constraint fk_gagnant_rencontre_joueur foreign key (nugagnant) references tennis.joueur (nujoueur),
  constraint fk_perdant_rencontre_joueur foreign key (nuperdant) references tennis.joueur (nujoueur)
);

-- Table: "GAIN"
CREATE TABLE tennis.gain (
  nujoueur int,
  lieutournoi varchar(32) NOT NULL,
  annee int,
  prime int4,
  sponsor varchar(32),
  CONSTRAINT pk_gain_joueur PRIMARY KEY (nujoueur, lieutournoi, annee),
  constraint fk_gain_joueur foreign key (nujoueur) references tennis.joueur (nujoueur)
)  ;

insert into tennis.joueur values (1, 'EDBERG', 'Stefan', 1966, 'SWE');
insert into tennis.joueur values (2, 'BECKER', 'Boris', 1967, 'RFA');
insert into tennis.joueur values (3, 'STICH', 'Mickael', 1968, 'RFA');
insert into tennis.joueur values (4, 'AGASSI', 'Andre', 1970, 'USA');
insert into tennis.joueur values (5, 'IVANISEVIC', 'Goran', 1971, 'CRO');
insert into tennis.joueur values (6, 'SAMPRAS', 'Pete', 1971, 'USA');
insert into tennis.joueur values (7, 'COURIER', 'Jim', 1970, 'USA');

insert into tennis.joueur values (8, 'GOMEZ', 'Andrés', 1960, 'EQU');
insert into tennis.joueur values (9, 'KORDA', 'Petr', 1968, 'TCH');
insert into tennis.joueur values (10, 'BRUGUERA', 'Sergi', 1971, 'ESP');
insert into tennis.joueur values (11, 'BERASATEGUI', 'Alberto', 1973, 'ESP');
insert into tennis.joueur values (12, 'MUSTER', 'Thomas', 1967, 'AUT');
insert into tennis.joueur values (13, 'CHANG', 'Mickael', 1972, 'USA');

insert into tennis.joueur values (21, 'NADAL', 'Rafael', 1986, 'ESP');
insert into tennis.joueur values (22, 'FEDERER', 'Roger', 1981, 'SUI');
insert into tennis.joueur values (23, 'MURRAY', 'Andy', 1987, 'GBR');
insert into tennis.joueur values (24, 'DJOKOVIC', 'Pierrette');
insert into tennis.joueur values (25, 'TSONGA', 'Jo-Wilfried', 1985, 'FRA');
insert into tennis.joueur values (26, 'MONFILS', 'Gael', 1986, 'FRA');

-- vainqueur de Wimbledon
insert into tennis.rencontre values (1, 2, 'Wimbledon', 1990, '6-2, 6-2, 3-6, 3-6, 6-4');
insert into tennis.rencontre values (3, 2, 'Wimbledon', 1991, '6-4, 7-6, 6-4');
insert into tennis.rencontre values (4, 5, 'Wimbledon', 1992, '6-7, 6-4, 6-4, 1-6, 6-4');
insert into tennis.rencontre values (6, 7, 'Wimbledon', 1993, '7-6, 7-6, 3-6, 6-3');
insert into tennis.rencontre values (6, 5, 'Wimbledon', 1994, '7-6, 7-6, 6-0');
insert into tennis.rencontre values (6, 2, 'Wimbledon', 1995, '6-7, 6-2, 6-4, 6-2');
-- vainqueur de Rolang Garros
insert into tennis.rencontre values (8, 4, 'Roland Garros', 1990, '6-3, 2-6, 6-4, 6-4');
insert into tennis.rencontre values(7, 4, 'Roland Garros', 1991, '3-6, 6-4, 2-6, 6-1, 6-4');
insert into tennis.rencontre values (7, 9, 'Roland Garros', 1992, '7-5, 6-2, 6-1');
insert into tennis.rencontre values (10, 7, 'Roland Garros', 1993, '6-4, 2-6, 6-2, 3-6, 6-3');
insert into tennis.rencontre values (10, 11, 'Roland Garros', 1994, '6-3, 7-5, 2-6, 6-1');
insert into tennis.rencontre values (12, 13, 'Roland Garros', 1995, '7-5, 6-2, 6-4');

-- gain vainqueur Wimbledon
insert into tennis.gain values (1, 'Wimbledon', 1990, 2670863, 'Peugeot');
insert into tennis.gain values (3, 'Wimbledon', 1991, 2670863, 'Peugeot');
insert into tennis.gain values (4, 'Wimbledon', 1992, 2670863, 'Slazenger');
insert into tennis.gain values (6, 'Wimbledon', 1993, 2670863, 'IBM');
insert into tennis.gain values (6, 'Wimbledon', 1994, 3920625, 'IBM');
insert into tennis.gain values (6, 'Wimbledon', 1995, 3920625, 'IBM');
-- gain finaliste
insert into tennis.gain values (2, 'Wimbledon', 1990, 1250000, 'Peugeot');
insert into tennis.gain values (2, 'Wimbledon', 1991, 1250000, 'Peugeot');
insert into tennis.gain values (5, 'Wimbledon', 1992, 1250000, 'Bentley');
insert into tennis.gain values (7, 'Wimbledon', 1993,  1250000, 'Nike');
insert into tennis.gain values (5, 'Wimbledon', 1994, 1500000,'Bentley');
insert into tennis.gain values (2, 'Wimbledon', 1995, 1500000,'Peugeot');

-- gain vainqueur Roland Garros
insert into tennis.gain values (8, 'Roland Garros', 1990, 2019720, 'Peugeot');
insert into tennis.gain values (7, 'Roland Garros', 1991, 2698740, 'Peugeot');
insert into tennis.gain values (7, 'Roland Garros', 1992, 3277836, 'Lacoste');
insert into tennis.gain values (10, 'Roland Garros', 1993, 3456143, 'Lacoste');
insert into tennis.gain values (10, 'Roland Garros', 1994, 3561928, 'Slazenger');
insert into tennis.gain values (12, 'Roland Garros', 1995, 3963100, 'Slazenger');
-- gain finaliste
insert into tennis.gain values (4, 'Roland Garros', 1990, 1000000, 'Lacoste');
insert into tennis.gain values (4, 'Roland Garros', 1991, 1300000, 'Peugeot');
insert into tennis.gain values (9, 'Roland Garros', 1992, 1500000, 'Peugeot');
insert into tennis.gain values (7, 'Roland Garros', 1993, 1600000, 'Lacoste');
insert into tennis.gain values (11, 'Roland Garros', 1994, 1700000, 'Slazenger');
insert into tennis.gain values (13, 'Roland Garros', 1995, 1900000, 'IBM');
