Você está na página 1de 6

Habilidade: Fundamentos de Banco de Dados (Prof.

Juliana Saragiotto Silva) Parte I

1. Conceitos de Banco de Dados


A tecnologia aplicada aos mtodos de armazenamento de informaes vem crescendo e gerando um impacto cada vez maior no uso de computadores, em qualquer rea em que os mesmos podem ser aplicados. Para tanto, ao se aventurar nesta rea de Banco de Dados, faz-se necessrio, num primeiro momento, conhecer algumas definies basilares que permeiam esta temtica.

1.1. Definies
i) Dado um fato conhecido, que pode ser armazenado e que possui um significado. Por exemplo: 01/01/2008 a representao de uma data. Informao o dado, que foi processado por um determinado sistema, e que tem algum valor para tomadas de decises. Banco de dados (BD) ou Database (DB) (...) pode ser definido como um conjunto de dados devidamente relacionados (MACHADO, 2004:20). Desta forma, segundo o mesmo autor, um banco de dados possui as seguintes propriedades:

ii)

iii)


iv)

uma coleo lgica coerente de dados com um significado inerente; uma disposio desordenada dos dados no pode ser referenciada como um banco de dados. Ele projetado, construdo e populado com valores de dados para um propsito especfico; um banco de dados possui um conjunto predefinido de usurios e aplicaes. Ele representa algum aspecto do mundo real, o qual chamado de minimundo1; qualquer alterao efetuada no minimundo automaticamente refletida no banco de dados.

SGBD (Sistema de Gerenciamento de Banco de Dados) consiste em uma coleo de dados interrelacionados e um conjunto de programas para acess-los (KORTH e SILBERSCHATZ, 1999). O principal objetivo de um SGBD proporcionar um ambiente tanto conveniente quanto eficiente para a recuperao e armazenamento das informaes do banco de dados. Sistema de Banco de Dados corresponde ao conjunto formado por um banco de dados mais as aplicaes (programas de aplicao/consulta + SGBD) que manipulam o mesmo, conforme pode ser visualizado na Figura 1.1.

v)

Minimundo - Poro da realidade, captada pelo analista, a qual a gesto de negcios de um aorganizao tem interesse em observar, controlar e administrar. A complexidade existente no momento de analisar um minimundo pode levar o analista a dividi-lo em partes menores, s quais damos o nome de viso do processo de negcio (MACHADO, 2004:20).

Habilidade: Fundamentos de Banco de Dados (Prof. Juliana Saragiotto Silva) Parte I

Programas de Aplicao/Consulta

Sistema de Banco de Dados

Software para processar manipulao

SGBD

Software de Acesso aos Dados

BD

Figura 1.1 - Um ambiente de Sistema de Banco de Dados Fonte: Adaptado de FCT (1997:3)

1.2. Usurios
Quando se pensa no desenvolvimento de uma aplicao, utilizando-se de banco de dados, necessariamente existe certo nmero de pessoas envolvidas, desde a anlise, projeto, implantao at manuteno. Todavia, vale um parntese nem sempre uma organizao dispe de todos estes profissionais, e assim, algumas pessoas passam a desempenhar mais de uma funo.

1.2.1. Administrador de Banco de Dados (DBA)


O DBA a pessoa (ou grupo de pessoas) responsvel pelo controle do sistema de banco de dados, isto , realiza tarefas como a autorizao de acesso ao banco de dados, a coordenao e o monitoramento de seu uso. Para Date (1990:38-40), as responsabilidades do DBA incluem as seguintes:

decidir que informaes manter no banco de dados; decidir a estrutura de armazenamento e a estratgia de acesso; servir de elo de ligao com o usurios; definir os controles de segurana e integridade; definir a estratgia de recuperao do banco de dados; monitorar o desempenho e atender as necessidades de modificaes; rotinas de carga (para criar uma verso inicial do banco de dados a partir de um ou mais arquivos); rotinas de despejo na memria e recuperao; rotinas de reorganizao dos dados no banco de dados, em vista de diversas razes de desempenho; rotinas estatsticas, visando, por exemplo, o monitoramento do desempenho do banco de dados; e rotinas de anlise das estatsticas.

