Modelagem de Dados

Prof. Ms. Fabricio Lopes Sanchez
Tópicos
• Modelagem de dados? O que é?
• Os três pilares da modelagem de dados
  – Modelagem conceitual
  – Modelagem lógica
  – Modelagem física
• Um exemplo?
• Porque é importante?
• Conclusões
Modelagem de dados: o que é?


Modelagem de dados é o processo
anterior a construção do banco de
dados em um software.
Modelagem de dados: o que é?
O processo de construção de um software pode
ser subdivido em três grandes etapas...




 Levantamento       Modelagem
                                    Implementação
 de requisitos e    dos dados
                                     do sistema em
 documentação
                                    uma linguagem
Modelagem de dados: o que é?
O processo de construção de um software pode
ser subdivido em três grandes etapas...




 Levantamento       Modelagem
                                    Implementação
 de requisitos e    dos dados
                                     do sistema em
 documentação
                                    uma linguagem
Etapas do processo de modelagem
                               Modelagem
  Determina a forma
 (conceitual) como os
dados estarão dispostos                    Determina as estruturas
      no banco.                              físicas do banco de
                                                  dados e das
                                             informações em sí.
      Modelo
     Conceitual                                  Modelo
                                                  Físico

Determina a lógica dos
dados dentro da estrutura        Modelo
do banco. A principal figura     Lógico
aqui é o MER/DER.
Um exemplo...
Imagine que uma clínica médica deseja um
pequeno sistema para controlar o fluxo de seus
médicos. Levando-se em consideração que o os
requisitos já foram estabelecidos, modele os
dados e construa o banco de dados.


                       IFSP Centro
                       Médico
1ª. Etapa: Modelo conceitual
MEDICOS = *CodigoMedico (número), Nome (texto), CRM
(número), Email (texto), DataAdmissão (Data), #CodigoEspecialidade
(numero)

ESPECIALIDADES = *CodigoEspecialidade (numero), Especialidade
(texto), Descrição (texto grande)

Alguns conceitos presentes...
• Entidade: é o elemento conceitual que representa algo do mundo real no futuro
  software. (Exemplos: MEDICOS, ESPECIALIDADES)
• Atributo: é o elemento que traz uma característica relevante ao modelo da
  entidade no sistema. (Exemplos: Nome, Email, CodigoMedico, etc.)
• Chaves (primária ou estrangeira): decora determinado(s) atributo(s) com recursos
  adicionais. Chave primária possui a característica de tornar o registro único. Chave
  estrangeira possui a capacidade de interligar entidades.
• Relacionamento: é o compartilhamento de dados entre entidades.
2ª. Etapa: Modelo lógico
MEDICOS = *CodigoMedico (número), Nome (texto), CRM
(número), Email (texto), DataAdmissão (Data), #CodigoEspecialidade
(numero)

ESPECIALIDADES = *CodigoEspecialidade (numero), Especialidade
(texto), Descrição (texto grande)

CodigoEspecialidade


                 MÉDICOS                       ESPECIALIDADES



CodigoMedico                                             CodigoEspecialidade

                      Diagrama Entidade Relacionamento
3ª. Etapa: Modelo Físico
CREATE DATABASE BD_ClinicaIFSP

CREATE TABLE MEDICOS (
        CodigoMedico int not null,
        Nome varchar(20) not null,
        CRM int not null,
        Email varchar(30) not null,
        DataAdmissao Datetime not null,
        CodigoEspecialidade int not null,
        PRIMARY KEY(CodigoMedico)
);

CREATE TABLE ESPECIALIDADES (
        CodigoEspecialidade int not null,
        Especialidade varchar(30) not null,
        Descricao text null
);

ALTER TABLE MEDICOS
ADD CONSTRAINT fk_medicos_especialidades
FOREIGN KEY(CodigoEspecialidade)
REFERENCES ESPECIALIDADES(CodigoEspecialidade)
Porque é importante saber?


     Porque a modelagem errada
fatalmente implicará em um banco de
 dados com problema, que implicará
  em uma aplicação com problema.
Conclusões...
• Modelagem de dados é um dos mais
  importantes processos no desenvolvimento de
  aplicações
• Se um sistema começa pela base de dados, na
  verdade ele começa na modelagem
• Conhecer todos os aspectos da modelagem de
  dados implicará no bom ou mal
  funcionamento do software

Modelagem de dados

  • 1.
    Modelagem de Dados Prof.Ms. Fabricio Lopes Sanchez
  • 2.
    Tópicos • Modelagem dedados? O que é? • Os três pilares da modelagem de dados – Modelagem conceitual – Modelagem lógica – Modelagem física • Um exemplo? • Porque é importante? • Conclusões
  • 3.
    Modelagem de dados:o que é? Modelagem de dados é o processo anterior a construção do banco de dados em um software.
  • 4.
    Modelagem de dados:o que é? O processo de construção de um software pode ser subdivido em três grandes etapas... Levantamento Modelagem Implementação de requisitos e dos dados do sistema em documentação uma linguagem
  • 5.
    Modelagem de dados:o que é? O processo de construção de um software pode ser subdivido em três grandes etapas... Levantamento Modelagem Implementação de requisitos e dos dados do sistema em documentação uma linguagem
  • 6.
    Etapas do processode modelagem Modelagem Determina a forma (conceitual) como os dados estarão dispostos Determina as estruturas no banco. físicas do banco de dados e das informações em sí. Modelo Conceitual Modelo Físico Determina a lógica dos dados dentro da estrutura Modelo do banco. A principal figura Lógico aqui é o MER/DER.
  • 7.
    Um exemplo... Imagine queuma clínica médica deseja um pequeno sistema para controlar o fluxo de seus médicos. Levando-se em consideração que o os requisitos já foram estabelecidos, modele os dados e construa o banco de dados. IFSP Centro Médico
  • 8.
    1ª. Etapa: Modeloconceitual MEDICOS = *CodigoMedico (número), Nome (texto), CRM (número), Email (texto), DataAdmissão (Data), #CodigoEspecialidade (numero) ESPECIALIDADES = *CodigoEspecialidade (numero), Especialidade (texto), Descrição (texto grande) Alguns conceitos presentes... • Entidade: é o elemento conceitual que representa algo do mundo real no futuro software. (Exemplos: MEDICOS, ESPECIALIDADES) • Atributo: é o elemento que traz uma característica relevante ao modelo da entidade no sistema. (Exemplos: Nome, Email, CodigoMedico, etc.) • Chaves (primária ou estrangeira): decora determinado(s) atributo(s) com recursos adicionais. Chave primária possui a característica de tornar o registro único. Chave estrangeira possui a capacidade de interligar entidades. • Relacionamento: é o compartilhamento de dados entre entidades.
  • 9.
    2ª. Etapa: Modelológico MEDICOS = *CodigoMedico (número), Nome (texto), CRM (número), Email (texto), DataAdmissão (Data), #CodigoEspecialidade (numero) ESPECIALIDADES = *CodigoEspecialidade (numero), Especialidade (texto), Descrição (texto grande) CodigoEspecialidade MÉDICOS ESPECIALIDADES CodigoMedico CodigoEspecialidade Diagrama Entidade Relacionamento
  • 10.
    3ª. Etapa: ModeloFísico CREATE DATABASE BD_ClinicaIFSP CREATE TABLE MEDICOS ( CodigoMedico int not null, Nome varchar(20) not null, CRM int not null, Email varchar(30) not null, DataAdmissao Datetime not null, CodigoEspecialidade int not null, PRIMARY KEY(CodigoMedico) ); CREATE TABLE ESPECIALIDADES ( CodigoEspecialidade int not null, Especialidade varchar(30) not null, Descricao text null ); ALTER TABLE MEDICOS ADD CONSTRAINT fk_medicos_especialidades FOREIGN KEY(CodigoEspecialidade) REFERENCES ESPECIALIDADES(CodigoEspecialidade)
  • 11.
    Porque é importantesaber? Porque a modelagem errada fatalmente implicará em um banco de dados com problema, que implicará em uma aplicação com problema.
  • 12.
    Conclusões... • Modelagem dedados é um dos mais importantes processos no desenvolvimento de aplicações • Se um sistema começa pela base de dados, na verdade ele começa na modelagem • Conhecer todos os aspectos da modelagem de dados implicará no bom ou mal funcionamento do software