Vous êtes sur la page 1sur 19

Universidade Federal Fluminense Escola de Engenharia es Curso de Engenharia de Telecomunica co o Tutorial Programa de Educa ca Grupo PET-Tele

Tutorial de Introdu c ao a Banco de Dados


(Vers ao: A2010M12D16)

Autor: Juliana Geremia Niter oi - RJ Dezembro / 2010

Sum ario
1 Introdu c ao 2 O que e um banco de dados 2.1 Porque usar banco de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Objetivos de um banco de bados 3.1 Acesso r apido aos dados . . . . . . . . . . . . . . 3.2 Redu c ao de redund ancia e inconsist encia de dados 3.3 Compartilhamento de dados . . . . . . . . . . . . 3.4 Aplica c ao de restri c oes de seguran ca . . . . . . . 3 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9 10 10 10 10 11

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

4 Estrutura geral de um sistema de banco de dados 4.1 Componentes de processamento de consultas . . . . . 4.1.1 Compilador DML . . . . . . . . . . . . . . . . 4.1.2 Pr e-compilador para comandos DML . . . . . 4.1.3 Interpretador DDL . . . . . . . . . . . . . . . 4.1.4 Componentes para o tratamento de consultas 4.2 Componentes de autoriza c ao e integridade . . . . . . 4.2.1 Gerenciamento de autoriza c ao e integridade . 4.2.2 Gerenciamento de transa c oes . . . . . . . . . 4.2.3 Administra c ao de arquivos . . . . . . . . . . . 4.2.4 Administra c ao de buer . . . . . . . . . . . . 4.2.5 Arquivo de dados . . . . . . . . . . . . . . . . 4.2.6 Dicion ario de dados . . . . . . . . . . . . . . . 4.2.7 Indices . . . . . . . . . . . . . . . . . . . . . . 4.2.8 Estat sticas de dados . . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

5 Software Gerenciador de Banco de Dados 5.1 O que e um SGBD . . . . . . . . . . . . . . . . . . . . . . . 5.2 Funcionamento de um SGBD . . . . . . . . . . . . . . . . . 5.2.1 Intera c ao com o gerenciador de arquivos . . . . . . . 5.2.2 Cumprimento de integridade . . . . . . . . . . . . . . 5.2.3 Cumprimento de seguran ca . . . . . . . . . . . . . . 5.2.4 C opias de reserva (backup ) e recupera c ao . . . . . . . 5.2.5 Controle de concorr encia . . . . . . . . . . . . . . . . 5.3 SGBDs para m aquinas pessoais . . . . . . . . . . . . . . . . 5.4 As interfaces do SGBD . . . . . . . . . . . . . . . . . . . . . 5.4.1 Interfaces baseadas em menus para os clientes web ou 5.4.2 Interfaces baseadas em formul arios . . . . . . . . . . 5.4.3 Interfaces gr acas para o usu ario . . . . . . . . . . . 5.4.4 Interface de linguagem natural . . . . . . . . . . . . . 5.4.5 Interface para usu arios parametriz aveis . . . . . . . . 5.4.6 Interfaces para o administrador do banco de dados . 5.5 Quando n ao usar o SGBD . . . . . . . . . . . . . . . . . . . 5.6 Alguns exemplos de SGBDs . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . navega c ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

6 Modelos de dados 6.1 Modelos l ogicos baseados em objetos . 6.1.1 Modelo entidade-relacionamento 6.1.2 Modelo orientado a objetos . . 6.2 Modelos l ogicos baseados em registros . 6.2.1 Modelo relacional . . . . . . . . 6.2.2 Modelo hier arquico . . . . . . . 6.2.3 Modelo de rede . . . . . . . . . 6.3 Modelos f sicos de dados . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

12 12 12 12 12 12 12 13 13

7 Tipos de Banco de Dados 14 7.1 Banco de Dados Relacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 7.1.1 Exemplos de banco de dados, descri c ao de algumas tabela e seus poss veis atributos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 7.2 Banco de dados Hier arquico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 7.3 Banco de dados de rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.4 Banco de dados Objeto-Relacional . . . . . . . . . . . . . . . . . . . . . . . . . . 15 8 Linguagens de banco de dados 16 8.1 Linguagem de deni c oes de dados . . . . . . . . . . . . . . . . . . . . . . . . . . 16 8.2 Linguagem de manipula c ao de dados . . . . . . . . . . . . . . . . . . . . . . . . 16 9 Usu arios do banco de dados 9.1 Usu arios nais causais . . . . . . . . . . . . 9.2 Iniciantes ou usu arios nais parametriz aveis 9.3 Usu arios mais sosticados . . . . . . . . . . 9.4 Usu arios aut onomos . . . . . . . . . . . . . 10 Administrador do banco de dados 17 17 17 17 17 18

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

Introdu c ao

Os bancos de dados se tornaram componentes essenciais no cotidiano da sociedade moderna. No decorrer do dia-a-dia, nos deparamos com atividades que envolvem alguma intera c ao com banco de dados. Nas transa c oes banc arias, nas reservas de passagens a ereas, nas compras de supermercados, no acesso ao cat alogo de uma biblioteca informatizada um banco de dados ser a acessado. O uso de banco de dados facilita o dia-a-dia de quem est a envolvido com esse tipo de transa c ao, pois torna-as mais r apidas, ecientes e seguras, e claro, importando em menos trabalho bra cal. Aliados aos bancos de dados, h a os softwares gerenciadores de banco de dados, um conjunto de programas para acesso aos dados, que tem por objetivo tornar a recupera c ao e armazenamento dos dados mais eciente e permitir ao usu ario interagir com o banco de dados.

O que e um banco de dados

Um banco de dados e uma cole c ao de dados ou registros relacionados. Esses registros ou dados s ao fatos que podem ser gravados e que possuem um signicado impl cito representando aspectos do mundo real. Um banco de dados e projetado, constru do e povoado por dados atendendo a uma proposta espec ca, ou seja, segundo a necessidade do usu ario ou de um grupo de usu arios. Possui alguns n veis de intera c co com o mundo real e um p ublico efetivamente interessado em seu conte udo. Pode ser de qualquer tamanho e de complexidade vari avel. Um exemplo de um banco de dados simples e menos complexo seria uma agenda telef onica, na qual provavelmente os registros feitos nesse banco de dados seriam o nome, o endere co, e claro, o telefone de um grupo de pessoas. Mas podemos ter bancos de dados maiores e mais complexos, como por exemplo, os registros de uma biblioteca que tenha por exemplo, um milh ao de exemplares de livros, onde esses livros poderiam ter diferentes dados registrados como o t tulo, o autor, o assunto, a edi c ao, o ano de impress ao, o n umero de p aginas, o c odigo de acesso ao livro, sua localiza c ao na biblioteca e outros dados que a biblioteca achar necess ario. Para se ter uma id eia do tamanho que um banco de dados pode ter, ELMASRI e NAVATHE (2005) citam como exemplo o banco de dados mantido pelo International Revenue Service (IRS), org ao respons avel pelo controle dos formul arios de impostos preenchidos pelos contribuintes dos Estados Unidos. Pressupondo que existem cerca de cem milh oes de contribuintes e que cada contribuinte preenche a cada ano em m edia cinco formul arios de 400 caracteres cada, e necess ario um banco de dados de 6 100 10 (contribuintes) x 5 (formul arios) x 400 (caracteres (bytes ) cada formul ario) caracteres (bytes ). Ou seja, um total de 200 gigabytes. Um n umero consider avel de dados! A necessidade de se utilizar um banco de dados e evidente!

2.1

Porque usar banco de dados

A resposta e simples: porque facilita a vida das pessoas interessados nos dados registrados em banco de dados pois e compacto, r apido, importa em menos trabalho bra aal e tem disponibilidade de acesso as informa c oes corretas e atualizadas a qualquer momento. Basta retomarmos o exemplo anterior dos formul arios dos contribuintes estadunidenses, se todos os dados fossem armazenados em papel, seria necess ario uma sala enorme para guardar todos os formul arios, onde poderiam estar sujeitos a umidade, as tra cas, ao desaparecimento da tinta no papel, ao roubo, claro que devido ao interesse que h a sobre o imposto de renda, eles seriam bem protegidos, mas se pensarmos no armazenamento digital desses dados, com certeza, tudo isso seria evitado, h a outros riscos, claro, no armazenamento digital, mas que n ao se sobrep oem ao do armazenamento em papel. Mas o fato mais interessante do armazenamento digital e como podemos tratar esses dados. Primeiramente, podemos armazena-los diretamente em um banco de dados. Estando os dados guardados em um banco de dados, posteriormente, quando for neces ario fazer uma consulta, essa consulta ser a mais r apida. Tomando como exemplo uma busca por um conjunto de dados, busca essa que pode ser feita em segundos, ou minutos, em um banco de dados digitalizado, dependendo do desempenho da m aquina utilizada, enquanto que, se a mesma busca fosse feita manualmente, poderia levar meses at e todos os dados de interesse serem computados, o que exigiria um trabalho bra cal muito grande e com uma certa probabilidade de haver erros. O exemplo acima e apenas um dos muitos exemplos que podem citados. Podemos descrever de forma mais gen erica as vantagens da utiliza c ao de bancos de dados na se c ao Objetivos de um banco de dados.

3
3.1

Objetivos de um banco de bados


Acesso r apido aos dados

