BASES DE DATOS
BASES DE DATOS
1.INTRODUCIN:.................................................1
2.CONCEPTOSXERAIS......................................1
RELACIN,FICHEIROOUTBOA:......................1
TUPLA,FILAOUREXISTRO:...............................2
Editar tboas........................................................12
DARFORMATO.....................................................13
INTRODUCIREELIMINARDATOS..............................13
ORDENAR,BUSCAREFILTRARDATOS......................14
Exercicio5..........................................15
DOMINIO,ATRIBUTOOUCAMPO:.......................2
OUTRASPOSIBILIDADES.........................................15
Exercicio6:........................................16
GRAOECARDINALIDADE:...................................2
CONSULTAS.....................................................16
3.BASESDEDATOSRELACIONAIS.................2
CHAVEPRIMARIA:..............................................3
4.BASESDEDATOSDEREDE...........................4
5.USODEBASESDEDATOS..............................4
INTRODUCINDEDATOS.ASPRESENTACINS........4
ORDENARDATOS................................................5
PROCURADEDATOS...........................................5
Exercicio7:........................................18
Exercicio8:........................................21
Campos calculados:............................................21
Consultas con parmetro....................................22
Exercicio9:........................................23
Exercicio10........................................23
Funcins...............................................................23
Consultas SQL.....................................................24
Exercicio11:......................................24
6.PLANIFICACINDEBDS................................5
Consultas de accin............................................24
OBXECTIVOSDODESEODEBDSRELACIONAIS.....5
Exercicio12:......................................25
Normalizacin........................................................6
CONSULTASDEACTUALIZACIN..............................25
CONSULTASDEELIMINACIN.................................26
DEPENDENCIAS......................................................6
FORMASNORMAIS..................................................7
FORMULARIOS.................................................26
MODELOENTIDADECORRESPONDENCIA(EC).....8
Introducin.............................................................8
Grao dunha correspondencia...............................9
Obtencin de relacins a partir do diagrama EC
...............................................................................10
Correspondencias de orde maior que un............1
O uso de roles........................................................2
Exercicio0:..........................................2
Exercicio13:......................................29
Editar un formulario.............................................29
Exercicio14:......................................30
Exercicio15:......................................31
Exercicio16:......................................31
7.INTRODUCINALIBREOFFICEBASE......3
CONTROISDECAIXAS............................................31
Exercicio17:......................................34
Exercicio1:..........................................3
Exercicio18:......................................35
CREARUNFICHEIRO...........................................3
OUTROSCONTROIS...............................................35
ENTORNODELIBREOFFICEBASE..........................4
TBOAS............................................................6
Tipos de datos:.......................................................7
Outras formas de crear tboas:............................9
Exercicio2:........................................10
Relacionar tboas................................................11
Integridade referencial.........................................11
INFORMES.......................................................35
Exercicio19:......................................37
VISUALIZACINDESEODOSINFORMES...................38
Exercicio20:......................................38
REPORTBUILDER.................................................38
COMPACTARABASEDEDATOS..........................39
Exercicio3:........................................12
REMATE..........................................................39
Crear ndices........................................................12
8.BIBLIOGRAFA...............................................41
Exercicio4:........................................12
Pxina 1
1.
INTRODUCIN:
longodanosavida,tantoprofesionalcomopersoal,poderemosatoparmosconcertacantidadede
informacinmisoumenosgrandequedeberemosordenarparapodermanexalaconeficacia:unha
bibliotecadebemanterlistasdoslibrosqueposeoudosusuariosqueten;unhaclnica,dosseus
doentes,mdicosoupersoaldeenfermera;unhaempresa,dosseusprodutos,ventaseempregados;un
clubdeftbol,dosseusxogadores,equipos,adestradores,empregadosousocios;ecalqueradenos
ter,seguramente,uncadernocosnomes,enderezos,nmerosdetelfono,email,etcdosnososamigos
efamiliares.Aestetipodeinformacinchammoslledatos.
Unxestordebasededatosunprogramaquepermiteintroducirealmacenardatos,ordenalose
manipulalos. Tamn organizalos de xeito significativo para poder obter informacin non visible
(operacins)comototais,tendenciasourelacinsdoutrotipo.Comomnimobeberapermitir:
Introducirdatos
Almacenardatos
Recuperardatosetraballarconeles
Istopodemosfacelodexeitorudimentariometendoosdatosnunhacaixaouconlapisepapelpero,a
medida que a cantidade de datos aumenta, teremos que cambiar as ferramentas; podemos usar
cartafoles,arquivadores,peronunmomentodadosernecesarioacudiraosordenadores,andaque
asoperacinsseguirnaserasmesmas.
2.
CONCEPTOS XERAIS.
Enderezo
Telfono
Ra Nova 36
981 675498
981 458932
Ra Juan Flrez, 7
981 429878
Destexeitopodemosterordenadososdatosdemoitaspersoase,paraquesenospresentendunxeito
claro, desagregaremos a informacin en apartados, neste caso en tres: Nome, Enderezo e
Telfono,faremosquecadatipodedatosfigurenunhacolumnadiferente.Asmoitomissinxelo
atopar,porexemplo,oenderezodunhapersoabuscandoapartirdoseunome.
Ainformacinalmacenadadestexeitosupooqueterecordastboasdosprocesadoresdetextoou
asfollasdeclculo(OpenOffice,Word,Excel,StarOffice;...),realmentepodemosusarcalqueradestes
BASES DE DATOS
Pxina 1
Pxina 2
sistemasparaalmacenarainformacin, peroprontoaparecerngrandeseirresolublesproblemasde
espazo,manexabilidadeouparaaccederoubuscardatosconcretos.
GRAO E CARDINALIDADE:
Graoonmerodecampos(columnas)dunharelacin(tboa),onosoexemploteraungrao3.O
graononadoitavariardesdequesecreaarelacin.
Onmerodetuplas(rexistros,filas)quetenarelacinnunmomentodeterminadoacardinalidade
darelacin.Estavaraconstantementementresengadamosousuprimamosrexistrosnarelacinepode
chegaraserenorme.
3.
ParafacerunhaBDsquerelacioneunxogadorcosseusdatospersoaisnecesitamosunhasoatboa,
seraunhabasededatosplana,peroexistencasosnosquenecesitaremosmisdunhatboa.
Unclub, porexemplo, necesitar almacenar mis datos ademais donome e enderezo dos seus
xogadores.Terquerexistrarporexemploastemporadasqueesexogadordisputounoclub,enque
equipoparticipououquenfoioseuadestrador.
Segueaserposiblerepresentartodaestacantidadededatosnunhasoatboaperoagoraveremosque
empezarnaaparecercertosproblemas:
Club: Olmpico de Rutis
ID
Nome
Enderezo
Tfno.
Temporada
Clube
Adestrador
C/Mayor 12 4D
101232
2000-01
Alevn A
Fran
Avda. Arroyos, 54
256699
2002-03
Cadete A Ramn
C/ Berruguete, 74
369856
2004-05
Cadete A Ramn
C/Mayor 12 4D
101232
2001-02
Alevn A
Avda. Arroyos, 54
256699
2003-04
Cadete A Ramn
C/Mayor 12 4D
101232
2002-03
Infantil B
C/ Berruguete, 74
369856
2005-06
Xuvenil A Flix
C/Mayor 12 4D
101232
2004-05
Infantil A
Fran
Lois
Lois
Cadavezqueunxogadorcambiadeequipooucomezaoutratemporadateremosquelleabrirunha
nova ficha,unrexistroidnticoondeonicodatodiferenteatemporada,enpoucotempoosseus
datospersoais(nome,enderezoetelfono)estarnrepetidosmoitasveces(comovemosnatboapor
BASES DE DATOS
Pxina 2
Pxina 3
cores,cadaxogadoraparecevariasvecesenfuncindastemporadasquexogounonosoclub).Seisto
se multiplica por todos os xogadores, a BDs conter gran cantidade de datos redundantes
innecesarios,oqueaumentaroseutamaoediminuirasaeficacia.
ParafacerunhaBDscomoestanecesitaremosvariastboasquelogoserelacionarnporuncampo
comnaambas.
Supoemosporexemplodastboas,unhaqueconteaainformacinpersoaleinvariable(ourara
vez)eoutraqueconteaosdatosreferidosastemporadasquedisputacadaxogador(datosnovoscada
vez):
XOGADORES
Cdigodo
xogador
Nome
Datanacemento
Enderezo
Telfono
LpezGarca,Mara
3/05/1998
C/PoXII,4
981656565
28
FernndezCastro,Julio
6/03/1997
C/SnchoRamirez,s.n.
982727473
21
RuzLacasa,Diana
5/06/1991
AvdaPamplona
914536578
GuzmnGarrido,Inmaculada
5/08/1998
C/PintorCrispn
981556677
12
UgarteLpez,Rafael
6/09/1996
C/Arroyo,5
981687584
62
JimnezGarca,Pedro
4/06/1994
AvdaBayona,6
93677667
45
LatorreGarca,Gonzalo
5/04/1998
C/SanchoelFuerte,12
982554433
23
CabreraOrtiz,Pedro
6/05/2000
C/Retiro,5
981444587
TEMPORADAS
Cdigodo
xogador
Temporada
Equipo
Demarcacin
Adestrador
200506
PrebenxamnA
Nondefinida
Sebas
28
200405
PrebenxamnA
Nondefinida
Sebas
21
199900
BenxamnB
Nondefinida
Luis
200708
BenxamnA
Nondefinida
Luis
12
200607
AlevnA
Central
Fran
62
200506
AlevnA
Extremo
Fran
45
200607
BenxamnB
Nondefinida
Luis
23
200607
PrebenxamnB
Nondefinida
Sebas
Deste xeito conseguimos non ter datos repetidos. Con esta estrutura, cada vez que unxogador
cambiedeequipooupasedecategoranonnecesariovolveraintroducirsseusdatospersoais.Basta
conintroduciroseucdigoparaqueoXestordebasededatossaibadequexogadorsetrata.Paraque
sepodaestablecerestarelacinnecesarioqueasdastboasconteanuncampoencomn(neste
casoocdigodoxogador).
A esta forma de organizar a base de datos mediante distintas tboas relacionadas por campos
comnssellechamabasededatosrelacional.
CHAVE PRIMARIA:
Ocampoouconxuntodeatributos(campos)queidentificanunivocamentecadatupla(rexistro)
dunharelacin(tboa)sedenomina Chaveprimariaouprincipal.Podeestarformadaporvarios
camposouporunscampoquesexairrepetible.
BASES DE DATOS
Pxina 3
Pxina 4
PodeserasignadoautomaticamentepolaBD(nmerosconsecutivos),oubenelixidopoloautorda
Bdsporqueasaestruturaoutipogarantequesexaefectivamenteirrepetible(oDNIporexemplo).
Servirparaidentificardeformanicaosdatosdentrodatboa,eparaquedatosdoutrastboasse
refiranael.Portanto,nonsepodeninserirdousdatoscoamesmachaveprimaria,esiseintenta,o
sistemadarunerro.Nonosoexemploaclaveprimariaocdigodoxogador.
Podenexistirvarioscamposquecumpranosrequisitosparaexercerdeclaveprimaria,esescampos
recibenonomedeclavecandidata.
AtboaTemporadascontntamnaocdigodoxogadorperonestecasononclaveprimariadesta
tboa, o campo que relaciona cada xogador coa temporada disputada, chamarmoslle Chave
externa.
4.
OusodunhaBDsdunhaaxendapersoaloudosalumnosdunhaclasedistintodousodunhaBDs
dunhospital,duninstitutoouinclusodunclubdeftbol.
Oprimeirosoutilizarunhapersoacadavez,mentresqueasoutrasbasesdedatosnecesitarnser
consultadasaomesmotempopormoitaspersoasedesdedistintossitios.
NaBDs duninstituto, moitas persoas podennecesitaracceder s datos dunalumnoao mesmo
tempo:unprofesornasaclaseparapasarlista;otitornoseudespachoparaverasfaltasdeasistencia
ououtrosdatosdunalumno;desdeadministracinconsultanosdatosdoutroalumnoparafacerlleun
certificado.TodoselesnecesitarnfacerconsultasouintroducirnovosdatosnamesmaBDs.
IstoseraimposibleseaBDsestiverasituadanunordenadorexclusivamenteousisepuxeraen
variosordenadoresconbasesdedatosiguaisperononinterconectadas,xaqueaofinaldoda,trasas
operacinsqueserealizaran,aBDsdunordenadorseracompletamentedistintaadoutroordenador,e
asconsultasposterioresnonseranfiables.
ParaestetipodeBDsconmltiplesusuariossecrearonasBDsderede.Estassitansenunnico
ordenador,chamadoservidor,epodemosaccederaelasdesdeterminaisuordenadorescunprograma
quepermitaoaccesoasmesmas,oschamados clientes.Os Xestoresdebasesdedatos destetipo
permiten que varios usuarios fagan operacins sobre unha BDs ao mesmo tempo dende lugares
diferentes.
5.
Comodixemosaoprincipio,astrescousasbsicasquedebepermitirunxestordebasededatosson:
introducir,almacenarerecuperardatos.
Peroparaquerealmentesexaunhaferramentatil,equesediferencieclaramentedosarquivadores
ouascartafolestradicionais,deberafaceroutrascousas:
Ordenarosdatos
Realizarprocurasdedatos
Mostrardistintasvistasdosdatos
Realizarclculossobreosdatosintroducidos
Resumirosdatos
Xerarinformesapartirdosdatos
Importareexportardatos
Pxina 4
Pxina 5
eliminardatos,podemosfacelonaspropiastboasouenpresentacinsespecficas.Unhapresentacin
undeseoparticularparaunhatboanoquepodemosvertodososrexistrosecamposousaqueles
que nos interesen para determinado cometido. Unha tboa pode ter tantas presentacins como
desexemos.Candounhatboaserelacioneconoutrapodenaparecercamposdasdastboasnunha
mesma presentacin. As distintas presentacins pretenden facilitar a introducin, visualizacin e
tratamentodosdatosdatboa.
ORDENAR DATOS
Asveces,autilidadedunhaBDsdependedasaorde.Unhaaxendatelefnica,paraquesexatil,
debeestarordenadaalfabeticamente
A orde establcese en funcin dos rexistros dun campo determinado ou de varios campos.
Dependendodotipodecampoaordepodeseralfabtica,numrica,pordataouhoraedemodo
ascendenteoudescendente.
Porexemplo,podemosordenarosrexistrosdarelacinTemporadaspolapropiatemporada,polos
nomesdosxogadoresoupolonmerodecdigo.Tamnpodemosespecificarvarioscriteriosdeorde
aomesmotempo:porexemplo,poloequiponoquemilitane,paraoscasosnosqueoequipocoincida,
polonomedoxogador.
PROCURA DE DATOS
Nos antigos sistemas de arquivo de datos, se queriamos buscar un conxunto determinado de
rexistroseranecesarioterosdatosordenadospreviamenteporuncriteriodeterminado(porexemplo,
nosficheirosdebiblioteca,pormateriaouautor).Logo,visualmenteeaman,congrantraballoeperda
detempo,extraanseosrexistrosunporun.Aoterminardeusalosseguaseoprocesocontrario.No
casodequesequixerafacerunhaprocuraporuncriteriodiferenteordedoarquivo(poreditoriaispor
exemplo)resultabaimposible.
AsBDsrealizanprocurasmoirpidasporcalqueradoscamposdabase,indistintamentedomodoen
que estean ordenados. Permiten facer procuras con varios criterios (deste autor e con data de
publicacinposterioraesta),procurascombinadas(detalautoroudetaloutro),contrarias(quenon
sexandesteautor),etc.Desfaceraprocuraigualderpido.
Unhavezobtidososresultadosdaprimeiraprocurapodemosrealizarosmesmosprocesosquec
totaldaBDs(ordenar,buscar...)peroexecutadosunicamentesobreosrexistrosextraidos
6.
PLANIFICACIN DE BDS.
Oprimeiropasonacreacindunhabasededatosdesearasaestrutura.Aofacerundeseo
previo eliminamos o inconveniente de realizar cambios importantes cando as tboas xa contean
rexistros.
Pxina 5
Pxina 6
(direccin,telfono,etc)queserainformacinredundante,peronatboaTemporadasaparece
socdigodoxogador,tamnpoderestarrepetido(unxogadordisputavariastemporadas),
perononredundantesennnecesario.Aregraaaplicarpoderaser:Nondebemosperder
informacinsesubstitumososvaloresrepetidosdunatributopornulos.Poroutrabandaa
existenciadevaloresnulosdebeevitarsepoisconduciraaunesforzoadicionalparaaveriguar
esevaloreaproblemasdeperdadeinformacintrasoperacinsdeborrado.
C) O nmero de relacins (tboas) que compoen a BDs debe manterse ao mnimo: A
coexistenciadunnmeroelevadoderelacinsnaBDspodefacelaincmodademanexar.
D) As relacins obtidas deben estar normalizadas: Entendemos por normalizacin a
descomposicindunharelacin(tboa)endasoumis,seguindounprocedementoespecfico.
Certostiposderelacinssonmispropensosqueoutrosaproblemasdeactualizacineborrado
edebensernormalizadas.
Normalizacin
Antes de ver os distintos tipos de formas normais debemos entender tamn as posibles
dependenciasentrecampos.Entreoscamposdunhatboapodenexistirdependenciasdevariostipos:
funcionais,multivaluadas,transitivas,...
DEPENDENCIAS
Dependenciasfuncionais
DadaatboaRformadapoloscamposA,BeC,representndoadaformaR(A,B,C).Bdepende
funcionalmentedeA(entnAimplicaoudeterminaaB)separacadavalordeAsoamenteexisteun
nicovalorposbelparaB.
Notacin:A>B
Exemplo:NatboaClientes,unhadependenciafuncionalexisteentreocampoDNIeocampo
Nomeouocampoapelido:DNI>Nome
Seademaissecumpriraquenonpodenexistirdousclientescomesmonome,istoimplicaraqueo
nometamnpodeactuarcomoclavedatboaClientesepolotantotamndeterminafuncionalmenteao
DNI:DNI<>Nome
OutroexemplopoderaserDataNacemento>Idade
DependenciasMultivaluadas
DatboaR(A,B,C),AmultideterminaaBseparacadavalordeAexisteunconxuntobendefinido
devaloresposiblesenB,conindependenciadorestodoscamposdatboa.
Notacin:A>>B
Nome
Telfono
981656565
627987654
982727473
697785472
Dependenciastransitivas
Unhadependenciatransitivaexistecandocalqueraatributonunhatboadependentedoutrocampo
eestequendependedachaveprimaria:
BASES DE DATOS
Pxina 6
Pxina 7
Exemplo:NatboaXogadores(Cdigo;Nome;DataNacemento;Idade)oscamposDataNacemento
eIdadeteendependenciatransitivaentreeles(Cdigo>DataNacemento>Idade).
FORMASNORMAIS
Existenseis niveis denormalizacindunha tboa.Unhatboaseatopa nunounoutrograode
normalizacinsecumpreunhaseriedepropiedades(restricins)queseexplicarndeseguida.
Astres primeiras formasnormaisdefiniunas Coddebasansenasdependencias funcionaisque
existenentreoscamposdatboa.Posteriormente,ebasendosenasdependenciasmultivaluadaseen
combinacindefinronsedousniveismisdenormalizacin,a4ea5respectivamente.
Entrea3ea4definiuseunhaquesecoececomoaformanormaldeBoyceCodd(FNBC)que
redefine3formanormaldebidoaalgunhasanomalasatopadas.
Destexeitoastboasen1formanormalteenmisredundanciadedatosqueosniveissuperiores
e,polotanto,misanomalasdeactualizacindedatos.A5formanormalograodenormalizacin
mximoquesepodeacadarparaunhatboa.
Primeiraformanormal.
Diremos queunhatboaestna1formanormalcandoosdominiosdetodososatributosson
atmicos(osseuselementospodenconsiderarsecomounidadesindivisibles).
Nome
Nome
Telfono
Apelido1
Apelido2
Telfono
LpezGarca,Mara
981656565
627987654
Mara
Lpez
Garca
981656565
Mara
Lpez
Garca
627987654
FernndezCastro,Julio
982727473
697785472
Julio
Fernndez
Castro
982727473
Julio
Fernndez
Castro
697785472
Un exemplo o podemos mostrar coas tboas anteriores, a primeira non cumpre a restricin da
primeiraformanormal,asegundasiacumpre.
Unha relacin debe estar, polo menos en 1 Forma Normal para considerar a posibilidade de
dividila.Ocumprimentodestaformaobrigatorioparatdalastboas.
Segundaformanormal.
Diremosqueunhatboaestna2formanormalse:
Estna1formanormal
Cada campo que non forma parte da chave primaria ten dependencia funcional completa
respectodalgunhadassasclaves.
Pxina 7
Pxina 8
PorexemploatboaXogadoresamodificamosunpoucoconestescampos:
XOGADORES
Cdigodo
xogador
Nome
Enderezo
Poboacin
Concello
LpezGarca,Mara
C/PoXII,4
Perillo
Oleiros
28
FernndezCastro,Julio
C/SnchoRamirez,s.n.
APeneda
21
RuzLacasa,Diana
AvdaPamplona
Lens
GuzmnGarrido,Inmaculada
C/PintorCrispn
Mors
Arteixo
12
UgarteLpez,Rafael
C/Arroyo,5
Piadela
Betanzos
62
JimnezGarca,Pedro
AvdaBayona,6
ACorua
ACorua
45
LatorreGarca,Gonzalo
C/SanchoelFuerte,12
Sta.Cruz
Oleiros
23
CabreraOrtiz,Pedro
C/Retiro,5
OBurgo
Culleredo
Abegondo
Ames
Atboanonestenterceiraformanormalporqueexistendouscamposcondependenciatransitiva:
Concello>Poboacin
Teremosquedescompoeratboaendas:
Xogadores(CdigoXogador;Nome;Enderezo;CdigoPoboacin)
Poboacins(CdigoPoboacin,Poboacin,Concello)
Istononsempreapropiadoxaquepodecarrexaralgnproblemadeuso(dificultaraprocurapor
exemplo) mentres que non supn un problema demasiado grande a dependencia transitiva deses
campos.
Representaunhacousaou"obxecto"domundorealconexistenciaindependente,dicir,se
diferenciaunicamentedeoutroobxectooucousa,inclusosendodomesmotipo.Tamnpode
representarentesabstractoscomounprstamobancarioouunhareservadehotel.
Correspondencia: unhaasociacinouconexinentredasoumisentidades.Adoitanser
verbos(describenaaccinqueselevaacabodunhaentidade outra)erepresntansecon
rombosunidosporliascoasentidades(rectngulos).Exemplo:
Atributo:Cadaunhadaspropiedadesdaentidade(campos).Represntanseconelipses.Nocaso
da clave primaria vai subliada. Por motivos de lexibilidade moitas veces teen que ir en
documentosaparte.Exemplo:
BASES DE DATOS
Pxina 8
Pxina 9
UndiagramaECestcompostodeentidadesecorrespondenciasentreentidades.Exemplo:
Participa
en
DEPORTISTA
COMPETICIN
Osatributosqueidentificanunivocamenteoselementosdunhaentidadesonaclaveprimariada
mesmaeaparecensubliados.Cadaelementodacorrespondenciaidentifcase,entn,polasclavesdas
entidadesentreasqueseestablece.Exemplo:
Cadaelementodunhaentidadeestrelacionado,comomximo,
conundoutra/sentidade/s.
Porexemplo:Undeportistapodeterexclusivamenteunhaficha
federativa,ecadafichacorrespondeexclusivamenteaundeportista.
II.GraodeCorrespondencia1:n(Unamoitos)
Cadaelementoda1entidadepodecorresponderseconmisdunelementoda2ecadaelemento
destaspoderelacionarsecomomximocunelementoda1entidade.
Exemplo: Undeportistapodetervariasfichasfederativaspero
cadafichascorrespondeaundeportistaparticular.
III.GraodeCorrespondenciam:n(Moitosamoitos)
Cadaelementodecalqueraentidadepoderelacionarseconcalqueraelementodaoutraentidade.
m
1
BASES DE DATOS
Pxina 9
Pxina 10
ningn,algnoutodososdeportistas.
Tamnpodemosterencontaaobrigatoriedadeounondacorrespondenciaparatodososelementos
dasentidades,destexeitoencadagrupopdensepresentartrescasos.
1.
Id.Fut.
1
Nome
Apelidos
Enderezo
Telfono
Andrs
GonzlezLpez
C/Rubine,6
981748494
NFicha
23.456.654
Pdesedarocasodequearelacinnonsexaobrigatoriaparaunhadastboas(nontodosos
futbolistas necesiten ficha), para que non queden campos baleiros (normalizacin) podera
interesarmosfacerdastboas,levamosachaveprincipalnovatboacomochaveexterna.
Id.Fut.
1
Id.Fut.
1
Nome
Apelidos
Enderezo
Telfono
Andrs
GonzlezLpez
C/Rubine,6
981748494
NFicha
23.456.654
Nocasodequearelacinnonforaobrigatoriaparambalasdastboasnecesitaramostres
tboas,peronosonivelprobablementeseracomplicarascousas.
Seograodunhacorrespondenciabinaria1:n,normalmentenecesitamosdasrelacins
(tboas),unhaporcadaentidade,utilizndoseaclavedaentidadecomoclaveprimariada
relacin correspondente. A clave da entidade 1 engdese como un atributo mis (clave
externa)narelacincorrespondenteentidaden.Exemplo(arelacinobrigatorianosdous
sentidos):
2.
BASES DE DATOS
Pxina 10
Id.Dep.
1
Id.Dep.
Pxina 1
Nome
Apelidos
Enderezo
Telfono
Andrs
GonzlezLpez
C/Rubine,6
981748494
NFicha
Deporte
23.456.654
Ftbol
06.726.594
Baloncesto
Igualquenocasoanterior,searelacinnonobrigatoriaparaalgndosladosnecesitaremos
trestboas.
Seograodunhacorrespondenciabinarian:m,precisamostresrelacins:unhaparacada
entidade,utilizandoaclavedaentidadecomoclaveprimariadarelacin,eunhamisparaa
correspondencia,quedebercontarentreosseusatributoscoascorrespondentesclavesdas
entidades.Exemplo:
3.
Enderezo
Id.Curso Curso
Nivel
Instalacin
Id.Usuario
Id.Curso
Data
Aerbic
Iniciacin
Sala1
16/04/07
Spining
Iniciacin
Sala3
15/05/08
Pxina 1
Pxina 2
misparaacorrespondencia.Arelacinqueconteaainformacindacorrespondenciaterquecontar
entreosseusatributoscoasclavesdasentidades.(Porextensin,candoexistancorrespondenciasde
ordennecesitaransen+1relacins).
O uso de roles
Existen situacins nas que o uso de entidades e correspondencias non dabondo para poder
modelarunhasituacindomundoreal.Unhadelasprodcesecandounelementodunhaentidadepode
xogarpapeisdiferentesnofuncionamentodosistema.
Porexemploaxestindunclubdeftbolsupnanecesidadedeteralmacenadososdatospersoais
demoitaxente:xogadores,familiares,adestradores,directivos,empregados,socios,etc.Podemoster
unhatboaconcadaundestestiposdepersoas,peroqueocorrecandounfamiliardunxogador
tamnsocio,oucandounxogadortamnadestrador,ouundirectivotenqueserobrigatoriamente
socio?Atopmonoscproblemadeenquetboaincluracadaunoudeterosdatosrepetidosen
distintastboas.
Porexemplo,sedadoonomedunfamiliarquixramoscoeceroseuenderezoenmerodesocio,
teriamosquebuscarnasdasrelacins(familiaresesocios).
Parasolucionaristo(engrandesBDs)podemoscrearunhaentidadeprincipal(Persoas)quecontea
osatributoscomns(Nome,Enderezo,Telfono,DatadeNacemento,etc...)eoutraseriedeentidades
quesonosrolesquepodedesempearcadapersoa(Xogadores,Familiares,Socios,Directivos,etc...),
estasternaclaveexternacorrespondenteaclaveprincipaldePersoaseosatributosnecesariosparao
rolespecfico:
DNI
Nome Apelidos
Enderezo
ValeiroAntn
DNI
PlazaLugo,9
Demarcacin
33.987.675 Central
Id.Socio
DNI
DataAlta
234
33.987.675
15/09/00
DataBaixa
Exercicio 0:
Fai o esquema E:C e as tboas cos seus atributos correspondentes dos seguintes casos:
1. Un autor pode escribir varios libros e, cada libro, o poden escribir varios autores.
2. Un provedor proporciona varios produtos. Cada produto procede dun s provedor.
Un cliente pode comprar varios produtos e cada produto o poden comprar moitos clientes.
3. Un xogador pode ser convocado a moitos partidos e cada partido o xogan moitos xogadores.
Un xogador asiste a moitos adestramentos e a cada adestramento asisten moitos xogadores.
BASES DE DATOS
Pxina 2
7.
Pxina 3
INTRODUCIN A LIBREOFFICE-BASE
XasabemosoqueunhaBDs,agoraimosprofundarnousodunhadelasparapodercrearasnosas
propias solucinsouaplicacins.ExistenBDscreadasespecificamenteparaempresas,bibliotecas,
institutos,clubs,etc.Todasutilizanalgnprogramabaseparacrearunhainterfacenaqueos
clientessimplementeteanqueintroducirosdatosourecuperalosgraciasainformesmisoumenos
predefinidos.
Existen moitas BDs, algunhas de pago (Oracle, Access, FileMaker,...); outras libres e gratutas
(MySQL, PostgresSQL, FireBird, OpenOffice), outras regalan a versin bsica pero as versins
profesionaissondepago(Servoy,Velneo,...);etc.
Setiveramosquerecomendaralgunhaacousaestaracomplicada,dependerademoitosfactores:
En canto a facilidade de uso e aprendizaxe destaca sobre todas elas FileMaker, o seu
inconvenientequenonsepodeutilizarenLinuxeoseuprezo,nongratutaninlibre.
EncantoaversatilidadeefuncionalidaderecomendosendbidaMySQLouPostgreSQL,os
inconvenientesmaisgrandessonasadificultadedeaprendizaxeeanecesidadededominar
variaslinguaxesdeprogramacin(SQL,PHP,Java,...)parasacarlleomximorendemento.
Nos imos coecer unha das BD de cdigo libre, LibreOffice Base, non o recurso mis
desenvolvido desta estupenda suite ofimtica, pero mellorou bastante ultimamente e podemos
conseguirresultadosaceptablesconcertafacilidade.Tenavantaxedefuncionarencalquerasistema
operativoedegardarcertoparecidocoacoecidaAccesdeOffice.
Imoscomezarotitorialsupoendoqueabasededatosxaestinstaladanonosoordenador.Agora
temosqueseguir,comoxasabemos,unspasosbsicos:
Desearemos a nosa solucin seguindo o aprendido cos apuntes de Bases de Datos e
obteremosundiagramaEC.
1.
Deduciremosunconxuntoderelacins(tboas),cadaunhacoasacorrespondenteclave
primariaeunhalistadetodososatributosdeinterese.
2.
3.
Estableceremosasrelacinsentreastboas.
Faremosodeseodasdistintaspresentacinsdecadatboaenfuncindoobxectivodabase
dedatos.
4.
AnosaideacrearunhaBDsparaorganizaronosotraballonunhaescolaoununclubdeftbol,de
xeito que teamos informacin do club, dos equipos, dos xogadores, dos partidos e/ou dos
adestramentos.
Exercicio 1:
Fai o esquema E:C e as tboas cos seus atributos correspondentes do seguinte caso:
Un club pode ter varios equipos (alevn, xuvenil, etc) pero cada equipo s pertence a un club.
CREAR UN FICHEIRO.
PodemosabrirBasedendeomenInicio(Windows),dendeaiconaqueteamosnoescritorioouen
linuxnarutaAplicativos>Ofimtica>Basededatos.
BASES DE DATOS
Pxina 3
Pxina 4
PremeremosnobotndeConclureteremosqueindicarlleondequeremosgardaroficheiroeque
nomelleasignaremos(LoClub).Agora,cadavezqueabramos Base,poderemosdicirllequeabrao
ficheiroexistente.Tamnpodemosabrirdirectamenteonosoficheirofacendodobreclicsobreaicona
correspondentenalocalizacinqueteamoselixida(oucreandounaccesodirectononosoescritorio).
Xaestcreadooficheirodanosabasededatos,agoratemosunhafiestraconunmontndecousas
parapoderdarlleformatoeintroducircontidonamesma.
BASES DE DATOS
Pxina 4
Pxina 5
Napartesuperior(naimaxeenvermello)temosastpicasbarrasdemensedeferramentasque
poucoapoucoiremoscoecendo.
Nazonadaesquerda(enverde)temosunpanelparaelixirotipodeobxectodabasededatoscoque
queremostraballar.NunhabasededatosLibreOfficetemoscatrotiposprincipaisdeobxectos:
1.
Tboas: Son estruturas, formadas por campos e rexistros, que van permitir almacenar a
informacin.Sentboasabasededatosnonexiste,xaqueorestodecompoentesdependen
delas.
Vemosunexemplodetboanaimaxe,asfilassonosrexistros,ascolumnassonoscampos:
2.
Consultas:Servenpararecuperar
a informacin almacenada nas
tboas. Por que non a miramos
directamentenelas?Asconsultas
permiten filtrar a informacin e
mostrarsaquelesdatosquenos
interesen en cada caso. Ademais
permiten utilizar mis dunha
tboa para mostrar datos
relacionados. Isto as grazas a
queLoBaseunsistemadebases
de datos relacional. Na imaxe
BASES DE DATOS
Pxina 5
Pxina 6
4.
Nazonacentral(enazul)estnastarefasquepodemosrealizarcotipodeobxectoseleccionado,
crear,editar,...
Por ltimo, na zona inferior (en marelo), aparecern os obxectos que iremos creando do tipo
seleccionado.Demomentononteremosningn,evidentemente.
TBOAS.
AntesdecrearastboasmoiimportanteterodeseoECdanosaBDs.Noexercicio1fixemosun
deseobsico,despoispodersincrementalopoucoapouco.Conesedeseodeberiamosterbastante
clarocantastboasnecesitamos,xapodemosempezaraconstrulas.
NopaneldaesquerdaseleccionamosTboas,agoranopaneldomedioaparecentresopcins,cando
colocamosocursorsobreelasapareceunhaexplicacinasadereita:
1.
Crearunhatboaenvisualizacindeseo...Crearunhatboaespecificandoosnomeseas
propiedadesdocampo,ascomoostiposdedatos.
2.
Usaroasistenteparacrearunhatboa... Escollaundosexemplospersoaisecomerciais,
quepersonalizarparacrearunhatboa.
3.
Crearvisualizacin...Creeunhavisualizacinespecificandoastboaseosnomesdecampo
BASES DE DATOS
Pxina 6
Pxina 7
quedesexaquesexanvisibles.
Cando prememos na primeira opcin aparecer unha fiestra na que diferenciamos dous paneis,
superioreinferior.Nopanelsuperiortemostrescolumnasnasqueestableceremososcamposdanosa
tboa,otipodedatoquegardarcadacampoeunhadescricindomesmo(opcionalperointeresante).
Nopanelinferioraparecernpropiedadesespecficasparacadaundoscamposcreados(lonxitude,
valorautomtico,valorpredefinido,etc...)
Esteunprocesoimportantexaquedebemosterclaroosdatosquedebecontercadatboa,otipo
dedato(nmeros,texto,imaxes,...)etamnaproveitaremosparanormalizarastboasomisposible
(evitarredundancias,datosrepetidosoucamposbaleiros).
Base permitemoidiferentestiposdedatos,debemosterunhaideaaproximadadecadaunpara,
despois,poderutilizaroquemisseadapteasnosasnecesidades.
Tipos de datos:
Podemosverqueexistendistintostiposdedatosparacadaunhadasposibilidades(texto,nmeros,
datas,tempo,imaxes):
Texto
Tipos
Caractersticas
Texto(fixo)[CHAR]
Almacenaunhacadeadelonxitudefixa.Acadeapoderconterdende0a255caracteres.
Texto[VARCHAR]
Almacenaunhacadeadelonxitudevariable,podeconterletras,signosdepuntuacinou
nmeros que non vaian ser utilizados en operacins matemticas. Como mximo se
podernintroducir255caracteresencadacampo.
Nota
[LONGVARCHAR]
Utilizaseparaalmacenargrancantidadedeinformacin.Sepodenalmacenarata64.000
caracteresporcadacampo.
Texto
ComooVARCHARperonondistingueentremaisculaseminsculas.
[VARCHAR_IGNORE
CASE]
Tempo
Nmeros
Nmero enteiro con ou sen signo. Con signo o rango de valores vai desde
9.223.372.036.854.775.808a9.223.372.036.854.775.807.Sensignoorangovaidesde0
a18.446.744.073.709.551.615.
Nmero[NUMERIC]
Permiteintroducirnmerosconcifrasdecimais.Almacnasecomounhacadea.
Decimal[DECIMAL]
Permiteintroducirnmerosconcifrasdecimais.Almacnasecomounhacadea.
Enteiro[INTEGER]
Enteiro
pequeno Permiteintroducirnmerosenteiros(positivosounegativos)comprendidosentre32.768
[SMALLINT]
a32.767.Ocupa2bytes.
Flotante[FLOAT]
Nmeropequenoencomaflotantedeprecisinsimple.Osvaloresvlidosvandesde
3.402823466E+38 a 1.175494351E38, 0 e desde 1.175494351E38 a
3.402823466E+38.
Dobre[DOUBLE]
Admitevalorescomprendidosentre1,797x10 308e1,797x10308,permitindoataquince
decimais.Ocupa8bytes.(Practicamentecalqueranmeroseraadmitido).
Real[REAL]
Igualqueoanterior.
Data[DATE]
Seutilizaparaalmacenarvaloresdedata(datadealta,datadenacemento...)
Hora[TIME]
Se utiliza para almacenar horas ou tamn o tempo transcorrido entre dous valores
horarios.(Horadeentrada,horadesada...)
Data/hora
[TIMESTAMP]
Seutilizacandosenecesitanvaloresqueconteeninformacindedataehora,nomesmo
campo.
BASES DE DATOS
Pxina 7
Outros Imaxe
Pxina 8
Estetipodecampovaisertilparaasociarunhaimaxeacadarexistrodatboa.
Imaxe
[LONGVARBINARY]
Si/Non[BOOLEAN]
Estetipodecampossadmitevaloreslxicoscomoson:SiouNon,VerdadeiroouFalso
e Activado ou Desactivado. Se establecern como tales s aqueles campos nos cales
unicamenteseafirmeouneguealgo.Porexemplocasado(Si/Non),...
VemosnaimaxecomoquedaraatboaClubscosseuscamposeotipodecadaun.Noapartado
Comentariointeresantefaceralgntipodeaclaracinquepodechegarasermoitilcando,pasado
certotempo,queiramoscambiaralgonanosaBDenonrecordemosasaestrutura.destacableo
campoEscudoqueserdetipoImaxeparapoderintroducirunhaimaxedoescudodoclub.
Casetodososcampossondetexto,istorecomndasecando,andasendonmeros,podeninclur
cerosaesquerdaouguinsou,simplemente,candonontemospensadooperarconeles.
Recomndochequesigasunsistemaahoradepoernomesaoscampos,istofacilitarmoitas
tarefas posteriores (procuradedatos,realizacindeconsultas,relacins,etc).Porexemploutiliza
sempreminsculas(agsainicial),nocasodeunirvariosnomesconservaainicialenmaiscula,non
usesespazosnintildesnincaracteresraros,etc.Creaoteupropiosistemaemantenosempre.
OcampoIdClubnumricoxaqueserachaveprimariadatboa.Recordadequenunhatboanon
poden existir dous rexistros iguais, cando non existe un campo claramente distintivo (ou incluso
existindo), para evitar problemas utilizaremos os campos con valor de incremento automtico.
Neles,opropioprogramaincrementaautomaticamenteoseuvalorcadavezquecreamosunnovo
rexistro,estescampossempredannmerosdistintospoloquenosaseguramosqueestecampovaiser
distintoencadarexistro.Paracrearuncampodestetipodarmoslleunformatonumrico(INTEGER
naimaxe)eseleccionaremosSinapropiedadedocampoValorautomtico.
Truco: Se por calquera motivo eliminamos datos nunha tboa o nmero correspondente ao
identificador(IdClubnestecaso)seperdeenonsevolverusar,podemosreiniciaranumeracinonde
queiramosmediantecdigoSQL.Porexemplo,parareiniciarocampoIdClubdatboaClubsen5
seleccionaremosFerramentas>SQL,escribiremososeguintenacaixaComandoqueserexecutado
BASES DE DATOS
Pxina 8
Pxina 9
e,despois,premeremosExecutar.
ALTERTABLE"Clubs"ALTERCOLUMN"IdClub"RESTARTWITH5
Outraspropiedadesdoscampos:
PROPIEDADES
USO
Lonxitude
nm_de_caracteres
PermiteestablecerotamaomximodosdatosalmacenadosnuncampodetipoTextoou
Numrico.Asaseguramosqueocampopodaalmacenarcalqueravalorqueseintroduza
equeosnmerosintroducidosnonsexanmaioresdoesperado.
Formato
Existentiposdecamposcunformatopredefinido(Nmero,Hora,Data...),andaque
BasepermitedefiniroformatodoscamposmedianteafiestraFormatodecampo.
Decimais
Permiteindicaronmerodedecimaisparaosnmerosduncampo.
NecestaseunhaEntrada Permiteindicarsisedebenintroducirsempre,ounon,valoresnestecampo.
Valorpredefinido
Baseintroducenuncampounvalordeterminadoaocrearunhafilanatboa.
Paraqueuncamposexautilizadocomochaveprimaria
faremoscliccobotndereitodoratosobreacabeceirada
fila correspondente e seleccionaremos a opcin Chave
primaria.
Agora xa podemos premer o botn de gardar ou o de
pechar,automaticamentenospediraquegardemosatboa
cunnome,nonosocasoatboaClubs.Xapodemosvera
nosa tboa no panel principal, se temos seleccionada a
opcinTboas.
UtilizaroasistentepodeserinteresantecandoanosatboaseadaptaaalgunhadasqueBase
tenpredefinidas.Candoseleccionamosesaopcinirnaparecendounhaseriedefiestrasque
nos guiarn no proceso. A primeira fiestra nos pide que seleccionemos unha tboa das
preexistentesenBase,nosseleccionaremosatboaContactosdacategoraNegocios:
Elixiremos os
campos
que
necesitemos dentro
dos
campos
dispoibles, despois
poderemos editalos
ao noso gusto, eu
escolln
os
seguintes:
IdContacto,Nome,Apelido,DataNacemento,PaisouRexin,Enderezo,CdigoPostal,Cidade,
EstadoOuProvncia,NmeroTelfono,NmeroMb,EnderezocorreoElectrnicoeFoto.
BASES DE DATOS
Pxina 9
Pxina 10
Na fiestra seguinte
podemoseditarcada
campo
para
modificarlleonome,
oformato,otamao,
etc. No noso caso
quedarcomopodes
ver na imaxe.
(Recorda poer
Valor automtico
no
campo
IdXogador):
Na seguinte fiestra
seleccionaremos a
chave primaria,
podemosdeixarque
Base o faga
automaticamente ou
seleccionalo nos
mesmos,comoneste
caso.
Tamn
podemos utilizar
varios campos
simultaneamente.
Parafinalizar,pomoslleunnometboa:Xogadores.Xaapodemosvernopanel.
2.
Altimaformadecrearunhatboaamiscomplexa,normalmentenonautilizaredes,ser
mediante linguaxe SQL. Crearemos a tboa Equipos.Abre omen Ferramentas>SQL.
CopiaainstrucinseguintenacaixaComandoqueserexecutadoepremeExecutar.
CREATE TABLE "Equipos" ("IdEquipo" INT IDENTITY, "IdClub" INT,
"IdCategoria"INT,"NomeEquipo"VARCHAR(40));
BASES DE DATOS
Tipo
Integer
Integer
Pxina 10
Pxina 11
Texto
Relacionar tboas
Unha vez creadas todas as
tboas crearemos as relacins
entre elas. Iremos ao men
Ferramentas> Relacins
faremos dobre clic sobre as
catro tboas, ou premeremos
Engadir seleccionando cada
unha,astboaspasanaocadro
Deseo de relacin, podemos
premerPechar.
Temos as catro tboas cos
seus campos visibles, e as
podemosdesprazaredistribur
ao noso gusto polo cadro de
Deseoderelacin.
AprimeirarelacineraentreClubseEquipos,era
de tipo 1:n, nestas relacins engadimos o campo
chaveprimariadatboa1entreoscamposdatboa
n, neste caso o campo IdClub (deben ser do
mesmo tipo nas das tboas). Para relacionalas,
simplementeprememoscoratosobreocampoIdClub
natboa Clubs eoarrastramosataocampo IdClub
datboaEquipos,nestaserchaveexterna.Candosoltamosoratoapareceunhaliadeuninentre
amboscamposenosseusextremosindicacalarelacin1ecalan.
NastboasClubseXogadoresnonestnvisiblestodososcampos,podemosvelosdesprazandoa
barradadereitaoufacendomisgrandeatboa.
Acabamosorestoderelacins,tencoidado,sernecesarioquearrastresoscamposdendeatboa
Fichascaraasoutrasxaquearelacinagoraentrechavesprimarias.Onosocadroquedaras:
Integridade referencial
Acreacindechavesprimariaseaposteriorrelacindetboasmedianteditaschaves,fanposiblea
integridadedosdatos.oquesecoececomo integridadereferencial.Estagarantequeentodo
momento os datos introducidos sexan correctos, sen que se produzan repeticins innecesarias, se
perdanoueliminendatosdeformaaccidentalouseestablezanrelacinsmalresoltas.
ParagardaracoherenciadaBDssernecesarioquenastboasrelacionadassieliminamosalgn
BASES DE DATOS
Pxina 11
Pxina 12
rexistro(unclubporexemplo)desaparezantamnosrexistrosrelacionados(equipospertencentesa
eseclub),paraisosernecesarioeditarasrelacins.
Faremos dobreclicnaliadeuninentreastboas Clubs e Equipos,marcaremosasopcins
ActualizaropcinsActualizarencadoiroeOpcinsdeeliminacinEliminarencadoirodestexeito,
calquera modificacin de IdClub na tboa Clubs se actualizar na tboa Equipos, e calquera
eliminacindunclubnatboaClubseliminarosequiposrelacionadosdatboaEquipos.
Exercicio3:
Establece as relacins restantes entre Equipos, Xogadores e Fichas. As relacins deben permitir
que as modificacins e eliminacins nas tboas Equipos e Xogadores repercutan na tboa Fichas.
Crear ndices.
Paraaxilizarofuncionamentodabasededatos,convncrearndicesparatodasaschavesexternase
os campos usados mis a mido para filtrar filas. Ao definir as relacins, Base xa creou
automaticamenteosndicesparaaschavesexternas:quedanporcrearndicesparaoscamposdeuso
frecuentenosfiltros,diciraquelescamposqueusaremosnormalmenteparafacerprocuras.
Tboa
Campos de filtro
Clubs
Equipos
NomeEquipo, IdCategoria
Xogadores
Procededoxeitoseguinteparacadatboa.NopanelTboasfaicliccobotndereitosobreonome
datboaeselecciona Editar.Seleccionaomen Ferramentas>Deseodendice e,paracadandice
quequeirascrear,premenobotnndicenovo,ponlleunnomecombinandoonomedatboaemailo
campo,seleccionaoCampodendicecorrespondenteepremenobotnGardarndiceactual.
Para rematar pulsa
Pechar e pecha a
vent de Deseo de
tboa. Vemos os
ndices da tboa
Equipos:
Exercicio 4:
Crea os ndices das tboas Clubs e Xogadores.
Editar tboas.
Unhavezcreadasastboaseasrelacinsabasededatosxafuncionardexeitoelemental,xa
podemosintroducirosdatosdirectamentenasnosatboas,peroantesimosdarllesunformatomis
vistoso.
BASES DE DATOS
Pxina 12
Pxina 13
DAR FORMATO
NopaneldeTboasfaidobreclicnatboaClubsparaeditarosdatos.Faicliccobotndereitona
barradecabeceirasdefila,seleccionaFormatodatboa,apareceunhafiestranaquepodesmodificaro
carcteraoteugusto,escolleTamao10ptepulsaAceptar.Volvefacercliccobotndereitonabarra
decabeceirasdefila,seleccionaAlturadefilaeaxustaaAlturaa0,50cm.
Introduceagoraosdatosdestesclubsdirectamentenoscamposenbrancodatboa(podesatoparos
clubsafeccionadosdeACoruanawebhttp://www.afacoruna.com/noticias.html),tamnpodesinclur
outrosclubsquecheinteresenmis.
NomeClub
Enderezo
Poboacin
AtlticoLosCastros AvenidadelEjrcito,19Bajo
ACorua
Avda.DomingoSierraMarao,8Bajo Culleredo
OlmpicodeRutis
Tr.CardenalCisneros34
ImperatorO.A.R.
ACorua
Gral.Sanjurjo,1281
MontaerosS.C.
ACorua
Provincia
ACorua
ACorua
ACorua
ACorua
CP
15006
15174
15007
15006
Tfno1
981139870
981650254
981245284
981132713
IntroducetamnosseguintesxogadoresnatboaXogadores:
Nome
Sergio
Jose
Francisco
ngel
Antn
Carlos
Philip
Bruno
Sidi
Alex
Apelidos
AndradeMolina
PrezLpez
PzGonzlez
SaavedraSnchez
SeoaneGarca
GiorginiVarela
OConnellBean
CoteloLomas
Ahmed
LuguerosPin
Datanac.
06/05/06
18/02/04
10/06/05
04/07/07
25/01/06
30/01/07
17/04/05
05/11/06
21/10/05
19/09/04
Nacionali.
Espaola
Espaola
Espaola
Espaola
Espaola
Arxentina
Irlandesa
Espaola
Marroqu
Espaola
Poboacin
DornedaOleiros
OBurgoCulleredo
PortazgoCulleredo
NadelaOCorgo
PerilloOleiros
Pontevedra
ACorua
Ourense
OBurgoCulleredo
OGrove
Provincia
ACorua
ACorua
ACorua
Lugo
ACorua
Pontevedra
ACorua
Ourense
ACorua
Pontevedra
Candoabresunhatboaestpreparadaparaaintroducindenovosdatosperoocursorestsobreo
primeirocampodoprimeirorexistro,siatboaxatenmoitosrexistrosalmacenados,poderesultar
molestoterquedesprazarnosataofinaldamesmaparasituarnosnunrexistrobaleiroeintroducir
novosdatos, Base dispndobotn NovoRexistro,debaixononavegadorderexistros,quesitao
cursornoprimeirorexistroenbranco.Esterexistroenbrancotenun asterisco noseuselectorde
rexistro.Candocomecesaintroducirunrexistronunhatboa,deformaautomticaaparecedebaixoo
seguinteenbranco,parapermitirteseguirintroducindoainformacin.
Agorapodemosmodificarunpoucooformatoparaquesevexantodososdatosouquedenmis
BASES DE DATOS
Pxina 13
Pxina 14
ORDENAR,BUSCAREFILTRARDATOS.
Tamnpodemosordenarosdatosporalgncampoenparticularpremendoosbotnsdeordenar
ascendente(AZ,09)oudescendente(ZA,90).Tamnpodemosordenarpormisduncampoecada
un deles ascendente ou descendente. Neste ltimo caso premeremos no botn de ordenar e
seleccionaremososdistintoscriteriospororde.Paraeliminaraordenacin,pulsaobotn Eliminar
filtro/orde.
Para localizarrapidamenteunrexistro ougrupoderexistros,premeremosobotn Localizar
rexistro(lupaouprismticos)dabarradeferramentas.
Nafiestraqueseabreseleccionaremos:
odatodorexistroabuscar,porexemploanacionalidadeEspaola,
podemosseleccionarsebuscamoscamposbaleiros(nulo)ouqueconteandatos(nonnulo).
Sequeremosbuscarentodososcamposdatboaounoqueseleccionemos(nonosocasoser
nocampoNacionalidade).
Podemosconcretarapartedocampoondebuscar.
Outras
caractersticas que podes ver na imaxe. Debemos marcar normalmente a opcin Aplicar
formatodecampo,especialmentenocasodedatasounmeros,perorecomendablefacelo
sempre.Cando prememos o botn Buscar o cursor sitase no rexistro localizado, se
continuamospremendoobotnocursorirasedesprazandopolosdemaisrexistroscoincidentes
BASES DE DATOS
Pxina 14
Pxina 15
codatoabuscar.
UnhaopcinmoiinteresanteaExpresincomodn,candomarcamosdevanditaopcinpodemos
introducirunhaseriedesignosquefacilitanaprocura,porexemplo:
?:Reemplazauncarcter,porexemplo?osdaracomoresultadoJosouXos.
*:Reemplazacerooumiscaracteres,porexemploS*daracomoresultadotodososnomesque
comezasenporS,P*znocampoApelidodaracomoresultadoPzePrez.
Podemosaplicarfiltros,dexeitoquessexanvisiblesosrexistrosquenosinteresen.Parafiltraras
filasqueteenomesmovalornunhacolumna,ponocursornacelacorrespondenteepulsaobotn
Filtro automtico. Por exemplo, para filtrar os clubs da Corua (Poboacin) coloca o cursor na
columnaPoboacinnocampoACoruadecalqueraclub,preme Filtroautomtico,oOlmpicode
RutisdesaparecexaquedeCulleredo.Paradesactivarofiltro,premenobotn Aplicarfiltro ou
Eliminarfiltro/orde.
Paraintroducirunhacriteriodefiltradomiscomplexousao Filtroestndar.Porexemplo,para
filtrarosclientescuxonmerodetelfonoremateen4,pulsa Filtroestndar,selecciona Nomede
campo:Telfono,Condicin:como,Valor:*4epulsaAceptar.Paraeliminarofiltro,pulsaobotn
Eliminarfiltro/orde.
ImosfacerunsexerciciosperoantesengadiremosalgnsclubsmisnosaBds:
NomeClub
Enderezo
Poboacin
Provincia CP
Tfno1
SanPedrodeVisma ACorua 15011 981275030
C.D.Calasanz Ctra.LosFuertess/n
RaCabaas,23Bajo
ACorua
EirsS.D.
ACorua 15009 981292503
ACorua
MaravillasS.D. FranciscoCatoira,13Bajo
ACorua 15007 981927777
CafeteraInternacionalII,Av.Rubine7
ACorua
TorreC.F.
ACorua 15004 981251558
Exercicio 5
Busca tdolos xogadores cun apelido que remate en ...ez.
Busca tdolos clubs que leven S.D. No seu nome.
Busca tdolos xogadores nacidos no mes de maio.
Filtra tdolos clubs que o seu nome comece por M.
Filtra tdolos clubs cuxo cdigo postal empece por 15 e remate en 4.
Filtra tdolos xogadores de nacionalidade espaola pero non da provincia da Corua
OUTRAS POSIBILIDADES
Podedarseocasodequealgndatodatboanondemasiadotilounonqueremosqueovexan
outras persoas, por exemplo o IdClub da tboa Clubs se crea automaticamente polo que non
necesarioveloduranteaintroducindedatos,podemosocultaracolumnafacendoclicnacabeceirada
mesmacobotndereitodoratoeseleccionandoOcultarcolumnas.Parafacelavisibleoprocesoo
mesmo,clicdereitoencalqueracolumnaeseleccionarMostrarcolumnas.
TamnpodemosinserirdatosnastboasmedianteinstrucinsSQL.Copiaasinstrucinsseguintes,
abreomenFerramentas>SQLepgaasnacaixaComandoqueserexecutado.Analizaoscomandos
utilizados: INSERTINTO seguidodonomedatboaeoscamposautilizare VALUES seguidodo
contidodecadaundesescamposcorrectamenteordenadoeseparadoporcomas.Osvaloresdebenir
entrecomiassalvoquesexannumricos.
INSERT INTO "Clubs" ("NomeClub", "Enderezo", "Poboacion", "Provincia",
"CodPostal", "Telefono1") VALUES ('Espaol S.D.', 'Alfonso VII, 13 Baixo', 'A
Corua','ACorua','15005','981141433');
INSERT INTO "Clubs" ("NomeClub", "Enderezo", "Poboacion", "Provincia",
"CodPostal", "Telefono1") VALUES ('C.D. Marte', 'Santo Toms, 66 Bajo', 'A
Corua','ACorua','15002','981204812');
BASES DE DATOS
Pxina 15
Pxina 16
Exercicio 6:
Introduce os datos seguintes:
IdCategora
Campo
Tipo
0
1
2
3
4
5
6
Integer (aut)
Texto
Categora
Prebenxamn
Benxamn
Alevn
Infantil
Cadete
Xuvenil
Senior
Relaciona esta tboa coa tboa equipos mediante o campo IdCategora e introduce os datos:
Equipos
IdEquipo
IdClub
IdCategora
NomeEquipo
0
1
2
0
0
0
6
5
4
Los Castros A
Los Castros B
Los Castros C
Unhavezfeitooexercicio6podemoscomprobaraintegridadereferencial:
Na tboa Clubs modificamos o Idclub de Los Castros (cambiamos o seu valor 0 por 10 por
exemplo), agora na tboa Equipos podemos ver como o IdClub cambiou nos tres rexistros que
acabamosdecrear,atboaactualzaseautomticamentexaquemarcamosaopcin Actualizaren
cadoiro.VolveacambiaroIdcluba0natboaClubs.
SeeliminarasoclubLosCastros,automaticamenteeliminarasostresequiposcreadosxaqueesta
relacintenactivadatamnapropiedadeEliminarencadoiro.Podesfacelo,perorecordavolvera
incluroclubLosCastrosevolveraintroducirosdatosdatboa Equipos tendoencontaonovo
IdClub.
AbreatboaCategorasecambiaoIdCategoradeBenxamnde17,premeobotndegardar,
aparecerunerroxaqueestarelacinnontenactivadaapropiedadeActualizarencadoiroerompera
arelacincoafilacorrespondentedatboaEquipos.
CONSULTAS
Asconsultasservenparadascousas:
Extraer informacin da base de datos. Sera parecido aos filtros pero con moitas mis
posibilidades.Estetipodeconsultassedenominanconsultasdeseleccin.
Modificar astboasqueconfiguranabasededatos.Estetipodeconsultassedenominan
consultasdeaccin.
Extraerinformacindabasededatosmedianteastboascomofacamoscosfiltrosmoitasveces
nonserunhaboaideaxaqueastboasteenmoitainformacinqueposiblementenonnosinterese
ou,polocontrario,ainformacineescasaoudifcildeentender(temostboasondeaspersoasestn
representadaspolosseusidentificadores,nonpodemossaberoidentificadordetodoomundo).
As consultas permiten adaptar a informacin a aquelo que realmente necesitamos, reducindo o
nmerodecampos,cambindollesonome,facendooperacinsconeles,agrupandodatos,combinando
tboas,etc.
AopremersobreConsultas,naparteesquerdadepxinainicial,podersverasposibilidadesque
Baseofrece:
Crearunhaconsultaenvisualizacindedeseo...
BASES DE DATOS
Pxina 16
Pxina 17
Usaroasistenteparacrearunhaconsulta...
CrearunhaconsultaenmodoSQL...
fiestra
seleccionaremos os campos
quequeremosverouengadir
nosaconsultasimplemente
facendo dobreclic nonome
doscamposdatboasituada
na parte superior,
seleccionamos
Nome,
Apelido e DataNacemento.
Se poemos o cursor na
tboadeabaixoenCampoou
enTboaobtemosunhalista
despregable que tamn
permitefaceraseleccindos
camposquenecesitemos.
NacolumnaDataNacementoenafilaOrdeseleccionaremosascendente(demenoramaior).
Paraveroresultadopodemos:
iraomenVer>PrevisualizaroupremerF4
iraomenEditar>ExecutarconsultaoupremerF5(ouobotndabarradeferramentas).
BASES DE DATOS
Pxina 17
Pxina 18
GardaaconsultacomoConsulta01.DataNacemento.
Equipos
IdEquipo
IdClub
IdCategora
NomeEquipo
3
4
5
6
7
8
9
10
11
12
0
0
0
1
1
1
1
1
1
1
2
1
0
6
5
4
3
2
1
0
Los Castros E
Los Castros F
Los Castros G
Olmpico A
Olmpico B
Olmpico C
Olmpico D
Olmpico E
Olmpico F
Olmpico G
Esta tboa un pouco difcil de entender xa que temos moitos identificadores, pero podemos
utilizalaparabuscarosequiposdunclubutilizandoonomeenvezdoidentificador:
1.
SeleccionamosaopcinUsaroasistenteparacrearunhaconsulta...
BASES DE DATOS
Pxina 18
Seleccionamos as
tboas e campos,
neste
caso
collemos o nome
doclubdeClubs,a
categora
de
Categorasonome
do equipo de
Equipos eoId.da
categora
de
Equipos.
3.
Seleccionamos
como criterio de
ordendaconsultao
IdCategora para
que
saian
ordenadas
correctamente e
non
alfabticamente.
4.
Este paso o
deixamos en
branco xa que o
faremos mellor en
vistadeseo.
5.
Osseguintespasos
(Detalleouresumo
e Alcumes) tamn
os deixamos como
estn.
BASES DE DATOS
Pxina 19
Pxina 19
7.
Importante:
volvemos a poer
as relacins entre
as tboas para que
Base saiba de que
campos estamos a
falar.
Pxina 20
Onomedoclubea
IdCategora as
desmarcamos para
que non sexan
visibles.
Marcaremos o
criterio
de
procura,serLIKE
Olmpico *, se
non poemos o *
non
atopar
resultados, xa que
o nome correcto
OlmpicodeRutis.
Poderamos marcar mis criterios en columnas paralelas, isto sera o que se chama unha
procuraAND.Osdatosatopadosteranquecumprirtodososcriteriosmarcadosentodosos
campos.
TamnpodemosmarcarcriteriosnasfilasOu,seraunha procuraOR.Osdatospoden
cumpriruncriterioououtro,nonteenporquecumprilostodos.
OscriteriosdeTextodebenescribirsedomesmomodonoqueestnintroducidosnatboa,
pero entre comias, Base as coloca automaticamente. Nos campos Numricos ters que
introducir onmerocoseucorrespondentepuntodecimal(seotivera).Nonpodeinclur
signosmonetarios.Oscamposde Data podesindicalosdosseguintesxeitos:28Feb1994,
28/02/1994;28021994.
Utilizacindeoperadoresdecomparacinpararealizarunhaprocuramisprecisa.
BASES DE DATOS
Pxina 20
CARCTER
8.
USO
Pxina 21
EXEMPLO
Faicoincidircalqueraletraounmero. =100;mostraosrexistroscoincidentes.
<
>
Con nmeros, busca aqueles que son < 400; mostra 350, pero non 450.
menores. Con letras mostra aquelas <"C";mostraasletrasAeBperononaZ
que son menores que ela no
abecedario.
<=
>=
Maiorigual(>=)oumenorigual(<=), >=400;mostrartodososvaloressituadospor
busca aqueles valores que sexan encimade400(inclusive).
maior/menor e igual que o criterio
introducido.
<>
OresultadofinalsernexclusivamenteosnomesdosequiposdoOlmpicodeRutiseassas
categoras.GardaaconsultacomoConsulta02.EquiposRutis:
Exercicio 8:
Cambia a consulta para que s colla os equipos de categora Alevn e grdaa como Consulta03.Alevin.
Campos calculados:
Non s introducimos unha operacin (a divisin, coa barra /), se non tamn unha funcin
BASES DE DATOS
Pxina 21
Pxina 22
predefinidaque DATEDIFF,estafuncinrestadasdatasutilizandotresparmetrosseparadospor
comas(tencoidadocoascomias)DATEDIFF('1parmetro',"2parmetro",3parmetro):
1parmetro. Formato da data ('dd', 'mm', 'yy') das, meses ou anos. Nos
usamosmeses,poderamosusaranosperooresultadononseraexacto.
2parmetro.
Primeiradata.
3parmetro. Dataarestar,poderaseruncampoou,comonestecaso,outra
funcinpredefinida(CURRENT_DATE)quedevolveadataactualdosistema.
Porltimodividimosoresultadoporos12mesesdunanoe...voil:
FxatenafilaAlcume,nelapoemosonomedacabeceiradacolumnaquequeremosqueapareza
nanosaconsulta.GardaaconsultacomoConsulta04.Idades.
NafilaCriteriodacolumnaquenosintereseescribimosocondicionanteouconector(<,>,>=,
<=,=,...),logounespacioelogodouspuntos":"eseguidamente(senespacio)apregunta.
Exemplos:
=:Categora
<=:DataFinal
Imosverunexemplocoaconsultaquexatemoscreada,simplementeintroducimosnafilaCriterio
dacolumnadocampocalculadoIdadeoseguinte:
=:Introduza_idade
Candoapliquemosaconsultanospedirqueintroduzamosaidadedosxogadoresaprocurar:
BASES DE DATOS
Pxina 22
Pxina 23
Garda
a
consulta
Consulta05.ParametroIdade.
como
Exercicio 9:
Cambia a Consulta02.EquiposRutis para que pida como parmetros o Club e a categora. Grdaa como
Consulta06.EquiposPorClub.
Cambia a Consulta05.ParametroIdade para que saian s os xogadores de 11 anos ou menos. Grdaa como
Consulta07.Sub11.
Exercicio 10
Para este exercicio ters que buscar axuda por internet para saber como extraer o ano dunha data.
Crea unha consulta para que, introducindo un ano, salgan os xogadores nacidos nel. Grdaa como
Consulta09.XogadoresPorAno.
para
que
pida
os
xogadores
nacidos
entre
dous
anos.
Grdaa
como
Funcins
SnosquedaporverautilidadedafilaFuncinnavistadeseodasconsultas.Medianteesta
podemoscontar,agrupar,facerclculos,etc.
Por exemplo, imos aproveitar a consulta na que calculabamos a idade dos xogadores e
desmarcaremosavisualizacindetodososcamposmenosaidade.Nestecamposeleccionaremosa
funcinMximo,eobteremosaidademisalta.GrdaacomoConsulta11.MaximaIdade.
Do mesmo xeito poderamos marcar Mnimo (a mis baixa), Media, Contaxe (cantidade de
xogadores),etc.
BASES DE DATOS
Pxina 23
Pxina 24
Consultas SQL
PodemoscrearconsultasconlinguaxeSQLseleccionandoaopcin Crearunhaconsultaenmodo
SQL...,istopermitemoitasposibilidades,peronecesariocoecerbenestalinguaxe.
Podes pasar da vista deseo a SQL e viceversa premendo no botn Activar/Desactivar
visualizacindedeseo.
Exercicio 11:
Abre en modo deseo (clic dereito e selecciona Editar) as consultas que tes creadas ata o momento, preme o botn
Activar/Desactivar visualizacin de deseo e estuda os comandos.
SELECTCamposFROMTboasWHERECriteriosdeseleccin
Porexemploparaseleccionarosxogadoresdenacionalidadeespaolafaremos:
SeleccionaraopcinCrearunhaconsultaenmodoSQL...
MarcamosaopcindomenEditar>ExecutarcomandoSQLdirectamente.
Nafiestraqueseabreescribimos:
SELECT "Nome", "Apelido", "Nacionalidade" FROM "Xogadores" WHERE
"Nacionalidade"='Espaola'ORDERBY"Apelido"ASC
SeleccionamosomenVer>PrevisualizarouprememosobotnExecutarconsulta.
Aestruturapodevariarparafaceralgunhasconsultasespeciais,porexemploparaseleccionaros5
xogadoresmisvellosdatboaXogadoresfaremos:
select "Nome", "Apelido", "DataNacemento" from "Xogadores" order by
"DataNacemento"limit5;
Outraformadefacelo:
selecttop5"Nome","Apelido","DataNacemento"from"Xogadores"orderby
"DataNacemento";
GardaaconsultacomoConsulta12.Top5.
Consultas de accin.
OpenOfficeBaseandanontenperfeccionadoosistemadeconsultascomoparafacerestetipo
BASES DE DATOS
Pxina 24
Pxina 25
utilizando o modo deseo, por iso ser necesario utilizar a linguaxe SQL, utilizar as tboas
directamenteouosformularios,andanonestudados.
Imosestudardoustiposdeconsultasdeaccin:
A) Consultasdeactualizacin.
B) Consultasdeeliminacin.
AntesdenadaimosinserirdatosnatboaFichas.Oquefaremosserficharaosxogadoresde9e
10anos(Benxamn)noequipoLosCastrosFeaosde11e12anos(Alevn)noOlmpicoE.
A tboa Fichas necesita obrigatoriamente 3 campos: IdXogador, IdEquipo e Temporada.
Necesitamos abrir algunha tboa e/ou consulta para saber que xogadores debemos meter en cada
equipo.
1.
2.
AbrimosatboaEquiposparapoderverosidentificadoresdecadaequipo.
3.
OLLO!!!
ATEMPORADAQUE
APARECEAQUADA
DATADECREACIN
DOFICHEIRO
Exercicio 12:
Fai unha consulta de seleccin na que figure o nome de cada xogador, a sa idade, o equipo no que ten
ficha e a temporada. Grdaa como Consulta13.Fichas_Temporada.
CONSULTAS DE ACTUALIZACIN
Son un tipo de consultas de accin que facilitan moito realizar cambios globais nun grupo de
rexistrosdunhaoumistboasnunnicopaso.
Nestetipodeconsultas,ascomonasdeeliminacinqueveremosposteriormente,fundamental
limitaroconxuntoderexistros quequeremos quesevexanafectadosutilizandoalgncriteriode
seleccin,doutroxeitopoderamoscambiaroueliminartodososrexistrosdabasededatos.
ImaxinaporexemploqueteequivocachescandonatboaFichasasignachesosxogadoresde9e10
anosaoequipoLosCastrosF,querasfaceloaoOlmpicoF.Simplementeteramosquecambiaro
IdEquipode5a12.Seforanmoitosxogadores,facelounporunseramoitedioso.
AdemisdebemostercoidadoxaquepodenexistirxogadoresnoequipoLosCastrosFperode
outrastemporadas,eesesnonosqueremoscambiar.
BASES DE DATOS
Pxina 25
Pxina 26
UtilizaremoslinguaxeSQLcoaseguinteestrutura:
UPDATE
"Nometboa"
SET
"Campo1"=Valor/Expresin,
"Campo2"=Valor/Expresin...WHERE(Condicin)
SET
Nonosocasoquedaraas(menFerramentas>SQL):
UPDATE "Fichas" SET "IdEquipo"= 12 WHERE ("IdEquipo" = 5 AND "Temporada" =
'201516')
PechamoseimosaomenVer>Actualizartboas.AbreatboaFichasparacomprobaroresultado
ouexecutaaConsulta13.Fichas_Temporada.
CONSULTAS DE ELIMINACIN
Estetipodeconsultasdeaccinserveparaborrarrexistrosdunhaoumistboas.Nocasodequea
tboaoutboasimplicadasnaconsultapertenzanaunharelacin1amoitosesexanatboaprincipal,
posiblequeseeliminenrexistrosdeoutrastboasquenonaparecennaconsultasetemosactivadaa
opcindeeliminacinencadoiro.
Comodixemosnoapartadoanterior fundamentallimitaroconxuntoderexistrosquequeremos
borrarutilizandoalgncriteriodeseleccin,doutroxeitopoderamoseliminartodososrexistrosda
tboaoudabasededatos.
UtilizaremoslinguaxeSQLcoaseguinteestrutura:
DELETEFROM"Nometboa"WHERECriterio_Seleccin
Nocasoquequixeramoseliminarosfichaxesfeitosnoapartadoanterior(xogadoresdoOlmpicoF
natemporada201516)ocdigoseraoseguinte(menFerramentas>SQL):
DELETEFROM"Fichas"WHERE("IdEquipo"=12AND"Temporada"='201516')
PechamoseimosaomenVer>Actualizartboas.AbreatboaFichasparacomprobaroresultado
ouexecutaaconsultadoexercicio12.
Volvearealizarasfichaxeseliminadas:
OLLO!!!
ATEMPORADAQUE
APARECEAQUADA
DATADECREACIN
DOFICHEIRO
FORMULARIOS
OsformulariossonobxectosdeBasequepermitenintroducir,cambiarouverrexistrosdedatosde
xeitomiscmodoqueastboas.
Teenaavantaxedequepodemosaplicarcaractersticasdeformatoeasdarlleunaspectomis
atractivoeprofesional.Sabesque,tanimportantecomointroducirinformacinnatabasededatos,
presentaladeformaclaraeatractivaenpantalla.
BASES DE DATOS
Pxina 26
Pxina 27
Podemosutilizalospararealizartdalasoperacinsdemantementodedatos:
Engadirnovosrexistros
Eliminarrexistrosexistentes
Modificardatos
Ordenarosrexistros
Ademaispermitirn:
Utilizarfontesespeciais,cores,formatos,etc.
Mostrardatosdevariastboas.
Automatizartarefas.
Calculartotais.
Utilizargrficos.
Comonoscasosanteriorespodemosutilizaroasistenteouavisualizacindedeseoparacrearun
formulario.
Imoscrearunformularioquenospermitaverunhafichadecadaclubcontodososseusdatoseos
seusequiposetamnintroduciroudardealtanovosclubsnabasededatos.
Prememos en Usar o
asistente para crear un
formulario ... e na primeira
fiestra nos pide que
seleccionemos a tboa ou a
consulta asociada ao mesmo,
nestecasoloxicamentesera
tboa Clubs, e engadiremos
todos os campos da mesma
medianteobotn>>.
BASES DE DATOS
Pxina 27
Pxina 28
Tamndebemosmarcaros
camposquequeremosverno
subformulario, neste caso
queremos ver o nome do
equipo e a sa categora (de
momentooIdcategora):
O seguinte paso e
seleccionaradistribucindos
campos en ambos
formularios, podes probar e
elixir o que mis che guste,
sempre o podemos cambiar
despois no modo deseo.
Selecciono en columnas con
etiquetas arriba para o
principal,efolladedatospara
osecundario.
Pxina 28
Pxina 29
osrexistrosmedianteosbotnsdefrecha,crearnovosrexistros,eliminarosexistentes,ordenalose
filtralos.
Exercicio 13:
Cambia a Consulta04.Idades para que saian todos os campos da tboa Xogadores (enderezo, codPostal,
telfono, etc) e a idade de cada un. moi importante que non esquezas o campo IdXogador. Grdaa como
Consulta14.Ficha_Xogadores.
Crea un formulario (Ficha_Xogadores) que tea como base a consulta anterior.
Editar un formulario.
Setodofoibennoexercicioanterior,debesterunformulariocomoodaimaxe.Senonsomosmoi
esixentes,tantoesteformulariocomooFicha_Clubs,podenvalerperfectamente.Pero,normalmente,
sempre teremos que retocar ou modificar cousas nos formularios feitos co asistente, ou facer o
formulariodesdeceronavisualizacindeseo.Porisoserfundamentalaprenderatraballarnesa
visualizacin.
Paraabrirunformularionavisualizacindedeseofacemosexactamenteigualquecoastboaseas
consultas,clicdereitoeseleccionarEditar.EmpezaremoscoformularioFicha_Xogadores.
Oprimeiroquequerocambiaracordofondo,menFormato>Pxina,fichaFondoeseleccionao
quemischeguste.
Agorapodemospoerlleunttulo,selecciona Texto nabarradeferramentas dedebuxo,faiun
rectnguloeescribenelottulo(FichaXogador),podesseleccionaroestilodeletra,otamao,acor,
etc. Podes facerlle espacio ao ttulo desprazando os campos do formulario, usa a ferramenta
Seleccionardabarradedebuxoeseleccionaoscamposquequeresmoverunporunoutodosxuntos.
Domesmoxeitopodescambiaradistribucindoscamposnoformularioporoutramiscomprensible.
PodesusarasteclasCtrlouMaisculas(nonBloqMays)premendoaomesmotempooratopara
seleccionarvarioscampos,ouseleccionarocampoeaetiquetaporseparado.
ExisteunbotnqueoNavegadordeformularios,estepermiteabrirunhafiestranaqueaparecen
todososelementosdoformularioordenadosecoseunome.Destexeitopodemosverqueelementos
BASES DE DATOS
Pxina 29
Pxina 30
pertencenacadaformularioousubformularioeseleccionalosdirectamenteparaveroumodificaras
saspropiedades.
Candoseleccionasvarioscampos,tesdispoibleobotnAliamentonabarradedebuxoparaqueo
aliamentosexaperfecto.
Tamnpodescambiarotamaodoscamposouasetiquetasarrastrandodendeospuntosquese
creancandoseleccionamososmesmos.
Podes engadir debuxos, lias, recadros, mis texto, etc., para mellorar o aspecto final do teu
formulario.
Agoraimosdarlleformatosetiquetaseaoscampos,paraiso(navisualizacindeseo)faremos
dobreclicsobreoquenosinterese(campo,etiquetaouambos)eaparecerafiestraPropiedades(de
etiqueta,campooumltiple)ondepodescambiarotipodeletra,otamao,acor,oaliamento,os
bordes,etc.Nesafiestra Propiedades existenoutrasmoitasposibilidades,algunhasdascalesiremos
vendopoucoapouco.
Omeuresultadofinalfoieste:
Exercicio 14:
Dalle formato agora ao formulario Ficha_Clubs. Debera gardar concordancia co que fixeches no de
Ficha_Xogadores, manter o mesmo estilo.
Xatemosoformulariocompleto,perotenunproblema...Nosubformularioequiposnonvemoso
nomedacategora,soseuidentificador.Arranxaloserunprocesocomplexo:
1.
Clicsobreosubformularioparaseleccionalo.
2.
3.
4.
Cambiaosdatosseguintes:
a) Tipodecontido:ComandoSQL
b) Contido:aconsultadaimaxe:
BASES DE DATOS
Pxina 30
Pxina 31
c) Ligarcamposprincipaisedependentes:ponIdClubenSubformularioeenEquipos.
5.
6.
VaiagorafichaXeralecambiaetiquetaIdCategoraporCategora.
7.
Comprobaoresultadodesactivandoomododeseo.Agoradeberanverseascategoras.
Exercicio 15:
Fai o mesmo no formulario Ficha_Xogadores para poder ver o historial de fichas de cada xogador (equipo
e temporada na que xogou).
Ters que utilizar o Navegador de formularios e engadir un Formulario dentro do actual. Con ese novo
formulario seleccionado ters que engadir un control de tboa para ver o historial de fichas de cada xogador.
Imos ver se funciona o formulario Ficha_Clubs, vai ao ltimo rexistro coas frechas de
desprazamentoepreme Seguinterexistro oupreme Novorexistro directamentedendeondeesteas.
Introduceclubsnovos:
NomeClub
C.S.D.Arza
C.D.Lugo
C.D.Ourense
PabellnC.F.
Enderezo
PadrePardo,332
AvdadosDeportess/n
Poboacin
Arza
Lugo
C/Ervedelo,s/n.EstadiodoCouto Ourense
Avda.PardodeCela,2
Ourense
Provincia
ACorua
Lugo
Ourense
Ourense
CP
Tfno1
15810
27004 982231754
32002 988232513
32002 606268278
Xaest,dlleagardar.
Agora,coficheirodeimaxesqueteproporcionaoteuprofesorpodespoeroescudoacadaclub,
simplementeclicdereitocorato,seleccionaInseririmaxesdesdeeseguearutacorrespondenteaonde
gardasasimaxes.
Exercicio 16:
Busca imaxes por internet e insire fotos no formulario Fichas_Xogadores.
CONTROIS DE CAIXAS
Nosformulariosquetemoscreadopodemosverbasicamenteuntipodecontrol,odenominado
Caixadetexto.Estepermitemostrarocontidodoscamposdetexto,data,numricos,etc.,dunhatboa
ouconsulta.
Cando fas un formulario directamente na visualizacin deseo, ou en
calqueramomentodespoisdecrearoformulario,podesengadirunhaCaixade
texto premendo o botn correspondente da barra de controis de formulario
(esquerda)earrastrarataobterotamaodesexado.
TamnpodespoeretiquetascobotnCampodeetiquetadamesmabarrade
ferramentas.
BASES DE DATOS
Pxina 31
Pxina 32
Despoispodeseditaraspropiedadesdecadaundelesfacendo
dobreclicsobreosmesmosparaverafiestra Propiedades.No
casodunhaCaixadetextodebesseleccionarafichaDatosdesta
fiestraeelixirocampodoquedependerdevanditacaixa.Por
exemplo,nocasodeinserirunha Caixadetexto noformulario
Ficha_Clubsobteramosesteresultado:
Caixadelista:listadevaloresparaelixirodesexado.
Caixa de combinacin: combina unha caixa de texto cunha caixa de lista, o usuario pode
seleccionardalistaouescribirovalor.
Podemos aplicar unha Caixa de combinacin por exemplo no campo Provincia dos nosos
formularios,dexeitoquenelaparezanasprovinciasxaintroducidasnabasededatose,sealgunhanon
aparece,ousuariopodetecleala.
ComezamoscoaFicha_Clubs.Facendoclicdereitosobreocampo(senetiqueta)quenosinteresa
temosaopcinSubstituirpor,nelaeliximosCaixadecombinacin.
AgorafacemosdobreclicparaverafiestraPropiedades.Nela,nafichaDatos,seleccionamosTipo
decontidodalista:Sqle,enContidodalista,facemosestaconsulta:
SELECTDISTINCT"Provincia"FROM"Clubs"
BASES DE DATOS
Pxina 32
Pxina 33
OcomandoDISTINCTfaiqueosdatosrepetidosssaianunhaveznalista,senonopuxramosa
listadespregableserainterminable,xaqueACoruaapareceraunmontndeveces.Podesfacera
probaconesenocomando.
Agora,nafichaXeral,buscamosaopcin Despregableeseleccionamos Si.Oresultadoseralgo
as:
Agoratemosoutroproblema,nonpodemosinserirequiposnafichadecadaclub,temosquefacelo
natboaEquiposcoquesupndeterquerecordaroIdClubeIdCategora.Podemossolucionareste
problemacreandounformularioeutilizandoCaixasdelista.
1.
SeleccionaUsaroasistenteparacrearunformulario...
2.
Selecciona,datboaEquipos,oscamposIdClub,IdCategoraeNomeEquipo.
3.
Nonengadiremossubformulario.
4.
Disposicinencolumnasetiquetaarriba.
5.
Oformulariospoderserusadoparaengadirdatosnovos.
6.
Visualizacinen3D.
7.
Nomedoformulario:Asignar_Equipos.
En visualizacin deseo
seleccionaCaixadelista
earrastraparacrearunha
caixa ao lado do campo
IdClub.
2.
Nafiestraqueseabrenos
pideatboadaqueimos
sacarosdatosdacaixade
lista, o contido da lista,
os nomes dos clubs.
Elixiremos a tboa
Clubs,loxicamente.
BASES DE DATOS
Pxina 33
Naseguintepantallanos
pide o campo concreto
do que sacaremos os
datos,NomeClub.
4.
Pxina 34
Xapodemoscomprobaroresultadodesactivandoavisualizacindeseo.Seleccionamosunclube,
automaticamente,oseuidentificadorpasaragardarsenocampoIdClub.
Exercicio 17:
Fai o mesmo para que no campo IdCategora se almacene o cdigo mediante outra caixa de lista das
categoras existentes.
Dlle formato ao formulario para que tea o mesmo estilo que os dous anteriores: cor de fondo, estilos e
tamaos de letra, ttulos, etc...
BASES DE DATOS
Pxina 34
Pxina 35
Exercicio 18:
Fai un formulario parecido ao anterior (chmalle Fichaxes) para poder fichar xogadores na tboa Fichas.
Deber ter das caixas de lista, unha para os xogadores (co nome, apelidos ou ambos), outra para os
equipos e unha caixa combinada para as temporadas.
Comproba que funciona fichando ao xogador Sidi Ahmed no equipo Olmpico C na temporada 2013-14.
OUTROS CONTROIS
Existenunhaseriedecontroismoitilesahoradefacerformularios.Nonosimosvertodos,teredes
queinvestigarunpoucopolavosaconta,peroimosnomearetraballarconalgnmis.
Temos controis que indican se unha opcin est activada ou non, por exemplo no formulario
Ficha_XogadorespoderamosteruncampoSexocondasopcinsMeFeunhascasiasparamarcar
unhaououtra:
Caixadeverificacin:
.Podenenglobarsenunmesmogrupodexeitoquesiseleccionamos
unhanonsepodaseleccionaraoutra.
Botndeopcin:
OutrocontrolmoiinteresanteoCampodedata,estepermitedesplegaruncalendarioquefacilita
moitoaintroducindedatas.Opodemosutilizar noformularioFicha_Xogadoresparaintroducira
datadenacemento.
1.
Envisualizacindeseofaidobreclicsobreocampo
(sen etiqueta) DataNacemento para ver as sas
propiedades.
2.
NafichaXeralseleccionaDespregable:Si.
3.
4.
INFORMES
Afinalidadedosinformespresentardexeitoagradableouprofesionalosdatoseoperacinsque
fagamoscoanosabasededatos.Porexemplopresupostos,facturas,informesdeventas,grficosde
resume,etc.
Do mesmo xeito que os formularios, os informes tamn deispoen de distintos controis para
presentarosdatosouparamelloraroaspectodomesmo.
Existendoustiposdeinformesquepodemosrealizardependendodequeteamosinstaladaunha
extensindenominadareportbuilder(oraclereportbuilderenopenofficeelibreofficereportbuilder
enlibreoffice).Senonatemosinstaladaspoderemosrealizarinformesutilizandooasistente,eestes
nonpermitirnfacerdemasiadascousas.Imoscrearunsinxeloinformeparaverosclubsdanosabase
dedatoseosseusequiposusandooasistenteesinterinstaladaaextensinreportbuilder.
BASES DE DATOS
Pxina 35
Pxina 36
Noprimeiropasodebemosseleccionaratboaou
consultaemisoscamposquequeremoslistar,imos
usar a consulta que fixemos no exercicio 7 deste
titorial,(Consulta02.EquiposRutis)peroconalgns
cambios,gardaacomoConsulta15.Informequipos:
A escollemos e
seleccionamosostrescampos
damesma:
Noseguintepasopodemospoerunnomedeetiquetaacadacampo,nosodeixaremosigual.
O seguinte paso
serve para agrupar os
rexistros a partir dos
valores dun ou varios
campos. Base pode
agrupar at catro
campos. No noso
exemplo agruparemos
osequiposporclub.
BASES DE DATOS
Pxina 36
Pxina 37
Na seguinte fiestra
escollemos o tipo de
ordenacin:
Despoistemosvarios
deseos predefinidos a
elixir, que permiten
distintas combinacins,
tamn
podemos
seleccionar
a
orientacin da pxina,
horizontalouvertical.
Eliximos onomedo
informe,oquefaremos
despoiseseoinforme
ser esttico ou
dinmico:
Esttico:
Se
mostrarn os datos
a partir do
momento que se
crea o informe.
Non refrexar
cambios
posteriores.
Dinmico: Os
datos se actualizan
cada vez que
seleccionamos o
informe.
Omeuresultadofinalfoieste:
Grdao
Informe01.EquiposporClub.
como
Exercicio 19:
Fai un informe no que salgan os clubs cos seus equipos e os xogadores de cada equipo coa sa idade.
BASES DE DATOS
Pxina 37
Pxina 38
Comotodososoutrosobxectosdabasededatos,tamnpodemosmodificareeditarosinformes,
simplementefaremosclicdereitocoratosobreoinformeeseleccionaremosEditar.
Abreenvisualizacindeseooinformequeacabasdefacer.AedicinsefaiconOpenofficeWriter,
poloquepodesaproveitartodooquesaibasdesaaplicacin.Osinformesestnfeitosabasedetboas
ecamposdeinformacin.
Podesdistinguirtrespartesnoinforme:
Encabezado
Corpo
Pdepxina
PonocursornoCorpo,encalquerapartedocontidodoinforme(club,equipo,xogadoresouidade),
inmediatamenteapareceabarradeferramentas deTboaparapoderengadirousuprimirfilas ou
columnasoucalqueraoutrapropiedadedetboaquexaestudamosocursopasado(bordes,cores,
tamaos,etc).
SeleccionandooscamposcundobreclicapareceafiestraEditarcampo.Seleccionandoocontido,
podemosvariaroestiloeformatodocarcterigualquenoutrotextocalquera.
TamndispoemosdabarradeferramentasdeControisdeformularioaesquerdadapantalla.
Exercicio 20:
Cambia algns aspectos do formato do teu informe.
REPORT-BUILDER
Imoscrearagoraomesmoinformeperocoaextensinreportbuilderinstalada.Tamnutilizaremos
oasistenteperoagoratemosaposibilidadedecrealodirctamentenavistadeseo.Antesdecomenzar
deboavisarqueestaextensinmoiinestable,doadoqueBasepecheinesperadamenteoucolgueo
programa,poresodebesgardarfrecuentementeoscambiosquevaiasfacendo,tantonaventanado
informecomonaprincipal.
Ospasossonexactamenteosmesmosqueno
caso anterior salvo o 5 Escoller deseo, e o
resultadocompletamentedistinto:
Nontemosningntipodeformato,ninlia,
nincor.Peroagoratemosaposibilidadedefacer
todo eso na vista deseo, seleccionando o
informeefacendoclicdereitosobrel.
Avistadeseoesta:
BASES DE DATOS
Pxina 38
Pxina 39
Podemosverqueagoraoinformeestdivididoenseccins(cabeceiras,detalle,rodap.Colocando
ocursorsobreelaspodemosvariarassaspropiedadesnopaneldadereita,esepanelopodemosfacer
apareceroudesaparecerpremendoF4ouobotn
.Aoladodesebotntemosoutrosparafacer
mltiplescousas:Inseriretiquetas,campos,imaxes,lias,alinearobxectos,etc.
Nabarradeferramentassuperiortemos4botnsimportantes:
Servenparaengadircamposdataboaouconsultanaquesebasaoinforme,abrironavegadordo
informe(igualqueonavegadordeformulario),crearnovoscriteriosdeordenacineagrupamento,e
executaroinformeparavercomoresulta.Tamendispoemosdetodasasopcinsdeformatadode
pxinaedecaracter.
Conestaextensinpodemosinseririmaxesdetodotipo(logodoclubnoencabezadoporexemplo),
podemoscrearinformesenvistadeseoapartirdecomandosSQLdirectamentenoinforme,podemos
crearcamposespeciaisnosquepodemosintroducirfrmulas,calculartotais,etc.
Endefinitiva,apesardasainestabilidade,moitomisverstilqueaopcinestandard,epolo
tantomoitomisrecomendable.
REMATE
ContodooquevimosnestestemasxapodemosusaraBDsdunxeitobsico.Apartirdeagoraser
atalaborengadirllecadavezmelloresutilidadeseperfeccionaroseuaspectooufuncionamento.
Algunhasdasposibilidadesquetepropoosonasseguintes:
BASES DE DATOS
Pxina 39
Pxina 40
Necesitasalmacenarainformacinrelativaaosequiposnospartidos(datadopartido,rival,
local/visitante,resultado,rbitro,...)
Tamnainformacindecadaxogadornesepartido(titular,minutosxogados,goles,faltas,
tarxetas,etc...)
2.
Tamnpodesalmacenartodaainformacinrelativaaosadestramentos(tipodeadestramento,
obxectivo,exercicios,...)eosxogadoresqueasistenacadaadestramento.
BASES DE DATOS
Pxina 40
Pxina 41
8.
BIBLIOGRAFA
1. AVILA, Jacob.
JACOBSOFT[en lia].
Dispoible na Web
<http://jacobsoft.blogspot.com/2007/07/jacobsoft.html>[Consulta:18deabrilde2008].
2. CentrodetecnologaInformtica(Espaa)[enlia].CursodeFileMakerPro.Dispoiblena
Web<http://www.wikilearning.com/curso_gratis/curso_de_filemaker_pro/4440>[Consulta:10
deabrilde2008].
3. Conclase [en lia]. MySQL con clase. Gestin de bases de datos. Dispoible na Web
<http://mysql.conclase.net/curso/index.php?cap=000>[Consulta:14demaiode2008].
4. FEILER, Jesse. Filemaker 8. Maza, Virginia (trad.) Madrid: Ediciones Anaya Multimedia
(GrupoAnayaS.A.),2007.ISBN:9788441521162
5. FileMakerPro9.Guadelusuario.20052007FileMaker,5201PatrickHenryDrive;
SantaClara,California95054EE.UU.
6. FileMakerPro9.Tutorial.20052007FileMaker,5201PatrickHenryDrive;SantaClara,
California95054EE.UU.
7. MERELOGUERVOS,JuanJulin.IntroduccinalusodelasbasesdedatosdesdePerl[en
lia].DispoiblenaWeb<http://geneura.ugr.es/~jmerelo/tutoriales/bdsql/>[Consulta:12de
maiode2008].
8. RIVAS FEAL, Antonio. Bases de Datos no Curso do Cefore: Educacin Fsica:
UtilizacindasTecnoloxasdacomunicacinedaInformacin.NovembroDecembro2004.
ACorua.
BASES DE DATOS
Pxina 41