Buscar

Modelagem de Dados Resumo

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Caderno: Estácio
Criada em: 17/02/2020 20:37 Atualizada … 19/05/2020 14:51
Autor: Arthur Augusto Levandoski da Silva
Modelagem de Dados
AULA 1 - INTRODUÇÃO
Dados e Informação     
Dados: informação primária, fatos "separados";
Informação: dados organizados de uma forma que agreguem um valor adicional.
Conjunto de fatos organizados.
    A transformação de dados em informação é um processo. Porém processos podem não ser
duradouros, dados são, isso os torna uma das partes mais valiosas de um sistema de
informação. 
Banco de Dados
é uma coleção lógica e coerente de dados com significados interligados, inerentes (um
dado completa o outro);
é projetado, construído e povoado com um objetivo específico para representar algum
aspecto do mundo real. Por isso é chamado de "mini-mundo" e, qualquer alteração neste
é refletida no BD.
Os BDs são gerenciados pelos SGBDs (Sistema Gerenciador de Banco de Dados), que
é formado pelo  conjunto de sistemas necessários para manipular os dados pelos
usuários.
O conjunto formado pelo BD e os softwares que o manipulam são os Sistemas de Banco
de Dados 
Os SGBDs não gerenciam somente os dados, mas também a forma como são
armazenados, com informações completas de sua estrutura, formato, etc. dos dados
armazenados. Essas informações são chamadas de meta-dados.
Usuários \ DBAs→ Softwares para processar as Queries (SGBD) → Softwares para acessas os
dados (SBD) → meta-dados
                                                                                                                                                            
    ↪ dado armazenado
