Você está na página 1de 23

APOSTILA

BANCO DE DADOS
RELACIONAL








.





Prof. Ricardo Luis Balieiro







SUMRIO

1. SISTEMAS DE ARQUIVOS ........................................................................................ 1
1.1. PROBLEMAS ......................................................................................................... 1
1.2. BANCO DE DADOS .............................................................................................. 2
2. HISTRICO DOS SGBDS........................................................................................... 2
2.1. MODELO HIERRQUICO .................................................................................... 2
2.2. MODELO DE REDE ............................................................................................... 3
2.3. MODELO RELACIONAL ...................................................................................... 3
3. SISTEMA DE GERNCIA DE BANCO DE DADOS (SGBD) .................................. 4
3.1. BANCO DE DADOS (BD) ...................................................................................... 4
3.2. SISTEMA DE GERNCIA DE BANCO DE DADOS (SGBD) ............................... 4
4. MODELOS DE DADOS ............................................................................................... 5
4.1. MODELO CONCEITUAL ...................................................................................... 5
4.2. MODELO LGICO ................................................................................................ 5
4.3. MODELO FSICO ................................................................................................... 5
5. MODELO CONCEITUAL ........................................................................................... 6
5.1. ENTIDADES ........................................................................................................... 6
5.1.1. Classificao.............................................................................................. 7
5.2. ATRIBUTOS (CAMPOS) ....................................................................................... 7
5.2.1. Atributo Monovalorado. .............................................................................. 8
5.2.2. Atributo Composto ..................................................................................... 8
5.2.3. Atributo Multivalorado ............................................................................... 9
5.2.4. Atributo Determinante ................................................................................ 9
5.3. RELACIONAMENTO ............................................................................................ 9
5.3.1. Grau do Relacionamento ........................................................................... 10
5.4. CARDINALIDADE .............................................................................................. 11
5.4.1. Cardinalidade Mnima .............................................................................. 12
5.4.2. Cardinalidade Mxima .............................................................................. 13
6. MODELO LGICO .................................................................................................. 13
7. MODELO FISICO ..................................................................................................... 14
7.1. TABELA ............................................................................................................... 15
7.2. CHAVE PRIMRIA ............................................................................................. 16
7.3. CHAVE ESTRANGEIRA ..................................................................................... 16
8. LINGUAGEM SQL ................................................................................................... 17
8.1. DML - LINGUAGEM DE MANIPULAO DE DADOS ................................... 17



8.2. DDL - LINGUAGEM DE DEFINIO DE DADOS ........................................... 18
9. REFERNCIAS ......................................................................................................... 19



1


1. SISTEMAS DE ARQUIVOS

No incio dos sistemas de informao os dados eram armazenados em sistemas de
arquivos. Este tipo de abordagem acarretava diversos problemas, entre eles podemos citar os
mais crticos como:

1.1. PROBLEMAS

Redundncia de dados:
Dados eram repetidos em diversos locais (arquivos) diferentes.
Cada programador criava o seu prprio formato de arquivo, ou seja, diversos
programadores era igual a diversos formatos de arquivos.

Inconsistncia
Por ter grande redundncia de dados (dados repetidos) acarretava inconsistncia de
dados, ou seja, um dado em um determinado arquivo estava com um valor e em outro,
um valor totalmente diferente.

Dificuldade no acesso aos dados
Para obter qualquer informao do sistema de arquivos, era necessrio criar um
programa para esta tarefa.

Todos estes problemas levaram ao estudo para o desenvolvimentos dos SGBDs.






2



1.2. BANCO DE DADOS

Todos os problemas abortados nos sistemas de arquivos levaram ao estudo para o
desenvolvimento dos Sistemas de Gerenciamento de Banco de Dados (SGBD).
Nos Sistema de Gerenciamento de Banco de Dados (SGBD) os dados so
armazenados em um nico local. As redundncias so controladas, ou seja, so reduzidas ao
mximo evitando inconsistncias de dados. Os SGBDs oferecem interfaces de acessos
permitindo assim uma forma padro de criar e manter os dados facilitando assim o acesso aos
dados.






2. HISTRICO DOS SGBDS

2.1. MODELO HIERRQUICO

Um dos primeiros bancos de dados criado foi o Hierrquico. No modelo Hierrquico
os dados so armazenado em registros e os registros so conectados entre si em forma de uma
rvore invertida. Cada registro tem apenas um possuidor, ou seja, tem apenas um registro pai.

3




