Você está na página 1de 19

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

APOSTILA DE FUNDAMENTOS DE BANCO DE DADOS


1. INTRODUO AO BANCO DE DADOS
Muitos autores definem BD de forma diferente, porm em todas elas tem-se uma idia de coleo ou conjunto de dados armazenados que servem ou so usados por algumas situaes especficas. A definio de banco de dados como uma coleo de dados relacionados muito geral. Por exemplo, considere a coleo de palavras deste texto como sendo dados relacionados e, portanto, constitui um banco de dados. Entretanto, o uso comum do termo banco de dados usualmente mais restrito O conceito de banco de dados esta muito presente em nosso dia-a-dia e faz parte de nossa vida. Banco de dados (BD) desempenha um papel crtico em muitas reas onde computadores so utilizados O BD est presente em muitas reas diferentes (negcios, engenharia, educao, medicina, etc). Um arranjo aleatrio de dados no pode ser considerado um banco de dados 1.1 Conceitos Bsicos Segundo Korth (Autor de livros de BD), um banco de dados uma coleo de dados inter-relacionados, representando informaes sobre um domnio especfico, ou seja, sempre que for possvel agrupar informaes que se relacionam e tratam de um mesmo assunto, posso dizer que tenho um banco de dados. Podemos exemplificar situaes clssicas como uma lista telefnica, um catlogo de CDs ou um sistema de controle de RH de uma empresa. J um sistema de gerenciamento de banco de dados (SGBD) um software que possui recursos capazes de manipular as informaes do banco de dados e interagir com o usurio. Exemplos de SGBDs so: Oracle, SQL Server, DB2, PostgreSQL, MySQL, o prprio Access ou Paradox, entre outros. Por ltimo, temos que conceituar um sistema de banco de dados como o conjunto de quatro componentes bsicos: dados, hardware, software e usurios. Date (Autor de Livros de BD) conceituou que sistema de bancos de dados pode ser considerado como uma sala de arquivos eletrnica. A Figura 1 ilustra os componentes de um sistema de banco de dados.

Figura1: Componentes de um sistema de banco de dados.

Os objetivos de um sistema de banco de dados so o de isolar o usurio dos detalhes internos do banco de dados (promover a abstrao de dados) e promover a independncia dos dados em relao s aplicaes, ou seja, tornar independente da aplicao, a estratgia de acesso e a forma de armazenamento.

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

1.2 Abstrao de dados


O sistema de banco de dados deve garantir uma viso totalmente abstrata do banco de dados para o usurio, ou seja, para o usurio do banco de dados pouco importa qual unidade de armazenamento est sendo usada para guardar seus dados, contanto que os mesmos estejam disponveis no momento necessrio. Esta abstrao se d em trs nveis (Figura2):

Nvel de viso do usurio: as partes do banco de dados que o usurio tem acesso de acordo com a necessidade individual de cada usurio ou grupo de usurios; Nvel conceitual: define quais os dados que esto armazenados e qual o relacionamento entre eles; Nvel fsico: o nvel mais baixo de abstrao, em que define efetivamente de que maneira os dados esto armazenados.

Figura2: Nveis de abstrao.

1.3 Projeto de banco de dados Todo bom sistema de banco de dados deve apresentar um projeto, que visa a organizao das informaes e utilizao de tcnicas para que o futuro sistema obtenha boa performance e tambm facilite infinitamente as manutenes que venham a acontecer. O projeto de banco de dados se d em duas fases:

Modelagem conceitual; Projeto lgico.

Estas duas etapas se referem a um sistema de banco de dados ainda no implementado, ou seja, que ainda no exista, um novo projeto. Para os casos em que o banco de dados j exista, mas um sistema legado, por exemplo, ou um sistema muito antigo sem documentao, o processo de projeto de banco de dados se dar atravs da utilizao de uma tcnica chamada de Engenharia Reversa, que ser visto em outra oportunidade. 1.4 Modelo conceitual a descrio do BD de maneira independente ao SGBD, ou seja, define quais os dados que aparecero no BD, mas sem se importar com a implementao que se dar ao BD. Desta forma, h uma abstrao em nvel de SGBD. Uma das tcnicas mais utilizadas dentre os profissionais da rea a abordagem entidade-relacionamento (ER), onde o modelo representado graficamente atravs do diagrama entidade-relacionamento (DER) (Figura 3).

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

Figura 3. Exemplo de diagrama entidade-relacionamento.

O modelo acima, entre outras coisas, nos traz informaes sobre Alunos e Turmas. Para cada Aluno, ser armazenado seu nmero de matrcula, seu nome e endereo, enquanto para cada turma, teremos a informao de seu cdigo, a sala utilizada e o perodo. 1.5 Modelo Lgico Descreve o BD no nvel do SGBD, ou seja, depende do tipo particular de SGBD que ser usado. No podemos confundir com o Software que ser usado. O tipo de SGBD que o modelo lgico trata se o mesmo relacional, orientado a objetos, hierrquico, etc. Abordaremos o SGBD relacional, por serem os mais difundidos. Nele, os dados so organizados em tabelas (Quadro 1). Aluno mat_aluno 1 2 3 nome Ceclia Ortiz Rezende Ablio Jos Dias Renata Oliveira Franco endereco Rua dos Ips, 37 Avenida Presidente Jnio Quadros, 357 Rua Nove de Julho, 45

Turma cod_turma 1 2 sala 8 5 periodo Manh Noite

Quadro 1. Exemplo de tabelas em um SGBD relacional.

O modelo lgico do BD relacional deve definir quais as tabelas e o nome das colunas que compem estas tabelas. Para o nosso exemplo, poderamos definir nosso modelo lgico conforme o seguinte: Aluno(mat_aluno, nome, endereco) Turma (cod_turma, sala, periodo) importante salientar que os detalhes internos de armazenamento, por exemplo, no so descritos no modelo lgico, pois estas informaes fazem parte do modelo fsico, que nada mais que a traduo do modelo lgico para a linguagem do software escolhido para implementar o sistema.

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

1.6 Histrico Evolutivo de Banco de Dados At 1960 : Sistema de Arquivos Estrutura de Dados (Pascal, C, etc.) Final de 1960 : Modelo Hierrquico 1970 e incio de 1980: Modelo de Redes Meados de 1980: Modelo Relacional (Codd) Final de 1980: Modelo Orientado a Objetos e Objeto-Relacional

1.7 Abstrao de Dados O grande objetivo de um sistema de BD oferecer uma viso abstrata dos dados aos usurios. Os detalhes referentes a forma como estes dados esto armazenados e mantidos no interessa aos usurios, mas a disponibilidade eficiente destes dados que so fundamentais

O conceito de abstrao est associado caracterstica de se observar somente os aspectos de interesse, sem se preocupar com maiores detalhes envolvidos. No contexto de abstrao de dados um banco de dados pode ser visto sem se considerar a forma como os dados esto armazenados fisicamente. Exemplo: Um programador de aplicao no precisa se importar com aspectos fsicos de armazenamento dos dados

1.8 Dados e Informaes


Dado denota um fato que pode ser registrado e possui significado implcito Considere o nome e endereo de todas as pessoas que voc conhece Informao denota uma organizao em relao a um contedo ou uma novidade Carlos 30756687 Paula 57321489 43 20

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

1.9 PROPRIEDADES IMPLCITAS DE BANCO DE DADOS


Um banco de dados uma coleo logicamente coerente de dados com algum significado inerente Um banco de dados projetado e construdo com dados para um propsito especfico Ele possui um grupo de usurios e algumas aplicaes pr-concebidas, as quais esses usurios esto interessados

Um banco de dados representa algum aspecto do mundo real e a alterao neste mundo real tem que ser refletida no banco de dados.

1.10 ARQUITETURA DE BANCO DE DADOS 1.10.1 Viso Externa


aquela vista pelo usurio que opera os sistemas aplicativos, atravs de interfaces desenvolvidas pelo analista (programas), buscando o atendimento de suas necessidades.

1.10.2 Viso Conceitual


aquela vista pelo analista de desenvolvimento e pelo administrador das bases de dados. Existe a preocupao na definio de normas e procedimentos para manipulao dos dados, para garantir a sua segurana e confiabilidade, o desenvolvimento de sistemas e programas aplicativos e a definio no banco de dados de novos arquivos e campos.

1.10.3 Viso Interna


aquela vista pelo responsvel pela manuteno e desenvolvimento do SGBD. Existe a preocupao com a forma de recuperao e manipulao dos dados dentro do Banco de Dados.

1.11 PERFIL DE PESSOAS ENVOLVIDAS COM UM BANCO DE DADOS