SGBD vs Sis. Geren. de Arquivos
Em SIGA
Os SIGAs permitem uma redundância não controlada de dados, pois permitem que o
dado seja alterado de um lado por um usuário mas essa mudança não reflete para o
outro, permitindo que este outro altere o mesmo dado;
Não permitem a automatização dos backups, que precisam ser feitos pelo responsável
pela aplicação.
Em SGBD
os dados são organizados em tabelas que atendem a diferentes aplicações, há um,a
múltipla visão dos dados;
junto com os dados são armazenados os catálogos, contendo informações sobre
tamanho, forma de estruturação e local físico onde estão;
há a abstração de dados: independência entre programas e operações de manipulação
dos dados. os acessos são escritos no banco de dados e os programas solicitam acesso a
estes;
é permitido acesso simultâneo por diferentes usuários, que pé controlado
pelo gerenciamento da concorrência;
os backups são automatizados.
Evolução dos BDs
No início dados e processos eram mantidos no mesmo arquivo, porém dados sozinhos
são mais fáceis e seguros de administrar, por isso houve a separação;
1. BD Centralizado: Dados, SGBDs e SBDs ficam no mesmo local, sendo acessados por
clientes com funcionalidades limitadas;
2. BD File Server: o BD fica em uma máquina separada, o File Server, enquanto SGBD e
SBD ficam em máquina diferentes a esta do FS;
3. BD Distribuído: com o aumento do tamanho dos BDs surgiou a neessidade de distribuir
seu armazenamento em vários File Servers.
Novas Arquiteturas:
1. Datawarehouse
Surgiram com a necessidade de fornecer informações a nível gerencial às
organizações. Os DW armazenas os dados consolidados apenas para consulta,
retirados de diversas fontes em diversos formatos.
Usuários de BD
Administrador de dados (AD): identifica quais dados serão armazenados e como serão,
quais estruturas irá utilizar. Se comunica diretamente com os usuários para identificar
melhorias nas visões e no ambiente. Mantém os esquemas conceituais gerados pelo ADB.
Adm. do Banco de Dados (ABD): desenvolve os esquemas internos dos bancos, constrói
as tabelas. Administra os acessos aos bancos, concede permissões. Garante a segurança e
recuperação dos dados, assim como a boa performance do BD. Cria os esquemas
conceituais dos bancos.
Analista de Sistemas: determina os requisitos dos usuários finais e desenvolve o
necessário para atingir esses objetivos;
Final Users: Faz consultas, utiliza programas que acessem bancos de dados.
1.
Dentre as propriedades do banco de dados (BD), avalie as assertivas
I. Representam, fatos reais
II. Conjunto de dados isolados.
III. O projeto de um BD, desde o inicio já considera todos os requisitos de todas as aplicações
que usarão o respectivo BD
IV. não pode ser compartilhado
V. É persistente.
Com base em sua avaliação das assertivas, assinale a única opção que apresenta APENAS as
assertivas verdadeiras
I, II e V
II, III e IV
I, III e IV
I e V
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
I, III e V
AULA 2 - O SGBD E SUAS FUNCIONALIDADES
Instâncias
Separam as aplicações do usuário dos dados físicos, essa divisão ocorre nos esquemas abaixo:
Nível/Esquema Interno: nível mais baixo, parte física do armazenamento. Mostra a
estrutura de armazenamento físico dos dados, assim como os detalhes e caminhos destes,
como o dado vais er armazenado.
Nível/Esquema Conceitual: oferece uma descrição da estrutura do BD mas não os
detalhes dos dados armazenados. Já entra na parte Lógica, nível intermediário.
Nível Externo/Esquema de Visão: nível mais alto, também da parte lógica. Nível que os
usuários têm acesso; onde estão as restrições de visualização pelos usuários.
Conjunto complexo de softwares que contém as seguintes funcionalidades para gerenciamento
dos BDs, posibilitam aos usuários criar e manter os BDs.:
Independência de Dados: permite que as alterações feitas na estrutura do banco sejam
imperceptíveis aos programas que o manipulam.
Independência Lógia: alterar o esquema conceitual sem alterar os esquemas
externos ou os programas de aplicação;
Independência Física: alterar o esquema interno sem alterar os equemas
conceituais e externos.
Controle de Redundâcia: os dados são armazenados em um único banco, mas este
banco coexiste em locais distintos por questões de segurança.
os problemas gerados com isso podem ser o da inconsistência das informações;
ocupação de espaços muito maiores para o armazenamento; demanda esforço
para manter a coexistência.
Compartilhamento de Dados: Permite que usuários diferentes acessem os mesmos
dados simultâneamente.
Restrições de Acesso: os SGBDs devem controlar as permissões dos usuários que
acessam o BD, afim de garantor a segurança e integridade das informaões. 
Segurança e autorização: 
senhas para usuários e grupos;
restrições de acesso coforme tipo de usuário;
proibição de uso de softwares privilegiados, como o de criação de contas.
Muitas aplicações para web
usam uma arquitetura
chamada de "arquitetura três
camadas", que possui uma
Restrições de Integridade: o SGBD deve fornecer a capacidade de impor e definir
restrições, como a defnição de um tipo de dado para cada item de dado (int, float).
Integridade Referencial: associado ao modelo lógico, chave prmária e estrangeira
Backup e Recuperação: deve prover facilidades para recuperação dos dados quando
necessário.
Múltiplas Interfaces: vários usuários acessao aos BDs com finalidades distintas, por isso
os SGBDs deem fornecer as interfaces adequadas ao tipo de uso necessários, de acordo
com as restrições dos usuários.
linguagem de consultas; linguagem de programação; interfaces gráficas e de
administração e linguagem natual, de acordo com os tipos de usuários.
Benefícios no Uso de SGBDs
1- Potencial para o estabelecimento e o cumprimento de padrões;
2- Flexibilidade de mudanças;
3- Redução no tempo de desenvolvimento de novas aplicações;
4- Disponibilidade de informação atualizada;
5- Economia de escala.
Sobrecustos vinculados
Alto investimento inicial em software, pela aquisição do banco de dados e licenças, e em
hardware que suporte este ambiente;
Custo da generalidade do SGBD, ou seja, na definição e no processamento dos dados.
“Overhead” de processamento. Neste ambiente, overhead significa tudo aquilo que o
SGBD tem que fazer além de gerenciar os dados. Isto envolve tarefas como: garantir
segurança, controlar concorrência (utilização do mesmo dado por aplicações e usuários
distintos simultaneamente),recuperação de falhas e garantia de integridade.
Quando NÃO usar bancos de dados
Volume de dados pequeno, aplicações simples, bem definidas;
Mudanças não são esperadas;
Ambientes de sistemas que exijam resposta em tempo real;
Acessos múltiplos e concorrentes não são necessários.
Multi usuário - várias pessoas e/ou aplicações usando o banco
mono usuário - apenas 1 usuário, por vez, usa o banco
Centalizado - o banco é centralizado num servidor
distribuidos - o banco é armazenado em vários locias (servidores)
operacional - armazena dados dos sistemas de processamentos transacionais do dia a dia das
operações da organização 
datawarehouse - banco de dados, apartado, histórico, usado para tomadas de decisão.
8.
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
camada intermediária entre
o cliente e o servidor de
banco de dados.
Essa camada intermediária,
ou camada do meio é,
algumas vezes, chamada de
servidor de aplicações.
A respeito dessa
camada, NÃO é correto
afirmar que:
incrementa a segurança do
banco de dados, checando
as credenciais do cliente
antes de enviar uma
solicitação ao servidor de
banco de dados.
o servidor de aplicações
formata o resultado da
consulta em XML antes de
enviá-lo ao cliente.
armazena as regras de
negócio (procedimentos ou
restrições) que são usadas
para acessar os dados do
servidor de dados.
aceitas as solicitações do
cliente, processa-as e envia
comandos de banco de
dados ao servidor de banco
de dados.
dependendo da aplicação é
chamada de servidor web.
4.
Sabe-se que todo SGBD
(Sistema Gerenciador de
Banco de Dados) possui
características principais.
Marque a alternativa que
define a característica que se
trata da existência de um
catálogo que armazena as
informações chamadas
metadados.
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
Natureza auto
descritiva.
Aula 3 - Modelagem Conceitual. Percepção do Mundo Real
O projeto de um BD é feito através dos esquemas conceitual, lógico e físico.
1. Primeiro é feita a inerpretação do mundo real através do mini-mundo;
2. Com isso, são identificados seus objetos conceituais, é feita a abstração de dados para que
o modelo conceitual seja feito;
3. Com o modelo conceitual feito e as regras específicas aplicadas, é feito o modelo lógico,
que está vinvulado ao modelo de dados usado no SGBD;
4. O modelo lógico origina o modelo físico, que é armazenado no Banco de Dados.
A estrutura dos dados não fica armazenada no código dos programas, mas sim em um
catálogo armazenado junto ao banco de dados
Percepção do Mundo Real
Representar o mundo real através de um BD exige uma interpretação deste mundo.
Em um negócio, os fatos observados e modelados dizem muito sobre seu
funcionamento, pois mostram como as informaçõs estão relacionadas.
Ao coletar e relacionar os fatos relevantes, devemos identificar os elementos geradores de
informação, as leis que regem esta realidade e as operações que incidem sobre os
elementos básicos (dados).
Isso é criar uma ABSTRAÇÃO da realidade, que seja capaz de registrar os acontecimentos
da mesma, de modo que se possa implementar um sistema automatizado que atenda às
reais necessidades de informação.
Elementos da Abstração
Minimundo: produto das observações detalhadas feitas pelo analista. Quando esta
análise se torna muito complexa, pode ser dividida em partes menoras, chamadas de
visões;
Banco de Dados: coleção de fatos registrado que refletem aspectos do mundo real. Suas
mudanças acompanham as modificações deste mundo;
Modelo Conceitual: visão global dos principais dados e relacionamentos (estruturas de
informação), independente das restrições de implementação. Descreve as informações
reais que serão armazenadas;
Modelo Lógico: descreve as estruturas contidas no BD, considerando o modelo de dados
do SGBD, resultando e um esquema lógico de dados que se origina do modelo
conceitual.
Modelo Físico: detalha o estudo dos métodos de acesso ao SGBD, contendo a descrição
das estruturas físicas do armazenamento (tamanho dos campos, índices, strings, etc.)
Modelo Entidade Relacionamento
Modelo abstrato que descreve de forma conceitual os dados que serão usados em um
Sistema de Informação, dados de um contexto. Sua principal ferramenta é a
representação gráfica DER (Diagrama Entidade Relacionamento).
Facilita o projeto do BD pois possibilita especificar a estrutura geral deste. 
Projeto do Banco de Dados
A modelagem de um sistema através da abordagem Entidades-Relacionamentos representa o
ponto central no projeto conceitual de um sistema.
O objetivo da Modelagem de Dados é transmitir e apresentar uma representação única, não
redundante e resumida, dos dados de uma aplicação. Em projetos conceituais em banco de
dados, o Modelo Entidades-Relacionamentos é o mais largamente utilizado para representar e
entender os dados que compõe um sistema.
Um Modelo de Dados é uma forma de representação gráfica do conhecimento que se tem sobre
um ambiente qualquer. Mostra uma visão das informações de interesse e dos vínculos existentes
entre elas, em um determinado momento.
Entidades: objetos que existem  no mundo real e o descrevem, que serão
transoformados em dados no BD, possui identificação distinta e significado próprio. Sua
representação é feita através de um retângulo, com o nome da entidade em seu interior.
Entidade Dependente (Fraca): aquela que existe devido a outra entidade, sua
exitância depende de outra.
Atributos: são as propriedades das entidade que são descritas pela atribuição de valores.
Juntos, esses valores descrevem as instâncias de uma entidade. São representadas por
uma elipse com o nome do atributo dentro.
Atributo Identificador: chave primária. Deve ser obrigatório e único.
Atributo Derivado: atributo que deriva de outro, como a idade de uma pessoa
através do cadastro do ano de nascimento.
Domínio de um Atributo: definição de valores permitidos para um atributo (sexo:
{F,M}).
Tipo de um Atributo: tipo da string (int, Float, etc)
                
               ATRIBUTOS COMPOSTOS PODEM SER MANIPULADOS TANTO COMO UM TODO
COMO TAMBÉM POR SUAS PARTES SEPARADAS
Relacionamentos: Relação entre duas enridades que representam os processos sobre os
dados e os cmainhos de navegação, rotas de acesso, do Modelo de Dados.
            
Esquema vs Instância
Esquema: é a estrutura, os atributos do BD; colunas da tabela;
Instância: conjunto de ocorrências, estado do BD, linhas da tabela.
        
Exercício
Identifique as entidades, atributos e relacionamentos existentes no mini mundo descrito a seguir:
 
“Cada funcionário é lotado em um departamento e tem um cargo de carreira. Para o
cadastramento do funcionário. são registrados: nome, endereço, telefone, cargo, departamento,
salário, horário, filiação, idade, CPF, identidade e nacionalidade. Para cada dependente do
funcionário, são registrados: nome, idade, parentesco e sexo. Para cada departamento, deseja-se
saber: nome, sigla, nome do chefe, número de funcionários. Para cada cargo, deseja-se saber:
nome, sigla e salário base.
Entidades: funcionário; departamento; cargo; dependentes;
Atributos:
Funcionários: nome, endereço, telefone, cargo, departamento, salário, horário, filiação,
idade, CPF, identidade e nacionalidade
Departamento: nome, sigla, nome do chefe, número de funcionários
Dependentes: nome, idade, parentesco e sexo
Cargo: nome, sigla e salário base
Relacionamentos:
Funcionário pertence a departamento;
Dependentes pertence a Funcionário;
Cargo pertence a Funcionário;
Departamento pertence a Funcionário
        
