SISTEMA DE INFORMAÇÃO MODELAGEM DE DADOS Prof. Edson Thizon Histórico de Evolução dos Modelos e SGBDs 2002 Tamino (XML) Modelo UML 1998 Modelo OO / OR SGBDs Universais 1994 1990 – Ontos, O2, Postgres 1986 – Protótipos: Modelo E-R Modelo Relacional 1982 – DB2 (Relacional) 1978 – INGRES, ORACLE (Relacionais) 1974 – Sistema R (Relacional), DATACOM, ADABAS 1970 – IDMS (Rede) 1966 – IMS (Hierárquico) 1962 – TOTAL (Rede - limitado) 1958 – Pré-SGBDs: Estruturas de acesso suportadas pelo SO - Adaplex - Exodus - SDM Modelos de Dados • Modelo de (banco de) dados – Descrição formal dos tipos de dados que estão armazenados em um banco de dados • Exemplo de Modelo de Dados para uma Escola – Modelo de dados Informa: • são armazenados informações sobre os alunos; • Para cada luno, são armazenados seu código e nome; – Modelo de dados não informa: • quais os alunos que são armazenados no banco de dados; Esquema de banco de dados • Para construir um modelo de dados usa-se – Linguagem de modelagem de dados • Textual • Gráfica • Um modelo de dados pode ser apresentado de várias formas (texto, figura...) • Cada apresentação do modelo recebe a denominação esquema de banco de dados. Modelo de Dados (níveis de abstração) ABSTRAÇÃO Modelo conceitual Modelo lógico Modelo físico Modelo conceitual • Independente de tipo de SGBD • Registra – Estrutura dos dados podem aparecer no banco de dados • Não registra – Como estes dados estão armazenados a nível de SGBD Modelo conceitual – diagrama ER • Técnica mais difundida de modelagem conceitual – Abordagem entidade-relacionamento (ER) • Modelo conceitual é representado através de diagrama entidade – relacionamento (DER) Modelo conceitual - ER MODELO ENTI DADE RELAÇÃO I TEM DO CONTRATO PARA PRODUTO MOS TRAR NO J UNTO FEI TO EM CI MA CONTRATO BANCO DE DADOS HI ERÁRQUI CO BANCO DE DADOS DE REDE CONTRATO CONTRATO I TEM 1 PRODUTO X I TEM 2 PRODUTO Y PRODUTO X PRODUTO Y I TEM 1 BANCO DE DADOS RELACI ONAL PRODUTO CONTRATO CÓD. DATA CLI ENTE CÓD. DES CRI ÇÃO I TEM CONTRAT. NÚM. QUANT. PRODUTO I TEM 2 Modelo lógico • Nível de abstração visto pelo usuário do SGBD • Dependente do tipo particular de SGBD que está sendo usado Modelo Lógico – SGBD Relacional Modelo Físico • Contém detalhes de armazenamento interno de informações • Detalhes que – Não tem influência sobre a programação de aplicações no SGBD – Influenciam a performance da aplicação Modelo Físico Projeto de BD • Duas fases: 1. Modelagem conceitual 2. Projeto lógico • • Adequado para a construção de um novo banco de dados Caso já exista um banco de dados ou um conjunto de arquivos convencionais usar reengenharia MODELAGEM DE DADOS Informações requeridas do negócio Estratégia Análise MODELAGEM DE DADOS CONCEITUAL Modelo de dados Entidade relacionamento Definições de entidade Projeto Construção PROJETO DO BANCO DE DADOS CONSTRUÇÃO DO BANCO DE DADOS Banco de Dados Operacional Definiçoes de tabelas, indexes Entidade-Relacionamento • Técnica para construir modelos conceituais de base de dados • Técnica de modelagem de dados mais difundida e utilizada • Criada em 1976 por Peter Chen Entidade-Relacionamento • Padrão de fato para modelagem conceitual • Não é única: – NIAM/ORM (técnica européia da década de 70) – UML (Técnica para modelos Orientados a Objetos) • Técnicas de modelagem orientada a objetos (UML) baseiam-se nos conceitos da abordagem ER Entidade-Relacionamento • Modelo de dados é representado através de um – modelo entidade-relacionamento (modelo ER) • Modelo ER é representado graficamente – diagrama entidade-relacionamento (DER) Modelo Entidade-Relacionamento • É um meio efetivo para coleta e documentação das informações requeridas de uma organização. – Tenha certeza do completo estabelecimento dos requisitos de informações organizacionais durante o estágio de modelagem de dados conceitual. – Mudanças nos requisitos durante estágios posteriores do ciclo de vida, pode ser extremamente caro. Modelo Entidade-Relacionamento • Componentes – Entidades - os objetos de significância sobre os quais as informações necessitam ser mantidas. – Relacionamentos - como os objetos de significância são relacionados. – Atributos - a informação específica a qual necessita ser mantida. – Generalização/especialização – Entidade associativa ENTIDADE • Entidade é alguma coisa (objeto significante) sobre a qual a informação precisa ser conhecida ou mantida. OU • Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no banco de dados. • Pode representar objetos concretos ou abstratos. • Outras definições de Entidade: – Um objeto de interesse de negócios. – Uma classe ou categoria de alguma coisa – Uma entidade é a nomeação de algo. • Exemplos – EMPREGADO – DEPARTAMENTO – PROJETO ENTIDADE • Convenções – − − − Box arredondado de qualquer tamanho O nome da entidade deve ser singular e único Nome da entidade no topo Opcional: nome sinônimo que deve ser representado entre parênteses − Os nomes dos atributos logo abaixo • Exemplo: ATRIBUTOS • Atributos são informações sobre uma entidade que precisa ser conhecida ou mantida. Atributos descrevem uma entidade pela qualificação, identificação, classificação, quantidade ou expressando o estado da entidade. • • Exemplo Quais são alguns dos atributos da entidade EMPREGADO? – – – – – código ou número da folha de pagamento identificam um EMPREGADO nome e sobrenome qualificam um EMPREGADO categoria da folha de pagamentto (semanal, mensal) classificam um EMPREGADO a idade quantifica um EMPREGADO status do emprego (ativo, aposentado) expressa a posição do EMPREGADO ATRIBUTOS • Atributos representam o tipo de descrição ou detalhe, não uma instância. • Exemplo – 77506 e 763111 são os valores do atributo número. – João é o valor do atributo nome do EMPREGADO. • Notas – Os nomes dos atributos devem estar claros aos usuários, não codificados para o desenvolvedor. – Nomes de atributos devem ser específicos-ex., isso é quantidade, quantidade retornada, ou quantidade adquirida? – Sempre esclareça uma data atributo com uma narrativa ou frase, - ex., data de contato, data do pedido. – Um atributo deve ser designado à uma única entidade. ATRIBUTOS • Convenções do Diagrama – Os nomes dos atributos são simples e mostrados abaixo do nome da entidade. – Listar os nomes dos atributos nos soft box de suas devidas entidades. • Nomenclatura ENTIDADE CURSO – cd_curso - código do curso – nm_curso - nome do curso – ds_curso - descrição do curso ENTIDADE CURSO – codcurso - código do curso – nome - nome do curso – Descrição – descrição do curso nr_telefone - número do telefone dt_nascimento - data de nascimento tp_sexo - tipo de sexo (domínio) vl_salario - valor do salário ATRIBUTOS • Exemplo ATRIBUTOS • • • • • Opcionalidade (cardinalidade) Identificar cada opção de atributo usando uma marca. Atributos Obrigatórios • Um valor deve ser conhecido por cada ocorrência da entidade. • Marque-o com *. Atributos Opcionais • Um valor pode ser conhecido para cada ocorrência da entidade. • Marque-o com o. Exemplo – Identificar os atributos para a entidade PESSOA. Determinar sua opcionalidade. ATRIBUTOS • Identificar atributos • – Identificar atributos pelo exame das notas da entrevista e pela solicitação das perguntas do usuário. Atributos podem aparecer nas notas da entrevista como: • • • • Frases ou palavras descritivas Substantivos Frases preposicionais (ex.- quantia do salário para cada empregado) Substantivos possesivos e pronomes (ex.- nome do empregado) • Questões para perguntar ao usuário • • Que informação você precisa saber ou manter sobre a entidade x? • Que informação você gostaria de exibir sobre a entidade x? Examinar documentação existente, manual de procedimentos ou automatizar sistemas para descobrir atributos adicionais e omissões. IDENTIFICADORES ÚNICOS • Um Identificador Único (UID) é qualquer combinação de atributos e/ou relacionamentos que serve para unicamente identificar uma ocorrência de uma entidade. Cada ocorrência da entidade deve ser unicamente identificável. • Exemplo – No negócio, cada ocorrência do DEPARTAMENTO é unicamente identificável pelo seu código de departamento. IDENTIFICADORES ÚNICOS • • Exemplo Para um pequeno teatro, cada bilhete é unicamente identificável pela sua data de performance e o número da cadeira. • UID para a entidade BILHETE DO TEATRO é uma combinação dos dois atributos. • A entidade deve ter um UID, ou então não é entidade • Notas • Todos os componentes do UID devem ser obrigatórios. • Marque o atributo UID com #. IDENTIFICADORES ÚNICOS • • Uma entidade pode ser unicamente identificada através de uma relação. Exemplo – Na indústria dos bancos, para cada banco é atribuido um único número. Dentro de um banco, cada conta tem um único número. Qual é o UID da entidade CONTA? – CONTA é unicamente identificada pelo seu número de atributo e o específico BANCO com que ela está relacionada. • • Usar a barra UID para indicar que a relação é parte do UID da entidade. Exemplo – A barra UID indica que o relacionamento com BANCO é parte do UID da CONTA. CONTA gerenciado por #nr_conta o gerente de BANCO #cd_banco INSTÂNCIA • Cada entidade deve ter várias instâncias ou ocorrências. – Exemplos – A entidade EMPREGADO tem uma instância para cada empregado no negócio: João Alves, Maria do Carmo e Egberto da Silva são todos as instâncias da entidade EMPREGADO. • Cada instância da entidade tem específicos valores para seus atributos. – Exemplo – A entidade EMPREGADO tem atributos de nome, número, data de nascimento e salário. – A instância João Alves tem os seguintes valores: nome João Alves, número: 1322, data de nascimento 15-mar-50 e o salário de R$1000. INSTÂNCIA • Notas: − Instâncias são as vezes confundidos com entidades. − A entidade é uma classe ou categoria da coisa. ex.: EMPREGADO. − A instância é uma coisa específica. ex.: o empregado João Alves. PASSOS PARA IDENTIFICAR • Siga os passos abaixo para identificar e modelar entidades a partir de um conjunto de notas de uma entrevista. – Examine os substantivos. Eles são objetos significantes? – Nomeie cada entidade. – Existe alguma informação ou interesse sobre a entidade que o negócio (empresa) precisa manter? – Cada instância da entidade é unicamente identificável? Qual atributo ou atributos poderiam servir como um UID? PASSOS PARA IDENTIFICAR • Siga os passos abaixo para identificar e modelar entidades a partir de um conjunto de notas de uma entrevista. - Faça uma descrição disso: “Um empregado tem a importância de um assalariado da companhia. Por exemplo, Egberto da Silva e Maria do Carmo são EMPREGADOS.” – Diagrame cada entidade e alguns de seus atributos. Exercício 1 Referências Bibliográficas • KORTH, Henry F. & SILBERSCHATZ, Abraham. Sistemas de Bancos de Dados, São Paulo. Ed. Makron Books, 1999. • HEUSER, Carlos Alberto. Projeto de Banco de Dados. 4ª Edição. Ed. Sagra, 2001.