2011 atestat baze de date (1)

9
1 Examenul de atestat se desfăşoară într-un laborator de informatică care îndeplineşte una din următoarele cerinţe: - Pentru lucrul cu baze de date SQL: 1. Pe fiecare calculator este instalat Microsoft SQL Server Management Studio Express 2. În subfolderul atestat se va crea baza de date atestat2011.mdf , în care elevul va adăuga tabela corespunzătoare enunţului din problema sa. Cerinţele din probleme vor fi rezolvate în fereastra SQLQuery din aplicaţia Microsoft SQL Server Management Studio Express şi salvată ca fişier SQLQuery.sql în subfolderul atestat. - Pentru lucrul cu baze de date MySQL: 1. Există o reţea de calculatoare cu un server pe care rulează Apache (serverul web); MySQL (severul de baze de date); 2. Cele doua servere rulează pe fiecare staţie de lucru pe care se va susţine examenul. Elevii lucrează în subfolderul atestat care conţine configurarea necesară pentru conectarea la baza de date. Pentru introducerea datelor si vizualizarea rezultatului se va utiliza un browser comum (Internet Explorer, Mozilla Firefox, Google Chrome ) Subiectul 1 Să se creeze, în baza de date atestat_2011, tabela elevi, având următoarea structură: o NUME char(20) (numele elevului) o CLASA char(3) (clasa, exemplu: 9A, 12B) o ABSENTE int (numărul absenţelor) 1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi toţi elevii cu numărul maxim de absenţe din clasa 12A. Dacă această clasă nu există, afișaţi un mesaj corespunzător. 3. Calculaţi şi afişaţi numărul absenţelor la nivel de şcoală. Subiectul 2 Să se creeze, în baza de date atestat_2011, tabela elevi, având următoarea structură: o NUME char(20) (numele elevului) o CLASA char(3) (clasa, exemplu: 9A, 12B) o ABSENTE int (numărul absenţelor) 1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi lista elevilor pentru clasa 12B, elevi care au numărul de absenţe mai mare decât 10. Dacă această clasă nu există, afișaţi un mesaj corespunzător. 3. Ştergeţi elevii care nu au absenţe şi afişaţi datele din tabelă . Subiectul 3 Să se creeze, în baza de date atestat_2011, tabela scoala, având următoarea structură: o NUME char(20) (numele elevului) o CLASA char(3) (clasa, exemplu: 9A, 12B) o VARSTA int (vârsta elevului în ani) 1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi clasa în care se găseşte elevul Ionescu Dan. În cazul în care nu se găseşte în tabelă, se introduc datele elevului; 3. Afişaţi toţi colegii de clasă a elevului Ionescu Dan.

Upload: suteu-vlad

Post on 20-Jan-2016

71 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2011 Atestat Baze de Date (1)

1

Examenul de atestat se desfăşoară într-un laborator de informatică care îndeplineşte una din următoarele cerinţe:

- Pentru lucrul cu baze de date SQL:

1. Pe fiecare calculator este instalat Microsoft SQL Server Management Studio Express 2. În subfolderul atestat se va crea baza de date atestat2011.mdf , în care elevul va adăuga

tabela corespunzătoare enunţului din problema sa. Cerinţele din probleme vor fi rezolvate în fereastra SQLQuery din aplicaţia Microsoft SQL Server Management Studio Express şi salvată ca fişier SQLQuery.sql în subfolderul atestat.

- Pentru lucrul cu baze de date MySQL:

1. Există o reţea de calculatoare cu un server pe care rulează

• Apache (serverul web);

• MySQL (severul de baze de date); 2. Cele doua servere rulează pe fiecare staţie de lucru pe care se va susţine examenul.

Elevii lucrează în subfolderul atestat care conţine configurarea necesară pentru conectarea la baza de date. Pentru introducerea datelor si vizualizarea rezultatului se va utiliza un browser comum (Internet Explorer, Mozilla Firefox, Google Chrome ) Subiectul 1 Să se creeze, în baza de date atestat_2011, tabela elevi, având următoarea structură:

o NUME char(20) (numele elevului) o CLASA char(3) (clasa, exemplu: 9A, 12B) o ABSENTE int (numărul absenţelor)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi toţi elevii cu numărul maxim de absenţe din clasa 12A. Dacă această clasă nu există,

afișaţi un mesaj corespunzător. 3. Calculaţi şi afişaţi numărul absenţelor la nivel de şcoală.

Subiectul 2 Să se creeze, în baza de date atestat_2011, tabela elevi, având următoarea structură:

o NUME char(20) (numele elevului) o CLASA char(3) (clasa, exemplu: 9A, 12B) o ABSENTE int (numărul absenţelor)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi lista elevilor pentru clasa 12B, elevi care au numărul de absenţe mai mare decât 10.

Dacă această clasă nu există, afișaţi un mesaj corespunzător. 3. Ştergeţi elevii care nu au absenţe şi afişaţi datele din tabelă .

Subiectul 3 Să se creeze, în baza de date atestat_2011, tabela scoala, având următoarea structură:

o NUME char(20) (numele elevului) o CLASA char(3) (clasa, exemplu: 9A, 12B) o VARSTA int (vârsta elevului în ani)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi clasa în care se găseşte elevul Ionescu Dan. În cazul în care nu se găseşte în tabelă, se

introduc datele elevului; 3. Afişaţi toţi colegii de clasă a elevului Ionescu Dan.

Page 2: 2011 Atestat Baze de Date (1)

2

Subiectul 4 Să se creeze, în baza de date atestat_2011, tabela scoala, având următoarea structură:

o NUME char(20) (numele elevului) o CLASA char(3) (clasa, exemplu: 9A, 12B) o VARSTA int (vârsta elevului în ani)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi toţi elevii cu vârsta peste 18 ani. Dacă nu există, atunci se va afişa un mesaj

corespunzător. 3. Afişaţi lista elevilor în ordine descrescătoare după vârstă.

Subiectul 5 Să se creeze, în baza de date atestat_2011, tabela examen, având următoarea structură:

o NUME char(20) (numele elevului) o NOTA1 decimal(5,2) (nota de la scris) o NOTA2 decimal(5,2) (nota de la oral) o MEDIA decimal(5,2) (media celor două note)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Calculaţi media elevilor, dar numai în cazul în care ambele note sunt >= 5; 3. Afişează lista elevilor reuşiţi la examen, în ordine alfabetică. Dacă nu există niciun elev

reușit, afișaţi un mesaj corespunzător.

Subiectul 6 Să se creeze, în baza de date atestat_2011, tabela examen, având următoarea structură:

o NUME char(20) (numele elevului) o CLASA char(3) (clasa, exemplu: 9A, 12B) o NOTA1 decimal(5,2) (nota la matematică) o NOTA2 decimal(5,2) (nota la informatică)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Calculează şi afişează într-o coloană virtuală numită MEDIA, media elevilor, dar numai în

cazul în care ambele note sunt >= 5; 3. Afişează lista elevilor reuşiţi la examen, în ordine alfabetică. Dacă nu există niciun elev

reușit, afișaţi un mesaj corespunzător. Subiectul 7 Să se creeze, în baza de date atestat_2011, tabela produse, având următoarea structură:

o DENUMIRE char(20) (denumirea produsului) o PRET decimal(7,2) (preţul unitar al produsului) o CANTITATE int (cantitatea existentă)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Ştergeţi produsele care au stocul 0. Dacă nu există astfel de produse, afișaţi un mesaj

corespunzător. 3. Măriţi preţul fiecărui produs cu 10% şi afişaţi tabela.

Page 3: 2011 Atestat Baze de Date (1)

3

Subiectul 8 Să se creeze, în baza de date atestat_2011, tabela telefon, având următoarea structură:

o NUME char(30) (numele abonatului) o TEL char(10) (ex: 0359111111) o ADRESA char(25) (adresa abonatului)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Adăugaţi în baza de date abonatul cu numele Popescu, av�nd numărul de telefon

0359123456, dacă nu există un abonat cu acelaşi număr de telefon, în caz contrar să se afişeze un mesaj corespunzător.

3. Afişaţi lista abonaţilor în ordine alfabetică.

Subiectul 9 Să se creeze, în baza de date atestat_2011, tabela telefon, având următoarea structură:

o NUME char(30) (numele abonatului) o TEL char(10) (ex: 0359111111) o ADRESA char(25) ( adresa abonatului) o IMPULS int (numărul de impulsuri folosite)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Ştergeţi din baza de date abonatul cu numele Scarlat Vasile şi numărul de telefon

0740123444. Dacă nu există un astfel de abonat să se afișeze un mesaj corespunzător. 3. Afișaţi numărul total de impulsuri folosite.

Subiectul 10 Să se creeze, în baza de date atestat_2011, tabela telefon, având următoarea structură:

o NUME char(30) (numele abonatului) o TEL char(10) (ex: 0359111111) o ADRESA char(25) ( adresa abonatului) o IMPULS int (numărul de impulsuri folosite)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi toate informaţiile despre abonatul cu numele Popescu Maria. Dacă nu există se va

afișa un mesaj corespunzător. 3. Afişaţi abonatul (abonaţii) cu cel mai mare număr de impulsuri.

Subiectul 11 Să se creeze, în baza de date atestat_2011, tabela telefon, având următoarea structură:

o NUME char(30) (numele abonatului) o TEL char(10) (ex: 0359111111) o IMPULS int (numărul de impulsuri folosite) o PLATA int (suma datorată conform impulsurilor folosite)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Ştiind că un impuls costă 5 lei, calculaţi pentru fiecare abonat suma datorată; 3. Afişează persoana (persoanele) care au cel mai puţin de plată .

Page 4: 2011 Atestat Baze de Date (1)

4

Subiectul 12 Să se creeze, în baza de date atestat_2011, tabela turism, având următoarea structură:

o DENUMIRE char(20) (denumirea unităţii) o TIP char(1)

(poate lua una din următoarele valori: H pentru hotel, M pentru motel, V pentru vilă, C pentru căsuţă)

o CATEGORIE int (poate fi 1, 2, 3 sau 4) 1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi toate unităţile de categoria 1. Dacă nu există, afișaţi un mesaj corespunzător. 3. Afişează numărul de unităţi de categoria 4 existente, indiferent de tip.

Subiectul 13

Să se creeze, în baza de date atestat_2011, tabela bibliot, având următoarea structură: o AUTOR char(20) (numele autorului ) o TITLU char(20) (titlul cărţii) o EDITURA char(10) (denumirea editurii)

Scrieţi un program care să realizeze: 1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Căutaţi o carte al cărei titlu este Pe culmile disperării. Dacă se găseşte afişaţi date despre

ea, altfel afişaţi un mesaj corespunzător. 3. Afişaţi toate cărţile apărute la editura „All”.

Subiectul 14

Să se creeze, în baza de date atestat_2011, tabela bibliot, având următoarea structură:

AUTOR char(20) (numele autorului) TITLU char(20) (titlul cărţii) EDITURA char(10) (denumirea editurii) AN int (anul apariţiei)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi numărul cărţilor avându-l ca autor pe „Sadoveanu”, iar dacă nu există nicio carte, să

se afişeze un mesaj; 3. Afişaţi cărţile în ordine cronologică după anul apariţiei.

Subiectul 15

Să se creeze, în baza de date atestat_2011, tabela elevi, având următoarea structură: o NUME char(15) (numele elevului); o CLASA char(3) (clasa, exemplu: 9A, 12B); o VARSTA int (vârsta)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi toţi elevii care au împlinit 18 ani pentru clasa 12A, iar dacă nu există nici unul, să se

afişeze un mesaj; 3. Afişaţi elevii ordonaţi alfabetic pe clase.

Page 5: 2011 Atestat Baze de Date (1)

5

Subiectul 16

Nero, împăratul Romei, îi acuză pe creştini de incendierea Romei şi hotărăşte să-i pedepsească. Să se creeze, în baza de date atestat_2011, tabela roma, având următoarea structură:

o NUME char(15) o VARSTA int o CRESTIN char(1) (ex: ‚F’ pentru fals şi ‚T’ pentru adevărat) o SEX char(1).

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Nero expulzează din Roma toate fetele cu vârsta cuprinsă între 10 şi 25 ani. Afişaţi lista

cetăţenilor din Roma înainte şi după expulzare (expulzare=ştergere din tabelă); 3. Nero scoate o listă cu ,,cetăţenii de bună credinţă” ai Romei (CRESTIN=’F’) ordonată

alfabetic.

Subiectul 17

Nero, împăratul Romei, îi acuză pe creştini de incendierea Romei şi hotărăşte să-i pedepsească. Să se creeze, în baza de date atestat_2011, tabela roma, având următoarea structură:

o NUME char(15) o VARSTA int o CRESTIN char(1) (ex: ‚F’ pentru fals şi ‚A’ pentru adevărat) o SEX char(1)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Nero cere o listă cu toţi copiii cu vârsta cuprinsă între 3 şi 10 ani. Afişaţi lista cerută, iar dacă

nu există nici un copil cu vârsta cuprinsă între 3 şi 10 ani se va afișa un mesaj. 3. Nero vrea să afle care este cel mai bătrân om din Roma fie bărbat, fie femeie. Afişaţi numele

celui mai bătrân om din Roma (Dacă sunt mai mulţi, se vor afişa toţi).

Subiectul 18

Să se creeze, în baza de date atestat_2011, tabela produse, având următoarea structură: o DENUMIRE varchar(20) (denumirea produselor) o PRET decimal(7,2) (preţul unitar al produsului) o CANTITATE int (cantitatea existentă)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Căutaţi produsul cu denumirea „mouse” şi să se afişeze preţul şi cantitatea, iar dacă nu

există, să se afişeze un mesaj; 3. Să se afişeze cel mai scump produs.

Subiectul 19

La o societate de producţie evidenţa produselor finite se ţine într-un fişier PRODUSE; adăugaţi tabela produse în baza de date atestat_201, cu următoarea structură:

o DENUMIRE char(20) (denumirea produselor) o PRET decimal(7,2) (preţul unitar al produsului) o CANTITATE int (cantitatea existentă)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări;

Page 6: 2011 Atestat Baze de Date (1)

6

2. Verificaţi dacă produsul cu denumirea tastatura există. În caz afirmativ afișaţi preţul și cantitatea, iar în caz contrar adăugaţi produsul cu această denumire, preţul 11.57 şi cantitatea 25;

3. Să se adauge valoarea TVA ( 19% ) la preţul fiecărui produs .

Subiectul 20

Să se creeze, în baza de date atestat_2011, tabela elevi, având următoarea structură: o NUME char(15) (numele elevului) o CLASA char(4) (clasa, exemplu: 9A, 12B) o PROFIL char(10) (ex: real, uman, tehnic, economic) o MEDIA decimal(5,2) (media pe an)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afișaţi elevii de la profilul real, iar dacă nu există afişaţi un mesaj corespunzător; 3. Să se afişeze media generală pentru clasa 12E.

Subiectul 21

Să se creeze, în baza de date atestat_2011, tabela elevi, având următoarea structură: o NUME char(15) (numele elevului) o NOTA1 decimal(5,2) (nota la primul examen) o NOTA2 decimal(5,2) (nota la al doilea examen) o REZULTAT char(7) („ADMIS” sau „RESPINS”)

Un elev este considerat admis la un examen, dacă NOTA1>=5 și NOTA2>=5, în caz contrar este

considerat respins.

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. În funcţie de notele obţinute de fiecare elev, completaţi câmpul REZULTAT cu „Admis”

respectiv „Respins”. 3. Creaţi două tabele în baza de date atestat_2011, ordonate alfabetic după câmpul NUME:

Admis, care conţine elevii admişi; Respins, care conţine elevii respinşi.

Subiectul 22

Să se creeze, în baza de date atestat_2011, tabela cărţi, având următoarea structură:

o AUTOR char(20) (numele autorului) o TITLU char(20) (titlul cărţii) o EDITURA char(10) (denumirea editurii) o AN_APAR int (anul apariţiei)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi toate cărţile tipărite după 2000, ordonate cronologic. Dacă nu există se va afișa un

mesaj corespunzător; 3. Adăugaţi o carte avându-l ca autor pe „Thomas Mann”, titlu „Muntele vrăjit”, editura

„Corint”, anul apariţiei 2009.

Page 7: 2011 Atestat Baze de Date (1)

7

Subiectul 23

Să se creeze, în baza de date atestat_2011, tabela clasa, având următoarea structură:

o NUME char(30) (numele elevului)

o DEN_P char(30) (numele proiectului de atestat)

o LIMBAJ char(20) (limbajul în care este realizat proiectul)

o NOTA_P decimal(5,2) (nota la proiect)

o NOTA_B decimal(5,2) (nota la bilet)

o MEDIA decimal(5,2)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Calculaţi media elevilor care au obţinut note>=7 (NOTA_P>=7 şi NOTA_B>=7). Dacă nu

există niciun astfel de elev se va afișa un mesaj corespunzător; 3. Afişaţi elevii admişi (NOTA_P>=7 şi NOTA_B>=7) ordonaţi alfabetic după limbaj.

Subiectul 24

Să se creeze, în baza de date atestat_2011, tabela hotel, având următoarea structură:

o DENUMIRE char(15) (numele hotelului)

o NR_CAM int (numărul camerei)

o NR_PAT int (numărul de paturi în cameră)

o PRET_PAT int (preţul unui pat)

o PRET_CAM int

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Calculează preţul tuturor camerelor, în funcţie de numărul de paturi şi preţul unui pat; 3. Afişează camera(camerele) cu preţul cel mai mare.

Subiectul 25

Să se creeze, în baza de date atestat_2011, tabela olimp, pentru un magazin de pantofi, având următoarea structură:

o DENUMIRE char(10)

o PRET int

o MARIME int

o FEL char(1) (F-fete, B-băieţi)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişează toate articolele bărbăteşti cu mărimea 42, iar dacă nu există afişaţi un mesaj

corespunzător; 3. Afişează articolele cele mai scumpe pentru femei.

Page 8: 2011 Atestat Baze de Date (1)

8

Subiectul 26

Să se creeze, în baza de date atestat_2011, tabela elevi, pentru elevii unei şcoli, având următoarea structură:

o NUME char(10) (nume elev)

o PRENUME char(10) (prenume elev)

o DATAN date (data naşterii)

o ADRESA char(30)

o CLASA char(3)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi elevii ordonaţi pe clase şi în cadrul claselor, alfabetic. 3. Creaţi o nouă tabelă cu numele alocatii, cu elevii care s-au născut după anul 1993,

inclusiv; Subiectul 27

Să se creeze, în baza de date atestat_2011, tabela locatar, pentru o asociaţie de locatari, având următoarea structură:

o NUME char(20)

o STRADA char(20)

o BLOC char(5)

o AP int (numărul apartamentului)

o PLATA int (plata pe o lună pe apartament)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi locatarii ordonaţi pe blocuri, iar în cadrul unui bloc ordonaţi pe apartamente; 3. Afişaţi suma pe care o are de plătit locatarul Pop Ion. Dacă nu există niciun locatar cu

acest nume, afișaţi un mesaj corespunzător;

Subiectul 28

Să se creeze, în baza de date atestat_2011, tabela telefon, având următoarea structură:

o NUME char(10)

o PRENUME char(10)

o TELEFON char(10)

o VALOARE decimal(7,2)

o ACHITAT bit (1=achitat, 0=neachitat)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi restanţierii, alfabetic (persoanele care nu au achitat factura de telefon), iar dacă

nu există niciunul, afișaţi un mesaj corespunzător; 3. Adăugaţi persoana cu numele „Mocanu”, prenumele „Mircea”, telefon „03590026262”,

valoare 49 şi achitat 1.

Page 9: 2011 Atestat Baze de Date (1)

9

Subiectul 29

Să se creeze, în baza de date atestat_2011, tabela produse, având următoarea structură:

o DENUMIRE char(15)

o CANTITATE int

o PRET decimal(8,2)

o DATAEX date (data expirării)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. În funcţie de preţ şi cantitate, să se afişeze valoarea totală a produselor din magazin; 3. Afişează, alfabetic, produsele care expiră mâine. Dacă nu există astfel de produse afișaţi

un mesaj corespunzător. Subiectul 30

Să se creeze, în baza de date atestat_2011, tabela carti, având următoarea structură:

o AUTOR char(10)

o TITLU char(10)

o ANAPAR int (an apariţie)

o NRE int (nr exemplare)

o PRET decimal(7,2)

1. Adăugaţi în această tabelă cel puţin 5 înregistrări; 2. Afişaţi pentru toate cărţile apărute între anii 1990 – 2010, câmpurile AUTOR, TITLU,

ANAPAR, NRE. Dacă nu există astfel de cărţi, afișaţi un mesaj corespunzător. 3. Ştergeţi toate cărţile care au numărul de exemplare egal cu zero.