Advertisement
Guest User

Untitled

a guest
May 21st, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.50 KB | None | 0 0
  1.  
  2. -- 1. Crearea si instantiarea bazei de date
  3. drop table medicament;
  4. create table medicament
  5. (
  6. COD_M int primary key,
  7. DENUMIRE_M varchar(30) not null,
  8. CANTITATE_M int not null
  9. );
  10.  
  11. drop table reteta;
  12. create table reteta
  13. (
  14. COD_M int not null,
  15. CNP varchar(13) not null,
  16. CANT int not null,
  17. PRET_UNITAR int not null,
  18. --cheie multipla pentru a nu putea introduce pentru acelas pacient, de doua ori acelas medicament
  19. primary key(COD_M,CNP)
  20. );
  21.  
  22. drop table pacient;
  23. create table pacient
  24. (
  25. CNP varchar(13) primary key,
  26. NUME varchar(30) not null,
  27. ADRESA varchar(50) not null
  28. );
  29.  
  30. --constrangere pentru a nu putea atribui o reteta unui pacient care nu exista
  31. alter table reteta add constraint FK_reteta foreign key (CNP) references pacient(CNP);
  32. --constrangere pentru a nu putea scrie intr-o reteta un medicament care nu exista
  33. alter table reteta add constraint FKs_reteta foreign key (COD_M) references medicament(COD_M);
  34.  
  35. insert into medicament values (1,'Histamina',200);
  36. insert into medicament values (2,'Aspirina',400);
  37. insert into medicament values (3,'Paracetamol',300);
  38. insert into medicament values (4,'Algocalmin',500);
  39. insert into medicament values (5,'Abacavir',100);
  40. insert into medicament values (6,'Antiseptice',250);
  41. insert into medicament values (7,'Tertensif',150);
  42. insert into medicament values (8,'Ibuprofen',50);
  43. insert into medicament values (9,'Corlentor',600);
  44. insert into medicament values (10,'Insulina', 170);
  45.  
  46. insert into pacient values ('2940321334521','Leyla Mills','Craiova');
  47. insert into pacient values ('1930401049015','Bobby Huang','Bucuresti');
  48. insert into pacient values ('1970726523846','Adalynn Francis','Craiova');
  49. insert into pacient values ('1920929151023','Maxwell Morales','Craiova');
  50. insert into pacient values ('2980123028666','Ally Osborn','Craiova');
  51.  
  52. insert into reteta values (1,'2940321334521',100,50);
  53. insert into reteta values (5,'2940321334521',300,100);
  54. insert into reteta values (7,'2940321334521',100,70);
  55. insert into reteta values (10,'2940321334521',50,50);
  56.  
  57. insert into reteta values (1,'1930401049015',200,100);
  58. insert into reteta values (2,'1930401049015',200,70);
  59. insert into reteta values (7,'1930401049015',150,105);
  60. insert into reteta values (8,'1930401049015',50,50);
  61. insert into reteta values (9,'1930401049015',600,1200);
  62. insert into reteta values (10,'1930401049015',170,340);
  63.  
  64. insert into reteta values (3,'1970726523846',300,150);
  65. insert into reteta values (6,'1970726523846',250,500);
  66.  
  67. insert into reteta values (4,'1920929151023',500,2000);
  68. insert into reteta values (7,'1920929151023',50,35);
  69. insert into reteta values (8,'1920929151023',25,25);
  70.  
  71. insert into reteta values (1,'2980123028666',200,100);
  72. insert into reteta values (3,'2980123028666',150,75);
  73. insert into reteta values (5,'2980123028666',30,10);
  74. insert into reteta values (6,'2980123028666',100,250);
  75. insert into reteta values (8,'2980123028666',10,10);
  76.  
  77. select * from medicament;
  78. select * from pacient;
  79. select * from reteta;
  80.  
  81. -- 2. Determinati cat costa medicamentele pe fiecare pacient
  82.  
  83. select CNP,SUM(PRET_UNITAR) as Cost_Medicamente from reteta group by CNP;
  84.  
  85. -- 3. Procedura care determina costul medicamentelor pentru bolnavul X
  86.  
  87. select CNP,SUM(PRET_UNITAR) as Cost_Medicamente from reteta where CNP='1930401049015' group by CNP;
  88.  
  89. -- 4. Bolnavi cu cel putin 3 medicamente
  90.  
  91. select CNP from reteta group by CNP having COUNT(CNP)>=3;
  92.  
  93. -- 5. Determinati numarul de medicamente pe fiecare bolnav
  94.  
  95. select CNP,COUNT(CNP) as Numar_Medicamente from reteta group by CNP;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement