Académique Documents
Professionnel Documents
Culture Documents
Banco de dados
Pgina 2
Modelo de Dados
Um modelo de banco de dados uma descrio dos tipos de informaes
que esto armazenados em um banco de dados (HEUSER, 2004).
Todo bom sistema de banco de dados deve apresentar um projeto, que
visa 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 tem o objetivo de transformar as
necessidades de informaes no negcio em um banco de dados.
Pgina 3
Modelo de Dados
Pgina 4
Modelo de Dados
Modelo Lgico uma descrio de um banco de dados no nvel de abstrao
visto pelo usurio do SGBD. Assim, o modelo lgico dependente do tipo
particular de SGBD que est sendo usado.
Em um SGBD relacional, os dados esto organizados na forma de tabelas e
relaes.
Representao textual (esquema)
Pgina 5
Pgina 6
Tabela
Todos os dados de um banco conceitualmente so organizados no formato de
tabelas, onde cada coluna ser um campo e cada linha ser um registro.
Os limites de linhas e colunas possveis de serem alocados para uma tabela
pode variar em cada banco de dados.
Se pode ordenar uma tabela baseando-se em qualquer campo (ou campos) que
a forma; alm disso, cada consulta ao banco pode necessitar de uma ordenao
diferente.
Normalmente os bancos de dados armazenam suas tabelas pela ordem de
chegada dos dados, sendo responsabilidade das consultas ordenar os resultados.
Exemplo de tabela:
Pgina 7
Registro
Pgina 8
Campos
Os campos podem ser reconhecidos pelas colunas de uma tabela.
Cada coluna est representando um campo, o qual tem a
responsabilidade de armazenar as informaes sobre o tipo de dados que
ser armazenado em sua regio.
Pgina 9
Chaves
Pgina 10
Chave primria
Uma chave primria (do ingls PK Primary Key) uma coluna ou uma
combinao de colunas cujos valores distinguem uma linha das demais
dentro de uma tabela.
Exemplo de tabela com chave primria:
Funcionrio (CodFuncionario, CPF, Nome_Funcionario)
Pgina 11
Chave estrangeira
Uma chave estrangeira (do ingls Foreign Key) 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 um banco de dados relacional.
Esse termo utilizado para caracterizar as colunas de uma tabela que possam
armazenar somente valores de uma chave primria de outra tabela. essa
chave, com o complemento de uma chave primria, que forma os
relacionamentos entre tabelas.
Supondo-se duas tabelas: a primeira, um cadastro de clientes, e a segunda, um
cadastro de vendas, uma forma prtica de relacionar as vendas aos clientes
como mostrado na figura abaixo.
Tabelas:
Cliente (Codigo (PK), Nome)
Vendas (NotaFiscal (PK), cliente (FK), produto)
Pgina 12
Notaes Chen
Pgina 14
Pgina 15
Notao IDEF1X
Pgina 16
Pgina 17
Pgina 18
Relacionamentos
O conceito de relacionamento depende muitas vezes da existncia de
chaves (primrias e estrangeiras) em um banco de dados. Na verdade,
o uso das funcionalidades de chaves primria e estrangeira que forma os
relacionamentos.
Um relacionamento pode ser definido pelos elos (ou ligaes) existentes
entre tabelas. Quando se liga um (ou mais) campo(s) de uma tabela com
um (ou mais) campo(s) de outra tabela, forma-se um relacionamento,
sendo normalmente o campo da primeira tabela uma chave primria e o
campo da segunda tabela uma chave estrangeira (pois repetem os
valores da primeira tabela).
Um dos objetivos dos relacionamentos auxiliar nas consistncias dos
dados armazenados no banco.
H trs tipos bsicos de relacionamentos entre tabelas, que so:
1:1
1:N
N:M
Pgina 19
Relacionamento 1:1
Pgina 20
Relacionamento 1:N
Os relacionamentos 1 para N (um para muitos) permitem que cada tupla
de uma tabela pode-se relacionar com N tuplas da outra tabela. Porm,
cada tupla da segunda tabela s se relaciona com um nico tupla da
primeira.
Neste relacionamento, um exemplo que pode ser citado a ligao
entre cliente e compras realizadas em uma loja. Informalmente, um
cliente pode realizar uma ou mais (N) compras em uma loja, contudo,
cada compra da loja (ou seja, cada nota fiscal emitida) estar em nome
de exclusivamente um cliente.
Pgina 21
Relacionamento N:M
De todos os tipos de relacionamento, o tipo N para M (muitos para
muitos) , sem dvida, o mais amplo de todos. Pode-se dizer que este
relacionamento a combinao do tipo 1 para N (1:N|N:1) nos dois
sentidos do relacionamento (da primeira para segunda tabela e viceversa). Neste caso, pode haver um ou mais registros na segunda tabela
ligados a um registro da primeira, assim como pode haver um ou mais
registros na primeira tabela para cada registro da segunda.
Um exemplo para este caso o controle de matrcula de alunos nos
cursos de treinamento oferecidos por uma escola qualquer. No h
restries de que o alunos no possa assistir a mais de um curso,
portanto, um aluno pode estar matriculado e um ou mais cursos da
escola. Do outro lado da ligao, um curso pode ser frequentado por um
ou mais alunos.
Pgina 22
Restries de integridade - RI
Objetivos
Evitar que o BD entre em um estado inconsistente
Pgina 23
Restries de integridade - RI
Um dos objetivos primordiais de um SGBD a integridade de dados. Dizer que
os dados de um banco de dados esto ntegros significa dizer que eles refletem
corretamente a realidade representada pelo banco de dados e que so
consistentes entre si. O controle de integridade de dados embutido nos SGDBs
garante que todos os dados inclusos ou alterados no banco estaro de acordo com
regras criadas para estes. No abordagem relacional, costuma-se classificar as
restries de integridade nas seguintes categorias:
Integridade de domnio - restries deste tipo especificam que o valor de um
campo deve obedecer a definio de valores admitidos para a coluna (o
domnio da coluna);
Integridade de chave - no podem existir duas tuplas de uma relao com
valores iguais na chave primria;
Integridade de vazio (entidade) a chave primria no pode conter um valor
nulo (NULL). O NULL no o valor 0 (zero) nem o caractere branco,
simplesmente a no existncia de contedo neste campo;
Notao:
onde op a opo de excluso, dentro as seguintes:
Bloqueio (restrict): se alguma tupla referencia a tupla a ser excluda, atravs
de uma chave estrangeira, a excluso no efetuada;
Pgina 25
Pgina 27
N:N
Observao: Em BD relacionais no possvel implementar uma
relacionamento N:M. Quando acontecer deve ser transformado em
1:N|M:1.
1:N|M:1
Pgina 28
Pgina 29
Engenharia Direta
Pgina 30
Engenharia Reversa
Dicionrio de dados
Pgina 31
Pgina 32