Um sistema convencional de arquivos n ao atende de modo eciente a recuper c ao de dados. Por em, num sistema de banco de dados, basta escrever o programa necess ario para realizar a consulta e obt em-se o resultado desejado em um tempo muito pequeno. Por exemplo, uma empresa deseja saber em qual regi ao a densidade de seus clientes e maior. Se for feita uma busca por CEP nos arquivos da empresa, essa busca ter a de ser feita manualmente, ou seja, o funcion ario encarregado dessa pesquisa ter a de separar manualmente cada cliente por CEP. Isso pode levar um tempo muito grande. Por em, se a busca for feita atrav es de um banco de dados, esse tempo e reduzido consideravelmente, pois podemos ter acesso a todos os clientes de um mesmo CEP de uma u nica vez. Al em disso, a probabilidade de erro diminui consideravelmente.

3.2

Redu c ao de redund ancia e inconsist encia de dados

Num sistema que n ao possua banco de dados, cada aplica c ao possui seus pr oprios arquivos, o que costuma provocar uma redund ancia consider avel nos dados armazenados, seja em papel, ou em arquivos digitais que n ao tenham o formato e a organiza c ao de um banco de dados, o que acaba gerando um desperd cio de espa co de armazenamento, pois uma mesma informa c ao poder a ser gravada mais de uma vez em diferentes lugares, entretanto, em um banco de dados, basta gravar a informa c ao uma u nica vez. O uso de banco de dados tende a eliminar tamb em a inconsist encia de dados, pois em v arios arquivos, considerando os arquivo de uma empresa por exemplo, pode-se ter diferentes endere cos para um mesmo cliente, resultado de mudan ca de endere co por parte do cliente, atualizado pela empresa em apenas um arquivo. Em um banco de dados, a atualiza c ao seria feita uma u nica vez e estaria dispon vel para todos os usu arios.

3.3

Compartilhamento de dados

A partir de um banco de dados dispon vel em uma m aquina, parcelas isoladas de dados podem ser acessadas por v arios usu arios simultaneamente, para posteriormente serem utilizadas para diferentes nalidades. Chamamos de acesso concorrente o fato de uma mesma parcela de dados poder ser acessada ao mesmo tempo por v arios usu arios para as utiliza c oes as quais cada um necessitar.

3.4

Aplica c ao de restri c oes de seguran ca

Um sistema de banco de dados pode restringir o acesso aos dados de acordo com a necessidade de cada usu ario. Por exemplo, um funcion ario que e encarregado da fazer o controle do estoque de uma f abrica, teoricamente, n ao precisa ter acesso ao sal ario de cada funcion ario dessa f abrica, j a que sal ario e considerado uma informa c ao com um certo n vel de condencialidade. Portanto, o banco de dados pode restringir os dados que cada usu ario vai acessar, tornado mais segura a manipula c ao dos dados.

Estrutura geral de um sistema de banco de dados

Um sistema de banco de dados e composto por um banco de dados e um software gerenciador de banco de dados. Esse sistema est a dividido em m odulos espec cos, de modo que todas as necessidades desse sistema possam ser atendidas. Algumas das fun c oes essenciais do sistema de banco de dados podem ser oferecidas pelo sistema operacional e o banco de dados e ent ao constru do nessa base. Deve-se portanto, ao construir o banco de dados, considerar a interface entre o sistema de banco de dados e o sistema operacional. Os componentes funcionais de um sistema de banco de dados podem ser divididos em componentes de processamento de consultas e componentes de administra c ao de mem oria. Segue abaixo a descri c ao de cada componente.

4.1
4.1.1

Componentes de processamento de consultas


Compilador DML

Traduz os comandos DML (Data Manipulation Language )da linguagem de consulta em instru c oes de baixo n vel, intelig veis ao componente de execu c ao de consultas. Al em disso, o compilador DML tenta transformar a solicita c ao do usu ario em uma solicita c ao equivalente, mas mais eciente, buscando assim uma boa estrat egia para a execu c ao da consulta. 4.1.2 Pr e-compilador para comandos DML

Onde s ao inseridos em programas de aplica c ao, que convertem comandos DML em chamadas de procedimentos normais da linguagem hospedeira. O pr e-compilador precisa interagir com o compilador DML de modo a gerar o c odigo apropriado. 4.1.3 Interpretador DDL

Interpreta os comandos DDL (Data Denition Language ) e registra-os em um conjunto de tabelas que cont em metadados (dados contendo informa c oes sobre outros dados). 4.1.4 Componentes para o tratamento de consultas

Executam instru c oes de baixo n vel geradas pelo compilador DML.

4.2
4.2.1

Componentes de autoriza c ao e integridade


Gerenciamento de autoriza c ao e integridade

Testam o cumprimento das regras de integridade e a permiss ao ao usu ario no acesso aos dados. 4.2.2 Gerenciamento de transa c oes

Garante que o banco de dados permanecer a em estado consistente (correto) a despeito de falhas no sistema e que transa c oes concorrentes ser ao executadas sem conito em seus procedimentos. 4.2.3 Administra c ao de arquivos

Gerencia a aloca c ao do espa co no armazenamento em disco e as estruturas de dados usadas para representar estas informa c oes armazenadas.

4.2.4

Administra c ao de buer

Respons avel pela intermedia c ao de dados no disco para a mem oria principal e pela decis ao de quais dados colocar em mem oria cache. A vantagem principal na utiliza c ao de mem oria cache consiste em evitar o acesso ao dispositivo de armazenamento - que pode ser demorado armazenando os dados em meios de acesso mais r apidos. Al em dos componentes de processamento de consulta e de administra c ao de mem oria, algumas estruturas de dados s ao exigidas como parte de implementa c ao f sica do sistema. Essas estruturas est ao listadas abaixo: 4.2.5 Arquivo de dados

Armazena o pr oprio banco de dados. 4.2.6 Dicion ario de dados

Armazena os metadados relativos a estrutura do banco de dados. O dicion ario de dados e muito usado. Portanto grande enfase e dada ao desenvolvimento de um bom projeto com uma implementa c ao eciente no dicion ario. 4.2.7 Indices

Proporcionam acesso r apido aos itens de dados que s ao associados a valores determinados. 4.2.8 Estat sticas de dados

Armazena informa c oes estat sticas relativas aos dados contidos no banco de dados. Essas informa c oes s ao usadas pelo processador de consultas para sele c ao de meios ecientes para execu c ao de uma consulta. Para que tudo que foi dito acima seja poss vel, ou seja, para criar e gerenciar um banco de dados torna-se necess ario um Software Gerenciador de Banco de Dados, que ser a detalhado na pr oxima se c ao.

Software Gerenciador de Banco de Dados

Um banco de dados computadorizado pode ser criado e mantido por um grupo de aplicativos escritos especialmente para essa tarefa. Esse grupo de aplicativos e chamado de Software Gerenciador de Banco de Dados. A express ao Software Gerenciador de Banco de Dados e abreviada por SGBD

5.1

O que e um SGBD

Um SGDB e uma cole c ao de programas que permite ao usu ario criar e manter um banco de dados. Ele facilita os processos de deni c ao, onde ocorre a especica c ao do tipo de dados e das restri c oes dos dados que ser ao armazenados, de constru c ao, etapa de armazenamento dos dados em alguma m dia controloda pelo SGBD, de manipula c ao do banco de dados, onde podese incluir v arias fun c oes como por exemplo a pesquisa para recuperar um dado espec co, a atualiza c ao do banco de dados, a gera c ao de relat orios de dados, e outras atividades de acordo com a necessidade do usu ario, e nalmente no processo de compartilhamento dos dados entre usu arios, permitindo acesso de forma concorrente

5.2

Funcionamento de um SGBD

Um banco de dados requer um grande espa co de armazenamento. Segundo SILBERSCHATZ et al. (1999) os bancos de dados corporativos s ao medidos em gigabytes ou mesmo em terabytes de dados. Ele arma ainda que como a mem oria central de um computador n ao pode armazenar essas informa c oes, elas s ao armazenadas em discos, sendo que os dados s ao movidos entre os discos e a mem oria principal de acordo com a necessidade. Por em, a velocidade com que esses dados se movimentam e lenta se for comparada a velocidade da unidade central de processamento. O SGBD estrutura os dados de forma a minimizar o movimento entre os discos e a mem oria principal e prov e a interface entre os dados de baixo n vel armazenados num banco de dados e os programas de aplica c ao e as solicita c aes submetidas aos mesmos. S ao tarefas do SGBD. 5.2.1 Intera c ao com o gerenciador de arquivos

Os dados n ao trabalhados s ao armazenados no disco usando o sistema gerenciador de arquivos, que geralmente e oferecido por algum sistema operacional. O SGBD traduz os comandos da linguagem de manipula c ao de dados (DML) em comandos de baixo n vel do gerenciador de arquivos. Sendo assim, o SGBD armazena, faz a busca e a atualiza c ao dos dados no banco de dados 5.2.2 Cumprimento de integridade

Os dados armazenados num banco de dados precisam satisfazer certos tipos de restri c oes de consist encia. Num campo destinado ao nome dos clientes de uma empresa, pode haver apenas caracteres. Tal restri c ao ser a explicitada pelo administrador do banco de dados. O SGBD deve prover funcionalidades para a deni c ao e garantia de restri c oes. 5.2.3 Cumprimento de seguran ca

Nem todo usu ario do banco de dados precisa ter acesso a todos os dados armazenados no banco de dados. O SGDB pode impor restri c oes de seguran ca para acessar os dados.

5.2.4

C opias de reserva (backup ) e recupera c ao

