2008-04-17

Date elevi BDNE

Pentru aplicaţia de BAC, datele din BDNE sunt destul de puţine. Totuşi pentru a realiza o listă de control se pot urma paşii următori:

  1. Se salvează datele din BDNE Client HA alegându-se din secţiunea Export comanda Exportă Date. Această comandă exportă atât nomenclatoarele cât şi datele aferente unităţii şcolare. Fişierul exportat conţine toate datele, inclusiv situaţiile statistice (SC).

  2. Fişierul exportat are extensia EXP, însă este de fapt o arhivă ZIP, prin urmare schimbaţi extensia.

  3. În interiorul arhivei există un fişier export.xml şi un director export_BDNE_to_DCC. În director se află o bază de date HSQL. Dezarhivaţi conţinutul directorului arhivat într-un director local.

  4. Instalaţi HSQL (vedeţi acest post).

  5. Când se face exportul rezultatului din Database Manager-ul ce există în pachetul HSQL, diacriticele sunt înlocuite cu semne de întrebare. Pentru a avea o listă cât de cât corectă este nevoie de convertirea acestor diacritice în alfabetul englez. Acest lucru îl realizează o mică aplicaţie realizată de mine numită flatenise. Codul sursă pascal este inclus (aplicaţia este compilată cu Virtual Pascal 2.1 build 279).

Fişierele bazei de date exportate au acelaşi nume nomDB. În exemplele de mai jos voi folosi acest nume. De asemenea se consideră JRE 1.6 instalat şi HSQL instalat în directorul C:\hsqldb.

  • Se rulează serverul folosind comanda: java -cp c:\hsqldb\lib\hsqldb.jar org.hsqldb.Server -database.0 d:\bac2008\BDNE\db\nomDB
    unde forma generală este: <java_path>\java -cp <hsqldb_jar_path>\hsqldb.jar <server_classpath> -database.0 <database_path>\<database_name>.
    Se porneşte Database Managerul folosind comanda: java -cp c:\hsqldb\lib\hsqldb.jar org.hsqldb.util.DatabaseManager
    forma generală fiind <java_path>\java -cp <hsqldb_jar_path>\hsqldb.jar <manager_classpath>.
    Se alege în fereastra Connect, în câmpul Type, HSQL Database Engine Server.

  • Dacă aţi parcurs paşii cu succes, veţi vedea în partea stângă a Database Manager-ului o listă arborescentă de tabele. Căsuţa din dreapta sus este destinată introducerii comenzilor SQL. Pentru a afişa lista dorită vom folosi următoarele comenzi:

SET AUTOCOMMIT FALSE;
SET SCHEMA BDNE;

Prima comandă opreşte efectuarea schimbărilor asupra bazei de date până se întâlneşte comanda COMMIT sau ROLLBACK (vezi şi aici). Acest lucru protejează asupra schimbărilor accidentale.
A doua comandă are rolul de a alege secţiunea sau schema sub care se găsesc tabele.

În final introducem următorul query:

select elev.cnp, elev.nume, elev.initiala_tata, elev.prenume,
(select descriere from nom_specializare_meserii
where nom_specializare_meserii.id_specializare_meserie =
asoc_unitate_formatiune.id_specializare_meserie) SPECIALIZARE,
asoc_unitate_formatiune.nume CLASA, asoc_unitate_formatiune.de_la,
asoc_unitate_formatiune.pana_la
from asoc_unitate_formatiune, asoc_elev_formatiune, elev
where asoc_unitate_formatiune.de_la >= '2007-09-01 00:00:00' AND
asoc_unitate_formatiune.id_asoc_unitate_formatiune=
asoc_elev_formatiune.id_asoc_unitate_formatiune AND
elev.id_elev=asoc_elev_formatiune.id_elev
order by asoc_unitate_formatiune.nume;

După apăsarea butonului Execute va fi afişată lista elevilor ce conţine coloanele: cnp, nume, iniţială tată, prenume, specializare, clasa şi o pereche de date pentru valabilitatea informaţiei.
Această listă se poate salva alegând din meniul File comanda Save Result CSV... sau Save Result...
Închideti serverul folosind comanda shutdown; înainte de a părăsi Database Managerul.

Niciun comentariu: