Vous êtes sur la page 1sur 7

Bases de Dados

O que uma Base de Dados? Dados Pode-se comear por tentar dar uma definio do que so Dados. Os dados so factos em bruto, que no so necessriamente relevantes para qualquer coisa que algum queira saber. Pode-se dizer que a informao so dados teis, ou seja dados que respondem a perguntas, em vez de ocuparem apenas espao. Base de Dados possvel dizer de uma forma genrica que qualquer conjunto de dados uma Base de Dados (BD): uma agenda com as moradas de pessoas conhecidas, uma lista de CDs, um livro, apontamentos tirados nas aulas, os dados guardados nos computadores das Finanas sobre os contribuintes e a World Wide Web. O objectivo de criarmos e mantermos uma BD a de poder obter e utilizar os dados l guardados: procurar a morada de uma determinada pessoa, saber o que foi dito nas aulas sobre um tema ou procurar a pgina WWW do Prmio Nobel da Economia deste ano. Embora sendo possvel usar a definio genrica dada acima, o termo base de dados aplicado hoje em dia principalmente para fazer referncia a bases de dados informticas, isto , conjuntos de dados estruturados, manipulados usando um Sistema de Gesto de Bases de Dados (SGBD) ou Database Management System (DBMS). Para permitir ao utilizador atingir os objectivos referidos acima, um SGBD disponibiliza linguagens de: definio de dados: para criao e alterao da estrutura da BD (DDL - Data Definition Language) consulta de dados: obter e processar os dados armazenados (DQL - Data Query Language) manipulao de dados: para acrescentar dados novos e modificar dados existentes

(DML - Data Manipulation Language). Hoje em dia, cada vez mais SGBD, como o Access, "escondem" essas linguagens por trs de interfaces do utilizador grfica. Outras caractersticas dos SGBDs so: acesso simultneo: vrios utilizadores podem aceder e alterar a mesma BD ao mesmo tempo sem criar inconsistncias. Por exemplo, 2 utilizadores diferentes podem consultar simultaneamente os dados do mesmo cliente. No entanto o SGBD no permite que ambos os utilizadores alterem esses dados ao mesmo tempo. vistas: diferentes utilizadores podero ter o seu acesso limitado a partes da BD. Por exemplo, embora todos os dados de uma organizao estejam na mesma BD, aqueles que so importantes para a definio da estratgia s podem ser consultados pela administrao. construo de aplicaes: a tendncia actual dos SGBDs para combinarem a gesto do armazenamento/manipulao dos dados com a construo das aplicaes PsGrduao em SIG ESACB TMLC Base de Dados Pg. 2 que implementam os processos da organizao. Tradicionalmente, os processos eram implementados independentemente, com recurso a linguagens de programao mais ou menos integradas com o SGBD.

Alguns exemplos de SGBD de grande porte so ORACLE, Informix, Adabas, SQL Server e DB2. Para PCs temos o MySQL, Dbase, FoxPro e Access. Os primeiros tm mais capacidade e so mais fiveis do que os ltimos. Estes so adequados para uso domstico, em pequenas empresas ou como forma de aceder a partir de PCs a BDs instaladas em sistemas de grande porte, atravs de uma aplicao acessvel ao utilizador no especialista em informtica 1. Um Pouco de Histria? A utilizao comercial de BDs comeou nos anos 60. Inicialmente a informao era

guardada em ficheiros e a sua consulta e manipulao era muito pouco prtica. Para definio de dados eram usados os modelos hierrquico e de rede. No incio dos anos 70 surgiram os SGBD relacionais cuja popularidade no tem parado de crescer at hoje. Este sucesso pode ser explicado pela simplicidade do modelo em que assentam, o modelo relacional, que constitudo somente por relaes, e pelo surgimento de uma linguagem de manipulao simples e eficiente, o SQL (Structured Query Language). Base de Dados Hierrquica Uma forma de base de dados, actualmente em grande medida ultrapassada, que, como o nome sugere, organiza a informao em hierarquia. Se, por exemplo, se pretendesse que a base de dados armazenasse informao sobre empregados do departamento de parques, poderia em primeiro lugar classific-los por funo: jardineiros, varredores de rua, podadores, ... Depois poderia listar os nomes sob cada categoria; e as moradas sob cada nome, e assim sucessivamente. Este formato de organizao mostra-se bastante rpido e fcil para um computador gerir, e por causa da sua velocidade a tecnologia foi adoptada por muitos banco. Mas tem igualmente duas desvantagens muito importantes. Em primeiro lugar, rpido apenas enquanto a base de dados procura informao dentro de uma nica hierarquia; procurar o endereo de um jardineiro, por exemplo. Torna-se muito lento e desajeitado quando tenta comparar os endereos de todos os empregados. Pior ainda pois nem todos os dados so criados de forma igual. Por isso, se um empregado, por qualquer razo, deixar de se enquadrar numa categoria estabelecida digamos, por est de baixa -, ento desaparece completamente da Base de dados. Por estas razes, a base de dados hierrquica foi em grande parque substituda pela base de dados relacional. No contexto das bases de dados hierrquicas podem ser definidos dois conceitos bases: o conceito de campo e de segmento. Campo: Unidade mnima de dados identificada por um nome. Segmento: Conjunto de dados ordenados, cuja a ocorrncia constitui a unidade

mnima de intercmbio entre as bases de dados e as aplicaes, identificada por um nome. Os segmentos juntam-se em conjuntos de 1 a N ocorrncias (N>0), que por sua vez esto ligados a outras ocorrncias de outros segmentos, constituindo um tipo de associao tipo Ps-Grduao em SIG ESACB TMLC Base de Dados Pg. 3 pai-filho. Assim, um tipo de segmento pai encontra-se associado hierarquicamente a N tipos de segmentos tipo filhos. Um conjunto de associaes deste tipo constituem uma rvore de segmentos - Conjunto de segmentos unidos por associaes do tipo pai-filho. As bases de dados hierrquicas podem ser consideradas como um conjunto de rvores de segmentos, cujos nodos so os segmentos, tambm designados por floresta. importante salientar que esta definio se aplica tanto ao nvel do tipo de dados como das ocorrncias. Tambm podemos visualizar uma base de dados hierrquica com a estrutura de uma rvore invertida. As bases de dados hierrquicas tm algumas limitaes que condicionaram o seu curto tempo de vida. As que merecem mais destaque so as seguintes: A eliminao de um segmento pai, implica a remoo de todos os filhos; difcil manter a independncia entre dados e programas; A navegao difcil e tem que respeitar as associaes hierrquicas pai-filho definidas no mundo real. Modelo em Rede O modelo em rede foi proposto assumindo-se basicamente como uma extenso ao modelo hierrquico. Verses mais recentes tm vindo a apresentar sucessivas renovaes, embora sem grande sucesso, num mercado quase totalmente dominado pelo modelo relacional. Os objectos nas bases de dados em rede so descritos com base em trs conceitos fundamentais: o item, a agrupamento de dados e o registo. A noo de item, semelhante ao conceito de campo de um ficheiro: Item: A unidade mais pequena de dados identificado por um nome.

Vrios itens pode ser agrupados constituindo assim, um agrupamento de dados: Agrupamento de dados: Conjunto de itens, identificado por um nome. Finalmente surge o conceito de registo: Registo: Conjunto de itens e grupamento de dados identificado por um nome e que serve de intercmbio entre a base de dados e os ficheiros. Ps-Grduao em SIG ESACB TMLC Base de Dados Pg. 4 Historicamente, o modelo em rede surge da ideia de ligar um conjunto de ficheiros com apontadores. Apenas possvel definir associaes entre um registo proprietrio e os N registos membros. Daqui resulta que estas associaes tm carcter hierrquico, que podendo definir-se a vrios nveis, podem formar uma estrutura em rede, que so denominadas sets. Sets: Tipo de associaes entre registos do tipo T1 e T2, na qual uma ocorrncia do registo proprietrio T1 corresponde a N ocorrncias dos registos membros do tipo T2. No esquema seguinte podemos visualizar uma representao de uma base de dados em rede: As bases de dados em rede conseguem resolver parte dos problemas de navegao levantados pelas bases de dados hierrquicas, na medida em pode ser feita em vrios sentidos. No entanto, no garante a independncia entre dados e programas e levanta problemas na remoo de um set proprietrio. Base de dados por objectos Como j foi dito, a simplicidade do modelo relacional bem como a separao entre a definio e a manipulao dos dados foram factores importantes para o seu sucesso. No entanto, este modelo dificulta a representao de situaes complexas e o armazenamento e manipulao de novos formatos de dados como imagens, som e vdeo. Uma resposta adequada a estas questes dada pelo modelo orientado aos objectos (OO). Este modelo no s a base dos OODBMS (Object-Oriented Database Management Systems) como

est a ser gradualmente incorporado em alguns RDBMS (Relational DBMSs ou SGBDs Relacionais). Esta ltima soluo facilita a migrao das BDs existentes para o novo modelo, tornando-se mais atraente para muitas empresas. Uma abordagem orientada para os objectos no que toca ao armazenamento de dados numa base de dados. Para alm de armazenar os dados propriamente ditos, as base de dados orientadas para objectos armazenam informao sobre o que pode ser, sensatamente, feito com dados. Com efeito, a base de dados orientada para os objectos tenta manter os seus dados em contexto. Sabe que um desenho de um programa de Desenho Assistido por Computador (CAM) completamente diferente dos resultados financeiros do ano anterior, ainda que o que prprio computador consiga ver em ambos os casos seja uma poro de bits. Ps-Grduao em SIG ESACB TMLC Base de Dados Pg. 5 Base de dados Relacional A tecnologia para armazenar informao e dados mais comummente utilizada hoje, a base de dados Relacional foi criada por E.F. Codd na IBM nos anos 70. Codd baseou a tecnologia numa teoria matemtica de relaes, que garantia que cada dado tinha um, e apenas um, lugar na base de dados. As bases de dados Relacionais armazenam informao em tabelas. Uma ou mais coluna so o index da tabela, ou seja, a chave pela qual a informao procurada quando necessrio. Qualquer outro dado (ou seja, os outros itens em cada fila) est associado a um index. Existem duas operaes bsicas nestas tabelas. Filtrar os dados elimina itens que correspondem (ou no) a alguns critrios; por exemplo, todos os vendedores que vivem em Londres. Uma juno combina dados de tabelas diferentes. Por exemplo, uma juno entre os valores de vendas trimestrais (indexados por nome de vendedor) e uma tabela de endereos de vendedores (tambm indexado por nome) poderia ser til se a administrao quisesse enviar a cada vendedor um resumo do seu desempenho recente. Porqu aprender Bases de Dados?

Porque que algum que no (nem pretende ser) profissional de sistemas de informao dever aprender a usar BDs? 1. Pelo mesmo motivo pelo qual se devia aprender a usar um computador h 10 anos atrs: a divulgao crescente dos computadores far com que dentro em breve os SGBDs sejam ferramentas de uso to comum como so hoje em dia as folhas de clculo. 2. Para facilitar a comunicao com os profissionais de sistemas de informao: a criao de sistemas de informao um processo que envolve pessoas tanto da rea de sistemas de informao como da rea de aco da organizao, sendo a comunicao entre ambos os grupos essenciais para o sucesso do sistema. Ora, os problemas de comunicao fazem com que o sistema criado raramente satisfaa as expectativas do cliente e mesmo algumas vezes seja o motivo do insucesso deste tipo de projectos. Sendo as BDs a infra-estrutura dos sistemas de informao, algum conhecimento destas poder contribuir para melhorar a qualidade dos sistemas de informao. Para aplicar os conceitos aprendidos ser usado o Access da Microsoft. Note-se que se pretende utilizar o Access para apreender conceitos que so aplicveis noutros SGBDs e no obter um conhecimento profundo da utilizao desta aplicao. Isto implica que frequentemente no ser descrita a forma ptima de executar algumas tarefas mas antes aquela que melhor poder ser generalizada para outros SGBDs. Ao contrrio do que acontece com os primeiros, nos 2 itens que se seguem impossvel fugir s especificidades do sistema usado: construir uma aplicao que funcione como um todo, e