Aula 4 - Modelo Entidade Relacionamento
Domínio de um atributo: descrição dos valores possíveis para o atributo. float, int...
Atributos identificadores: únicos e obrigatórios, é a chave primária.
Cardinalidade
Define a quantidade de elementos de uma entidade associada à quantidade de elementos de
outra entidade. É definida de acordo com as regras da organização.
Um para Um - 1:1: cada atributo do conjunto_1 se relacionam somente com 1 atributo do
conjunto_2;
                    
Umpara Muitos - 1:N: cada atributo do conjunto_1 pode se relacionar com mais de um
atributo do conjunto_2;
                    
Muitos para Muitos - N:M: mais de 1 atributo do conjunto_1 pode se relacionar com mais
de um atributo do conjunto_2.
                    
João é proprietário de um Jipe Amarelo
1. envolvidos: PESSOA João e VEÍCULO Jipe;
2. caracterizar objetos: 
PESSOA: nome, cpf, nasc., sexo
VEÍCULO: marca, cor, ano, modelo
3. Representar os objetos: 
    
4. Identificar o relacionamento entre os objetos: PESSOA possui VEÍCULO;
5. Caracterizar o relacionamento entre objetos: 
1. nem toda PESSOA possui um VEÍCULO;
2. um VEÍCULO pertence, ou não, a uma PESSOA;
3. há PESSOA que possuem mais de um VEÍCULO;
4. se um VEÍCULO possui a uma PESSOA, não pertence a mais ninguém.
6. Representar o relacionamento:     
EXERCÍCIO
Construa o Modelo Entidades-Relacionamentos para o mini-mundo descrito a seguir:
 
Suponha que estamos fazendo a análise de dados da área de Recursos Humanos da empresa
ABC e tenhamos obtido as seguintes informações:
 
“Cada funcionário é lotado em um departamento e tem um cargo de carreira. Para o
cadastramento do funcionário são registrados: nome, endereço, telefone, cargo, departamento,
salário, horário, filiação, idade, CPF, identidade e nacionalidade. Para cada dependente do
funcionário são registrados: nome, idade, parentesco e sexo. Para cada departamento deseja-se
saber: nome, sigla, nome do chefe, número de funcionários. Para cada cargo deseja-se saber:
nome, sigla e salário base.
Sabemos, também, que não é armazenado o histórico de cargos dos funcionários e que nem
todos os funcionários possuem dependentes e que, também, caso um funcionário seja casado
com outro funcionário, o dependente oficialmente pertencerá a apenas um deles. Podemos ter
departamentos momentaneamente sem nenhum funcionário.”
Entidades: funcionário; departamento; cargo; dependentes;
Atributos:
Funcionários: nome, endereço, telefone, cargo, departamento, salário, horário, filiação,
idade, CPF, identidade e nacionalidade
Departamento: nome, sigla, nome do chefe, número de funcionários
Dependentes: nome, idade, parentesco e sexo
Cargo: nome, sigla e salário base
Relacionamentos:
Funcionário pertence a departamento;
Dependentes pertence a Funcionário;
Cargo pertence a Funcionário;
Departamento pertence a Funcionário
Aula 5 - Relacionamentos
LIMITES MÍNIMOS E MÁXIMOS DAS RELAÇÕES
Quando o limite inferior é 0, o relacionamento é opcional. Quando este for 1 ele é obrigatório.
Um professor ministra entre 0 e 4 matérias:
Limite Inferior: 0
Limite Superior: 4
Uma disciplina pode ser ministrada por 0 ou 1 professor:
Limite Inferior: 0
Limite Superior: 1
                                
Relação Recursiva (Auto Relacionamento)
Uma relação é recursiva quando uma entidade se relaciona com ela mesma, se referindo a
atributos que a compõe.
                                
Atributos de Relacionamento
Só é possível quando o grau de relacionamento for N:M (muitos para muitos). Quando isso
acontece se tem um RELACIONAMENTO TERNÁRIO
Exemplo:
Precisa se colocar a data da aula no esquema abaixo.
PROFESSOR Ministra DISCIPLINA
PROFESSOR: matricula, nome
DISCIPLINA: cod, nome
Ministra: data_inic
        
Aula 6 - Modelo Entidade Relacionamento Estendido
Agregação
O MER não é capaz de representar relacionamentos entre relacionamentos, nisso surgem as
agregações.
Agregações são abstrações pelas quais relacionamentos são tratados como entidades de nível
mais alto.
Pode-se representar um relacionamento como uma entidade.
Estrutura de Generalização-Especialização “É um tipo de”
                            
Conecta uma entidade mais especializada a uma generalizada.
Quando uma entidade possui subdivisões com mais detalhes específicos. 
A Entidade-Mãe (Generalização) compartilha seus atributos e relacionamentos com cada uma
das Subclasses (especializações);
Os relacionamentos das Especializações não são compartilhados com a Entidade-Mãe;
As Especializações podem ou não compartilhar atributos entre si;
Uma especialização sem atributos nem relacionamentos próprios pode ser considerada como
outra denominação da Generalização, deixando de ser uma especialização;
    Tipos de Especialização
Total: todos os atributos da generalização devem existir em pelo menos
uma especialização;
Parcial: quando a generalização possuir atributos que não existem nas especializações;
um atributo pode pertencer somente à entidade-mãe;
Exclusiva: quando os atributos de uma especialização não existem em outra
especialização. Quando uma especialização não compartilha atributos;
Superposição: quando atributos de uma especialização podem coexistir em outras
especializações. Quando uma especialização compartilha atributos 
    Exemplo:
    
     Solução: 
 Ou seja: Há elementos da classe mãe que não se repetem nas subclasses (Parcial); há
elementos das                                                                                                                                   
                                                                                                                                                           
 subclasses que se repetem entre si (um acionista pode ser instrutor; Superposição).
2.
Considere as afirmativas
abaixo:
I - Através da especialização
é possível atribuir
propriedades particulares a
um subconjunto das
ocorrências de uma entidade
genérica.
II - Para que seja possível
modelar um relacionamento
entre uma entidade A e um
agrupamento de duas
entidades B e C que tem
entre elas um
relacionamento R já
existente, é necessário
realizar uma agregação de B
e C e relacionar a entidade A
com a agregação.
III - Os relacionamentos
somente podem conter
atributos próprios se forem
identificadores.
Esta(ão) correta(s) a(s)
afirmativa(s):
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
I, II e III
Somente a
afirmativa III
I e III
I e II
Somente a
afirmativa II
Aula 7 - Modelagem Lógica. O Modelo Relacional
Modelos Lógicos de Dados
Descreve os componentes do Modelo Conceitual de forma mais próxima do ambiente
computacional, mais relacionado com a confecção do BD.
Modelo de Rede: dados representados por uma coleção de registros e suas relações
através de links.
Modelo Hierárquico: mesmo esquema do Modelo de Redes, porém a organização é em
forma de árvores hierárquicas;
Modelo Relacional: tabelas bidimensionais que relacionam os dados por colunas e
linhas;
Orientado a Objetos: as entidades são objetos que encapsulam (contém) os dados e os
códigos associados a eles;
Relacional a Objeto:  uma extensão do Modelo Relacional que inclui a orientação a
objetos, permitindo o tratamento de dados complexos.
Modelo Relacional
Desenvolvida por Edgard Frank CODD nos anos 70, se baseando na idéia de que para o usuário é
irrelevante saber onde estão os dados e como são armazenados. Este lida com os dados através
de linguiagens de alto nível.
                                    
  
Atributo: colunas;
Tupla: linhas;
Esquema do banco: conjunto dos atributos (nomes das colunas);
Estado do banco: conjunto das tuplas da tabela;
Grau de uma relação: número de atributos;
Domínio de um atributo: conjunto ao qual os valores do atributo pertencem;
Esquema de BD Relacional: nomes das relações seguidos pelos nomes dos atributos;
chaves primárias sublinhadas e estrangeiras identificadas.
Chaves
Chave Candidata: deve ser único e irredutível, podendo ser simples ou composta.
Identifica de forma única uma instância da entidade.
Chave Primária: dentre as chaves candidatas, é a que mais se adequa para identificar a as
tuplas. Representante da base de dados da entidade;
Chave Estrangeira: quando um atributo de uma relação é uma chave primária de outra. è
o elo de ligação lógica entre tabelas (relacionamentos). Na Tabela 1 se refere a um
atributo da Tabela 2 através de sua chave primária.
                                    
Regras de Integridade
1. Integridade da Entidade: a chave candidatanão pode ser nula. Quando isso acontece, a
linha não corresponde a nenhuma entidade.
2. Integridade de Chave Primária: deve respeitar a integridade de entidade e ainda ser
única;
3. Integridade Referencial:  a chave estrangeira deve ser respeitada. Se em uma tabela
existe um valor atribuído como chave estrangeira, este mesmo valor deve representar a
chave primária em sua tabela de "origem".
4. Restrições de Integridade Semânticas:  todas as demais regras devem ser obedecidas
por todos os estados válidos da base de dados.
Aula 8 - Modelagem Lógica. Conversão do Modelo Conceitual para o Relacional
Derivação
1. obter o modelo conceitual (DER);
2. definir o tipo de implementação (relacional);
3. aplicar as regras de derivação;
4. adaptar os modelos às necessidades.
Regras Gerais
Toda entidade (MER) torna-se uma tabela (lógico);
todo atributo torna-se um campo (coluna);
todo atributo determinante torna-se uma chave primária;
os atributos compostos devem ser transformados em campos atômicos (simples).
Dica: quando a cardinalidade for de 0:1, temporariamente classifique o limite superior como N e
siga as regras abaixo.   
Transformação de Atributo Multivalorado
estes viram uma nova tabela. Este atributo (nova entidade) e a entidade original são referidos
por chave estrangeira
Cardinalidade 1:1
incluir todos os atributos em uma tabela simples;
o nome da tabela relacional pode ser o de uma das entidades, a combinação do nome de
duas entidades ou um outro que represente o conteúdo da tabela.
                                                              
Cardinalidade 1:N
mais de uma tabela usando chaves primárias e estrangeiras;
incluir a chave primária do lado “1”,   como chave estrangeira no lado “N". O contrário
gera redundância;
identificador colocado do lado “muitos” é a chave estrangeira.
                                                                
Cardinalidade N:M
criar uma nova tabela que registre as chaves primárias de cada entidade. Cada entidade
vira um atributo nesta nova tabela. Esta pode ter o nome da relação entre as entidades;
a nova tabela é chamada de tabela associativa.  O identificador da tabela é uma chave
composta, formada pelas chaves primárias das duas tabelas que participam do
relacionamento;
a tabela associativa pode definir um id para cada tupla cadastrada. Então pode-se
referenciar as associações nas outras tabelas; 
cada identificador colocado na nova tabela é uma chave estrangeira.
                                                                
