ms access curs 6

26
Universitatea de Medicină şi Farmacie “Gr.T.Popa” - Iaşi Facultatea de Medicină Informatică Medicală şi Biostatistică Conf. dr. Lucian Boiculese 1

Upload: cush-gisca

Post on 06-Sep-2015

262 views

Category:

Documents


6 download

DESCRIPTION

dfsdffa

TRANSCRIPT

  • Universitatea de Medicin i Farmacie Gr.T.Popa - Iai Facultatea de Medicin Informatic Medical i Biostatistic Conf. dr. Lucian Boiculese

    1

  • Pentru a atrage curiozitatea asupra subiectului vom prezenta mai nti ce putem face folosind Microsoft Access:

    Cu aceast aplicaie se pot gestiona bazele de date de orice dimensiune (totui finite),

    de la simple liste gen reete medicale, pn la gestiunea unei ntregi populaiei de exemplu a rii noastre.

    Se pot crea ntr-un mod rapid, interactiv noi baze de date (folosind de ex. Database Wizard), astfel se pot crea tabele noi deci componente ale bazei de date (BD), Se pot realiza interogri , se pot extrage noi informaii prin calculul de noi funcii asupra datelor existente, Se pot modifica sau edita informaiile dintr-o baza de date, se pot actualiza coloanele unui tabel cu informaii din alt tabel, Se pot crea i evident edita formulare, ce ajut la introducerea i vizualizarea datelor ntr-un mod facil, Se pot crea rapoarte, pentru imprimarea informaiilor.

    Un avantaj de necontestat al softului este forma prietenoas deci este uor de utilizat,

    avantaj prin care s-a reuit atragerea unui numr impresionant de susintori. MS Access are bine dezvoltat interfaa destinat lucrului interactiv.

    2

  • BAZA DE DATE La nivelul cel mai simplu, o baz de date poate fi privit ca un tabel. Baza de date

    (BD) nu este altceva dect un fiier (sau fiiere) cu o anumit structur. Liniile din cadrul tabelului se numesc nregistrri (records), iar coloanele se numesc cmpuri (fields). Coloanele pot fi definite ca avnd diferite tipuri (numerice, caracter, data calendaristic - spre exemplu cunoscute i de Access) i diferite dimensiuni. n concluzie BD este caracterizat de faptul c orice nregistrare cuprinde un set de date specifice coloanelor ce au fost definite.

    Baza de date distribuit cuprinde mai multe tabele care se leag ntre ele prin diferite relaii. Pentru a nelege corect noiunea de relaii ntre baze de date vom considera urmtorul exemplu: presupunem c o anumit persoana notat X n decursul anilor a fost internat la chirurgie nregistrndu-se n calculator date specifice, apoi la clinica de cardiologie i n final la endocrinologie. Aceast persoan este nscris n tabelele informatice personalizate fiecrei clinici medicale unde a fost internat. n cadrul triajului (date de identificare) persoana are un cod unic medical i este nscris astfel n tabelul principal. Legtura dintre aceste tabele se bazeaz pe relaii funcie de codurile unice ale pacienilor; astfel se constituie, baza de date a unui spital.

    O baz de date const ntr-o colecie organizat de date (date corelate aflate n

    anumite relaii) specific unui obiectiv de studiu dorit, cu posibilitatea prelucrrii concomitente de mai muli utilizatori.

    Database baza de date , termen utilizat pentru prima dat n SUA 1964, n titlul

    unei conferine pe teme informatice. 3

  • Exemple: Baza de date a univeristii pentru gestiunea colar a studenilor:

    - cuprinde un tabel cu informaii de identificare a studentului, acesta este n relaie cu un alt tabel ce descrie anii de studii absolvii, notele la obiectele obligatorii studiate, restanele, opionale alese, urmeaz un alt tabel cu informaiile financiare, taxele pltite etc.

    Baza de date a unei biblioteci:

    - cuprinde mai multe tabele aflate n relaii cum ar fi: tabelul angajailor cu datele de identificare , funcia ocupat , apoi un tabel cu persoanele nscrise ce au drept de mprumut, apoi alt tabel cu lista carilor din bibliotec, apoi i cel mai important posibil un tabel ce descrie pentru fiecare carte, revist persoana i perioada de mprumut, etc.

    Baza de date a unui spital: - ce poate cuprinde mai multe tabele ce conin informaii de tip personale de

    definire a corpului medical, apoi de identificare a pacienilor continund cu datele clinice, de laborator, date specifice medicale i nu n ultimul rnd dar neaprat cu informaiile financiare strict necesare n gestiunea spitalului.

    4

  • Evoluia metodelor i tehnicilor de organizare a datelor a dus la apariia conceptului de banc de date, ca fiind una dintre cele mai performante metode de organizare.

    O banc de date se definete ca fiind format din: baza de date: colecia de date aflate n interdependen, mpreun cu descrierea lor; sistemul de gestiune al bazei de date (SGBD): un set de programe specializate, destinat gestiunii i prelucrrii datelor din baza de date; un set de proceduri manuale i automate specifice domeniului pentru care se proiecteaz baza de date, mpreun cu reglementrile administrative destinate bunei funcionri a sistemului.

    Conceptul modern de banc de date este caracterizat n plus de ideea de gestiune independent a structurii bazei de date, care se concretizeaz prin posibilitatea modificrii structurii i organizrii fizice a datelor, fr a modifica programele de aplicaie. Prin urmare, apar i alte caracteristici ale bncii de date, i anume: Diferenierea utilizatorilor bazei de date n funcie de elementele cu care lucreaz i la care au acces, n: administratorul bazei de date: o persoan (sau mai multe) nsrcinat cu gestiunea

    global a bazei de date, care are toate drepturile de acces, la toate elementele componente ale bazei de date;

    programatorii de aplicaie: persoane specializate, care realizeaz i controleaz sistemul de gestiune al bazei de date (programele i aplicaiile);

    utilizatorii obinuii: care au acces doar la datele din baza de date, cu care lucreaz folosind programele deja implementate (dar pe care nu le pot modifica), n scopul de a obine anumite informaii particulare din banca de date. 5

  • n funcie de modul de realizare, exist mai multe tipuri de baze de date: Baze de date integrate: baza de date i programele de manevrare a ei alctuiesc

    un tot unitar, fiind n mod obligatoriu instalate pe acelai calculator; astfel, datele sunt accesibile unui singur utilizator la un moment dat;

    Baze de date client-server: implementate n reele de calculatoare de tipul client-

    server. Pe server, un calculator puternic care conduce reeaua este de obicei memorat baza de date, n timp ce pe staiile de lucru din reea sunt memorate diferitele pachete de programe pentru manevrarea ei, singura condiie pe care o respect acestea fiind c trebuie s aib o interfa unic pentru comunicarea cu serverul. Aceast interfa este de obicei realizat de SQL (Structured Query Language), un limbaj de interogare standard. Avantajul acestui mod de lucru este c baza de date sau programele pot fi folosite simultan sau pe rnd de mai muli utilizatori, fr a fi nevoie ca acetia s aib pe staiile lor de lucru o copie a bazei sau programului respectiv.

    Baze de date distribuite: n cazul n care exist mai multe tabele constituente ale

    aceleiai baze de date; acest mod de lucru este necesar n cazul n care baza de date este ampl (conine foarte multe informaii) pentru a se ctiga n viteza de lucru, baza de date se fracioneaz n mai multe tabele componente, legate ntre ele prin relaii. Tabelele se memoreaz separat, n staii de lucru diferite din reeaua de calculatoare, dar fr a influena programele de manevrare a lor.

    6

  • Tip de dat Utilizare Dimensiune

    Text

    Conine caractere alfabetice, caractere speciale, sau numere sau combinaii text, gen caractere alfabetice , caractere speciale i numere. Cmpurile dedicate sunt numele, prenumele, adresa, de asemenea numere ce nu necesit calcule precum numrul de telefon, codul postal etc.

    Accept maxim 255 caractere i nu memoreaz spaiile neocupate , se memoreaz doar textul introdus. Dimensiunea se definete prin FieldSize property.

    Memo Special conceput pentru text de dimensiuni mari. Utilizat pentru descrieri, note, diagnostic, istoric bolnav, etc.

    Pn la 64000 caractere. Aproximativ 25 pagini text (2000-3000 caractere/pag)

    Number Utilizat n calcule matematice prezint diferite dimensiuni funcie de necesiti.

    1, 2, 4, 8 sau 12 bytes. 16 bytes pentru Replication ID. Prezentate detaliat n tabelul special.

    Date/Time Pentru dat calendaristic (include i ora) 8 bytes.

    Currency Pentru valori monetare (valut). Se evit rotunjirea n cadrul calculelor efectuate. Acurateea const n 15 numere la stnga punctului zecimal respectiv 4 numere la dreapta.

    8 bytes.

    AutoNumber

    Form de introducere a valorilor numerice unice. Se pot aloca numere consecutive secvenial, prin incrementare cu 1 respectiv se pot aloca numere aleator alese pentru fiecare nregistrare adugat.

    4 bytes sau 16 bytes numai pentru Replication ID (GUID).

    Yes/No Cmpuri de tip dicotomic de form Da/Nu, Adevrat/Fals , Prezent/Absent (Yes/No, True/False, On/Off).

    1 bit.

    OLE Object Obiecte (ex: fiiere imagine, fiiere sunet, documente Microsoft Word, foi callcul Microsoft Excel). Se pot crea legturi ctre obiectul respectiv sau se pot nsera n bazele de date.

    Pn la 1 gigabyte (sau poate fi limitat de spaiul de stocare).

    Hyperlink Cmp ce conine o legtur de tip hyperlink. Poate reprezenta o cale sau o adres URL.

    Dimensiune relativ mare , pn la 64000 charactere.

    Lookup Wizard

    Creeaz un cmp ce permite afiarea unor valori din alte tabele de obicei aflate n relaie. Aceasta se realizeaz prin urmarea unor pai de definire gen Wizard .

    Are aceeai dimensiune cu a cmpului cheie care este de fapt un cmp de tip Lookup (standard 4 bytes).

    7

    TIPURI DE DATE UTILIZATE LA CREAREA TABELELOR COMPONENTE ALE BAZEI DE DATE

  • Setare Descriere Precizia zecimal Dimensiune

    Byte Numere ntregi din domeniul 0 - 255 . - 1 byte

    Integer Numere ntregi din domeniul 32,768 pn la 32,767. - 2 bytes

    Long Integer Numere ntregi din domeniul 2,147,483,648 pn la 2,147,483,647 (este tipul implicit ales).

    - 4 bytes

    Decimal Numere reale de la -10^38 -1 pn la 10^38 -1 ( pentru .adp) Numere reale de la -10^28 -1 through 10^28 -1 ( pentru .mdb)

    28 12 bytes

    Single

    Numere reale de la 3.402823E38 pn la 1.401298E45 pentru valori negative respectiv de la 1.401298E45 pn la 3.402823E38 pentru valori pozitive.

    7 4 bytes

    Double

    Numere reale de la 1.79769313486231E308 pn la 4.94065645841247E324 pentru valori negative respectiv de la 4.94065645841247E324 pn la 1.79769313486231E308 pentru valori pozitive.

    15 8 bytes

    Replication ID Identificator Global Unic (Globally unique identifier - GUID). - 16 bytes

    Tipul Numeric detaliat:

    8

  • CREAREA UNEI BAZE DE DATE O baz de date este format din cel puin un tabel. n concluzie esenial este s

    crem un tabel component al BD. Crearea nseamn n prima etap definirea cmpurilor deci coloanelor ce formeaz tabelul (acestea definesc structura tabelului). Va trebui astfel s denumim fiecare coloan i s-i setm tipul. n urmtoarea etap se vor putea introduce datele n tabel.

    n pagina principal Access din butonul Office alegem New (Access 2007), respectiv din meniul File alegem New pt Office 2010.

    Putem crea o baz de date pas cu pas

    Putem alege din exemplele predefinite

    9

  • Alegem s crem baza de date plecnd de la zero deci vom defini pas cu pas fiecare coloan.

    Vom prezenta un exemplu pentru crearea unei baze de date numit PROIECT1 ce conine un tabel numit DATE_PERSONALE.

    Exist dou moduri de vizualizare : Design (modul extins) respectiv Datasheet View (asemnator Excel).

    Schimbarea modului de prezentare: Design / Datasheet Cmpurile (coloanele) i tipul de

    dat a tabelei DATE_PERSONALE

    Proprietile coloanei ID selectate

    10

  • Formatarea unui cmp Proprietatea Format permite definirea caracteristicilor ce in de afiarea datelor.

    Este doar pentru afiare nu schimb n realitate forma datelor introduse. Pentru tipul Text sau Memo

    Simbol Descriere exemplu

    @ Este necesar introducerea unui caracter (text-poate conine i numere).

    @@-@@@ va afia: 12-324

    & Nu este necesar introducerea unui caracter text

    < Foreaz afiarea folosind litere mici Iai se va afia: iai

    > Foreaz afiarea folosind litere mari Iai se va afia: IAI

    Formatarea conine dou seciuni, desprite de semnul ;. De exemplu dac dorim ca n lipsa existenei informaiei text (practic ir de lungime 0) s avem scris necompletat atunci vom folosi formatul: @;necompletat. Dac nu vom introduce caractere sau vom avea o valoare nul atunci se va scrie necompletat.

    11

  • Simbol Descriere

    . (punct) Standard folosit ca separator zecimal.

    , (virgul) Separator pentru delimitarea miilor.

    0 Afieaz un numr sau 0. Foreaz afiarea.

    # Afieaz un numr sau nimic. Afieaz selectiv.

    $ Afieaz caracterul "$".

    % Forma procentual valoarea este multiplicat cu 100 i se adaug semnul procent.

    E sau e Notaie tiinific ce ataeaz semnul - exponentului negativ, exponentului pozitiv nu i se ataeaz semnul +. Acest simbol se folosete mpreun cu alte simboluri pentru definirea formatului: 0.00E00 or 0.00E00

    E+ sau e+ Notaie tiinific ce ataeaz semnul - exponentului negativ, respectiv + exponentului pozitiv Acest simbol se folosete mpreun cu alte simboluri de ex: 0.00E+00

    Formatarea cmpurilor numerice

    Exist 4 seciuni de definire a formatului: 1-formartul pt. numere pozitive; 2-formatul pt. numere negative; 3-formatul pentru valori 0; 4-formatul pentru valori NULL.

    Exemplu: $#,##0.00[Green];($#,##0.00)[Red];"Zero";"Nul" Vom avea semnul $ ca moned, dou zecimale chiar dac sunt de valoare 0, cerneal verde

    pentru valori pozitive respectiv roie pentru negative, valorile negative vor fi ncadrate ntre paranteze rotunde, se va scrie Zero pt 0 tespectiv Nul pentru valori nule. 12

  • Format Valoare introdus Forma de afiare

    0;(0);;"Null"

    -23 84 0

    NULL

    (23) 84 0

    NULL

    +0.0;0.0;0.0

    -23 84 0

    NULL

    -23.0 +84.0

    0.0 Nu se afieaz

    $#,##0.00[Green];($#,##0.00)[Red];"Zero";"Nul"

    -23 84 0

    NULL

    ($23.00) $84.00

    Zero Nul

    "euro "#,##0.00[Green];("euro "#,##0.00)[Red];"Zero";"Nul"

    -23 84 0

    NULL

    (euro 23.00) euro 84.00

    Zero Nul

    Exemple:

    13

  • Aa cum am menionat deja crearea unui tabel nseamn definirea coloanelor de lucru prin nume i tip dat.

    Tipul datei i mai ales formatarea ne ajut prin impunerea unor limitri pe un domeniu de lucru. Totui este o metod destul de delicat de limitare a riscului de expunere n faa erorilor posibile.

    Reguli de validare a informaiei dintr-o coloan.

    1. Metod de a impune introducerea unei valori n cadrul proprietilor unui cmp exist opiunea Required (necesar, solicitat) ce impune introducerea unei valori. Este de tip logic (Yes/No). Prin activare nu se accept valori nule.

    Mesaj de avertizare. Nu se poate trece la alt nregistrare.

    Setm Required - Yes

    14

  • 2. Valori implicite (Default Value) Valorile implicite sunt introduse din start n cmpurile destinaie n momentul adugrii unei noi nregistrri. Sunt utile n situaia n care multe din nregistrri au informaii comune (de ex. judeul de domiciliu, sau data nscrierii).

    15

  • 3. Indexare Ajut la mrirea vitezei de cutare a datelor , permite ordonarea datelor i poate fi folosit n verificarea datelor ce se repet. Proprietatea Index are trei valori: NO , Yes(Duplicates Ok) respectiv Yes(No Duplicates). Ordonarea se observ doar dac nu exist cheie primar.

    Ca exemplu ar fi absolut normal s avem aceast proprietate activat pentru cmpul CNP s nu avem valori repetate. Pentru vizualizarea cmpurilor indexate:

    16

  • 4. Definirea regulilor pentru validare Este necesar s verificm corectitudinea valorii introduse. Pentru aceasta o variant const n definirea sau mai bine spus restricionarea domeniului de introducere a valorilor. Aceasta se poate realiza prin folosirea regulilor de validare. Astfel putem impune condiii asupra datelor introduse funcie de cmpul destinaie. Iat vom impune un domeniu de lucru pentru nlimea persoanei (numele coloanei din tabel se ncadreaz ntre paranteze ptrate: [inaltimea] de exemplu)

    Domeniul de variaie (puteam s fi scris i astfel: [inaltime]> 1 And [inaltime]

  • Pentru crearea regulilor de validare se poate folosi generatorul de expresii.

    Generator de expresii. Prezint funciile disponibile n ACCESS

    Prin activare se lanseaz generatorul de expresii mod interactiv de lucru.

    18

  • 19

    Valoarea unei variabile de tip dat calendaristic se ncadreaz folosind caracterul # (diez): #11/21/2011# Ordinea este: Luna/zi/an n forma ll/zz/aaaa

    Expresii pentru validarea coloanelor tip text

    Like operator folosit pentru comparare

    Like "A*" doar acele nregistrri care ncep cu A

    Like "*nd" doar acele nregistrri care se termin cu "nd"

    Like "*lecitina*" doar cele ce conin n cadrul irului subirul "lecitina"

    Like "AV??" doar cele de lingime 4 caractere din care primele dou sunt "AV"

    Like "[YX]*" se vor alege doar nregistrrile ce ncep cu Y sau X

    Like "[A-D]*" se vor alege doar nregistrrile ce ncep cu A sau B sau C sau D

    Lucru cu variabil tip dat calendaristic

    Date() Dup data curent

    Exemple de expresii pentru compararea datelor

    < 120 mai mic ca 120

    > 100 maimare ca 100

    5 diferit de 5

    >=10 mai mare egalcu 10

  • 20

    5. Crearea unei liste de valori (lookup wizard expertul de cutare) O metod puternic de a limita la un set predefinit variantele posibile de date pentru o

    coloan const n crearea unei liste de valori personalizate. Aceasta se poate realiza folosind expertul de cutare Lookup Wizard.

    Ca exemplu putem s ne gndim c avem de creat o baz de date cu pacieni din zona Moldova. La judeul de domiciliu avem numai variantele: IS, SV, NT, BT, BC, VS, VN. Ar fi util s avem o list derulant ce s prezinte doar aceste variante vom elimina din erorile de tehnoredactare.

    Metod

    1. Se definete cmpul Jude Domiciliu de tip caracter de dimensiune 2, 2. n stilul Design View n cmpul Jude Domiciliu se alege din Data Type opiunea Lookup

    Wizard, 3. Se selecteaz introducerea valorilor dorite (I will type in the values that I want), 4. Se introduc valorile n tabelul respectiv, 5. Se bifeaz dup necesitate limitarea valorilor introduse la lista definit, 6. Se nchide procedura.

  • 21

    Sumar al pailor de urmat

  • 22

    Efectul crerii unei liste personalizate

  • 23

    6. Definirea (crearea) unui cmp calculat Sunt dese cazurile n care se dorete calculul unui indicator pe baza valorilor din alte

    cmpuri. De exemplu media final sau IMC-ul . Pentru aceste situaii ACCESS pune la dispoziie un tip specific de dat, tip numit calculat.

    Se definete noul cmp prin nume apoi tipul Calculated i n final se introduce formula sau expresia de operat.

    Exemplu:

    Proprietile pot fi setate specific subtip numeric, format afiare

  • 24

    Pentru CNP validare: intreg mai mic ca 300000000000

  • 25

  • EXEMPLE

    26