2.2. MODELO DE REDE

No modelo Hierrquico de dados havia uma grande redundncia de registros. Este
inconveniente fez com que fosse criado um novo modelo, o modelo em redes. No modelo em
redes um registro pode estar associado a vrios outros registros.




2.3. MODELO RELACIONAL

O modelo relacional um modelo de dados, que se baseia no princpio em que todos
os dados esto guardados em tabelas.

CARGO
ID_Cargo CargoNome
1 Gerente
2 Vendedor
3 Balconista
4 Repositor
4



FUNCIONRIO
ID_Funcionario ID_Cargo Nome Salrio
1 1 J oo da Silva 5.000,00
2 2 Maria Soares 3.000,00
3 1 J os Pereira 5.000,00
4 3 Carlos Nascimento 2.000,00
5 4 Pedro Amaral 1.000,00
6 3 Ana Beatriz 2.000,00
7 3 Margarida Souza 2.000,00


3. SISTEMA DE GERNCIA DE BANCO DE DADOS (SGBD)

3.1. BANCO DE DADOS (BD)

Bancos de dados ou bases de dados so colees organizadas de informaes
(dados) que se relacionam de forma a criar um sentido e dar mais eficincia durante uma
pesquisa ou estudo.

3.2. SISTEMA DE GERNCIA DE BANCO DE DADOS (SGBD)

Um Sistema de Gerenciamento de Banco de Dados (SGBD) o conjunto de
programas de computador (softwares) responsveis pelo gerenciamento de uma base de
dados. Seu principal objetivo retirar da aplicao cliente a responsabilidade de gerenciar o
acesso, a manipulao e a organizao dos dados. O SGBD disponibiliza uma interface para
que seus clientes possam incluir, alterar ou consultar dados previamente armazenados.

5


4. MODELOS DE DADOS

O objetivo de um modelo de banco de dados descrever os tipos de informaes que
sero armazenadas em um banco de dados. Cada modelo de dados apresenta os tipos de dados
num determinado nvel de abstrao (Abstrao = o que s existe na ideia, no conceito).
Abstrao aqui se entende como nvel de detalhamento. Quanto mais abstrato for um modelo,
menos detalhes sero descrito. Diminuindo a abstrao mais detalhes sero fornecidos.
Ex.: Maquete apartamento, manequim numa vitrine, a foto de um sof, aeromodelo,
memorial descritivo de um apartamento.
Aps o levantamento de requisitos de um banco de dados, o projeto do mesmo passa
por trs modelos de dados: Modelo conceitual, Modelo Lgico e Modelo Fsico.

4.1. MODELO CONCEITUAL

uma descrio mais abstrata da base de dados. O modelo conceitual um diagrama
em blocos que demonstra todas as relaes entre as entidades, suas especializaes, seus
atributos e relacionamentos. Neste modelo no so descritos detalhes de implementao e
nem o tipo de Sistema de Gerenciamento de Banco de Dados (SGBD) que ser utilizado.

4.2. MODELO LGICO

uma descrio menos abstrata da base de dados. Neste modelo so descritas as
ligaes entre as tabelas de banco de dados, as chaves primrias, os componentes de cada
uma, etc. O modelo lgico leva em considerao o Sistema de Gerenciamento de Banco de
Dados (SGBD). Apesar do modelo lgico levar em considerao o SGBD que ser utilizado,
no descrito detalhes de implementao de nvel fsico.

4.3. MODELO FSICO

O mais baixo nvel de abstrao. Descrio de como a base de dados armazenada
internamente. Inclui a anlise das caractersticas e recursos necessrios para armazenamento e
manipulao das estruturas de dados (estrutura de armazenamento, endereamento, acesso e
6


alocao fsica), sendo uma sequncia de comandos executados em SQL a fim de criar as
tabelas, estruturas e ligaes projetadas at ento e finalmente criar o banco de dados.

5. MODELO CONCEITUAL

Na modelagem de um banco de dados, um dos modelos mais utilizados o Modelo
Entidade-Relacionamento. O modelo de entidade e relacionamento um modelo abstrato cuja
finalidade descrever, de maneira conceitual, os dados a serem utilizados em um sistema de
informaes. A principal ferramenta do modelo sua representao grfica, o diagrama
entidade relacionamento. Normalmente o modelo e o diagrama so conhecidos por suas
siglas: MER e DER. O Modelo de Entidade e Relacionamento (MER) um representao da
realidade e pode ser representado por entidades, relacionamentos e atributos




5.1. ENTIDADES

Entidade uma forma de descrever um objeto do mundo real de uma forma abstrata,
sobre o qual se deseja armazenar informaes. O termo objeto usado de modo genrico,
podem ser: aluno, professor, turma, disciplina, documento, ambiente, etc. No modelo entidade
relacionamento, a entidade representada graficamente atravs de um retngulo contendo seu
nome no centro deste retngulo.




7



Representa um conjunto de alunos e no um s aluno.

Representa um conjunto de turmas.

Representa um conjunto de cursos.

5.1.1. Classificao

As entidades podem ser classificadas em trs tipos.
ENTIDADE FORTE: entidades do tipo forte podem existir por si s, possuem alto
grau de independncia, ou seja, no depende de outra entidade. Ex.: entidade CURSO.
ENTIDADE FRACA: entidades dos tipos fracas dependem da existncia de outra
entidade (forte) para existir: Ex.: a entidade ALUNO s pode existir se houver a entidade
CURSO.
ENTIDADE ASSOCIATIVA: uma entidade dita como associativa quando no
existe por si s e sua existncia est condicionada existncia de duas ou mais entidades.

5.2. ATRIBUTOS (CAMPOS)

Atributo so elementos que descreve as caractersticas de uma entidade. Os atributos
podem ser chamados de campo. Ex. : Atributos da entidade ALUNO: nome, data de
nascimento, telefone, endereo, etc. No modelo entidade relacionamento, o atributo
representado graficamente atravs de um crculo, contendo seu nome prximo ao crculo.


8





Uma das formas textuais de representar a entidade e seus atributos pode ser:
Aluno(Matrcula, Nome, Endereo, Telefone)

5.2.1. Atributo Monovalorado.

O atributo monovalorado aquele que assume um nico valor. Ex.: Matrcula, Nome




5.2.2. Atributo Composto

O atributo composto formado por um ou mais sub atributos. Ex.: Endereo.



9


5.2.3. Atributo Multivalorado

O atributo multivalorado um atributo que contm diversos valores. Ex.: Telefone.



5.2.4. Atributo Determinante

O atributo determinante um atributo que identifica cada entidade de um conjunto-
entidade (Atributo Chave). Ex.: Matrcula.




5.3. RELACIONAMENTO

Analisando as entidades no mundo real, percebe-se que as entidades normalmente
tem um relacionamento umas com as outras, nunca esto sozinhas. O Modelo de Entidades e
Relacionamentos descrevem este relacionamento ou associaes entre as entidades. O
relacionamento feito aps a identificao das entidades e seus atributos. Os relacionamentos
(associaes) so descritas atravs de aes (verbos) entre as entidades.
Ex.: Aluno MATRCULA Curso
Curso POSSUI Professores
Cliente REALIZA - Pedido
10


A representao grfica do relacionamento feita por um losango, contendo seu
nome no centro e ligado por linhas aos retngulos que representam as entidade que participam
do relacionamento.



5.3.1. Grau do Relacionamento

O grau de relacionamento define a quantidades de entidades que fazem parte do
relacionamento.

Relacionamento Unrio (Grau 1)
Neste tipo de relacionamento a entidade se relaciona com ela mesma.



Relacionamento Binrio (Grau 2)
Este tipo de relacionamento um dos mais usados. Nele as so ligados dois tipos
distintos de entidades.






11


Relacionamento Ternrio (Grau 3)
Este tipo de relacionamento menos comum do que o relacionamento binrio. No
relacionamento ternrio trs entidades distintas so interligadas no mesmo relacionamento.



5.4. CARDINALIDADE

A cardinalidade dentro do modelo entidade relacionamento define os graus de
relacionamento entre duas entidades. Uma vez definido as entidades, seus atributos e seus
relacionamentos, o prximo passo definir a cardinalidade.
Com o relacionamento abaixo Aluno-Cursa-Disciplinas podemos definir a
cardinalidade para responder as seguintes questes:
Um determinado aluno esta cursando quantas disciplinas?
Determinada disciplina possui alunos?
Quantos alunos curso determinada disciplina?



A Cardinalidade pode ser expressa por cardinalidade mnima e cardinalidade
mxima. A representao grfica de cardinalidade mxima e mnima expressa por: Nmero
(Mnimo, Mximo).



12


5.4.1. Cardinalidade Mnima

