PARACATU /MG Curso Técnico em Informática DISCIPLINA: Implementação a Banco de Dados PROFESSOR: Flávio Barbosa E-mail: [email protected] Site: www.fbdesenvolvimento.eti.br Modelo lógico • • • • • Preocupar em como os dados ficaram armazenados. As entidades são distribuídas em tabelas. As tabelas poder ser descritas graficamente ou textualmente. Os atributos chaves, são representados como chaves primarias. É adicionado o conceito de chave estrangeira (Foreign Key ou FK) - que permitem a relação entre as tabelas. • Uma chave estrangeira é um atributo da tabela que faz referência a uma chave primária de outra tabela ou da própria tabela. Relacionamento N para N • A RELAÇÃO entre duas entidades, vira uma nova tabela. • Essa nova tabela IRÁ CONTER TODOS OS ATRIBUTOS DO RELACIONAMENTO (SE HOUVER) MAIS AS CHAVES PRIMÁRIAS DAS ENTIDADES QUE FAZEM PARTE DESSE RELACIONAMENTO. • As chaves primárias que vão passar para a nova tabela passam como chaves estrangeiras. Exemplo Modelo Lógico Gerado pelo BRModelo Modelo Lógico – Gráfico cpf referencia professor Cod_disciplina referencia Disciplina Modelo Lógico - textual professor (cpf, nome, fone) disciplina (codigo_disciplina, nome_disciplina) leciona (cpf(FK), codigo_disciplina((FK), data) matricula_professor referencia tbProfessor codigo_disciplina referencia tbDisciplina Relacionamento 1 para N • Cria-se uma chave estrangeira na entidade que possui a cardinalidade N. • Se o relacionamento tiver atributos, esses atributos irão “seguir” a chave estrangeira, ou seja, ficarão na mesma tabela que a chave estrangeira ficar (a de cardinalidade N). Exemplo Modelo Lógico Gerado pelo BRModelo Relacionamento 1 para 1 • Adição de Coluna: Deve-se olhar o relacionamento mínimo. A entidade que tiver o relacionamento mínimo 1 recebe a chave estrangeira e os atributos da relação. cpf referencia professor TIPO DE DADOS DE UM ATRIBUTO: Depende do SGBD escolhido. No nosso caso será MySQL, os principais tipos são: Tipo Caractere Numérico de ponto fixo Nome char(n) char(n) Descrição String de tamanho fixo como no máximo 255 String de tamanho variável com no máximo 255 Text Longtext decimal(p,e) numeric(p,e) Texto acima de 255 Texto longos. Número que tem precisão e escala fixas (“p” representa o número total de dígitos; “e” representa o número de casas decimais) Número com ponto flutuante Números que usam dados inteiros Tipo de dado para armazenar data e hora no mesmo atributo Tipo de dado para armazenar data Tipo de dado para armazenar hora Representa ano Numérico aproximado Numérico inteiro Data e hora float, real Int Datetime Data Hora Ano Date Time Year MODELO FÍSICO • É a implementação do Modelo Lógico. • Faz necessário utilizar uma linguagem própria para esse tipo de banco de dados, chamada Linguagem SQL • SQL - Linguagem de Consulta Estruturada. É uma linguagem para banco de dados relacional. • É padronizada pela ANSI (American National Standards Institute) e ISO (International Standards Organization). MODELO FÍSICO • Atualmente, nenhum SGBD adota integralmente o padrão desenvolvido pela ANSI. • Normalmente, as empresas que desenvolvem o SGBD fazem uma customização do padrão para a sua ferramenta. A linguagem SQL possui subdivisões de comandos • 1. DDL (Data Definition Language) ou Linguagem de Definição de Dados: Comandos para a definição, criação, alteração e exclusão do esquema da base de dados e de objetos na base de dados (exemplos de objetos: tabelas, visões). • 2. DML (Data Manipulation Language) ou Linguagem de Manipulação de Dados: disponibiliza comandos para inserção, exclusão e alteração e recuperação de dados na base de dados.