• Nenhum resultado encontrado

Sistema de Gestão de Base de Dados

No documento abcNet: alfabetização na NET (páginas 55-59)

Segundo Thomas Connolly [CONN-DB, pág 14], uma base de dados é uma colecção de dados logicamente relacionados, com descrição desses mesmos dados, desenhados de modo a satisfazer as

necessidades de informação de uma organização. Isto significa que uma base de dados deixou de ser um conjunto de ficheiros desgarrados cada qual com a sua informação, e muita dela redundante, para passar a ser um conjunto de dados integrados com o mínimo de redundância. A base de dados deixou de ser pertença de A ou B para passar a ser uma entidade partilhada por todos os intervenientes. Além dos dados propriamente ditos, a base de dados contém informação descritiva dos mesmos dados que ela contém, dizendo-se por isso auto-descritiva. A descrição dos dados é conhecida como o catálogo do sistema ou dicionário de dados ou metadados.

Antes do aparecimentos dos SGBD ( Sistemas de Gestão de Base de Dados ), os dados eram guardados em ficheiros. A utilização de SGBD, em comparação com a utilização de informação residente em ficheiros, tem vantagens e desvantagens que passamos a descrever:

Vantagens:

• redundância de dados: a redundância de dados pode ser minimizada concentrando-se apenas nas ligações necessárias entre entidades;

• consistência de dados: controlando a redundância, reduz-se o risco de inconsistência, pois se determinada informação apenas existir numa localização, não existe qualquer risco de a mesma informação assumir, em cada instante, mais do que um valor;

• mais informação com menos dados: o facto de os dados possuírem relacionamentos entre si, permite a obtenção de informação que de outro modo exigiria que os dados estivessem duplicados;

• integridade de dados: a integridade dos dados é garantida por mecanismos que evitam a violação de determinadas regras que são definidas aquando do desenho da base de dados;

• segurança: os SGBD implementam mecanismos de segurança de modo a definir para cada utilizador quais os dados a que tem acesso e que tipo de operações pode efectuar sobre os mesmos;

• cópias de segurança e serviços de recuperação: mecanismos para cópias de segurança e serviços de recuperação fazem parte dos SGBD.

Desvantagens:

• complexidade: aproveitar as potencialidades de um SGBD exige conhecimentos profundos por parte dos diversos intervenientes, desde o administrador aos utilizadores finais;

• dimensão: um SGBD, pela sua complexidade, exige grandes recursos em termos de hardware;

• custos: um SGBD pode ter um custo significativo, dependendo das opções tomadas;

• desempenho: questões relacionadas com o desempenho nem sempre são acauteladas desde o início, o que pode levar a situações intoleráveis;

• risco de falha: o facto de os dados se encontrarem centralizados, uma única falha pode ter consequências graves.

Os SGBD são a actual plataforma de gestão de informação que veio introduzir alterações profundas no modo de trabalhar e de organizar a informação. Muitos problemas ainda subsistem por resolver. O SGBD, tal como outros sistemas informáticos, têm tido uma evolução ao longos dos anos, tendo surgido vários tipos de SGBD.

Tradicionalmente, a engenharia de Software e os SGBD relacionais têm coexistido como entidades distintas. A tecnologia das bases de dados têm-se centrado na representação estática da informação enquanto que a engenharia de Software se tem centrado em aspectos dinâmicos do Software. O aparecimento da nova geração de SGBD, nomeadamente SGBD Orientada a Objectos (SGBD-OO) e SGBD Relacional de Objectos (SGBD-RO), tem potenciado a convergência das duas tecnologias. O conflito entre o sucesso adquirido e inequívoco das SGBD-R e a necessidade de uma nova e radical abordagem aos SGBD levaram à criação de duas correntes distintas: os defensores da SGBD-RO defendem que é suficiente a introdução de funcionalidades orientadas ao objecto nos actuais SGBD-R; os defensores do SGBD-OO defendem que o actual modelo relacional é incapaz de satisfazer as necessidades de aplicações complexas tais como o desenho assistido por computador, sistemas de informação geográfica, etc.

Fragilidades do SGBD-R

Nas últimas décadas houve uma alteração significativa nos sistemas de informação. Os SGBD-R têm tido uma aceitação geral em aplicações relativas a facturação, gestão de produção, instituições bancárias, etc. Contudo, as SGBD-R têm-se mostrado incapazes de satisfazer novos requisitos que insistentemente têm vindo a aumentar a sua relevância e em áreas tão diversas como o desenho assistido por computador, produção assistida por computador, sistemas multimédia, publicação digital, sistemas de informação geográfica, etc. Algumas destas limitações têm origem em factores tais como:

• as relações de um SGBD-R não suportam tipos de dados com mais de uma dimensão, tais como arrays, estruturas, etc.;

• num SGBD-R não é possível definir subtipos de relações, pois estas são sempre entidades que existem por si só;

• os SGBD-R não têm em conta as vantagens inerentes ao paradigma da programação orientada ao objecto.

Os defensores dos SGBD-OO e SGBD-RO invocam um conjunto de limitações dos SGBD-R que são contempladas pelos SGBD-OO e SGBD-RO. Algumas destas dificuldades são:

• entidades: o processo de normalização leva à criação de novas relações que não têm correspondência à realidade;

• ausência de semântica: tanto os dados como os relacionamentos são representados pelas relações, não havendo possibilidade de distinção entre si, como é o caso do desdobramento de um relacionamento M:N entre duas relações que dá origem a 3 relações uma das quais de relacionamento; a acrescentar, os relacionamentos não contêm semântica que permitam a identificação do tipo de relacionamento existente: tem, pertence, etc.;

• tipos de dados: o modelo relacional assume homogeneidade vertical e horizontal; assume ainda que a intersecção entre uma linha e uma coluna deve conter sempre um valor atómico;

• operações limitadas: as operações estão limitadas às indicadas na especificação SQL-92; • queries recursivos: grande dificuldade na elaboração de queries recursivos, isto é de queries

sobre relacionamentos de uma relação com ela mesma;

• afinidade: SQL é uma linguagem declarativa que manuseia linhas de dados e os relacionamentos entre si, enquanto que linguagens imperativas, tal como o C#, apenas podem lidar com uma linha de cada vez.

No documento abcNet: alfabetização na NET (páginas 55-59)

Documentos relacionados