# El manual del &kexi;

## Introducció

El &kexi; és una aplicació de gestió de bases de dades. Es pot usar per a crear bases de dades, inserir dades, realitzar consultes i processar dades. Es poden crear formularis per a proveir una interfície personalitzada a les vostres dades, fent fàcil de compartir dades i disseny.

El &kexi; forma part de &calligra; la suite de productivitat creada per la comunitat KDE.

A més d'emmagatzemar les vostres bases de dades del &kexi; en fitxers, el &kexi; també les pot emmagatzemar en un servidor de bases de dades. Usar un servidor de bases de dades us permet de compartir la vostra base de dades amb altra gent, i també us permet d'usar-la a més d'una persona alhora. El &kexi; accepta els següents servidors de bases de dades:

- MySQL

- PostgreSQL

Es pot trobar més informació del &kexi; a la &kexi; pàgina del kexi al web de Calligra, i al web mateix del Kexi.

Si teniu preguntes sobre el &kexi;, hi ha dues llistes de correu que podeu usar. La llista de correu del &kexi; es pot usar per a preguntar sobre l'ús del &kexi; o el projecte &kexi;. La llista de desenvolupament del &kexi; es pot usar per preguntes sobre el desenvolupament del &kexi;. Podeu trobar més informació sobre com subscriure-us a les llistes, juntament amb altres maneres de contactar els desenvolupadors del &kexi; aquí.

Aquest manual per al &kexi; 2.5 es basa en el Manual del &kexi; 1.1. Si us plau, coordineu els esforços amb en Jarosław Staniek, correu: kexi at kde.org

## Bàsics del Kexi

- Bases de dades del Kexi

- Creació d'una base de dades nova

- La finestra principal del Kexi

  - Elements principals d'aplicació

- Obrint un fitxer existent de base de dades del Kexi

  - Obrint un fitxer de base de dades al diàleg Obre un projecte

  - Obrint un fitxer existent de base de dades del Kexi clicant a la icona de fitxer .kexi

- Usant l'ajuda integrada

### Bases de dades del Kexi

Moltes aplicacions com l'OpenOffice.org, el LibreOffice o el &Microsoft; Excel creen fitxers que s'anomenen documents. El &kexi; també crea els fitxers, però ens referim a ells com a fitxer de base de dades del &kexi;, o aquí senzillament com a fitxer de base de dades.

A més d'emmagatzemar les vostres bases de dades en fitxers de bases de dades, el &kexi; també pot usar bases de dades en servidors de bases de dades, que és la raó per la qual ens referim a ells com a fitxers de bases de dades, i no simplement com a bases de dades.

El terme projecte &kexi;, o simplement projecte, també s'usa per a referir-se a una base de dades del &kexi;, sense tenir en compte si es desa en un fitxer o en un servidor de bases de dades.

Els fitxers de base de dades del &kexi; tenen normalment l'extensió `.kexi`

### Creació d'una base de dades nova

1. Inicieu el &kexi;, o si ja està funcionant, useu Kexi Nou... (Ctrl+N).

2. A la pàgina Projecte nou, sota de la secció Projectes Buits, escolliu Base de dades buida.

3. A la pàgina Mètode d'emmagatzematge, cliqueu Fitxer.

4. A Títol del projecte i nom del fitxer, definiu un títol i el nom de fitxer per al projecte.

5. Cliqueu Següent per a crear el projecte.

- Quan canvieu el títol del projecte, el nom de fitxer proposat canvia de manera similar.

- Podeu usar el navegador de fitxers per a escollir una carpeta on voldríeu desar el vostre fitxer de base de dades.

### La finestra principal del Kexi

La Barra d'eines en pestanya a la part superior us dona accés a accions comunes i ordres.

El Navegador de projectes i l'Editor de propietats es mostren en subfinestres als dos costats de la finestra filla. Aquestes es poden redimensionar o amagar segons convingui. Es pot amagar una subfinestra clicant la petita creu a la part de dalt de la subfinestra (just a sota de la barra d'eines).

Els objectes de base de dades (taules, consultes, &etc;) llistades al Navegador de projectes es poden obrir clicant (o dobleclicant, depenent dels vostres arranjaments globals del KDE) en els seus noms.

#### Elements principals d'aplicació

Els elements principals de la finestra d'aplicació del &kexi; són:

La barra d'eines amb pestanyes

- Conté les ordres disponibles per a l'aplicació. Trobareu una descripció detallada de cadascuna de les ordres a l'apèndix.

La subfinestra del Navegador del projecte

- Conté una llista de cada objecte (taules, consultes, formularis,...) creat al projecte de bases de dades obert. El navegador també conté una petita barra d'eines amb les ordres més usades relatives als objectes de la base de dades.

Àrea d'objectes de base de dades oberts / Finestres amb pestanyes

- Una àrea central de l'aplicació que ocupa la major part de l'espai de pantalla. La interfície d'usuari, té pestanyes intercanviables amb finestres que estan sempre maximitzades.

La subfinestra de l'Editor de propietats

- Conté una llista de propietats de l'objecte de base de dades activat. Per a certs objectes (&pex; els ginys de formulari) hi poden haver diverses pestanyes.

#### La barra d'eines amb pestanyes

La barra d'eines és el lloc que us dona accés a la majoria d'ordres i accions del &kexi;.

Usant les accions trobades a les diferents pestanyes a la barra d'eines, podeu:

- Crear / Obrir / Tancar projectes del Kexi

- Creació d'objectes de base de dades

- Importar / Exportar dades

Depenent del context, es poden veure pestanyes addicionals:

- La pestanya Disseny de formulari és visible si realment s'usa el Dissenyador de formularis.

- La pestanya Disseny d'informes és visible si realment s'usa el Dissenyador d'informes.

#### Subfinestra del Navegador de projectes

La subfinestra del Navegador de projectes és un dels elements usats més freqüentment de la finestra principal del &kexi;. La subfinestra conté una llista de tots els objectes creats en el projecte de bases de dades obert del Kexi. Els objectes estan dividits en grups: taules, consultes, formularis, informes i scripts.

La subfinestra del Navegador de projectes també conté una petita barra d'eines per a les ordres usades més freqüentment (d'esquerra a dreta): Obre l'objecte seleccionat, Dissenya l'objecte seleccionat, i Suprimeix l'objecte seleccionat.

Hi ha disponible un menú contextual per a cada objecte de la llista usant el botó secundari.

Fent doble clic al nom de l'objecte de la llista s'obre l'objecte en Vista de dades. Si la finestra de l'objecte ja era oberta, l'acció només activa la finestra sense canviar el mode de vista.

Encara que el vostre sistema operatiu o gestor de finestres pugui estar arranjat per a usar els clics simples en comptes dels dobles clics, el &kexi; usa els dobles clics al Navegador de projectes per a evitar obrir accidentalment conjunts grans de dades o executar consultes.

#### Àrea d'objectes de base de dades oberts / Finestres amb pestanyes

Quan doblecliqueu un objecte al navegador de projectes, aquest s'obre a l'Àrea d'objectes de base de dades oberts. Cada finestra té la seva pestanya al &kexi;.

Podeu rearranjar les pestanyes arrossegant-les i tancar-les usant el botó situat a l'extrem dret de la tira de la pestanya.

En algun moment futur, hi haurà una opció per a separar les pestanyes, creant alguna cosa similar a una interfície MDI. Això pot ser útil per a solucions personalitzades o disposicions múltiples.

#### Subfinestra de l'Editor de propietats

A la subfinestra Editor de propietats, podeu canviar les propietats de l'objecte mostrat a la finestra activa. Depenent del context, la subfinestra consisteix en una o més pestanyes. La primera pestanya, sempre visible, Propietats, conté la llista de propietats disponibles.

Regles per a usar l'Editor de propietats:

- Cada columna conté una única propietat.

- Podeu usar el ratolí o el teclat per a canviar els valors de propietats particulars.

- Els valors més freqüents per als tipus de propietats són:

  - un número; podeu introduir el valor directament o incrementar o disminuir el seu valor clicant amb el &BER; a les fletxes.

  - text

  - desplega la llista de valors

  - Sí/No; podeu commutar el valor clicant el botó;Sí (true) significa que el botó està encès, No (false) significa que el botó està apagat.

- No cal confirmar un canvi de valor: els canvis són visibles immediatament després de moure a una fila diferent de la llista de l'editor de propietats o prement la tecla &Intro;.

- Els noms de les propietats canviades recentment que encara no s'han desat a la base de dades estan marcades amb text en negreta.

- Després de canviar el valor d'una propietat, apareix un botó especial Desfés canvis a la part dreta de la llista de l'editor de propietats. Clicant-lo, es reverteix el valor de la propietat al valor original que estava carregat des de la base de dades des que es va obrir l'objecte de base de dades. El botó només és visible quan la propietat està marcada.

La subfinestra de l'Editor de propietats està buida si:

- no hi ha cap finestra d'objecte de base de dades oberta, o

- la finestra activa de l'objecte de base de dades no ofereix propietats; aquest és el cas quan s'obre en Vista de dades en comptes de Vista de disseny.

### Obrint un fitxer existent de base de dades del Kexi

Per tal d'obrir un fitxer de base de dades existent del &kexi; hi ha dues maneres:

#### Obrint un fitxer de base de dades al diàleg Obre un projecte

- Inicieu el &kexi;. Heu de poder veure el diàleg d'inici Us donem la benvinguda al Kexi, el qual permet seleccionar un dels projectes emprats recentment per a obrir-lo.

- Si el projecte no és a la pàgina amb els projectes usats recentment, escolliu Obre... (&Ctrl;O). Veureu el diàleg següent:

- Des de la barra de localització, escolliu una carpeta que contingui un fitxer que cerqueu.

- Podeu escollir un fitxer que s'obrirà immediatament. Alternativament, podeu introduir el seu nom al quadre Nom: i clicar Següent.

Notes

- Per defecte, la llista desplegable Filtre: té seleccionats Tots els fitxers admesos (*.kexi, *.kexic, *.kexis, *.mdb). En cas que el fitxer que cerqueu tingui una altra extensió, podeu canviar la selecció de la llista desplegable Filtre: a Tots els fitxers per tal de mostrar tots els fitxers disponibles (indiferentment de l'extensió).

- Si heu seleccionat un fitxer d'un tipus extern, com un fitxer `.mdb` del MS Access, el &kexi; us donarà l'opció d'importar el fitxer.

- Si teniu seleccionat un fitxer de dades de connexió (amb l'extensió `.kexic`) o un fitxer de drecera a un projecte en un servidor de base de dades (amb l'extensió .kexis), el &kexi; mostrarà els diàlegs apropiats.

#### Obrint un fitxer existent de base de dades del Kexi clicant a la icona de fitxer .kexi

- Cliqueu la icona de fitxer usant el vostre gestor de fitxers o escriptori. El &kexi; obrirà automàticament aquest projecte de base de dades.

Notes

Nota sobre fitxers de base de dades accessibles remotament. Podeu voler obrir un fitxer de base de dades localitzat en una font remota (&pex; un lloc web o un servidor d'FTP o una xarxa compartida d'MS Windows). El &kde; permet obrir fitxers des de fonts remotes directament en aplicacions i desar-hi els canvis, però aquest no és el cas amb els fitxers de bases de dades. Clicant un fitxer de base de dades localitzat en una font remota, es descarregarà una còpia del fitxer a un directori temporal del vostre ordinador i tots els vostres canvis es faran en el fitxer local. L'original remot del fitxer quedarà inalterat, així que es recomana primer copiar (descarregar) el fitxer al vostre ordinador, llavors obrir el fitxer i tornar-lo a copiar a la font remota si el voleu actualitzar.

### Usant l'ajuda integrada

Estan disponibles les següents maneres d'obtenir ajuda integrada en el &kexi;:

El Manual en forma de document electrònic.

- El manual està disponible prement la tecla F1 o fent clic a a la barra de menús i seleccionant Ajuda.

Pistes Què és això?

- Seleccioneu Què és això? des del menú que emergeix en fer clic a i després feu clic a una àrea de l'aplicació per a obtenir-hi consells.

## Construint bases de dades simples

- Introducció

- Dissenyant taules de base de dades

  - La finestra del dissenyador de taules

- Introduint dades a les taules

- Dissenyant consultes de base de dades

- Dissenyant formularis

  - Termes més importants

  - Formularis contra taules

  - Treballant amb un disseny de formulari

  - Usant la pestanya de ginys

  - Inserint ginys - camps de text

  - Assignant fonts de dades

  - Inserint etiquetes de text

  - Accions

  - Disposició de ginys

- Introduint dades mitjançant formularis

### Introducció

Per a aprendre el més bàsic del &kexi;, podeu construir una base de dades simple utilitzant la majoria de característiques elementals del &kexi;. Per a fer les coses més fàcils, no es cobriran aquí les qüestions de disseny avançat de bases de dades.

Comenceu creant una agenda telefònica nova buida.

Tenint un projecte nou buit de base de dades, seguiu els passos següents:

1. Disseny de taules de bases de dades. Llegiu la secció anomenada Dissenyant taules de bases de dades.

2. Introducció de dades en taules. Llegiu la secció anomenada Introduint dades en taules.

3. Disseny de consultes de base de dades. Llegiu la secció anomenada Dissenyant consultes de bases de dades.

4. Disseny de formularis. Llegiu la secció anomenada Dissenyant formularis.

5. Usar formularis per a introduir dades. Llegiu la secció anomenada Introduint dades mitjançant formularis.

### Dissenyant taules de base de dades

Primer, hi haurà dues taules afegides a la vostra base de dades: `Persones` i `Telèfons`. Aquestes són exactament les mateixes taules descrites al capítol Base de dades i full de càlcul. Es pot trobar una disposició per a `Persones` a la secció Integritat de dades i validació en aquell capítol.

1. Seleccionar Taula des de la barra d'eines. També podeu usar Crea un objecte: taula al menú contextual de l'element Taules al Navegador del projecte.

2. Apareixerà la finestra de Disseny de taula. Mirant a la part superior de la finestra de disseny, notareu que el &kexi; us proposa un nom genèric com Taula1 per a la taula nova. El disseny de la taula no es desa encara, de manera que podreu assignar després un nom més apropiat. Encara més, per la mateixa raó, el nom de la taula encara no és visible al Navegador del projecte.

#### La finestra de disseny de taula

##### La finestra de disseny de taula consisteix en les columnes següents:

- : informació addicional sobre el camp.

- Camp de la llegenda: llegenda del camp que serà visible durant la introducció de dades.

- Tipus de dada: un quadre combinat que conté una llista de tipus de dada, per tal d'arranjar una regla principal per a la introducció de dades per a un camp donat. Per exemple, quan es configura un tipus de dada de nombre enter per a un camp, un usuari de la base de dades no hi podrà introduir caràcters de lletra.

- Comentaris: aquí hi podeu introduir qualsevol informació útil per a fer entendre per a què serveix el camp donat. Aquest text addicional es desarà amb el disseny de taula i només serà visible en mode de disseny.

A la finestra de disseny de taula, cada fila correspon a un camp simple de taula. Podeu reconèixer que sou en mode de disseny perquè el botó Disseny està seleccionat a la finestra de barra d'eines de la taula.

##### Dissenyant la taula Persones

A la primera fila cliqueu a la cel·la de la columna Camp de la llegenda i introduïu el `Nom` com a llegenda del camp. Omplint el camp Camp de la llegenda automàticament s'omple el camp del Nom com es veu a la subfinestra Editor de propietats.

Notes sobre els noms de camp i de les llegendes

- Cada camp de taula haurà de tenir un nom i una llegenda, no poden estar buits.

- El nom de camp és una paraula usada per la base de dades, normalment no visible per als usuaris de l'aplicació de la base dades. El nom no pot contenir caràcters (nacionals) especials (com ±, ¶, Ü) o caràcters d'espai. El nom només ha de contenir lletres romanes, nombres i el signe subratllat _. Useu el darrer en lloc d'espais o guions.

- Els noms de camps han de començar amb una lletra o un signe de subratllat _, mai amb un nombre.

- No import si esteu usant lletres minúscules o majúscules. Per al &kexi; el nom de camp `Persones` és el mateix que `persones`.

- Camp de la llegenda, d'altra banda, us permet d'introduir qualsevol lletra i caràcter especial. Es mostrarà per als usuaris de l'aplicació de base de dades.

De manera similar, introduïu els següents camps en el disseny de taula:

- `cognom`

- `carrer`

- `numero_de_casa`

- `ciutat`

Tots els camps de més amunt, excepte `numero_de_casa`, són del tipus text. Canvieu el tipus del camp `numero_de_casa` a nombre enter. Per a fer això, feu clic en una cel·la de la columna Tipus de dada, fila `numero_de_casa` i després feu clic al botó de la llista desplegable o premeu F4. Apareixerà la llista de tipus de dades. També podeu usar les tecles Fletxa amunt i Fletxa avall per a seleccionar un altre tipus. Seleccioneu el tipus Nombre enter.

A partir d'ara, el camp `numero_de_casa` només acceptarà números.

El disseny de la taula Persones està llest. Cliqueu el botó Dades de la barra d'eines per a finalitzar el disseny i canviar a la Vista de dades de la taula. Això permet introduir dades a la taula.

Com que el disseny encara no està desat a la base de dades, apareixerà la finestra de diàleg Desa l'objecte com a. Cal especificar el nom per a la taula nova.

El &kexi; ofereix un nom genèric com Taula1. Per a canviar el nom, introduïu `Persones` al camp Llegenda i premeu la tecla &Intro; o feu clic al botó D'acord. El camp Llegenda s'usarà per a mostrar la taula als usuaris finals de la base de dades, &pex; com a un formulari. Contràriament al nom, la llegenda podrà contenir qualsevol caràcter incloent-hi espais i caràcters especials.

Tingueu en compte que omplir el camp Llegenda automàticament omple el camp Nom. Per a la vostra comoditat, la regla per a usar només lletres, nombres i el caràcter _ es manté. Podeu modificar el contingut del camp Nom si ho voleu.

1. Se us demana confirmació per a afegir automàticament una clau primària a la taula. Cliqueu al botó Afegeix la clau primària per tal de continuar.

2. La taula `Persones` s'ha creat i s'ha obert en Vista de les dades. El seu nom apareix a la subfinestra del Navegador del projecte.

3. Creeu la taula `Telèfons`, de manera similar a la taula `Persones`.

4. Creeu un camp `persona` de tipus nombre enter i `telèfon` de tipus Text. No feu servir aquí un camp de tipus nombre perquè els números de telèfon poden tenir diferents formes i prefixos.

5. Cliqueu el botó Dades de la barra d'eines i introduïu la llegenda `Telèfons` per a la taula. Com a la taula anterior, permeteu que el &kexi; creï automàticament la clau primària.

### Introduir les dades a les taules

Heu dissenyat les dues taules `Persones` i `Telèfons`. Cap d'elles encara no conté dades. En podeu introduir, i en aquest capítol aprendreu com fer-ho ràpidament i efectivament.

Comencem per la taula `Persones`. Obriu-la a la Vista de dades usant Obre al menú contextual Navegador de projectes o el botó de la barra d'eines. La cel·la actual està marcada amb (normalment negre) una vora més gruixuda, un cursor de cel·la. El contingut de la cel·la, si n'hi ha, està ressaltat amb un color diferent. La fila actual, &ead;, en la que està situada el cursor rectangular, està marcada a la banda esquerra amb un símbol de fletxa.

Podeu navegar per les cel·les de la taula usant les tecles de fletxa, Re Pàg, Av Pàg, Inici, Fi; també podeu clicar amb el ratolí a la cel·la per a seleccionar-la.

Inicialment, després d'obrir la taula `Persones`, el cursor s'emplaça a la columna `Id`. La columna té definida la propietat numeració automàtica, marcada en text blau (numeració automàtica) a l'última fila. Això vol dir que ni hi heu d'introduir valors a mà quan introduïu dades per a una fila nova perquè la cel·la s'omplirà automàticament amb números successius.

Introduir files noves i introduir-hi dades en el &kexi; és diferent de la manera en què es fa en els fulls de càlcul. Per a introduir dades per a una fila nova, heu d'usar les tecles de fletxa o el ratolí, per a moure el cursor a l'última fila buida especial marcada amb un signe més. Poseu el cursor a la (segona) columna `nom` i introduïu-hi un nom de persona. Introduïu-hi també cognom, carrer, número de casa i ciutat. Quan estigui fet, moveu el cursor de cel·la a l'última fila buida usant la tecla Fletxa avall o clicant l'última fila per a afegir-hi una fila nova.

#### Detalls sobre accions disponibles quan s'introdueixen les dades a les taules

- Tan aviat com introduïu el primer caràcter, la fila actual s'edita. Apareix un símbol de llapis a la part esquerra de la taula.

- Fent clic doble a una cel·la amb el botó esquerre del ratolí o prement &Intro; o la tecla F2, també s'inicia l'edició de la fila actual.

- Pressionant la tecla &Esc; mentre editeu els continguts d'una cel·la cancel·la els canvis fets a aquella cel·la. En canvi, el símbol del llapis no desapareixeran perquè encara els podeu moure a una cel·la diferent de la fila editada per a canviar els seus continguts. Per a cancel·lar els canvis fets a tota la fila editada, pressioneu la tecla &Esc; de nou.

- En lloc de prémer la tecla &Esc;, podeu fer clic al botó Cancel·la els canvis del registre de la barra d'eines.

- Premeu les tecles &Maj;&Intro; per a acceptar els canvis efectuats a totes les cel·les a la fila editada actual.

Ompliu la taula `Telèfons` amb dades. A la columna `persona` cal proporcionar un número `Id` de la persona existent a la taula `Persones`.

### Dissenyant les consultes a la base de dades

La finalitat principal de les bases de dades és el d'emmagatzemar i extreure la informació que cerqueu. Diferentment de les bases de dades escrites en fulls de càlcul, la base de dades del &kexi; us permet d'especificar més criteris de cerca. Els resultats es retornen més de pressa, fins i tot per a grans conjunts de dades. Tot això és el gran poder de les bases de dades. Però per a poder realitzar efectivament les consultes a la vostra base de dades, heu d'aprendre com dir-li a la base de dades el què esteu cercant.

Amb les consultes de base de dades, podeu limitar les dades que venen de la taula a un conjunt predefinit de files i columnes així com la unió dinàmica de dades que venen de múltiples taules.

Per a veure com funcionen els consultes a la pràctica, creareu una consulta de contactes unint les dades de dues taules: `Persones` i `Telèfons` (dissenyades aquí i omplertes amb dades aquí).

1. Creeu una consulta nova buida seleccionant Consulta des de la barra d'eines. Apareixerà la finestra de disseny. La finestra es divideix en dues àrees: relacions de la consulta a la part superior i columnes de la consulta a la part inferior.

2. Seleccioneu la taula `Persones` a la llista desplegable Taula: situada a la part superior de la finestra i feu clic al botó Insereix. Apareixerà una representació gràfica de la taula a l'àrea de relacions. Feu el mateix per la taula `Telèfons` per a inserir-la també.

3. Afegiu relacions de consulta usant la tècnica de ratolí d'arrossegar i deixar anar: feu clic al camp `id` de la taula `persones`, arrossegueu-lo i deixeu-lo anar al camp `persona` de la taula `Telèfons`. Això unirà els dos camps creant una relació nova.

4. Feu un clic doble al camp `nom` de la taula `Persones`, per a afegir el camp com una columna de consulta. De manera similar, afegiu els camps `cognom`, `carrer`, `numero_de_casa`, `ciutat` de la taula `Persones` i `telèfon` de la taula `Telèfons`.

5. El disseny de la consulta està preparat per les proves. Feu clic al botó Dades de la barra d'eines, per a canviar des del disseny a la visualització de les dades proporcionades com a resultat de la consulta.

6. Deseu el disseny de la consulta per a un ús posterior fent clic al botó Desa de la barra d'eines. Si el disseny de la consulta encara no s'ha desat, se us demanarà que hi especifiqueu un nom. Introduïu el text `Contactes` al camp de la llegenda i feu clic al botó D'acord.

### Dissenyant formularis

- Termes més importants

- Formularis contra taules

- Treballant amb un disseny de formulari

- Usant la pestanya de ginys

- Inserint ginys - camps de text

- Assignant fonts de dades

- Inserint etiquetes de text

- Accions

- Disposició de ginys

#### Termes més importants

Formulari

- Una finestra oferta per a la introducció fàcil de dades i presentació a la pantalla de l'ordinador.

Font de dades del formulari

- Taula o consulta de base de dades que ofereix dades mostrades al formulari. La font de dades cal perquè els formularis mateixos només són eines per a mostrar i introduir dades, mentre que les taules i les consultes són la font de les dades. Els formularis nous, buits, no tenen cap font de dades assignada, així que no mostren cap dada de la vostra base de dades fins que les hi assigneu una font de dades.

Camp de formulari

- Equivalent directe d'una columna en una taula o consulta. Els usats més freqüentment són els camps per a mostrar text i números. Introduint un valor nou o canviant-ne l'existent, es provoca un canvi a la taula vinculada o la columna de consulta (després d'acceptar els canvis).

Disseny de formulari

- Tasques que esteu realitzant per a definir l'aparença i les funcions del formulari. Per a fer-ho, heu de proveir font de dades, inserir camps de formulari de diversos tipus i posar-los en el lloc adequat.

Giny de formulari

- Element de formulari. Els principals tipus de giny són:

  - Ginys mostrant informació, &pex; un quadre de text o un quadre d'imatge. Cada giny d'aquest tipus es pot vincular a un camp de font de dades (una columna de taula o consulta). Per això, aquests ginys es diuen, abreviant, camps de formulari.

  - Els ginys permeten realitzar una acció especificada, &pex; un botó que tanqui el formulari actual. Entre altres aplicacions, aquest tipus de giny de vegades se li diu control de formulari perquè pot realitzar accions prèviament definides de control del comportament de la vostra aplicació de base de dades.

  - Altres ginys permeten enriquir l'aparença d'un formulari, &pex; un «giny de línia» pot separar visualment dues àrees de formulari.

Giny de contenidor

- Un giny que pot contenir altres ginys a la seva àrea. Per exemple, els ginys de marc o pestanya són contenidors. La superfície mateixa del formulari és també un contenidor. Un botó d'ordre no es pot dir que sigui un contenidor perquè no és possible inserir-hi un giny. En casos més complexos, els ginys contenidors es poden inserir dins d'un contenidor, així, es poden niar.

#### Formularis contra taules

Al capítol Introduint dades a les taules heu après com introduir dades directament a les taules usant la seva vista de full de dades. Tanmateix, en molts casos els formularis són més adequats per a l'entrada de dades:

- Una taula pot contenir massa columnes per a mostrar-les a la vostra pantalla. Un formulari pot mostrar aquestes dades usant múltiples files.

- Un formulari permet visualitzar camps dividits de dades en grups lògics, incrementant d'aquesta manera la llegibilitat. Es poden inserir etiquetes amb informació addicional per a donar més pistes als usuaris de com usar el formulari o què volen dir els camps de dades donats.

- Els botons d'ordre es poden usar als formularis per a ordres usades habitualment de manera que els usuaris poden usar formularis de manera similar com les aplicacions individuals que coneixen.

En visualització de full de dades, mostrar els camps de text de dades multicolumna o imatges és tan fàcil com amb formularis.

#### Treballar amb un disseny de formulari

Com amb disseny de taula o columna, podeu usar Vista de les dades i Vista del disseny. El disseny del formulari es realitza a la Vista del disseny. Sovint ens referim a la finestra de disseny del formulari com a Dissenyador de formularis.

1. Per a crear un formulari buit nou, seleccioneu Formulari des de la barra d'eines. Opcionalment, podeu usar l'ordre Crea un objecte: Formulari des del botó desplegable de la barra d'eines del Navegador de projectes o l'ordre Crea un objecte: Formulari des del menú contextual del Navegador de projecte.

2. Apareixerà un marc nou, podeu redimensionar el formulari movent les vores. El formulari es cobreix amb una graella que simplifica la posició acurada dels ginys.

Com el disseny de taules, el Dissenyador de formularis proporciona una subfinestra Editor de propietats. Per a estalviar espai a la pantalla, la subfinestra té tres pestanyes relacionades amb el formulari actualment seleccionat:

La pestanya Propietats

- Conté una llista de propietats per al giny seleccionat.

La pestanya Font de les dades

- Conté propietats relatives específicament a la font de dades del giny seleccionat o el formulari mateix.

La pestanya Ginys

- Conté una jerarquia de tots els ginys del formulari. La llista simplifica la visualització dels ginys per nom i la navegació entre ells.

Hi ha informació sobre els noms i tipus dels ginys seleccionats mostrats a la primera i segona pestanyes.

També hi ha disponibles barres d'eines addicionals:

- La barra d'eines Ginys usada per a inserir ginys nous al formulari. Seleccioneu el Disseny de formulari per a mostrar-lo.

#### Usar la pestanya Ginys

La pestanya de ginys a la subfinestra Propietats proporciona una llista de ginys de formulari i la seva jerarquia. Cada giny es presenta dins la jerarquia al costat d'altres ginys del mateix nivell (el mateix contenidor pare). Els ginys fills (dins els contenidors) es mostren usant noms sagnats.

Cada giny mostra el seu nom i tipus. El tipus també mostra una icona -la mateixa que es mostra a la barra d'eines que s'usa quan es realitza el disseny de formulari.

- Canviant la selecció actual a la llista causa la selecció apropiada del formulari dissenyat. Això permet una cerca més fàcil de ginys per nom i una navegació més fàcil. Per exemple, és possible de seleccionar un giny per nom, i llavors canviar a la pestanya Propietats per a canviar les propietats del giny.

- Mantenint polsada la tecla &Ctrl; mentre se selecciona un element de la llista de ginys, us permet seleccionar múltiples ginys a la vegada. Mantenint polsada la tecla &Maj; es permet seleccionar llistes senceres de ginys.

Donar noms raonables als ginys pot ser útil, però no és obligatori. Noteu que el nom del giny és una propietat no visible per a l'usuari del vostre formulari. Els usuaris només veuran un text de giny, proporcionat per la propietat Text o similar.

#### Inserir ginys -camps de text-

Crearem un formulari que proporcioni informació quant a persones, &ead; un formulari connectat amb la taula `Persones`.

Al formulari que dissenyem hi ha d'haver dades obtingudes des de la base de dades, hi heu d'emplaçar correctament els camps. Per a fer-ho, useu els botons de la barra d'eines Ginys. Cada botó correspon a un únic tipus de giny.

1. Cliqueu el botó Quadre de text de la barra d'eines Ginys.

2. Cliqueu a la superfície de formulari amb el botó esquerre del ratolí. Apareixerà un quadre de text nou al punt on heu clicat. Abans de deixar-lo, podeu arrossegar el ratolí per a especificar la mida del giny.

3. Si cal, moveu el giny inserit arrossegant-lo i deixant-lo a la posició desitjada. Podeu tornar a amidar el giny després, arrossegant una de les cantonades dels petits quadres que apareixen prop de les seves cantonades. Tingueu present que els quadres només seran visibles quan el giny està seleccionat. Si seleccioneu un altre giny de la superfície del formulari, els quadres desapareixen.

4. Cliqueu el botó de la barra d'eines Quadre de text un altre cop i cliqueu a la superfície del formulari per a inserir un altre giny. Repetiu aquesta acció un altre cop fins que obtingueu tres caixes de text inserides al vostre formulari. Per a més simplicitat, ens limitarem a cinc dades de camps.

- Hi ha un menú contextual disponible en el mode de disseny de formulari, que s'activa amb un clic del botó dret del ratolí al giny desitjat o a la superfície del formulari. El menú ofereix ordres com Retalla, Copia, Enganxa, Suprimeix i altres més complexes. També són disponibles les dreceres de teclat per a aquestes ordres. Determinades ordres només són disponibles per a certs tipus de ginys.

- Les ordres Retalla, Copia i Enganxa fan possible moure o copiar ginys entre formularis, fins i tot entre projectes de bases de dades separats.

- Polsant la tecla &Ctrl; mentre cliqueu un giny, us permet seleccionar múltiples ginys.

- En lloc d'usar les ordres Copia i Enganxa per a duplicar un giny al mateix formulari, podeu prémer la tecla &Ctrl; mentre moveu el giny. Després d'alliberar el botó, el giny arrossegat no es mourà i es copiarà a la ubicació nova.

#### Assignar fonts de dades

Els camps que heu inserit encara no tenen cap font de dades assignada, i per tant, no poden mostrar informació de la base de dades. Per a assignar una font de dades, useu la pestanya (Font de les dades) de la subfinestra Editor de propietats.

El primer pas per a especificar la font de dades del formulari, &ead;, el lloc d'on es recolliran les dades mostrades.Com s'ha mencionat més amunt, usareu la taula `Persones` com a font de dades pel formulari nou.

1. Cliqueu a la superfície del formulari, com si volguéssiu alterar les seves propietats.

2. Canvieu a la pestanya (Font de les dades) i introduïu-hi el nom de taula `persones` a la llista desplegable Font de dades del formulari. Alternativament, podeu seleccionar aquest nom des de la llista desplegable.

Heu assignat la font de dades del formulari. Ara, heu d'especificar la font de dades del giny.

1. Cliqueu al primer giny de camp de text a la part superior del formulari.

2. A la pestanya (Font de les dades) de la subfinestra de propietats, introduïu el nom del camp `nom` a la llista desplegable Font de dades del giny. Alternativament, podeu seleccionar aquest nom des de la llista desplegable.

3. Cliqueu al següent giny de camp de text i introduïu `cognom` com a font de les dades.

4. Introduïu les fonts de dades per als camps de text carrer, numero_de_casa i ciutat de manera similar.

Ara podeu desar el disseny del formulari (això no és obligatori per a provar el formulari en acció). Per a desar, feu clic al botó Desa de la barra d'eines. En desar, se us demanarà el nom del formulari. Introduïu `Persones` com a llegenda i feu clic al botó D'acord. El nom del formulari s'omplirà automàticament.

Aquest és el moment apropiat per a provar el formulari. Feu clic al botó Dades de la barra d'eines. A menys que hàgiu fet un error en introduir les fonts de dades, hauríeu de veure els camps dels formularis omplerts amb dades de la taula `Persones`.

- Si voleu eliminar l'assignació de la font de dades del giny d'un giny de formulari, podeu usar el botó del quadre Font de dades del giny.

- Useu el botó (Ves a la font de dades seleccionada) per a seleccionar la taula o consulta apropiada al Navegador de projectes, de manera que podeu obrir ràpidament una taula o consulta, sent la font de dades del formulari.

#### Inserint etiquetes de text

Per a fer més a l'usuari del formulari la identificació del significat de cada giny de camp, aquests han de tenir etiquetes afegides amb els títols apropiats. Per a crear etiquetes de text, s'usa el giny Etiqueta.

Inseriu tres ginys d'etiqueta de text al formulari, situant-los a la banda esquerra dels camps de text (o a mà dreta si el sistema operatiu usa la disposició dreta-a-esquerra). En inserir una etiqueta nova, apareixerà un cursor de text a la ubicació cursor a on podreu introduir el títol desitjat. Introduïu consecutivament: `Nom`, `Cognoms`, `Carrer`, `Número de casa` i `Ciutat`. Addicionalment, a la part superior del formulari inseriu una altra etiqueta mostrant el nom del formulari, &ead; `Persones`. Augmenteu la mida d'aquesta etiqueta i incrementeu la mida del tipus de lletra usant Tipus de lletra a la pestanya Propietats.

#### Accions

Una Acció és una activitat única aïllada a l'aplicació, disponible perquè l'executi l'usuari. També es pot executar automàticament com a reacció a un esdeveniment donat (&pex;, després d'obrir un formulari).

##### Assignant accions a botons de formulari

Moltes accions es poden assignar a un botó de formulari. L'acció assignada s'executa després de clicar el botó.

Per a assignar una acció:

1. Canvieu a la Vista de disseny del formulari si encara no heu acabat.

2. Seleccioneu el giny de botó existent fent-hi clic o podeu un giny de botó nou al formulari. Si inseriu un botó nou, introduïu el seu títol i premeu la tecla &Intro;.

3. Feu clic al giny de botó amb el botó dret del ratolí per a mostrar el menú contextual.

4. Des del menú contextual, seleccioneu l'ordre Assigna acció....

5. Apareixerà una finestra de diàleg Assignació d'acció a botó mostrant una llista de les accions disponibles. Una de les accions està seleccionada si el giny ja té una acció assignada. En cas contrari, la llista Categoria d'accions té seleccionat l'element Sense acció.

6. Des de la llista Categoria d'accions seleccioneu l'element Accions d'aplicació. Es llistaran les accions disponibles per totes les aplicacions.

7. Seleccioneu una de les accions de la llista (&pex;, Suprimeix l'objecte seleccionat).

Després de canviar a la vista de dades de formulari podeu intentar si l'acció funciona.

- Per a eliminar una assignació d'acció, seleccioneu l'element Sense acció de la llista Categoria d'accions de la finestra de diàleg Assignació d'acció a botó.

- Les accions només funcionen a la vista de dades del formulari. Per exemple, l'acció Tipus de lletra... està disponible a la vista de dades, però només si teniu un giny seleccionat a la Vista de disseny. Si feu canvis a l'arranjament del tipus de lletra, els canvis s'apliquen al text del giny seleccionat.

#### Disposició de ginys

En la majoria de casos, els ginys de formulari estaran convenientment arranjats i alineats. Posicionar-los, alinear-lo i redimensionar-los a mà no és fàcil i aquests paràmetres no s'ajusten si l'usuari redimensiona el formulari. De fet, la situació és encara pitjor, perquè no podeu assumir que un determinat formulari requereix un espai donat perquè els usuaris tenen diferents mides de tipus de lletra i diferents resolucions de pantalla.

Una eina especial anomenada formats de giny, pot ajudar a donar format automàticament als ginys del formulari. El format de giny és una acció d'agrupar dos o tres ginys de manera que aquests estan ben posicionats i tenen unes mides apropiades.

Usant format en un formulari millora l'alineació. A més, aquest espai s'usa més bé. Els camps de text estan més a prop de cadascun, l'espai és constant.

##### Polítiques de mida per a ginys dins d'un format

En lloc d'arranjar una mida fixa per als vostres ginys, en el &kexi; podeu escollir entre diferents polítiques de mida de giny. Una política de mides és una estratègia flexible per a controlar com s'estira (o arronsa) un giny depenent dels ginys veïns i de l'espai disponible al formulari.

Després de situar ginys en una línia, es redimensionarà per a ajustar-se al text visible.

Per a cada giny inserit al formulari, hi ha disponibles arranjaments per a la política de mides a l'Editor de propietats. Els arranjaments es presenten com a un grup de propietats anomenat Política de mides.

Aquest grup de propietats conté:

Política de mida horitzontal

- definint la mida horitzontal del giny,

Política de mida vertical

- definint la mida vertical del giny,

Ampliació horitzontal

- la definició de la força de l'activitat de la Política de mida horitzontal,

Ampliació vertical

- la definició de la força de l'activitat de la Política de mida vertical,

##### Polítiques de valors de mida

Els valors següents estan disponibles a la llista desplegable de Política hor. i Política vert. visible a Editor de propietats:

Fix

- aquest valor vol dir que el giny no es redimensionarà automàticament; es mantindrà constant la mida definida en el moment del disseny (amplada o alçada),

Mínim

- aquest valor vol dir que la mida original del giny està arranjada al mínim, és suficient i no cal expandir el giny, però s'expandirà si cal. Aquest tipus de política es pot usar per a expandir a tota l'amplada o l'alçada, especialment si arrangeu un valor d'estirament més gran de 0.

Màxim

- aquest valor vol dir que la mida original del giny està arranjada al màxim permès i es pot disminuir sense trencar la usabilitat i llegibilitat del giny si altres ginys necessiten més espai,

Preferit

- aquest valor vol dir que la mida original del giny és la millor i la preferida; el giny es pot encongir o expandir i malgrat tot romandrà llegible,

Expandint

- aquest valor vol dir que la mida original del giny és raonable però el giny també es pot encongir; es pot expandir també per a agafar tant espai com sigui possible,

Expansió mínima

- aquest espai vol dir que es permet la mida original del giny; es pot expandir per a agafar tant espai com sigui possible,

Ignorat

- aquest valor vol dir que s'ignora la mida original del giny; el giny es pot expandir per a agafar tant espai com sigui possible, però altres ginys normalment no ho permetran

Els diferents tipus de giny tenen diverses polítiques de mida per omissió; per exemple, els botons de giny tenen la política de mida per omissió arranjada al Mínim (en ambdues direccions), mentre que els ginys de camp de text tenen la política de mida vertical arranjada a Fixat.

Les polítiques de mida usades més freqüentment són Preferit, Mínim i Màxim.

##### Ampliació vertical i horitzontal

Les propietats Ampliació vertical i Ampliació horitzontal accepten valors enters més grans o iguals a zero. Aquestes propietats permeten ajustar el comportament de les polítiques de mida. El valor per omissió per a les propietats és 0. Un valor més alt d'ampliació vol dir que el giny s'expandirà més que els ginys que tinguin un valor d'ampliació més baix.

### Introduint dades usant formularis

Introduir dades i editar-les és normalment la tasca de l'usuari de l'aplicació de bases de dades. El dissenyador de la base de dades ha de comprovar el formulari en termes de validesa d'entrada de dades, i mirar si el formulari funciona com s'espera que ho faci.

Per a provar el formulari canvieu a la seva vista de dades. Es mostrarà una única fila de dades de la base de dades (registre). Us podeu moure entre els camps usant el botó esquerre del ratolí o les tecles i &Maj; . En editar, hi haurà visible una icona de llapis propera al navegador de registres. Després d'introduir les dades de la fila (registre) podeu prémer les tecles &Maj;&Intro; o fer clic al botó Desa el registre de la barra d'eines per a acceptar els canvies efectuats a la fila actual. Fent clic al botó Cancel·la els canvis del registre de la barra d'eines es descartaran els canvis efectuats a la fila actual i restaurarà el contingut dels camps de dades. Podeu usar el botó del navegador de registres per a moure's a la fila següent. Totes les funcions del navegador també són disponibles de manera similar com a la vista de la taula de dades.

## Configuració del &kexi;

- Acoblant i desacoblant els plafons laterals

### Acoblant i desacoblant els plafons laterals

Els plafons laterals del Navegador de projectes i l'Editor de propietats es poden desacoblar de les maneres següents:

- Fent clic doble a la barra de «nansa» de dalt del plafó; o

- Fent un clic al botó romboidal de dalt del plafó, proper a la x.

Un cop desamarrats, els plafons de finestra es poden tornar a acoblar a la finestra principal de manera similar:

- Fent clic doble a la barra de «nansa» de dalt de la finestra; o

- Fent un clic al botó romboidal de dalt del plafó, proper a la x.

En desacoblar un plafó, el &kexi; recorda la darrera posició acoblada, de manera que quan torneu a acoblar el plafó, aquest se situarà a la ubicació a on es va acoblar darrerament.

## Referència d'ordres

- La pestanya Kexi

- La pestanya Crea

- La pestanya Dades

- La pestanya Dades externes

- La pestanya Eines

- La pestanya Disseny de formulari

- La pestanya Disseny d'informe

### La pestanya &kexi;

La pestanya &kexi; és el lloc a on interactuareu amb els projectes del &kexi;.

En seleccionar una acció s'obrirà una pantalla al costat dret del menú, oferint opcions referides a l'acció que trieu.

Les opcions oferides són:

Us donem la benvinguda

- Aquí podeu seleccionar obrir un projecte que s'ha treballat recentment.

Obre

- Aquí podeu seleccionar obrir un projecte &kexi;, sense tenir en compte si s'emmagatzema en un fitxer o en un servidor de bases de dades.

Tanca

- Aquesta acció tanca el projecte del &kexi; que hi ha obert actualment.

Nou

- Aquí podeu seguir l'assistent per a crear un projecte nou del &kexi;.

Importa, exporta o envia...

- Aquí podeu seguir l'assistent per a importar dades existents al projecte &kexi; actualment obert.

Surt

- Tanca el &kexi;.

### La pestanya Crea

Des de la pestanya Crea podeu crear objectes que s'afegiran al projecte.

Taula

- Seleccionant Taula s'anirà al dissenyador de taules de la vista de disseny per a permetre afegir definicions de camps a la taula.

Consulta

- Seleccionant Consulta s'anirà al dissenyador de consultes de la vista de disseny per a permetre dissenyar una consulta per a obtenir resultats personalitzats a partir de les taules del projecte.

Formulari

- Seleccionant Formulari s'anirà al dissenyador de formularis de la vista de disseny per a permetre afegir ginys al formulari.

Informe

- Seleccionant Informe s'anirà al dissenyador d'informes de la vista de disseny per a permetre afegir ginys a l'informe.

Script

- En seleccionar Script s'anirà a l'editor de scripts per a permetre afegir codi personalitzat al projecte i/o als objectes.

### La pestanya Dades

A partir de la pestanya Dades podeu manipular les dades a les taules o ginys dels objectes (formularis, informes, etc.)

Retalla

- Retalla, situa les dades/giny al porta-retalls i els elimina de la seva posició actual.

Copia

- Copia, situa les dades/giny al porta-retalls i sense eliminar-los de la seva posició actual.

Enganxa

- Enganxa, situa les dades/giny que es troben al porta-retalls a la taula/objecte.

Enganxament especial

- Enganxament especial, s'usa per a situar arbitràriament dades trobades al porta-retalls a una taula, d'una manera previsible per tal que s'afegeixin correctament d'acord amb la definició de la taula.

Cerca

- Cerca, obre el diàleg de Cerca per a cercar un text específic a les dades de la base de dades.

### La pestanya Dades externes

Des de la pestanya de dades externes podeu importar dades des d'altres fonts al projecte &kexi;.

Importa dades des d'un fitxer

- Importa dades des d'un fitxer, mostra un diàleg que permet importar dades des de fitxers de text CSV o normals a una taula nova del projecte.

Importa taules

- Importa taules, obre l'assistent d'importació de taules que permet importar dades des de fitxers `fods`, `mdb`, `ods`, `tsv` o des d'altres servidors de bases de dades, a una taula nova del projecte.

Exporta dades a un fitxer

- Exporta dades a un fitxer, mostra un diàleg que permet exportar les dades de les taules actuals a un fitxer normal o CSV.

La taula ha d'estar oberta, per tal de possibilitar l'exportació de les seves dades a un fitxer.

### La pestanya Eines

Des de la pestanya Eines podeu manipular els projectes.

Compacta la base de dades

- Compacta la base de dades, comprova si hi ha errors menors a la base de dades i redueix la mida de la base de dades.

Caldria compactar regularment la base de dades per a mantenir-la en forma, especialment després d'operacions intensives amb registres (addicions i supressions massives)

### La pestanya Disseny de formulari

A la pestanya Disseny de formulari es poden seleccionar ginys per a afegir al formulari.

Apuntador

- Apuntador, canvia al mode de selecció de giny.

En seleccionar qualsevol giny, es commutarà al mode d'afegir giny. Llavors es podrà fer clic en qualsevol lloc del formulari per a situar el giny.

Etiqueta

- Un giny Etiqueta mostra informació predefinida a un formulari. Normalment s'usa com a llegenda al costat d'altres ginys relatius a les dades.

Quadre de text

- Un Quadre de text és un contenidor d'una única línia per a dades contingudes a la taula.

Editor de text

- Un Editor de text és un contenidor multilínia per a dades contingudes a la taula.

Quadre combinat

- Un Quadre combinat mostra una llista d'opcions per a triar.

Casella de selecció

- Una Casella de selecció conté dos o tres estats de dades (&pex; Engegat/Apagat)

Quadre d'imatge

- Un Quadre d'imatge conté una imatge, vinculada a un camp d'una taula.

Botó

- Un Botó permet definir accions a executar-se en fer-hi clic.

Marc

- Un Marc s'usa com a contenidor per a altres ginys.

Grup de caselles

- Un Grup de caselles s'usa per a agrupar altres ginys i controlar el seu estat.

Giny de pestanya

- Un Giny de pestanya s'usa com a contenidor per a altres ginys i pot tenir moltes pàgines que continguin ginys diferents.

Línia

- Una Línia s'usa com un separador lògic entre parts diferents d'un formulari.

Navegador web

- Un Navegador web és un giny que permet mostrar una pàgina web dins el formulari.

Assigna una acció

- Assigna acció s'usa per a assignar una acció a executar quan es produeix un esdeveniment (&pex; en fer clic a un botó).

### La pestanya Disseny d'informe

A la pestanya Disseny d'informe es poden seleccionar ginys per a afegir a l'informe.

Etiqueta

- Un giny Etiqueta mostra informació predefinida a un informe. Normalment s'usa com a llegenda al costat d'altres ginys relatius a les dades.

Camp

- Un giny Camp és un contenidor d'una única línia per a dades contingudes a la taula.

Text

- Un giny Text és un contenidor multilínia per a dades contingudes a la taula.

Imatge

- Un giny Imatge conté una imatge, vinculada a un camp d'una taula.

Selecció

- Un giny Selecció conté dos o tres estats de dades (&pex; Engegat/Apagat)

Línia

- Una Línia s'usa com un separador lògic entre parts diferents d'un formulari.

Diagrama

- Un giny Diagrama s'usa per a afegir una representació visual de les dades presentades en un gràfic.

Web

- Un giny Web s'usa per a proporcionar un component de navegador web mínim i mostra informació d'un lloc web o local a un informe.

Codi de barres

- Un giny Codi de barres s'usa per a crear un codi de barres per a ser imprès a un informe, a partir de dades contingudes en un camp.

## Apèndix A. Introducció a les bases de dades

- Què és una base de dades?

- Base de dades i full de càlcul

- Disseny de base de dades

- Qui necessita una base de dades?

- Programari de creació de bases de dades

### Què és una base de dades?

Podem definir una base de dades com una col·lecció de dades sobre un assumpte. Està organitzada de manera que permet trobar fàcilment la informació, fer-hi canvis o afegir-hi elements nous.

Mireu aquest diagrama per a un dels exemples de dalt: una simple agenda telefònica.

La imatge de dalt mostra un conjunt de dos contactes, cadascun dels quals es presenta com a una targeta separada. Sembla que cada targeta constitueix una línia en una taula:

### Taula de contactes

Nom | Núm. de telèfon
Joana | 799 23 43 12
Marc | 711 19 77 21

Termes i definicions: Una dada individual que constitueix una part d'una gran col·lecció se'n pot dir línia o, més professionalment, un registre. A la col·lecció se li diu normalment taula. Per altra part, el nom més natural per a la taula és un que descrigui les dades que ofereix/emmagatzema que és Contactes. A més, cada línia de la taula està composta per columnes sovint anomenades també camps. A la taula `Contactes` hi ha dues columnes (camps): Nom i Núm. de telèfon.

Per a usos simples, una única taula pot fer una base de dades. Molta gent considera aquestes dues equivalents. Com veureu, per a les bases de dades de debò, ens caldrà normalment més d'una taula.

Resumint, ja teniu una base de dades senzilla amb una taula `Contactes`.

Comproveu el contingut a

### Base de dades i full de càlcul

Molt probablement ja haureu usat aplicacions de full de càlcul com el Calligra Sheets, LibreOffice Calc o &Microsoft; Excel. Si és així, segurament us preguntareu: com que els fulls de càlcul i les bases de dades tenen taules, per què hauria d'usar aquestes?

Si compareu els fulls de càlcul amb les bases de dades, trobareu els següents assumptes que veurem més endavant en detall.

#### En què es diferencien una base de dades d'un full de càlcul?

Excedint gradualment la capacitat d'un telèfon mòbil, expandiu la vostra taula `Contactes` afegint-hi una columna (camp) `Adreça`. Afegiu-hi més números de telèfon (feina, casa) per a cada persona i afegiu-hi cognoms als noms. Per a fer-ho més simple, assumim el següent:

- La taula està limitada a dues persones (òbviament, hi podria haver centenars i milers d'elles en una base de dades real)

- No hi ha dues persones amb el mateix nom i cognom

#### Taula de contactes

Nom i cognom | Tel | Adreça
Joana Llopis | 799 23 43 12 | plaça de Catalunya, 1, Barcelona
Marc Vila | 711 19 77 21 | València, Joan Fuster, 5
Joana Llopis | 110 98 98 00 | plaça de Catalunya, 1
Llopis Joana | 312 43 42 22 | Barcelona, plaça de Catalunya, 1
MARC Vila | 231 83 02 04 | Joan Fuster, 5, València

Una taula com aquesta es pot fer tant amb un full de càlcul com amb una base de dades. Usar un full de càlcul és molt fàcil, és clar. Quins problemes trobem en aquest pas?

#### Integritat de dades referencial

Suposeu que feu servir un full de càlcul i que us cal canviar l'adreça d'almenys una persona. Teniu un petit problema: sovint heu de canviar l'adreça en moltes línies. Per exemple, Joana agafa tres línies. Tindreu un bon problema si oblideu de canviar alguna de les línies -l'adreça assignada a aquella persona serà ambigua, per tant, les vostres dades perden integritat.

A més, no hi ha cap manera simple d'esborrar una persona escollida de la taula en tant que heu de recordar de suprimir totes les línies relacionades amb ell o ella.

#### Redundància de dades

Això està connectat directament amb el problema anterior. En els camps Nom i cognom i Adreça s'introdueixen les mateixes dades moltes vegades. Això és típic de la manera ineficient d'emmagatzemar les dades que tenen els fulls de càlcul, perquè la base de dades creix innecessàriament, de manera que requereix més recursos informàtics (volum més gran de dades i accés més lent).

Com podeu solucionar aquests problemes amb una base de dades? Podeu dividir la informació en trossos més petits creant una taula addicional `Persones` amb només dues columnes: `Nom i cognom` i `Adreça`:

#### Taula persones

Nom i cognom | Adreça
Joana Llopis | plaça de Catalunya, 1, Barcelona
Marc Vila | Joan Fuster, 5, València

Cada línia de la taula `Persones` correspon a una `única persona`. La taula `Contactes` està des d'ara relacionada amb la taula `Persones`.

#### Integritat i validació de dades

Adoneu-vos de la manera en què s'introdueixen les dades en els camps `Nom i cognom` i `Adreça`. La gent introduint dades pot equivocar-se, de vegades fins i tot pot ser negligent. A les nostres dades de mostra, tenim diferents maneres d'introduir nom i cognom (Joana Llopis i Llopis Joana; Marc i MARC) i moltes més maneres d'introduir la mateixa adreça. Segur que podeu pensar en moltes altres maneres.

El problema de dalt mostra que en aquest exemple, quan se cerca el número de telèfon d'una persona l'adreça de la qual és «plaça de Catalunya, 1, Barcelona», no obteniu un resultat complet. Només obtindreu una línia, en comptes de tres. A més, tampoc no trobareu tots els números de telèfon cercant el valor «Joana Llopis» en el camp `Nom i cognom`, perquè «Llopis Joana» no encaixarà amb «Joana Llopis».

Com podeu solucionar aquests problemes usant una base de dades? Podeu fer-ho canviant el disseny de la taula `Persones`:

1. Dividint les dades del camp Nom i cognom en dos camps separats: `Nom` i `Cognom`.

2. Dividint les dades en el camp `Adreça` en tres camps separats: `Carrer`, `Número de casa` i `Ciutat`.

3. Garantint la correcció de les dades: assegurant-vos que no queden camps buits, per exemple, cal introduir sempre el número de casa.

Una taula modificada té aquest aspecte:

#### Taula persones

Nom | Cognom | Carrer | Número de casa | Ciutat
Joana | Llopis | plaça de Catalunya | 1 | Barcelona
Marc | Valls | Joan Fuster | 5 | València
Condicions
camp requerit | camp requerit | camp requerit | camp requerit | camp requerit

Gràcies a la introducció de la condició camp requerit, podem estar segurs que les dades introduïdes són completes. En el cas d'altres taules, podeu, naturalment, permetre l'omissió de certs camps a l'hora d'introduir les dades.

#### Limitant la vista de dades

Un full de càlcul mostra totes les línies i columnes de la taula, cosa que és molesta en cas de fulls molt grans. Podeu, és clar, filtrar i ordenar línies amb un full de dades, però heu de ser molt curós fent-ho. Els usuaris de fulls de càlcul s'exposen a oblidar que la vista de dades s'ha filtrat, el que pot portar a errades. Per exemple, quan es calculen sumes, podeu pensar que teniu 100 files de dades mentre que n'hi ha 20 amagades.

Si voleu treballar amb un conjunt petit de dades, &pex; enviar-lo a altres per a editar, podeu copiar i enganxar-lo en un altre full de càlcul i, després d'editar-lo, enganxar el resultat al full de càlcul principal. Aquesta edició «manual» pot causar pèrdues de dades o càlculs incorrectes.

Per a limitar la vista de dades les aplicacions de bases de dades ofereixen consultes, formularis i informes.

Una manera pràctica de limitar és la següent versió ampliada de la taula `Persones` descrita prèviament:

#### Taula persones

Nom | Cognom | Carrer | Número de casa | Ciutat | Entrada
Joana | Llopis | plaça de Catalunya | 1 | Barcelona | 2300
Marc | Valls | Joan Fuster | 5 | València | 1900

Assumim que la columna introduïda nova Entrada conté dades confidencials. Com podeu compartir, per exemple, detalls de contacte de persones amb els vostres companys de feina però sense revelar la seva entrada? És possible si només compartiu una consulta i no tota la taula. A la consulta es poden seleccionar totes les columnes excepte la d'Entrada. En el món de les bases de dades, a una consulta com aquestes se li diu sovint una visualització.

#### Rendiment i capacitat

Probablement, el vostre ordinador és bastant ràpid, però veureu fàcilment que no ajuda amb fulls de càlculs lents i grans. La seva poca eficàcia és deguda sobretot a la manca d'indexació que accelera en procés de cerca de dades (les bases de dades l'ofereix). A més, si useu coses com el sistema de porta-retalls, fins i tot copiar dades pot ser problemàtic amb el temps.

Els fulls de dades amb grans conjunts de dades poden trigar molt a obrir-se. Un full de dades carrega grans quantitats de dades a la memòria de l'ordinador mentre s'obre. La majoria de dades carregades són probablement innecessàries en el moment d'obrir. Les bases de dades, en canvi, carreguen les dades de l'emmagatzematge de l'ordinador només quan són necessàries.

La majoria de vegades, no us caldrà amoïnar-vos per com emmagatzema les dades la base de dades. Això vol dir que, contràriament als fulls de càlcul, les bases de dades no tenen en compte:

- La seqüència de línies des que podeu ordenar les línies d'acord amb les vostres necessitats. A més, podeu veure la mateixa dada en diverses vistes amb diferents ordres.

- El mateix serveix per a les columnes (camps) de la taula.

Juntament amb la Limitació de vista de dades descrites en paràgrafs previs, aquestes qualitats constitueixen l'avantatge de les bases de dades.

#### Introducció de dades

Les últimes edicions de les aplicacions per a crear fulls de càlcul us permeten de dissenyar formularis d'introducció de dades. Aquests formularis són més útils si les vostres dades no es poden visualitzar en vista tabular, &pex;, si els textos ocupen massa línies o si totes les columnes no hi caben a la pantalla.

En aquest cas, la mateixa manera en què treballa el full de dades és problemàtica. Els camps per a l'entrada de dades estan posats amb imprecisió i molt sovint no són segurs davant de la intervenció (no intencionada o accidental) dels usuaris.

#### Informes

Les bases de dades permeten l'agrupament, la limitació i el resum de dades en un formulari d'un informe. Els fulls de càlcul s'imprimeixen en forma de petites taules sense control automàtic complet sobre les divisions de pàgina i el format dels camps.

#### Programació

Les aplicacions per a crear bases de dades contenen sovint llenguatges de programació complets. Els fulls de càlcul nous també tenen aquesta capacitat, malgrat que els càlculs poden modificar els camps del full de càlcul i simples còpies de dades, sense tenir en compte la rellevància ni les regles d'integritat mencionades en altres paràgrafs.

El procés de dades en un full de càlcul es fa normalment via interfície gràfica d'usuari que pot alentir-ne la velocitat. Les bases de dades són capaces de treballar en segon pla, fora de les interfícies gràfiques.

#### Multiús

És difícil d'imaginar un multiús en un full de càlcul. Fins i tot si és tècnicament possible en el cas de les últimes aplicacions, requereix molta disciplina, atenció i coneixement per part els usuaris, i aquests no es poden garantir.

Una manera clàssica de compartir dades desades en un full de càlcul és enviar tot el fitxer (normalment per correu electrònic) o desant un fitxer de full de càlcul en una xarxa informàtica. Aquesta manera de treballar és ineficient per a grans grups de gent -les dades es poden necessitar en un determinat moment i poden estar blocades per una altra persona.

D'altra banda, les bases de dades estan dissenyades bàsicament amb l'accés multiusuari en ment. Fins i tot per a la versió més simple, és possible de blocar un nivell particular de fila en una taula, el que permet fàcilment compartir les dades de la taula.

#### Seguretat

Assegurar un full de càlcul o les seves seccions particulars amb una contrasenya és només una activitat simbòlica. Després de posar el full de càlcul en una xarxa informàtica, qualsevol persona que pugui copiar el fitxer pot trencar la contrasenya. De vegades no és tan difícil, ja que la contrasenya està emmagatzemada en el mateix fitxer del full de càlcul.

Les característiques per a blocar l'edició o la còpia d'un full de càlcul (o una part) són igualment fàcils de trencar.

Les bases de dades (excepte aquelles desades en un fitxer en lloc d'un servidor) no necessiten estar disponibles en un únic fitxer. Accediu a elles mitjançant una xarxa informàtica, normalment donant un nom d'usuari i una contrasenya. Només teniu accés a aquelles àrees (taules, formularis o fins i tot files i columnes seleccionades) que estan assignades al vostre perfil de drets d'accés.

Els drets d'accés poden afectar la possibilitat d'editar dades o només de llegir-ne. Si alguna dada no us està disponible, no se us enviarà al vostre ordinador, ja que no es poden copiar les dades de manera tan senzilla com en el cas dels fitxers de fulls de dades.

### Disseny de base de dades

Cal planificar curosament el disseny de la base de dades. Tingueu en compte que el redisseny de la taula `Persones` proposat a la secció Integritat de dades i validació pot generar problemes quan la taula està omplerta amb dades. Per exemple, reanomenar un camp és una tasca senzilla, però dividir el camp `Adreça` en camps separats requereix una feina curosa i tediosa.

Per a evitar aquestes situacions, repenseu el vostre projecte de base de dades abans de crear-lo en el vostre ordinador, i abans de començar a fer-lo servir. Així, invertint-hi un temps inicial, probablement estalviareu temps en l'ús diari.

### Qui necessita una base de dades?

#### Quedeu-vos amb els fulls de càlcul si:

- Les vostres necessitats estan limitades i les vostres dades no assoliran mai grans volums (de fet, podeu preveure-ho ara?)

- No sou capaços d'adquirir la metodologia de construcció de bases de dades. De tota manera, hauríeu de considerar subcontractar aquesta feina a algú altre o usar eines més simples.

- Feu servir fulls de càlcul complicats i no teniu temps o diners per a migrar a bases de dades. Penseu o pregunteu algú si això no us portarà a un carreró sense sortida. No compteu amb eines màgiques que canviarien el vostre full de càlcul (sense que importi com de ben feta estigui) en una base de dades.

#### Considereu d'usar bases de dades si:

- La vostra col·lecció de dades s'expandeix cada setmana.

- Creeu sovint fulls de càlcul nous, els copieu entre ells i sentiu que aquesta feina és cada cop més tediosa. En aquest cas, l'esforç de migrar a bases de dades paga la pena.

- Creeu informes i declaracions per als quals la vista de taula d'un full de càlcul no serveix. Podeu considerar la migració a una base de dades amb vistes de formulari.

### Programari de creació de bases de dades

Fins ara, heu après les característiques generals de les bases de dades sense entrar en gaire detall sobre les aplicacions específiques per a dissenyar-les.

Les primeres bases de dades es van construir amb ordinadors molt grans, com l'IBM System/360, en els anys 60. Aquests no eren els dies dels PC, i aquestes bases de dades requerien un personal altament especialitzat. Malgrat que el maquinari dels ordinadors antics era poc fiable, eren molt més lents i tenien molta menys capacitat d'emmagatzematge, una característica de les bases de dades segueix sent atractiva: l'accés de les dades per part de molts usuaris mitjançant una xarxa.

Als anys 70, els científics van formar la teoria de les bases de dades relacionals (termes com: taula, registre, columna (camp) i relació i molts d'altres). Les bases de dades d'IBM DB2 i Oracle es van crear basant-se en aquesta teoria que s'havia desenvolupat i que encara es fa servir avui. A finals dels anys 70, es va construir el primer PC. Els seus usuaris van poder utilitzar (gradualment) molts tipus d'aplicacions, incloent-hi les de construcció de bases de dades.

Quant a les grans bases de dades a les empreses, la situació no ha canviat: encara necessiten potents ordinadors o complexos informàtics anomenats clústers. Això queda, malgrat tot, més enllà del tema d'aquest manual.

Pel que fa a les bases de dades «accessibles» amb interfícies gràfiques d'usuari per a PC, podeu escollir entre les següents:

- DBase - una eina per a operacions de bases de dades per a DOS popular en els anys 80. Els fitxers en format DBase encara s'usen en alguns casos específics a causa de la seva simplicitat.

- FoxPro - una aplicació similar al DBase (principi dels 90). Des que les va agafar Microsoft, les interfícies gràfiques d'usuari es van introduir i es fan servir per a crear bases de dades en PC. Aquest producte encara s'ofereix, malgrat que sembla una mica obsolet.

- Microsoft Access - una aplicació per a bases de dades (disseny d'interfícies gràfiques i de dades) amb moltes simplificacions, però convenient per a principiants, dissenyada al final dels anys 80, basada en arquitectura de 16 bits. Aquest producte s'ofereix i s'usa fins avui àmpliament, especialment per empreses petites, on l'eficiència i els requisits de multiusuari no són molt forts.

- FileMaker - aplicació popular similar a MS Access en simplicitat, operant en plataformes Windows i Macintosh, ofert des de 1985.

- Kexi - una aplicació multiplataforma (&UNIX;/&Linux;, Windows, &MacOS; X) dissenyada el 2003, desenvolupada segons els principis del codi obert, part de la comunitat KDE global, que entre altres coses, proporciona un entorn gràfic pels sistemes &UNIX;/&Linux;. Un col·laborador significatiu del desenvolupament del Kexi és l'empresa OpenOffice Poland.

## Apèndix B. Comparació del Kexi amb altres aplicacions de base de dades

- Tipus de dades

### Tipus de dades

Malgrat que les diferents aplicacions de bases de dades tendeixen a oferir funcionalitats similars, usen sovint diferent terminologia. Per a la vostra comoditat, aquest apèndix mostra la terminologia usada en el &kexi; amb correspondències a la usada en altres aplicacions de bases de dades. Així, aquest capítol pot ser útil en processos de migració de bases de dades d'una aplicació a una altra.

La taula de sota mostra la correspondència dels tipus de dades en el &kexi; amb els tipus de dades a altres aplicacions de bases de dades.

Diversos tipus de dades llistats aquí són subtipus d'altres tipus. Per exemple, el tipus Text llarg és un subtipus del tipus Text. Per a usar un subtipus al &kexi;, cal seleccionar el tipus bàsic corresponent (en aquest cas, Text) al dissenyador de taules, i després seleccionar el subtipus usant el paràmetre Subtipus a l'Editor de propietats.

### Comparació de tipus de dades usades en el &kexi; i altres aplicacions de bases de dades

&kexi; | MS Access | dBase/FoxPro | Paradox
Text (Text) | Text | Caràcter | Alfanumèric
Text llarg (Text llarg) | Anotació | Anotació | Anotació
Data/Hora (Data/Hora) | Data, Hora | Data | DataHora
Nombre enter (Nombre enter) | Nombre (Enter) | Numèric | Enter
Nombre enter gran (Nombre enter gran) | Enter llarg | Numèric | Enter llarg
Coma (coma) | Precisió de nombre Simple/Doble | Flotant | Nombre

## Apèndix C. Paraules reservades pel SQL

Les llistes següents contenen paraules que són usades internament al &kexi; en gestionar fonts de dades.

En dissenyar la base de dades, cal evitar usar aquestes paraules reservades perquè en cas contrari podríeu acabar tenint problemes amb el fitxer de la base de dades o inclús corrompre'l.

Si encara voleu usar paraules reservades tanqueu-les amb marques de cita doble .

### Paraules reservades per l'SQL del Kexi

Aquesta llista conté paraules clau reservades per a l'ús a l'SQL del Kexi:

- AFTER

- ALL

- ASC

- BEFORE

- BEGIN

- BETWEEN

- BY

- CASCADE

- CASE

- CHECK

- COLLATE

- COMMIT

- CONSTRAINT

- CROSS

- DATABASE

- DEFAULT

- DELETE

- DESC

- DISTINCT

- DROP

- END

- ELSE

- EXPLAIN

- FOR

- FOREIGN

- FULL

- GROUP

- HAVING

- IGNORE

- INDEX

- INNER

- INSERT

- INTO

- KEY

- LIMIT

- MATCH

- NATURAL

- OFFSET

- ORDER

- OUTER

- PRIMARY

- REFERENCES

- REPLACE

- RESTRICT

- ROLLBACK

- ROW

- SET

- TEMPORARY

- THEN

- TRANSACTION

- UNION

- UNIQUE

- UPDATE

- USING

- VALUES

- WHEN

### Paraules reservades pel controlador SQLite del Kexi

Aquesta llista conté paraules clau reservades per a l'ús del controlador SQLite del Kexi:

- ABORT

- ATTACH

- CLUSTER

- CONFLICT

- DEFERRED

- DEFERRABLE

- DETACH

- EACH

- EXCEPT

- FAIL

- GLOB

- IMMEDIATE

- INITIALLY

- INSTEAD

- INTERSECT

- ISNULL

- NOTNULL

- OF

- PRAGMA

- RAISE

- STATEMENT

- TEMP

- TRIGGER

- VACUUM

- VIEW

### Paraules reservades pel controlador MySQL del Kexi

Aquesta llista conté paraules clau reservades per a l'ús del controlador MySQL del Kexi:

- ACTION

- ADD

- AGAINST

- AGGREGATE

- ALTER

- ANALYZE

- ANY

- ASCII

- AUTO_INCREMENT

- AVG

- AVG_ROW_LENGTH

- BACKUP

- BDB

- BERKELEYDB

- BIGINT

- BINARY

- BINLOG

- BIT

- BLOB

- BOOL

- BOOLEAN

- BOTH

- BTREE

- BYTE

- CACHE

- CHANGE

- CHANGED

- CHAR

- CHARACTER

- CHARSET

- CHECKSUM

- CIPHER

- CLIENT

- CLOSE

- COLLATION

- COLUMN

- COLUMNS

- COMMENT

- COMMITTED

- COMPRESSED

- CONCURRENT

- CONVERT

- CUBE

- CURRENT_DATE

- CURRENT_TIME

- CURRENT_TIMESTAMP

- CURRENT_USER

- DATA

- DATABASES

- DATE

- DATETIME

- DAY

- DAY_HOUR

- DAY_MICROSECOND

- DAY_MINUTE

- DAY_SECOND

- DEALLOCATE

- DEC

- DECIMAL

- DELAYED

- DELAY_KEY_WRITE

- DESCRIBE

- DES_KEY_FILE

- DIRECTORY

- DISABLE

- DISCARD

- DISTINCTROW

- DIV

- DO

- DOUBLE

- DUAL

- DUMPFILE

- DUPLICATE

- DYNAMIC

- ENABLE

- ENCLOSED

- ENGINE

- ENGINES

- ENUM

- ERRORS

- ESCAPE

- ESCAPED

- EVENTS

- EXECUTE

- EXISTS

- EXPANSION

- EXTENDED

- FALSE

- FAST

- FIELDS

- FILE

- FIRST

- FIXED

- FLOAT

- FLOAT4

- FLOAT8

- FLUSH

- FORCE

- FULLTEXT

- FUNCTION

- GEOMETRY

- GEOMETRYCOLLECTION

- GET_FORMAT

- GLOBAL

- GRANT

- GRANTS

- HANDLER

- HASH

- HELP

- HIGH_PRIORITY

- HOSTS

- HOUR

- HOUR_MICROSECOND

- HOUR_MINUTE

- HOUR_SECOND

- IDENTIFIED

- IF

- IMPORT

- INDEXES

- INFILE

- INNOBASE

- INNODB

- INSERT_METHOD

- INT

- INT1

- INT2

- INT3

- INT4

- INT8

- INTERVAL

- IO_THREAD

- ISOLATION

- ISSUER

- KEYS

- KILL

- LAST

- LEADING

- LEAVES

- LEVEL

- LINES

- LINESTRING

- LOAD

- LOCAL

- LOCALTIME

- LOCALTIMESTAMP

- LOCK

- LOCKS

- LOGS

- LONG

- LONGBLOB

- LONGTEXT

- LOW_PRIORITY

- MASTER

- MASTER_CONNECT_RETRY

- MASTER_HOST

- MASTER_LOG_FILE

- MASTER_LOG_POS

- MASTER_PASSWORD

- MASTER_PORT

- MASTER_SERVER_ID

- MASTER_SSL

- MASTER_SSL_CA

- MASTER_SSL_CAPATH

- MASTER_SSL_CERT

- MASTER_SSL_CIPHER

- MASTER_SSL_KEY

- MASTER_USER

- MAX_CONNECTIONS_PER_HOUR

- MAX_QUERIES_PER_HOUR

- MAX_ROWS

- MAX_UPDATES_PER_HOUR

- MEDIUM

- MEDIUMBLOB

- MEDIUMINT

- MEDIUMTEXT

- MICROSECOND

- MIDDLEINT

- MINUTE

- MINUTE_MICROSECOND

- MINUTE_SECOND

- MIN_ROWS

- MOD

- MODE

- MODIFY

- MONTH

- MULTILINESTRING

- MULTIPOINT

- MULTIPOLYGON

- NAMES

- NATIONAL

- NDB

- NDBCLUSTER

- NCHAR

- NEW

- NEXT

- NO

- NONE

- NO_WRITE_TO_BINLOG

- NUMERIC

- NVARCHAR

- OLD_PASSWORD

- ONE_SHOT

- OPEN

- OPTIMIZE

- OPTION

- OPTIONALLY

- OUTFILE

- PACK_KEYS

- PARTIAL

- PASSWORD

- POINT

- POLYGON

- PRECISION

- PREPARE

- PREV

- PRIVILEGES

- PROCEDURE

- PROCESS

- PROCESSLIST

- PURGE

- QUERY

- QUICK

- RAID0

- RAID_CHUNKS

- RAID_CHUNKSIZE

- RAID_TYPE

- READ

- REAL

- REGEXP

- RELAY_LOG_FILE

- RELAY_LOG_POS

- RELAY_THREAD

- RELOAD

- RENAME

- REPAIR

- REPEATABLE

- REPLICATION

- REQUIRE

- RESET

- RESTORE

- RETURNS

- REVOKE

- RLIKE

- ROLLUP

- ROWS

- ROW_FORMAT

- RTREE

- SAVEPOINT

- SECOND

- SECOND_MICROSECOND

- SEPARATOR

- SERIAL

- SERIALIZABLE

- SESSION

- SHARE

- SHOW

- SHUTDOWN

- SIGNED

- SIMPLE

- SLAVE

- SMALLINT

- SOME

- SONAME

- SOUNDS

- SPATIAL

- SQL_BIG_RESULT

- SQL_BUFFER_RESULT

- SQL_CACHE

- SQL_CALC_FOUND_ROWS

- SQL_NO_CACHE

- SQL_SMALL_RESULT

- SQL_THREAD

- SSL

- START

- STARTING

- STATUS

- STOP

- STORAGE

- STRAIGHT_JOIN

- STRING

- STRIPED

- SUBJECT

- SUPER

- TABLES

- TABLESPACE

- TERMINATED

- TEXT

- TIME

- TIMESTAMP

- TINYBLOB

- TINYINT

- TINYTEXT

- TRAILING

- TRUE

- TRUNCATE

- TYPE

- TYPES

- UNCOMMITTED

- UNICODE

- UNLOCK

- UNSIGNED

- UNTIL

- USAGE

- USE

- USER

- USER_RESOURCES

- USE_FRM

- UTC_DATE

- UTC_TIME

- UTC_TIMESTAMP

- VALUE

- VARBINARY

- VARCHAR

- VARCHARACTER

- VARIABLES

- VARYING

- WARNINGS

- WITH

- WORK

- WRITE

- X509

- YEAR

- YEAR_MONTH

- ZEROFILL

### Paraules reservades pel controlador PostgreSQL del Kexi

Aquesta llista conté paraules clau reservades per a l'ús del controlador «pqxx» del Kexi:

- ABORT

- ABSOLUTE

- ACCESS

- ACTION

- ADD

- AGGREGATE

- ALTER

- ANALYSE

- ANALYZE

- ANY

- ARRAY

- ASSERTION

- ASSIGNMENT

- AT

- AUTHORIZATION

- BACKWARD

- BIGINT

- BINARY

- BIT

- BOOLEAN

- BOTH

- CACHE

- CALLED

- CAST

- CHAIN

- CHAR

- CHARACTER

- CHARACTERISTICS

- CHECKPOINT

- CLASS

- CLOSE

- CLUSTER

- COALESCE

- COLUMN

- COMMENT

- COMMITTED

- CONSTRAINTS

- CONVERSION

- CONVERT

- COPY

- CREATEDB

- CREATEUSER

- CURRENT_DATE

- CURRENT_TIME

- CURRENT_TIMESTAMP

- CURRENT_USER

- CURSOR

- CYCLE

- DAY

- DEALLOCATE

- DEC

- DECIMAL

- DECLARE

- DEFAULTS

- DEFERRABLE

- DEFERRED

- DEFINER

- DELIMITER

- DELIMITERS

- DO

- DOMAIN

- DOUBLE

- EACH

- ENCODING

- ENCRYPTED

- ESCAPE

- EXCEPT

- EXCLUDING

- EXCLUSIVE

- EXECUTE

- EXISTS

- EXTERNAL

- EXTRACT

- FALSE

- FETCH

- FIRST

- FLOAT

- FORCE

- FORWARD

- FREEZE

- FUNCTION

- GLOBAL

- GRANT

- HANDLER

- HOLD

- HOUR

- ILIKE

- IMMEDIATE

- IMMUTABLE

- IMPLICIT

- INCLUDING

- INCREMENT

- INHERITS

- INITIALLY

- INOUT

- INPUT

- INSENSITIVE

- INSTEAD

- INT

- INTERSECT

- INTERVAL

- INVOKER

- ISNULL

- ISOLATION

- LANCOMPILER

- LANGUAGE

- LAST

- LEADING

- LEVEL

- LISTEN

- LOAD

- LOCAL

- LOCALTIME

- LOCALTIMESTAMP

- LOCATION

- LOCK

- MAXVALUE

- MINUTE

- MINVALUE

- MODE

- MONTH

- MOVE

- NAMES

- NATIONAL

- NCHAR

- NEW

- NEXT

- NO

- NOCREATEDB

- NOCREATEUSER

- NONE

- NOTHING

- NOTIFY

- NOTNULL

- NULLIF

- NUMERIC

- OF

- OFF

- OIDS

- OLD

- ONLY

- OPERATOR

- OPTION

- OUT

- OVERLAPS

- OVERLAY

- OWNER

- PARTIAL

- PASSWORD

- PATH

- PENDANT

- PLACING

- POSITION

- PRECISION

- PREPARE

- PRESERVE

- PRIOR

- PRIVILEGES

- PROCEDURAL

- PROCEDURE

- READ

- REAL

- RECHECK

- REINDEX

- RELATIVE

- RENAME

- RESET

- RESTART

- RETURNS

- REVOKE

- ROWS

- RULE

- SCHEMA

- SCROLL

- SECOND

- SECURITY

- SEQUENCE

- SERIALIZABLE

- SESSION

- SESSION_USER

- SETOF

- SHARE

- SHOW

- SIMPLE

- SMALLINT

- SOME

- STABLE

- START

- STATEMENT

- STATISTICS

- STDIN

- STDOUT

- STORAGE

- STRICT

- SUBSTRING

- SYSID

- TEMP

- TEMPLATE

- TIME

- TIMESTAMP

- TOAST

- TRAILING

- TREAT

- TRIGGER

- TRIM

- TRUE

- TRUNCATE

- TRUSTED

- TYPE

- UNENCRYPTED

- UNKNOWN

- UNLISTEN

- UNTIL

- USAGE

- USER

- VACUUM

- VALID

- VALIDATOR

- VARCHAR

- VARYING

- VERBOSE

- VERSION

- VIEW

- VOLATILE

- WITH

- WITHOUT

- WORK

- WRITE

- YEAR

- ZONE

### Paraules reservades pel controlador Oracle del Kexi

Aquesta llista conté paraules clau reservades per a l'ús del controlador Oracle del Kexi:

- ADMIN

- AFTER

- ALLOCATE

- ANALYZE

- ARCHIVE

- ARCHIVELOG

- AUTHORIZATION

- AVG

- BACKUP

- BECOME

- BEFORE

- BEGIN

- BLOCK

- BODY

- CACHE

- CANCEL

- CASCADE

- CHANGE

- CHARACTER

- CHECKPOINT

- CLOSE

- COBOL

- COMMIT

- COMPILE

- CONSTRAINT

- CONSTRAINTS

- CONTENTS

- CONTINUE

- CONTROLFILE

- COUNT

- CURSOR

- CYCLE

- DATABASE

- DATAFILE

- DATE

- DBA

- DEC

- DECLARE

- DISABLE

- DISMOUNT

- DOUBLE

- DUMP

- EACH

- ENABLE

- END

- ESCAPE

- EVENTS

- EXCEPT

- EXCEPTIONS

- EXEC

- EXECUTE

- EXPLAIN

- EXTENT

- EXTERNALLY

- FETCH

- FLUSH

- FORCE

- FOREIGN

- FORTRAN

- FOUND

- FREELIST

- FREELISTS

- FUNCTION

- GO

- GOTO

- GROUPS

- INCLUDING

- INDICATOR

- INITRANS

- INSTANCE

- INT

- KEY

- LANGUAGE

- LAYER

- LINK

- LISTS

- LOGFILE

- MANAGE

- MANUAL

- MAX

- MAXDATAFILES

- MAXINSTANCES

- MAXLOGFILES

- MAXLOGHISTORY

- MAXLOGMEMBERS

- MAXTRANS

- MAXVALUE

- MIN

- MINEXTENTS

- MINVALUE

- MODULE

- MOUNT

- NEW

- NEXT

- NOARCHIVELOG

- NOCACHE

- NOCYCLE

- NOMAXVALUE

- NOMINVALUE

- NONE

- NOORDER

- NORESETLOGS

- NORMAL

- NOSORT

- NUMERIC

- OFF

- OLD

- ONLY

- OPEN

- OPTIMAL

- OWN

- PACKAGE

- PARALLEL

- PCTINCREASE

- PCTUSED

- PLAN

- PLI

- PRECISION

- PRIMARY

- PRIVATE

- PROCEDURE

- PROFILE

- QUOTA

- READ

- REAL

- RECOVER

- REFERENCES

- REFERENCING

- RESETLOGS

- RESTRICTED

- REUSE

- ROLE

- ROLES

- ROLLBACK

- SAVEPOINT

- SCHEMA

- SCN

- SECTION

- SEGMENT

- SEQUENCE

- SHARED

- SNAPSHOT

- SOME

- SORT

- SQL

- SQLCODE

- SQLERROR

- SQLSTATE

- STATEMENT_ID

- STATISTICS

- STOP

- STORAGE

- SUM

- SWITCH

- SYSTEM

- TABLES

- TABLESPACE

- TEMPORARY

- THREAD

- TIME

- TRACING

- TRANSACTION

- TRIGGERS

- TRUNCATE

- UNDER

- UNLIMITED

- UNTIL

- USE

- USING

- WHEN

- WORK

- WRITE

### Paraules reservades pel controlador Sybase del Kexi

Aquesta llista conté paraules clau reservades per a l'ús del controlador Sybase del Kexi:

- ACTION

- ADD

- AGAINST

- AGGREGATE

- ALTER

- ANALYZE

- ANY

- ASCII

- AUTOINCREMENT

- AVG

- AVG_ROW_LENGTH

- BACKUP

- BDB

- BERKELEYDB

- BIGINT

- BINARY

- BINLOG

- BIT

- BLOB

- BOOL

- BOOLEAN

- BOTH

- BTREE

- BYTE

- CACHE

- CHANGE

- CHANGED

- CHAR

- CHARACTER

- CHARSET

- CHECKSUM

- CIPHER

- CLIENT

- CLOSE

- COLLATION

- COLUMN

- COLUMNS

- COMMENT

- COMMITTED

- COMPRESSED

- CONCURRENT

- CONVERT

- CUBE

- CURRENT_DATE

- CURRENT_TIME

- CURRENT_TIMESTAMP

- CURRENT_USER

- DATA

- DATABASES

- DATE

- DATETIME

- DAY

- DAY_HOUR

- DAY_MICROSECOND

- DAY_MINUTE

- DAY_SECOND

- DEALLOCATE

- DEC

- DECIMAL

- DELAYED

- DELAY_KEY_WRITE

- DESCRIBE

- DES_KEY_FILE

- DIRECTORY

- DISABLE

- DISCARD

- DISTINCTROW

- DIV

- DO

- DOUBLE

- DUAL

- DUMPFILE

- DUPLICATE

- DYNAMIC

- ENABLE

- ENCLOSED

- ENGINE

- ENGINES

- ENUM

- ERRORS

- ESCAPE

- ESCAPED

- EVENTS

- EXECUTE

- EXISTS

- EXPANSION

- EXTENDED

- FALSE

- FAST

- FIELDS

- FILE

- FIRST

- FIXED

- FLOAT

- FLOAT4

- FLOAT8

- FLUSH

- FORCE

- FULLTEXT

- FUNCTION

- GEOMETRY

- GEOMETRYCOLLECTION

- GET_FORMAT

- GLOBAL

- GRANT

- GRANTS

- HANDLER

- HASH

- HELP

- HIGH_PRIORITY

- HOSTS

- HOUR

- HOUR_MICROSECOND

- HOUR_MINUTE

- HOUR_SECOND

- IDENTIFIED

- IF

- IMPORT

- INDEXES

- INFILE

- INNOBASE

- INNODB

- INSERT_METHOD

- INT

- INT1

- INT2

- INT3

- INT4

- INT8

- INTERVAL

- IO_THREAD

- ISOLATION

- ISSUER

- KEYS

- KILL

- LAST

- LEADING

- LEAVES

- LEVEL

- LINES

- LINESTRING

- LOAD

- LOCAL

- LOCALTIME

- LOCALTIMESTAMP

- LOCK

- LOCKS

- LOGS

- LONG

- LONGBLOB

- LONGTEXT

- LOW_PRIORITY

- MASTER

- MASTER_CONNECT_RETRY

- MASTER_HOST

- MASTER_LOG_FILE

- MASTER_LOG_POS

- MASTER_PASSWORD

- MASTER_PORT

- MASTER_SERVER_ID

- MASTER_SSL

- MASTER_SSL_CA

- MASTER_SSL_CAPATH

- MASTER_SSL_CERT

- MASTER_SSL_CIPHER

- MASTER_SSL_KEY

- MASTER_USER

- MAX_CONNECTIONS_PER_HOUR

- MAX_QUERIES_PER_HOUR

- MAX_ROWS

- MAX_UPDATES_PER_HOUR

- MEDIUM

- MEDIUMBLOB

- MEDIUMINT

- MEDIUMTEXT

- MICROSECOND

- MIDDLEINT

- MINUTE

- MINUTE_MICROSECOND

- MINUTE_SECOND

- MIN_ROWS

- MOD

- MODE

- MODIFY

- MONTH

- MULTILINESTRING

- MULTIPOINT

- MULTIPOLYGON

- NAMES

- NATIONAL

- NDB

- NDBCLUSTER

- NCHAR

- NEW

- NEXT

- NO

- NONE

- NO_WRITE_TO_BINLOG

- NUMERIC

- NVARCHAR

- OLD_PASSWORD

- ONE_SHOT

- OPEN

- OPTIMIZE

- OPTION

- OPTIONALLY

- OUTFILE

- PACK_KEYS

- PARTIAL

- PASSWORD

- POINT

- POLYGON

- PRECISION

- PREPARE

- PREV

- PRIVILEGES

- PROCEDURE

- PROCESS

- PROCESSLIST

- PURGE

- QUERY

- QUICK

- RAID0

- RAID_CHUNKS

- RAID_CHUNKSIZE

- RAID_TYPE

- READ

- REAL

- REGEXP

- RELAY_LOG_FILE

- RELAY_LOG_POS

- RELAY_THREAD

- RELOAD

- RENAME

- REPAIR

- REPEATABLE

- REPLICATION

- REQUIRE

- RESET

- RESTORE

- RETURNS

- REVOKE

- RLIKE

- ROLLUP

- ROWS

- ROW_FORMAT

- RTREE

- SAVEPOINT

- SECOND

- SECOND_MICROSECOND

- SEPARATOR

- SERIAL

- SERIALIZABLE

- SESSION

- SHARE

- SHOW

- SHUTDOWN

- SIGNED

- SIMPLE

- SLAVE

- SMALLINT

- SOME

- SONAME

- SOUNDS

- SPATIAL

- SQL_BIG_RESULT

- SQL_BUFFER_RESULT

- SQL_CACHE

- SQL_CALC_FOUND_ROWS

- SQL_NO_CACHE

- SQL_SMALL_RESULT

- SQL_THREAD

- SSL

- START

- STARTING

- STATUS

- STOP

- STORAGE

- STRAIGHT_JOIN

- STRING

- STRIPED

- SUBJECT

- SUPER

- TABLES

- TABLESPACE

- TERMINATED

- TEXT

- TIME

- TIMESTAMP

- TINYBLOB

- TINYINT

- TINYTEXT

- TRAILING

- TRUE

- TRUNCATE

- TYPE

- TYPES

- UNCOMMITTED

- UNICODE

- UNLOCK

- UNSIGNED

- UNTIL

- USAGE

- USE

- USER

- USER_RESOURCES

- USE_FRM

- UTC_DATE

- UTC_TIME

- UTC_TIMESTAMP

- VALUE

- VARBINARY

- VARCHAR

- VARCHARACTER

- VARIABLES

- VARYING

- WARNINGS

- WITH

- WORK

- WRITE

- X509

- YEAR

- YEAR_MONTH

- ZEROFILL

### Paraules reservades pel controlador xBase del Kexi

Aquesta llista conté paraules clau reservades per a l'ús del controlador xBase del Kexi:

- ABORT

- ATTACH

- CLUSTER

- CONFLICT

- DEFERRED

- DEFERRABLE

- DETACH

- EACH

- EXCEPT

- FAIL

- GLOB

- IMMEDIATE

- INITIALLY

- INSTEAD

- INTERSECT

- ISNULL

- NOTNULL

- OF

- PRAGMA

- RAISE

- STATEMENT

- TEMP

- TRIGGER

- VACUUM

- VIEW

Les paraules reservades es mantenen separades per a cada controlador, de manera que també es poden usar com a referència.

## Apèndix D. Formats de fitxer admesos

### Valors separats per comes (CSV)

El &kexi; és capaç d'importar i exportar dades des de/a diversos formats de valors separats per comes (fitxers CSV). La majoria d'aplicacions de full de càlcul i base de dades poden importar i exportar en aquest format, fent que sigui un format apropiat per a migrar dades de text entre aplicacions diferents.

El &kexi; també admet diverses opcions que es poden configurar abans de portar a terme la importació:

- tipus de dada per a cada columna,

- altres delimitadors de camp com les tabulacions,

- cites de text diferents,

- indicar un nombre de registres que es poden ometre si cal,

- els delimitadors duplicats es poden ometre,

- els valors de la primera fila es poden usar per a definir com a nom de columnes,

- codificació de text (UTF-8 és el predeterminat),

- format de data (el definit pel sistema operatiu és el predeterminat),

- treure els blancs inicials i finals dels valors de text.

En importar, el &kexi; mostra una vista prèvia de les dades importades. El &kexi; detecta automàticament el conjunt més adequat d'opcions basant-se en el fitxer CSV proporcionat.

### Format de fitxer de Microsoft Access (MDB)

#### Vista general

La implementació per a importar bases de dades (2003 o més antigues) de Microsoft Access està integrat al &kexi;. Les bases de dades Access es poden importar només a una base de dades del &kexi;. No es pot usar per a editar la base de dades, ni per a exportar a una base de dades Access. Tanmateix, hauria de poder importar bases de dades creades per altres aplicacions que usin el motor de base de dades JET. Actualment no s'admet la importació de bases de dades `.accdb` introduïdes al MS Access 2007.

Per a importar una base de dades:

1. Al menú del &kexi; seleccioneu l'ordre Importa, exporta o envia....

2. Feu clic al botó Importa base de dades.

3. Useu l'assistent d'importació seleccionant el fitxer .mdb desitjat.

#### Funcionalitats

La funció d'importació s'ha usat satisfactòriament per a importar la base de dades Northwind, molt coneguda pels usuaris del MS Access. També es poden importar altres plantilles de bases de dades Access.

#### Característiques implementades

S'ha provat la importació dels tipus de camps següents, i generalment funciona bé:

- Camps de text

- Camps d'anotació

- Camps de dades

- Valors numèrics

#### Característiques no implementades

Actualment, només s'importen taules. Durant la importació el &kexi; omet els objectes següents:

- Consultes

- Formularis

- Scripts

- Informes

El següent no està provat:

- Importació d'objectes binaris

## Crèdits i llicència

&kexi; Copyright 2002-2012 L'equip del Kexi

Desenvolupadors del Kexi:

- Jaroslaw Staniek (staniek kde.org)

- OpenOffice Polska, LLC (info openoffice.com.pl)

- Lucijan Busch (lucijan kde.org)

- Cedric Pasteur (cedric.pasteur free.fr)

- Adam Pigg (adam piggz.fsnet.co.uk)

- Martin Ellis (martin.ellis kdemail.net)

- Sebastian Sauer (mail dipe.org)

- Christian Nitschkowski (segfault_ii web.de)

- Peter Simonsson (psn linux.se)

- Joseph Wenninger (jowenn kde.org)

- Seth Kurzenberg (seth cql.com)

- Laurent Montel (montel kde.org)

- Till Busch (till bux.at)

Documentació per Martin A. Ellis (martin.ellis kdemail.net), Jaroslaw Staniek (staniek kde.org) amb contribucions d'Anne-Marie Mahfouf, Raphael Langerhorst, Michal Kubicki i Aron Stansvik.

Aquest programa està llicenciat sota els termes de la llicència pública general reduïda de GNU (GNU Lesser General Public License).

Traductor/Revisor de la documentació: &credits.Antoni.Bella; i &credits.JosepMa.Ferrer;

&underFDL;
&documentation.index;