Habilidade: Fundamentos de Banco de Dados (Prof. Juliana Saragiotto Silva) Parte I

1.2.2. Projetista de Banco de Dados


O Projetista de Banco de Dados responsvel pela identificao dos dados que devem ser armazenados no banco de dados, escolhendo a estrutura correta para representar e armazenar dados. Muitas vezes, os projetistas de banco de dados atuam como staff do DBA, assumindo outras responsabilidades aps a construo do banco de dados. funo do projetista tambm avaliar as necessidades de cada grupo de usurios para definir as vises que sero necessrias, integrando-as, fazendo com que o banco de dados seja capaz de atender a todas as necessidades dos usurios.

1.2.3. Usurios Finais


Existem basicamente trs categorias de usurios finais que so os usurios finais do banco de dados, fazendo consultas, atualizaes e gerando documentos: usurios casuais: acessam o banco de dados casualmente, mas que podem necessitar de diferentes informaes a cada acesso; utilizam sofisticadas linguagens de consulta para especificar suas necessidades; usurios novatos ou paramtricos: utilizam pores pr-definidas do banco de dados, utilizando consultas preestabelecidas que j foram exaustivamente testadas; usurios sofisticados: so usurios que esto familiarizados com o SGBD e realizam consultas complexas.

1.2.4. Analistas de Sistemas e Programadores de Aplicaes


Os analistas determinam os requisitos dos usurios finais e desenvolvem especificaes para transaes que atendam estes requisitos, e os programadores implementam estas especificaes como programas, testando, depurando, documentando e dando manuteno no mesmo. importante que, tanto analistas quanto programadores, estejam a par dos recursos oferecidos pelo SGBD.

1.3. Vantagens e desvantagens do uso de um SGBD 1.3.1. Controle de Redundncia


No processamento tradicional de arquivos, cada grupo de usurios deve manter seu prprio conjunto de arquivos e dados. Desta forma, acaba ocorrendo redundncias que prejudicam o sistema com problemas como: toda vez que for necessrio atualizar um arquivo de um grupo, ento todos os grupos devem ser atualizados para manter a integridade dos dados no ambiente como um todo; a redundncia desnecessria de dados levam ao armazenamento excessivo de informaes, ocupando espao que poderia estar sendo utilizado com outras informaes.

1.3.2. Compartilhamento de Dados


Um SGBD multi-usurio deve permitir que mltiplos usurios acessem o banco de dados ao mesmo tempo. Este fator essencial para que mltiplas aplicaes integradas possam acessar o banco. O SGBD multi-usurio deve manter o controle de concorrncia para assegurar que o resultado de atualizaes sejam corretos. Um banco de dados multi-usurios deve fornecer recursos para a construo de mltiplas vises.

Habilidade: Fundamentos de Banco de Dados (Prof. Juliana Saragiotto Silva) Parte I

1.3.3. Restrio a Acesso no Autorizado


Um SGBD deve fornece um subsistema de autorizao e segurana, o qual utilizado pelo DBA para criar contas e especificar as restries destas contas; o controle de restries se aplica tanto ao acesso aos dados quanto ao uso de softwares inerentes ao SGBD.

1.3.4. Representao de Relacionamentos Complexos entre Dados


Um banco de dados pode incluir uma variedade de dados que esto interrelacionados de vrias formas. Um SGBD deve fornecer recursos para se representar uma grande variedade de relacionamentos entre os dados, bem como, recuperar e atualizar os dados de maneira prtica e eficiente.

1.3.5. Tolerncia a Falhas


Um SGBD deve fornecer recursos para recuperao de falhas tanto de software quanto de hardware.

1.3.6. Quando no Utilizar um SGBD


