Buscar

Resumo das aulas 1 a 10 - Modelagem De Dados

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 15 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 15 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 15 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

MODELAGEM DE DADOS
Aula 1
Banco de Dados: De acordo com (Navathe, 2005), podemos definir um banco de dados como um conjunto de dados que se relacionam.
Um banco de dados é uma coleção lógica coerente de dados com um significado inerente.
Sistema Gerenciador de Banco de Dados (SGBD)
É uma coleção de programas que permite aos seus usuários criarem e manipularem bancos de dados.
Sistemas de Banco de Dados (SBD)
É o conjunto formado por um banco de dados e estes programas que o manipulam.
Meta-dados: São as informações armazenadas no catálogo ou dicionário de dados do SGBD, que contém informações como a estrutura de cada arquivo, o tipo e o formato de armazenamento de cada tipo de dado, restrições, etc.
Sistemas de Gerenciamento de Arquivos: É o antecessor da tecnologia de banco de dados.
Abstração de dados: Independência entre programas e dados e entre programas e operações de manipulação de dados.
	
Independência de Dados: imunidade das aplicações às mudanças na estrutura de armazenamento e estratégias de acesso.
No SGBD, o acesso simultâneo de vários usuários ao mesmo dado é tratado através do gerenciamento da concorrência.
Foi observado que os dados são muito mais estáveis que os processos em um sistema de informação. Gradativamente, dados e processos foram separados.
Bancos de Dados Centralizados
Terminais burros
Bancos de dados Cliente – Servidor (com servidor de arquivos)
 Programas e SGBD podem funcionar em uma ou várias das outras máquinas da rede. 
Bancos de dados Cliente – Servidor (com servidor de Banco de Dados)
 Os programas espalhados pela rede, acessam o mesmo SGBD.
Bancos de dados distribuídos
Divisão do banco de dados por vários servidores de bancos de dados.
BD – Datawarehouse: Os bancos de dados saem do nível operacional da empresa e são agora preparados para atender níveis mais altos da pirâmide empresarial. Eles contém dados como nos bancos convencionais, só que preparados para atender as necessidades de informação dos níveis estratégicos da organização.
Administradores do BD (ABD ou DBA): autorizar o acesso ao banco de dados, coordenar e monitorar o uso do sistema, backup e recuperação.
Administrador de dados (AD): identificar os dados a serem armazenados no BD e escolher as estruturas apropriadas para representar e armazenar esses dados.
Analistas de sistemas: Determinam os requisitos dos usuários finais e desenvolvem especificações de transações que satisfaçam esses requisitos
Programadores de aplicação: Implementam as especificações das transações como programas, testando-os, corrigindo-os e documentando-os.
Aula 2
Independência de Dados: representa o um avanço no sentido de tornar qualquer modificação das estruturas dos arquivos imperceptível para os programas. Desta forma, as mudanças na organização dos dados não geram qualquer necessidade de alteração dos programas que o manipulam.
Redundância é armazenar o mesmo dado várias vezes para atender diversas aplicações. Em alguns casos, a redundância é necessária, porém ela deve ser controlada pelo sistema de gerenciamento de banco de dados.
Compartilhamento de Dados é permitir, a usuários diferentes, a utilização simultânea de um mesmo dado.
Restrições de Acesso: Um SGBD deve prover controles de segurança e autorização, que são utilizados para criar contas e seus respectivos direitos de acesso quando múltiplos usuários compartilham um banco de dados.
Falha: Ocorre no nível mais baixo do hardware ou software.
Uma fonte queimar
Uma linha de código errada
Erro: Uma falha pode gerar um erro. Um erro é a representação da falha no universo da informação (dados).
Por consequência de uma falha um dado foi corrompido
Defeito: O defeito é o que é percebido pelo usuário, é a representação de um erro no universo do usuário.
Aula 3
O projeto de um banco de dados envolve a produção de 3 modelos que definem uma arquitetura de 3 esquemas: conceitual, lógico e físico.
Na fase inicial do processo, o mundo real (ou mini mundo) deve ser entendido e seus objetos conceituais identificados. 
A este entendimento e identificação chamamos abstração de dados e o modelo produzido após esta fase chamamos modelo conceitual.
Elementos de Abstração
 
