Sie sind auf Seite 1von 14

Banco de Dados

1 - Introduo ............................................................................................................... 2 2 O que um Sistema de Banco de Dados ..................................................................... 3 2.1 Principais componentes de um Sistema de Banco de Dados ..................................... 3 2.1.1 Dados.......................................................................................................... 3 2.1.2 Hardware ..................................................................................................... 3 2.1.3 Software ...................................................................................................... 4 2.1.4 Usurios ...................................................................................................... 4 2.2 Por que um Sistema de Banco de Dados ? ............................................................. 5 2.3 Vantagens da utilizao de um Sistema de Banco de Dados ..................................... 5 2.3.1. Controle de Redundncia ................................................................................. 5 2.3.2. Compartilhamento de Dados ............................................................................ 5 2.3.3. Restrio a Acesso no Autorizado .................................................................... 5 2.3.4. Tolerncia a Falhas ......................................................................................... 5 2.3.5 Integridade .................................................................................................. 5 2.3.6 Suporte a transaes..................................................................................... 6 2.4 Nveis da Arquitetura de um Sistema de Banco de Dados ........................................ 6 2.4.1 - Nvel fsico ou interno (armazenamento) .......................................................... 6 2.4.2 - Nvel conceitual (lgico de comunidade) ........................................................... 6 2.4.3 - Nvel externo ou viso (lgico do usurio) ........................................................ 6 2.5 - Integridade Referencial ........................................................................................ 7 3 - Sistema de Gerenciamento de Bancos de Dados (SGBD) ............................................ 7 3.1 Funes do SGBD ............................................................................................... 8 3.2. As Linguagens para Manipulao de Dados .............................................................. 8 3.2.1 - DDL (Data Definition Language - Linguagem de Definio de Dados) ................... 8 3.2.2 - DML (Data Manipulation Language - Linguagem de Manipulao de Dados) .......... 8 3.2.3 DCL (Data Control Language - Linguagem de Controle de Dados) ....................... 8 4 - Modelagem de Dados ................................................................................................ 9 4.1 - Modelo Conceitual ............................................................................................... 9 4.2 Modelo Lgico .................................................................................................... 9 4.3 Modelo Fsico ..................................................................................................... 9 5 O Modelo Entidade x Relacionamento ....................................................................... 10 5.1 - Entidade .......................................................................................................... 10 5.2 - Atributo ........................................................................................................... 10 5.2.1 - Identificador: .............................................................................................. 10 5.2.2 - Composto: ................................................................................................. 11 5.2.3 - Derivado: ................................................................................................... 11 5.2.4 Multi-Valorado: ........................................................................................... 11 5.3 - Relacionamento ................................................................................................ 12 5.4 - Cardinalidade ................................................................................................... 12 5.4.1 - Forma de leitura .......................................................................................... 12 5.4.2 - Relacionamento um-para-um (1:1)................................................................ 12 5.4.3 - Relacionamento um-para-muitos (1:N) .......................................................... 13 5.4.4 - Relacionamento muitos-para-muitos (N:N) ..................................................... 13 5.5 - Diagrama Entidade Relacionamento .................................................................... 14

Banco de Dados

1 - Introduo
Um sistema de banco de dados basicamente um sistema computadorizado de manuteno de registros. O banco de dados, por si s, pode ser considerado como o equivalente eletrnico de um armrio de arquivamento, ou seja, ele um repositrio ou recipiente para uma coleo de arquivos de dados computadorizados. Os usurios de um sistema podem realizar (ou melhor, solicitar que o sistema realize) diversas operaes envolvendo tais arquivos, como por exemplo: Acrescentar novos arquivos ao banco de dados Inserir dados em arquivos existentes Buscar dados de arquivos existentes Alterar dados de arquivos existentes Excluir dados de arquivos existentes Remover arquivos existentes do banco de dados

Abaixo temos a representao da transformao de um formulrio em papel em um banco de dados. Formulrio de cadastro de um funcionrio:

Outros exemplos de banco de dados: lista telefnica, controle do acervo de uma biblioteca, sistema de controle dos recursos humanos de uma empresa.

Banco de Dados

2 O que um Sistema de Banco de Dados


Um sistema de banco de dados basicamente um sistema computadorizado de manuteno de registros. Em outras palavras, um sistema computadorizado cuja finalidade geral armazenar informaes e permitir que os usurios busquem e atualizem essas informaes quando as solicitar. 2.1 Principais componentes de um Sistema de Banco de Dados Um sistema de banco de dados envolve 4 componentes principais: Dados Hardware Software Usurios

2.1.1 Dados Um sistema de banco de dados armazena dados persistentes, ou seja, esses dados ficam armazenados no banco de dados e s podem ser removidos por uma requisio explcita ao mesmo. Isso difere de outros tipos de dados, como, por exemplo, dados de entrada, dados de sada, filas de trabalho, instrues SQL e quaisquer outros que possuam natureza transitria. Os dados em um sistema de banco de dados so integrados e compartilhados Por integrado, queremos dizer que o banco de dados pode ser considerado como uma unificao de vrios arquivos que, de outro modo, seriam distintos, com a eliminao de qualquer redundncia parcial ou total entre esses arquivos. Por compartilhado, queremos dizer que o banco de dados pode ser compartilhado entre diferentes usurios, no sentido de que diferentes usurios podem ter acesso aos mesmos dados, possivelmente ao mesmo tempo (acesso concorrente). Tambm devemos fazer uma diferenciao entre dado e informao. O dado aquilo que realmente armazenado no banco de dados, enquanto a informao refere-se ao significado desses dados para determinado usurio. Por exemplo, se armazenamos no banco de dados a data de nascimento de um cliente como sendo 10/01/1970, esse dado nos da a informao que em 20/12/1990 esse cliente estava com 20 anos. 2.1.2 Hardware Os componentes de hardware do sistema de banco de dados consistem em: Volumes de armazenamento secundrio normalmente discos magnticos -, que so usados para manter os dados armazenados, juntamente com os dispositivos de E/S (entrada/sada) associados (unidades de disco etc), controladores de dispositivos, canais de E/S e assim por diante. Processador(es) de hardware e memria principal associada, que so usados para dar suporte execuo do software do sistema de banco de dados.

Banco de Dados

2.1.3 Software Entre o banco de dados fsico ou seja, os dados fisicamente armazenados e os usurios do sistema existe uma camada de software conhecida como SGDB Sistema de Gerenciamento de Banco de Dados, como veremos mais a diante. 2.1.4 Usurios 2.1.4.1 - Administrador de Banco de Dados (DBA) Em um ambiente de banco de dados, o recurso primrio o banco de dados por si s e o recurso secundrio o SGBD e os softwares relacionados. A administrao destes recursos cabe ao Administrador de Banco de Dados, o qual responsvel pela autorizao de acesso ao banco de dados e pela coordenao e monitorao de seu uso. So tarefas do DBA: Definio da estrutura de armazenamento e a estratgia (ou mtodo) de acesso. Concesso de autorizao para acesso a dados. Definio de controles de integridade. Definio de estratgias para cpia de segurana e recuperao. Monitoramento do desempenho. Execuo de rotinas de desempenho. Modificao da organizao fsica.

2.1.4.2. Projetista de Banco de Dados (Administrador 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. So tarefas do AD: Definio e atualizao do esquema do banco de dados. 2.1.4.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 pr-estabelecidas que j foram exaustivamente testadas; usurios sofisticados: so usurios que esto familiarizados com o banco de dados e realizam consultas complexas.

Banco de Dados 2.1.4.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. 2.2 Por que um Sistema de Banco de Dados ? As vantagens de um sistema de banco de dados em relao aos mtodos tradicionais, baseados em papel so muitas, como por exemplo: Densidade: No h a necessidade de arquivos de papel, possivelmente volumosos. Velocidade: A mquina pode obter e atualizar dados com uma velocidade muito maior do que o ser humano. Atualidade: Informaes precisas e atualizadas esto disponveis a qualquer momento sob consulta. Proteo: Os dados podem ser bem protegidos contra a perda no intencional e acesso ilegal. 2.3 Vantagens da utilizao de um Sistema de Banco de Dados 2.3.1. Controle de Redundncia A redundncia consiste no armazenamento de uma mesma informao em locais diferentes, provocando inconsistncias. Em um Banco de Dados as informaes s se encontram armazenadas em um nico local, no existindo duplicao descontrolada dos dados. 2.3.2. Compartilhamento de Dados Um banco de dados 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 banco de dados multi-usurio deve manter o controle de concorrncia para assegurar que o resultado de atualizaes seja correto. Um banco de dados multi-usurio deve fornecer recursos para a construo de mltiplas vises. 2.3.3. Restrio a Acesso no Autorizado O banco de dados deve dispor de recursos que possibilitem selecionar a autoridade de cada usurio. Assim um usurio poder realizar qualquer tipo de acesso, outros podero ler alguns dados e atualizar outros e outros ainda podero somente acessar um conjunto restrito de dados para escrita e leitura. 2.3.4. Tolerncia a Falhas Um banco de dados deve fornecer recursos para recuperao de falhas tanto de software quanto de hardware. 2.3.5 Integridade Um banco de dados dever impedir que aplicaes ou acessos pelas interfaces possam comprometer a integridade dos dados.

Banco de Dados 2.3.6 Suporte a transaes Uma transao uma unidade lgica de trabalho (mais precisamente, uma unidade lgica de trabalho de banco de dados), em geral envolvendo diversas operaes de banco de dados, onde uma operao s pode ser validada pelo banco de dados se todas as demais operaes da transao tambm o forem. Exemplo: Transao bancria de transferncia de dinheiro. A transao s pode ser validada se as operaes de dbito em uma conta origem e crdito em uma conta destino forem validadas. 2.4 Nveis da Arquitetura de um Sistema de Banco de Dados 2.4.1 - Nvel fsico ou interno (armazenamento) Nvel mais baixo de abstrao. Descreve como os dados esto realmente armazenados, englobando estruturas complexas de baixo nvel. 2.4.2 - Nvel conceitual (lgico de comunidade) Descreve quais dados esto armazenados e seus relacionamentos. Neste nvel, o banco de dados descrito atravs de estruturas relativamente simples, que podem envolver estruturas complexas no nvel fsico. O nvel conceitual usado pelos administradores do banco de dados, que devem decidir qual informao deve ser mantida no banco de dados. Esto presentes no Modelo Entidades, Atributos, Relacionamentos e Cardinalidades. 2.4.3 - Nvel externo ou viso (lgico do usurio) Descreve partes do banco de dados, de acordo com as necessidades de cada usurio, individualmente. Pode haver diferentes vises para um mesmo banco de dados.

Banco de Dados Usurios Finais

NVEL EXTERNO

Viso Externa 1

...

Viso Externa n

Mapeamento Conceitual Externo NVEL CONCEITUAL Esquema Conceitual Mapeamento Conceitual Interno NVEL INTERNO Esquema Interno

Banco de Dados Armazenado 2.5 - Integridade Referencial Quando estabelecemos a chave primria (PK) em uma tabela e colocamos como chave estrangeira (FK) em outra tabela, determinamos a integridade referencial entre estas duas tabelas. 3 - Sistema de Gerenciamento de Bancos de Dados (SGBD) Um Sistema de Gerenciamento de Banco de Dados consiste em uma coleo de dados interrelacionados e uma coleo de programas para prover o acesso a esses dados. O objetivo principal de um SGBD prover um ambiente que seja adequado e eficiente para uso na recuperao e armazenamento de informaes. A seqncia abaixo ilustra o papel do sistema de gerncia de banco de dados, de forma conceitual: 1. O usurio emite uma solicitao de acesso. 2. O SGBD intercepta a solicitao e a analisa. 3. O SGBD inspeciona os esquemas externos (ou sub-esquemas) relacionados quele usurio, os mapeamentos entre os trs nveis, e a definio da estrutura de armazenamento.

Banco de Dados 4. O SGBD realiza as operaes solicitadas no banco de dados armazenado. Exemplos de SGBD: Oracle, Microsoft SQL Server. IBM DB2, SyBase, Paradox, Progress, MySql, Microsoft Access etc. 3.1 Funes do SGBD Interao com o sistema de arquivos do sistema operacional. Cumprimento da integridade. Cumprimento da segurana. Cpias de segurana (backup) e recuperao. Controle de concorrncia. Otimizao e execuo dos comandos DML. Dicionrio de Dados. Desempenho.

3.2. As Linguagens para Manipulao de Dados Embora se fale que a linguagem SQL uma linguagem de consulta, essa linguagem possui outras capacidades alm de realizar consultas em um banco de dados. A linguagem SQL possui recursos para definio da estrutura de dados, para modificar dados no banco de dados e recursos para especificar restries de segurana e integridade. A verso original da linguagem SQL foi desenvolvida no Laboratrio de Pesquisa da IBM. Esta linguagem, originalmente chamada SEQUEL., foi implementada como parte do projeto System R no incio dos anos 70. A linguagem SEQUEL evoluiu e seu nome foi mudado para SQL (Strutured Query Language). Numerosos Sistemas Gerenciadores de Banco de Dados suportam a linguagem SQL. A SQL estabeleceu-se como a linguagem padro de banco de dados relacional. Embora existam diversas verses, com algumas diferenas entre elas, a estrutura da SQL se mantm inalterada desde a sua criao. A linguagem SQL pode ser dividida nas seguintes partes: 3.2.1 - DDL (Data Definition Language - Linguagem de Definio de Dados) Para a criao dos objetos do banco de dados (tabelas, ndices, relacionamentos, vises etc) utilizamos a linguagem DDL (Data Definition Language - Linguagem de Definio de Dados). O SGBD possui um compilador DDL que permite a execuo das declaraes para identificar as descries dos esquemas e para armazen-las no catlogo do SGBD. Os principais comandos que fazem parte da DDL so: CREATE, ALTER, DROP. 3.2.2 - DML (Data Manipulation Language - Linguagem de Manipulao de Dados) Uma vez que o banco de dados esteja criado, usa-se uma linguagem para fazer a manipulao dos dados (ler, inserir, alterar e excluir), a DML (Data Manipulation Language - Linguagem de Manipulao de Dados). Os comandos bsicos da DML so: SELECT, INSERT, UPDATE, DELETE. 3.2.3 DCL (Data Control Language - Linguagem de Controle de Dados) o conjunto de comandos que fazem o cadastramento de usurios e determina seu nvel de privilgio para os objetos do banco de dados. Os principais comandos so: GRANT, REVOKE.

Banco de Dados

4 - Modelagem de Dados
O processo de modelagem de um banco de dados dividido em trs etapas: Modelo Conceitual Modelo Lgico Modelo Fsico

4.1 - Modelo Conceitual O Modelo Conceitual representa e/ou descreve a realidade do ambiente do problema, constituindo-se em uma viso global dos principais dados e relacionamentos (estruturas de informao), independente das restries de implementao. Quando se fala em Modelo Conceitual, estamos nos referindo a primeira etapa do projeto de um sistema de aplicao em banco de dados. O objetivo do Modelo Conceitual descrever as informaes contidas em uma realidade, as quais iro estar armazenadas em um banco de dados. uma descrio em alto nvel (macrodefinio), mas que tem a preocupao de captar e retratar toda a realidade de uma organizao, setor, repartio, departamento etc. O Modelo Relacional no retrata os aspectos ligados abordagem do banco de dados que ser utilizado e to pouco se preocupa com as formas de acesso ou estruturas fsicas implementadas por um SGBD (Sistema Gerenciador de Banco de Dados) especfico. O resultado de um Modelo Conceitual um esquema que representa a realidade das informaes existentes, assim como as estruturas de dados que representam estas informaes. 4.2 Modelo Lgico O Modelo Lgico descreve as estruturas que estaro contidas no banco de dados, de acordo com as possibilidades permitidas pela abordagem, mas sem considerar, ainda, nenhuma caracterstica especfica de um Sistema Gerenciador de Banco de Dados (SGBD), resultando em um esquema lgico de dados sob a tica de uma das abordagens citadas. 4.3 Modelo Fsico O Modelo Fsico ir partir do Modelo Lgico e descreve as estruturas fsicas de armazenamento de dados, tais como: tamanho de campos, ndices, tipo de preenchimento destes campos, nomenclaturas, etc. Ser projetado de acordo com os requisitos de processamento e uso mais econmico dos recursos computacionais. Este modelo detalha o estudo dos mtodos de acesso ao SGBD, para elaborao dos ndices de cada informao colocada nos Modelos Conceitual e Lgico. Esta a etapa final do projeto de Banco de Dados, na qual ser utilizada a Linguagem de Definio de Dados do SGBD (DDL), para a criao fsica do banco de dados proposto.

Banco de Dados

5 O Modelo Entidade x Relacionamento


O modelo Entidade x Relacionamento um modelo de dados conceitual de alto nvel, cujos conceitos foram projetados para estar o mais prximo possvel da viso que o usurio tem dos dados, no se preocupando em representar como estes dados estaro realmente armazenados. O modelo ER utilizado principalmente durante o processo de projeto de banco de dados.

Os principais conceitos utilizados para a construo do modelo ER so: Entidade Atributo Relacionamento Cardinalidade

5.1 - Entidade

todo objeto concreto ou abstrato que tem existncia prpria, quando considerado o mbito de um negcio. So coisas sobre as quais desejamos arquivar informaes. So as coisas que existem no negcio, ou ainda, descrevem o negcio em si. A entidade representada por um retngulo, conforme as figuras abaixo:

Cliente

Fornecedor

Pedido

5.2 - Atributo

uma informao que caracteriza uma entidade ou um relacionamento. Toda entidade possui atributos, mas nem todo relacionamento caracterizado por atributos. Os atributos podem ser classificados em: Identificador, Descritivo, Agregado e Derivado.
5.2.1 - Identificador:

utilizado para identificar unicamente uma linha da entidade.


identificador
Nome atributo

10

Banco de Dados

5.2.2 - Composto:

um conjunto de tributos simples que pode ser referido como um nico atributo.
atributo

composto

agregado

agregado

agregado

5.2.3 - Derivado:

Pode ter um valor que derivvel de valores de outros atributos.


derivado 5.2.4 Multi-Valorado:
Nomeatributo

Pode ser preenchido com muitos valores.


Multi-valorado NomeNomeatributo atributo

Exemplo de atributos:

RA Data Nasc.

Aluno
Rua

Idade Endereo Nmero

Data Nasc. Idioma Fluente

Bairro

Cidade

11

Banco de Dados

5.3 - Relacionamento

a ligao entre duas ou mais entidades. O relacionamento representado por um losango.


Exemplo:

Aluno

freqenta

Disciplina

5.4 - Cardinalidade

o grau de ligao entre as entidades. representada por 0, 1 ou N, significando zero, um ou muitos respectivamente.
5.4.1 - Forma de leitura

Entidade Relacionamento Cardinalidade Entidade. A leitura deve ser feita em ambas as direes.
5.4.2 - Relacionamento um-para-um (1:1)
mnimo mximo

1,1

1,1 coordena

Curso

Coordenador

Um Curso coordenado por no mnimo 1 e no mximo 1 coordenador. Um coordenador coordena no mnimo 1 e no mximo 1 curso.

PD Txtil Eletrnica

Douglas Pedro Ana

12

Banco de Dados 5.4.3 - Relacionamento um-para-muitos (1:N)

0,N

0,1

Vendedor

atende

Regio

Um vendedor atende zero ou uma regio. Uma regio atendida por zero ou muitos vendedores.

Mrio Carla Joo Ana

Campinas Piracicaba Sorocaba

5.4.4 - Relacionamento muitos-para-muitos (N:N)


0.N 1. 0.N 1.

Fornecedor

fornece

Produto

Um fornecedor fornece zero ou muitos produtos. Um produto fornecido por zero ou muitos fornecedores.

W X Y Z

A B C D E

13

Banco de Dados 5.5 - Diagrama Entidade Relacionamento O Diagrama Entidade Relacionamento (ER) composto por um conjunto de objetos grficos que visa representar todos os objetos do Modelo Entidade x Relacionamento, tais como: entidades, atributos, atributos chaves, relacionamentos, etc. O diagrama ER fornece uma viso lgica do banco de dados, fornecendo um conceito mais generalizado de como esto estruturados os dados de um sistema. Os objetos que compem o diagrama ER esto listados a seguir, na figura abaixo:

TIPO ENTIDADE

ATRIBUTO

TIPO ENTIDADE FRACA

ATRIBUTO IDENTIFICADOR ATRIBUTO MULTI VALORADO

TIPO RELACIONAMENTO

ATRIBUTO COMPOSTO TIPO RELACIONAMENTO IDENTIFICADOR

ATRIBUTO DERIVADO

E1

E2

E1

E2

Taxa de Cardinalidade 1:N para E1:E2 em R

Participao Parcial de E1 em R, Participao Total de E2 em R

14

Das könnte Ihnen auch gefallen