Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Proiect baze de date - bebe

Baze de date


PROIECT BAZE DE DATE - BEBE

Cuprins:

1. Tabelul firme.



2. Tabelul firme_detalii_plati.

3. Tabelul medici.

4. Tabelul arhiva_cnas_mf.

5. Tabelul asigurati.

6. Tabelul arhiva_asig_ang.

7. Tabelul arhiva_asig_mf.

8. Tabelul asigurati_detalii_medicale.

9. Tabelul farmacii.

10. Tabelul farm_contract_cnas.

11. Tabelul arhiva_ctr_farm_cnas.

12. Tabelul retete.

13. Tabelul retete_arhiva.

14. Tabelul retete_eliberate.

15. Tabelul

16. Tabelul

17. Tabelul

18. Tabelul

19. Tabelul

20. Tabelul

21. Tabelul

22. Tabelul

23. Tabelul

24. Tabelul

25. Tabelul

26. Tabelul

27. Tabelul

28. Tabelul

29. Tabelul

30. Tabelul

31. Tabelul

32. Tabelul

33. Tabelul

34. Tabelul

35. Tabelul

36. Tabelul

Tabelul firme retine informatii despre firmele aflate in relatie cu CNAS adica cele care platesc asigurarile medicale pentru angajatii lor.

Structura tabelului firme:

Cheile:

Am definit cheia primara cod_firma_pk pe colana cod_firma. Acest camp se completeaza automat cu ajutorului triggerului trg_firme_ins_befo_row:

create or replace trigger trg_firme_ins_befo_row -- cream un declansator care sa actioneza

before insert on bebec.firme    -- inainte de a insera o inregistrare

for each row -- pentru fiecare inregistrare introdusa

declare

codfirma bebec.firme.cod_firma%type -- declaram variabilele

UTILIZATOR VARCHAR2

begin

select max(bebec.firme.cod_firma) into codfirma from bebec.firme;