Em um pequeno banco de dados de uso pessoal uma nica pessoa vai definir, construir e manipular o BD Em um grande banco de dados com muitos (ou milhes) de usurios e com restries de acesso podem-se identificar alguns perfis de pessoas que interagem com o banco de dados Administrador do Banco de Dados (DBA) Projetista do Banco de Dados Analista de Sistemas Programador de Aplicaes Usurio (final)

Administrador de Dados (DBA)

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

o supervisor do banco de dados, responsvel pela autorizao de acesso ao banco, monitoramento e coordenao do uso. Est envolvido com os aspectos fsicos do banco de dados (estruturas de armazenamento, mtodos de acesso, etc). Projetista do Banco So responsveis pela identificao dos dados e a elaborao de estruturas apropriadas para armazen-los. Compreender os requisitos necessrios aos grupos de usurios do banco de dados antes de sua implementao. Analista de Sistemas Determina os requisitos dos usurios e desenvolvem especificaes que atendam estes requisitos. Programadores Implementam as especificaes na forma de programas elaborando toda a documentao. Usurio (final) Um banco de dados existe para a utilizao do usurio final, onde normalmente o seu trabalho requer consultas e atualizaes. A maioria dos usurios utiliza programas voltados ao desempenho profissional, utilizando-os em seu dia-a-dia.

1.12 DIFERENAS ENTRE BANCO DE DADOS E SISTEMAS DE ARQUIVOS 1.12.1 Banco de Dados
Um nico repositrio de dados mantido. Acesso de todos usurios sobre o mesmo BD com nico espao de armazenamento Atualizao dos dados em apenas uma estrutura de banco de dados

1.12.2 Sistema de Arquivos


Implementa os arquivos necessrios para uma aplicao especfica Redundncia de arquivos armazenando os mesmos dados com Perda de espao de armazenamento Esforo adicional para atualizao dos dados

1.13 TERMINOLOGIA BSICA EM BANCO DE DADOS


Campo unidade bsica de informao mnima com significado Registro conjunto de campos Arquivo conjunto de registros Banco de Dados (BD) conjunto de arquivos e as formas de manipulao

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

2. SGBD SISTEMA GERENCIADOR DE BANCO DE DADOS


Um Sistema Gerenciador de Banco de Dados (SGBD) uma coleo de programas que habilitam usurios a criar e manter um banco de dados. O SGBD um software de propsito geral, que facilita o processo de definio, construo e manipulao de um bancos de dados. Definio de banco de dados envolve especificar estruturas e tipos de dados para serem gravados no banco de dados, com uma descrio detalhada de cada tipo de dado. Construo de um banco de dados o processo de consistir e gravar inicialmente dados no banco de dados. Manipulao de um banco de dados inclui funes como consulta por dados especficos e atualizao para refletir as alteraes no mundo real.

2.1 Principais Atribuies de um SGBD


BD no contm somente os dados de contedo armazenados, ele tambm armazena definies e descries sobre a estrutura que forma o BD (metadados) O catlogo do sistema (metadados) contm definies da estrutura de cada arquivo, o tipo e formato de armazenamento de cada item de dados, e vrias restries dos dados Este catlogo usado pelo SGBD e ocasionalmente por algum usurio do BD (no especfico, mas geral, atendendo as diversas necessidades de arquivos diferentes)

2.2 Caractersticas de um bom SGBD


Controle sobre a redundncia Espao para armazenamento Duplicao de esforos Inconsistncia na base de dados

Compartilhamento de Dados Se diversos usurios tem aplicaes integradas no BD, precisa-se de um software de controle de concorrncia para a atualizao do banco

Facilidade na definio da viso do usurio, especificando uma poro do BD que tem interesse particular de um grupo de usurios Restrio de acesso no autorizado: Possui um sistema de segurana garantindo o acesso especfico a cada usurio (personalizado para grupos ou individual), garantindo assim segurana no acesso ao BD, diferentes permisses de operao no BD, proteo de contas pessoais (ou grupo) por senhas, segurana no uso do prprio SGBD como nas criaes de novas contas Fornecimento de mltiplas interfaces (vises): Diversos nveis de conhecimento entre os usurios, onde o BD deve oferecer vrios tipos de acesso aos dados Forar restries de integridade: armazenamento de vrios tipos de dados (inteiro, real, lgico), relacionamentos entre os dados, obrigatoriedade ou no de informao do dado (nulo ou no nulo), unicidade do dado (chave primria), dificultar a ocorrncia de erros, Sistema de Backup e Recovery: Capacidade de salvamento e recuperao dos dados

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

Facilidade e controle do BD no caso de falha do hardware ou do software chegando a fazer uma recuperao da situao anteriormente encontrada, evitando duplicidade e dados inconsistentes

2.3 Vantagens adicionais na abordagem de BD


Desenvolvimento de padres permite ao DBA definir e forar padres facilitando a comunicao e cooperao entre os setores, projetos e usurios dentro da organizao Tempo de desenvolvimento reduzido projetar e implementar uma nova aplicao mais rpido em um BD existente do que se ele no existisse ou fosse feito sobre a abordagem tradicional de arquivos Disponibilidade de informao atualizada torna o BD disponvel para todos os usurios (que tenham permisso de acesso) devido ao controle de concorrncia e recuperao do SGBD Encapsulamento (abstrao) no acesso aos dados o usurio no tem necessidade de saber como os dados so armazenados, isto funo do DBA (Administrador do Banco de Dados)

3. MODELAGEM DE DADOS CONCEITUAL


Consiste de um conjunto de conceitos utilizados para descrever a estrutura de um BD, ou seja, os tipos de dados, relacionamentos e restries sobre estes dados. O modelo de dados a principal ferramenta no fornecimento de informaes sobre a abstrao realizada na parte de interesse especfico no mundo real. Modelo de dados conceitual ou de auto-nvel - fornece conceitos que so prximos da percepo dos usurios a respeito dos dados (logicamente) Modelo de dados de implementao - Utilizado em SGBDs comerciais, sendo o mais popular denominado Modelo Relacional (MR) Modelo de dados fsico - descreve como os dados so armazenados (fisicamente)

ESQUEMA DE BANCO DE DADOS A descrio de um BD chamada de esquema de banco de dados. Um esquema de BD especificado durante o projeto do BD e no freqentemente modificado. INSTNCIA DE BANCO DE DADOS O conjunto de dados armazenados no BD, em um determinado momento ou instante, chamado de instncia do banco de dados (fotografia do BD em um instante especfico). Exemplo:

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

SISTEMAS ISOLADOS

Problema: redundncia de dados Como evitar redundncia no controlada de dados? Compartilhamento de dados Cada informao armazenada uma nica vez Usar o conceito de Banco de Dados SISTEMAS COMPARTILHANDO DADOS

3.1 MODELO DE ENTIDADE E RELACIONAMENTO (MER) 3.1.1 Definio Consiste em mapear o mundo real do sistema em um modelo grfico que ir representar o modelo e o relacionamento existente entre os dados. O MER um modelo de dados conceitual de alto-nvel, ou seja, seus conceitos foram projetados para serem compreensveis a usurios, descartando detalhes de como os dados so armazenados. Atualmente, o MER usado principalmente durante o processo de projeto da base de dados. Existem expectativas para que uma classe de SGBDs baseados diretamente no MER esteja disponvel no futuro.

3.1.2 Entidade
Identifica o objeto de interesse do sistema e tem "vida" prpria, ou seja, a representao abstrata de um objeto do mundo real sobre o qual desejamos guardar informaes. Uma Entidade algo da realidade sendo modelada e deve ser identificada de modo nico. Exemplo: Clientes, Fornecedores, Alunos, Funcionrios, Departamentos, etc. No so entidades: - Entidade com apenas 1 elemento; - Operaes do sistema; - Sadas do sistema; - Pessoas que realizam trabalhos (usurios do sistema);

EEEP Amlia Figueiredo de Lavor - Cargos de direo

Fund. de Banco de Dados

Professor: Arley Rodrigues

10

3.1.3 Instncia ou ocorrncia de Entidade


So os elementos da entidade. Exemplo: Cliente 10, Funcionrio Joo, Aluno Pedro, etc.

3.1.4 Atributo
Informaes que desejamos guardar sobre a instncia de entidade. Exemplo: Nome do aluno, Nmero da turma, Endereo do fornecedor, Sexo do funcionrio, etc.

3.1.5 Domnio do Atributo


Universo de valores que um atributo pode armazenar. Exemplo: Conjunto de valores do atributo Sexo do funcionrio: M ou F; Conjunto de valores do atributo Nome do aluno: 40 caracteres alfanumricos. Conjunto de valores do atributo salrio: inteiro maior que 5000

3.2 - Representao Grfica

- Entidade - Relacionamento - Atributo