Uma m aquina est a sujeita a falhas, onde os dados armazenados no banco de dados podem ser perdidos. O SGBD deve detectar as falhas e restabelecer o estado do banco de dados como estava antes da ocorr encia das falhas. Isso e feito atrav es de procedimentos de recupera c ao e c opias de reserva. 5.2.5 Controle de concorr encia

O SGBD deve controlar a intera c ao entre usu arios simult aneos, pois os mesmos podem atualizar o banco de dados concorrentemente. Segundo SILBERSCHATZ et al. (1999), muitos SGBDs tem utilit arios de bancos de dados. Dentre eles pode-se destacar a transfer encia de dados de um SGBD para outro atrav es de equipamentos que geram programas apropriados de carregamento e o monitoramento de desempenho que possibilita ao administrador do banco de dados monitorar o desempenho do mesmo e, consequentemente, tomar decis oes.

5.3

SGBDs para m aquinas pessoais

Segundo SILBERSCHATZ et al. (1999), SGBDs projetados para uso em pequenos computadores podem n ao ter todos os recursos descritos no item 5.2 . Alguns sistemas restringem o acesso a apenas um usu ario de cada vez. Outros atribuem ao usu ario a tarefa de fazer c opias de reserva ou restri c oes de seguran ca. Consequentemente, um SGBD como mencionado acima, com menos fun c oes, ter a um tamanho menor, o que ir a requerer menor quantidade de mem oria e menor custo.

5.4

As interfaces do SGBD

Podem ser subdivididas em: 5.4.1 Interfaces baseadas em menus para os clientes web ou navega c ao

Esse tipo de interface apresenta ao usu ario listas de op c oes, os menus, que o guiam durante a formula c ao de uma pesquisa. Assim, n ao h a necessidade de memorizar comando espec cos ou sintaxes de linguagem para realizar uma consulta. Esse tipo de menu geralmente e utilizado nas interfaces para navega c ao e permitindo que o usu ario pesquise o conte udo de um banco de dados de uma forma explorat oria e n ao estruturada. 5.4.2 Interfaces baseadas em formul arios

Exibe um formul ario para cada usu ario. N ao h a necessidade de preencher todos os campos do formul ario para realizar uma consulta. Normalmente, os formul arios s ao projetados e programados para os usu arios iniciantes como interfaces para transa c oes customizadas. Alguns SGBDs contem funcionalidades que permitem que o usu ario nal construa, interativamente, um formul ario na tela. 5.4.3 Interfaces gr acas para o usu ario

Uma interface gr aca para o usu ario exibe um esquema para o usu ario em um formul ario diagram atico e a consulta pode ser especicada manipulando o diagrama. Em alguns casos, as interfaces gr acas para o usu ario utilizam menus e formul arios

5.4.4

Interface de linguagem natural

Esse tipo de interface aceita solicita c oes escritas em ingl es ou em outros idiomas e tentam entend e-las. Se a interface conseguir interpretar as solicita c oes feitas pelo usu ario, uma consulta de alto n vel e gerada e submetida ao processamento pelo SGDB. Um di alogo e ent ao iniciado com o usu ario para esclarecer a solicita c ao. 5.4.5 Interface para usu arios parametriz aveis

Em geral, uma pequena s erie de comandos adaptados e disponibilizada com o objetivo de minimizar o n umero de teclas para cada solicita c ao. As teclas de fun c oes de um terminal, por exemplo, podem ser programadas para iniciar os v arios comandos, o que permite ao usu ario parametriz avel trabalhar com um numero m nimo delas 5.4.6 Interfaces para o administrador do banco de dados

Alguns comandos de dados privilegiados s ao disponibilizados pela maioria dos sistemas de bancos de dados e que apenas administradores de bancos de dados podem utiliz a-los. Esses comandos incluem cria c ao de contas, sistema de ajuste de par ametros, autoriza c oes para cria c oes de contas, mudan ca de esquemas e reorganiza c ao de estruturas de armazenamento do banco de dados.

5.5

Quando n ao usar o SGBD

Apesar das vantagens no uso do SGBD, ELMASRI e NAVATHE (2005) citam algumas situa c oes em que esse sistema pode envolver custos altos e desnecess arios, que normalmente n ao ocorreriam no processamento tradicional de arquivos. Os altos custos de utilizar SGBD s ao devidos a: Investimentos iniciais altos em hardware, software e treinamento. Generalidade que o SGBD fornece para a deni c ao e processamento de dados. Custos elevados para oferecer seguran ca, controle de concorr encia, recupera c ao e fun c oes de integridade. ELMASRI e NAVATHE (2005) armam ainda que problemas adicionais podem surgir se os projetistas do banco de dados e o administrador do banco de dados n ao projetarem o banco de dados de maneira adequada ou se a aplica c ao n ao for implementada apropriadamente. Sendo assim, indicam o uso de arquivos convencionais nas seguintes circunst ancias: O banco de dados e suas aplica c oes s ao simples, bem denidas e sem previs ao de mudan cas. H a requisitos de tempo real para alguns programas dif ceis de serem atendidos por causa da sobrecarga do SGBD. O acesso de m ultiplos usu arios n ao e necess ario.

