MODELO DE DADOS
Pesquisar este blog
segunda-feira, 20 de maio de 2013
domingo, 19 de maio de 2013
Oracle - Basico
Banco de dados Oracle:
Fornecer ao leitor
uma visão geral dos conceitos de banco de dados e o Oracle.
Visão geral
O objetivo de um banco de dados é armazenar e recuperar informações
relacionadas. Um servidor de banco de dados é a chave da solução do problema de
gerenciamento de informações.
Em geral o servidor gerencia uma grande quantidade de dados
em um ambiente multiusuário onde vários usuários podem concorrer ao acesso a um
mesmo dado.
Tudo isso ocorre enquanto o banco entrega dados em alto
desempenho. Um banco de dados Oracle tem estruturas lógicas e estruturas
físicas.
Separadas assim o armazenamento dos dados podem ser
gerenciados sem afetar o acesso às estruturas lógicas de armazenamento.
Estruturas lógicas de banco de dados
As estruturas lógicas do Oracle incluem schemas, data
blocks, extens, segments e tablespaces.
Schemas e objetos de schemas
Schema é uma coleção de objetos de um banco de dados.
Um schema pertence a um usuário do banco de dados e tem o
mesmo nome do usuário. Objetos de um schema são estruturas lógicas que se
referem diretamente aos dados do banco. Objetos de um schema incluem estruturas
como tables (tabelas), views (visões de tabelas) e index (índices de tabelas).
Não há relação entre tablespaces e schema. Objetos do mesmo
schema podem estar em diferentes tablespaces diferente tablespaces podem conter
objetos de diferentes schemas.
Tables (tabelas)
Uma tabela é uma unidade básica de armazenamento do banco de
dados Oracle. Tabelas do banco de dados possuem todos os dados acessíveis ao
usuário.
Cada tabela contém um determinado número de linhas e
colunas. O Oracle armazena em cada linha de uma tabela no máximo 256 colunas. Uma
tabela que contenha dados sobre empregados pode conter uma coluna chamada
numero_do_empregado e cada linha desta coluna é um número de determinado
empregado.
Views (Visões de tabelas)
Views são apresentações customizadas de dados de uma ou mais
tabelas ou outras views. Um view pode ser considerada uma query de armazenamento. Views não contém dados. Os
dados de uma view derivam das tabelas bases da view.
Elas são referenciadas como “base tables” (tabelas base).
Como as tabelas, as views podem ser selecionadas,
atualizadas, inseridas e eliminadas. Com algumas restrições. Todas as operações
efetuadas em uma view afetam as tabelas base.
Views proporcionam um nível adicional de segurança
restringido acesso a determinados conjunto de linhas e colunas de uma tabela.
Elas também escondem a complexidade dos dados armazenados e a complexidade das
querys.
Index (Índice)
Índices são estruturas associadas com tabelas. Índices podem
ser criados para melhorar o desempenho da recuperação de dados. Como um índice
de um livro permite que você acesse rapidamente as informações contidas neste
livro os índices do Oracle permitem que os dados sejam acessados mais
rapidamente.
Quando processa uma requisição o Oracle utiliza um ou todos
os índices disponíveis para localizar as linhas requisitadas de forma
eficiente. Índices são especificamente úteis quando aplicações requisitam dados
de uma tabela com número de linhas ou quando requisita uma linha específica.
Índices são criados com uma ou mais colunas de uma tabela.
Depois de criado o índice é automaticamente mantido e usado pelo Oracle.
Mudanças realizadas na tabela são automaticamente incorporadas aos índices com
completa transparência para os usuários.
Você pode particionar índices.
Cluster (Agrupamento)
Cluster é um grupo de uma ou mais tabelas fisicamente
armazenados juntos. Isto ocorre porque elas compartilham colunas comuns e
freqüentemente as usam juntas.
Por serem fisicamente armazenadas juntas o acesso a disco é
melhorado.
Como os índices os clusters não afetam o desenvolvimento da
aplicação. Se uma tabela é parte ou não de um cluster isto é transparente para
o usuário e para a aplicação. Dados armazenados em uma tabela de um cluster são
acessados da mesma forma que dados de uma tabela não clusterizada.
Data blocks, extents e segments.
As estruturas lógicas de armazenamento incluem data blocks,
extents e segments. Estes objetos permitem ao Oracle ter um grande controle do
espaço em disco.
Data blocks (Bloco de dados)
Num nível mais alto de granulidade o Oracle armazena dados
nos data blocks.
Um data block corresponde a um número específico de bytes no
espaço físico do banco de dados no disco. O tamanho padrão de um data block é
especificado no parâmetro DB_BLOCK_SIZE. Adicionalmente você pode especificar
mais de cinco tamanhos de blocos. O banco de dados usa e aloca o espaço livre
do banco em data blocks.
Extents (Extensões)
O próximo nível lógico de armazenamento é o extent. Um
extent é um conjunto contínuo de data blocks obtido em uma alocação individual
usada para armazenar um tipo específico de informação.
Segments (Segmentos)
Um segment é a unidade de armazenamento lógico imediatamente
acima do extent. Segment é um conjunto de extents armazenados em uma determinada
estrutura lógica. A tabela a seguir descreve os diferentes tipos de segments.
O Oracle aloca dinamicamente espaço quando os extents de um
segment estão cheios. Em outras palavras: Quando um extent de um segment esta
cheio o Oracle aloca um outro extent para o segment. Por ser alocado apenas
quando necessário o extent de segment pode ser ou não contínuo.
Tablespaces
Um banco de dados é dividido em unidades lógicas de
armazenamento chamadas de tablespaces. Estas unidades agrupam estruturas lógicas
relacionadas, por exemplo: Tablespaces comumente agrupam objetos da aplicação
simplificando algumas operações administrativas.
» Cada banco de dados é divido em uma ou mais tablespaces.
» Um ou mais datafiles são criados para armazenar
fisicamente os dados de todas as estruturas lógicas de um tablespace.
» O tamanho total dos datafiles de um tablespace é a
capacidade do armazenamento do table space.
» A capacidade combinada dos tablespaces de um database é a
capacidade do database.
Os tablespaces podem estar on-line ou off-line. Um
tablespace precisa estar on-line para que os usuários possam acessar suas
informações. Os tablespaces podem ficar off-line para manutenção do database.
Estruturas físicas do banco de dados
Iremos dar uma visão geral das seguintes estruturas físicas
do banco de dados Oracle: data files, arquivos de log de redo e arquivos de
controle.
Data files
Todo banco de dados Oracle tem um ou mais data files
físicos. Os data files contém os dados
do banco de dados. Os dados das estruturas lógicas como tabelas e índices são
fisicamente armazenados nos data files alocados para o banco de dados.
As características dos data files são:
» Um data file pode ser associado a um único data base.
» Os data files tem uma características que permitem que
eles sejam expandidos sempre que o espaço físico do banco de dados terminar.
» Um ou mais data files formam uma unidade lógica de
armazenamento chamada tablespace.
Os dados de um data file são lidos, quando preciso, durante
as operações normais de banco de dados e armazenados no cachê de memória do
Oracle. Por exemplo: Um usuário quer acessa
algum dado armazenado na tabela do banco. Se o dado desejado não ainda
não se encontra no cachê do banco ele é lido no data file apropriado e
armazenado no cache de memória.
Dados modificados ou alterados não são necessariamente
armazenados no data file de imediato. Para reduzir o acesso a disco e melhorar
o desempenho, o dado é colocado na memória e gravado no data file todos de uma
vez como determinado pelo processos interno do Oracle chamado “database writer
process”. Este processo é executado em segundo plano.
Redo Log Files
Todo banco de dados Oracle tem um conjunto de um ou mais
redo log files. O conjunto de um ou mais redo log files são conhecidos
coletivamente como redo log do banco de dados. Os redo log files são criados
através de registros de redo.
A função primária destes arquivos e registrar todas as
mudanças realizadas nos dados do banco de dados. Se devido a uma falha há
necessidade de se recuperar informações do banco de dados isto é possível de
ser feito através dos redo log files.
Para evitar falhas envolvendo os arquivos de redo log files
o Oracle permite a criação de multiplexed redo log files que são uma ou mais
cópias mantidas em diferentes discos.
As informações dos redo log files são usadas somente para
recuperar um banco de dados após uma falha do sistema ou do disco.
Control files
Todo banco de dados do Oracle tem um control file. Os
controls files guardam os registros que especificam as estruturas físicas dos
arquivos. Por exemplo, eles contém as seguintes informações:
» Nome do banco de dados
» Nomes e localizações dos redo log files
» A data da criação do banco de dados
Como os redo log files os control files também podem ter
cópias mantidas em mais de um disco para efeito de segurança.
Data Utilities
A um conjunto de três utilitários do Oracle (data utilities)
quer permitem que você faça as operações de importação, exportação e SQL
Loader.
Utilitário de importação
O utilitário de importação do Oracle insere em um banco de
dados objetos retirados de outro banco de dados através do utilitário de
exportação.
Utilitário de exportação
O utilitário de exportação do Oracle exporta objetos de um
banco de dados e insere em outro banco de dados sobre mesma plataforma ou
plataforma diferente.
SQL Loader
Arquivos gerados pelo utilitário de exportação só podem ser
lidos pelo utilitário de importação. Caso necessite ler arquivos em formato
ASCII, como arquivos com campos delimitados por vírgula, deverá ser utilizado o
utilitário SQL Loader.
ORACLE 2
O Oracle divide-se em duas partes:
1. Instância
– área de memória, alocada para o oracle gerenciar as requisições feitas pelos
usuários e manipular os Bancos de Dados. É a forma de conexão com o Banco de
Dados, apenas um instância é aberta;
2. Banco de
Dados – conjunto de arquivos físicos, onde são armazenadas as tabelas, índices
e demais objetos do Banco de Dados.
O Banco de Dados é dividido em três arquivos, são eles:
• Datafiles
– Arquivos físicos, armazenam tabelas, índices, etc. É necessário pelo menos um
datafile;
• Redo Log
File – Armazena fisicamente as alterações realizadas pelo Oracle, é utilizado
como uma espécie de segurança transacional. São necessários pelo menos 2 Red
Log File;
• Control
File – Gerenciam e armazenam toda a estrutura do Banco de Daods. É necessário
pelo menosum Control File.
SGA (System global area) – memória alocada na inicialização,
é de fundamental importância para o funcionamento do Banco de Dados. A sua
estrutura é a seguinte:
• Shared
Pool;
• Database
Buffer Cache;
• Redo Log
Buffer;
• demais
estruturas (lock, gerenciamento de fila, dados estatísticas);
• large
pool;
• java
pool.
O SGA, possui informações e dados de comtrole para o
servidor.
Para verificar os parâmetros do SGA usa-se o comando:
>show sga
PGA (Program global area) – memória alocada na inicialização
quando o servidor é iniciado, é uma memória não compartilhada. Contêm:
• Área de
SORT;
• Informações
de Sessão;
• Estado do
Cursor;
• Espaço de
pilha.
Segmento de RollBack (undo segment), é um objeto físico
localizado dentro de um data file do Banco de Dados. Armazena a imagem antiga
de uma transação que está sendo executada.
Conectando com o Banco de Dados
connect / as sysdba
Os comandos abaixo são utilizados para exportar e importar
um Banco de Dados, tabela(s) e/ou usuário(s).
EXPORT
Exporta as tabelas (tabela1, tabela2 e tabela3)
$ expdp USUARIO/INSTÂNCIA tables=(tabela1, tabela2, tabela3)
\
file=d:\banco.dmp \
log=d:\banco.log
Exporta o Banco de Dados inteiro
$ expdp USUARIO/INSTÂNCIA full=y \
file=d:\banco.dmp \
log=d:\banco.log
Importa as tabelas (tabela1, tabela2 e tabela3)
$ impdp USUARIO/INSTÂNCIA tables=(tabela1, tabela2, tabela3)
\
file=d:\banco.dmp \
log=d:\banco.log
Exporta o Banco de Dados inteiro
$ impdp USUARIO/INSTÂNCIA full=y \
file=d:\banco.dmp \
log=d:\banco.log
BD-MODELO ENTIDADE-RELACIONAMENTO
MODELO
ENTIDADE-RELACIONAMENTO 1
Enunciado de
requisitos – entrevista com o usuário do banco de dados para entender e usuário
do banco de dados para entender e documentar seus requerimentos de dados.
- Projeto Conceitual Projeto Conceitual – dados os requisitos do dados os requisitos do sistema, o esquema conceitual é uma descrição concisa dos requerimentos do descrição concisa dos requerimentos do usuário, usando um modelo de dados, ex, o MER. Ela serve para checar se todos os pedidos dos usuários estão sendo atendidos e se não há conflitos entre eles. Não há preocupação com armazenamento físico.
- Projeto Lógico – é a descrição das estruturas estruturas de representação representação da base de dados. O modelo conceitual é transformado em num modelo de dados de IMPLEMENTAÇÃO., ex, mod leo reli lacona. Ele resulta no esquema do banco de dados no modelo de dados de implementação implementação usado pelo SGBD.
- Projeto Físico – é a descrição das estruturas internas de armazenamento, dos esquemas utilizando a DDL (Data Definition Language).
MODELO
ENTIDADE-RELACIONAMENTO 2
O modelo
Entidade-Relacionamento (E-R) tem por base que o mundo real é formado por um
conjunto de objetos chamados de
entidades e pelo conjunto dos relacionamentos
entre esses objetos;
O objetivo
do modelo E-R é rep g resentar a estrutura lógica do banco de dados de uma
empresa, especificando o esquema da empresa, quais as entidades e como elas se relacionam
entre si.
O modelo E-R
é chamado de Modelagem Conceitual, cujo objetivo é representar de uma forma
abstrata, independente da IMPLEMENTAÇÃO, q lementação em computador, os dados
que serão armazenados no banco de dados.
- Conceitos básicos:
– O Modelo
ER trabalha com conceitos básicos:
-Atributos
-Conjuntos
de Entidade
-Conjuntos
de Relacionamento
Atributos:
-Simples ou
Compostos
-Monovalorados
ou Multivalorados
-Nulos
-Derivados
MODELO
ENTIDADE-RELACIONAMENTO 3
Atributos
Dado que é associado
a cada ocorrência de uma entidade ou de um relacionamento Os uma entidade ou de
um relacionamento. Os atributos são as propriedades das entidades.
Entidade
Conjunto de
objetos (coisas, tudo que é perceptível, manipulável) manipulável) da realidade
realidade modelada modelada sobre os quais deseja-se manter informações no banco
de dados. As entidades
são representadas por retângulos.
MODELO
ENTIDADE-RELACIONAMENTO 4
Estratégias
para reconhecer entidades
As coisas
tangíveis: aquilo que pode ser tocado.
-carro,
moto, casa, etc.
Funções: todo
o tipo de papel, atribuição, classificação, ou outra característica qualquer
que para um dado elemento, especifique não sua para um dado elemento,
especifique não sua existência mas sua atuação no ambiente em que está inserido.
–
Departamento de uma empresa, o autor de um Departamento de uma empresa, o autor
de umlivro, um médico.
Eventos ou
ocorrências: são ações ou fatos que uma vez ocorrendo possuem características
próprias vez ocorrendo possuem características próprias sobre as quais podemos
fazer alguma referência.
– um vôo
comercial, um acidente de trânsito, um jogo
de futebol jogo de futebol.
MODELO
ENTIDADE-RELACIONAMENTO 4
Conjunto de
Relacionamentos
Um relacionamento
é uma associação entre uma ou várias entidades-conjuntos de relacionamentos,
representado por um losango.
Auto-relacionamento
representa uma associação entre ocorrências de uma mesma entidade.A função que
uma entidade desempenha em um relacionamento é chamada Papel;
O numero de conjunto
de entidades que participa de um conjunto de relacionamento é também o grau
desse conjunto de relacionamento. Um conjunto de relacionamento binário é de
grau dois; um relacionamento ternário é de grau três.
Mapeamento
de Restrições
O esquema de
E-R de uma empresa pode definir certas restrições, as quais o conteúdo do banco
de dados deve conteúdo do banco de dados deve respeitar.Isso é feito utilizando
Isso é feito utilizando o Mapeamento de o Mapeamento de Cardinalidade
MODELO
ENTIDADE-RELACIONAMENTO 5
Expressa o
número de entidades as quais outra entidade pode estar associada via um
conjunto de relacionamentos.
Um para Um
Uma entidade
em A está associada no máximo a uma entidade em B, e uma entidade em B está
associada a no máximo uma entidade em A.
Um para muitos
Uma entidade
em A está associada a várias entidades em B. Uma entidade em B, entretanto, deve
estar associada no máximo a uma entidade
em A.
Muitos para muitos
Uma entidade
em A está associada a qualquer número de entidades em B e uma entidade em B
está associada a um número qualquer de entidades em A.
Banco de dados
RESUMO BANCO
DE DADOS 1
Um Banco de Dados Relacional é um conceito abstrato que define
maneiras de armazenar, manipular e recuperar dados estruturados unicamente na
forma de tabelas, construindo um banco de dados.
RESUMO BANCO
DE DADOS 2
As 13 regras
Em 1985, Edgar Frank Codd, criador do modelo relacional, publicou um artigo onde definia 13
regras para que um Sistema Gerenciador de Banco de
Dados (SGBD) fosse considerado relacional:
1. Regra Fundamental:
·
Um SGBD relacional deve gerir os seus dados usando apenas suas
capacidades relacionais
2. Regra da informação:
·
Toda informação deve ser representada de uma única forma, como dados em
uma tabela
3. Regra da garantia de acesso:
·
Todo o dado (valor atómico) pode ser acedido logicamente (e unicamente)
usando o nome da tabela, o valor da chave primária da linha e o nome da coluna.
4. Tratamento sistemático
de valores nulos:
·
Os valores nulos (diferente do zero, da string vazia, da string de
caracteres em brancos e outros valores não nulos) existem para representar
dados não existentes de forma sistemática e independente do tipo de dado.
5. Catálogo dinâmico
on-line baseado no modelo relacional:
·
A descrição do banco de dados é representada no nível lógico como dados
ordinários (isto é, em tabelas), permitindo que usuários autorizados apliquem
as mesmas formas de manipular dados aplicada aos dados comuns ao consultá-las.
6. Regra da
sub-linguagem abrangente:
·
Um sistema relacional pode suportar várias linguagens e formas de uso,
porém deve possuir ao menos uma linguagem com sintaxe bem definida e expressa
por cadeia de caracteres e com habilidade de apoiar a definição de dados, a
definição de visões, a manipulação de dados, as restrições de integridade, a
autorização e a fronteira de transações.
7. Regra da atualização
de visões:
·
Toda visão que for teoricamente atualizável será também atualizável pelo
sistema.
8. Inserção, atualização
e eliminação de alto nível:
·
Qualquer conjunto de dados que pode ser manipulado com um único comando
para retornar informações, também deve ser manipulado com um único comando para
operações de inserção, atualização e exclusão. Simplificando, significa dizer
que as operações de manipulação de dados devem poder ser aplicadas a várias
linhas de uma vez, ao invés de apenas uma por vez.
9. Independência dos
dados físicos:
·
Programas de aplicação ou atividades de terminal permanecem logicamente inalteradas
quaisquer que sejam as modificações na representação de armazenagem ou métodos
de acesso internos.
10. Independência lógica
de dados
·
Programas de aplicação ou atividades de terminal permanecem logicamente
inalteradas quaisquer que sejam as mudanças de informação que permitam
teoricamente a não alteração das tabelas base.
11. Independência de
integridade:
·
As relações de integridade específicas de um banco de dados relacional
devem ser definidas em uma sub-linguagem de dados e armazenadas no catálogo (e
não em programas).
12. Independência de
distribuição:
·
A linguagem de manipulação de dados deve possibilitar que as aplicações
permaneçam inalteradas estejam os dados centralizados ou distribuídos
fisicamente.
13. Regra da
Não-subversão:
·
Se o sistema relacional possui uma linguagem de baixo nível (um registro
por vez), não deve ser possível subverter ou ignorar as regras de integridade e
restrições definidas no alto nível (muitos registros por vez).
RESUMO
BANCO DE DADOS 3
A arquitetura de um banco de dados
relacional pode ser descrita de maneira informal ou formal. Na descrição
informal estamos preocupados com aspectos práticos da utilização e usamos os
termos tabela, linha e coluna. Na descrição formal estamos preocupados com a
semântica formal do modelo e usamos termos como relação (tabela), tupla(linhas)
e atributo(coluna).
Tabelas (ou relações, ou entidades)
Todos os dados de um banco de dados
relacional (BDR) são armazenados em tabelas. Uma tabela é uma simples estrutura
de linhas e colunas. Em uma tabela, cada linha contém um mesmo conjunto de
colunas. Em um banco de dados podem existir uma ou centenas de tabelas, sendo que
o limite pode ser imposto tanto pela ferramenta de software utilizada, quanto
pelos recursos de hardware disponíveis no
equipamento.
As tabelas associam-se entre si através
de regras de relacionamentos, estas regras consistem em associar um ou vários
atributo de uma tabela com um ou vários atributos de outra tabela.
·
Exemplo: A tabela funcionário relaciona-se com a
tabela cargo. Através deste relacionamento esta última tabela
fornece a lista de cargos para a tabela funcionário.
Modelo teórico usado para representar
conceitualmente um BD, Idealizado por Codd (1970). Baseado numa estrutura de
dados simples chamada relação. É o modelo mais amplamente usado, principalmente
em aplicações convencionais de BD.
RESUMO
BANCO DE DADOS 4
Registros (ou tuplas)
Cada linha formada por uma lista
ordenada de colunas representa um registro, ou tupla.
Os registros não precisam conter informações em todas as colunas, podendo
assumir valores nulos quando assim se fizer necessário.
Resumidamente, um registro é uma instância de uma tabela, ou entidade. O
start da modelagem se dá a partir das ENTIDADES. Uma entidade é uma
representação de um conjunto de informações sobre determinado conceito do
sistema. Toda entidade possui ATRIBUTOS, que são as informações que referenciam
a entidade. Para exemplificar no sistema de controle de Biblioteca, partimos do
conceito principal que é o empréstimo de obras por usuários da biblioteca. A
partir deste conceito inicial, vamos ramificando e descobrindo novos conceitos.
Podemos iniciar nosso raciocínio da seguinte forma:
"Uma biblioteca possui Obras
literárias que podem ser tomadas em empréstimos pelos usuários
credenciados."
Podemos rapidamente enxergar um
cadastro de livros, um cadastro de usuários e um registro de empréstimos,
certo? É essa visão que temos que ter ao modelarmos um banco, isto é, devemos
detectar as informações que devemos armazenar.
Para identificar se aquele conceito
pode ser uma entidade você deve apenas se perguntar: "Eu desejo armazenar
quais informações sobre este conceito ?" Se houverem informações a
serem armazenadas, você tem uma ENTIDADE. Exemplificando: Eu desejo armazenar
os seguintes dados do livro: Título, Autor, Editora, Ano, Edição e Volume.
Temos então a entidade Livro.
·
Exemplo: O empregado Pedro é uma instância (registro)
da tabela funcionário, e a função Analista Comercial é
a instância (registro) da tabela cargo. Uma associação entre estas
duas tabelas criaria a seguinte instância de relacionamento: Pedro é Analista
Comercial, onde o verbo ser representa uma ligação entre
os registros distintos.
RESUMO
BANCO DE DADOS 5
Colunas
(atributos)
As colunas de uma tabela são
também chamadas de atributos. Ex.: O campo Nome, ou endereço de uma tabela de
um BD relacional.
Chave
As tabelas relacionam-se umas as
outras através de chaves. Uma
chave é um conjunto de um ou mais atributos que determinam a unicidade de cada
registro.
Por exemplo, se um banco de dados
tem como chaves Código do
Produto e ID Sistema, sempre que acontecer uma
inserção de dados o sistema de gerenciamento de banco de dados irá fazer uma
consulta para identificar se o registro já não se encontra gravado na tabela.
Neste caso, um novo registro não será criado, resultando esta operação apenas
da alteração do registro existente.
A unicidade dos registros,
determinada por sua chave, também é fundamental para a criação dos índices.
Temos dois tipos de chaves:
Chave
primária: (PK -
Primary Key) é a chave que identifica cada registro dando-lhe unicidade. A
chave primária nunca se repetirá.
Chave
Estrangeira: (FK -
Foreign Key) é a chave formada através de um relacionamento com a chave
primária de outra tabela. Define um relacionamento entre as tabelas e pode
ocorrer repetidas vezes. Caso a chave primária seja composta na origem, a chave
estrangeira também o será.
RESUMO
BANCO DE DADOS 6
Relacionamentos
Com o advento do Modelo de Entidades e
Relacionamentos foi
causada uma confusão entre os termos relação e relacionamento
O Modelo
Relacional, quando descrito de forma matemática, é definido como um modelo
formado por relações (no sentido matemático) entre os domínios. Cada tupla é um
elemento do conjunto relação.
Ou seja, a relação é a tabela.
Um relacionamento do Modelo de Entidades e
Relacionamentos é uma
associação entre entidades distintas. Não há relação direta entre o nome relacionamento e o nome relação.
Porém, um relacionamento, do Modelo de Entidades e
Relacionamentos é
traduzido para a criação de atributos com chaves externas do Modelo
Relacional. Esta tradução é feita ligando-se um campo de uma tabela X com um
campo de uma tabela Y, por meio da inclusão do campo chave da tabela Y como um
campo (conhecido como chave estrangeira) da tabela X.
Por meio das chaves estrangeiras,
é possível implementar restrições nos SGBDR.
Existem alguns tipos de
relacionamentos possíveis no MER:
·
Um para um (1 para 1) - indica que as tabelas têm relação unívoca
entre si. Você escolhe qual tabela vai receber a chave estrangeira;
·
Um para muitos (1 para
N) - a chave primária da tabela que tem o lado 1 está para ir para
a tabela do lado N. No lado N ela é chamada de chave estrangeira;
·
Muitos para muitos (N para
N) - quando tabelas têm entre si relação n..n, é necessário criar
uma nova tabela com as chaves primárias das tabelas envolvidas, ficando assim
uma chave composta, ou seja, formada por diversos campos-chave de outras
tabelas. A relação então se reduz para uma relação 1..n, sendo que o lado n
ficará com a nova tabela criada.
Os relacionamentos 1 para 1 e 1 para N podem ser mapeados diretamente em chaves
estrangeiras nas tabelas originais. Já o relacionamento N para N exige o uso de uma tabela auxiliar. No
relacionamento N:N não há chave estrangeira.
RESUMO
BANCO DE DADOS 6
Modelagem
Normalização
Os bancos de dados relacionais
utilizam a normalização de dados para evitar redundâncias e possibilitar um
maior desempenho nas pesquisas.
Normalização
É o processo de organização
eficiente dos dados dentro de um banco de dados cujos objetivos principais são:
1.
Eliminar dados redundantes (por exemplo, armazenando os mesmos
dados em mais de uma tabela).
2.
Garantir que as dependências entre os dados façam sentido
(armazenando apenas dados logicamente relacionados em uma tabela).
Existem cinco estágios de
normalização, 1º, o 2º, o 3º, o 4º e o 5º. Para um banco de dados se encontrar
em cada um desses estágios ou formas (denominadas formas normais), cada uma de
suas tabelas deve atender a alguns pré-requisitos. Os pré-requisitos são
cumulativos, isto é, para alcançar a 3ª forma normal (3NF), um banco de dados
precisa atender aos pré-requisitos das 1ª e 2ª formas normais, acrescidos dos
requisitos exclusivos da 3NF.
Dependência
Funcional
Um atributo B possui uma
dependência funcional do atributo A se, para cada valor do atributo A, existe
exatamente um único valor do atributo B. A dependência funcional é representada
por A → B.
Assinar:
Postagens (Atom)