Medico (matricula, nome, cpf, especialidade, id_consulta)
Consulta (id_consulta, data, matricula, id_paciente)
Paciente(id_paciente, nome, endereço, telefone, id_consulta)
Exemplo
Amigo (id_amigo, local. telefone, mae, nome)
Emprestimo (id_emprestimo, data_emp,data_devol, id_amigo, id_revista)
Revista (id_revista, nome, ano, id_caixa, id_colecao)
Caixa (id_caixa, etiqueta, cor, id_revista)
Coleção (id_colecao, genero, nome)
Aula 9: Modelagem Lógica - Relacionamentos Recursivos e Extensões
Relacionamentos Recursivos
Recursivo 1:1 e 1:N
Cria-se uma coluna na própria tabela que referencie o cadastro do objeto relacionado. Cria-se
um atributo dentro da própria tabela 
Recursivo N:N
O relacionamento recursivo se torna uma entidade associativa, o relacionamento é representado
pela associação das chaves primárias.
Generalizações / Especializações
Pode ser de 4 formas diferentes:
1. Transformação preservando todas as entidades tipo; (mais utilizada. Todas as entidades
viram tabelas, as entidades-filhas referenciam a chave primária da entidade-mãe)
2. Transformação preservando as especializações; (a entidade-mãe deixa de existir, fazendo
com que todas as entidades-filhas tenham os atributos da mãe.
3. Transformação preservando a generalização; (preserva somente a mãe, não permite as
filhas tenham relações. Todos os dados das filhas se repetem na mãe)
4. Transformação mista. (quase não se usa) 
Cada especialização se torna uma entidade que referencia a chave primária da Entidade-Mãe
(generalização).
Agregações
A relação de agregação se torna uma entidade, assim como cada "conteúdo" aos quais a
entidade principal se referencia;
a entidade de agregação se torna uma entidade associativa que representa a relação da entidade
principal com seus "conteúdos" através de chaves estrangeiras.
Relacionamentos N-ários
A relação N-ária se torna uma entidade associativa que relaciona as entidades através de chaves
estrangeiras.
Exercício
Cliente (id_cliente, nome, telefone)
Retira (id_retira, data_ret, data_devol, id_material, id_cliente)
Material (id_material, desc_material)
Livro (id_livro,autor, editora, id_material)
Revista (numero, data, volume, id_material)
Audio Visual (id_audio, temp_duracao, nome_diretor, id_material)
Aula 10: Modelagem Lógica – Normalização
Normalização
Série de passos que são seguidos no projeto de um BD, permitindo um armazenamento
consistente e o eficiente acesso aos dados de um BD relacional. Estes passos reduzem as
redundâncias e as chances de ocorrerem inconsistências. 
Características de um Mau Projeto
Repetição de Informação:  Emprestar(ag_nome, ag_ativos, empréstimo_número,
cliente_nome, quantia) - Os atributos ag-nome, empréstimo_número e cliente_nome
deveriam estar em tabelas distintas,pois descrevem entidades distintas.
Inabilidade de representar informações: uma entidade só pode existir dependendo da
existência de outra;
Perda de Informação: para excluir uma dado, é preciso excluir todos os outros
relacionados a ele.
Problemas causados pela falta de normalização
Anomalia de inclusão: um novo cliente só pode ser registrado se atribuído a uma venda;
Anomalia de exclusão: ao excluir um cliente, os dados de sua compra são perdidos;
Anomalia de alteração: para alterar um único dado, é preciso percorrer toda a relação
para múltiplas alterações.
Dependência Funcional
Determina uma restrição entre dois conjuntos de atributo;
representada por ➙, onde X➙Y significa que X determina de forma funcional o atributo
Y. OU, Y depende funcionalmente de X.
Exemplo: CPF ➙ NOME_FUNCIONARIO. conhecendo o CPF é possível descobrir o
nome do funcionário com o qual este CPF está relacionado.
CPF,  NUMERO_PROJETO ➙ NUM_HORAS_TRABALHADAS. Conhecendo os valores
do CPF e do projeto, possível determinas as horas trabalhadas com as quais este
cpf está relacionado.
Tabela não normalziada
Aquela que possui atributos não atômicos, contendo tabelas embutidas (grupos repetidos)
Formas Normais
Permite identificar a existência de problemas potenciais (anomalias de atualização);
Converte progressivamente as tabelas anormais em tabelas de grau e cardinalidade
menores até que pouca ou nenhuma redundância existam.
“Todo item de dados em uma relação é dependente da chave, da chave toda e de nada mais do
que a chave.” [James Martin, 1991]
“Um bom modelo de dados gera relações em 3FN.”
    Primeira Forma Normal 1FN: 
      Quando todos os atributos da relação são monovalorados e atômicos. Quando este for
multivalorado, deve-se criar um novo atributo que individualize a informação.
Exemplo multivalorado:  HISTÓRICO = {matricula-aluno, código-disciplina, notas}.
Deve-se criar o atributo prova para se relacional à nota. HISTÓRICO = {matrícula-
aluno, código-disciplina, número-prova, nota};
Exemplo não atômico:  PESSOA = {CPF, nome-completo}. O atributo nome-
completo deve ser explodido, formando: PESSOA = {CPF, nome, sobrenome}.
1. Subdivisão em tabelas: desrtrinchar a tabela forma da norma, tornando
únicas as tabelas embutidas;
2. Identificação das chaves: definir as chaves primárias.
    Segunda Forma Normal 2FN: 
1. Quando respeita as regras de 1FN;
2. Os atributos primos devem depender funcionalmente de toda chave primária. São
plenamente dependentes de toda a chave primária (da chave composta), não somente de
parte dela;
3. Toda tabela 1FN que já possuir  uma chave primária formada por um único atributo, já
está em 2FN. Quando a chave primária não for composta.
    
    Atributo primo:não-chave primária 
     HISTÓRICO = {matrícula-aluno, código-matéria, número-prova, nota, data-da-prova, nome-
aluno, endereço-aluno, nome-matéria}
      Analisando as dependências funcionais de cada atributo primo, chegamos às seguintes
dependências funcionais:
    - matrícula-aluno, código-matéria, número-prova -> nota
    - código-matéria, número-prova -> data-da-prova
    - matrícula -aluno -> nome-aluno, endereço-aluno
    - código-matéria -> nome-matéria
      Concluimos então que apenas o atributo primo nota depende totalmente de toda chave
primária. Para que toda a relação seja passada para a segunda forma normal, devem-se criar
novas relações, agrupando os atributos de acordo com suas dependências         funcionais:
    BOLETIM = { matrícula -aluno, código-matéria, número-prova, nota}
    PROVA = { código-matéria, número-prova, data-da-prova}
    ALUNO = { matrícula -aluno, nome-aluno, endereço-aluno}
    MATÉRIA = { código-matéria, nome-matéria}
    O nome das novas relações deve ser escolhido de acordo com a chave.
    Terceira Forma Normal 3FN
    1 - A relação estiver na segunda forma normal;
    2 - Todos os atributos primos dependerem não transitivamente de toda a chave primária.
 
    Observe a relação abaixo:
    PEDIDO = {número-pedido, código-cliente, data-pedido, nome-cliente, código -cidade-cliente,
nome-cidade-cliente}
    Fazendo a análise da dependência funcional de cada atributo primo, chegamos às seguintes
dependências funcionais:
    - número-pedido -> código-cliente
    - número-pedido -> data-pedido
    - código -cliente -> nome-cliente
    - código-cliente -> código-cidade-cliente
    - código-cidade-cliente -> nome-cidade-cliente
     Concluimos então que apenas os atributos primos código-cliente e data-pedido dependem
não transitivamente totalmente de toda chave primária.
    Observe que:
    número-pedido -> código-cliente -> nome-cliente
    número-pedido -> código-cliente -> código-cidade-cliente
    número-pedido -> código-cliente -> código-cidade-cliente -> nome-cidade-cliente
      Isso é dependência transitiva; devemos resolver inicialmente as dependências mais simples,
criando uma nova relação onde código-cliente é a chave, o código-cliente continuará na relação
PEDIDO como atributo primo, porém, os atributos que dependem               dele devem ser
transferidos para a nova relação:
    PEDIDO = {número-pedido, código-cliente, data-pedido}
    CLIENTE = {código-cliente, nome-cliente, código-cidade-cliente, nome-cidade-cliente}
      As dependências transitivas da relação PEDIDO foram eliminadas, porém, ainda, devemos
analisar a nova relação CLIENTE:
    código-cliente -> código-cidade-cliente -> nome-cidade-cliente
    Observe que o nome-cidade-cliente continua com uma dependência transitiva, vamos resolvê-
la da mesma maneira :
    PEDIDO = {número-pedido, código-cliente, data-pedido}
    CLIENTE = { código-cliente, nome-cliente, código-cidade-cliente}
    CIDADE = {código-cidade-cliente, nome-cidade-cliente}
    O nome das novas relações deve ser escolhido de acordo com a chave.
Resumo
5. Em um banco de dados relacional, a normalização é o processo de reunirem-se os dados
que serão armazenados e separá-los em tabelas, tendo como objetivo principal a
preservação da integridade dos dados. Para isso, faz referência às integridades de
entidade, de domínio,referencial e à definida pelo usuário. O conceito básico da
integridade de entidade especifica
1. quais dados são absolutamente necessários para que o banco de dados funcione
apropriadamente
2. que quando um banco de dados está armazenando um registro, ele precisa armazenar
algo em cada campo, mesmo que isso não seja necessário.
3. a garantia de que as linhas relacionadas em um par de tabelas continuem relacionadas
mesmo depois de terem sido feitas alterações
4. as restrições nas informações armazenadas no banco de dados. Uma entidade dentro
de um banco de dados é a representação de uma entidade no mundo real que foi
escolhida para ser armazenada
5. que deve ser possível identificar exclusivamente cada entidade armazenada no banco
de dados.
7. Codd estabeleceu a existência de três tipos de relações normalizadas, denominadas
primeira, segunda e terceira formas normais. Uma relação está na 3ª FORMA NORMAL, se
e somente se todos os domínios que não são chaves forem completamente:
1. dependentes entre si e não constituírem grupos repetidos.
2. independentes entre si e constituírem grupos repetidos.
3. dependentes funcionalmente da chave-primária e independentes entre si.
4. independentes funcionalmente da chave-primária mas dependentes da chave-
estrangeira.
5. independentes funcionalmente da chave-estrangeira e dependentes entre si.

Outros materiais