A cardinalidade mnima representa o nmero mnimo de ocorrncias de entidade que
so associadas a uma ocorrncia de uma entidade atravs de um relacionamento. Na
cardinalidade mnima utiliza-se os valores 0 e 1. A cardinalidade de uma determinada
entidade descrita prxima da entidade a que esta relacionada. No exemplo abaixo a entidade
Aluno, em verde, tem sua cardinalidade em relao a entidade Disciplina descrita em verde
prximo a Disciplina. O mesmo ocorre com a entidade Disciplina em relao a entidade
Aluno.



A leitura da cardinalidade e feita inicialmente da esquerda para a direita. L-se: um
determinado ALUNO esta CURSANDO no mnimo UMA DISCIPLINA. Em seguida, l-se
da direita para a esquerda: uma determinada DISCIPLINA pode ser cursada pelo mnimo
ZERO ALUNO. Isto indica que um aluno deve estar matriculado pelo menos em uma
disciplina. Casos de aluno que tem dependncia de matria por exemplo. No caso da
disciplina que dizer que a disciplina pode estar criada, mas ainda nenhum aluno se matriculou
na mesma. Pode citar como exemplo, disciplinas opcionais onde o aluno pode se matricular
ou no.

Cardinalidade OBRIGATRIA
Cardinalidade OPCIONAL

Um ponto importante a salientar a representao destes dois valores 0 e 1. Quando
se tem uma cardinalidade mnima igual a 1 isto indica que a associao entre as duas entidade
obrigatria. Para relacionamentos onde a cardinalidade mnima igual a 0 ento a
associao entre as duas entidade opcional.



13


5.4.2. Cardinalidade Mxima

A cardinalidade mxima representa o nmero mximo de ocorrncias de entidade
que so associadas a uma ocorrncia de uma entidade atravs de um relacionamento. Na
cardinalidade mnima utiliza-se os valores 1 e N. O valor de N representa quantidades acima
de 1.


A leitura da cardinalidade e feita inicialmente da esquerda para a direita. L-se: um
determinado ALUNO esta CURSANDO N DISCIPLINA. Em seguida, l-se da direita para a
esquerda: uma determinada DISCIPLINA cursada por N ALUNO. Isto indica que um aluno
esta matriculado em diversas disciplinas e uma disciplina (Ex.: Matemtica) cursada por
vrios alunos.

6. MODELO LGICO

Neste modelo so descritas as ligaes entre as tabelas de banco de dados, as chaves
primrias, os componentes de cada uma, etc. O modelo lgico leva em considerao o
Sistema de Gerenciamento de Banco de Dados (SGBD). Apesar do modelo lgico levar em
considerao o SGBD que ser utilizado, no descrito detalhes de implementao de nvel
fsico. Desta forma, este modelo dependente do tipo particular de SGBD a ser utilizado.


14




7. MODELO FISICO

Descrio de como a base de dados armazenada internamente. Inclui a anlise das
caractersticas e recursos necessrios para armazenamento e manipulao das estruturas de
dados (estrutura de armazenamento, endereamento, acesso e alocao fsica), sendo uma
sequncia de comandos executados em SQL a fim de criar as tabelas, estruturas e ligaes
projetadas at ento e finalmente criar o banco de dados.
15




7.1. TABELA

No modelo de dados relacional, as entidades se transformam em tabelas. As tabelas
so formadas por linhas e colunas, semelhantes a uma planilha eletrnica. Um banco de dados
pode ser composto por vrias tabelas. Cada atributo definido para uma entidade se transforma
em uma coluna da tabela. Nos casos dos atributos determinantes, alm deles serem colunas,
so tambm chaves da tabela.

ALUNO

Matrcula Nome Endereo Telefone
10101 J oo da Silva Rua Amap, 300 1111-1111
10102 Maria Soares AV Saudade, 1245 2222-2222
10103 J os Pereira Rua das Flores, 124 3333-3333
10104 Carlos
Nascimento
Travessa Carla, 32 4444-4444



16


7.2. CHAVE PRIMRIA

A chave primria composta por uma ou mais colunas de uma tabela. Seu objetivo
permitir que se possa distinguir uma linha das demais dentro de uma tabela. Isto significa que
os valores armazenados nesta coluna no podem ser repetidos e no podem ser nulos. Na
tabela aluno a chave primria a coluna Matricula. Atravs de um nmero de matricula (Ex.:
10103) possvel selecionar apenas uma linha da tabela.

