Informatica
Lucrare pentru obtinerea ului profesional la informatica - evidenta unui aeroportLiceul: Colegiul National ,,Mircea cel Batran'' Lucrare pentru obtinerea atestatului profesional la informatica Evidenta unui aeroport IntroducereA. BAZE DE DATE - NOTIUNI FUNDAMENTALE:Date, informatii, cunostinteAuzim adesea vorbindu-se despre "Era informatiilor" sau "societate informationala" sau "tehnologia informatiei" insa de multe ori cuvantul 'informatie' este folosit fara a intelege clar sensul acestuia, diferenta dintre date, informatii, cunostinte. In general, continutul gandirii umane opereaza cu urmatoarele concepte: Date - constau in material brut, fapte, simboluri, numere, cuvinte, poze fara un inteles de sine statator, neintegrate intr-un context, fara relatii cu alte date sau obiecte. Ele se pot obtine in urma unor experimente, sondaje etc. Informatii - prin prelucrarea datelor si gasirea relatiilor dintre acestea se obtin informatii care au un inteles si sunt integrate intr-un context. Datele organizate si prezentate intr-un mod sistematic pentru a sublinia sensul acestor date devin informatii. Pe scurt informatiile sunt date prelucrate. Informatiile se prezinta sub forma de rapoarte, statistici, diagrame etc. Cunostintele sunt colectii de date, informatii, adevaruri si principii invatate, acumulate de-a lungul timpului. Informatiile despre un subiect retinute si intelese si care pot fi folosite in luarea de decizii, formeaza judecati si opinii devin cunostinte. Cu alte cuvinte, cunostintele apar in momentul utilizarii informatiei . 2. Colectarea si analizarea datelor. Modelul conceptualInformatiile necesare realizarii modelului conceptual se obtin folosind metode conventionale precum intervievarea oamenilor din cadrul organizatiei si studierea documentelor folosite. Odata obtinute aceste informatii ele trebuiesc reprezentate intr-o forma conventionala care sa poata fi usor inteleasa de toata lumea. O astfel de reprezentare este diagrama entitati-relatii, numita si harta relatiilor, sau ERD-ul (Entity Relationship Diagram). Aceste scheme sunt un instrument util care usureaza comunicarea dintre specialistii care proiecteaza bazele de date si programatori pe de o parte si beneficiari, pe de alta parte. Acestia din urma pot intelege cu usurinta o astfel de schema, chiar daca nu sunt cunoscatori in domeniul IT. In concluzie putem sublinia cateva caracteristici ale ERD-urilor: sunt un instrument de proiectare sunt o reprezentare grafica a unui sistem de date ofera un model conceptual de inalt nivel al bazelor de date sprijina intelegerea de catre utilizatori a datelor si a relatiilor dintre acestea sunt independente de implementare. In cele ce urmeaza vom prezenta principalele elemente care intra in componenta unui ERD precum si conventiile de reprezentare a acestora. 3. Entitati. Instante. Atribute. Identificator unic.O entitate este un lucru, obiect, persoana sau eveniment care are semnificatie pentru afacerea modelata, despre care trebuie sa colectam si sa memoram date. O entitate poate fi un lucru real, tangibil precum o cladire, o persoana, poate fi o activitate precum o programare sau o operatie, sau poate fi o notiune abstracta. O entitate este reprezentata in ERD printr-un dreptunghi cu colturile rotunjite. Numele entitatii este intotdeauna un substantiv la singular si se scrie in partea de sus a dreptunghiului cu majuscule. B. NUCLEUL SQL*PLUS Limbajul SQL - Structured Query Language este un limbaj standard de interogare a bazelor de date, implementat in majoritatea SGBD-urilor, dar nu numai. In ORACLE este implementat nucleul SQL cu anumite particularitati.
Comenzile referitoare la bazele de date sunt comune tuturor versiunilor de SQL si sunt impartite in urmatoarele categorii: Comenzi DDL (Data Definition Language - limbaj de definire a datelor)
Comenzi DML (Data Manipulation Language - limbaj de manipulare a datelor)
Comenzi TPL (limbaj pentru procesarea tranzactiilor)
CREAREA SI GESTIUNEA TABELELOR:. CREAREA TABELELOR - COMANDA CREATE TABLEPentru a crea o tabela se specifica urmatoarele: definitiile atributelor modul de organizare a tabelei restrictiile de integritate spatiul de tabela caracteristicile de stocare clusterul datele daca se preiau dintr-o alta tabela definitiile partitiilor RESTRICTII DE INTEGRITATE Tipuri de restrictii: o NOT NULL o UNIQUE o PRIMARY KEY o FOREIGN o CHECK Descrierea activitatilor in afacere Trebuie sa proiectati o baza de date a unui aeroport . Baza de date trebuie sa contina informatii despre companiile ( codul, nume, adresa, telefon) care au contract cu aeroportul , departamentele pe care le detine aeroportul , biletele puse la dispozitie ,sosirile , plecarile , cat si o evidenta clara a tuturor zborurilor. Fiecare angajat are carte de munca cu compania ,clientii si companiile aeriene avand legatura directa cu fiecare zbor. La fiecare zbor efectuat de piloti , este luat in calcul numarul de pasageri la bord ( numarul de bilete cumparate ), avionul cu care se face zborul , compania caruia ii apartine avionul si ghidarea de la turnul de control. De asemenea trebuie tinuta o evidenta clara a aeroporturilor de destinatie (de exemplu, de pe pista 6 a aeroportului , pleaca un avion British Airways catre Londra, aeroportul Southend).Un avion este identificat printr-un cod(de exemplu DC-10), avand o anumita capacitate si greutate. Exista o serie de teste care se aplica avioanelor pentru a se verifica starea lor tehnica si pentru a se emite autorizatia de zbor pentru acel aparat. Fiecare test este identificat printr-un cod, un nume si se cunoaste scorul maxim posibil si scorul minim necesar pentru ca autorizatia de zbor sa poate fi emisa. Este nevoie sa se memoreze data la care un anumit test a fost aplicat anumitei aeronave, scorul obtinut si trebuie sa se stie care este tehnicianul care s-a ocupat de aplicarea testului, respectic si numarul de ore cat a durat testul. ERD-UL INITIAL
ERD-UL FINAL
Entitati; Relatii; Atribuite;CLIENT - BILET Un client poate cumpara unul sau mai multe bilete de la compania aeriana. Un bilet poate fi cumparat de un singur client. PLECARE - BILET O plecare poate folosi unul sau mai multe bilete. Un bilet poate fi folosit pentru o singura plecare. ANGAJAT - DEPARTAMENT Un departament are unul sau mai multi angajati. Un angajat poate lucra intr-un singur departament. MANAGER - DEPARTAMENT Un departament poate fi condus de un manager. Un manager poate conduce un singur departament. TARA - LOCALITATE O localitate apartine unei singure tari. O tara are una sau mai multe localitati. LOCALITATE - AEROPORT O localitate poate avea unul sau mai multe aeroporturi. Un aeroport poate exista intr-o singura localitate. TARa - COMPANIE_AERIANA O companie aeriana este dintr-o singura tara. O tara are una sau mai multe companii aeriene. COMPANIE_AERIANA - BILET O companie aeriana pune la dispozitie unul sau mai multe bilete. Un bilet apartine unei singure companii aeriene. COMPANIE_AERIANA - AVION O companie aeriana detine unul sau mai multe avioane. Un avion poate fi detinut de o singura companie aeriana. AVION - SOSIRE Un avion poate face o singura sosire pe o pista a aeroportului. O sosire pe una din pistele aeroportului se poate face de un singur avion. AVION - PLECARE Un avion poate face o singura plecare de pe o pista a aeroportului. O plecare de pe una din pistele aeroportului se poate face de un singur avion. SOSIRE - AEROPORT Un avion poate sosi de la un alt aeroport. Exista un singur aeroport de la care poate sosi un avion. PLECARE - AEROPORT Un avion poate pleca de la aeroportul nostru. Exista un singur aeroport de la care poate pleca un avion. ANGAJAT - SOSIRE Un angajat poate coordona una sau mai multe sosiri pe pista. O sosire poate fi coordonata de un singur angajat. ANGAJAT - PLECARE Un angajat poate coordona una sau mai multe plecari de pe pista. O plecare poate fi coordonata de un singur angajat. Maparea modeluluiTabela numita AEROPORT tine evidenta aeroporturilor care reprezinta destinatia plecarilor de la noi. Entitatea contine un primary key (id_angajat), dar si mai multe atribute obligatorii si cheie externa: id_departament.
Tabela numita ANGAJAT, contine un primary key (id_angajat), dar si mai multe atribute obligatorii si cheie externa: id_departament.
Tabela AVION tine evidenta tuturor avioanelor care aterizeaza si decoleaza pe aeroportul nostru. Cheie primara este ID_AVION , iar cheie externa este ID_COMPANIE , catre tabela COMPANIE (CUI).
Tabela CLIENT tine evidenta clientilor care au apelat la serviciile nostre . Cheie primara este ID_CLIENT . Foreign Key-uri nu sunt in aceasta entitate,insa avem campuri cu constrangere NOT NULL (CNP, NUME, PRENUME, TELEFON, LOCALITATE, STRADA, NUMAR).
Tabela BILET tine evidenta tuturor biletelor care au fost vandute. Primary Key este ID_BILET, iar Foreign Key-uri sunt campurile: ID_PLECARE , ID_COMPANIE , ID_CLIENT.
Tabela DEPARTAMENT tine evidenta departamentelor din agentie. Cheie primara este ID_DEPARTAMENT .Nu exista Foreign Key-uri ,insa ambele campuri din tabela au constrangere de tip NOT NULL.
Tabela COMPANIE_AERIANA tine evidenta companiilor care au contract cu aeroportul. Cheie primara este CUI (cod unic de identificare la Registrul Comertului) . Foreign Key este ID_LOCALITATE , catre tabela LOCALITATE (ID_LOCALITATE).
Tabela PLECARE tine evidenta plecarilor de pe pistele aeroportului. Cheie primara este ID_PLECARE .Campurile ID_ANGAJAT, ID_AVION reprezinta chei externe , catre angajatul care coordoneaza decolarea si catre datele avionului care este pilotat.
Tabela SOSIRE tine evidenta sosirilor pe pistele aeroportului. Cheie primara este ID_SOSIRE. Campurile ID_ANGAJAT, ID_AVION reprezinta chei externe , catre angajatul care coordoneaza aterizarea si catre datele avionului care este pilotat.
Tabela LOCALITATE tine evidenta localitatilor din fiecare tara din baza de date. Cheie primara este campul ID_LOCALITATE ,cheie externa ID_TARA , catre entitatea TARA (ID_TARA).
Tabela TARA tine evidenta tarilor din care provin clientii si emitenii , intrucat companiile pot fi multi-nationale . Cheie primara este campul ID_TARA si un avem chei externe.
Reguli proceduraleSa se afiseze numele, prenumele, adresa si numarul de telefon tuturor angajatilor. select nume, prenume, adresa, telefon from angajat Sa se afiseze detaliile companiilor aeriene. select cui, nume_companie ,detalii from companie_aeriana Sa se afiseze toate biletele la clasa 1 , care costa mai putin de 500 RON. select * from bilet where clasa = 1 and pret <= 500 COD SQL pentru generare tabele CREATE TABLE 'AEROPORT' ( 'ID_AEROPORT' NUMBER(5,0) NOT NULL ENABLE, 'NR_PISTE' NUMBER(2,0) NOT NULL ENABLE, 'TERMINALE' NUMBER(2,0) NOT NULL ENABLE, 'TELEFON' VARCHAR2(15) NOT NULL ENABLE, 'FAX' VARCHAR2(15) NOT NULL ENABLE, 'DETALII' VARCHAR2(50), 'SITE' VARCHAR2(20), CONSTRAINT 'AEROPORT_PK' PRIMARY KEY ('ID_AEROPORT') ENABLE ) CREATE TABLE 'ANGAJAT' ( 'ID_ANGAJAT' NUMBER(9,0) NOT NULL ENABLE, 'NUME' VARCHAR2(20) NOT NULL ENABLE, 'PRENUME' VARCHAR2(20) NOT NULL ENABLE, 'SALARIU' NUMBER(5,0) NOT NULL ENABLE, 'DATA_NASTERE' DATE NOT NULL ENABLE, 'ADRESA' VARCHAR2(100) NOT NULL ENABLE, 'LOCALITATE' VARCHAR2(30) NOT NULL ENABLE, 'CODPOSTAL' VARCHAR2(6), 'ID_DEPARTAMENT' NUMBER(3,0) NOT NULL ENABLE, CONSTRAINT 'ANGAJAT_PK' PRIMARY KEY ('ID_ANGAJAT') ENABLE ) CREATE TABLE 'AVION' ( 'ID_AVION' NUMBER(5,0) NOT NULL ENABLE, 'ID_COMPANIE' NUMBER(5,0) NOT NULL ENABLE, 'MARCA' VARCHAR2(20) NOT NULL ENABLE, 'MODEL' VARCHAR2(10) NOT NULL ENABLE, 'NR_LOCURI' NUMBER(4,0) NOT NULL ENABLE, CONSTRAINT 'AVION_PK' PRIMARY KEY ('ID_AVION') ENABLE ) CREATE TABLE 'BILET' ( 'ID_BILET' NUMBER(10,0) NOT NULL ENABLE, 'CUI' NUMBER(10,0) NOT NULL ENABLE, 'CNP' NUMBER(13,0) NOT NULL ENABLE, 'ID_PLECARE' NUMBER(10,0) NOT NULL ENABLE, 'PRET' NUMBER(5,0) NOT NULL ENABLE, 'CLASA' VARCHAR2(2) NOT NULL ENABLE, 'ID_CLIENT' NUMBER(5,0), 'ID_COMPANIE' NUMBER(5,0), CONSTRAINT 'BILET_PK' PRIMARY KEY ('ID_BILET') ENABLE ) CREATE TABLE 'CLIENT' ( 'CNP' NUMBER NOT NULL ENABLE, 'NUME' VARCHAR2(20) NOT NULL ENABLE, 'PRENUME' VARCHAR2(20) NOT NULL ENABLE, 'TELEFON' VARCHAR2(14) NOT NULL ENABLE, 'LOCALITATE' VARCHAR2(30) NOT NULL ENABLE, 'STRADA' VARCHAR2(20) NOT NULL ENABLE, 'NUMAR' VARCHAR2(5) NOT NULL ENABLE, 'BLOC' VARCHAR2(4), 'APARTAMENT' VARCHAR2(4), 'CODPOSTAL' VARCHAR2(6), CONSTRAINT 'CLIENT_PK' PRIMARY KEY ('CNP') ENABLE ) CREATE TABLE 'COMPANIE_AERIANA' ( 'CUI' NUMBER(10,0) NOT NULL ENABLE, 'NR_INMATRICULARE' VARCHAR2(10) NOT NULL ENABLE, 'NUME_COMPANIE' VARCHAR2(20) NOT NULL ENABLE, 'DETALII' VARCHAR2(50) NOT NULL ENABLE, 'AN_INFIINTARE' NUMBER(4,0) NOT NULL ENABLE, 'ID_LOCALITATE' NUMBER(5,0) NOT NULL ENABLE, CONSTRAINT 'COMPANIE_AERIANA_PK' PRIMARY KEY ('CUI') ENABLE ) CREATE TABLE 'DEPARTAMENT' ( 'ID_DEPARTAMENT' NUMBER(3,0) NOT NULL ENABLE, 'DENUMIRE' VARCHAR2(30) NOT NULL ENABLE, CONSTRAINT 'DEPARTAMENT_PK' PRIMARY KEY ('ID_DEPARTAMENT') ENABLE ) CREATE TABLE 'LOCALITATE' ( 'ID_LOCALITATE' NUMBER(5,0) NOT NULL ENABLE, 'ID_TARA' NUMBER(2,0) NOT NULL ENABLE, 'NUME_LOCALITATE' VARCHAR2(30) NOT NULL ENABLE, CONSTRAINT 'LOCALITATE_PK' PRIMARY KEY ('ID_LOCALITATE') ENABLE ) CREATE TABLE 'PLECARE' ( 'ID_PLECARE' NUMBER(5,0) NOT NULL ENABLE, 'PISTA_PLECARE' NUMBER(3,0) NOT NULL ENABLE, 'ORA_PLECARE' VARCHAR2(5) NOT NULL ENABLE, 'ORA_SOSIRE' VARCHAR2(5) NOT NULL ENABLE, 'INTARZIERE' NUMBER(5,0) NOT NULL ENABLE, 'ID_ANGAJAT' NUMBER(5,0), 'ID_AVION' NUMBER(5,0), CONSTRAINT 'PLECARE_PK' PRIMARY KEY ('ID_PLECARE') ENABLE ) CREATE TABLE 'SOSIRE' ( 'ID_SOSIRE' NUMBER(5,0) NOT NULL ENABLE, 'PISTA_SOSIRE' NUMBER(3,0) NOT NULL ENABLE, 'ORA_PLECARE' VARCHAR2(5) NOT NULL ENABLE, 'ORA_SOSIRE' VARCHAR2(5) NOT NULL ENABLE, 'INTARZIERE' NUMBER(5,0) NOT NULL ENABLE, 'ID_ANGAJAT' NUMBER(5,0), 'ID_AVION' NUMBER(5,0), CONSTRAINT 'SOSIRE_PK' PRIMARY KEY ('ID_SOSIRE') ENABLE ) CREATE TABLE 'TARA' ( 'ID_TARA' NUMBER(3,0) NOT NULL ENABLE, 'NUME_TARA' VARCHAR2(30) NOT NULL ENABLE, CONSTRAINT 'TARA_PK' PRIMARY KEY ('ID_TARA') ENABLE ) alter table 'AEROPORT' add constraint 'AEROPORT_CON' foreign key ('ID_LOCALITATE') references 'LOCALITATE' ('ID_LOCALITATE') alter table 'ANGAJAT' add constraint 'ANGAJAT_CON' foreign key ('ID_DEPARTAMENT') references 'DEPARTAMENT' ('ID_DEPARTAMENT') alter table 'AVION' add constraint 'AVION_CON' foreign key ('ID_COMPANIE') references 'COMPANIE_AERIANA' ('CUI') alter table 'LOCALITATE' add constraint 'LOCALITATE_CON' foreign key ('ID_TARA') references 'TARA' ('ID_TARA') alter table 'BILET' add constraint 'BILET_CON1' foreign key ('ID_PLECARE') references 'PLECARE' ('ID_PLECARE') alter table 'BILET' add constraint 'BILET_CON2' foreign key ('ID_CLIENT') references 'CLIENT' ('CNP') alter table 'BILET' add constraint 'BILET_CON3' foreign key ('ID_COMPANIE') references 'COMPANIE_AERIANA' ('CUI') alter table 'COMPANIE_AERIANA' add constraint 'COMPANIE_AERIANA_CON' foreign key ('ID_LOCALITATE') references 'LOCALITATE' ('ID_LOCALITATE') alter table 'PLECARE' add constraint 'PLECARE_CON1' foreign key ('ID_ANGAJAT') references 'ANGAJAT' ('ID_ANGAJAT') alter table 'PLECARE' add constraint 'PLECARE_CON2' foreign key ('ID_AVION') references 'AVION' ('ID_AVION') alter table 'SOSIRE' add constraint 'SOSIRE_CON1' foreign key ('ID_ANGAJAT') references 'ANGAJAT' ('ID_ANGAJAT') alter table 'SOSIRE' add constraint 'SOSIRE_CON2' foreign key ('ID_AVION') references 'AVION' ('ID_AVION') BibliografieDOCUMENTATII ON-LINE Academia Oracle https://academy.oracle.com/ Oracle10g database https://iacademy.oracle.com/
|