Relacionamento - Representa a associao entre os elementos do conjunto de um entidade com outra entidade ou com a mesma entidade (auto-relacionamento). Exemplo: O Joo est matriculado na disciplina de Banco de Dados, onde: - Joo - Elemento do conjunto de valores do atributo Nome do aluno da entidade Aluno; - Banco de Dados - Elemento do conjunto de valores do atributo Nome da disciplina da entidade Disciplina; - matriculado - Ligao existente entre um aluno e uma disciplina.

ALUNO MATRICULAD

DISCIPLINA

3.3 - Cardinalidade de Relacionamentos Representa a freqncia com que existe o relacionamento. Nmero de ocorrncias de uma entidade que podem estar associadas a uma determinada ocorrncia de entidade atravs do relacionamento. Existem dois tipos de cardinalidade: mxima e mnima

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

11

3.3.1 Cardinalidade mxima


Para a cardinalidade mxima existem os valores: 1 e n (muitos)

3.3.2 Cardinalidade mnima


Para a cardinalidade mnima existem os valores: 0 e 1 cardinalidade mnima 0 = associao opcional cardinalidade mnima 1 = associao obrigatria

3.3.3 Relacionamento 1:1


O Joo casado com a Maria, onde: - Joo - Elemento do conjunto de valores do atributo Nome da entidade Homem. - Maria - Elemento do conjunto de valores do atributo Nome da entidade Mulher. - casado - Ligao entre um homem e uma mulher, sendo que um homem pode ser casado com uma e apenas uma mulher, assim como uma mulher pode ser casada com um e apenas um homem.

HOMEM

CASAMENTO

MULHER

3.3.4 Relacionamento 1:N ou N:1


O Pedro trabalha no Departamento Pessoal, onde: - Pedro - Elemento do conjunto de valores do atributo Nome da entidade Funcionrio. - Depart. Pessoal - Elemento do conjunto de valores do atributo Nome do departamento da entidade Departamento. - trabalha - Ligao entre um Funcionrio e um Departamento, onde um funcionrio pode trabalhar em um e somente um departamento e um departamento pode ter vrios funcionrios. EMPREGADOS N LOTAO 1 DEPARTAMENTO

3.3.5 Relacionamento N : M
O Antnio est matriculado na disciplina Banco de Dados, onde: - Antnio - Elemento do conjunto de valores do atributo Nome da entidade Aluno. - Banco de Dados - Elemento do conjunto de valores do atributo Nome da Disciplina da entidade Disciplina. - matriculado - Ligao existente entre um aluno e uma disciplina, onde um aluno pode estar matriculado em vrias disciplinas e cada disciplina pode ter vrios alunos matriculados.

ALUNOS

MATRICULA

DISCIPLINA

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

12

Exemplo de cardinalidade mnima e mxima:

3.4 ATRIBUTOS O Atributo descreve uma determinada caracterstica relevante da entidade em uma dada abstrao. Por exemplo, os atributos de um cliente para uma aplicao financeira seriam nome, cpf, data de nascimento e rendimento mensal, etc. J um cliente para uma aplicao mdica seria descrito pelos atributos nome, tipo sanguneo, fator RH, sensibilidades a medicamento, etc. Todas as entidades do mesmo tipo possuem os mesmos atributos, mas com valores distintos. Atributos e valores descrevem as instncias de uma entidade. O conjunto de valores possveis para um atributo chamado domnio. O domnio do nmero do emprstimo, por exemplo, seria todo o conjunto de nmeros inteiros positivos

3.4.1 Tipos de Atributo


Simples Tem valor nico, como por exemplo o nmero da rua Composto Pode ser referenciado hora no todo, hora na parte. Ex.: Endereo, composto por rua, numero, cidade, cep Nome, composto por prenome e sobrenome Mono-valorado Para toda instncia um atributo possui um conjunto unitrio de valores Ex.: O nmero do emprstimo de uma entidade especfica refere-se apenas a um nmero de emprstimo Multivalorado Pode existir instncias em que um atributo possua um conjunto de valores para uma nica entidade Por exemplo, o atributo nome_dependente da entidade empregado pode possuir nenhum nome, um nome ou mais Nulo O valor no-aplicvel ou desconhecido Por exemplo, um atributo data_desligamento de uma entidade paciente Derivado Pode ser obtido de outros atributos Ex.: Um atributo nmero_emprstimos, representando os emprstimos tomados por um cliente pode ser obtido pela contagem das entidades emprstimo associadas a esse cliente

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

13