ALUNO
Matrcula Nome Endereo Telefone
10101 J oo da Silva Rua Amap, 300 1111-1111
10102 Maria Soares AV Saudade, 1245 2222-2222
10103 J os Pereira Rua das Flores, 124 3333-3333
10104 Carlos Nascimento Travessa Carla, 32 4444-4444


7.3. CHAVE ESTRANGEIRA

A chave estrangeira um campo de uma tabela que aponta para a chave primria de
outra tabela ou da mesma tabela. atravs do mecanismo de chave estrangeira que possvel
implementar relacionamentos em um banco de dados relacional. Na tabela FUNCIONRIO a
coluna ID_CARGO a chave estrangeira. A chave estrangeira ID_CARGO, liga a tabela
FUCIONRIO tabela CARGO.

CARGO
ID_Cargo CargoNome
1 Gerente
2 Vendedor
3 Balconista
4 Repositor




17


FUNCIONRIO
ID_Funcionario ID_Cargo Nome Salrio
1 1 J oo da Silva 5.000,00
2 2 Maria Soares 3.000,00
3 1 J os Pereira 5.000,00
4 3 Carlos Nascimento 2.000,00
5 4 Pedro Amaral 1.000,00
6 3 Ana Beatriz 2.000,00
7 3 Margarida Souza 2.000,00


Alm de possibilitar o relacionamento entre tabelas, o objetivo da chave estrangeira
garantir a integridade dos dados referenciais. Isto significa, por exemplo, que na coluna
ID_Cargo de FUNCIONRIO s sero permitidos inserir valores que estiverem cadastrados
ID_Cargo de CARGO. Se tentar inserir o valor 5 na coluna ID_Cargo de FUNCIONRIO, o
banco de dados dar uma mensagem de erro, porque o valor 5 no esta cadastrado em
ID_Cargo de FUNCIONRIO.

8. LINGUAGEM SQL

A linguagem SQL (Structured Query Language) uma linguagem que tem como
objetivo facilitar o acesso s informaes do banco de dados relacional atravs de consultas,
atualizaes e manipulaes de dados. A linguagem SQL dividida em subconjuntos de
acordo com as operaes que queremos efetuar sobre um banco de dados, tais como

8.1. DML - LINGUAGEM DE MANIPULAO DE DADOS

O subconjunto DML permite realizar operaes de incluses, consultas, alteraes e
excluses de dados nas tabelas do banco de dados atravs dos comandos: Insert, Select,
Update e Delete.




18


INSERT
INSERT INTO nome_tabela (lista-de-campos)
VALUES (lista_dados)

INSERT INTO Cargo (ID_Cargo, CargoNome)
VALUES(5, "Encarregado")


UPDATE
UPDATE nome_tabela
SET CAMPO ="novo_valor"
WHERE CONDIO

UPDATE Funcionrio
SET SALARIO =1500.00
WHERE ID_Funcionario =5


DELETE
DELETE FROM nome_tabela
WHERE condio

DELETE FROM Funcionrio
WHERE ID_Funcionario =7

8.2. DDL - LINGUAGEM DE DEFINIO DE DADOS

A linguagem de definio de dados (DDL Data Definition Language) tem como
objetivo permitir definir objetos e controlar os dados.

CREATE, ALTER E DROP



19


CREATE TABLE Nome_da_Tabela( Atributo1 Tipo,
Atributo2 Tipo,
Atributo3 Tipo);

CREATE TABLE Contatos (
Id INTEGER IDENTITY(1,1) PRIMARY KEY NOT NULL,
Nome VARCHAR(50) NOT NULL,
Endereco VARCHAR(50) NOT NULL,
Email VARCHAR(50),
Data_Nascimento DATETIME );


9. REFERNCIAS

ALVES, W. P. Fundamentos de Bancos de Dados. rica, 2004

ELMASRI, N. Sistemas de Banco de Dados. 4. Ed. So Paulo: Pearson, 2005.

GILLENSON, M. L. Fundamentos de Sistemas de Gerncia de Banco de Dados. LTC,
2006.

GUIMARAES, C C. Fundamentos De Banco De Dados Modelagem, Projeto E
Linguagem Sql. UNICAMP, 2008.

HEUSER, C. A. Projeto de Banco de Dados. Sagra Luzzatto, 2004.

SILVA, F. S. C.; SETZER, V. W. Banco de Dados - Aprenda o que So Banco de Dados,
Melhore seu Conhecimento, Construa os seus. Editora: Edgard Blucher, 2005.

TEOREY, T. J. Projeto e modelagem de banco de dados. Elsevier, 2007.