Prévia do material em texto
Modelo LógicoModelo Lógico Modelagem de Dados Quais as etapas de um projeto de modelagem? Objetivo: Transformar aspectos do Mundo Real em um Modelo de Dados Formal (que pode ser gráfico ou textual). Modelo Conceitual Modelo ER Diagramas ER Modelo Lógico Modelo Relacional Def. Tabelas Modelo Físico Implementação Específica p/ um SGBD Modelo Lógico Um modelo relacional é composto pelos seguintes elementos: Ta be la s Colunas: Atributos (Campos) Linhas: Registros (Tuplas) C ha ve s Candidatas Primárias Alternadas ou Alternativas Estrangeiras Tabelas Uma tabela é um conjunto registros exclusivos. A tabela será composto de Linhas, Colunas e Chaves. Diferentes tabelas será relacionadas por meio de Chaves Estrangeiras. PlacaSexoNomeCPF A1FAna222 C3MBruno333 D4FCarla111 B2MDiego444 AnoModeloPlaca 2016CivicA1 2020CretaB2 PESSOA CARRO Nome da Tabela Chave Primária Registros (Linhas) Atributos (Colunas) Chave Estrangeria Chaves Chaves Consiste em uma ou mais colunas de uma relação cujos servem para identificar uma linha ou um conjunto de linhas: • Candidata • Composta • Primária • Substituta Única (PK – Primary Key) • Substituta Não única (FK – Foreign Key) Chaves • Primária Atributo escolhido para se a chave principal. • Identifica de maneira exclusiva os registros de uma tabela. • Os valores de uma Chave Primária devem ser únicos e não podem ser nulos (not null). Chaves • Candidata: Atributo com o potencial de se tornar uma chave primária. • Obs: A chave candidata que não vier a se tornar primária, se torna alternativa. Chaves • Composta: Chave composta de duas ou mais colunas. • Pode ser usada quando não é possível utilizar um atributo como chave primária Chaves • Estrangeira: Se trata de uma coluna (ou combinação de colunas), cujos valores aparecem na chave primária da tabela que está sendo relacionada. Por meio de chave Estrangeira é possível criar relacionamentos em um banco de dados relacional. CONCEITUAL LÓGICO Chaves • Estrangeira: Se trata de uma coluna (ou combinação de colunas), cujos valores aparecem na chave primária da tabela que está sendo relacionada. Por meio de chave Estrangeira é possível criar relacionamentos em um banco de dados relacional. CONCEITUAL LÓGICO Modelo Lógico Notação Pé-de-Galinha (Crow’s Foot) – James Martin Continuando no artigo sobre Modelo Conceitual e Lógico, é válido conhecer a Notação Pé- de-Galinha (Crow’s Foot). Modelo Lógico Notação Pé-de-Galinha (Crow’s Foot) Modelo Lógico Notação Pé-de-Galinha (Crow’s Foot) Chaves Chaves Tipos de Dados Principais Tipos de Dados Numéricos: Inteiros: SMALLINT, INTEGER, BIGINT, SERIAL Decimais: NUMERIC, DECIMAL, FLOAT, DOUBLE. Caractere e Cadeia de Texto: CHAR(n) e VARCHAR(n): Para textos de tamanho fixo e variável, respectivamente. TEXT: Para textos de comprimento indefinido, muito usado em PostgreSQL. Principais Tipos de Dados Data e Hora: DATE, TIME, TIMESTAMP, INTERVAL Booleano: • BOOLEAN: Muito útil para indicadores binários como ativo/inativo. Constraints São restrições que são estabelecidas para uma coluna de uma tabela no BD. Constraints Unique: • Identifica de maneira única cada registro em uma tabela. • É possível a utilização de vários registros do tipo unique na mesma tabela. Not Null: • Impede de uma coluna possuir registros do tipo null. • Sempre haverá um valor registrado na coluna. Check: • Filtrar/limitar dados que podem ser inseridos em uma coluna. Default: • Utilizado para inserir valores padrões nas colunas em casos que não aconteçam a inserção de valores de maneira especificada. Exercício Criar o Modelo Lógico a Partir do Modelo Conceitual Modelo conceitual (diagrama ER), transformem o diagrama em um modelo lógico: 1. Modelo Conceitual: 1. Entidade: Aluno 1. Atributos: matrícula (PK), nome, data_nascimento 2. Entidade: Curso 1. Atributos: codigo_curso (PK), nome_curso, duração 3. Relacionamento: Matrícula 1. Entidades: Aluno e Curso 2. Cardinalidade: Um aluno pode estar matriculado em vários cursos, e um curso pode ter vários alunos. 2. Tarefa: Transformar o modelo conceitual em tabelas no modelo lógico, identificando chaves primárias, estrangeiras, tipos de dados e normalizando as relações, se necessário. Exercício