3.4.1 Atributos do Relacionamento Quando um determinado relacionamento possui atributos, tambm conhecido como relacionamento valorado. Esta situao ocorre apenas em relacionamento N : M. Ex. Pedro trabalha no projeto Alfa 30 horas. - Pedro - Elemento do conjunto de valores do atributo Nome da entidade Funcionrio. - Alfa - Elemento do conjunto de valores do atributo Nome do Projeto da entidade Projeto. - trabalha - Ligao existente entre um funcionrio e um projeto. Neste caso, este funcionrio trabalha 30 horas neste projeto, porm este mesmo funcionrio poder trabalhar outro nmero de horas em outro projeto, assim como outro funcionrio trabalha outro nmero de horas no mesmo projeto Alfa. Podemos concluir que 30 horas o atributo que pertence ao Pedro no projeto Alfa. FUNCIONRIO N TRABALHA M PROJETO

HORAS

3.5 - Grau do Relacionamento Indica o nmero de entidade que se relacionam. 3.5.1 - Relacionamento Binrio Quando existe o relacionamento entre apenas duas entidades. Ex. Um fornecedor comercializa materiais que so utilizados em diversos projetos.

FORNECEDOR

COMERCIALIZA

MATERIAIS

N PROJETOS N UTILIZAM

3.5.2 - Relacionamento Ternrio Quando existe o relacionamento entre trs entidades. Ex. Um fornecedor comercializa materiais que so utilizados em projetos especficos.

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

14

FORNECEDORES

MATERIAIS

1 UTILIZADO N

N PROJETOS

3.5.3 Exemplos de Relacionamento:


- O Professor Alberto leciona Estrutura de Dados e o aluno Pedro cursa Linguagem de Programao

PROFESSOR LECIONA N N

DISCIPLINA

ALUNO

N CURSA

- Pedro comprou 1 Kg. de banana do vendedor Manoel

CLIENTES N VENDA

PRODUTOS

1 VENDEDORES

Obs. Para que haja uma venda, tem que haver um cliente, um produto e um vendedor.

3.6 ABORDAGEM RELACIONAL


Composio de um banco de dados relacional. Um banco de dados relacional composto por tabelas ou relaes. A terminologia tabela mais comum nos produtos comerciais e na prtica, enquanto a terminologia relao foi utilizada na literatura inicial sobre a abordagem relacional.

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

15

3.6.1 Tabelas
Uma tabela um conjunto no ordenado de linhas (tuplas, na linguagem acadmica). Cada linha composta por uma srie de campos (valor de atributo, na linguagem acadmica). Cada campo identificado por um nome de campo (nome de atributo, na linguagem acadmica). Um conjunto de campos homnimos de todas as linhas de uma tabela uma coluna. Comparando tabelas de um banco de dados relacional com um arquivo convencional, observamos as seguintes diferenas: As linhas de uma tabela no tm ordenao. A ordem de recuperao arbitrariamente estabelecida pelo banco de dados. Os valores de campo de uma tabela so atmicos e monovalorados; As linguagens de consulta a bases de dados relacionais permitem o acesso por quaisquer critrios envolvendo os campos de uma ou mais linhas. No h necessidade de especificar caminhos de acesso.

3.6.2 Chaves
Chaves so um conceito bsico que permitem identificar linhas e estabelecer relaes entre linhas e tabelas de um banco de dados relacional. Em um banco de dados relacional, h pelo menos trs tipos de chaves a serem consideradas: chaves primrias, chaves estrangeiras e chaves alternativas.

3.6.3 Chave Primria


As chaves primrias so uma coluna (ou um conjunto delas) dentro de uma tabela que distinguem uma linha das demais. As chaves primrias podem ser compostas por mais de uma coluna, entretanto, devem sempre respeitar o princpio da minimalidade. Uma chave mnima quando todas as suas colunas forem efetivamente necessrias para garantir o requisito da unicidade de valores da chave. Na abordagem relacional, ao contrrio dos sistemas convencionais de arquivos, por exemplo, uma chave no um ndice ou qualquer outra estrutura de acesso. As chaves fazem apenas a restries de integridade, ou seja, regras que devem ser obedecidas em todos o estados vlidos do BD.

Exemplo de uso com mais de uma chave Ex: Almoxarifado de uma empresa: Os produtos ficam armazenados em prateleiras As prateleiras encontram-se em armrios organizados em corredores Corredores so numerados seqencialmente a partir de 1 As prateleiras so numeras a partir de um dentro do seu corredor

3.6.4 Chave Estrangeira


Uma chave estrangeira uma coluna ou uma combinao de colunas cujos valores aparecem necessariamente na chave primria de uma tabela. A chave estrangeira o mecanismo que permite a implementao de relacionamentos em bancos de dados relacionais. A existncia de chaves estrangeiras impe restries que devem ser garantidas ao executar diversas operaes de alteraes no banco de dados.

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

16

I. Incluso de uma linha na tabela que contm a chave estrangeira; Neste caso, deve-se garantir que o valor contido na chave estrangeira aparea na coluna da chave primria referenciada. II. Alterao do valor de uma chave estrangeira; Deve-se assegurar que o novo valor aparece na coluna da chave primria referenciada; III. Excluso de uma linha da tabela que contm a chave primria referenciada pela chave estrangeira; Deve ser garantido que na coluna da chave estrangeira no aparea o valor da chave primria que ser excluda. IV. Alterao do valor da chave primria referenciada pela chave estrangeira; Deve ser garantido que na coluna da chave estrangeiras no aparea o valor da chave primria que est sendo alterada. Uma chave estrangeira no referencia, necessariamente, outra tabela. Em um auto-relacionamento, o valor da chave estrangeira o prprio valor da chave primria da mesma tabela.

3.6.5 Chave Alternativa


Em alguns casos, mais de uma coluna (ou combinaes de colunas) podem servir para distinguir uma linha das demais. Uma coluna, ou combinao, escolhida como chave primria e as demais candidatas so tratadas como chaves alternativas.

3.6.6 Domnios e valores vazios (null e not null)


Quando uma tabela do banco de dados definida, para cada coluna deve ser especificado um conjunto de valores que seus campos podem assumir. Este conjunto de valores denominado domnio da coluna ou domnio do campo. Alm disso, deve-se especificar se os campos da coluna podem estar vazios, o que indica que o campo no recebeu nenhum valor de seu domnio. As colunas nas quais no so admitidos valores vazios so chamadas colunas obrigatrias. Aquelas que admitem valores vazios so as denominadas colunas opcionais. Os SGBDs relacionais geralmente exigem que a coluna da chave primria no seja vazia (coluna obrigatria). A mesma exigncia no feita para as demais chaves.

3.6.7 Entidade Fraca


Entidade que s existe quando relacionada a outra entidade, sendo seu identificador composto por atributos de outra entidade

3.6.8 Chave primria (identificador) em relacionamentos


Uma ocorrncia de relacionamento diferencia-se das demais ocorrncias do mesmo relacionamento pelas ocorrncias de entidades que dele participam. H casos nos quais entre as mesmas ocorrncias de entidade podem existir diversas ocorrncias de relacionamento. Para diferenciar as ocorrncias necessrio o uso de uma chave primria para o relacionamento, identificando unicamente cada relacionamento.

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

17

3.6.9 Generalizao ou Especializao


Atravs deste conceito possvel atribuir propriedades particulares a um subconjunto das ocorrncias (especializadas) de uma entidade genrica. Representao grfica atravs de um tringulo.

3.6.10 Restries de Integridade


Um dos objetivos primordiais de um SGBD a integridade de dados. Dizer que os dados de um banco so ntegros significa dizer que eles refletem corretamente a realidade apresentada pelo banco de dados e so consistentes entre si. Uma restrio de integridade uma regra de consistncia de dados mantida pelo prprio SGBD. Na abordagem relacional, as restries de integridade so abordadas nas seguintes categorias: 1. Integridade de Domnio Um valor designado para um campo deve estar dentro do domnio previsto para aquele campo. 2. Integridade de Vazio Atravs desta restrio de integridade possvel determinar se um campo pode conter valores nulos. Os campos que compem a chave primria devem ser diferentes de vazio. 3. Integridade de Chave Restrio que determina que os valores de chaves primrias e alternativas devem ser nicos. 4. Integridade Referencial a restrio que define que valores dos campos que aparecem em uma chave estrangeira devem estar presentes na coluna da chave primria da tabela referenciada. As restries acima relatadas so garantidas automaticamente por um SGBD relacional e o programador no precisa se preocupar em escrev-las atravs de programao. Restries semnticas geram outras restries de integridade que, estas sim, devem ser garantidas atravs da codificao.

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

18

Contedo
1. INTRODUO AO BANCO DE DADOS ____________________________________________________ 1
1.1 Conceitos Bsicos _________________________________________________________________________ 1 1.2 Abstrao de dados _______________________________________________________________________ 2 1.3 Projeto de banco de dados __________________________________________________________________ 2 1.4 Modelo conceitual ________________________________________________________________________ 2 1.5 Modelo Lgico ____________________________________________________________________________ 3 1.6 Histrico Evolutivo de Banco de Dados ________________________________________________________ 4 1.7 Abstrao de Dados _______________________________________________________________________ 4 1.8 Dados e Informaes ______________________________________________________________________ 4 1.9 PROPRIEDADES IMPLCITAS DE BANCO DE DADOS _______________________________________________ 5 1.10 ARQUITETURA DE BANCO DE DADOS ________________________________________________________ 5
1.10.1 Viso Externa____________________________________________________________________________________ 5 1.10.2 Viso Conceitual _________________________________________________________________________________ 5 1.10.3 Viso Interna ____________________________________________________________________________________ 5

1.11 PERFIL DE PESSOAS ENVOLVIDAS COM UM BANCO DE DADOS ____________________________________ 5 1.12 DIFERENAS ENTRE BANCO DE DADOS E SISTEMAS DE ARQUIVOS _________________________________ 6
1.12.1 Banco de Dados __________________________________________________________________________________ 6 1.12.2 Sistema de Arquivos ______________________________________________________________________________ 6

1.13 TERMINOLOGIA BSICA EM BANCO DE DADOS ________________________________________________ 6

2.

SGBD SISTEMA GERENCIADOR DE BANCO DE DADOS _____________________________________ 7


2.1 Principais Atribuies de um SGBD ___________________________________________________________ 7 2.2 Caractersticas de um bom SGBD _____________________________________________________________ 7 2.3 Vantagens adicionais na abordagem de BD _____________________________________________________ 8

3.

MODELAGEM DE DADOS CONCEITUAL __________________________________________________ 8


3.1 MODELO DE ENTIDADE E RELACIONAMENTO (MER) _____________________________________________ 9
3.1.1 Definio ________________________________________________________________________________________ 9 3.1.2 Entidade ________________________________________________________________________________________ 9 3.1.3 Instncia ou ocorrncia de Entidade _________________________________________________________________ 10 3.1.4 Atributo ________________________________________________________________________________________ 10 3.1.5 Domnio do Atributo ______________________________________________________________________________ 10

3.2 - Representao Grfica ___________________________________________________________________ 10 3.3 - Cardinalidade de Relacionamentos _________________________________________________________ 10


3.3.1 Cardinalidade mxima ____________________________________________________________________________ 11 3.3.2 Cardinalidade mnima _____________________________________________________________________________ 11 3.3.3 Relacionamento 1:1 ______________________________________________________________________________ 11 3.3.4 Relacionamento 1:N ou N:1 ________________________________________________________________________ 11 3.3.5 Relacionamento N : M ____________________________________________________________________________ 11

3.4 ATRIBUTOS _____________________________________________________________________________ 12


3.4.1 Tipos de Atributo_________________________________________________________________________________ 12 3.4.1 Atributos do Relacionamento _______________________________________________________________________ 13

3.5 - Grau do Relacionamento _________________________________________________________________ 13

EEEP Amlia Figueiredo de Lavor

Fund. de Banco de Dados

Professor: Arley Rodrigues

19

3.5.1 Relacionamento Binrio ___________________________________________________________________________ 13 3.5.2 Relacionamento Ternrio __________________________________________________________________________ 13 3.5.3 Exemplos de Relacionamento: ______________________________________________________________________ 14

3.6 ABORDAGEM RELACIONAL _________________________________________________________________ 14


3.6.1 Tabelas _________________________________________________________________________________________ 15 3.6.2 Chaves _________________________________________________________________________________________ 15 3.6.3 Chave Primria __________________________________________________________________________________ 15 3.6.4 Chave Estrangeira ________________________________________________________________________________ 15 3.6.5 Chave Alternativa ________________________________________________________________________________ 16 3.6.6 Domnios e valores vazios (null e not null) _____________________________________________________________ 16 3.6.7 Entidade Fraca ___________________________________________________________________________________ 16 3.6.8 Chave primria (identificador) em relacionamentos _____________________________________________________ 16 3.6.9 Generalizao ou Especializao ____________________________________________________________________ 17 3.6.10 Restries de Integridade _________________________________________________________________________ 17

Você também pode gostar