MODELAGEM DE DADOS O uso da análise e do projeto Orientados a Objetos atenuou a separação! Unidade I 1 Banco de Dados I MODELAGEM DE DADOS Etapas do Projeto do BD Análise de Requisitos Projeto Conceitual • Coleta de informações sobre os dados e seus relacionamentos na organização • Forma de realização: reuniões reuniões, entrevistas, análise de documentos • Resultado: documento com a especificação de requisitos Projeto Lógico Projeto Físico Unidade I 2 Banco de Dados I MODELAGEM DE DADOS Exemplo de Especificacao de Requisitos Sistema Administrativo da Universidade Todo servidor possui uma identificação única na universidade e está lotado em um departamento, onde exerce uma determinada função... Servidor: -possui uma identificação única na Universidade; -está está lotado em um departamento; -exerce uma função no departamento no qual esta lotado; -... Unidade I 3 Banco de Dados I MODELAGEM DE DADOS Coleta e Análise de Requisitos • As expectativas dos usuários: o detalhamento máximo • As aplicações existentes e as pretendidas • Atividades que se referem à fase: – – – – – Identificação de grupos de usuários e áreas de aplicação Inspeção da documentação existente Entrada e saída para as transações Tipos e frequência das transações Coleta, análise, modelagem, especificação e revisão Unidade I 4 Banco de Dados I MODELAGEM DE DADOS Unidade I 5 Banco de Dados I MODELAGEM DE DADOS Etapas do Projeto do BD Análise de Requisitos Especificação de requisitos Projeto Conceitual • Modelagem dos dados e seus relacionamentos independente da estrutura t t d de representação t ã do d SGBD (modelagem conceitual) Projeto Lógico • Forma de realização: análise da especificação de requisitos Projeto Físico Unidade I • Resultado: esquema conceitual 6 Banco de Dados I MODELAGEM DE DADOS Exemplo de Projeto Conceitual Diagrama Entidade-Relacionamento N t ã CHEN Notação EMPREGADO (1,1) (0,N) LOTAÇÃO Ç Função Matrícula DEPTO Código Nome Nome Notação Engenharia da Informação estáá lotado l d em EMPREGADO DEPTO tem lotado z Notação suportada por diversas ferramentas CASE z Somente So e te ad admite te relacionamentos e ac o a e tos b binários á os Unidade I 7 Banco de Dados I MODELAGEM DE DADOS Etapas do Projeto do BD Análise de Requisitos Especificação de requisitos Projeto Conceitual Esquema conceitual Projeto Lógico Projeto Físico • Conversão do esquema conceitual no esquema q de representação p ç de um SGBD (esquema lógico) • Forma de realização: aplicação de regras de conversão • Resultado: esquema lógico Unidade I 8 Banco de Dados I MODELAGEM DE DADOS Exemplo de Projeto Lógico (1,1) ((0,N) , ) EMPREGADO LOTAÇÃO Função Matrícula DEPTO Código Nome Nome Conversão ER-Modelo relacional Empregados (Matricula, Nome, Funcao, CodigoDepto) CodigoDepto referencia Departamentos Departamentos (Codigo, Nome) Unidade I 9 Banco de Dados I MODELAGEM DE DADOS MODELO LÓGICO Ver notações no DBDesigner!!!! LIVRO (idLivro, titulo, autor, editora) COMPRA (idLivro, idCliente, dtCompra) idLi idLivro referencia f i idLi idLivro em LIVROS idCliente referencia idCliente em CLIENTE CLIENTE (idCliente, nome, telefone, endereco) Unidade I 10 Banco de Dados I MODELAGEM DE DADOS Etapas do Projeto do BD Análise de Requisitos Projeto Conceitual • Definição D fi i ã d do esquema lógico ló i em um SGBD adequado ao modelo • Consideração de aspectos de performance e segurança (índices (índices, buffers, autorizações de acesso, ...) • Forma de realização: DDL do SGBD • Resultado: esquema físico Projeto Lógico Esquema lógico Projeto Físico Unidade I 11 Banco de Dados I MODELAGEM DE DADOS Exemplo p de Projeto j Físico Empregados (Matricula, Nome, Funcao, CodigoDepto) CodigoDepto g p referencia Codigo g em Departamentos p Departamentos (Codigo, Nome) Especificação em SQL / DDL CREATE table Empregados ( M t i l iinteger, Matricula t N Nome char(50), h (50) F Funcao char(20), h (20) CodigoDepto integer, primary key(Matricula), foreign key(CodigoDepto) references Departamentos(Codigo) ); CREATE table Departamentos ( Codigo integer, Nome char(30) primary key(Codigo) ); Unidade I 12 Banco de Dados I MODELAGEM DE DADOS MODELO FÍSICO Ver DBDesigner!!! Unidade I 13 Banco de Dados I CREATE TABLE Livro ( idLivro INTEGER NOT NULL, titulo VARCHAR(100) NULL, autor t VARCHAR(100) NULL NULL, editora VARCHAR(100) NULL, PRIMARY KEY(idLivro) ); CREATE TABLE Cliente ( idCliente INTEGER NOT NULL, nome VARCHAR(100) NULL NULL, telefone VARCHAR(15) NULL, endereco VARCHAR(100) NULL, PRIMARY KEY(idCliente) ); 14 CREATE C A TABLE A C Compra ( idCliente INTEGER UNSIGNED NOT NULL, idLivro INTEGER UNSIGNED NOT NULL NULL, dtCompra DATE NULL, PRIMARY KEY(idCliente, ( , idLivro), ), FOREIGN KEY(idCliente) REFERENCES Cliente(idCliente), FOREIGN KEY(idLi KEY(idLivro)) REFERENCES Livro(idLivro) ); 15 MODELAGEM DE DADOS Escolha de um Sistema Gerenciador de Banco de Dados • Finalidade a dade do ssistema ste a • Fatores técnicos, econômicos e políticos • Custos : – – – – – – – do SGBD do hardware da manutenção criação ou conversão pessoal treinamento operação • Qual dos SGBDs escolher? – popularidade, popularidade familiaridade, familiaridade suporte Unidade I 16 Banco de Dados I MODELAGEM DE DADOS P Preocupações õ no Projeto P j t de d BD • Projeto Conceitual - correta abstração do mundo real ((captura t correta t da d semântica â ti do d d domínio í i d da aplicação) • Projeto Lógico ó + Físico í - escolhas corretas no mapeamento para o modelo do SGBD (relacional) e consideração de aspectos de performance (correta distribuição dos dados em tabelas) Unidade I 17 Banco de Dados I MODELAGEM DE DADOS Etapas do Projeto do BD Análise de Requisitos Especificação de requisitos Projeto Conceitual Esquema conceitual Projeto Lógico Esquema conceitual Projeto Físico Esquema físico ou implementação SGBD específico Unidade I Descritivo Não Conceitual Não Lógico Não Fí i Físico Si Sim 18 Banco de Dados I MODELAGEM DE DADOS Modelos de Dados - Descrição formal dos tipos de dados que estão armazenados em um banco de dados Ex: modelo de uma indústria Informa: - que são armazenadas informações sobre produtos - para cada produto, são armazenados seu código, descrição e preço Não informa: - quais os produtos que estão armazenados no banco ABORDAGEM ENTIDADE-RELACIONAMENTO Técnica éc ca ut utilizada ada pa para a implementar p e e ta a modelagem ode age co conceitual ce tua de dados Padrão de fato para a modelagem conceitual ((criada em 1976 p por Peter Chen)) Não é a única: - Engenharia da Informação - UML (técnica para modelos Orientados a Objetos) Unidade I 19 Banco de Dados I ABORDAGEM ENTIDADE-RELACIONAMENTO MODELO ENTIDADE RELACIONAMENTO – MER “O modelo de dados entidade-relacionamento baseia-se na percepção de um universo constituído por um grupo básico de objetos chamados entidades e por relacionamentos entre estes objetos. bj El Ele foi f i desenvolvido d l id a fim fi de d facilitar f ili o projeto j de d banco de dados permitindo a especificação de um esquema de empreendimento Tal esquema representa a estrutura lógica empreendimento. global do banco de dados.” C Conceitos i centrais: i - Entidade; - Relacionamento;; - Atributo; - Generalização/Especialização; e - Entidade Associativa. Associativa Unidade I 20 Banco de Dados I ABORDAGEM ENTIDADE-RELACIONAMENTO • Entidade: – Conjunto de objetos (concretos ou abstratos) da realidade modelada sobre os quais deseja-se manter informações f no Banco de Dados Mundo real: Empresa p Produto Empregado Departamento Projeto de BD Empregad o Cliente Cliente ÎAtributos: Especificação das propriedades das entidades entidades. Caracteriza a entidade (lhe dá “personalidade”) Possibilita identificar uma entidade (diferenciar uma ocorrência de entidade das demais) Unidade I 21 Banco de Dados I ABORDAGEM ENTIDADE-RELACIONAMENTO • Exercício: Identificar entidades 1) Uma Administradora de imóveis trabalha tanto com a administração de condomínios quanto com a administração de aluguéis. aluguéis Uma entrevista com o gerente da Administradora resultou nas seguintes informações: – A Ad Administradora i i t d administra d i i t condomínios d í i formados f d por unidades condominiais. – 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 p p alugar g diversas unidades. 2) Deseja-se construir um banco de dados para um sistema de vendas Em cada venda são vendidos vários produtos e um vendas. determinado produto pode aparecer em diferentes vendas. Cada venda é efetuada por um vendedor para um determinado cliente Um produto está armazenado em uma prateleira. cliente. prateleira Unidade I 22 Banco de Dados I ABORDAGEM ENTIDADE-RELACIONAMENTO RELACIONAMENTO Conjunto de associações entre entidades. REPRESENTAÇÃO GRÁFICA EMPREGADO ENTIDADE EMPREGADO RELACIONAMENTO LOTAÇÃO ENTIDADE DEPARTAMENTO Unidade I DEPARTAMENTO LOTAÇÃO Ç e1 e2 e1,d1 d1 e7 e3 3 e4 e6 e2,d1 d2 e8 e5 e4,d2 e5,d3 d3 23 Banco de Dados I ABORDAGEM ENTIDADE-RELACIONAMENTO AUTO-RELACIONAMENTO AUTO RELACIONAMENTO • Relacionamento binário: – Não precisa ser, necessariamente, com entidades diferentes p1 p3 p6 p5 p4 p2 p7 marid o marid o esposa p1,p3 Unidade I esposa p4, p7 24 Banco de Dados I ABORDAGEM ENTIDADE-RELACIONAMENTO CARDINALIDADE DE RELACIONAMENTOS - Máxima; - Mínima. CARDINALIDADE MÁXIMA (1 ou n) A cardinalidade máxima de uma entidade em relacionamento é o número ú máximo á i de d ocorrências ê i de d entidade tid d associadas i d à uma ocorrência da entidade em questão através do relacionamento. EMPREGADO LOTAÇÃO n DEPARTAMENTO 1 - 1:1 ( um-para-um ); - 1:n ( um-para-muitos ); e - n:n ( muitos-para-muitos). p ) Unidade I 25 Banco de Dados I ABORDAGEM ENTIDADE-RELACIONAMENTO EXEMPLOS DE RELACIONAMENTOS BINÁRIOS 1:1( um-para-um) EMPREGADO ALOCAÇÃO 1 BANCADA 1 EMPREGADO marido esposa 1 1 CASAMENTO Unidade I 26 Banco de Dados I ABORDAGEM ENTIDADE-RELACIONAMENTO EXEMPLOS DE RELACIONAMENTOS BINÁRIOS 1:n( um-para-muitos ) EMPREGADO DEPENDENTE TEM 1 n EMPREGADO n 1 Chefia Unidade I 27 Banco de Dados I ABORDAGEM ENTIDADE-RELACIONAMENTO EXEMPLOS DE RELACIONAMENTOS BINÁRIOS n:n( muitos-para-muitos ) PACIENTE TEM MÉDICO n n PRODUTO composto componente n n COMPOSIÇÃO Unidade I 28 Banco de Dados I ABORDAGEM ENTIDADE-RELACIONAMENTO CARDINALIDADE DE RELACIONAMENTOS - Máxima; - Mínima. CARDINALIDADE MÍNIMA (0 ou 1) A cardinalidade mínima de uma entidade em relacionamento l i t é o número ú mínimo í i de d ocorrências ê i de d entidade tid d associadas à uma ocorrência da entidade em questão através do relacionamento. EMPREGADO ALOCAÇÃO (0,1) Unidade I BANCADA (1,1) 29 Banco de Dados I ABORDAGEM ENTIDADE-RELACIONAMENTO - CARDINALIDADES VERBO CARDINALIDADE RELACIONAMENTO MÍNIMA MÁXIMA pode deve 0 1 GRAU TIPO 1 um e inclusive nenhum n muitos e inclusive nenhum 1 um e somente um opcional b i tó i obrigatório n muitos ou um LEITURA DE RELACIONAMENTOS FUNCIONÁRIO ( 1,1 ) RESPONSÁVEL ( 0,n ) DEPENDENTE Unidade I Objeto E tid d S Entidade Sujeito j it Cada f funcionário i á i Verbo de Opcionalidade pode Relacionamento ser responsável por Grau de Relacionamento muitos E tid d Obj Entidade Objeto t d dependentes d t 30 Banco de Dados I ABORDAGEM ENTIDADE-RELACIONAMENTO CONTROLE ACADÊMICO Ê * MODELO CONCEITUAL* PRÉ-REQUISITO liberadora liberada (0,n) RESPONSÁVEL DEPARTAMENTO (1,1) (0,n) DISCIPLINA (0,n) (0,n) ( , ) DISC/CURSO (0 n) (0,n) (0,n) ALUNO Unidade I (1,1) INSCRIÇÃO CURSO 31 Banco de Dados I