new.cod_firma:=nvl(codfirma, -- completeaza automat cu numere crescatoare campul cod_firma

NEW.CREATION_DATE:=SYSDATE -- data crearii se stabileste ca fiind data curenta

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.CREATED_BY:=UTILIZATOR; --cel ce creaza inregistrarea este utilizatorul curent

end trg_firme_ins_befo_row;

Tot acest declansator (trigger) completeaza automat campurile standard created_by si creation_date cu numele utilizatorului care creaza inregistrarea respective cu data curenta (sysdate) in care este creata inregistrarea.

Am mai creat un trigger care sa actioneze cand se fac update-uri pe tabela firme si anume completeaza automat campurile standard last_update_date si updated_by cu data ultimei modificari a inregistrarii, data sistemului (sysdate),     respectiv cu numele utilizatorului care efectueaza modificarea :

create or replace trigger trg_firme_UPD_befo_row

before UPDATE on bebec.firme

for each row

declare

UTILIZATOR VARCHAR2

begin

NEW.LAST_UPDATE_DATE:=SYSDATE

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.LAST_UPDATED_BY:=UTILIZATOR;

end trg_firme_UPD_befo_row;

Crearea tabelului firme se realizeaza cu scriptul:

-- Create table

create table FIRME

COD_FIRMA NUMBER not null

COD_FISCAL VARCHAR2 not null

DENUMIRE VARCHAR2 not null

JUDET VARCHAR2 not null

TIP_LOCALITATE VARCHAR2

LOCALITATE VARCHAR2

STRADA VARCHAR2

NUMAR NUMBER

ALTE_ADRESA VARCHAR2

TEL_FIX VARCHAR2

TEL_MOBIL VARCHAR2

FAX VARCHAR2

EMAIL VARCHAR2

WEB VARCHAR2

NR_ANG NUMBER

CREATION_DATE DATE

CREATED_BY VARCHAR2

LAST_UPDATE_DATE DATE

LAST_UPDATED_BY VARCHAR2

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Add comments to the table

comment on table FIRME

is 'TABELA CONTINE FIRMELE PENTRU CARE LUCREAZA ASIGURATII '

-- Add comments to the columns

comment on column FIRME.COD_FIRMA

is 'NUMAR UNIC DE IDENTIFICARE A UNEI FIRME'

comment on column FIRME.COD_FISCAL

is 'COD UNIC ASOCIAT FIRMELOR DE MINISTERUL DE FINANTE'

comment on column FIRME.DENUMIRE

is 'DENUMIREA (NUMELE) FIRMEI'

comment on column FIRME.JUDET

is 'JUDET ADRESA'

comment on column FIRME.TIP_LOCALITATE

is 'TIP LOCALITATE ADRESA'

comment on column FIRME.LOCALITATE

is 'LOCALITATE ADRESA'

comment on column FIRME.STRADA

is 'STRADA ADRESA'

comment on column FIRME.NUMAR

is 'NUMAR ADRESA'

comment on column FIRME.ALTE_ADRESA

is 'ALTE DETALII ADRESA'

comment on column FIRME.TEL_FIX

is 'TELEFON FIX'

comment on column FIRME.TEL_MOBIL

is 'TELEFON MOBIL'

comment on column FIRME.FAX

is 'NUMAR DE FAX'

comment on column FIRME.EMAIL

is 'ADRESA DE EMAIL '

comment on column FIRME.WEB

is 'ADRESA SITE WEB '

comment on column FIRME.NR_ANG

is 'NUMAR ANGAJATI'

comment on column FIRME.CREATION_DATE

is 'DATA CREARII INREGISTRARII'

comment on column FIRME.CREATED_BY

is 'USERUL CARE A CREAT INREGISTRAREA'

comment on column FIRME.LAST_UPDATE_DATE

is 'DATA ULTIMEI MODIFICARI ASUPRA INREGISTRARII'

comment on column FIRME.LAST_UPDATED_BY

is 'USERUL CARE A FACUT ULTIMA MODIFICARE'

-- Create/Recreate primary, unique and foreign key constraints

alter table FIRME

add constraint COD_FIRMA_PK primary key (COD_FIRMA)

using index

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

alter table FIRME

add constraint COD_FISCAL_UN unique (COD_FISCAL)

using index

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Grant/Revoke object privileges

grant select insert update delete on FIRME to SCOTT;

grant references alter index on FIRME to SCOTT with grant option

Tabelul firme_detalii_plati contine detalierea platilor efectuate de catre firme spre CNAS.

Structura tabelului firme_detalii_plati:

Cheile:

Am definit cheia primara cod_plata_pk pe colanele cod_plata, cod_firma. Campul     cod_plata se completeaza automat cu ajutorului triggerului trg_fir_det_plat_ins_befo_row:

create or replace trigger trg_fir_det_plat_ins_befo_row -- cream un trigger care sa traga

before insert on bebec.firme_detalii_plati -- inainte de inserarea in tabel a

for each row --oricarei inregistrari

declare -- declaram variabilele folosite in corpul triggerului

codplata bebec.firme_detalii_plati.cod_plata%type

UTILIZATOR VARCHAR2

begin

select max(bebec.firme_detalii_plati.cod_plata) into codplata from bebec.firme_detalii_plati

where bebec.firme_detalii_plati.cod_firma=:new.cod_firma;

new.cod_plata:=nvl(codplata,

NEW.CREATION_DATE:=SYSDATE

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.CREATED_BY:=UTILIZATOR;

end trg_fir_det_plat_ins_befo_row;

Am mai creat un trigger care sa actioneze cand se fac update-uri pe tabela firme_detalii_plati si anume completeaza automat campurile standard last_update_date si updated_by cu data ultimei modificari a inregistrarii, data sistemului (sysdate), respectiv cu numele utilizatorului care efectueaza modificarea :

create or replace trigger trg_firme_det_pl_UPD_befo_row

before UPDATE on bebec.firme_detalii_plati

for each row

declare

UTILIZATOR VARCHAR2

begin

NEW.LAST_UPDATE_DATE:=SYSDATE

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.LAST_UPDATED_BY:=UTILIZATOR;

end trg_firme_det_pl_UPD_befo_row;

Crearea tabelei firme-detalii_plati se realizeaza cu scriptul:

-- Create table

create table FIRME_DETALII_PLATI

COD_PLATA NUMBER not null

COD_FIRMA NUMBER not null

AN NUMBER not null

LUNA VARCHAR2 not null

SUMA_PLATITA NUMBER not null

REST_PLATA NUMBER

DATA_PLATII DATE not null

CREATION_DATE DATE

CREATED_BY VARCHAR2

LAST_UPDATE_DATE DATE

LAST_UPDATED_BY VARCHAR2

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Add comments to the table

comment on table FIRME_DETALII_PLATI

is 'DETALII DESPRE PLATILE FIRMELOR CATRE CNAS'

-- Add comments to the columns

comment on column FIRME_DETALII_PLATI.COD_PLATA

is 'NUMAR UNIC DE IDENTIFICARE A INREGISTRARII DIN TABEL'

comment on column FIRME_DETALII_PLATI.COD_FIRMA

is 'NUMAR CARE IDENTIFICA FIRMA '

comment on column FIRME_DETALII_PLATI.AN

is 'ANUL PENTRU CARE SE EFECTUEAZA PLATA'

comment on column FIRME_DETALII_PLATI.LUNA

is 'LUNA PENTRU CARE SE EFECTUEAZA PLATA'

comment on column FIRME_DETALII_PLATI.SUMA_PLATITA

is 'SUMA PLATITA'

comment on column FIRME_DETALII_PLATI.REST_PLATA

is 'REST RAMAS DE PLATA PENTRU LUNA RESPECTIVA'

comment on column FIRME_DETALII_PLATI.DATA_PLATII

is 'DATA LA CARE SE EFECTUEAZA PLATA'

comment on column FIRME_DETALII_PLATI.CREATION_DATE

is 'data la care a fost creata inregistrarea'

comment on column FIRME_DETALII_PLATI.CREATED_BY

is 'utilizatorul care a creat inregistrarea'

comment on column FIRME_DETALII_PLATI.LAST_UPDATE_DATE

is 'data la care s-a facut ultima modificare'

comment on column FIRME_DETALII_PLATI.LAST_UPDATED_BY

is 'utilizatorul care a efectuat ultima modificare'

-- Create/Recreate primary, unique and foreign key constraints

alter table FIRME_DETALII_PLATI

add constraint COD_PLATA_PK primary key (COD_PLATA, COD_FIRMA)

using index

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Grant/Revoke object privileges

grant select insert update delete on FIRME_DETALII_PLATI to SCOTT;

Tabela medici contine informatii despre medicii aflati in contract cu CNAS; este populata cu date reale preluate de pe site-urile judetene ale CNAS.

Structura tabelului medici:

Cheie primara cod_medic si cheie unica parafa:

Triggeri:

Inainte de inserare inregistrare:

create or replace trigger trg_MEDICI_ins_befo_row

before insert on bebec.MEDICI

for each row

declare

codMEDIC bebec.MEDICI.cod_MEDIC%type

UTILIZATOR VARCHAR2

begin

select max(bebec.MEDICI.cod_MEDIC) into codMEDIC from bebec.MEDICI;

new.cod_MEDIC:=nvl(codMEDIC,

NEW.CREATION_DATE:=SYSDATE

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.CREATED_BY:=UTILIZATOR;

end TRG_MEDICI_INS_BEFO_ROW;

Inainte de updatare inregistrare:

create or replace trigger trg_medici_UPD_befo_row -- cream un trigger care sa se declanseze

before UPDATE on bebec.medici -- inainte de a se face un update pe tabela medici

for each row -- pentru fiecare rand

declare -- declaram variabiliele locale

UTILIZATOR VARCHAR2

begin

NEW.LAST_UPDATE_DATE:=SYSDATE -- setam data ultimului update la sysdate

SELECT USER INTO UTILIZATOR FROM DUAL;-- retinem utilizatorul in variabila utilizator

NEW.LAST_UPDATED_BY:=UTILIZATOR;-- setam userul la utilizatorul curent

insert into arhiva_cnas_mf values -- inseram in tabela arhiva_cnas_mf

-- vechile valori ale inregistrarii

-- din tabela medici

-- cod din tabela arhiva_cnas_mf; putem pune orice se calculeaza automat

-- de un trigger before insert pe tabela arhiva_cnas_mf

old.cod_medic,   

old.parafa,

old.nume,

old.m_valid_de_la,

old.m_valid_pana_la,

old.tip_medic,

old.specialitatea,

old.casa_as,

old.tip_contract,

old.nr_contract,

old.c_valid_de_la,

old.c_valid_pana_la,

utilizator,    -- created_by din tabela arhiva_cnas_mf

sysdate -- creation_date din tabela arhiva_cnas_mf

null -- last_updated_by din tabela arhiva_cnas_mf

null -- last_update_date din tabela arhiva_cnas_mf

end trg_medici_UPD_befo_row;

Creare tabela medici

-- Create table

create table MEDICI

COD_MEDIC NUMBER not null

PARAFA VARCHAR2 not null

NUME VARCHAR2 not null

M_VALID_DE_LA DATE

M_VALID_PANA_LA DATE

TIP_MEDIC VARCHAR2

SPECIALITATEA VARCHAR2

CASA_AS VARCHAR2

TIP_CONTRACT VARCHAR2

NR_CONTRACT VARCHAR2

C_VALID_DE_LA DATE

C_VALID_PANA_LA DATE

CREATED_BY VARCHAR2

CREATION_DATE DATE

LAST_UPDATED_BY VARCHAR2

LAST_UPDATE_DATE DATE

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Add comments to the columns

comment on column MEDICI.COD_MEDIC

is 'COD MEDIC NUMAR UNIC ALOCAT DE SISTEM'

comment on column MEDICI.PARAFA

is 'COD UNIC ALOCAT DE MINISTERUL SANATATII'

comment on column MEDICI.NUME

is 'NUMELE MEDICULUI'

comment on column MEDICI.M_VALID_DE_LA

is 'DATA DE LA CARE ESTE VALID MEDICUL'

comment on column MEDICI.M_VALID_PANA_LA

is 'DATA PANA LA CARE ESTE VALID MEDICUL'

comment on column MEDICI.TIP_MEDIC

is 'TIPUL MEDICULUI '

comment on column MEDICI.SPECIALITATEA

is 'SPECIALITATEA MEDICULUI'

comment on column MEDICI.CASA_AS

is 'CASA AIGURARILOR DE SANATATE CU CARE MEDICUL ARE INCHEIAT CONTRACT'

comment on column MEDICI.TIP_CONTRACT

is 'TIPUL CONTRACTULUI MEDICULUI CU CASA ASIGURARILOR DE SANATATE'

comment on column MEDICI.NR_CONTRACT

is 'NUMARUL CONTRACTULUI MEDICULUI CU CNAS'

comment on column MEDICI.C_VALID_DE_LA

is 'DATA DE LA CARE MEDICUL ESTE IN CONTRACT CU CNAS'

comment on column MEDICI.C_VALID_PANA_LA

is 'DATA PANA LA CARE MEDICUL ESTE IN CONTRACT CU CNAS'

comment on column MEDICI.CREATED_BY

is 'UTILIZATORUL CARE A CREAT INREGISTRAREA'

comment on column MEDICI.CREATION_DATE

is 'DATA LA CARE A FOST CREATA INREGISTRAREA'

comment on column MEDICI.LAST_UPDATED_BY

is 'UTILIZATORUL CARE A EFECTUAT ULTIMA MODIFICARE'

comment on column MEDICI.LAST_UPDATE_DATE

is 'DATA LA CARE S-A EFECTUAT ULTIMA ACTUALIZARE'

-- Create/Recreate primary, unique and foreign key constraints

alter table MEDICI

add constraint COD_MEDIC_PK primary key (COD_MEDIC)

using index

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

alter table MEDICI

add constraint PARAFA_UN unique (PARAFA)

using index

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Grant/Revoke object privileges

grant select insert update delete on MEDICI to SCOTT;

Apoi am demarat actiunea de populare a tabelei. Deoarece tabela in DETALII_MEDICI_GJ apareau medicii de cate doua ori am creat o noua tabela DETALII_MEDICI_GJ1 executand o grupare dupa parafa (stencil)

Folosind aceasta noua tabela am inserat in tabela MEDICI

declare

cursor insert_medici is SELECT

-- am creat un cursor cu inregistrarile pe care doresc sa le

cod_medic,    -- inserez in tabela MEDICI

tmr.STENCIL parafa,

tmr.NAME nume,

tmr.VALIDFROM m_valid_de_la,

tmr.VALIDTO m_valid_pana_la,

dmg.PHYSICIANTYPE tip_medic,

dmg.SPECIALITYCODE specialitatea,

dmg.INSURANCEHOUSE casa_as,

dmg.CONTRACTTYPE tip_contract,

dmg.CONTRACTNO nr_contract,

dmg.VALIDFROM c_valid_de_la,

dmg.VALIDTO c_valid_pana_la,

NULL created_by,

NULL creation_date,

NULL last_updated_by,

NULL last_update_date

FROM TOTI_MEDICII_ROM TMR, DETALII_MEDICI_GORJ1 DMG

WHERE TMR.STENCIL=DMG.STENCIL;

inregistrare insert_medici%rowtype

-- am creat o variabila de tipul unei inregistrari din cursor

begin

for inregistrare in insert_medici loop

-- atata timp cat avem inregistrari in cursorul insert_medici

INSERT INTO MEDICI--inseram in tabela MEDICI

(cod_medic,

parafa,

nume,

m_valid_de_la,

m_valid_pana_la,

tip_medic,

specialitatea,

casa_as,

tip_contract,

nr_contract,

c_valid_de_la,

c_valid_pana_la,

created_by,

creation_date,

last_updated_by,

last_update_date)

values -- valorile inregistrarii

inregistrare.cod_medic,

inregistrare.parafa,

inregistrare.nume,

inregistrare.m_valid_de_la,

inregistrare.m_valid_pana_la,

inregistrare.tip_medic,

inregistrare.specialitatea,

inregistrare.casa_as,

inregistrare.tip_contract,

inregistrare.nr_contract,

inregistrare.c_valid_de_la,

inregistrare.c_valid_pana_la,

inregistrare.created_by,

inregistrare.creation_date,

inregistrare.last_updated_by,

inregistrare.last_update_date);

end loop

end

Tabelul arhiva_cnas_mf contine inregistrarile vechi cu privire la medicii de familie aflati in contract cu CNAS. Acest tabel se completeaza automat cu inregistrarile care se modifica in sensul ca inregistrarile vechi se muta in acest tabel. Acest tabel este folositor pentru a vedea istoricul relatiei CNAS – medici de familie; spre exemplu putem vedea in acest tabel contractul unui medic de familie si valoarea acestuia pentru un an anterior.

Structura tabelului arhiva_cnas_mf:

Cheile:

Triggeri:

Inainte de inserare inregistrare:

create or replace trigger trg_arhiva_cnas_mf_ins_bef_rw--aloca numere pentru cod

before insert on bebec.arhiva_cnas_mf    --numararea se face pentru fiecare medic

for each row

declare

cod bebec.arhiva_cnas_mf.cod%type

begin

select max(bebec.arhiva_cnas_mf.cod) into cod from bebec.arhiva_cnas_mf

where bebec.arhiva_cnas_mf.cod_medic=:new.cod_medic;

new.cod:=nvl(cod,

end trg_arhiva_cnas_mf_ins_bef_rw;

Inainte de modificare inregistrare:

create or replace trigger trg_ah_cnas_mf_upd_befo_row -- acest trigger se declanseaza

before UPDATE on bebec.arhiva_cnas_mf    -- inainte de modificarea unei inregistrari

for each row -- din tabel

declare -- si completeaza automat coloanele

UTILIZATOR VARCHAR2 -- last_update_date si last_updated_by

begin

NEW.LAST_UPDATE_DATE:=SYSDATE -- cu data curenta si utilizatorul curent

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.LAST_UPDATED_BY:=UTILIZATOR;

end trg_ah_cnas_mf_upd_befo_row;

Crearea tabelului:

-- Create table

create table ARHIVA_CNAS_MF

COD NUMBER not null

COD_MEDIC NUMBER not null

PARAFA VARCHAR2 not null

NUME VARCHAR2 not null

M_VALID_DE_LA DATE

M_VALID_PANA_LA DATE

TIP_MEDIC VARCHAR2

SPECIALITATEA VARCHAR2

CASA_AS VARCHAR2

TIP_CONTRACT VARCHAR2

NR_CONTRACT VARCHAR2

C_VALID_DE_LA DATE

C_VALID_PANA_LA DATE

CREATED_BY VARCHAR2

CREATION_DATE DATE

LAST_UPDATED_BY VARCHAR2

LAST_UPDATE_DATE DATE

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Add comments to the columns

comment on column ARHIVA_CNAS_MF.COD

is 'numara modificarile pentru fiecare cod_medic'

comment on column ARHIVA_CNAS_MF.COD_MEDIC

is 'codul medicului la care se refera inregistrarea'

comment on column ARHIVA_CNAS_MF.PARAFA

is 'parafa medicului'

comment on column ARHIVA_CNAS_MF.NUME

is 'numele si prenumele medicului'

comment on column ARHIVA_CNAS_MF.M_VALID_DE_LA

is 'data de la care este valid medicul'

comment on column ARHIVA_CNAS_MF.M_VALID_PANA_LA

is 'data pana la care este valid medicul'

comment on column ARHIVA_CNAS_MF.TIP_MEDIC

is 'tipul medicului'

comment on column ARHIVA_CNAS_MF.SPECIALITATEA

is 'specialitatea medicului'

comment on column ARHIVA_CNAS_MF.CASA_AS

is 'casa de asigurari cu care medicul are contract'

comment on column ARHIVA_CNAS_MF.TIP_CONTRACT

is 'tipul contractului medicului cu CNAS'

comment on column ARHIVA_CNAS_MF.NR_CONTRACT

is 'numarul contractului'

comment on column ARHIVA_CNAS_MF.C_VALID_DE_LA

is 'data de la care este valid contractul'

comment on column ARHIVA_CNAS_MF.C_VALID_PANA_LA

is 'data pana la care este valid contractul'

comment on column ARHIVA_CNAS_MF.CREATED_BY

is 'utilizatorul care a creat inregistrarea'

comment on column ARHIVA_CNAS_MF.CREATION_DATE

is 'data la care a fost creata inregistrarea'

comment on column ARHIVA_CNAS_MF.LAST_UPDATED_BY

is 'utilizatorul care a efectuat ultima modificare'

comment on column ARHIVA_CNAS_MF.LAST_UPDATE_DATE

is 'data la care s-a efectuat ultima modificare'

-- Create/Recreate primary, unique and foreign key constraints

alter table ARHIVA_CNAS_MF

add constraint ARH_CNAS_MF_PK primary key (COD, COD_MEDIC)

using index

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

alter table ARHIVA_CNAS_MF

add constraint MEDICI_FK foreign key (COD_MEDIC)

references MEDICI (COD_MEDIC)

disable

-- Grant/Revoke object privileges

grant select insert update delete on ARHIVA_CNAS_MF to SCOTT;

Tabelul asigurati contine date despre persoanele care beneficiaza de servicii medicale.

Structura tabelului asigurati:

Chei:

Triggeri:

Inainte de inserare inregistrare:

create or replace trigger trg_asigurati_ins_befo_row-- aloca automat numere pentru

before insert on bebec.asigurati    -- cod asigurat (pk)

for each row -- completeaza automat

declare -- created_by si creation date cu

codasig bebec.asigurati.cod_asigurat%type -- numele utilizatorului

UTILIZATOR VARCHAR2 -- respectiv data sistemului

begin

select max(bebec.asigurati.cod_asigurat) into codasig from bebec.asigurati;

new.cod_asigurat:=nvl(codasig,

NEW.CREATION_DATE:=SYSDATE

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.CREATED_BY:=UTILIZATOR;

end TRG_asigurati_INS_BEFO_ROW;

Inainte de modificare inregistrare:

create or replace trigger trg_asigurati_upd_befo_row -- cream un trigger care sa se declanseze

before UPDATE on bebec.asigurati -- inainte de a se face un update pe tabela asigurati

for each row -- pentru fiecare rand

declare -- declaram variabiliele locale

UTILIZATOR VARCHAR2

begin

NEW.LAST_UPDATE_DATE:=SYSDATE -- setam data ultimului update la sysdate

SELECT USER INTO UTILIZATOR FROM DUAL;-- retinem utilizatorul in variabila utilizator

NEW.LAST_UPDATED_BY:=UTILIZATOR;-- setam userul la utilizatorul curent

if old.cod_firma<>:new.cod_firma -- cand angajut isi schimba locul de munca

and old.data_angajarii<>:new.data_angajarii then

insert into arhiva_asig_ang values -- inseram in tabela arhiva_asig_ang

-- vechile valori ale inregistrarii

-- din tabela asigurati

-- cod din tabela arhiva_asig_ang; putem pune orice se calculeaza automat

-- de un trigger before insert pe tabela arhiva_asig_ang

old.cod_asigurat,

old.cod_firma,

old.data_angajarii,

nvl(:old.data_demisie,:new.data_angajarii),

utilizator,    -- created_by din tabela arhiva_cnas_mf

sysdate -- creation_date din tabela arhiva_cnas_mf

null -- last_updated_by din tabela arhiva_cnas_mf

null

new.data_demisie:=null -- last_update_date din tabela arhiva_cnas_mf

end if

if new.data_demisie is not null -- cand angajut isi da demisia fara a se angaja imediat

then

begin

insert into arhiva_asig_ang values -- inseram in tabela arhiva_asig_ang

-- vechile valori ale inregistrarii

-- din tabela asigurati

-- cod din tabela arhiva_asig_ang; putem pune orice se calculeaza automat

-- de un trigger before insert pe tabela arhiva_asig_ang

old.cod_asigurat,

old.cod_firma,

old.data_angajarii,

new.data_demisie,

utilizator,    -- created_by din tabela arhiva_cnas_mf

sysdate -- creation_date din tabela arhiva_cnas_mf

null -- last_updated_by din tabela arhiva_cnas_mf

null -- last_update_date din tabela arhiva_cnas_mf

new.cod_firma:=null

new.data_angajarii:=null

new.data_demisie:=null

end

end if

if new.cod_med_fam<>:old.cod_med_fam

and new.data_inscr_mf<>:old.data_inscr_mf

then

insert into arhiva_asig_mf values -- inseram in tabela arhiva_asig_mf

-- vechile valori ale inregistrarii

-- din tabela asigurati

-- cod din tabela arhiva_asig_mf; putem pune orice se calculeaza automat

-- de un trigger before insert pe tabela arhiva_asig_mf

old.cod_asigurat,

old.cod_med_fam,

old.data_inscr_mf,

new.data_inscr_mf,

utilizator,    -- created_by din tabela arhiva_cnas_mf

sysdate -- creation_date din tabela arhiva_cnas_mf

null -- last_updated_by din tabela arhiva_cnas_mf

null

end if -- last_update_date din tabela arhiva_cnas_mf

if new.data_plecare is not null

then

insert into arhiva_asig_mf values -- inseram in tabela arhiva_asig_mf

-- vechile valori ale inregistrarii

-- din tabela asigurati

-- cod din tabela arhiva_asig_mf; putem pune orice se calculeaza automat

-- de un trigger before insert pe tabela arhiva_asig_mf

old.cod_asigurat,

old.cod_med_fam,

old.data_inscr_mf,

new.data_plecare,

utilizator,    -- created_by din tabela arhiva_cnas_mf

sysdate -- creation_date din tabela arhiva_cnas_mf

null -- last_updated_by din tabela arhiva_cnas_mf

null

new.cod_med_fam:=null

new.data_inscr_mf:=null

new.data_plecare:=null

end if

end trg_asigurati_upd_befo_row;

end trg_asigurati_upd_befo_row;

Tabelul arhiva_asig_ang     retine informatii despre relatia asigurati angajatori. Tabelul este completat automat in momentul modificarii datelor din tabelul asigurati. Aici putem vedea locurile de munca pe care le-a avut un asigurat de-a lungul timpului practice cine a platit pentru el asigurarea de sanatate.

Structura tabelului arhiva_asig_ang:

Cheile:

Triggeri:

Inainte de inserare inregistrare:

create or replace trigger trg_ah_asig_ang_ins_befo_row

before insert on bebec.arhiva_asig_ang

for each row

declare

cod bebec.arhiva_asig_ang.cod%type

UTILIZATOR VARCHAR2

begin

select max(bebec.arhiva_asig_ang.cod) into cod

from bebec.arhiva_asig_ang

where bebec.arhiva_asig_ang.cod_asigurat=:new.cod_asigurat;

new.cod:=nvl(cod,

NEW.CREATION_DATE:=SYSDATE

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.CREATED_BY:=UTILIZATOR;

end trg_ah_asig_ang_ins_befo_row;

Inainte de updatare inregistrare:

create or replace trigger trg_ah_asig_ang_upd_befo_row

before UPDATE on bebec.arhiva_asig_ang

for each row

declare

UTILIZATOR VARCHAR2

begin

NEW.LAST_UPDATE_DATE:=SYSDATE

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.LAST_UPDATED_BY:=UTILIZATOR;

end trg_ah_asig_ang_upd_befo_row;

Crearea tabelului arhiva_asig_ang:

-- Create table

create table ARHIVA_ASIG_ANG

COD NUMBER not null

COD_ASIGURAT NUMBER not null

COD_FIRMA NUMBER not null

DATA_ANG DATE not null

DATA_PLE DATE not null

CREATED_BY VARCHAR2

CREATION_DATE DATE

LAST_UPDATED_BY VARCHAR2

LAST_UPDATE_DATE DATE

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Add comments to the columns

comment on column ARHIVA_ASIG_ANG.COD

is 'NUMAR UNIC PENTRU FIECARE ASIGURAT'

comment on column ARHIVA_ASIG_ANG.COD_ASIGURAT

is 'IDENTIFICA ASIGURATUL'

comment on column ARHIVA_ASIG_ANG.COD_FIRMA

is 'IDENTIFICA FIRMA'

comment on column ARHIVA_ASIG_ANG.DATA_ANG

is 'DATA ANGAJARII'

comment on column ARHIVA_ASIG_ANG.DATA_PLE

is 'DATA PLECARII'

comment on column ARHIVA_ASIG_ANG.CREATED_BY

is 'utilizatorul care a creat inregistrarea'

comment on column ARHIVA_ASIG_ANG.CREATION_DATE

is 'data la care a fost creata inregistrarea'

comment on column ARHIVA_ASIG_ANG.LAST_UPDATED_BY

is 'utilizatorul care a efectuat ultima actualizare a inregistrarii'

comment on column ARHIVA_ASIG_ANG.LAST_UPDATE_DATE

is 'data la care s-a efectuat ultima actualizare a inregistrarii'

-- Create/Recreate primary, unique and foreign key constraints

alter table ARHIVA_ASIG_ANG

add constraint COD_PK1 primary key (COD, COD_ASIGURAT)

using index

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Grant/Revoke object privileges

grant select insert update delete on ARHIVA_ASIG_ANG to SCOTT;

grant references alter index on ARHIVA_ASIG_ANG to SCOTT with grant option

Tabelul arhiva_asig_mf retine istoricul relatiei asigurat - medic de familie.

Structura tabelului arhiva_asig_mf:

Cheile:

Triggeri:

Inainte de inserare inregistrare:

create or replace trigger trg_ah_asig_mf_ins_befo_row

before insert on bebec.arhiva_asig_mf

for each row

declare

cod bebec.arhiva_asig_mf.cod%type

UTILIZATOR VARCHAR2

begin

select max(bebec.arhiva_asig_mf.cod) into cod

from bebec.arhiva_asig_mf

where bebec.arhiva_asig_mf.cod_asig=:new.cod_asig;

new.cod:=nvl(cod,

NEW.CREATION_DATE:=SYSDATE

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.CREATED_BY:=UTILIZATOR;

end trg_ah_asig_mf_ins_befo_row;

Inainte de updatare inregistrare:

create or replace trigger trg_ah_asig_mf_upd_befo_row

before UPDATE on bebec.arhiva_asig_mf

for each row

declare

UTILIZATOR VARCHAR2

begin

NEW.LAST_UPDATE_DATE:=SYSDATE

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.LAST_UPDATED_BY:=UTILIZATOR;

end trg_ah_asig_mf_upd_befo_row;

Crearea tabelului arhiva_asig_mf:

-- Create table

create table ARHIVA_ASIG_MF

COD NUMBER not null

COD_ASIG NUMBER not null

COD_MEDIC NUMBER

DATA_INSCR DATE

DATA_PLE DATE

CREATED_BY VARCHAR2

CREATION_DATE DATE

LAST_UPDATED_BY VARCHAR2

LAST_UPDATE_DATE DATE

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Add comments to the columns

comment on column ARHIVA_ASIG_MF.COD

is 'NUMAR UNIC DE IDENTIFICARE PENTRU INREGISTRARILE DIN TABEL'

comment on column ARHIVA_ASIG_MF.COD_ASIG

is 'IDENTIFICA ASIGURATUL'

comment on column ARHIVA_ASIG_MF.COD_MEDIC

is 'IDENTIFICA MEDICUL'

comment on column ARHIVA_ASIG_MF.DATA_INSCR

is 'DATA INSCRIERII LA MEDICUL DE FAMILIE'

comment on column ARHIVA_ASIG_MF.DATA_PLE

is 'DATA PLECARII DE LA MEDICUL DE FAMILIE'

comment on column ARHIVA_ASIG_MF.CREATED_BY

is 'utilizatorul care a creat inregistrarea'

comment on column ARHIVA_ASIG_MF.CREATION_DATE

is 'data la care a fost creata inregistrarea'

comment on column ARHIVA_ASIG_MF.LAST_UPDATED_BY

is 'utilizatorul care a efectuat ultima actualizare a inregistrarii'

comment on column ARHIVA_ASIG_MF.LAST_UPDATE_DATE

is 'data la care s-a efectuat ultima actualizare a inregistrarii'

-- Create/Recreate primary, unique and foreign key constraints

alter table ARHIVA_ASIG_MF

add constraint COD_PK2 primary key (COD, COD_ASIG)

using index

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Grant/Revoke object privileges

grant select insert update delete on ARHIVA_ASIG_MF to SCOTT;

Tabelul retine detalii despre consultatiile medicale, diagnosticele puse si investigatiile facute asiguratilor.

Structura tabelului asigurati_detalii_medicale :

Cheile:

Triggeri:

Inainte de inserare inregistrare noua:

create or replace trigger trg_asig_detal_ins_befo_row

before insert on bebec.asigurati_detalii_medicale

for each row

declare

cod bebec.asigurati_detalii_medicale.cod%type

UTILIZATOR VARCHAR2

begin

select max(bebec.asigurati_detalii_medicale.cod) into cod

from bebec.asigurati_detalii_medicale

where bebec.asigurati_detalii_medicale.cod_asigurat=:new.cod_asigurat;

new.cod:=nvl(cod,

NEW.CREATION_DATE:=SYSDATE

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.CREATED_BY:=UTILIZATOR;

end trg_asig_detal_ins_befo_row;

Inainte de modificare inregistrare:

create or replace trigger trg_as_det_med_upd_befo_row -- acest trigger se declanseaza

before UPDATE on bebec.asigurati_detalii_medicale -- inainte de modificarea unei inregistrari

for each row -- din tabel

declare -- si completeaza automat coloanele

UTILIZATOR VARCHAR2 -- last_update_date si last_updated_by

begin

NEW.LAST_UPDATE_DATE:=SYSDATE -- cu data curenta si utilizatorul curent

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.LAST_UPDATED_BY:=UTILIZATOR;

end trg_as_det_med_upd_befo_row;

Crearea tabelului asigurati_detalii_medicale:

-- Create table

create table ASIGURATI_DETALII_MEDICALE

COD NUMBER not null

COD_ASIGURAT NUMBER not null

DATA_CONSULT DATE not null

COD_MEDIC NUMBER not null

SIMPTOME VARCHAR2

DIAGNOSTIC VARCHAR2

TRIM_AN VARCHAR2

COD_TRIM_AN VARCHAR2

TRIM_SP VARCHAR2

COD_TRIM_SP VARCHAR2

RETETA VARCHAR2

COD_RETETA VARCHAR2

BILET_TRIM_SP VARCHAR2

DATA_BILET_TRIM_SP DATE

DETALII VARCHAR2

CREATED_BY VARCHAR2

CREATION_DATE DATE

LAST_UPDATED_BY VARCHAR2

LAST_UPDATE_DATE DATE

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Add comments to the columns

comment on column ASIGURATI_DETALII_MEDICALE.COD

is 'IDENTIFICA FIECARE INREGISTRARE pentru un asigurat'

comment on column ASIGURATI_DETALII_MEDICALE.COD_ASIGURAT

is 'IDENTIFICA ASIGURATUL PENTRU CARE SUNT SALVATE DETALII FK'

comment on column ASIGURATI_DETALII_MEDICALE.DATA_CONSULT

is 'DATA CONSULTATIEI'

comment on column ASIGURATI_DETALII_MEDICALE.COD_MEDIC

is 'CODUL MEDICULUI CARE A EFECTUAT CONSULTATIA FK'

comment on column ASIGURATI_DETALII_MEDICALE.SIMPTOME

is 'SIMPTOMELE PREZENTATE DE PACIENT'

comment on column ASIGURATI_DETALII_MEDICALE.DIAGNOSTIC

is 'DIAGNOSTICUL PUS DE MEDIC'

comment on column ASIGURATI_DETALII_MEDICALE.TRIM_AN

is 'DA SAU NU; DACA SE ELIBEREAZA SAU NU O TRIMITERE PENTRU ANALIZE'

comment on column ASIGURATI_DETALII_MEDICALE.COD_TRIM_AN

is 'CODUL TRIMITERII LA ANALIZE'

comment on column ASIGURATI_DETALII_MEDICALE.TRIM_SP

is 'DA SAU NU ; DACA SE ELIBEREAZA SAU NU O TRIMITERE CATRE SPECIALIST'

comment on column ASIGURATI_DETALII_MEDICALE.COD_TRIM_SP

is 'CODUL TRIMITERII CATRE SPECIALIST'

comment on column ASIGURATI_DETALII_MEDICALE.RETETA

is 'DA SAU NU; DACA SE ELIBEREAZA SAU NU RETETA'

comment on column ASIGURATI_DETALII_MEDICALE.COD_RETETA

is 'CODUL RETETEI'

comment on column ASIGURATI_DETALII_MEDICALE.BILET_TRIM_SP

is 'BILET DE TRIMITERE IN BAZA CARUIA SE FACE CONSULTATIA SPECIALISTULUI'

comment on column ASIGURATI_DETALII_MEDICALE.DATA_BILET_TRIM_SP

is 'DATA IN CARE A FOST ELIBERAT BILETUL DE TRIMITERE'

comment on column ASIGURATI_DETALII_MEDICALE.DETALII

is 'ALTE DETALII DESPRE PACIENT'

comment on column ASIGURATI_DETALII_MEDICALE.CREATED_BY

is 'UTILIZATORUL CARE A CREAT INREGISTRAREA'

comment on column ASIGURATI_DETALII_MEDICALE.CREATION_DATE

is 'DATA LA CARE A FOST CREATA INREGISTRAREA'

comment on column ASIGURATI_DETALII_MEDICALE.LAST_UPDATED_BY

is 'UTILIZATORUL CARE A EFECTUAT ULTIMA MODIFICARE'

comment on column ASIGURATI_DETALII_MEDICALE.LAST_UPDATE_DATE

is 'DATA LA CARE A FOST EFECTUATA ULTIMA MODIFICARE'

-- Create/Recreate primary, unique and foreign key constraints

alter table ASIGURATI_DETALII_MEDICALE

add constraint COD_PK primary key (COD, COD_ASIGURAT)

using index

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Grant/Revoke object privileges

grant select insert update delete on ASIGURATI_DETALII_MEDICALE to SCOTT;

Tabelul farmacii contine informatii despre sediile sociale ale firmelor ce detin farmacii.

Structura tabelului farmacii:

Cheile:

Triggeri:

Inainte de inserare inregistrare:

create or replace trigger trg_farmacii_ins_befo_row -- cream un declansator care sa actioneza

before insert on bebec.farmacii -- inainte de a insera o inregistrare

for each row -- pentru fiecare inregistrare introdusa

declare

codfarmacie bebec.farmacii.cod_farmacie%type -- declaram variabilele

UTILIZATOR VARCHAR2

begin

select max(bebec.farmacii.cod_farmacie) into codfarmacie from bebec.farmacii;

new.cod_farmacie:=nvl(codfarmacie, completeaza automat cu numere crescatoare campul cod_farmacie

NEW.CREATION_DATE:=SYSDATE -- data crearii se stabileste ca fiind data curenta

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.CREATED_BY:=UTILIZATOR; --cel ce creaza inregistrarea este utilizatorul current

end trg_farmacii_ins_befo_row;

Inainte de updatare modificare:

create or replace trigger trg_farmacii_upd_befo_row

before UPDATE on bebec.farmacii

for each row

declare

UTILIZATOR VARCHAR2

begin

NEW.LAST_UPDATE_DATE:=SYSDATE

SELECT USER INTO UTILIZATOR FROM DUAL;

NEW.LAST_UPDATED_BY:=UTILIZATOR;

end trg_farmacii_upd_befo_row;

Creare tabel farmacii:

-- Create table

create table FARMACII

COD_FARMACIE NUMBER not null

DENUMIRE_FARMACIE VARCHAR2

JUDET VARCHAR2

TIP_LOCALITATE VARCHAR2

LOCALITATE VARCHAR2

STRADA VARCHAR2

NR NUMBER

COD_POSTAL NUMBER

ALTE_ADRESA VARCHAR2

TEL_FIX NUMBER

TEL_MOBIL NUMBER

FAX NUMBER

EMAIL VARCHAR2

PAGINA_WEB VARCHAR2

FARMACIST_SEF VARCHAR2

CREATED_BY VARCHAR2

CREATION_DATE DATE

LAST_UPDATED_BY VARCHAR2

LAST_UPDATE_DATE DATE

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Add comments to the columns

comment on column FARMACII.COD_FARMACIE

is 'IDENTIFICA UNIC INREGISTRARILE DIN TABEL'

comment on column FARMACII.DENUMIRE_FARMACIE

is 'NUMELE FARMACIEI'

comment on column FARMACII.JUDET

is 'JUDETUL IN CARE ISI ARE SEDIUL SOCIETATEA'

comment on column FARMACII.TIP_LOCALITATE

is 'TIPLUL LOCALITATII'

comment on column FARMACII.LOCALITATE

is 'LOCALITATEA IN CARE ISI ARE SEDIUL SOCIAL FIRMA'

comment on column FARMACII.STRADA

is 'STRADA PE CARE ESTE SITUAT SEDIUL SOCIAL AL FIRMEI'

comment on column FARMACII.NR

is 'NUMARUL'

comment on column FARMACII.COD_POSTAL

is 'CODUL POSTAL'

comment on column FARMACII.ALTE_ADRESA

is 'ALTE DETALII DESPRE ADRESA SEDIULUI SOCIAL'

comment on column FARMACII.TEL_FIX

is 'NUMAR TELEFON FIX'

comment on column FARMACII.TEL_MOBIL

is 'NUMAR TELEFON MOBIL'

comment on column FARMACII.FAX

is 'NUMAR DE FAX'

comment on column FARMACII.EMAIL

is 'ADRESA DE MAIL'

comment on column FARMACII.PAGINA_WEB

is 'PAGINA WEB'

comment on column FARMACII.FARMACIST_SEF

is 'NUMELE FARMACISTULUI SEF'

comment on column FARMACII.CREATED_BY

is 'UTILIZATORUL CARE A CREAT INREGISTRAREA'

comment on column FARMACII.CREATION_DATE

is 'DATA CREARII INREGISTRARII'

comment on column FARMACII.LAST_UPDATED_BY

is 'UTILIZATORUL CARE A EFECTUAT ULTIMUL UPDATE'

comment on column FARMACII.LAST_UPDATE_DATE

is 'DATA LA CARE S-A FACUT ULTIMA MODIFICARE'

-- Create/Recreate primary, unique and foreign key constraints

alter table FARMACII

add constraint COD_FARMACIE_PK primary key (COD_FARMACIE)

using index

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Grant/Revoke object privileges

grant select insert update delete on FARMACII to SCOTT;

Tabelul farm_contract_cnas contine informatii despre contractele farmaciilor cu CNAS.

Structura tabelului farm_contract_cnas:

Chei:

Triggeri:

Inainte de inserare inregistrare:

Inainte de updatare modificare:

Creare tabel farm_contract_cnas:

-- Create table

create table FARMACII_CONTRACT_CNAS

COD_FARMACIE NUMBER not null

CNAS_CU_CARE_ARE_CTR VARCHAR2

CONTRACT_CNAS VARCHAR2

VALID_DE_LA DATE

VALID_PANA_LA DATE

VALOARE_CONTRACT NUMBER

UTILIZAT_LA_ZI_FARM NUMBER

DIFERENTA_DE_UTILIZAT NUMBER

CREATED_BY VARCHAR2

CREATION_DATE DATE

LAST_UPDATED_BY VARCHAR2

LAST_UPDATE_DATE DATE

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Add comments to the columns

comment on column FARMACII_CONTRACT_CNAS.COD_FARMACIE

is 'CODUL FARMACIEI'

comment on column FARMACII_CONTRACT_CNAS.CNAS_CU_CARE_ARE_CTR

is 'NUMELE CASEI CU CARE ARE CONTRACT'

comment on column FARMACII_CONTRACT_CNAS.CONTRACT_CNAS

is 'NUMARUL CONTRACTULUI CU CNAS'

comment on column FARMACII_CONTRACT_CNAS.VALID_DE_LA

is 'DATA DE LA CARE ESTE VALID CONTRACTUL'

comment on column FARMACII_CONTRACT_CNAS.VALID_PANA_LA

is 'DATA PANA LA CARE ESTE VALID CONTRACTUL'

comment on column FARMACII_CONTRACT_CNAS.VALOARE_CONTRACT

is 'VALOAREA CONTRACTULUI'

comment on column FARMACII_CONTRACT_CNAS.UTILIZAT_LA_ZI_FARM

is 'VALOAREA UTILIZATA LA ZI DIN CONTRACT PE FARMACIE'

comment on column FARMACII_CONTRACT_CNAS.DIFERENTA_DE_UTILIZAT

is 'VALOAREA RAMASA DE UTILIZAT DIN CONTRACT'

comment on column FARMACII_CONTRACT_CNAS.CREATED_BY

is 'UTILIZATORUL CARE A CREAT INREGISTRAREA'

comment on column FARMACII_CONTRACT_CNAS.CREATION_DATE

is 'DATA CREARII INREGISTRARII'

comment on column FARMACII_CONTRACT_CNAS.LAST_UPDATED_BY

is 'UTILIZATORUL CARE A EFECTUAT ULTIMUL UPDATE'

comment on column FARMACII_CONTRACT_CNAS.LAST_UPDATE_DATE

is 'DATA LA CARE S-A FACUT ULTIMA MODIFICARE'

Tabelul arhiva_ctr_farm_cnas detine informatii despre contractele vechi dintre farmacii si CNAS.

Structura tabelului arhiva_ctr_farm_cnas:

Chei:

Triggeri:

Inainte de inserare inregistrare:

Inainte de updatare modificare:

Creare tabel:

-- Create table

create table ARHIVA_CTR_FARM_CNAS

COD NUMBER not null

COD_FARMACIE NUMBER

CNAS_CU_CARE_ARE_CTR VARCHAR2

CONTRACT_CNAS VARCHAR2

VALID_DE_LA DATE

VALID_PANA_LA DATE

VALOARE_CONTRACT NUMBER

UTILIZAT_FARMACIE NUMBER

NEUTILIZAT_DIN_CONTRACT NUMBER

DEPASIRE_CONTRACT NUMBER

DATA_FINALIZARII DATE

MOD_INCHEIERE_CONTRACT VARCHAR2

CREATED_BY VARCHAR2

CREATION_DATE DATE

LAST_UPDATED_BY VARCHAR2

LAST_UPDATE_DATE DATE

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Add comments to the columns

comment on column ARHIVA_CTR_FARM_CNAS.COD

is 'IDENTIFICA UNIC LINIILE DIN TABEL'

comment on column ARHIVA_CTR_FARM_CNAS.COD_FARMACIE

is 'CODUL FARMACIEI'

comment on column ARHIVA_CTR_FARM_CNAS.CNAS_CU_CARE_ARE_CTR

is 'CASA CU CARE S-A DESFASURAT CONTRACTUL'

comment on column ARHIVA_CTR_FARM_CNAS.CONTRACT_CNAS

is 'NUMARUL CONTRACTULUI'

comment on column ARHIVA_CTR_FARM_CNAS.VALID_DE_LA

is 'DATA DE LA CARE A INCEPUT CONTRACTUL'

comment on column ARHIVA_CTR_FARM_CNAS.VALID_PANA_LA

is 'DATA PANA LA CARE A FOST VALABIL CONTRACTUL'

comment on column ARHIVA_CTR_FARM_CNAS.VALOARE_CONTRACT

is 'VALOAREA CONTRACTULUI'

comment on column ARHIVA_CTR_FARM_CNAS.UTILIZAT_FARMACIE

is 'VALAORE CONTRACT UTILIZATA DE FARMACIE'

comment on column ARHIVA_CTR_FARM_CNAS.NEUTILIZAT_DIN_CONTRACT

is 'VALOARE RAMASA DE UTILIZAT DIN CONTRACT'

comment on column ARHIVA_CTR_FARM_CNAS.DEPASIRE_CONTRACT

is 'VALOARE DEPASIRE CONTRACT'

comment on column ARHIVA_CTR_FARM_CNAS.DATA_FINALIZARII

is 'DATA LA CARE S-A INCHEIAT CONTRACTUL'

comment on column ARHIVA_CTR_FARM_CNAS.MOD_INCHEIERE_CONTRACT

is 'MODUL IN CARE S-A INCHEIAR CONTRACTUL'

comment on column ARHIVA_CTR_FARM_CNAS.CREATED_BY

is 'UTILIZATORUL CARE A CREAT INREGISTRAREA'

comment on column ARHIVA_CTR_FARM_CNAS.CREATION_DATE

is 'DATA LA CARE A FOST CREATA INRGISTRAREA'

comment on column ARHIVA_CTR_FARM_CNAS.LAST_UPDATED_BY

is 'UTILIZATORUL CARE A EFECTUAT ULTIMA MODIFICARE'

comment on column ARHIVA_CTR_FARM_CNAS.LAST_UPDATE_DATE

is 'DATA LA CARE S-A EFECTUAT ULTIMA MODIFICARE'

-- Create/Recreate primary, unique and foreign key constraints

alter table ARHIVA_CTR_FARM_CNAS

add constraint AH_FARM_CTR_PK primary key (COD)

using index

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Grant/Revoke object privileges

grant select insert update delete on ARHIVA_CTR_FARM_CNAS to SCOTT;

Tabelul retete detine informatii despre retetele eliberate de medici.

Structura tabelului:

Chei:

Triggeri:

Inainte de inserare inregistrare:

Inainte de updatare modificare:

Creare tabel

-- Create table

create table RETETE

COD_MEDIC NUMBER

COD_RETETA NUMBER

COD_ASIGURAT NUMBER

DATA_ELIB DATE

DIAGNOSTIC VARCHAR2

COD_BOALA VARCHAR2

TIP_DIAGNOSTIC VARCHAR2

TIP_RETETA VARCHAR2

SUBSTANTA_ACTIVA VARCHAR2

FORMA_FARMACEUTICA VARCHAR2

CONCENTRATIA VARCHAR2

LISTA_MEDICAMENTE VARCHAR2

COMPENSARE NUMBER

DOZA_ZILNICA NVARCHAR2

CANTITATE NUMBER

DATA_EXPIR DATE

ELIBERATA VARCHAR2

CREATED_BY VARCHAR2

CREATION_DATE DATE

LAST_UPDATED_BY VARCHAR2

LAST_UPDATE_DATE DATE

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Add comments to the columns

comment on column RETETE.COD_MEDIC

is 'codul medicului care creaza reteta'

comment on column RETETE.COD_RETETA

is 'codul retetei '

comment on column RETETE.COD_ASIGURAT

is 'codul asiguratului care primeste reteta'

comment on column RETETE.DATA_ELIB

is 'data eliberarii retetei'

comment on column RETETE.DIAGNOSTIC

is 'diagnosticul pus de medic'

comment on column RETETE.COD_BOALA

is 'codul bolii'

comment on column RETETE.TIP_DIAGNOSTIC

is 'tipul diagnosticului'

comment on column RETETE.TIP_RETETA

is 'tipul retetei'

comment on column RETETE.SUBSTANTA_ACTIVA

is 'substanta activa prescrisa'

comment on column RETETE.FORMA_FARMACEUTICA

is 'forma farmaceutica'

comment on column RETETE.CONCENTRATIA

is 'concentratia'

comment on column RETETE.LISTA_MEDICAMENTE

is 'incadrarea pe lista de medicamente (A, B, C1, C2, C3)'

comment on column RETETE.COMPENSARE

is 'procent compensare'

comment on column RETETE.DOZA_ZILNICA

is 'doza zilnica'

comment on column RETETE.CANTITATE

is 'cantitatea prescrisa'

comment on column RETETE.DATA_EXPIR

is 'data expirarii retetei'

comment on column RETETE.ELIBERATA

is 'stadiul retetei'

comment on column RETETE.CREATED_BY

is 'utilizatorul care a creat inregistrarea'

comment on column RETETE.CREATION_DATE

is 'data la care a fost creata inregistrarea'

comment on column RETETE.LAST_UPDATED_BY

is 'utilizatorul care a efectuat ultima modificare'

comment on column RETETE.LAST_UPDATE_DATE

is 'data la care s-a efectuat ultima modificare'

Tabelul retete_arhiva contine informatii despre retetele care au fost eliberate sau care nu mai pot fi liberate (anulate, expirate)

Structura tabelului retete_arhiva:

Chei:

Triggeri:

Inainte de inserare inregistrare:

Inainte de updatare modificare:

Creare tabel

-- Create table

create table RETETE_ARHIVA

COD_MEDIC NUMBER

COD_RETETA NUMBER

COD NUMBER

COD_ASIGURAT NUMBER

DATA_PRESCRIERE DATE

DIAGNOSTIC VARCHAR2

COD_BOALA VARCHAR2

TIP_DIAGNOSTIC VARCHAR2

TIP_RETETA VARCHAR2

SUBSTANTA_ACTIVA VARCHAR2

FORMA_FARMACEUTICA VARCHAR2

CONCENTRATIA VARCHAR2

LISTA_MEDICAMENTE VARCHAR2

COMPENSARE NUMBER

DOZA_ZILNICA NVARCHAR2

CANTITATE NUMBER

DATA_EXPIR DATE

ELIBERATA VARCHAR2

CREATED_BY VARCHAR2

CREATION_DATE DATE

LAST_UPDATED_BY VARCHAR2

LAST_UPDATE_DATE DATE

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Add comments to the columns

comment on column RETETE_ARHIVA.COD_MEDIC

is 'codul medicului care creaza reteta'

comment on column RETETE_ARHIVA.COD_RETETA

is 'codul retetei '

comment on column RETETE_ARHIVA.COD

is 'numara transele in care s-a eliberat reteta'

comment on column RETETE_ARHIVA.COD_ASIGURAT

is 'codul asiguratului care primeste reteta'

comment on column RETETE_ARHIVA.DATA_PRESCRIERE

is 'data prescrierii retetei'

comment on column RETETE_ARHIVA.DIAGNOSTIC

is 'diagnosticul pus de medic'

comment on column RETETE_ARHIVA.COD_BOALA

is 'codul bolii'

comment on column RETETE_ARHIVA.TIP_DIAGNOSTIC

is 'tipul diagnosticului'

comment on column RETETE_ARHIVA.TIP_RETETA

is 'tipul retetei'

comment on column RETETE_ARHIVA.SUBSTANTA_ACTIVA

is 'substanta activa prescrisa'

comment on column RETETE_ARHIVA.FORMA_FARMACEUTICA

is 'forma farmaceutica'

comment on column RETETE_ARHIVA.CONCENTRATIA

is 'concentratia'

comment on column RETETE_ARHIVA.LISTA_MEDICAMENTE

is 'incadrarea pe lista de medicamente (A, B, C1, C2, C3)'

comment on column RETETE_ARHIVA.COMPENSARE

is 'procent compensare'

comment on column RETETE_ARHIVA.DOZA_ZILNICA

is 'doza zilnica'

comment on column RETETE_ARHIVA.CANTITATE

is 'cantitatea prescrisa'

comment on column RETETE_ARHIVA.DATA_EXPIR

is 'data expirarii retetei'

comment on column RETETE_ARHIVA.ELIBERATA

is 'stadiul retetei'

comment on column RETETE_ARHIVA.CREATED_BY

is 'utilizatorul care a creat inregistrarea'

comment on column RETETE_ARHIVA.CREATION_DATE

is 'data la care a fost creata inregistrarea'

comment on column RETETE_ARHIVA.LAST_UPDATED_BY

is 'utilizatorul care a efectuat ultima modificare'

comment on column RETETE_ARHIVA.LAST_UPDATE_DATE

is 'data la care s-a efectuat ultima modificare'

Tabelul retete_eliberate detine informatii despre retetele care au fost eliberate total sau partial.

Structura tabelului

Chei:

Triggeri:

Inainte de inserare inregistrare:

Inainte de updatare modificare:

Creare tabel

-- Create table

create table RETETE_ELIBERATE

COD_MEDIC NUMBER

COD_RETETA NUMBER

COD NUMBER

COD_FARMACIE NUMBER

COD_PUNCT_DE_LUCRU NUMBER

DATA_ELIBERARII DATE

COD_MEDICAMENT VARCHAR2

CANTITATE_ELIBERATA NUMBER

PRET_AMAN_UT NUMBER

PRET_REFER_UT NUMBER

VALOARE_AMAN NUMBER

VALOARE_COMP NUMBER

CONTRIBUTIE_ASIG NUMBER

BON_FISCAL VARCHAR2

CREATED_BY VARCHAR2

CREATION_DATE DATE

LAST_UPDATED_BY VARCHAR2

LAST_UPDATE_DATE DATE

tablespace USERS_CNL

pctfree

initrans

maxtrans

storage

(

initial K

minextents

maxextents unlimited

);

-- Add comments to the columns

comment on column RETETE_ELIBERATE.COD_MEDIC

is 'codul medicului care creaza reteta'

comment on column RETETE_ELIBERATE.COD_RETETA

is 'codul retetei '

comment on column RETETE_ELIBERATE.COD

is 'numara transele in care s-a eliberat reteta'

comment on column RETETE_ELIBERATE.COD_FARMACIE

is 'codul farmaciei care elibereaza reteta'

comment on column RETETE_ELIBERATE.COD_PUNCT_DE_LUCRU

is 'codul punctului de lucru unde s-a eliberat reteta'

comment on column RETETE_ELIBERATE.DATA_ELIBERARII

is 'data eliberarii retetei'

comment on column RETETE_ELIBERATE.COD_MEDICAMENT

is 'codul medicamentului eliberat'

comment on column RETETE_ELIBERATE.CANTITATE_ELIBERATA

is 'cantitatea eliberata'

comment on column RETETE_ELIBERATE.PRET_AMAN_UT

is 'pretul cu amanuntul pe unitate terapeutica'

comment on column RETETE_ELIBERATE.PRET_REFER_UT

is 'pretul de referinta pe unitate terapeutica'

comment on column RETETE_ELIBERATE.VALOARE_AMAN

is 'valoare cu amanuntul'

comment on column RETETE_ELIBERATE.VALOARE_COMP

is 'valoare platita CNAS'

comment on column RETETE_ELIBERATE.CONTRIBUTIE_ASIG

is 'valoare platita asigurat'

comment on column RETETE_ELIBERATE.BON_FISCAL

is 'numar bon fiscal'

comment on column RETETE_ELIBERATE.CREATED_BY

is 'utilizatorul care a creat inregistrarea'

comment on column RETETE_ELIBERATE.CREATION_DATE

is 'data la care a fost creata inregistrarea'

comment on column RETETE_ELIBERATE.LAST_UPDATED_BY

is 'utilizatorul care a efectuat ultima modificare'

comment on column RETETE_ELIBERATE.LAST_UPDATE_DATE

is 'data la care s-a efectuat ultima modificare'

Pasii urmariti in descrierea fiecarui tabel:

Tabelul

Structura tabelului

Chei:

Triggeri:

Inainte de inserare inregistrare:

Inainte de updatare modificare:

Creare tabel


Document Info


Accesari: 983
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )