Tecnologias de Linguagens para Banco de Dados I

43
Tecnologias de Linguagens para Banco de Dados I Marcelo Gumercino Costa

description

Tecnologias de Linguagens para Banco de Dados I. Marcelo Gumercino Costa. TLBD. Idade. 29. Endereço. 32. Telefone. Avenida Hum. Rua Dois. 03. Dois. Avenida. N°. 02. João da Silva. Nome. Maria dos Santos. TLBD. Nome. Endereço. N°. Idade. Telefone. 29. 02. João da Silva. - PowerPoint PPT Presentation

Transcript of Tecnologias de Linguagens para Banco de Dados I

Page 1: Tecnologias de Linguagens para Banco de Dados I

Tecnologias de Linguagens para Banco de Dados I

Marcelo Gumercino Costa

Page 2: Tecnologias de Linguagens para Banco de Dados I

TLBD

Revisão

O que são dados?????

Idade Endereço

Nome

Telefone

Rua Dois

João da Silva

Avenida Hum

Maria dos Santos

3229

02

Dois03 Avenida

Page 3: Tecnologias de Linguagens para Banco de Dados I

TLBDRevisão

O que é um banco de dados???

IdadeEndereçoNome TelefoneN°

Rua DoisJoão da Silva

Avenida HumMaria dos Santos

32

2902

03

Page 4: Tecnologias de Linguagens para Banco de Dados I

TLBD

Banco de Dados: Conjunto de dados, organizados por categoriais, de modo a facilitar a pesquisa, comparação eatualização das informações;

Base de Dados. Programa para uso e controle de um banco de dados;

Page 5: Tecnologias de Linguagens para Banco de Dados I

TLBD

Industria hipotéticaVendas: 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.

Page 6: Tecnologias de Linguagens para Banco de Dados I

TLBD

Industria hipotética

Produção Vendas Compras

Produtos Produtos Produtos... ... ...

Page 7: Tecnologias de Linguagens para Banco de Dados I

TLBD

Industria hipotéticaNeste 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

Page 8: Tecnologias de Linguagens para Banco de Dados I

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.

Page 9: Tecnologias de Linguagens para Banco de Dados I

TLBD

Industria hipotética

Produção Vendas Compras

Produtos ...

Page 10: Tecnologias de Linguagens para Banco de Dados I

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

Page 11: Tecnologias de Linguagens para Banco de Dados I

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.

Page 12: Tecnologias de Linguagens para Banco de Dados I

TLBD

Modelos de Banco de Dados

Modelo de banco de dados

=

Descrição formal da estrutura de um banco de dados

Page 13: Tecnologias de Linguagens para Banco de Dados I

TLBD

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.

Modelos de Banco de Dados

Page 14: Tecnologias de Linguagens para Banco de Dados I

TLBD

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.

Modelos de Banco de Dados

Page 15: Tecnologias de Linguagens para Banco de Dados I

TLBDModelos de Banco de Dados

Analista

Realidade Nebulosa

Modelo Conceitual

Modelo Lógico

Modelo Físico (D

observa

defini

Organizar idéias

Mini Mundo

descrição Banco de dados

cria

descreve

Page 16: Tecnologias de Linguagens para Banco de Dados I

TLBD

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.

Modelos de Banco de Dados

Page 17: Tecnologias de Linguagens para Banco de Dados I

TLBD

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.

Modelo conceitual

Page 18: Tecnologias de Linguagens para Banco de Dados I

TLBD

Modelo conceitual

Modelo conceitual

=

Modelo de dados abstrato que descreve a estrutura de um banco de dados de forma independente de SGBD particular

Page 19: Tecnologias de Linguagens para Banco de Dados I

TLBD

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).

Modelo conceitual

Page 20: Tecnologias de Linguagens para Banco de Dados I

TLBDModelo Conceitual

Page 21: Tecnologias de Linguagens para Banco de Dados I

TLBD

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.

Modelo Lógico

Page 22: Tecnologias de Linguagens para Banco de Dados I

TLBDModelo Lógico

Page 23: Tecnologias de Linguagens para Banco de Dados I

TLBD Exemplo de banco de dados hierárquico

Page 24: Tecnologias de Linguagens para Banco de Dados I

TLBD

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

Modelo Lógico

Page 25: Tecnologias de Linguagens para Banco de Dados I

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

Page 26: Tecnologias de Linguagens para Banco de Dados I

TLBD

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.

Modelo Físico

Page 27: Tecnologias de Linguagens para Banco de Dados I

TLBD

•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.

Modelo Físico

Page 28: Tecnologias de Linguagens para Banco de Dados I

TLBD

TabelacodFaixa titulo duracao idCd

1 Comida 5:22 1

2 Pra dizer Adeus 3:42 1

3 Família 3:49 1

4 Marwim 4:24 1

5 Sonífera Ilha 2:50 2

6 É Preciso saber viver 4:11 2

Faixa

cdcodCd titulo cantor gravadora

1 Acústico Titãs SonyMusic

2 Volume dois

Titãs SonyMusic

Page 29: Tecnologias de Linguagens para Banco de Dados I

TLBD – 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.

MODELAGEM CONCEITUAL

Page 30: Tecnologias de Linguagens para Banco de Dados I

TLBD

•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

MODELAGEM CONCEITUAL

Page 31: Tecnologias de Linguagens para Banco de Dados I

TLBD

• 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;

Modelo Entidade-Relacionamento

Page 32: Tecnologias de Linguagens para Banco de Dados I

TLBD

•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.

Modelo Entidade-Relacionamento

Page 33: Tecnologias de Linguagens para Banco de Dados I

TLBD

•“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”.

Modelo Entidade-Relacionamento

Page 34: Tecnologias de Linguagens para Banco de Dados I

TLBD

• 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.

Modelo Entidade-Relacionamento - ENTIDADES

Page 35: Tecnologias de Linguagens para Banco de Dados I

TLBDEntidades

Page 36: Tecnologias de Linguagens para Banco de Dados I

TLBD

•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.

Modelo Entidade-Relacionamento - Atributos

Page 37: Tecnologias de Linguagens para Banco de Dados I

TLBD

•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.

Modelo Entidade-Relacionamento - Atributos

Page 38: Tecnologias de Linguagens para Banco de Dados I

TLBD

• “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.

Modelo Entidade-Relacionamento

Page 39: Tecnologias de Linguagens para Banco de Dados I

TLBDAtributos

Page 40: Tecnologias de Linguagens para Banco de Dados I

TLBDExercício 1

Page 41: Tecnologias de Linguagens para Banco de Dados I

TLBD

Identifique as entidades e os seus respectivos atributos através dos fatos descritos no mini-mundo 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.

Exercício 2

Page 42: Tecnologias de Linguagens para Banco de Dados I

TLBD

Qual é o modelo de negócio a ser criado?Define o nome do Banco de Dados: Clinica Médica

Identificação das entidadesDefine 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?

Exercício 2 - Análise:

Page 43: Tecnologias de Linguagens para Banco de Dados I

TLBD

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.

Exercício 2 - Análise: