Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Foxpro


Qdidactic » stiinta & tehnica » informatica » foxpro
Modificarea structurii bazei de date



Modificarea structurii bazei de date



Comanda MODIFY STRUCTURE permite modificarea structurii unei baze de date.


MODIFY STRUCTURE


Comanda permite accesul utilizatorului la structura bazei de date active deschisa in acel moment in zona de lucru. Utilizatorul poate sterge, adauga, sau insera campuri, poate modifica lungimea, sau tipul unor campuri. Datele existente se vor copia in noua structura prin verificarea numelui de camp din cele doua structuri. Daca coincid, datele se vor trece pe noua structura facandu-se conversia, acolo unde este posibil, la noul tip de camp.

Atentie! Daca am schimbat lungimea campului s-ar putea ca valorile existente in structura anterioara sa nu “incapa” si, daca se va face trunchiere, la numere se vor pierde valori (apar stelute!). Daca impreuna cu adaugarea unor campuri se va face si schimbarea numelui unor campuri, se vor pierde date.


Afisarea structurii




LIST/DISPLAY STRUCTURE [TO PRINTER/TO FILE <fis.txt>]


Comenzile LIST si DISPLAY sunt asemanatoare, cu deosebirea ca DISPLAY face o pauza la umplerea unui ecran. Afisarea structurii poate fi directionata la imprimanta sau intr-un fisier text.

Exemplu:

SELECT a

USE mijloacef

LIST STRUCTURE


Structure for database:

C:FOXPROMIJLOACAF.DBF



Number of data records:




Date of last update:




Field

Field Name

Type

Width

Dec

Index




COD

Character



Y




DENUMIRE

Character



N




VALOARE

Numeric



N




AMORTIZARE

Numeric



N





LOC_FOLOS

Memo



N




STARE

Logical



N




DATA_INST

Date



N




Tip

Character



N



** Total **








Duplicarea structurii conceptuale:


COPY STRUCTURE TO <fis.dbf> [FIELDS<lista-camp>]


Comanda permite crearea unei noi baze de date numita <fis.dbf> pornind de la baza de date activa, prin preluarea tuturor campurilor (daca lipseste clauza FIELDS) sau a anumitor campuri enumerate in clauza FIELDS.


Exemplu: din baza de date mijloacef   se creaza o noua baza de date, mijloacaf_n,in care vom copia doar campurile COD, DENUMIRE si VALOARE:

select a

use mijloacef              && se deschide baza de date mijloacef

copy structure to mijloacef_n fields cod, denumire, valoare

use mijloacef_n                     

list structure

Structure for database:

C:FOXPROMIJLOACAF.DBF



Number of data records:




Date of last update:




Field

Field Name

Type

Width

Dec

Index




COD

Character



Y




DENUMIRE

Character



N




VALOARE

Numeric



N



** Total **








Exista inca o modalitate de a crea structura unei baze de date: CREATE TABLE care permite specificarea directa, in comanda, a structurii. Are formatul:


CREATE TABLE<fis.dbf> (<lista-definitii>)


unde   <lista-definitii>:=<nume-camp> <tip>[([<lungime>], <zecimale>])]

Constructia <tip> este una din literele asociate tipurilor de date.



Functii standard relativ la structura bazei de date:


1) FIELD(<expn>)         intoarce numele campului din baza de date activa care are numarul de ordine <expn>;

2) RECSIZE() intoarce dimensiunea in octeti a structurii bazei de date active;

3) TYPE(<camp>)        intoarce tipul unui camp precizat ca sir de caractere;

4) FLDCOUNT()           intoarce numarul de campuri din structura bazei de date.

Exemple

use mijloacef              && deschidere fisier mijloacef.dbf

?field(1)                       && se afiseaza numele primului camp

COD

?field(6)                       && se afiseaza numele celui de-al 6-lea camp

STARE

?field(15)         && daca numarul dat ca parametru depaseste numarul de

&& campuri din structura, functia intoarce sirul vid

?field(15)=”     && testam daca rezultatul intors de functie este sirul vid

.T.

?field(15)=’’     && sirul vid este diferit de caracterul spatiu “ ”

.F.

use mijloacaf_N         

?recsize()

&& se observa afisarea dimensiunii articolului

?type(“denumire”)

C && campul nume are tipul caracter

use mijloacef

?fldcount()       && fisierul mijloacef are in structura 8 campuri


use mijloacef_n

?fldcount()       && fisierul PROBE are 3 campuri



Structura fizica a unei baze de date cuprinde ansamblul valorilor campurilor grupate in inregistrari sau articole. Articolele se depun in tabela sau baza de date unul in continuarea celuilalt si fiecare poarta o informatie (un numar), ce se asociaza automat la introducerea valorilor articolului in fisier. Numerele sunt in secventa strict crescatoare, determinand pozitia fizica a articolului in fisier. Numarul de articol permite regasirea rapida a inregistrarii. In fiecare moment al prelucrarii unui fisier se pastreaza numarul articolului prelucrat (articolul curent) in pointerul de fisier sau indicatorul de inregistrare.

Fisierul are un marcator de inceput si un marcator de sfarsit, intre care se poate opera cu inregistrarile utilizator.

Cateva functii necesare prelucrarii articolelor:

a) RECNO ()     && intoarce numarul articolului curent

b) EOF ()          && intoarce .T. daca in urma prelucrarilor s-a ajuns

&& la sfarsitul de fisier si .F. in caz contrar.

c) BOF ()          && intoarce .T. daca in urma prelucrarilor s-a ajuns

&& inaintea primului articol cu date si .F. in caz contrar.

d) RECCOUNT ()   && intoarce numarul de articole din baza de date


Selectarea articolelor

Prelucrarile asupra unei baze de date (afisari, copieri, stergeri, modificari etc.) pot fi realizate pe toate articolele bazei sau pe o parte a acestora.

Operatia de selectare a articolelor care vor fi prelucrate poate fi indicata chiar in comanda de prelucrare prin clauzele de selectare.


<domeniu>,


FOR <cond>


WHILE <cond>


Clauza <domeniu> poate fi inlocuita cu urmatoarele cuvinte cheie:


ALL:     sunt selectate roate articolele fisierului,

NEXT <n>      sunt selectate urmatoarele <n> articole fata de articolul curent;

REST:              sunt selectate toate articolele pana la sfarsitul fisierului incepand cu articolul pe care am fost pozitionati anterior acestei comenzi;

RECORD <n>semnifica articolul cu numarul <n>.


Clauza FOR <cond> permite selectarea articolelor care verifica conditia indicata prin constructia <cond>, implicit sau prin testarea acesteia pe intreg domeniul precizat in comanda.

Clauza WHILE <cond> selecteaza articolele care verifica conditia data; aceasta verificare inceteaza atunci cand se gaseste primul articol care da ca rezultat al conditiei valoarea .F. (fals).




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright