SlideShare una empresa de Scribd logo
1 de 12
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

Más contenido relacionado

La actualidad más candente

Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Apresentação Final de Banco de Dados
Apresentação Final de Banco de DadosApresentação Final de Banco de Dados
Apresentação Final de Banco de Dadossamlobo
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados ConceitosCleber Ramos
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)Janynne Gomes
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01thomasdacosta
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade RelacionamentoCris Fidelix
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Leinylson Fontinele
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamentoCarlos Melo
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraNatanael Simões
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Leinylson Fontinele
 

La actualidad más candente (20)

Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Apresentação Final de Banco de Dados
Apresentação Final de Banco de DadosApresentação Final de Banco de Dados
Apresentação Final de Banco de Dados
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados Conceitos
 
O que é um Banco de Dados Relacional?
O que é um Banco de Dados Relacional?O que é um Banco de Dados Relacional?
O que é um Banco de Dados Relacional?
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Aula 9 banco de dados
Aula 9   banco de dadosAula 9   banco de dados
Aula 9 banco de dados
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamento
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
 
Aula 1
Aula 1Aula 1
Aula 1
 

Similar a Modelagem de dados

01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basicoAmadeo Santos
 
Banco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfBanco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfPauloVictor415128
 
Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Carlos Melo
 
Banco de dados aula 2
Banco de dados   aula 2Banco de dados   aula 2
Banco de dados aula 2danitrani
 
Modelos de dados
Modelos de dadosModelos de dados
Modelos de dadosaeasantos
 
Livro banco de_dados_volume_02
Livro banco de_dados_volume_02Livro banco de_dados_volume_02
Livro banco de_dados_volume_02CLEAN LOURENÇO
 
Sistema de Base de Dados1.ppt
Sistema de Base de Dados1.pptSistema de Base de Dados1.ppt
Sistema de Base de Dados1.ppthhuu6
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)Andre Sidou
 
Apresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane FidelixApresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane FidelixCris Fidelix
 
Apresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane FidelixApresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane FidelixCris Fidelix
 
Modelagem Dados - Introdução à Conceitos
Modelagem Dados - Introdução à ConceitosModelagem Dados - Introdução à Conceitos
Modelagem Dados - Introdução à Conceitospaulocoob
 
Novo microsoft office power point presentation
Novo microsoft office power point presentationNovo microsoft office power point presentation
Novo microsoft office power point presentationmachadocarla
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dadosFernando Palma
 

Similar a Modelagem de dados (20)

01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
Banco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfBanco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdf
 
Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1
 
Artc 1249307788 43
Artc 1249307788 43Artc 1249307788 43
Artc 1249307788 43
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Banco de dados aula 2
Banco de dados   aula 2Banco de dados   aula 2
Banco de dados aula 2
 
Banco de dados aula 2
Banco de dados  aula 2Banco de dados  aula 2
Banco de dados aula 2
 
Modelos de dados
Modelos de dadosModelos de dados
Modelos de dados
 
Data Warehouse - Modelagem
Data Warehouse - ModelagemData Warehouse - Modelagem
Data Warehouse - Modelagem
 
Livro banco de_dados_volume_02
Livro banco de_dados_volume_02Livro banco de_dados_volume_02
Livro banco de_dados_volume_02
 
Sistema de Base de Dados1.ppt
Sistema de Base de Dados1.pptSistema de Base de Dados1.ppt
Sistema de Base de Dados1.ppt
 
Banco de Dados - Aula 02
Banco de Dados - Aula 02Banco de Dados - Aula 02
Banco de Dados - Aula 02
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)
 
Apresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane FidelixApresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
 
Apresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane FidelixApresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
 
Modelagem Dados - Introdução à Conceitos
Modelagem Dados - Introdução à ConceitosModelagem Dados - Introdução à Conceitos
Modelagem Dados - Introdução à Conceitos
 
Novo microsoft office power point presentation
Novo microsoft office power point presentationNovo microsoft office power point presentation
Novo microsoft office power point presentation
 
Aula04 3
Aula04 3Aula04 3
Aula04 3
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dados
 