10

5.6

Alguns exemplos de SGBDs

IBM Informix PostgreSQL Firebird HSQLDB IBM DB2 mSQL MySQL Oracle SQL-Server TinySQL JADE ZODB Sybase Microsoft Access Microsoft Visual Foxpro

11

Modelos de dados

O conceito de modelos de dados e uma cole c ao de ferramentas conceituais para descri c ao de dados, relacionamentos de dados, sem antica de dados e restri c oes de consist encia. Os v arios modelos de dados dividem-se e tr es diferentes grupos: modelos l ogicos baseados em objetos, modelos l ogicos baseados em registros e modelos f sicos de dados.

6.1

Modelos l ogicos baseados em objetos

Os modelos l ogicos com base em objetos s ao usados na descri c ao de dados no n vel l ogico e de vis oes. S ao caracterizados por dispor de recursos de estruturas bem mais ex veis e por viabilizar a especica c ao explicita das restri c oes de dados. Alguns dos modelos mais conhecidos nessa categoria: 6.1.1 Modelo entidade-relacionamento

Tem por base a percep c ao do mundo real como um conjunto de objetos b asicos, chamados entidades, e o relacionamento eles. Uma entidade e um objeto do mundo real, que pode ser identicado por outros objetos. Uma pessoa, por exemplo, pode ser considerado uma entidade, as contas de um banco, tamb em s ao entidades e entre essas duas entidades, h a um relacionamento. O relacionamento e uma associa c ao entre as entidades. 6.1.2 Modelo orientado a objetos

Tem por base um conjunto de objetos. Um objeto cont em valores armazenados em v arias inst ancias dentro do objeto. Inst ancia e o conjunto de informa c oes contidas em um determinado banco de dados em um dado momento. Um objeto tamb em tem um conjunto de c odigos, chamados m etodos, que operam esse objeto. Os objetos que cont em os mesmos tipos de valores e os mesmos m etodos s ao agrupados em classes. Uma classe pode ser vista como uma deni c ao de tipo para objetos. Essa combina c ao compacta de dados e m etodos abrangendo uma deni c ao de tipos e similar ao tipo abstrato em uma linguagem de programa. O u nico modo pelo qual um objeto pode conseguir acesso aos dados de outro objeto e por meio do m etodo desse outro objeto.

6.2

Modelos l ogicos baseados em registros

S ao usados para descrever os dados no n vel l ogico e de vis ao. S ao usados tanto para especicar a estrutura l ogica do banco de dados quanto para implementar uma descri c ao de alto n vel. 6.2.1 Modelo relacional

Nesse modelo o banco de dados e representado como uma cole c ao de rela c oes. Pode-se pensar uma tabela como uma cole c ao de rela c oes, onde cada linha representa um conjunto de dados relacionados entre si. Os dados de uma linha representam fatos do mundo real 6.2.2 Modelo hier arquico

A organiza c ao dos dados no modelo hier arquico e do tipo arvore. A estrutura de arvore pode ser pensada como uma raiz que se distribui em ramos e folhas. Uma raiz tem v arios ramos e

12

e cada galho tem v arias folhas. O caminho raiz-galho-folha eu nico, n ao existindo duas formas diferentes de chegar a uma folha a partir da raiz. Tal organiza c ao lembra, como o pr oprio nome do modelo sugere, que existe uma determinada hierarquia entre os dados. 6.2.3 Modelo de rede

Esse modelo e uma extens ao do modelo hier arquico, por em difere do hier arquico no fato de que no u ltimo, um registro lho pode ter apenas um registro pai, j a no primeiro, pode ter v arios registros pai.

6.3

Modelos f sicos de dados

Os modelos f sicos de dados s ao usados para descrever os dados no n vel mais baixo. Esses modelos captam os aspectos de implementa c ao do sistema de banco de dado.

13

7
7.1

Tipos de Banco de Dados


Banco de Dados Relacional