Em algumas situaes, o uso de um SGBD pode representar uma carga desnecessria aos custos quando comparado abordagem processamento tradicional de arquivos como por exemplo: alto investimento inicial na compra de software e hardware adicionais; generalidade que um SGBD fornece na definio e processamento de dados; sobrecarga na proviso de controle de segurana, controle de concorrncia, recuperao e integrao de funes. Problemas adicionais podem surgir caso os projetistas de banco de dados ou os administradores de banco de dados no elaborem os projetos corretamente ou se as aplicaes no so implementadas de forma apropriada. Se o DBA no administrar o banco de dados de forma apropriada, tanto a segurana quanto a integridade dos sistemas podem ser comprometidas. A sobrecarga causada pelo uso de um SGBD e a m administrao justificam a utilizao da abordagem processamento tradicional de arquivos em casos como: o banco de dados e as aplicaes so simples, bem definidas e no se espera mudanas no projeto; a necessidade de processamento em tempo real de certas aplicaes, que so terrivelmente prejudicadas pela sobrecarga causada pelo uso de um SGBD; no haver mltiplo acesso ao banco de dados.

1.4. Arquitetura/Vises do Banco de Dados 1.4.1. Abstrao de Dados


Um dos grandes objetivos de um Sistema de Banco de Dados prover aos usurios uma viso abstrata dos dados, ou seja, o sistema omite detalhes de como os dados so armazenados e mantidos no banco de dados. Existem trs nveis de abstrao de dados que compem a arquitetura de um banco de dados: nvel fsico (ou interno), nvel lgico (ou conceitual) e nvel de viso (ou externo).

1.4.2. Arquitetura do Banco de Dados


Como descrito no item anterior, a arquitetura de um banco de dados divide-se em trs nveis gerais: i) Nvel fsico ou interno descreve como os dados esto realmente armazenados no banco de dados, compreendendo o nvel mais baixo de abstrao;

Habilidade: Fundamentos de Banco de Dados (Prof. Juliana Saragiotto Silva) Parte I

ii) Nvel lgico ou conceitual descreve quais dados esto armazenados no banco de dados e quais os inter-relacionamentos entre eles, compreendendo o nvel intermedirios de abstrao; utilizado pelos DBAs para a definio de quais informaes devem ser mantidas no banco de dados; iii) Nvel de viso ou externo descreve parte do banco de dados, pois est direcionado aos usurios finais do banco de dados, que normalmente precisam conhecer apenas parte das informaes armazenadas no banco de dados. A inter-relao entre esses trs nveis de abstrao est ilustrada na Figura 1.2.

Viso 1

Viso 2

...

Viso n

Nvel lgico

Nvel fsico Figura 1.2 Os trs nveis de abstrao de dados Fonte: Silberschatz et al. (1999:5) Para facilitar a compreenso entre esses trs nveis de abstrao, ser tomado como exemplo uma analogia com o conceito de tipos de dados em linguagens de programao. Nas linguagens semelhantes ao Pascal, um registro pode ser declarado da seguinte forma: Type cliente = record Nvel fsico: um registro de cliente pode ser descrito como um nome_cliente: string; bloco consecutivo de memria (ex.: bytes); seguro_social: string; Nvel conceitual: o cliente um registro, que possui quatro rua_cliente: string; campos nome_cliente, seguro_social, rua_cliente e cidade_cliente: string; cidade_cliente todos do tipo string; end; Nvel vises: cada usurio da empresa tem a viso dos dados que lhe interessa; por exemplo, um usurio do setor de RH pode ter acesso ao nome_cliente e seguro_social.

1.5. Instncias e Esquemas do Banco de Dados