Minimundo
Porção específica da realidade, captada pelo analista, objeto de observação detalhada. Pode subdividi-lo em pontos menores, chamados de “visões”.
Banco de Dados
Coleção de fatos registrados que refletem certos aspectos de interesse do mundo real. Cada mudança em algum item do banco de dados reflete uma mudança ocorrida na realidade.
Modelo Conceitual
Representa e/ou descreve a realidade do ambiente, constituindo uma visão global dos principais dados e relacionamentos (estruturas de informação), independente das restrições de implementação. 
Modelo Lógico
Descreve as estruturas que estarão contidas no banco de dados, sem considerar nenhuma característica específica de um Sistema Gerenciador de Banco de Dados (SGBD), resultando em um esquema lógico de dados. Tem seu início a partir do Modelo Conceitual
Modelo Físico
Descreve as estruturas físicas de armazenamento de dados, tais como: tamanho dos campos, índices, tipo de preenchimento destes campos, etc 
Tem origem no Modelo Lógico e detalha o estudo dos métodos de acesso ao SGBD. Trata dos aspectos de implementação do SGBD.
O objetivo da Modelagem de Dados é transmitir e apresentar uma representação única, não redundante e resumida, dos dados de uma aplicação. 
Década de 70 - Peter Chen desenvolve o MER (Modelo Entidades-Relacionamentos). Um Modelo de Dados é uma forma de representação gráfica do conhecimento que se tem sobre um ambiente qualquer.
Chen dedicou-se a destacar a importância de reconhecer os objetos que compõem este negócio, independentemente das formas de tratamento das informações, procedimentos, programas, etc. 
ENTIDADES
Define-se Entidade como aquele objeto que existe no mundo real, com identificação distinta e com um significado próprio.
São as “coisas” que existem no negócio, ou ainda, descrevem o negócio em si.
ATRIBUTOS
Todo objeto para ser uma entidade possui propriedades que são descritas por atributos e valores. Estes atributos e valores, juntos, descrevem as instâncias de uma entidade.
Aula 4
Entidade Fraca: não existe se não estiver relacionada a outra, isto é, ela é logicamente dependente da outra. 
Atributos Simples ou Atômicos: Atributos que não são divisíveis em unidades dados mais simples.
Ex: DataNascimento, NumeroFatura, ValorTotalVenda
Atributo multivalorado: são tratados pelos seus detalhes, seu conteúdo é formado por mais de um valor. 
Ex: Telefone. Um empregado poderá ter mais de um número de telefone.
Atributos Compostos (Grupo de Atributos): Combinação ou agregação de atributos relacionados. Possui "sub-atributos" em sua nomenclatura que podem ou não ser do mesmo tipo e que são agregados a ele no mundo real.
 Ex: Endereço é formado pelos atributos: rua, bairro, cidade, estado, CEP. 
Atributos identificadores: Atributos que identifica, de forma única, as instâncias de uma entidade.
Ex: uma matrícula identifica um aluno e um CPF identifica um cliente
Domínio de um atributo: descrição de possíveis valores permitidos para um atributo.
Ex: domínio do atributo Cor_Peça: azul, amarelo, verde, vermelho, branco
 
Valores nulos: atributo sem valor. Um valor nulo pode ocorrer, quando o atributo não é relevante para descrever uma entidade em particular. Não confundir com valor em branco. Em branco é um valor.
Modelando um negócio
Dica: o sujeito e o objeto da sentença são, provavelmente, entidades; os verbos podem sugerir relacionamentos.
Aula 5 - Mais Sobre Relacionamentos
Limite inferior e limite superior
Um professor pode ensinar de 0 a 4 disciplinas (limite inferior é 0 e limite superior é 4); e um uma disciplina pode ser  ministrada  por  0 a 1 professor (limite inferior é 0 e o limite superior é1)
1- Quando o limite inferior da cardinalidade for 0, o relacionamento é definido como “opcional”
2- Quando o limite inferior da cardinalidade for 1, o relacionamento é definido como “obrigatório”
Relações Podem Ser Recursivas
Ocorre quando uma entidade possui relacionamento com ela mesma.
Os atributos de relacionamento são possíveis quando o grau do relacionamento for N : M ( muitos para muitos).
Aula 6 - Modelagem Conceitual – Mer Estendido
É possível atribuir propriedades particulares a um subconjunto das ocorrências (especializadas) de uma entidade genérica. O símbolo para representar generalização/especialização é um triângulo isósceles:
A generalização/especialização expressa que a entidade CLIENTE é dividida em dois subconjuntos, as entidades PESSOA FÍSICA e PESSOA JURÍDICA cada um com propriedades próprias.
Generalização/Especialização Pode ser classificada em dois tipos: 
Parcial: nem toda ocorrência da entidade genérica possui uma ocorrência correspondente em uma entidade especializada.
Total: para cada ocorrência da entidade genérica existe sempre uma ocorrência em uma das entidades especializadas.
Estrutura de Generalização-Especialização “É-um”
Entidades podem ter subtipos ou subclasses e supertipos ou superclasses.
Um entidade supertipo é uma generalização de uma entidade subtipo “especializada”.
Cada entidade supertipo tem seus próprios atributos únicos.
Cada entidade subtipo herda os atributos de sua entidade supertipo.
Num diagrama ER um relacionamento “É-um” conecta uma entidades mais especializada a uma entidade generalizada [sem sentido] pode ser escrita como um triângulo invertido ou um losango com o label “É-um”
Estrutura de Agregação “Faz_parte_de”
O Modelo Entidade Relacionamento não é capaz de representar relacionamentos entre relacionamentos. 
Uma agregação é uma abstração através da qual os relacionamentos são tratados como entidades de mais alto nível.
Aula 7 - Modelagem Lógica – O Modelo Relacional
Modelagem Lógica de Dados
 