O banco de dados relacional segue o modelo Relacional (o modelo relacional est a descrito na se c ao modelos de dados). Este tipo de banco de dados surgiu por volta de 1970. A linguagem padr ao dos Bancos de Dados Relacionais e a Structured Query Language, ou simplesmente SQL como e mais conhecida. O termo relacional e aplicado aos pr oprios dados e ao SGDB. Foi desenvolvido para prover acesso facilitado aos dados, possibilitando que os usu arios utilizassem uma grande variedade de abordagens no tratamento das informa c oes. Pois, enquanto em um banco de dados hier arquico os usu arios precisam denir as quest oes de neg ocios de maneira espec ca, iniciando pela raiz do mesmo, no banco de dados relacional os usu arios podem fazer perguntas relacionadas aos neg ocios atrav es de v arios pontos. A principal proposi c ao do modelo relacional e que todos os dados s ao representados como rela c oes matem aticas. Um banco de dados relacional consiste em uma cole c ao de tabelas, cada uma das quais com um nome u nico. Os dados de um banco de dados relacional (BDR) s ao armazenados em tabelas, que por sua vez, nada mais s ao do que estruturas de linhas e colunas. Uma linha em uma tabela representa um relacionamento entre um conjunto de valores. Um banco de dados podem possuir v arias tabelas. Segundo SILBERSCHATZ et al. (1999) uma vez que uma tabela e uma cole c ao de relacionamentos, h a uma estreita rela c ao entre o conceito de tabela e o conceito matem atico de rela c ao, a partir dos quais se origina o nome desse modelo de dados. 7.1.1 Exemplos de banco de dados, descri c ao de algumas tabela e seus poss veis atributos

Cliente (Cliente, Taxa, Nome, Endere co, Cidade, Estado, CEP, Telefone) Pedido de compra (N umero do pedido, Cliente, Fatura, Data do pedido, Data prometida, Status ) Item do pedido (N umero do pedido, N umero do item, C odigo do produto, Quantidade) Nota scal (N umero da nota, Cliente, N umero do pedido, Data, Status ) Item da nota scal (N umero da nota, N umero do item, C odigo do produto, Quantidade vendida) Segundo ainda SILBERSCHATZ et al. (1999), esse tipo de banco de dados eu til para lidar com os problemas de bancos de dados para aplica c oes administrativas e comerciais sendo a tecnologia mais difundida na area.

7.2

Banco de dados Hier arquico

Trabalha com os dados e relacionamentos como uma cole c ao de registros relacionados por liga c oes. As liga c oes entre os registros podem ser chamadas links. Nesse tipo de banco de dados os dados est ao agrupados sob a forma de arvores. Cada registro e uma cole c ao de atributos (campos), cada um dos quais contendo somente uma informa c ao; uma liga c ao e a associa c ao entre dois registros. Por exemplo: em uma dada base de dados comercial, uma encomenda (registro) e de um u nico cliente.

14

Os registros s ao organizados sob a estrutura de arvore com raiz. A raiz da arvore e a origem dos dados daquela arvore. A arvore e dividida em n os, onde cada n o e um registro. Entre dois n os, ou seja dois registros, n ao podem existir outros registros. A rela c ao entre esses n os e semelhante a estrutura de arvore, ao sair da raiz e chegar a uma folha, existe apenas um caminho para chegar ao destino nal. Uma base de dados hier arquica pode ter v arias arvores Um exemplo simples desse tipo de banco de dados seria a rela c ao pai-lho, onde o pai ea raiz, e o lho, o n o. Dessa rela c ao, podemos perceber que a raiz pode ter muitas folhas, ou seja, o pai pode ter muitos lhos, mas um lho n ao pode v arios pais. Quando essa rela c ao hier arquica e quebrada passa-se a ter um banco de dados de rede.

7.3

Banco de dados de rede

Enquanto no modelo relacional os dados e os relacionamentos entre dados s ao representados por uma cole c ao de tabelas, o modelo de rede representa os dados por cole c oes de registros e os relacionamentos entre dados s ao representados por links. O banco de dados de rede e uma cole c ao de registros que s ao conectados uns aos outros por meio de links. Cada registro e uma cole c ao de campos. Um link e uma associa c ao entre exatamente dois registros. Sua organiza c ao se assemelha a dos bancos de dados hier arquico, por em difere no sentido de que enquanto no hier arquico, cada registro lho pode ter apenas um registro pai, no modelo de rede, um registro lho pode ter v arios registros pai, permitindo criar conex oes mais complexas. Por ser um modelo de estrutura mais completa, possui as propriedades b asicas de registros, conjuntos e ocorr encias, utilizando linguagem de deni c ao de banco de dados e linguagem de manipula c ao de dados, o que perimite uma evolu c ao mais eciente do modelo. Para exemplicar pode-se considerar um banco de dados representando o relacionamento conta-cliente de um sistema banc ario. A associa c ao entre conta e cliente e o que chamamos de link.

7.4

Banco de dados Objeto-Relacional