Instncia: uma coleo de informaes armazenadas no banco de dados em um determinado momento; assim, como o banco de dados muda a todo o momento em que realizada uma operao de insero, excluso ou alterao, a instncia do banco de dados tambm alterada. Esquema: o projeto geral do banco de dados, ou seja, corresponde estrutura do banco de dados (tabelas, campos, tipos de dados, entre outros); por isso no muda com freqncia. Segundo Silberschatz et al. (1999), os sistemas de banco de dados apresentam diversos esquemas, subdividos de acordo com os nveis de abstrao j discutidos: o esquema fsico (nvel mais baixo), o esquema lgico (nvel intermedirio) e os subesquemas (no nvel mais alto).

Habilidade: Fundamentos de Banco de Dados (Prof. Juliana Saragiotto Silva) Parte I

1.6. Independncia de Dados


a habilidade de modificar a definio de um esquema de um nvel, sem afetar a definio de um esquema de nvel superior. Existem dois nveis de independncia de dados: Independncia de dados lgica: a capacidade de alterar o esquema conceitual sem ter que alterar o esquema externo ou as aplicaes do usurio; um exemplo de uma alterao no nvel lgico a mudana de um tamanho de um campo necessidade de aumentar o nmero de casas decimais em um campo float; Independncia de dados fsica: a capacidade de alterar o esquema interno sem ter que alterar o esquema conceitual, o esquema externo ou as aplicaes do usurio; um exemplo de uma alterao no nvel fsico alguma modificao para aprimorar o desempenho do banco de dados.

1.7. Linguagens de acesso a um SGBD


Existe uma linguagem especfica para definir o esquema conceitual e fsico de um banco de dados relacional. A linguagem utilizada a Linguagem de Consulta Estruturada (Structured Query Language SQL), que apesar de existir um padro definido, varia de acordo com o SGBD que se esteja trabalhando. A SQL pode ser dividida em 3 grupos: Linguagem de Definio de Dados (Data Definition Language - DDL): linguagem responsvel pela definio dos objetos de armazenamento de dados no SGBD; como exemplo pode-se citar os comandos para definio de tabelas (e seus respectivos campos) que iro compor o banco de dados CREATE TABLE nome_tabela, DROP TABLE nome_tabela. Linguagem de Manipulao de Dados (Data Manipulation Language - DML): linguagem responsvel pelo comandos de manipulao dos dados em um SGBD; como exemplo pode-se mencionar os comandos de consulta, incluso, excluso e atualizao de informaes no banco de dados SELECT, INSERT, DELETE, UPDATE. Linguagem de Controle dos Dados (Data Control Language - DCL): linguagem responsvel por controlar os aspectos de acesso de usurios ao SGBD; como exemplo pode-se mencionar os comandos GRANT (que autoriza ao usurio executar determinadas operaes sobre um objeto no SGBD) e REVOKE (que remove a autorizao do usurio executar determinadas operaes sobre um objeto no SGBD). Obs.: Cada uma destas linguagens ser estudada em maiores detalhes, no captulo SQL. Os aplicativos so escritos em uma linguagem de programao, que pode ser: DELPHI, VISUAL BASIC, JAVA, C, PASCAL, entre outras. A SQL utilizada de forma embutida nestas linguagens. A linguagem SQL engloba numa nica linguagem todos os recursos necessrios para a manipulao de bases de dados relacionais.

Referncias Bibliogrficas
DATE, C. J. (1990). Introduo a sistemas de banco de dados. Traduo (da 4 edio original) de Contexto Tradues. Rio de Janeiro: Campus, 1990. FERRER, Inara. (2004). Apostila de Banco de Dados. CEFET/MT Centro Federal de Educao Tecnolgica de Mato Grosso, 2004. F.C.T. (1997). Apostila de Banco de Dados. Unimar-Universidade de Marlia, 1997. KORTH, Henry F.; SILBERSCHATZ, Abraham. (1999). Sistema de Banco de Dados. 3 ed. Makron Books, 1999. MACHADO, Felipe Nery Rodrigues (2004). Banco de Dados: Projeto e Implementao. So Paulo: rica, 2004 6

Você também pode gostar