prezent are 1

27
Prof. îndrumător: Truică Loredana Realizat de: Apipie Anamaria Cristina Istrate Lavinia Georgiana

Upload: dolores-gonzalez

Post on 04-Nov-2015

220 views

Category:

Documents


0 download

DESCRIPTION

atestat oracle

TRANSCRIPT

  • Prof. ndrumtor: Truic Loredana

    Realizat de: Apipie Anamaria Cristina Istrate Lavinia Georgiana

  • Managerul clinicii Health Center dorete s rein ntr-o baz de date informaiile referitoare la clinic: serviciile oferite, evidena personalului i a pacienilor. Aceast baz de date trebuie s fie optimizat astfel nct s corespund cerinelor. De asemenea, trebuie s fie flexibil s permit dezvoltarea sau extinderea activitilor centrului.Clinica Health Center ofer consultaii medicale, servicii de recuperare medical (fizioterapie i gimnastic de recuperare) i posibilitatea efecturii de analize medicale. n acest scop dispune de mai multe cabinete i laboratoare specializate. SCENARIU

  • n fiecare cabinet funcioneaz unul sau doi doctori pe baza unui anumit orar. Unitatea medical nu furnizeaz servicii chirurgicale i nici nu are posibilitatea de a spitaliza pacieni.La fiecare consultaie, medicul nregistreaz datele pacientului. Clinica, pe lng medici i asisteni mai are i ali angajai: cei care se ocup de partea financiar i de relaiile cu clienii, persoane care se ocup de curenie s.a.Fiecare client achit contravaloarea serviciilor oferite prin una sau mai multe facturi.

    SCENARIU

  • Reprezentarea necesitilor clinicii trebuie realizat astfel nct s fie un model ct mai apropiat de modul n care se desfoar activitile ei. Datele trebuie stocate astfel nct s fie permis o cutare ct mai eficient. Design-ul bazei trebuie s fie flexibil astfel nct s poat fi adugate noi programri, s apar noi cabinete, s fie realizat o eviden a angajailor.n viitor se poate avea n vedere crearea unei pagini web care s conin informaiile referitoare la clinic, potenialii clieni putnd avea acces la datelele legate de serviciile furnizate i personalul medical, dar nu i la datele pacienilor.

    SCENARIU

  • Diagrama entitate-relaie iniial:CLINICA#id*nume*adresa*telefono mail

    CABINET# numar*tipo comentariiPACIENT#id(#)CNP*nume*prenume*data_naterii*adresa*ocupaie*loc_munco telefono mailPERSONAL#id(#)CNP*nume*prenume*data_naterii*adresa*vechime*salariu*telefono specializareo mailPOST#cod*cerineo observaiiTRATAMENT#id*start_date*tipo end_dateFACTUR#id*data*valoareareaparineares fie programats fie platits plteas arepentruNREGISTRARE#nr*datao diagnosticincludepentrucompletas fie completat s ocupe s fie ocupat ares lucreze

  • a) ntre angajai exist o relaie de subordonare, figurat n ERD prin intermediul unei relaii recursive de la entitatea personal la ea nsi.b) Pe un post poate fi la un moment dat un singur angajat, dar un angajat i poate schimba postul, dac promoveaz. Unele posturi pot fi vacante.c) Datele unui pacient pot fi nregistrate numai de ctre medic. Fiecare medic dispune de un cont propriu i o parol astfel nct un medic nu poate avea acces dect la datele propriilor pacieni.CONSTRANGERI

  • d) O nregistrare aparine unui singur pacient i este netransferabil.e) Tratamentul poate fi o reet medical sau poate fi furnizat de un cabinet specializat prin serviciile oferite.f) Pentru un tratament end_date trebuie s fie ulteriar datei la care a inceput tratamentul. g) Reeta trebuie s conin cel puin un medicamenth) Data i ora la care se efectueaz programarea trebuie s fie ulterioare datei curente (data i ora sistemului)

    CONSTRANGERI

  • MAPAREA RELATIILOR

    PACIENT

    # id

    (#)CNP

    *nume

    *prenume

    *data_nasterii

    *adresa

    *ocupaia

    *loc_munc

    o telefon

    o mail

    s plteasc

    s fie pltit

    FACTURA

    # id

    *data

    *valoare

  • MAPAREA RELATIILOR

    FACTURI

    Key Type

    Optionality

    Column Name

    pk

    *

    id

    *

    data

    *

    valoare

    fk

    *

    pacient_id

    PACIENTI

    Key Type

    Optionality

    Column Name

    pk

    *

    id

    uk

    *

    cnp

    *

    nume

    *

    prenume

    *

    data_nasterii

    *

    adresa

    *

    ocupatia

    *

    loc_munca

    o

    telefon

    o

    mail

  • MAPAREA RELATIILOR

    CLINICA

    #id

    *nume

    *adresa

    *telefon

    o mail

    aparine

    are

    CABINET

    #numar

    *etaj

    o comentarii

  • MAPAREA RELATIILOR

    CLINICI

    Key Type

    Optionality

    Column Name

    Pk

    *

    Id

    *

    Nume

    *

    Adresa

    *

    Telefon

    o

    Mail

    CABINETE

    Key Type

    Optionality

    Column Name

    pk

    *

    numar

    *

    etaj

    o

    comentarii

    fk

    o

    clinica_id

  • MAPAREA RELATIILOR

    PACIENT

    # id

    (#)CNP

    *nume

    *prenume

    *data_nasterii

    *adresa

    *ocupaia

    *loc_munc

    o telefon

    o mail

    are

    pentru

    are

    pentru

    CABINET

    #numar

    *etaj

    o comentarii

    PROGRAMARE

    * data

    * ora

  • PROGRAMRIKey TypeOptinalityColumn Name*Datapk, fk*pacient_idpk, fk*cabinet_id

    PACIENIKey TypeOptionalityColumn Namepkiduk*cnp*nume*prenume*data_naterii*adresa*acopaia*loc_muncotelefono mail

    CABINETEKey TypeOptionalityColumn Namepk*numr*etajo comentarii

  • s fie oferitoferCABINET #numar*etajo comentarii

  • SERVICIIKey TypeOptionalityColumn Namepk*cod*nume*tip_serviciuocontraindicaiiotip_analizotip_consultfkocabinet_id

    CABINETEKey TypeOptionalityColumn Namepk*numar*etajocomentarii

  • s fie completat completaNREGISTRARE# nr*datao diagnostic

  • PERSONALKey TypeOptionalityColumn Namepk *iduk*cnp*nume*prenume*data_nasteri*adresa*vechime*salariu*telefonomail*tip_personalospecialitateouser_nameopasswordotip_asistentofunctiafkomanager_id

    INREGISTRARIKey TypeOptionalityColumn Namepk*nr*dataodiagnosticfk*personal_id

  • COMENZI SQLCrearea tabelelor

    CREATE TABLE pacienti(

    id VARCHAR2(6) PRIMARY KEY,

    cnp VARCHAR2(15) NOT NULL,

    nume VARCHAR2(20) NOT NULL,

    prenume VARCHAR2(20) NOT NULL,

    data_nasterii DATE,

    adresa VARCHAR2(40),

    ocupaia VARCHAR2(20),

    loc_munc VARCHAR2(25),

    telefon VARCHAR2(10),

    mail VARCHAR2(30));

  • COMENZI SQLInterogariComanda DESCRIBE afieaz structura tabelului. Sintaxa este:DESCRIBE ;Exemplu: afiarea structurii tabelei PACIENTIDESCRIBE pacienti;are ca efect, afiarea structurii n urmtorul format:

  • COMENZI SQLInterogari

    Comanda SELECT * afieaz toate liniile unui tabel. Sintaxa:

    SELECT * FROM ;

    Exemplu: afiarea liniilor din tabela PACIENTI

    SELECT * FROM pacienti

  • COMENZI SQLInterogari

    Pentru a obine un subset al datelor, modificm instruciunea SELECT astfel:

    SELECT

    FROM

    WHERE

  • Exemple: 1. afiai datele persoanelor nscute dup 1970SELECT nume,prenume,data_nasterii,telefonFROM pacientiWHERE TO_CHAR(data_nasterii,'RRRR')>=1970

  • COMENZI SQLInterogari

    2. afiati numarul total de pacieni

    select count(*) As "Numarul pacientilor"

    from pacienti

  • Inserarea liniilor ntr-un tabel se realizeaz cu ajutorul comenzii INSERT.Sintaxa comenzii INSERT este: INSERT INTO (, , ....) VALUES (, , ....) COMENZI SQLInterogari

  • COMENZI SQLInterogari

    Exemplu. Pentru inserarea unei linii n tabela PACIENTI se utilizeaz comanda:INSERT INTO pacienti (id, cnp, nume, prenume, data_nasterii, adresa, telefon)VALUES (14400, 208018511009,Ion,Anca,08-JAN-85,Oradea, Aleea Teilor, nr.70, 0743097800);

    SELECT *FROM pacienti;