Banco de Dados U1: Modelagem de Dados Prof.: Ari Oliveira Observar e entender MUNDO REAL MODELO CONCEITUAL MODELO LÓGICO Organizar as idéias MODELO DESCRITIVO MODELO FÍSICO BANCO DE DADOS Criar 2 CRIAÇÃO • O primeiro passo para a criação do Modelo Lógico, é ter pronto o Modelo Lógico, fruto da decomposição completa do Modelo Conceitual. • Lembre-se, um Modelo Lógico pronto não poderia possuir: – Relacionamentos N:N – Atributos multivalorados ou em redundância funcional – Relacionamentos com atributos – Entidades sem atributo determinante 3 O MODELO FÍSICO • O modelo Físico é um modelo que descreve corretamente a estrutura de um sistema a nível de tabelas de um banco de dados • Este modelo é dependente de plataforma, ou seja, é criado para ser usado em um SGBD específico. 4 CRIANDO UM MODELO • Para os casos a seguir, usaremos a estrutura do SAP HANA. • Para converter o modelo lógico em físico, serão aplicadas alguma regras de conversão e mudanças de nomenclatura • O BRModelo tem uma conversão automática para o nosso modelo Físico, que nos ajudará no processo (lá, se chama converter para Modelo Lógico) 5 REGRAS DA CONVERSÃO • Toda entidade é convertida em tabela • Todo atributo é convertido em coluna de tabela • Atenção! Os atributos originados da decomposição 1:N devem possuir o mesmo nome! – Ex: Código do Bairro em BAIRROS / Código do Bairro em CLIENTES 6 EXEMPLO DE CONVERSÃO Modelo Físico Modelo Lógico 7 ÍNDICES • Os índices são necessários para agilizar as buscas de dados em uma tabela. Quando não existem índices, o banco busca dados através de varreduras. • Os tipos comuns de índices são: – Primary key (chave primária); – Foreign key (chave estrangeira); • Cada índice pode ser simples ou composto, dependendo da quantidade de colunas que o compõe. 8 TIPOS DE COLUNA NO SAP HANA • Numéricas – Inteiro (INTEGER) – Número com casa decimal (FLOAT, DECIMAL(8,2) ) • Texto (String) – Texto curto (VARCHAR(50)) – Texto longo (TEXT) • Data e Hora – Data (DATE) – Hora (TIME) – Data e hora (DATETIME) 9 PADRÃO DE NOMENCLATURA • • • • Para que padronizar? É obrigatório usar? Existem padrões prontos? Desvantagens: – Perda de tempo, algo a mais para se preocupar • Vantagens: – Demonstra maturidade do programador, fácil entendimento, código SQL menos complexo • Nomenclatura ORACLE 10 NOMENCLATURA DE BANCOS E TABELAS • Nome de bancos de dados: – Letras maiúsculas – Iniciar sempre com DB_ e em seguida o restante do nome. – Exemplo: DB_CLINICA_VET • Nome de tabelas: – Letras maiúsculas – Iniciar sempre com TB_ e em seguida o restante do nome. – Exemplo: TB_CLIENTES 11 NOMENCLATURA DE COLUNAS • Letras maiúsculas • Iniciar todos os campos de uma tabela, sempre com a mesma sigla, composta por três letras e em seguida o restante do nome. – Exemplos: CLI_NOME, CLI_LOGRADOURO, CLI_SEXO • Campos que forem códigos criados para uma determinação artificial devem ter o nome composto pela sigla da tabela acrescida da palavra “código”. – Exemplo: CLI_CODIGO • Campos criados na tabela a partir de decomposição de relacionamentos 1:N, devem ter seu nome composto pela sigla da tabela, mais o nome completo que possuía na tabela de origem. – Exemplo: CLI_BAI_CODIGO 12 13 Modelo Físico Modelo Lógico Biblioteca: Modelo Lógico 14 Biblioteca: Modelo Físico 15 Banco de Dados U1: Modelagem de Dados Prof.: Ari Oliveira