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




ORDONARI IN TABELE

sql


ORDONĂRI ĪN TABELE

Naturala

Ordine Fizica - Sortare



Modificata

Logica - Indexare

SORTAREA

SORT TO TableName ON FieldName1 [/A | /D] [/C]
[, FieldName2 [/A | /D] [/C] ...]
[ASCENDING | DESCENDING][Scope]
[FOR lExpression1] [WHILE lExpression2]
[FIELDS FieldNameList | FIELDS LIKE Skeleton
| FIELDS EXCEPT Skeleton] [NOOPTIMIZE]

Chei de sortare - cheie primara, chei secu 21221c220v ndare

Domeniu implicit - ALL

Exemplul1: SORT TO NUME ON NP

USE NUME

BROW

Exemplul2: SORT TO AN2 ON SERIA,GRUPA,NP

USE AN2

BROW

Clauza Fields

sablon (masca) - * ?

Exemplu: SERIA - mastile S* si S?

FIELDS LIKE <sablon>

FIELDS EXCEPT <sablon>

Exemplul 3:

SORT TO STUD_NP ON NP FIELDS LIKE N*

USE STUD_NP

BROW

Exemplul 4:

USE STUDENT

SORT TO STUD_MD ON MEDIA FIELDS EXCEPT NOTA?

USE STUD_MD

BROW

Exemplul 5:

USE STUDENT

SORT TO STUD_N1 ON NOTA1 FIELDS LIKE N* EXCEPT N?

USE STUD_N1

BROW

Comutatorii /A, /D, /C

Exemplul 6:

USE STUDENT

SORT TO STUD_MNP ON MEDIA/D, NP/A/C;

FIELDS NP,MEDIA,SERIA,GRUPA

USE STUD_MNP

BROW

Clauzele ASCENDING | DESCENDING

EXEMPLUL 7:

USE STUDENT

SORT TO STUD_N2N3NP ON NOTA2,NOTA3,NP/A;

DESCENDING FIELDS NOTA2,NOTA3,NP

USE STUD_N2N3NP

BROW

INDEXARE

Indexare - cheie de indexare - fisier index (index)

Exemplu:

Fisierul index pentru cheia de indexare Np

Tipuri de indecsi

  • Indecsi izolati, simpli sau independenti - .idx
    • Compacti
    • Necompacti
  • Indecsi grupati, multipli sau compusi - .cdx

(tag, eticheta index) (compacti)

    • Structurali
    • Nestructurali (banali)

Observatie - index izolat sau tag activ

  • Dupa īnregistrari
    • Regular (Normali)
    • Unique (unici)
  • Pentru legare
    • Candidat (cheie candidat)
    • Primary key (cheie primara)

CREAREA INDECsILOR

Indexarea tabelei

Sintaxa comenzii INDEX

INDEX ON eExpression TO IDXFileName | TAG TagName
[OF CDXFileName] [FOR lExpression] [COMPACT]
[ASCENDING | DESCENDING] [UNIQUE | CANDIDATE]
[ADDITIVE]

expresia de indexare

o       tip (N, D, L, C)

o       omogenizare tip:

STR (<expn1 [,<expn2> [,<expn3>]) →<expC>

DTOS (<expd>) →<expc> (aaaallzz)

Exemplu: SERIA+STR(GRUPA,3)

o       mod de ordonare - Īn functie de tipul expresiei

Exemple:

INDEX ON SERIA TO S.IDX

INDEX ON MEDIA TO MED

INDEX ON SERIA+STR(GRUPA,3) TAG SG

INDEX ON STR(MEDIA,5,2)+NP TAG MEDNP OF STUD.CDX

INDEX ON SERIA+NP TAG SNP OF STUD.CDX

INDEX ON NOTA1 TAG N1 DESCENDING

7. INDEX ON SERIA+STR(GRUPA,3)+NP TAG SGNP OF AN2I

EXPLOATAREA INDECsILOR

Deschiderea indecsilor

USE [Table | ?] [IN nWorkArea | cTableAlias]
[INDEX IndexFileList | ?[ORDER [nIndexNumber |
IDXFileName | [TAG] TagName [OF CDXFileName]
[ASCENDING | DESCENDING]]]]

Exemplu:

8. USE STUDENT INDEX S.IDX,AN2I.CDX,STUD.CDX,MED.IDX

Lista indecsilor tabelei STUDENT alcatuita la deschidere:

S.IDX

MED.IDX

tag SG - index multiplu structural

tag N1 - "

tag SGNP din AN2I.CDX

tag MEDNP din STUD.CDX

tag SNP "

Index principal la deschiderea indecsilor - Fara clauza ORDER

Exemple:

Fara clauza ORDER - īn exemplul 8 - index principal S.IDX

  1. USE STUDENT INDEX STUD.CDX, MED.IDX

cu clauza ORDER <expn>

USE STUDENT INDEX S.IDX,AN2I.CDX,STUD.CDX,MED.IDX;

ORDER 2

- index principal MED.IDX

Pentru ORDER 3 īn exemplul 10 - index principal este tagul SG.

cu clauza

ORDER <nume_fis.idx> | [TAG] <nume_tag> [OF <fis.CDX>]

pentru ORDER TAG SG īn exemplul 10 - indexul principal este tag-ul SG, deci cu:

USE STUDENT INDEX S.IDX,AN2I.CDX,STUD.CDX,MED.IDX;

ORDER SG

ORDER cu ASCENDING |DESCENDING

USE STUDENT INDEX S.IDX,STUD.CDX ORDER TAG N1;

ASCENDING

- indexul principal este N1 ↑

Īn exemplul 12, pentru ORDER TAG SNP OF STUD.CDX - index principal este tag-ul SNP din STUD.CDX

Pentru ORDER sau ORDER 0 →neindexat

Sintaxa comenzii SET INDEX TO

SET INDEX TO [IndexFileList | ? ]
[ORDER nIndexNumber | IDXIndexFileName |
[TAG] TagName [OF CDXFileName]
[ASCENDING| DESCENDING]] [ADDITIVE]

Exemplu:

SET INDEX TO MED.IDX,STUD.CDX;

ORDER MEDNP OF STUD.CDX

SET INDEX TO ?

SET INDEX TO

Sintaxa comenzii SET ORDER

SET ORDER TO [nIndexNumber | IDXIndexFileName |
[TAG] TagName [OF CDXFileName]] [IN nWorkArea | cTableAlias]

[ASCENDING | DESCENDING]]

SET ORDER TO

SET ORDER TO 0

Exemple:

  1. SET ORDER TO MED.IDX DESCENDING

SET ORDER TO 3

- index activ tag-ul SG din indexul multiplu structural

ACTUALIZAREA INDECsILOR

REINDEX [COMPACT]

Din meniul principal →Table → Rebuild Indexes

ĪNCHIDEREA INDECsILOR

SET INDEX TO USE QUIT

CLOSE INDEXES EXIT

POZIŢIONAREA ĪN TABELELE INDEXATE

Comanda SEEK:

SEEK eExpression [ORDER nIndexNumber | IDXIndexFileName
| [TAG] TagName [OF CDXFileName]
[ASCENDING | DESCENDING]] [IN nWorkArea | cTableAlias]

Comanda SKIP:

SKIP [nRecords] [IN nWorkArea | cTableAlias]

Observatie.

FOUND() = .T. EOF()=.F.

? RECNO()

DISPLAY

.T. daca exista articolul cautat

SEEK(<expr>) =

.F. daca nu exista

Exemple:

SEEK 'S3' ORDER S.IDX

DISP NP, SERIA,GRUPA

SKIP

Observatie.

BROWSE KEY <expr1> [,<expr2>]

Exemple:

  1. USE STUDENT INDEX MED.IDX

BROWSE KEY 8,10

  1. BROWSE KEY 8.67

CREAREA INDECsILOR DIN MENIUL PRINCIPAL

  • tag-uri din indexul multiplu structural

A.           Din meniul VIEW

  • Cheie simpla.

Genereaza MODIFY STRUCTURE

  • Cheie compusa

SET ORDER TO SGF

Observatie 1: Filtru asociat indexului

Observatie 2: Modificari īn lista indecsilor din pagina Indexes

B. Submeniul Window

    • Data Session →Properties

    • Properties → Work Area Properties → Modify

DESCHIDEREA INDECsILOR DIN MENIUL PRINCIPAL

GENEREAZĂ SET INDEX TO <nume index>

(fara ORDER si ADDITIVE)

daca este fisier .IDX indexat

Efect

daca este fisier .CDX necesar USE sau

SET INDEX cu ORDER

MODIFICAREA INDEXULUI ACTIV DIN MENIUL PRINCIPAL

Work Area Properties → Index Order

COMENZI PENTRU COPIEREA sI sTERGEREA INDECsILOR

COPY INDEXES .

COPY TAG .

DELETE TAG .


Document Info


Accesari: 1397
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 )