logo



Problema 2

Se consideră tabelul Medicamente cu structura Cod_medicament (N,6), Denumire (T,30), Pret (N,8.2), Compensare (N,3). Câmpul Compensare conţine o valoare întreagă din intervalul [0,100] și reprezintă procentul de compensare a medicamentului. Se cere:

a) Să se creeze structura tabelului

b) Să se introducă următoarele înregistrări:

Cod_medicament

Denumire

Pret

Compensare

2

Paracetamol

5.5

10

72

Aspenter

8

20

4

Simvacard

24.9

30

36

Amoxicilina

7

25

25

Biseptol

8

0

18

Panadol

32

0

204

Dulcolax

7.85

8

    c) Să se afișeze medicamentele cu preţul cuprins în intervalul [20,50] ordonate descrescător după preţ;

    d) Să se creeze o interogare (secvenţă de instrucţiuni) care să modifice valoarea câmpului Compensare prin mărirea cu 5 a acestuia pentru medicamentele care au procentul de compensare 0.

    Rezolvare:

    # a)
    
    CREATE TABLE Medicamente (
        Cod_medicament INT(6) NOT NULL PRIMARY KEY,
        Denumire VARCHAR(30),
        Pret DECIMAL(8,2),
        Compensare INT CHECK (Compensare BETWEEN 0 AND 100)
    );
    
    # b)
    
    INSERT INTO Medicamente (Cod_medicament, Denumire, Pret, Compensare) VALUES
    (2, 'Paracetamol', 5.50, 10),
    (72, 'Aspenter', 8.00, 20),
    (4, 'Simvacard', 24.90, 30),
    (36, 'Amoxicilina', 7.00, 25),
    (25, 'Biseptol', 8.00, 0),
    (18, 'Panadol', 32.00, 0),
    (204, 'Dulcolax', 7.85, 8);
    
    SELECT * from Medicamente;
    
    # c)
    
    SELECT * 
    FROM Medicamente 
    WHERE Pret BETWEEN 20 AND 50 
    ORDER BY Pret DESC;
        
    # d)
    
    UPDATE Medicamente
    SET Compensare = Compensare + 5
    WHERE Compensare = 0;
    
    SELECT * from Medicamente;
    
    Pașii rezolvării problemei în Microsoft Access 2019

     



Copyright © 2016 Kalytheo