Apostila de banco de dados da ucg
Apostila de banco de dados da ucgApostila de banco de dados da ucg
Apostila de banco de dados da ucg
 

Más de Fabrício Lopes Sanchez

QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureFabrício Lopes Sanchez
 
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0Fabrício Lopes Sanchez
 
Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos? Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos? Fabrício Lopes Sanchez
 
Windows Azure: computação em nuvem no melhor estilo self-service
Windows Azure: computação em nuvem no melhor estilo self-serviceWindows Azure: computação em nuvem no melhor estilo self-service
Windows Azure: computação em nuvem no melhor estilo self-serviceFabrício Lopes Sanchez
 
Desenvolvimento de aplicações para Windows Azure
Desenvolvimento de aplicações para Windows AzureDesenvolvimento de aplicações para Windows Azure
Desenvolvimento de aplicações para Windows AzureFabrício Lopes Sanchez
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Fabrício Lopes Sanchez
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisFabrício Lopes Sanchez
 
Interop Day 2011 - Construindo aplicações web com WebMatrix
Interop Day 2011 - Construindo aplicações web com WebMatrixInterop Day 2011 - Construindo aplicações web com WebMatrix
Interop Day 2011 - Construindo aplicações web com WebMatrixFabrício Lopes Sanchez
 
QS24 - REST e SOAP com Razor e WebMatrix
QS24 - REST e SOAP com Razor e WebMatrixQS24 - REST e SOAP com Razor e WebMatrix
QS24 - REST e SOAP com Razor e WebMatrixFabrício Lopes Sanchez
 
Conhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVCConhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVCFabrício Lopes Sanchez
 

Más de Fabrício Lopes Sanchez (20)

Azure Lab Services
Azure Lab ServicesAzure Lab Services
Azure Lab Services
 
Projetando aplicações para a nuvem
Projetando aplicações para a nuvemProjetando aplicações para a nuvem
Projetando aplicações para a nuvem
 
Microserviços na vida real
Microserviços na vida realMicroserviços na vida real
Microserviços na vida real
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
 
Soluções de IoT no Microsoft Azure
Soluções de IoT no Microsoft AzureSoluções de IoT no Microsoft Azure
Soluções de IoT no Microsoft Azure
 
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
 
Docker para devs .NET
Docker para devs .NETDocker para devs .NET
Docker para devs .NET
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos? Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos?
 
O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)
 
A Nova Web
A Nova WebA Nova Web
A Nova Web
 
Windows Azure: computação em nuvem no melhor estilo self-service
Windows Azure: computação em nuvem no melhor estilo self-serviceWindows Azure: computação em nuvem no melhor estilo self-service
Windows Azure: computação em nuvem no melhor estilo self-service
 
SSI 2012 - Computação em Nuvem
SSI 2012 - Computação em NuvemSSI 2012 - Computação em Nuvem
SSI 2012 - Computação em Nuvem
 
Desenvolvimento de aplicações para Windows Azure
Desenvolvimento de aplicações para Windows AzureDesenvolvimento de aplicações para Windows Azure
Desenvolvimento de aplicações para Windows Azure
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
 
Web Dev Camp
Web Dev CampWeb Dev Camp
Web Dev Camp
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Interop Day 2011 - Construindo aplicações web com WebMatrix
Interop Day 2011 - Construindo aplicações web com WebMatrixInterop Day 2011 - Construindo aplicações web com WebMatrix
Interop Day 2011 - Construindo aplicações web com WebMatrix
 
QS24 - REST e SOAP com Razor e WebMatrix
QS24 - REST e SOAP com Razor e WebMatrixQS24 - REST e SOAP com Razor e WebMatrix
QS24 - REST e SOAP com Razor e WebMatrix
 
Conhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVCConhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVC
 

Modelagem de dados

  • 1. Modelagem de Dados Prof. Ms. Fabricio Lopes Sanchez
  • 2. 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
  • 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 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.
  • 7. 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
  • 8. 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.
  • 9. 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
  • 10. 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)
  • 11. Porque é importante saber? 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 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