BANC DE DADS I/MDELAGEM DE DADS - Aula 3 - MDELAGEM DE DADS 1. INTRDUÇÃ Como dito anteriormente uma das principais características da abordagem banco de dados, é que a mesma fornece alguns níveis de abstração de dados omitindo ao usuário final, detalhes de como estes dados são armazenados. Define-se modelo de dados como um conjunto de conceitos que podem ser utilizados para descrever a estrutura lógica e física de um banco de dados. 2. ETAPAS DA MDELAGEM DE BANC DE DADS Três são as etapas da modelagem de banco de dados, a saber: Projeto Conceitual, Projeto Lógico e Projeto Físico. Contudo, uma etapa não descrita, mas de suma importância para qualquer etapa da modelagem é a análise de requisitos que representa a etapa onde serão coletadas as informações de uma abstração do mundo real mini-mundo. 1
BANC DE DADS I/MDELAGEM DE DADS 2.1. Projeto Conceitual É a descrição de mais alto nível da estrutura do BD, não contendo detalhes de implementação; Nesta etapa não é necessário se preocupar com o tipo de SGBD a ser usado, ou seja o projeto é independente do tipo de SGBD usado; É o ponto de partida do projeto de Banco de Dados e seu objetivo é representar a semântica da informação, independente de considerações de eficiência. objetivo é a representação dos requisitos de dados do domínio. Requisitos: Clareza (facilidade de compreensão) e exatidão (formal). 2.2. Projeto Lógico No modelo lógico existe a descrição da estrutura do BD que pode ser processada pelo SGBD. Em poucas palavras é o modelo conceitual mapeado para um modelo lógico de dados; Nesta etapa há a dependência da classe de modelos de dados utilizada pelo SGBD, mas não do SGBD. A ênfase do modelo lógico está na eficiência de armazenamento, ou seja em evitar muitas tabelas (e junções); tabelas sub-utilizadas, etc. Futuras alterações no modelo lógico devem ser primeiro efetuadas no Modelo Conceitual. 2.3. Projeto Físico Nesta etapa ocorre o mapeamento do modelo lógico em um esquema físico de acordo com o SGBD específico, ou seja o modelo criado está diretamente ligado ao SGBD escolhido. No modelo físico contém a descrição da implementação da base de dados na qual descreve as estruturas de armazenamento e os métodos de acesso. Caracteriza-se pela criação do esquema SQL da modelagem lógica. Sua ênfase na eficiência de acesso como na implementação de consultas, índices, etc. Exemplos: alocação dinâmica de espaços, clusterização, particionamento físico das tabelas, etc. 2
BANC DE DADS I/MDELAGEM DE DADS 3. ABRDAGEM ENTIDADE-RELACINAMENT (ER) A abordagem entidade-relacionamento é um padrão para a modelagem conceitual. Foi criada em 1976 por Peter Chen que junto com alguns conceitos apresenta uma notação gráfica para diagramas que tem por características: - Ser um modelo simples, com poucos conceitos; - Representação gráfica de fácil compreensão. Um esquema conceitual de dados é também chamado de esquema ER, diagrama ER, ou modelo ER. 3.1. Abordagem Relacional A abordagem relacional é a utilização de conceitos de entidade e relacionamento para criar as estruturas que irão compor o BD. Partindo da necessidade do usuário ou grupo de usuários do sistema, iniciamos a pesquisa das necessidades de informação desses usuários, o que chamamos de levantamento de requisitos. A definição do escopo do sistema é importante para o início do trabalho de análise de dados. É comum no início do desenvolvimento de um sistema não termos a noção exata da tarefa a ser realizada. maior erro nesta fase é admitir que já sabemos o que deve ser feito. Para minimizar esse problema, devemos criar uma estrutura gráfica que permita identificar as entidades de um sistema e como estas se relacionam. modelo de dados dará suporte a empresa, incorporando as informações necessárias para o andamento dos negócios. Ele será composto, basicamente, de Entidades e Relacionamentos daí ser conhecido como Modelo Entidade-Relacionamento (MER). 3.2. Vantagens na utilização do MER Sintaxe Robusta: o modelo documenta as necessidades de informação da empresa de maneira precisa e clara. Comunicação com o usuário: os usuários podem, com pouco esforço, entender o modelo. Facilidade de criação: pode-se criar e manter o modelo com facilidade. Integração com várias aplicações: diversos projetos podem ser inter-relacionados. Utilização universal: o modelo não está vinculado a um BD, garantindo independência de implementação. 3
BANC DE DADS I/MDELAGEM DE DADS 3.3. bjetivo da Modelagem de dados Desenvolver um modelo que, contendo entidades e relacionamentos, seja capaz de representar os requerimentos das informações do negócio, evitando redundâncias, inconsistências e economia de espaço. EXEMPL: 3.4. bjetos Conceituais A Abordagem Entidade-Relacionamento (ER) é a técnica mais utilizada e difundida que existe. modelo de dados é representado através de um modelo entidade-relacionamento (MER), que graficamente é chamado de Diagrama entidade-relacionamento (DER). Chen destaca a importância de reconhecer objetos do negócio e os classificou em dois grupos: Entidades e Relacionamentos. 4
BANC DE DADS I/MDELAGEM DE DADS 3.4.1. ENTIDADES bjeto que existe no mundo real com uma identificação distinta e com um significado próprio. bjeto da realidade na qual deseja-se manter informações no banco de dados. Normalmente é representado por um substantivo na descrição do negócio. Em outras palavras são as coisas que existem no negócio. É importante ressaltar que uma entidade não é caracterizada somente por objetos físicos, podendo existir objetos abstratos neste conceito. Vamos ao exemplo: Sr. Joaquim sente fortes dores no peito e procura um consultório médico para procurar ajuda. Chegando ao consultório ele se apresentar a secretária que o encaminha para uma consulta com o médico. Uma vez realizada a consulta o médico receita-lhe alguns medicamentos. Pergunta: Qual objeto abstrato é possível armazenar alguma informação. Exemplo caracteriza que uma entidade pode ser um objeto concreto, como médico, paciente, como também um objeto abstrato, como um fato que desejamos registrar, e que possui características próprias como a consulta médica. 5
BANC DE DADS I/MDELAGEM DE DADS Notação: Em um DER, uma entidade é representada através de retângulo que contém o nome da entidade, como na figura abaixo: 3.4.2. ATRIBUTS São informações que qualificam uma entidade e descrevem seus elementos ou características. Quanto transpostos para o modelo físico são chamados de colunas ou campos. Um atributo é uma característica, logo não contém um grupo de informações. É importante utilizar sempre uma visão espacial de dados, a fim de enxergar o todo e não uma única ocorrência. 3.4.3. TIPS ESPECIAIS DE ATRIBUTS Normalmente existem atributos que tem funções especiais em uma entidade. Dessas algumas servem como identificadores, a saber: - Chave primária: É o atributo ou grupamento de atributos cujo valor identifica unicamente uma entidade dentre todas as outras. Deve ter conteúdo reduzido e valor constante no tempo. Pode ser natural ou artificial. - Chave candidata: É o atributo ou grupamento de atributos que tem a propriedade de identificação única. Pode vir a ser a chave primária. - Chave estrangeira: É quando um atributo de uma entidade é a chave primária de outra entidade com a qual ela se relaciona. - Chave composta: É formada pelo grupamento de mais de um atributo. 6
BANC DE DADS I/MDELAGEM DE DADS Notação: 3.4.4. TUPLAS s atributos e seu valores descrevem as instâncias de uma entidade, formando o que chamamos de tuplas ou registros. Exemplo: Não devemos considerar como entidade um objeto, se não conseguirmos ter a visão de seu conteúdo em instâncias com valores de atributos. 3.4.5. RELACINAMENTS É o fato ou acontecimento que liga dois objetos existentes no mundo real, ou seja, o fato que efetua a junção de duas ou mais tabelas. Um relacionamento é caracterizado por um verbo, como: Pessoas moram em Apartamentos. Notação: 7
BANC DE DADS I/MDELAGEM DE DADS Várias são as possibilidade de relacionamento, vamos exemplificar: 3.4.6. CLASSIFICAÇÃ DS RELACINAMENTS 3.4.6.1. Quanto a Cardinalidade: - 1:1-1:N - N:N - Cardinalidade Máxima - Cardinalidade Mínima 8
BANC DE DADS I/MDELAGEM DE DADS 3.4.6.2. Quanto a natureza Indica se as ocorrências de uma entidade participam de forma pcional ou Compulsória. - Compulsória - pcional Notação: 3.4.7. GRAU DS RELACINAMENTS 3.4.7.1. Relacionamento um-para-um: cada elemento de uma entidade relaciona-se com um e somente um elemento de outra entidade. 3.4.7.2. Relacionamento um-para-muitos: cada elemento de uma entidade relaciona-se com muitos elemento de outra entidade. É o mais comum no mundo real. 3.4.7.3. Relacionamento muitos-para-muitos: caracteriza-se pelo relacionamento possuir dados que são inerentes ao fato e não às entidades. 9
BANC DE DADS I/MDELAGEM DE DADS 1:1 um para um 1 : n um para muitos n : n muitos para muitos 1 1 n 1 n n Todos os relacionamentos vistos até agora referem-se a relacionamentos binários, ou seja representado pelo relacionamento de duas entidades. PESSA RESIDÊNCIA CIDADE tarso porto alegre alberto belo horizonte ana são paulo 3.4.7.4. Auto-Relacionamento: cada elemento de uma entidade relaciona-se com um ou mais elementos da mesma entidade, ou seja demonstra o relacionamento de ocorrências de uma 10
BANC DE DADS I/MDELAGEM DE DADS entidade com outras ocorrências da mesma entidade. São definidos papeis de cada lado do relacionamento. Exemplos: Peça, Pessoa, Funcionário, etc. 3.4.8. RELACINAMENT TERNÁRI Embora a maioria dos relacionamentos ocorra entre duas entidades (relacionamentos binários) podem ser definidos relacionamentos entre qualquer número de entidades. s Relacionamentos ternários devem ser utilizados com muito cuidado, pois muitas vezes induzem a criação de bancos de dados não normalizados. Como regra geral deve-se criar um relacionamento ternário apenas quando não for possível representar a regra de negócio desejada em um ou mais relacionamentos binários. 11
BANC DE DADS I/MDELAGEM DE DADS 3.4.9. ESPECIALIZAÇÃ/GENERALIZAÇÃ A generalização trata-se de uma abstração, na qual um conjunto de entidades semelhantes, possivelmente com alguns atributos comuns e outros diferentes e com a mesma chave primária, são vistos como uma única entidade. A especialização possui o mesmo conceito. A diferença está na origem das entidades. Notação: Abaixo segue uma maneira mais fácil de visualizar a estrutura: 12
BANC DE DADS I/MDELAGEM DE DADS Quando utilizar uma generalização? Se ocorrências de uma entidade tiverem relacionamentos ou atributos adicionais em relação as demais. Quando utilizar uma especialização? Se os identificadores da generalização e da especialização não forem os mesmos. Uma vez descrita as estruturas básicas de um modelo entidade-relacionamento (MER) é possível compreender com facilidade um diagrama entidade-relacionamento (DER). 13
BANC DE DADS I/MDELAGEM DE DADS EXERCÍCIS 1) Defina os termos cardinalidade máxima e cardinalidade mínima. Apresente uma notação para representação de cardinalidades através de um exemplo de diagrama ER. 2) Assuma que um conjunto de Entidades Empregado é especializado em Escritório, Vendas, e Gerenciamento. Mostre como esta especialização é representada em um diagrama ER. 3) Construa um diagrama E-R para um hospital, com um conjunto de pacientes e um conjunto de médicos. Registros de diversos testes realizados são associados a cada paciente. 4) Construa um diagrama E-R para uma companhia de seguros de automóveis com um conjunto de clientes, onde cada um possui certo número de carros. Cada carro tem um número de acidentes associados a ele. 5) Construa um diagrama E-R para um sistema de saúde ideal: Hospitais são formados por um ou mais Ambulatórios e cada um destes está em um único Hospital Médicos clinicam em um único Hospital, cada um deles agregando vários Médicos Hospitais solicitam exames clínicos em vários Laboratórios, cada um destes pode ter solicitações de vários Hospitais Pacientes consultam vários Médicos, e estes são consultados por vários Pacientes Ambulatórios atendem vários Pacientes, enquanto estes só podem ser atendidos em um único Ambulatório Pessoal de apoio está alocado a cada Ambulatório, e cada um destes conta com vários integrantes do Pessoal de apoio Pacientes realizam vários Exames, e cada Exame é realizado por um único Paciente Laboratórios fazem vários Exames, e cada um dos Exames é feito em um único Laboratório Cada Paciente pode receber vários Diagnósticos, e cada Diagnóstico é de um único Paciente 6) Analise o caso abaixo e crie o devido diagrama E-R: a) Deseja-se guardar dados sobre empregados, departamentos e projetos de uma companhia: 14
BANC DE DADS I/MDELAGEM DE DADS b) Suponha que, depois da fase de análise de requisitos, os projetistas chegaram à seguinte descrição do mini-mundo, ou seja, a parte da companhia a ser representada no banco de dados. A companhia é organizada em departamentos e cada depto tem um nome, um número e um empregado que o gerencia. Deseja-se guardar a data na qual o empregado começou a gerenciar o depto. Um depto pode estar em vários locais. Um depto controla um número de projetos, os quais possuem número, nome e um único local. Um empregado é caracterizado por um cadastro, nome, sexo e salário. Ele está associado a um depto, mas pode trabalhar em vários projetos que não necessariamente são controlados pelo mesmo depto. Deseja-se guardar o número de horas que um empregado trabalha em um projeto e o supervisor direto de cada empregado (que também é um empregado). Cada empregado possui dependentes caracterizados por nome, data de nascimento e grau de parentesco. 7) Analise o caso abaixo e crie o devido diagrama E-R: a. Uma Administradora de Condomínios deseja guardar dados sobre edifícios, apartamentos e de seus moradores. b. Suponha que, depois da fase de análise de requisitos, os projetistas chegaram à seguinte descrição de mini-mundo, ou seja, a parte da Administradora a ser representada no Banco de Dados: Cada edifício tem um endereço, um código, uma data de construção e uma data de vistoria. Cada edifício possui vários apartamentos, e cada um destes está associado a um único edifício. Um apartamento é caracterizado por um número e uma área. Em cada apartamento podem morar várias pessoas, e cada uma destas pode estar associada a um ou mais apartamentos. Uma pessoa é caracterizada por CPF, nome, sexo e data de nascimento. Deseja-se guardar ainda o tipo de moradia (para indicar se o morador é inquilino ou proprietário do apartamento) e a data em que uma pessoa começou a morar em um apartamento. 15
BANC DE DADS I/MDELAGEM DE DADS 8) Considere o seguinte conjunto de requisitos para um banco de dados de uma Universidade, usado para manter informações sobre os seus estudantes: A Universidade mantém, para cada estudante, o seu nome, número de matrícula, RG, endereço e telefone atuais, endereço e telefone permanentes, data de nascimento, sexo, série (1a, 2a,..., 5a, se se aplicar), grau (graduação ou pós-graduação), e curso. Algumas aplicações necessitam se referir à cidade, estado e CEP do endereço permanente dos estudantes, bem como ao seu último nome. Tanto o RG como a matrícula têm valores únicos para cada estudante. Cada departamento é descrito por um nome, código do departamento, bloco, ramal e campus. Além disto, cada departamento é chefiado por um professor. Tanto o nome do departamento como o seu código são únicos para cada departamento. Cada professor é descrito por sua matrícula na Universidade, nome, RG, CPF, classificação (MS1 (graduado), MS2 (mestre), MS3 (doutor), MS4 (adjunto) e MS5(titular)), endereço, e e-mail. Um professor necessariamente deve estar vinculado a um departamento. A matrícula, o RG e o CPF são únicos para cada professor. Cada disciplina tem um nome, código, descrição, carga horária, duração (trimestral, semestral, ou anual), nível (graduação, pós-graduação), e departamento responsável. código da disciplina é único para cada disciplina. Cada turma de uma disciplina tem um instrutor (professor), período de aplicação (1o semestre, 2o semestre, 1o trimestre, etc.), ano, e um identificadorda turma. identificador da turma distingue as turmas de uma mesma disciplina que existem num mesmo período/ano. Um relatório de notas deve incluir, para cada estudante, sua identificação, bem como as disciplinas/turmas freqüentadas, com as respectivas notas. Projete um esquema ER para esta aplicação e o construa utilizando a ferramenta DBDesigner. Especifique, para cada conjunto de entidades uma chave primária apropriada. Especifique também as restrições estruturais para cada conjunto de relacionamentos. REFERÊNCIAS - HEUSER, Carlos Alberto. Projeto de Banco de Dados. Porto Alegre: Sagrada Luzzatto, 2000. - MACHAD, Felipe Nery R. Projeto de banco de dados: Uma visão prática. São Paulo SP: Erica, 1996. - LIVEIRA, Celso Henrique Poderoso de. SQL Curso Prático. São Paulo SP: Novatec, 2002 16