O modelo lógico descreve a estrutura do banco de dados, conforme vista pelo usuário do SGBD.
Detalhes de armazenamento interno de informações, que não tem influência sobre a programação de aplicações no SGBD, mas podem influenciar a performance da aplicações (por exemplo, as estruturas de arquivos usadas no acesso as informações) não fazem parte do modelo lógico.
O Modelo Lógico de Dados Lógico descreve os componentes do Modelo Conceitual de Dados, aproximando-o do ambiente computacional, onde este será trabalhado.
Modelo Hierárquico: Apresenta a mesma estrutura do modelo de rede, diferindo apenas na organização dos registros. Tais registros são organizados com coleções de árvores em vez de grafos aleatórios.
Ex.: IMS(IBM)
Modelo de Rede: Os dados são representados por uma coleção de registros e os relacionamentos entre os dados são representados por meio de links.
 Ex. : IDMS, DMS-II(Unisys)
Modelo Relacional: Os dados são representados através de tabelas.
Ex.: DB-2, SQL-DS (IBM), Oracle, Ingres 
Relação = Tabela bi-dimensional, composta de linhas e colunas de dados. 
Relação recursiva = relaciona o objeto a si mesmo.
Atributo = Coluna 
Grau de uma relação = Número de atributos
Tupla = Cada linha da relação 
Domínio de um atributo = Conjunto ao qual pertence os valores de um atributo 
Valor nulo de um atributo de uma tupla = Atributo inaplicável ou com valor desconhecido 
Esquema de Banco de Dados Relacional = Nomes das relações seguidos pelos nomes dos atributos, com os atributos chaves sublinhados e com as chaves estrangeiras identificadas
Modelo LÓGICO Relacional
Em um banco de dados relacional, há ao menos três tipos de chaves a considerar:
Chave primária é uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais dentro de uma tabela. 
Uma chave é mínima quando todas suas colunas forem efetivamente necessárias para garantir o requisito de unicidade de valores da chave.
Chave estrangeira é uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de uma tabela. 
A chave estrangeira é o mecanismo que permite a implementação de relacionamentos em um banco de dados relacional.
Chave alternativa: Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para distinguir uma linha das demais.
Uma das colunas (ou combinação de colunas) é escolhida como chave primária. As demais colunas ou combinações (que tenham valor único e não é nulo) são denominadas chaves alternativa.
Restrições de Integridade
Para tentar garantir a integridade de um banco de dados os SGBD oferecem o mecanismo de restrições de integridade.
No caso da abordagem relacional, costuma-se classificar as restrições de integridade nas seguintes categorias:
Integridade de domínio: especificam que o valor de um campo deve obedecer a definição de valores admitidos para a coluna (o domínio da coluna). 
Integridade de vazio: é especificado se os campos de uma coluna podem ou não ser vazios (se a coluna é obrigatória ou opcional). 
Integridade de chave: define que os valores da chave primária e alternativa devem ser únicos.
Integridade referencial: define que os valores dos campos que aparecem em uma chave estrangeira devem aparecer na chave primária da tabela referenciada.
Aula 8
Conversão do modelo conceitual para o modelo lógico relacional
Para cardinalidade 1:1
Incluir todos os atributos numa tabela simples. O nome da tabela relacional pode ser o nome de uma das entidades que participam do relacionamento, um nome composto formado pela combinação dos nomes das duas entidades ou um novo nome que represente o significado dos dados na tabela.
Para cardinalidade 1:N
Incluir o “identificador”do lado “um”,  como um atributo no lado “muitos”. O identificador colocado do lado “muitos” é chamado de chave estrangeira.
Para cardinalidade N:M
Criar uma nova tabela e colocar as chaves primárias de cada uma das entidades como atributos na nova tabela. 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. Cada identificador colocado na nova tabela é uma chave estrangeira.
Aula 9 - Conversão do modelo conceitual para o modelo lógico relacional - Relacionamentos Recursivos e Extensões
Aula 10 – Normalizaçao
O processo de normalização de dados representa uma série de passos que se seguem no projeto de um banco de dados, que permitem um armazenamento consistente e o eficiente acesso aos dados de um banco de dados relacional. Esses passos reduzem a redundância de dados e, consequentemente,  as chances de ocorrerem inconsistências.
Características de um mau projeto
Repetiçao de informação: 
Exemplo: A tabela EMPRESTAR em um banco de dados bancário:
 
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, já que descrevem entidades distinstas.
	Inabilidade de representar informações
Uma agência só pode existir se existir um empréstimo.
Perda de informação 
Para eliminar um cliente, é necessário eliminar todas as informações de empréstimos.
Problemas causados pela falta de normalização
Exemplos: Tabela PEDIDO  (Num_pedido, prazo, cliente, endereco, cidade, uf, insc_est,cod_prod, unid, qtde, desc, val_unit, total_prod, total_pedido, cod_vendedor, nome_vendedor)
Anomalia de inclusão
Um novo cliente só poderá ser incluído se estiver relacionado a uma venda.
Anomalia de exclusão
Ao ser excluído um cliente, os dados referentes às suas compras serão perdidos.
Anomalia de alteração
Caso algum fabricante de produto altere o preço de um produto, será preciso percorrer toda a relação para se realizar múltiplas alterações.
Dependência funcional
Determina um restrição entredois conjuntos de atributos de um BD Relacional.
Denotado pelo símbolo     , onde X     Y significa o atributo X determina funcionalmente o atributo Y ou ainda, o atributo Y é dependente funcional do atributo X.
Formas normais
O conceito de normalização foi introduzido por E. F. Codd em 1972. Inicialmente, Codd criou as três primeiras formas de normalização, chamando-as de: primeira forma normal (1NF), segunda forma normal (2NF) e terceira forma normal (3NF).
Uma definição mais forte da 3NF foi proposta depois por Boyce-Codd, e é conhecida como forma normal de Boyce-Codd (FNBC).
Através do processo de normalização, pode-se, gradativamente, substituir um conjunto de entidades e relacionamentos por um outro, o qual se apresenta "purificado" em relação às anomalias de atualização (inclusão, alteração e exclusão), as quais podem causar certos problemas.
Normalização de relações é, portanto, uma técnica que permite depurar um projeto de banco de dados, através da identificação de inconsistências (informações em duplicidade, dependências funcionais mal resolvidas etc.).
À medida que um conjunto de relações passa para uma forma normal, vamos construindo um banco de dados mais confiável. O objetivo da normalização não é eliminar todos as inconsistências, e sim controlá-las.
Primeira Forma Normal
Uma relação está na primeira forma normal, se todos os seus atributos são monovalorados e atômicos (isto é não contém tabelas aninhadas).
Quando encontrarmos um atributo multivalorado, devemos criar um novo atributo que individualize a informação que esta multivalorada:
HISTÓRICO = {matricula-aluno, código-disciplina, notas}
No caso acima, cada nota seria individualizada identificando a prova a qual aquela nota se refere:
HISTÓRICO = {matrícula-aluno, código-disciplina, número-prova, nota}
Quando encontrarmos um atributo não atômico, devemos dividi-lo em outros atributos que sejam atômicos:
PESSOA = {CPF, nome-completo}
Vamos supor que, para a aplicação que utilizará esta relação, o atributo nome-completo não é atômico, a solução então será:
PESSOA = {CPF, nome, sobrenome}
Segunda Forma Normal
Uma relação está na segunda forma normal, quando duas condições são satisfeitas:
1- A relação estiver na primeira forma normal.
2 - Todos os atributos primos dependerem funcionalmente de toda a chave primária.
 
Observe a relação abaixo:
HISTÓRICO = {matrícula-aluno, código-matéria, número-prova, nota, data-da-prova, nome-aluno, endereço-aluno, nome-matéria}
Fazendo a análise da dependência funcional 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.
Terceira forma normal
Uma relação está na terceira forma normal, quando duas condições forem satisfeitas:
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.
“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”

Continue navegando