Advertisement
Carmine_Annunziata

GestioneMusei

May 11th, 2022
867
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. create database Musei;
  2. use Musei;
  3.  
  4. create table Direttore(
  5.     CodiceDirettore integer primary key auto_increment,
  6.     nomeDirettore varchar(250),
  7.     cognomeDirettore varchar(250),
  8.     dataNascitaDirettore date
  9. );
  10.  
  11. create table Museo(
  12.     CodiceMuseo integer primary key auto_increment,
  13.     nomeMuseo varchar(250),
  14.     indirizzoMuseo varchar(250),
  15.     CodiceDirettoreRif integer not null,
  16.     foreign key (CodiceDirettoreRif) references Direttore(CodiceDirettore)
  17. );
  18.  
  19. create table Categoria(
  20.     codiceCategoria integer primary key auto_increment,
  21.     nomeCategoria varchar(250),
  22.     descrizioneCategoria varchar(250)
  23. );
  24.  
  25. create table AlaMuseo(
  26.     codiceAlaMuseo integer primary key auto_increment,
  27.     nomeAlaMuse varchar(250),
  28.     tipologiaAlaMuseo varchar(250),
  29.     CodiceMuseoRif integer not null,
  30.     foreign key (CodiceMuseoRif) references Museo(CodiceMuseo)
  31. );
  32.  
  33. create table Soggetto(
  34.     codiceSoggetto integer primary key auto_increment,
  35.     nomeSoggetto varchar(250),
  36.     sessoSoggetto varchar(1)
  37. );
  38.  
  39. create table OperaArte(
  40.     codiceOperaArte integer primary key auto_increment,
  41.     nomeOperaArte varchar(250),
  42.     tipologiaOperaArte varchar(250),
  43.     autoreOperaArte varchar(250),
  44.     annoCreazioneOperaArte date,
  45.     codiceAlaMuseoRif integer,
  46.     foreign key (codiceAlaMuseoRif) references AlaMuseo(codiceAlaMuseo)
  47. );
  48.  
  49. create table OperaArte_Ritrae_Soggetto(
  50.     codiceOperaArteRif integer not null,
  51.     codiceSoggettoRif integer not null,
  52.     foreign key (codiceOperaArteRif) references OperaArte(codiceOperaArte),
  53.     foreign key (codiceSoggettoRif) references Soggetto(codiceSoggetto)
  54. );
  55.  
  56. create table Categoria_Caratterizza_OperaArte(
  57.     codiceOperaArteRif integer not null,
  58.     codiceCategoriaRif integer not null,
  59.     foreign key (codiceOperaArteRif) references OperaArte(codiceOperaArte),
  60.     foreign key (codiceCategoriaRif) references Categoria(codiceCategoria)
  61. );
  62.  
  63. insert into Direttore (nomeDirettore,cognomeDirettore,dataNascitaDirettore) values
  64. ("aaa","aaa","2020-01-25"),
  65. ("bbb","bbb","2021-01-15"),
  66. ("ccc","ccc","2022-02-16"),
  67. ("ddd","ddd","2023-03-5");
  68.  
  69. insert into Museo (nomeMuseo,indirizzoMuseo,CodiceDirettoreRif) values
  70. ("aaa","Via aaa 1",1),
  71. ("bbb","Via bbb 1",1),
  72. ("ccc","Via ccc 1",2),
  73. ("ddd","Via ddd 1",3);
  74.  
  75. insert into Categoria(nomeCategoria,descrizioneCategoria) values
  76. ("aaa","aaa"),
  77. ("bbb","bbb"),
  78. ("ccc","ccc"),
  79. ("ddd","ddd"),
  80. ("eee","eee");
  81.    
  82. insert into AlaMuseo(nomeAlaMuse,tipologiaAlaMuseo,CodiceMuseoRif) values
  83. ("aaa","aaa",1),
  84. ("bbb","bbb",1),
  85. ("ccc","ccc",2),
  86. ("ddd","ddd",3),
  87. ("eee","eee",4);
  88.  
  89. insert into Soggetto(nomeSoggetto,sessoSoggetto) values
  90. ("aaa","M"),
  91. ("bbb","M"),
  92. ("ccc","F"),
  93. ("ddd","F"),
  94. ("eee","M");
  95.  
  96. insert into OperaArte(nomeOperaArte,tipologiaOperaArte,autoreOperaArte,annoCreazioneOperaArte,codiceAlaMuseoRif) values
  97. ("aaa","Scultura","aaa","2020-11-24",1),
  98. ("bbb","Scultura","bbb","2021-12-02",1),
  99. ("ccc","Dipinto","ccc","2022-06-12",2),
  100. ("ddd","Dipinto","ddd","2023-07-13",2),
  101. ("eee","Scultura","eee","2024-02-13",null);
  102.  
  103. insert into OperaArte_Ritrae_Soggetto(codiceOperaArteRif,codiceSoggettoRif) values
  104. (1,1),
  105. (1,2),
  106. (1,3),
  107. (2,1),
  108. (2,3),
  109. (3,4),
  110. (3,1);
  111.  
  112. insert into Categoria_Caratterizza_OperaArte(codiceOperaArteRif,codiceCategoriaRif) values
  113. (1,2),
  114. (1,3),
  115. (1,1),
  116. (2,2),
  117. (2,3),
  118. (3,1),
  119. (3,3);
  120.  
  121. select * from OperaArte
  122.     join AlaMuseo on OperaArte.codiceAlaMuseoRif = AlaMuseo.codiceAlaMuseo
  123.     join Museo on AlaMuseo.CodiceMuseoRif = Museo.CodiceMuseo
  124.     where Museo.CodiceMuseo = 1;
  125.    
  126. select Museo.codiceMuseo,Categoria.nomeCategoria,Categoria.descrizioneCategoria from Categoria
  127.     join Categoria_Caratterizza_OperaArte on Categoria.codiceCategoria = Categoria_Caratterizza_OperaArte.codiceCategoriaRif
  128.     join OperaArte on Categoria_Caratterizza_OperaArte.codiceOperaArteRif = OperaArte.codiceOperaArte
  129.     join AlaMuseo on OperaArte.codiceAlaMuseoRif = AlaMuseo.codiceAlaMuseo
  130.     join Museo on AlaMuseo.CodiceMuseoRif = Museo.CodiceMuseo
  131.     where Museo.CodiceMuseo = 1;
  132.  
  133. select OperaArte.nomeOperaArte,OperaArte.tipologiaOperaArte from OperaArte
  134.     join OperaArte_Ritrae_Soggetto on OperaArte.codiceOperaArte = OperaArte_Ritrae_Soggetto.codiceOperaArteRif
  135.     join Soggetto on OperaArte_Ritrae_Soggetto.codiceSoggettoRif = Soggetto.codiceSoggetto
  136.     where Soggetto.nomeSoggetto = "aaa";
Advertisement
RAW Paste Data Copied
Advertisement