Professional Documents
Culture Documents
informació
Bases de dades per a aplicacions B2C
PID_00160565
Cap part d'aquesta publicació, incloent-hi el disseny general i la coberta, no pot ser copiada,
reproduïda, emmagatzemada o transmesa de cap manera ni per cap mitjà, tant si és elèctric com
químic, mecànic, òptic, de gravació, de fotocòpia o per altres mètodes, sense l'autorització
prèvia per escrit dels titulars dels drets.
© FUOC • PID_00160565 Gestió de la informació
Índex
Introducció.................................................................................................. 5
Objectius....................................................................................................... 6
Resum............................................................................................................ 48
Activitats...................................................................................................... 49
Exercicis d'autoavaluació........................................................................ 49
Solucionari.................................................................................................. 50
Glossari......................................................................................................... 52
Bibliografia................................................................................................. 54
© FUOC • PID_00160565 5 Gestió de la informació
Introducció
En els últims anys, les empreses han vist com Internet ha canviat la manera
d'actuar de molts dels seus processos, fent-los molt més eficients i rendibles,
i, al mateix temps, ha permès de millorar la relació i comunicació amb els
clients, empleats i proveïdors.
Per a una empresa d'avui en dia, l'adaptació als canvis que Internet li repre-
senta es converteix més en una necessitat que en una elecció. L'empresa que
no adopti o no sàpiga adoptar bé aquests canvis, perdrà avantatge competitiu
respecte als competidors que sí que l'hagin integrat en els seus processos.
Per a aconseguir utilitzar eficientment tots els avantatges que Internet ens ofe- Sistemes d’informació de
reix caldrà integrar bé tots els sistemes d'informació de l'empresa, fet que no l’empresa
és una tasca gens fàcil, ja que hi intervenen un gran nombre de processos ges- Recursos humans, gestió eco-
tionats per diferents persones i departaments, que molt sovint treballen aïllats nòmica, gestió de recursos,
etc.
els uns dels altres.
En aquest mòdul ens centrarem en dues parts del sistema d'informació global
de l'empresa: el subsistema responsable de permetre les operacions de venda
dels productes mitjançant la xarxa i l'encarregat d'oferir suport a la presa de
decisions, des d'un punt vista estratègic.
Objectius
El fet que la compra es realitzi a partir d'un seguit de fluxos d'informació, que
provenen d'ubicacions i agents diversos requereix un dipòsit de dades capaç
d'emmagatzemar i identificar unívocament cadascuna de les transaccions eco-
nòmiques que s'esdevenen a l'entorn web.
Un cop justificat l'ús de la tecnologia que cal emprar, ara veurem en quin
context se situen les aplicacions B2C i la informació que han de gestionar.
Hi ha diferents tipus de comerç electrònic. En aquest mòdul didàctic ens cen- Vegeu també
trarem en el comerç electrònic B2C que fàcilment introdueixen els dos agents
Per a més informació sobre
principals: l'empresa (B) i el client (C). Per tant, podem veure el comerç elec- el B2C (Business to Consu-
trònic B2C com la relació que s'estableix entre el client i l'empresa durant el mer) i altres classificacions
del comerç electrònic, vegeu
procés de compra. l'apartat "Tipus de comerç
electrònic" del mòdul didàctic
"Introducció al comerç electrò-
nic".
Atès que aquesta relació es produeix entre dos agents, l'analitzarem des dels
dos punts de vista, primerament des de la perspectiva de l'empresa i després
des del punt de vista del client.
Una aplicació per a vendre productes en l'entorn web ha de ser capaç de ges- Nota
tionar el catàleg de productes i facilitar-ne el manteniment. Això implica que
Per simplificar, el terme pro-
haurà de permetre donar d'alta productes, modificar-ne les característiques ducte l'utilitzarem indistinta-
(preu, descripcions, estoc), eliminar-los del catàleg i consultar la disponibilitat ment per a referir-nos a pro-
ductes i serveis.
d'existències en tot moment.
D'altra banda, pot resultar interessant conèixer altres dades relacionades amb
les comandes, com, per exemple, la data en què s'ha confeccionat la comanda,
el temps emprat a realitzar-la, el tipus de navegador utilitzat, etc.
Per exemple, pot ser útil disposar d'informació referent a les preferències dels seus cli-
ents i altres visitants, ja que, així, el venedor podrà adaptar la política de màrqueting de
l'empresa amb més garanties d'èxit.
Un altre exemple podria ser que l'empresa utilitzés aquesta informació per a segmentar
el mercat i, en conseqüència, poder oferir condicions especials per a diferents tipus de
clients (descomptes, promocions, etc.) i personalitzar el tracte amb el client.
(1)
Organitzarem la informació operativa en una base de dades convencional, que En anglès, entity relationship.
anomenarem base�de�dades�operativa. Aquesta base de dades es dissenyarà
segons el model entitat interrelació1 (ER) i utilitzant la tecnologia que oferei-
xen les bases de dades relacionals.
© FUOC • PID_00160565 10 Gestió de la informació
Per a aquest altre tipus d'informació, l'organització de les dades serà diferent
a la de la base de dades operativa, ja que la seva finalitat també és una altra.
Estem parlant de la base de dades estratègica o data�warehouse.
El fet d'aprofitar dades generades durant el temps de vida del negoci i utilit-
zar-les per a temes més estratègics i de personalització de tracte amb el client
no és nou. En les aplicacions B2C el fet que no hi hagi presència implica que
es coneix els clients exclusivament a partir de les dades històriques de les seves
compres, raó per la qual és fonamental tenir-les emmagatzemades.
Figura 1
Un cas possible
1. El client accedeix a la botiga virtual.
L'exemple, que tot seguit mos-
2. El venedor permet la visualització del seu catàleg de productes segons trem, no l'hem de prendre
com a model, ja que depenent
uns criteris de selecció. del tipus d'empresa admetrà
unes variants o unes altres.
L'hem de veure, tan sols, com
3. El client visualitza els productes d'acord amb un dels criteris de selec- un possible procés de compra.
ció, el que més s'ajusti a les seves necessitats.
Fixeu-vos que, en principi, hi intervenen dos agents (CLIENT, VENEDOR) i Vegeu també
diversos tipus i fluxos d'informació (dades de productes, comandes, pagament,
En el mòdul "Sistemes de pa-
etc.). gament electrònic" tractarem
de manera exclusiva el pas 10
de la figura anterior, en què el
De la figura 1, també en resulta clar que el desglossament de la seqüència client fa el pagament, i veurem
que en aquest pas s'afegeixen
s'ha realitzat depenent de l'agent que genera un nou flux a cada pas. Trobem altres agents com poden ser
un o dos bancs i passarel·les de
l'explicació en el fet que la transacció econòmica és suportada per un entorn pagament.
client-servidor.
peça clau del model, i les entitats�bancàries, agents intermediaris que inter-
venen puntualment en el procés de pagament i de les quals no pretenem fer
cap model de dades.
Vegeu també
Per tal de dissenyar la base de dades operativa utilitzarem els principis
de disseny d'una base de dades, el model ER i la seva transformació a El disseny de la base de da-
des operativa es farà seguint
relacional. la metodologia de disseny de
bases de dades estudiada a
l'assignatura Bases de dades I.
És un fet que totes les empreses comparteixen gran part del model de dades,
aproximadament un 50%, ja que la manera d'operar de totes aquestes es for-
ça comuna. En el cas que ens ocupa, empreses que venen els seus productes
per mitjà d'Internet (B2C), aquesta similitud pot arribar a ser superior al 75%,
fet que ens deixa un marge ben reduït per a variar el model de dades i fer-lo
exclusiu per a una empresa en concret.
Per això, modelarem les dades que intervenen en l'escenari de les aplicacions
B2C fent servir el model ER. El diagrama ER ens ajudarà a entendre el perquè
de certes relacions i atributs, atès que la raó de ser d'algun d'aquests es donarà
per la mateixa manera d'operar empresarial.
De manera general, hem vist que, en el tipus d'aplicacions que estem consi-
derant, els clients, per mitjà de la web, compren productes i que el mecanis-
me habitual per a encomanar els productes és mitjançant la confecció d'una
comanda. Per tant, resulta fàcil entendre que intervinguin en el model con-
ceptual les entitats següents: PRODUCTES, CLIENTS i COMANDES. Com que
l'escenari descrit en l'apartat anterior és força més complex, desenvoluparem
el diagrama ER a partir d'aquestes entitats assenyalades com a rellevants.
© FUOC • PID_00160565 15 Gestió de la informació
Observeu en el diagrama ER que l'entitat IDIOMA és la que s'interrelaciona amb un nombre d'entitats més gran.
Com que la base de dades ha de guardar cada descripció en més d'un idioma
i un dels principis del bon disseny de les bases de dades consisteix a evitar la
redundància de dades, s'ha fet necessari considerar noves entitats per a guardar
una única vegada cada descripció en cada idioma.
© FUOC • PID_00160565 16 Gestió de la informació
Client
Clients no registrats
Els clients no�registrats compren sense que l'aplicació els reconegui, per
tant, malgrat que comprin diverses vegades, es consideren com si fossin Per aquest motiu, el client hau-
rà d'introduir les seves dades
clients diferents. personals i d'enviament cada
vegada que confeccioni una
comanda.
Els clients registrats són aquells dels quals la base de dades conté la in-
formació següent: dades personals, dades sobre el seu historial de com-
pres i dades addicionals per a identificar-lo en cas que oblidi el seu codi
secret.
L'avantatge per a l'usuari registrat és que podrà estalviar-se d'omplir els formu-
laris corresponents a les dades personals i d'enviament en el procés de compra
i que el sistema, en identificar-lo, li pot oferir ofertes depenent de les seves
preferències.
Atès que els clients poden ser d'un d'aquests dos tipus, registrats i no regis-
trats, sembla lògic que conceptualment es representi mitjançant una jerarquia
d'especialització-generalització disjunta i total.
Dels clients registrats, és interessant que l'aplicació pugui tenir en compte Classificació dels clients
les seves preferències. Aquesta informació, pel fet de ser estratègica, també
Es podrà classificar els clients
s'emmagatzemarà en la base de dades estratègica. En la base de dades operaci- segons diferents agrupacions,
onal normalment guardarem informació sobre clients que servirà per a establir per exemple, preferents i no
preferents, per pertànyer a una
una classificació de clients per tipus i oferir-los, així, descomptes per a grups determinada associació, etc. El
sistema permetrà d'oferir des-
o col·lectius. Si la manera d'operar de l'empresa té en compte aquesta classifi- comptes personalitzats a cada
agrupació.
cació i volem evitar la redundància de dades, haurem de separar en el mòdul
conceptual de dades l'atribut tipus de client de la resta d'atributs del client, que
són específics de cadascun. D'aquí la necessitat de l'entitat TIPUS CLIENT que
conté els atributs que comparteixen tots els clients d'un mateix tipus.
Figura 3
PRODUCTE
Com que l'aplicació ha d'oferir la màxima flexibilitat als clients per a localitzar
el producte que desitgen, cal que els productes, de la mateixa manera que hem
fet amb els clients, es puguin classificar atenent a característiques comunes.
A l'entitat TIPUS PRODUCTE es guarden totes les dades comunes a tots els
productes d'un mateix tipus, i aquesta entitat s'interrelaciona amb PRODUCTE
mitjançant la interrelació PERTÀNYER.
diversos criteris de cerca, cal possibilitar diferents formes d'accés Per aquesta
raó, cal que els diferents tipus de producte es puguin relacionar els uns amb
els altres, de manera que sigui possible establir-hi relacions, de producte més
genèric o més especialitzat. D'aquí la interrelació reflexiva CLASSIFICACIÓ,
que també és M-N, i amb opcionalitat a les dues bandes, ja que per cada parella
de tipus de producte hi pot haver relació o no amb altres instàncies de tipus
de producte.
Si el producte que cal vendre fos un llibre que vingués identificat pel seu International
Standard Book Number (ISBN), també es podria classificar per àmbit temàtic. De més ge-
neral a més específic, podríem catalogar-lo com a llibre tècnic; dins dels llibres tècnics
estaria en l'àmbit de la informàtica i més concretament en una àrea de coneixement dins
de la informàtica, posem per cas, les bases de dades.
Com que les dades referents a productes hauran d'aparèixer tant en el catàleg
que es presenta al client com en la comanda, caldrà que tots aquells atributs
de producte que siguin de tipus text i s'hagin de presentar en diferents idiomes
se separin de l'entitat PRODUCTE, evitant així redundància de dades.
Anàlogament al que hem comentat per als tipus de client, els tipus de producte
també tenen una descripció que interessa emmagatzemar en els diversos idi-
omes. Per tant, la interrelació DESC_TIP_PROD estableix la interrelació entre
TIPUS PRODUCTE i IDIOMA. Justament, com a atribut d'interrelació tindríem
la descripció del tipus de producte en l'idioma que correspongui, i els atributs
comuns a tots els productes del mateix tipus que no calgués traduir anirien a
l'entitat TIPUS PRODUCTE.
Figura 4
© FUOC • PID_00160565 19 Gestió de la informació
COMANDA
Una comanda tindrà, a més de les dades dels productes seleccionats, les da- Clients registrats
des de facturació (a qui enviar la factura) i d'enviament (a qui s'envien els
En el cas de clients registrats es
productes de la comanda). Aquestes dades les guardarem en una altra entitat podran recuperar les dades de
FACTURA_ENVIAMENT que s'interrelacionarà amb COMANDA en grau 1-N. facturació i enviaments de co-
mandes anteriors.
Tal com hem esmentat abans, la comanda conté molta informació i, com és
habitual, distingim entre capçalera�de�la�comanda i línia�de�comanda.
Dins l'argot que s'utilitza en el món web, la comanda correspondria al "carro, bossa o
cistell d'anar a comprar" que tots estem acostumats a veure en les botigues virtuals i cada
producte dins el "cistell" correspondria a una línia de comanda.
© FUOC • PID_00160565 20 Gestió de la informació
Un altre cop, hem de considerar l'efecte que té la diversitat d'idiomes sobre les
dades de la comanda que tenen valors textuals diferents per a cada idioma.
Caldrà mostrar la informació sobre l'estat de la comanda en l'idioma del Estat de la comanda
client i, per tant, convé tenir-la deslligada de la capçalera de la coman-
L'estat de la comanda indica
da. Com que hi pot haver moltes comandes en un mateix estat i una co- en quin punt del procés de
manda en tot moment té un únic estat, la interrelació entre COMANDA i compra es troba. És interessant
que el client el pugui consultar
ESTAT_COMANDA és 1-N. La mateixa consideració serveix per a les dades re- en qualsevol moment, per sa-
ber si encara està pendent, re-
ferents a la forma d'enviament (FORMA_ENVIAMENT) i a la forma de paga- tingut, en procés, etc.
ment (FORMA_PAGAMENT). Totes aquestes entitats que contenen informació
descriptiva de la comanda depenent de l'idioma es relacionarien amb l'entitat
IDIOMA amb grau N-M, tal com hem vist prèviament en descriure l'entorn de
les entitats CLIENT i PRODUCTE.
Figura 5
IDIOMA
Qualsevol entitat que estigui relacionada amb idioma mitjançant una interre-
lació M-N contindrà els atributs d'interrelació que són la descripció de l'atribut
en qualsevol idioma.
Codificació d'idiomes
Codificació d'idiomes
Suposem l'entitat ESTAT_COMANDA que pot tenir tres estats possibles –pendent, en pro-
cés i retinguda, codificats respectivament pels codis 10, 20 i 30. Aleshores, la interrelació Una possible codificació
DESC_ESTAT contindria per a cada idioma la traducció de cadascun dels valors possibles d'idiomes podria ser:
de l'atribut que descriu l'estat. Per a l'estat 10 en l'idioma 0 (català), el valor de l'atribut 0 Català
seria "pendent", per a l'idioma1 (castellà), "pendiente" i per a l'idioma 02 (anglès) "pending"; 1 Castellà
per a l'estat 20 en l'idioma 0 el valor associat seria "en procés", en l'idioma 1 "en proceso" 2 Anglès
i en l'idioma 2 "processing", etc. 3 Francès
...
© FUOC • PID_00160565 21 Gestió de la informació
En el nostre cas farem servir les bases de dades relacionals, per tant, en aquesta Vegeu també
etapa obtindrem un conjunt de relacions amb els seus atributs, claus primàries
Vegeu l'apartat "Disseny lògic:
i foranes. la transformació del model ER
al model relacional" del mòdul
"Introducció al disseny de base
Traduirem el model conceptual per parts, considerant l'entorn de les entitats de dades", de l'assignatura Ba-
ses de dades I.
destacades (CLIENTS, PRODUCTE, COMANDA i IDIOMA).
CLIENT
CLIENT (id_client)
CLIENT_NO_REGISTRAT (id_client)
on {id_client} referencia CLIENT
Gràficament podem veure aquesta part del disseny lògic tal com es mostra a
continuació:
Figura 6
PRODUCTE
Observeu que, tal com passava amb la descripció tipus de client, la diversitat
d'idiomes fa que s'hagin de relacionar els productes (PRODUCTE) o tipus de
productes (TIPUS_PRODUCTE) amb les descripcions per a cada idioma, fet que
dóna lloc a les respectives DESC_PROD i DESC_TIP_PROD.
Podeu veure la representació gràfica d'aquesta part del disseny lògic a conti-
nuació:
© FUOC • PID_00160565 24 Gestió de la informació
Figura 7
COMANDA
ESTAT_COMANDA (id_estat)
FORMA_ENVIAMENT (id_enviament)
FORMA_PAGAMENT (id_pagament)
Figura 8
IDIOMA
Com que nosaltres no fixem cap SGBD, sinó que donem orientacions generals,
aquesta etapa no la desenvoluparem. Únicament, després d'haver detallat els
processos que consulten i actualitzen les dades i sabent els camins d'accés que
s'utilitzaran, i també les freqüències d'execució, podrem desenvolupar aquesta
etapa per un marc de referència concret.
Dels diferents mecanismes dels quals disposa una base de dades per a gesti- Vegeu també
onar la informació (vistes, procediments emmagatzemats i disparadors), bà-
Per a més informació sobre
sicament n'utilitzaren els procediments, i, en alguns casos, els disparadors. aquests conceptes vegeu
Les vistes no s'utilitzen perquè la majoria d'operacions requereixen paràmetres l'apartat "Components de
Control" del mòdul "Compo-
d'entrada. nents lògics d'una base de da-
des de Bases de dades II.
© FUOC • PID_00160565 28 Gestió de la informació
També hem de tenir en compte que certes operacions s'han de fer com a unitat Vegeu també
bàsica de treball a efectes de concurrència i integritat. Per exemple, una alta
Vegeu el mòdul "Transaccions
de producte implica la inserció a dues taules, la taula de PRODUCTES i la taula en les bases de dades", del ma-
DESC_PROD i, en conseqüència, caldrà definir una transacció que contingui terial didàctic de Bases de da-
des II.
ambdues operacions i asseguri la consistència de la base de dades.
Manteniment�del�catàleg�de�productes
1) Altes
Aquestes dues operacions permeten d'inserir les dades d'un producte (caracte- Exemples d'altes d'un
rístiques i descripcions) en el catàleg. La primera operació fa una inserció a la producte
taula DESC_PROD afegint les descripcions referents al producte en un idioma. alta_producte_atribut (30, 1,
25, 100, 100, 10)
Dóna d'alta el producte amb
La segona operació afegeix, a la taula PRODUCTE, les dades que són indepen- preu 30 euros, en oferta, amb
preu d'oferta 25 euros, amb
dents de l'idioma. Noteu que són necessàries ambdues operacions per a fer
estoc inicial i actual de 100
efectiva l'alta d'un producte i que s'hauran d'executar en una única transacció. unitats i amb estoc de notifica-
ció de 10 unitats.
altra_producte_desc (56, 1,
A continuació veurem operacions que permetran de jerarquitzar els diferents ‘sql server 2000', ‘microsoft sql
server 2000 claro y conciso)
tipus de productes de més genèrics a més específics. Dóna d'alta les descripcions
curta i llarga del producte amb
id_producte 56 i amb el codi
id_idioma 1.
alta_tipus_producte_desc (id_tipus_producte,id_idioma,descripcio,dte)
Exemple d'altes
Suposem que el sistema els assigna els id_tipus_producte 101, 102 i 103 i 104 respecti-
vament
alta_classifica_producte (NULL,101)
alta_classifica_producte (NULL,102)
alta_classifica_producte (101,103)
alta_classifica_producte (101,104)
Aquestes operacions afegiran dos tipus de productes (informàtica i biologia) al nivell su-
perior de la jerarquia (que s'indica amb el id_tipus_genèric igual a 0). Després s'han donat
d'alta dos tipus de producte: sistemes operatius (id_tipus_producte 103) i sistemes gestors
de bases de dades (id_tipus_producte 104) que tenen com a grup genèric informàtica.
2) Baixes
Exemple de baixes
baixa_producte (id_producte)
baixa_producte (56), dona-
rà de baixa el producte amb
id_producte 56 sempre i quan
L'operació baixa_producte permetrà d'eliminar el producte del catàleg. ho permetin les restricions
d'integritat referencial.
D'una banda, suprimirà el registre de la taula PRODUCTE corresponent al
id_producte especificat i de l'altra, suprimirà les descripcions associades al pro-
ducte en els diferents idiomes. Exemple de modificació
modifica_producte_desc
3) Modificacions (56,1,‘sql server 2000', ‘micro-
soft sql server 2000 claro y fia-
ble)
modifica_producte_atribut
modifica_producte_desc (id_producte, id_idioma descripcio_curta, (56, 32, 1, 28, 100, 100, 10)
descripcio_llarga)
Consultes�del�catàleg�de�productes
Exemple
productes_tipus (id_tipus_producte, id_idioma)
Aquesta operació permetrà d'obtenir les dades dels productes a partir d'algun
dels seus agrupaments i de l'idioma corresponent. Per tant, el resultat d'aquesta
operació retorna un conjunt de registres (recordset). En idioma català (codi 0) i en el cas dels
llibres d'informàtica-sistemes operatius
(codi 103), la crida seria productes_tipus
(103,0) i el retorn del procediment seria
el conjunt de registres (recordset) que
Per a poder sol·licitar els productes d'un determinat tipus, el client ha de poder compleix els criteris.
L'usuari també voldrà consultar les dades de productes segons altres caracte-
rístiques diferents del tipus de producte. Algunes possibles operacions serien:
Altre cop, les operacions descrites requereixen paràmetres d'entrada i, per això,
s'implementaran mitjançant procediments�emmagatzemats.
Actualització�d'estocs
Confecció�i�gestió�de�comandes
1)�Afegir�un�producte�a�la�comanda.
© FUOC • PID_00160565 32 Gestió de la informació
El client pot, en qualsevol moment, modificar les unitats dels productes que
cal comprar:
Aquesta operació permetrà que el client pugui canviar les unitats de cadascun
dels productes de dins la bossa, de manera que s'haurà de passar com a parà-
metre el codi de línia i l'id_comanda, que identifica unívocament cada línia
de la bossa.
3)�Eliminar�una�línia�de�comanda.
Exemple d'eliminació de
elimina_comanda (id_linia, id_comanda) comanda
4)�Modificar�informació�d'una�comanda.
Exemple de modificació de
resultat_economic_comanda (id_comanda, num_transaccio, comanda
data_transaccio, id_resultat_transaccio
resultat_economic_comanda
(42, 134543, ‘01/01/2001', 0)
La comanda amb id_comanda
Quan canvia l'estat de la comanda també cal actualitzar el camp id_estat_co- 42, té el número de transac-
ció 134543 amb da-
manda. L'operació corresponent seria la següent: ta ‘01/01/2001' i amb
l'id_resultat_transaccio 0 que
vol dir que s'ha fet correcta-
ment.
estat_comanda (id_comanda, id_estat)
Per exemple
Observeu que el venedor farà aquesta darrera operació per mitjà de la xarxa estat_comanda (42, 101) in-
privada (intranet). dica que la comanda amb
id_comanda 42 passa a tenir
l'estat corresponent a l'id_estat
101, per exemple, "en procés".
5)�Presentació�de�les�dades�de�la�comanda.
dades_comanda (id_comanda)
Aquesta operació extreu totes les dades relatives a la comanda. Per tant, retor-
narà un conjunt de registres.
Observem que les operacions que manipulen la comanda es fan des de la xarxa
pública, a excepció del canvi d'estat de la comanda. Totes requereixen parà-
metres d'entrada i, per tant, s'implementaran mitjançant procediments�em-
magatzemats.
© FUOC • PID_00160565 34 Gestió de la informació
2.3.3. Clients
Manteniment�de�les�dades�personals
Aquest manteniment es pot fer tant des de la xarxa� pública, en què cada
usuari podrà gestionar les seves dades, com des de la xarxa�privada, en què
el venedor podrà fer modificacions sobre les dades de qualsevol client.
data_naixement, estat_civil)
baixa_client (idclient)
Gestió�de�les�contrasenyes
© FUOC • PID_00160565 35 Gestió de la informació
Per restringir l'accés a la base de dades per mitjà de la xarxa pública, es pot
utilitzar un procés d'autenticació via usuari i contrasenya. En aquest cas,
l'aplicació oferirà als clients la possibilitat de canviar la contrasenya personal
i de recordar-la en cas d'oblit.
1) Canvi de la contrasenya.
2) Recordatori de la contrasenya.
mostra_pregunta (email)
verifica_resposta(email, resposta)
Autenticació�del�client
(2)
Quan un client entra a la xarxa�pública dins l'àrea clients, s'ha de comprovar Recordeu que en aquest cas par-
2 ticular prenem l'e-mail com a login.
que l'adreça de correu electrònic i la contrasenya corresponguin a un client
vàlid de la taula de CLIENTS.
descompte_client (idclient)
Seguiment�de�les�compres
Tota aquesta informació ens serà útil per poder oferir condicions particulars,
depenent dels valors d'aquests camps; així, per exemple, podríem oferir un
descompte especial als clients que ens han comprat més d'un cert import, als
que fa més de dos mesos que no ens han comprat res, als que ens han comprat
més d'un cop dins la mateixa setmana, etc.
Considerem aquest tipus d'informació com a operativa, ja que ens serveix per a
les operacions diàries de l'empresa. Per a actualitzar aquests camps del registre
de clients es farà ús dels disparadors.
data_primera_compra (idclient)
data_darrera_compra (idclient,data)
numero_compres (idclient)
© FUOC • PID_00160565 37 Gestió de la informació
Ara que ja coneixem la part operativa d'una aplicació B2C, ens centrarem en la
part de suport a la presa de decisions. Veurem que la base de dades estratègica
ha de servir als responsables de l'empresa per a prendre decisions. L'objectiu
d'aquesta base de dades és transformar informació en accions i idees útils per
a incrementar la productivitat del negoci.
Us imagineu que la base de dades que coneixem pugui donar resposta a pre-
guntes com les següents?
• Quins han estat els productes més venuts durant els diferents trimestres
de l'any passat?
Per a respondre a la primera pregunta, cal que disposem d'informació�histò- Primera pregunta
rica. La nostra base de dades operativa guardarà informació de les vendes du-
Quins han estat els productes
rant els darrers seixanta o noranta dies, marge de temps insuficient per a ex- més venuts durant els diferents
trapolar el comportament de les vendes i planificar l'aprovisionament futur. trimestres de l'any passat?
La segona pregunta es formularia per a analitzar els resultats obtinguts com Segona pregunta
a conseqüència d'una determinada acció vers el mercat, per a veure l'efecte
Quin efecte ha tingut una de-
produït i plantejar-se de fer més campanyes publicitàries o no, o, si més no, per terminada campanya publicità-
ria sobre les vendes?
© FUOC • PID_00160565 39 Gestió de la informació
La tercera pregunta respon a una anàlisi dels clients de l'empresa per zona, Tercera pregunta
àrea o país. Aquesta anàlisi ens permetrà d'arribar a conèixer les preferències
Com podem segmentar el
de compra dels nostres clients segons la zona geogràfica i així poder oferir mercat depenent de les com-
promocions per àrea o zona. pres realitzades pels clients de
cada àrea, zona o país?
(3)
L'anàlisi de dades s'ha de fer a partir d'informació estable, no canviant, com és Les sigles OLTP corresponen en
anglès a On-line Transaction Process
el cas de la informació que conté la base de dades operativa. És per això que ens
(‘transaccions en línia').
plantegem la necessitat de considerar dos entorns: l'entorn OLTP3, suportat
(4)
per la base de dades operativa, i l'entorn OLAP4, suportat per la base de dades Les sigles OLAP corresponen en
anglès a On-line Analysis Process
estratègica. Tots dos dipòsits tenen finalitats diferents i, per tant, s'estructuren (‘anàlisi en línia').
de manera diferent.
Veiem amb una mica més de deteniment aquests trets característics del data
warehouse.
Orientat�a�les�àrees�d'interès�de�l'empresa
© FUOC • PID_00160565 40 Gestió de la informació
L'organització de les dades es fa a partir dels fets que es desitja analitzar (ven-
des, clients, enviaments, etc.), no a partir dels processos que fan les aplicaci-
ons. Això fa que el disseny i la representació de les dades s'orienti als fets o
àrees de negoci que es vol estudiar, emmagatzemant només aquelles dades que
ens són útils per a prendre decisions.
Integració�de�dades
De�temps�variant
No�volatilitat
Per a prendre decisions cal basar-se en dades estables. El data warehouse només
admet dos tipus d'operacions: la càrrega de dades i l'obtenció de dades. No
existeix l'operació d'actualització; si alguna dada de resum canvia, s'afegeix la
nova informació amb el corresponent estampillat de temps, per tal de disposar
de l'historial.
© FUOC • PID_00160565 41 Gestió de la informació
Figura 9
Fixeu-vos que el data warehouse s'alimenta a partir de la base de dades operativa, informació històrica i dades d'altres
departaments o aplicacions de l'empresa, i que, a partir d'aquesta, s'extrau informació per als diferents departaments, per a
aplicacions de comerç electrònic, CRM, ERP, per a fer anàlisi estadística, etc.
BD operacional Data�warehouse
Disseny orientat a l'aplicació Disseny orientat a les àrees d'interès del negoci
A partir d'ara, quan fem referència al data warehouse, ens referirem a aquella
part de la base de dades estratègica que s'alimenta de la base de dades operaci-
onal. Concretament, ens referirem a les dades de la base de dades operacional
útils per a analitzar les vendes, les tendències dels clients, etc.
© FUOC • PID_00160565 42 Gestió de la informació
Triarem com a àrea d'interès les vendes i, per tant, dissenyarem un data
warehouse que permeti d'analitzar les vendes des de diferents dimensi-
ons.
Hem vist que, en definir el data warehouse, un dels seus trets característics és
que s'orienta a una àrea d'interès o fet; en el nostre cas hem triat les vendes.
També hem vist que incorpora el component temporal en tota la informació
que emmagatzema, fet que facilita l'anàlisi de vendes per períodes de temps
que ajudarà a descobrir evolucions i tendències en les vendes. Però una anàlisi
profunda d'un fet implica tenir en compte més dimensions En el nostre cas, és
fàcil adonar-se que és necessari considerar altres dimensions com el producte
i el client.
Tenim, per tant, tres�dimensions que cal estudiar en les vendes: client,
producte i temps.
Figura 10
Observem que cada element del cub (minicub) conté un valor de les vendes per a un client particular, un producte concret i un
punt de temps concret.
Si volguéssim afegir una dimensió més al fet vendes, per exemple, l'àrea o zona,
el cub ja no ens serviria com a representació. Aleshores podríem fer servir un
dibuix com el següent:
© FUOC • PID_00160565 43 Gestió de la informació
Vendes (id_client,�id_producte,�id_temps,�id_area,
quantitat, import)
4) La clau primària del fet és una clau composta per totes les claus primàries
de cadascuna de les dimensions. Aquesta taula és la més consultada, ja que
conté tots els fets reals que es volen analitzar, i les claus foranes d'altres taules
que formen part de la clau primària solen ser útils per a fer agrupacions segons
les dimensions.
Un cop construït un data warehouse, tenim identificats els fets que cal analitzar
i les dimensions des de les quals el volem estudiar. El pas següent consisteix a
determinar el mecanisme d'alimentació del data warehouse.
Seguim amb l'exemple del nostre data warehouse orientat a les vendes. En
aquest cas, tenim tota la informació que necessitem per a alimentar-lo a la
base de dades operativa.
© FUOC • PID_00160565 45 Gestió de la informació
Un dels problemes inicials que es presenta és la unificació de criteris a l'entorn Què s'entén per venda?
de la definició dels fets. Ens trobem que no hi ha cap taula anomenada VEN-
Fixeu-vos que, per al departa-
DES ni cap atribut amb aquest nom, però sabem que les vendes esdevenen ment de vendes, una venda
després d'haver-se confeccionat una comanda que passa per diversos estats es produeix quan el client vali-
da una comanda; per al depar-
fins a considerar-se servida. Des del punt de vista estratègic, cal determinar tament de logística, quan es
rep l'ordre d'enviar la coman-
què s'entén per venda i, un cop aclarit aquest punt, podrem determinar qui- da al destinatari; per al depar-
tament de comptabilitat, quan
nes dades de la base de dades operativa seran considerades vendes i, per tant, es comprova el pagament de
podran passar a formar part de les files de la taula de fets. la comanda, etc. Com veiem,
hi ha diferents formes de veure
una venda, depenent del punt
de vista des d'on es miri.
El que resulta clar és que les vendes estan estretament relacionades amb les co-
mandes, i sabem que tota comanda té un estat que indica en quin punt es troba
(pendent, en procés, enviada, pagada, etc.). El valor del camp estat_comanda
ens ajudarà a determinar quan una comanda es considera venda des del punt
de vista estratègic.
La càrrega del data warehouse no es realitza cada vegada que es produeix un fet a
l'entorn operacional, sinó que es fa quan es disposa de prou dades significatives
que ajudarien a prendre millor les decisions. Aquest és el motiu pel qual les
taules temporals van emmagatzemant informació, que, en el moment en què
es determini, passaran a formar part del data warehouse.
En el nostre cas, només hem considerat una única font de dades, la base de Càrrega del data
dades operativa, però es podria donar el cas en què calgués informació d'altres warehouse
fonts, per exemple, les dades d'un altre departament. Aleshores, hi ha altres Imaginem que el data ware-
consideracions que cal tenir en compte, com ara la integració de dades, des house conté informació de
10.000 vendes. Les anàlisis
del punt de vista del format, semàntic, etc. Per tant, la informació recollida que fem sobre aquests fets no
variaran si hi ha 10 vendes més
de diverses fonts a mesura que es produeixen fets, s'ha d'integrar per a poder o menys, per tant, depenent
del volum de dades que tingui
passar a formar part del data warehouse.
el data warehouse, es carregarà
més o menys sovint.
© FUOC • PID_00160565 46 Gestió de la informació
S'ha de ser conscient que implantar una estratègia CRM significa haver de fer
canvis dins de l'estructura de l'empresa. Una de les primeres tasques consisteix
a canviar la visió del negoci, revisar els processos de l'empresa per a adaptar-los
a aquest nou enfocament.
Per resumir, el CRM fa que augmenti el valor d'una organització, però per a
això, cal la motivació i incentivació de les persones, l'atenció i el servei al
client, i la capacitat d'una empresa per a convertir dades i informació de clients
en idees i accions.
© FUOC • PID_00160565 48 Gestió de la informació
Resum
La part central del mòdul es dedica a l'estudi de la base de dades operativa, que
és la que fa possible que es portin a terme les transaccions econòmiques que
equivalen a la venda tradicional. S'ha estudiat el disseny d'una base de dades
genèrica i s'han enumerat les operacions bàsiques que requereix un entorn
de venda electrònic. Tots aquests coneixements es posaran en pràctica en la
darrera part de l'assignatura mitjançant la construcció d'una botiga virtual.
El darrer apartat pretén d'ampliar la visió del comerç electrònic, per no que-
dar-nos només amb la part operativa, i mostra la perspectiva més estratègica
de tot aquest àmbit.
© FUOC • PID_00160565 49 Gestió de la informació
Activitats
1. Visiteu "La Virtual" i compareu-la amb la llibreria que es descriu en l'apartat de la base de
dades operativa. Observeu quins productes es venen, com es mostra el catàleg de productes,
com es visualitza una comanda, quines operacions permet de fer, etc.
2. Utilitzant la bibliografia recomanada del mòdul, feu una llista d'objectius i beneficis del
data warehouse.
Exercicis d'autoavaluació
1. Indiqueu en quin tipus de base de dades trobaríeu les informacions que es detallen a
continuació:
3. Suposant que el fet que cal analitzar a la base de dades estratègica són els clients, quin
model de dades proposaríeu, tenint en compte que interessa tenir les preferències dels clients
per zona, producte, tipus de client i nivell social.
4. Sobre la base de dades estratègica orientada a vendes, formuleu les consultes SQL que
donarien resposta a les consultes següents en llenguatge empresarial:
a) Hi ha productes que van ser més populars en unes zones que en unes altres durant l'any
passat?
b) Quins productes són estacionals? Considerarem les dades dels darrers cinc anys.
© FUOC • PID_00160565 50 Gestió de la informació
Solucionari
Exercicis�d'autoavaluació
BD estratègica: a, b, g, h.
BD operacional: c, d, e, f.
a) L'idioma preferit pel client seria una dada personal del client amb un valor atòmic, per
tant, l'inclouria com a atribut a l'entitat CLIENT.
b) Els descomptes que cal aplicar per tipus de client i tipus de producte requeririen una
nova interrelació entre les entitats TIPUS_CLIENT i TIPUS_PRODUCTE amb grau N-M, ja
que, donat un tipus de client, s'haurien d'emmagatzemar diversos descomptes, un per a cada
tipus de producte, i un tipus de producte podria tenir diferents descomptes segons el tipus
de client.
c) Tenir en compte un preu mínim i màxim per producte implicaria tenir unes limitacions
que caldria considerar una vegada determinat el descompte que s'hauria d'aplicar al client.
Podrien afegir-se com a dos atributs a l'entitat PRODUCTE.
3. El client és el fet central i les dimensions sobre les quals s'ha de fer l'estudi són zona,
producte, tipus de client i nivell social.
a) Es tracta de veure quins productes són més populars en unes zones que en unes altres. Per
això, buscarem, per a cada producte i àrea, el nombre de vendes i la quantitat de productes
venuts.
b) Per a determinar els productes estacionals, s'han d'analitzar les quantitats de productes ve-
nuts durant cada trimestre. Podem fer l'estudi a partir d'una consulta que obtingui una llista
ordenada per nom de producte i número de semestre que mostri la quantitat de productes
que s'han venut durant els diferents trimestres dels cinc darrers anys. A partir d'aquesta in-
© FUOC • PID_00160565 51 Gestió de la informació
formació, es pot fer una gràfica, de manera que es visualitzi clarament l'augment i la dismi-
nució de popularitat dels diferents productes.
Glossari
client/servidor Entorn mitjançant el qual s'estableixen comunicacions entre diferents
agents per mitjà d'una xarxa de transmissió de dades, de manera que els agents clients recla-
men serveis oferts per agents servidors.
data warehouse Magatzem de dades orientat a les àrees d'interès de l'empresa, que integra
informació de diverses fonts, amb informació no volàtil i informació històrica, i que té, com
a darrer objectiu, donar suport a la presa de decisions.
disseny conceptual Etapa del disseny d'una base de dades que obté una estructura de la
informació de la futura base de dades independentment de la tecnologia que es vol emprar.
disseny físic Etapa del disseny d'una base de dades que transforma l'estructura obtinguda
a l'etapa del disseny lògic amb l'objectiu d'aconseguir una eficiència més gran i que, a més, la
completa amb aspectes d'implementació física que dependran de l'SGBD que s'ha d'utilitzar.
disseny lògic Etapa del disseny d'una base de dades que parteix del resultat del disseny
conceptual i el transforma de manera que s'adapti al model de l'SGBD amb el qual es desitja
implementar la base de dades.
procediment Programa definit per l'usuari que s'emmagatzema a la base de dades. Una
vegada el procediment ha estat creat, s'emmagatzema en format executable a la base de dades
com qualsevol objecte de la base de dades.
transacció Conjunt d'operacions de lectura i/o actualització de la base de dades que acaba
confirmant o cancel·lant els canvis que s'han dut a terme.
vista Taula fictícia que es construeix a partir de taules reals emmagatzemades a la base de
dades. La no-existència real de les vistes fa que puguin ser actualitzables o no.
© FUOC • PID_00160565 54 Gestió de la informació
Bibliografia
Franco, J.-M.; EDS-Institut Prométhéus. (1997). El Data Warehouse – El Data Mining.
Barcelona: Gestión 2000.
Gill Harjinder, S.; Rao Prakash, C. (1996) Cliente/Servidor. Data Warehousing. Mèxic:
Prentice Hall.
Inmon W. H.; Imhoff, C.; Sousa, R. (2001). Corporate Information Factory. Estats Units:
Wiley.
Sakhr Youness. (2000). Data Warehousing with SQL Server 7.0 and OLAP Servicies. Wrox.
Silverston, L. (2001). The Data Model Resource Book. Volume 1. Estats Units: Wiley.
Simon Alan, R.; Shaffer Steven, L. (2001). Data Warehousing and Business Intelligence for
E-Commerce. Estats Units: Morgan Kaufmann Publishers.