Projeto de Banco de Dados (Exercício Final)

Texto

(1)

Projetos de Banco de Dados

Prof.° André Luiz F. Alves

http://andre.alfa.googlepages.com

(2)

Tópicos Abordados

• Projeto de Banco de Dados

Modelagem Conceitual

▫ Modelo Entidade Relacionamento (MER)

Diagrama Entidade Relacionamento (DER)

(3)

Problema a ser resolvido

• Em uma empresa existem diversos departamentos aos quais os

funcionários estão lotados. Um departamento contém o nome, a sigla e um funcionário responsável(gerente). Já o funcionário contém sua

matrícula, nome, cpf, rg, data nascimento, grau de formação e salário. O funcionário só pode está lotado em único departamento. Os

departamentos da empresa são responsáveis por executar projetos. Cada projeto só pode ser executado por um departamento. Um projeto é composto de um código, título, valor de investimento e quantidade de horas.

Quais...

as entidades envolvidas? E os seus atributos?

os relacionamentos das entidades?

Os comandos para criação desse banco de dados?

(4)

Fases de um Projeto de Banco de Dados

Levantamento e Análise de Requisitos

Projeto Conceitual

Projeto Lógico (mapeamento dos Dados)

Projeto Físico Mini-mundo

Requisitos de dados

(5)

Ciclo de atividades na Modelagem de Dados

Aplicação de técnicas de representação

Identificação (objetos, características, relacionamentos, comportamentos) conceituação e assimilação Entrevistas, reuniões, questionários, análise de documentos, Conhecimento prévio...

Verificar se o modelo gerado está coerente e fiel aos conceitos encontrados, evitando anomalias...

(6)

Análise dos Requisitos

Fatores a serem considerados:

Abrangência/Escopo:

▫ “um artista precisa saber se deve pintar toda uma paisagem ou só a árvore que está na sua frente”

Nível de Detalhamento:

▫ “reprodução de todo bosque: linhas gerais? Elementos predominantes? Tudo?...

Tempo para a Produção do Modelo:

▫ Quais os prazos para a conclusão?

Recursos Disponíveis

(7)

Modelagem Conceitual

Fase muito importante no planejamento de uma

aplicação de um banco de dados;

• É uma Modelagem semântica (de alto nível) que permite aproximar o modelo obtido do mundo real

▫ “Modelo é a representação abstrata e simplificada de um sistema real, com a qual se pode explicar ou testar o seu comportamento, em seu todo ou em partes”

• Modelos mais utilizados:

Modelo Entidade Relacionamento (ER) (com

suas variações)

(8)

Objetivos da Modelagem de dados

• Obter estruturas de dados que leve ao projeto de

banco de dados;

• Representar o ambiente observado;

• Servir de instrumento para comunicação;

• Favorecer o processo de verificação e validação;

Capturar aspectos de relacionamento entre os

objetos;

• ....

(9)
(10)

Exemplo de Modelagem

(cont.)

(11)

Exemplo de Modelagem

(cont.)

Modelo de Dados

(12)

Arquitetura de Três-Esquemas (ANSI/SPARK)

(13)

Níveis de Modelagem (ANSI/SPARK)

Modelo Conceitual de Dados -MCD: Esquema Conceitual

▫ Ênfase nos Objetos, Características e Relacionamento (mini-mundo);

▫ Independência de Tecnologia (SGDB Relacional, Hierárquico, Objeto-Relacional, OO,...)

▫ Utilizado na fase de projetos. Não confundir com MLD produzido por algumas ferramentas CASE (ex.: BrModelo...)

Modelo Lógico de Dados (MLD): Esquema Externo

▫ Como o usuário visualiza os dados. Independência do meio físico; ▫ Construído a partir de aplicação de regras de derivação no MCD;

▫ Respeita e implementa conceitos tais como chaves de acesso, formatos de campos, controle de chaves duplicadas, integridade referencial, normalizações..

Modelo Físico de Dados (MFD): Esquema Interno

(14)

Níveis de Modelagem (ANSI/SPARK)

Código nome função salário NomeDepartament

o Código nome dataNascimento

Visão Externa 1 Visão Externa 2

Nível Externo

Nível Conceitual

Nível Interno

Código nome função salário dataNascimento depto

Create Table Empregado( codigo int primary key, nome varchar(50) not null, funcao varchar(30),

salario decimal(10,2), dataNascimento date, depto int,

foreign key depto

(15)

Modelo Entidade-Relacionamento

• Modelo definido por Peter Chen em 1976

▫ Depois diversas extensões e notações foram definidas

• Consiste em um conjunto de objetos básicos chamados entidades e nos relacionamentos entre esses objetos;

• Objetivo é facilitar o projeto de banco de dados, possibilitando a especificação da estrutura lógica geral do banco de dados;

• O modelo de dados é representado graficamente por um Diagrama de Entidade-Relacionamento (DER) através de:

▫ Entidades (retângulos) ▫ Atributos (elipses)

▫ Relacionamentos (losangos)

(16)

Entidade

• Uma entidade é tudo aquilo sobre o qual se deseja manter informações.

• Possui propriedades que a distingue de outras entidades.

• Subconjunto de objetos (instâncias) que desempenha o mesmo papel semântico e possui os mesmos tipos de propriedades (atributos);

• Pode representar: objetos concretos (pessoas, livros, carros, …) ou conceitos abstratos

(empresas, eventos, embarques, …)

Aluno Empréstim

o

(17)

Entidade (Exemplos)

▫ Conjunto de todas as contas correntes de um banco ▫ Conjunto de todos os empregados de uma empresa ▫ Conjunto de todos os filmes de um produtor

▫ Conjunto de todas as Mensagens postas em Redes Sociais ou em Blogs...

• Descrever as Entidades em um dicionário de dados é prática de modelagem!!

Entidade: EMPREGADO

(18)

Entidade (Intâncias)

Objeto de uma entidade com suas respectivas

propriedades que é distinguível dos outros objetos.

• Ex:

▫ Empregado: “Maria dos Anjos, 31 anos, Secretária, Solteira, R$ 800,00”;

(19)

Atributos

São as propriedades que caracterizam ou

descrevem uma entidade ou um relacionamento.

• Ex:

▫ A entidade CARRO poderia ter os atributos: Placa, fabricante, modelo, ano de fabricação, cor, preço; ▫ A entidade MENSAGEM poderia ter os atributos:

autor, texto, data e hora;

▫ O relacionamento TRABALHA entre

(20)

Atributos

Simples: é atômico.

▫ Ex. Idade: numérico Nome:

cadeia de caracteres

Composto: contém sub-atributos que compõem o atributo.

(21)

Atributos

Simplesmente valorados: têm um único

valor para uma instância de uma entidade. ▫ Ex.: PESSOA: Idade

• Multivalorados: possuem vários valores numa

instância de uma entidade.

▫ Ex.: PESSOA:TitulaçãoSuperior(nenhum, Bel. MSc., PhD)

Atributos derivados: podem ser determinados a

(22)

Relacionamentos

São funções que mapeiam um conjunto de

instâncias de uma entidade em um outro

conjunto de instâncias de outra entidade (ou da mesma entidade: “auto relacionamento”).

• São associações entre diversas entidades.

• Ex.:

▫ “Um empregado trabalha num projeto”

▫ “Um cliente possui conta bancária” ▫ “Um filme possui vários atores”

(23)

Relacionamentos

nome salário

Empregado trabalha Projeto

matricula horas

1..N

1..N

(24)

Restrições de Integridade

Caracterizam as restrições nas quais os

relacionamentos entre entidades estão submetidos (regras do negócio).

• Ex.:

▫ “Todo empregado deve estar lotado num departamento”

▫ “Existe Cliente que não foi recomendado por Cliente”

▫ “Toda Nota Fiscal deve ter pelo menos um item discriminado”

(25)

Restrições de Integridade

Podemos caracterizar um relacionamento em

termos de:

Cardinalidade: quantidade de instâncias que

podem participar do relacionamento

Totalidade: obrigatoriedade da ocorrência do

(26)

Tipos de Cardinalidade

Um_para_Um (1:1): uma instância de uma

entidade A está associada a no máximo a uma instância de uma entidade B, e vice-versa.

a1 a2 a3 a4 a5

b1 b2 b3 b4 b5

(27)

Tipos de Cardinalidade

Um_para_Muitos (1:N): uma instância de

uma entidade A está associada a qualquer número de instâncias da entidade B. Porém, uma instância da entidade B pode estar

(28)

Tipos de Cardinalidade

Muitos_para_Um (N:1): uma instância da

entidade A está associada a uma instância de B. Porém, uma instância de B pode estar associada a qualquer número de instâncias de A.

a1 a2 a3 a4 a5

b1

b2

b3

N:1

(29)

Tipos de Cardinalidade

Muitos_para_Muitos(M:N): uma instância

da entidade A está associada a qualquer número de instâncias da entidade B, e vice-versa.

(30)

Representação da Relação

A 1 B

1

A 1 B

N

A N B

1

A N B

(31)

Vamos à prática...

1. Utilize o software BrModelo para construir o

(32)

Vamos à prática...

2. Faça um modelo ER para modelar Notas

(33)
(34)

Exercício

• Nas situações você deverá:

▫ Modelar conceitualmente o banco de dados, utilizando o software BrModelo através do

Diagrama Entidade Relacionamento. Lembre-se de analisar os requisitos...

▫ Utilizar o Software MySql Workbench para transformar o modelo conceitual em projeto lógico.

▫ Informar comandos SQL para:

Criar, alterar e remover as tabelas

(35)

Situação 1 -

Administradora de Imóveis

A administradora de Imóveis administra

condomínios formados por unidades

condominiais (lotes); Cada unidade condominial é de propriedade de uma ou mais pessoas. Uma pessoa pode possuir diversas unidades; Cada unidade pode estar alugada para no máximo uma pessoa. Uma pessoa pode alugar diversas unidades. Defina os atributos que julgares

(36)

Situação 2 - Prontuário de pacientes

O hospital possui um conjunto de pacientes e um

conjunto de médicos. No registro dos pacientes, temos o nome, RG, CPF, endereço e telefone. No registro dos médicos temos o nome, especialidade, RG, CPF, CRM, endereço e telefone. Cada paciente tem associado a si um prontuário (sua ficha), onde são registradas basicamente todas ocorrências,

(37)

Situação 3 - Companhia de seguros

Uma companhia de seguros de automóveis

possui um conjunto de clientes, onde cada um possui um certo número de carros. Os dados do cliente são nome, RG, CPF, endereço e telefone. Do carro deve-se armazenar a placa, código

Renavan, fabricante, modelo, e ano. Associado a cada carro há um histórico de ocorrências. Um carro podem possuir várias ocorrências ou

(38)

Situação 4 - Universidade

• Um departamento é responsável por no mínimo uma disciplina. Uma disciplina por sua vez pode ter de zero à

(39)

Referências Bibliográficas

• COUGE, Paulo Sérgio. Modelagem Conceitual e Projeto de Bancos de Dados. Editora Elsevier, Rio de Janeiro, 1997.

• ELMASRI, Ramez, NAVATHE, Shamkant B.. Sistemas de Banco de Dados. Editora Pearson Addison Wesley, São Paulo, 2005.

Imagem

Referências