tlbd_i_2 - marceloguma

Propaganda
Tecnologias de Linguagens para Banco de Dados I
Marcelo Gumercino Costa
TLBD
Revisão
O que são dados?????
Idade
Rua Dois
N°
29
Endereço
03
João da Silva
32
Telefone
Avenida
Hum
Dois
Nome
Avenida
Maria dos
Santos
02
TLBD
Revisão
O que é um banco de dados???
Nome
Endereço
N°
João da Silva
Rua Dois
02
Maria dos
Santos
Avenida
Hum
03
Idade
29
32
Telefone
TLBD
Banco de Dados: Conjunto de dados, organizados por categoriais, de modo a facilitar a pesquisa,
comparação e
atualização das informações;
Base de Dados. Programa para uso e controle de um banco de dados;
TLBD
Industria hipotética
Vendas: esta função concentra as atividades da industria relativas ao contato com os clientes, como
fornecimento de cotações de preços, vendas e informações sobre disponibilidade.
Produção: Esta função concentra as atividades da indústria relativas à produção propriamente dita, como
planejamento da produção e controle do que foi produzido.
Compras: Esta função concentra as atividades da indústria relativas à aquisição dos insumos necessários à
produção, como cotação de preços junto a fornecedores, compras e acompanhamento do fornecimento.
TLBD
Industria hipotética
Produção
Produtos
Vendas
...
Produtos
Compras
...
Produtos
...
TLBD
Industria hipotética
Neste caso, surge o problema de redundância de dados. Redundância de dados ocorre quando uma determinada
informação está representada no sistema várias vezes.
Redundância Controlada: quando o software tem conhecimento da múltipla representação e garante sincronia.
Redundância Não Controlada:
-> Entrada repetida da mesma informação
-> Inconsistência de dados
TLBD
Solução para Redundância
A Solução para evitar a redundância não controlada de informação é o compartilhamento de dados. Nesta forma
de processamento, cada informação é armazenada uma única vez, sendo acessada pelos vários sistemas que dela
necessitam.
Ao conjunto de arquivos integrados que atendem a um conjunto de sistemas dá-se o nome de banco de dados.
TLBD
Industria hipotética
Produção
Vendas
Produtos
Compras
...
TLBD
Sistema de Gerência de Banco de Dados
Sistema de gerenciamento de banco de dados
=
Software que incorpora as funções de definição, recuperação e alteração de dados em um banco de
dados
TLBD
Modelos de bancos de dados
Um modelo de banco de dados é uma descrição dos tipos de informações que estão armazenadas em um banco
de dados. Por exemplo, no caso da indústria citada acima, o modelo de dados poderia informar que o banco de
dados armazena informações sobre produtos e que, para cada produto são armazenados seu código, preço e
descrição. Observe que o modelo de dados não informa quais os produtos que estão armazenados no banco de
dados, mas apenas que o banco de dados contém informações sobre os produtos.
TLBD
Modelos de Banco de Dados
Modelo de banco de dados
=
Descrição formal da estrutura de um banco de dados
TLBD
Modelos de Banco de Dados
Para construir um modelo banco de dados, usa-se uma linguagem de modelagem de dados.
Linguagens de dados podem ser classificadas de acordo com a forma de apresentar modelos, em
linguagens textuais ou linguagens gráficas. Um mesmo modelo de dados pode ser apresentado de
várias formas. Cada apresentação do modelo recebe a denominação esquema de banco de dados.
TLBD
Modelos de Banco de Dados
No projeto de banco de dados, normalmente são considerados três níveis de abstração de modelo de
banco de dados, modelo conceitual, modelo lógico e do modelo físico.
TLBD
Modelos de Banco de Dados
descreve
Realidade Nebulosa
observa
defini
Analista
Modelo Conceitual
Banco de
dados
descrição
Organizar idéias
Modelo Lógico
Mini Mundo
cria
Modelo Físico (D
TLBD
Modelos de Banco de Dados
1. O analista observa a realidade, coleta e organiza idéias e cria o mini-mundo;
2. O mini-mundo é descrito a partir de um modelo conceitual;
3. O modelo conceitual é definido pela realidade nebulosa;
4. O modelo conceitual desencadeia um modelo lógico, que desencadeia um modelo físico;
5. O modelo físico cria efetivamente o banco de dados;
6. O banco de dados descreve a realidade nebulosa.
TLBD
Modelo conceitual
Um modelo conceitual é uma descrição do banco de dados de forma independente da implementação em
um SGBD. O modelo conceitual registra que dados podem aparecer no banco de dados.
TLBD
Modelo conceitual
Modelo conceitual
=
Modelo de dados abstrato que descreve a estrutura de um banco de dados de forma independente
de SGBD particular
TLBD
Modelo conceitual
A técnica mais difundida de modelagem conceitual é a abordagem entidade-relacionamento (ER). Nesta
técnica, um modelo conceitual é usualmente representado através de diagrama, chamado diagrama
entidade-relacionamento (DER).
TLBD
Modelo Conceitual
TLBD
Modelo Lógico
Um modelo lógico é uma descrição de um banco de dados no nível de abstração visto pelo usuário do
SGBD. Assim o modelo lógico é dependente do tipo particular de SGBD que esta sendo usado.
Vamos tratar apenas de modelos lógicos referentes a abordagem relacional.
TLBD
Modelo Lógico
TLBD
Exemplo de banco de dados hierárquico
TLBD
Modelo Lógico
Um modelo lógico de um BD relacional deve definir quais as tabelas que o banco contém e, para cada
tabela, quais os nome das colunas.
O modelo lógico para o BD em questão é o seguinte.
TipoProduto(codTipoProd,DescrTipoProd);
ProdutoI(codProduto,descProduto,precoProd,codTipoProduto);
codTipoProd referencia TipoProduto
TLBD
Modelo Lógico
Modelo lógico
=
Modelo de dados que representa a estrutura de dados de um banco de dados conforme vista pelo
usuário do SGBD
TLBD
Modelo Físico
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ção (por exemplo, as estruturas de
arquivos usadas no acesso as informações) não fazem parte do modelo lógico. Estes detalhes são
representados no modelo físico.
TLBD
Modelo Físico
•Descreve as estruturas físicas de armazenamento de dados:
•Tipos de dados
•Tamanho de campos;
•Formas de preenchimento;
•Nomes de campos, integridade, etc.
•Etapa final do projeto de banco de dados;
•Usa DDL (Defination Data Language) para a criação efetiva do banco de dados.
TLBD
Faixa
Tabela
codFaixa
cd
titulo
duracao
idCd
1
Comida
5:22
1
2
Pra dizer Adeus
3:42
1
3
Família
3:49
1
codCd
titulo
cantor
gravadora
4
Marwim
4:24
1
1
Acústico
Titãs
SonyMusic
5
Sonífera Ilha
2:50
2
2
Volume
dois
Titãs
SonyMusic
6
É Preciso saber
viver
4:11
2
TLBD – Modelagem Conceitual
MODELAGEM CONCEITUAL
• Conhecer a realidade informal e não organizada;
• Levantar FATOS que nos permite conhecer e tornar a realidade de forma mais organizada;
• Observar e modelar FATOS mostra o funcionamento do negócio;
• Registra FATOS através da criação de um modelo;
• FATOS estão registrados em documentos formais:
•Fichas;
•Memorandos;
•Leis;
•Decretos; e
•Na cabeça das pessoas.
TLBD
MODELAGEM CONCEITUAL
•Ponto central do projeto de banco de dados:
•Modelo Entidade-Relacionamento;
•Objetivo da modelagem de dados:
•Transmitir e apresentar uma
•Representação única,
•Não redundante e
•Resumida
TLBD
Modelo Entidade-Relacionamento
• Definido por Peter Chen em 1976
• Baseado na teoria de E.F. Codd (1970);
• A visão da realidade baseia-se no relacionamento entre entidades, que retratam fatos que governam a
realidade.
• Cada entidade (ou relacionamento) possui atributos;
TLBD
Modelo Entidade-Relacionamento
•Abstração:
• Separa a realidade em estudo das partes que são relevantes para o desenvolvimento do Sistema da
Informação.
• Exclui todos os aspectos que não exercem influência sobre o ambiente a ser modelado.
TLBD
Modelo Entidade-Relacionamento
•“Entidade” pode ser definida como um objeto do mundo real, concreto ou abstrato e que possui existência
independente. Cada entidade possui um conjunto particular de propriedades que a descreve chamado
“Atributos”. Um atributo pode ser dividido em diversas sub-partes com significado independente entre si,
recebendo o nome de “atributo composto”. Um atributo que não pode ser subdividido é chamado de “atributo
simples” ou “atômico”.
TLBD
Modelo Entidade-Relacionamento - ENTIDADES
• Objeto do mundo real com identificação distinta e significado próprio;
• “Coisas” existentes no negócio cujos dados nos interessa armazenar;
•A Entidade é uma classe de dados do negócio com um conjunto de dados de características semelhantes;
• A Entidade é um arquivo de dados e suas instâncias são os registros desse arquivo.
•Definida por um substantivo no singular:
•Sem assento, espaço ou cedilha: Ex: Veiculo, FerramentaLeve, etc.
•Representado por um retângulo.
TLBD
Entidades
TLBD
Modelo Entidade-Relacionamento - Atributos
•Propriedades que definem as entidades;
•Os valores dos atributos criam as instâncias de umaentidade como registros de um arquivo de dados, Ex:
•FUNCIONÁRIO
•NumMatricula
•Nome
•DataAdmissao.
TLBD
Modelo Entidade-Relacionamento - Atributos
•Definida por um substantivos no singular:
•Ex: Tamanho, ValorUnitario, Quantidade, etc.
•Sem acento, espaço ou cedilha.
• Atributos Chaves dos relacionamentos aparecem no Modelo Lógico mas NÃO aparecem no Modelo Conceitual.
TLBD
Modelo Entidade-Relacionamento
• “Chave Primária” é um atributo identificador que representa univocamente cada ocorrência ou registro de
uma tabela.
•“Chave Estrangeira” é um atributo que definido como chave primária de uma tabela é incluído na estrutura
de outra tabela.
TLBD
Atributos
TLBD
Exercício 1
TLBD
Exercício 2
Identifique as entidades e os seus respectivos atributos através dos fatos descritos no minimundo a seguir:
Uma CLÍNICA MÉDICA necessita controlar as consultas médicas realizadas pelos médicos a
ela vinculados, assim como acompanhar quem são os pacientes consultados para manter o
acompanhamento clínico deles;
Os médicos especialistas (pediatras, neurologistas, cardiologistas, clínicos, etc) são
registrados em uma ficha com o CRM, nome, endereço e especialidade;
Os pacientes preenchem uma ficha com nome, endereço e sexo;
Toda consulta é registrada em um fichário próprio com as informações sobre médico,
paciente, diagnóstico, data e hora da consulta.
TLBD
Exercício 2 - Análise:
Qual é o modelo de negócio a ser criado?
Define o nome do Banco de Dados: Clinica Médica
Identificação das entidades
Define as tabelas do banco de dados a ser criado: Paciente e Médico
Identificação dos atributos das entidades
Define os campos das tabelas: Medico (CRM, Nome, Endereco e Especialidade) e Paciente
(Nome, Endereco e Sexo)
E a consulta? Ela tem atributos? Se sim então ela é uma entidade?
TLBD
Exercício 2 - Análise:
E a consulta? Ela tem atributos? Se sim então ela é uma entidade?
E a consulta? Observe a expressão:
“ Toda consulta é registrada… …com informações sobre Médico, Paciente…” podemos
concluir que:
A consulta é um elo entre as entidades Medico e Paciente, logo não é uma entidade mas
um relacionamento.
Download