Os bancos de dados tradicionais como os bancos relacionais, de rede e hier arquicos foram bem sucedidos na maioria das aplica c oes comerciais de banco de dados. Por em, bancos de dados para projetos de engenharia e manufatura, experimentos cient icos, telecomunica c oes, e outros, podem ser mais complexos. Os bancos de dados orientados a objeto foram propostos para atender a essas necessidades de aplica c oes mais complexas. Algumas diferen cas desses bancos em rela c ao aos tradicionais s ao as estruturas complexas para objetos, transa c oes de longa dura c ao, novos de tipos de dados para armazenamento de imagens ou textos longos. Esse tipo de banco permite ao projetista especicar tanto a estrutura dos objetos complexos quanto as opera c oes que podem ser feitas sobre eles. Outro motivo desse tipo de banco ter sido criado ee o fato de linguagens de programa c ao orientadas a objeto serem cada vez mais utlizadas no desenvolvimento de aplica c oes de software.

15

Linguagens de banco de dados

Podemos dividir em duas categorias os tipos de linguagens oferecidas por um sistema de banco de dados. Uma delas para expressar consultas e atualiza c oes e outra espec ca para os esquemas do banco de dados.

8.1

Linguagem de deni c oes de dados

Do ingl es, Data Denition Language (DDL), e um tipo de linguagem especial onde um esquema uma linguagem formal usada para de dados e especicado por um conjunto de deni c oes. E descri c ao de estruturas de dados. Os par ametros de linguagem, ap os serem compilados, s ao armazenados em um dicion ario de dados. O dicion ario de dados e um arquivo de metadados (dados a respeito de outros dados), consultado sempre antes que um dado seja modicado.

8.2

Linguagem de manipula c ao de dados

Do ingl es, Data Manipulation Language. A manipula c ao de dados envolve a recupera c ao de informa c oes armazenadas no banco de dados, a inser c ao de novas informa c oes, a remo c ao e a modica c ao de informa c oes do banco de dados, tendo como objetivo proporcionar uma intera c ao eciente entre usu ario e m aquina. A linguagem de manipula c ao de banco de dados viabiliza o acesso ou a manipula c ao dos dados de forma compat vel ao modelo de dados apropriados. Denem-se algor tmos que permitem o acesso eciente aos dados. Existem, basicamente, dois tipos de DMLs, as procedurais, onde o usu ario deve especicar os dados que quer obter e como obt e-los, e as n ao procedurais, onde o usu ario precisa apenas especicar quais os dados quer obter.

16

Usu arios do banco de dados

Segundo SILBERSCHATZ et al. (1999), a meta b asica de sistema de banco de dados e proporcionar um ambiente de recupera c ao de informa c oes e para o armazenamento de novas informa c oes no banco de dados. Ele classica os usu arios em 4 tipos, diferenciando-os por suas expectativas.

9.1

Usu arios nais causais

Acessam o banco de dados ocasionalmente, buscando informa c oes diferentes a cada acesso. Esse tipo de usu ario costuma usar uma linguagem sosticada de consulta ao banco de dados para especicar suas solicita c oes. Normalmente s ao gerentes de n vel m edio ou elevado ou outros prossionais com necessidades ocasionais.

9.2

Iniciantes ou usu arios nais parametriz aveis

A maioria dos usu arios nais de bancos de dados. Acessam constamente o banco de dados fazendo consultas ou atualiza c oes usando tipos de consulta e atualiza c ao padronizada, que tenham sido cuidadosamente programadas e testadas. Podem ser os caixas de bancos, os funcion arios respons aveis pela reserva de v oos, hot eis e loca c ao de carros, funcion arios de correios atualizando a situa c ao de pacotes recebidos ou em tr ansito e outros.

9.3

Usu arios mais sosticados

Nessa categoria incluem-se engenheiros, cientistas, analistas de neg ocios e outros prossionais que se familiarizam com as facilidades do SGBD e as usam para implementar a c oes que atendam as suas solicita c oes complexas.

9.4

Usu arios aut onomos

Usu arios que mant em um banco de dados pessoal por meio do uso de pacotes de programas prontos. Esses programas prontos possuem interfaces gr acas ou programas baseados em menus normalmente f aceis de usar. Um exemplo disso e o usu ario de um pacote para c alculo de imposto de renda que armazena seus dados nanceiros pessoais para o pagamento do imposto de renda.

17

10

Administrador do banco de dados

Do ingl es, Data Base Administrator (DBA). Para bancos de dados de tamanho consider avel, onde v arias pessoas ir ao acessa-lo e usar os recursos por ele disponibilizados, torna-se necess ario um administrador para organizar e gerir os recursos oferecidos pelo banco de dados. No ambiente de banco de dados, os principais recursos s ao o banco de dados, o SGBD e os softwares de responsabilidade do DBA a autoriza relacionados. E c ao para o acesso ao banco, a coordenac ao e monitora c ao do seu uso e por adquirir recursos de software e hardware quando se tornar necess ario. O DBA e respons avel ainda por problemas com brechas de seguran ca ou quando o tempo de resposta do sistema e muito grande. Em grandes organiza c oes o DBA possui ainda suporte de assistentes.

18

Vous aimerez peut-être aussi