Você está na página 1de 53

21/09/2012

INTRODUO
Prof. Marcelo Lucas

Curso: Modelagem de Dados

Contedo Programtico
Competncias: Identificar as necessidades de dados da organizao; Representar de forma coerente e organizada; Projetar o armazenamento das informaes em SGBDs; Garantir a coerncia e integridade dos dados armazenados; Prover acesso eficiente s informaes. Bases Tecnolgicas, cientficas e instrumentais: Conceitos fundamentais: entidades, atributos, relacionamentos; Modelagem conceitual; lgebra relacional. Normalizao; Modelagem lgica; Unidades Curriculares: Modelagem de Dados SQL

Contedo Programtico
Livro Texto: COUGO, Paulo Sergio. Modelagem Conceitual e Projeto de Banco de Dados.
(Conceitos fundamentais: entidades, atributos, relacionamentos; Modelagem conceitual; Modelagem Lgica: derivao para o modelo lgico)

Livro Apoio: ELMASRI, R.; NAVATHE, S.B. (2011). Sistemas de Banco de Dados. 6 Ed.
(Modelo Relacional; lgebra relacional; Normalizao)

Critrio de Avaliao
Tarefas por aula Trabalho Final Entrega Setembro Entrega Extra Entrega Novembro

Aula: Introduo

Introduo
Tpicos / Agenda
Sistemas de Informao SGBDs Administrao de Dados (AD) e Administrao de Banco de Dados (DBA) Modelo de dados Modelo Entidade Relacionamento (MER) Processos de Anlise e Modelagem de Dados

Sistemas de Informao

Dado e Informao
Dado Informao Conhecimento

Sistemas de Informao
Aplicaes Transacionais Aplicaes WEB Sistemas de Automao de Escritrios
Workflows GEDs

Foco na Informao
Sistemas de Informaes Gerenciais Sistemas de Suporte Executivo Business Intelligence

Foco no Conhecimento
Sistemas de Suporte a Deciso Sistemas Especialistas Inteligncia Artificial

Softwares Bsicos Outros: colaborao, pacotes especficos, etc...

Evoluo dos Sistemas Computadorizados


1960

Aplicaes batch arquivos em cartes e fitas magnticas Evoluo para arquivos em disco e file system
1970

Aplicaes batchs e on-line Primeiros SGBDs


1980

Cliente servidor Mltiplas camadas: Apresentao x Aplicao x Dados


1990

WEB, Multicamadas, ORB, EAI,


2000

SOA, ESB, Webservices, Mobilidade, Multi-devices, ....

Segregao Cdigo e Dados


Evoluo Fitas magnticas e sistemas de arquivo Arquivos compartilhados e servidores de arquivos SGBDs
Aplicao centralizada Cliente Servidor Multicamadas

Fitas magnticas e arquivos


Exemplo: Balanced Line
Arquivo Transaes: Incluso Alterao Excluso Arquivo Erros Programa de Atualizao

Arquivo Mestre

Arquivo Mestre

Arquivos compartilhados
Arquivos compartilhados
A aplicao era responsvel por prover mecanismos de acesso fsico e lgico, assim como mecanismos de controle de acesso concorrente.

SGBD
Dados compartilhados
SGBD

SGBD
Dados compartilhados
SGBD SGBD cuidas das questes fsicas e controle do acesso concorrente.

Aplicao se preocupa apenas com o acesso lgico, abstraindo aspectos fsicos e de controle de acesso

SGBD
Dados compartilhados
SGBD

INDEPENDNCIA DE DADOS conceito relacionado ao grau de tolerncia a alteraes na estrutura dos dados sem acarretar alteraes nas camadas superiores do software (programas da aplicao).

Cliente x Servidor
Cliente Servidor
SGBD, Software de acesso aos dados, regras de negcio dos dados

Aplicao: Programas, regras de negcio da aplicao e apresentao.

Front-End

Back-End

3 Camadas
Apresentao Aplicao Dados
SGBD, Software de acesso aos dados

Browser WEB

WEB Server ou Application Server

Front-End

Back-End

SGBD

SGBD - Conceitos
Isolamento dos aspectos fsicos
Os aspectos fsicos ficam a cargo do software SGBD e no da aplicao.

Independncia de dados a capacidade de se alterar um modelo num nvel, em um banco de dados, sem ter que alterar um nvel superior . ACID
Atomicidade, Consistncia, Isolamento e Durabilidade

Exerccio
Cite exemplos programas ou parte de programas onde cada uma dessas questes deveriam ser consideradas?
Atomicidade, Consistncia, Isolamento e Durabilidade

Propsito do SGBD: OLTP x OLAP


OLTP
On Line Transaction Processing

OLAP
On Line Analitical Processing

Modelos de Banco de Dados


Baseados em arquivos e listas invertidas:
Adabas

Rede
Unisys-DMSII, CA-IDMS, Cincom-Total

Hierrquico
IBM IMS

Relacional
Oracle, MySQL, PostgreSQL, IBM-DB2, SQLServer, Firebird,...
Antigos: Informix, Ingres, Sybase, ...

Outros:
Orientado a Objetos (Zope/ZODB) Semi-estruturado (Apache CouchDB/JSON) XML Server (eXist, Tamino) Linked Open Data (Virtuoso) OLAP (Teradata, Oracle Hexadata) Espacial/Geogrfico (Ex.: Oracle Spacial Option)

SGBD Rede
Elos explcitos = Ponteiros
Endereo Fsico #FC78A6F9 #FC78A6FA #FC78A6FB #FC78A6FC Matricul a 73498 45657 86435 00678 Nome JOAO MARIA JOSE ANA Data Admisso 01/12/99 07/11/04 20/02/01 22/06/11 Departament o #6F9A5BA1 #6F9A5BA1 #6F9A5BA4 #6F9A5BA1 Endereo Fsico #6F9A5BA1 #6F9A5BA3 #6F9A5BA4 #6F9A5BA9 ID Dpto 01002 01003 02005 05002 Nome Dpto RH TI FIN CRM

SGBD Rede
Elos explcitos = Ponteiros
Funcionarios #FC78A6F9 #FC78A6FA Endereo Fsico #FC78A6F9 #FC78A6FA #FC78A6FB #FC78A6FC Matricul a 73498 45657 86435 00678 Nome JOAO MARIA JOSE ANA Data Admisso 01/12/99 07/11/04 20/02/01 22/06/11 Departament o #6F9A5BA1 #6F9A5BA1 #6F9A5BA4 #6F9A5BA1 Endereo Fsico #6F9A5BA1 #6F9A5BA3 #6F9A5BA4 #6F9A5BA9 ID Dpto 01002 01003 02005 05002 Nome Dpto RH TI FIN CRM #FC78A6FC

SGBD Hierrquico
Elos explcitos como o banco em REDE mas exclusivamente utilizados para representar HIERARQUIAS.
Endereo Fsico #6F9A5BA1 #6F9A5BA3 #6F9A5BA4 #6F9A5BA9 ID Dpto 01002 01003 02005 05002 Nome Dpto RH TI FIN CRM Matricul a 73498 45657 00678 Nome JOAO MARIA ANA Data Admisso 01/12/99 07/11/04 22/06/11

Matricul a 86435

Nome JOSE

Data Admisso 20/02/01

SGBD Relacional
Elos implcitos = Identificador
Matricu la 73498 45657 86435 00678 Nome JOAO MARIA JOSE ANA Data Admisso 01/12/99 07/11/04 20/02/01 22/06/11 Departament o 01002 01002 02005 01002 ID Dpto 01002 Nome Dpto RH TI FIN CRM

Obs: Bidirecional

01003 02005 05002

Exerccio
Dados armazenados nestes formatos esto baseados em que modelo? (Relacional, Hierarquico, Rede) Documentos XML Planilhas Excell Hipertextos Nomes dos arquivos em disco (Diretrios em disco) Programa com objetos instanciados em memria com mtodos que manipulam instancias de outros objetos em memria.

AD e DBA

Administrador de Dados e Administrador de Banco de Dados


AD Administrador de Dados
Significado dos dados. Entende a semntica do dado. Atua no metadado.

DBA Administrador de Banco de Dados


No precisa nem deve entender o significado/semntica dos dados. Atua na implementao fsica do banco de dados.

Ambos atuam sob dados mas com papis muito distintos

Administrador de Dados e Administrador de Banco de Dados


AD Administrador de Dados
Modelo de dados conceitual e lgico. Dicionrio de dados. Normalizao do modelo. Regras de negcio. No precisaria conhecer um SGBD especfico. Gerencia o conhecimento sobre os dados

DBA Administrador de Banco de Dados


Modelo de dados fsico. Instalao do banco de dados, configurao de parmetros de memria, distribuio do banco de dados nos discos, administra de espao em disco, tamanho de tabelas, implementao de rotinas de backup e recovery, otimizao de recursos, otimizao de consultas, aquisio de hardware e software de banco de dados, etc. Tem conhecimento tcnico especializado em um SGBD. Ex.: Oracle, MySQL, SQL Server, PostGRE, ...

DBA: Desenvolvimento x Operao


DBA de desenvolvimento
Transforma o modelo lgico em fsico
Planejamento de parmetros de fsicos como: tamanhos de tabelas, transaes concorrentes, taxas de crescimento, polticas de backup, ...

Apoia o desenvolvimento de SQL otimizados Otimizao de SQL e estruturas do banco de dados

DBA de operao/suporte
Aplica o modelo fsico em produo Garante que as rotinas de produo estejam de acordo com a politicas estabelecidas. Monitora o banco de dados de produo fornecendo informaes para o DBA de desenvolvimento Otimizao de parmetros dinmicos do SGBD

Estrutura Organizacional das Empresas


Diretoria de TI
rea de desenvolvimento
AD Analistas, Programadores, ... DBA de Desenvolvimento (perfil necessrio no desenv.)

rea de suporte
DBA de Operao/Suporte Suporte UNIX, Suporte WEB, ...

rea de operao da produo


Operadores, ...

Outras reas, ...

Papis do AD
Definir padronizaes referentes a dados Planejamento dos dados Manter dicionrio de dados Modelagem conceitual de lgica Garantir um controle centralizado e compartilhado das informaes e conhecimentos sobre os dados Atuar diretamente nos processos desenvolvimento de sistemas como responsvel pelos dados. Otimizao lgica do modelo e dos SQLs.

Exerccio
Uma empresa possuiu aplicaes implantadas em produo envolvendo os ambientes Linux (SGBDS: MySQL, Oracle e PostGRE), Mainframe (SGBDs: Adabas e DB2), Windows (SQL Server e Oracle). H poucas alteraes ou desenvolvimentos novos para estas aplicaes. Idealmente, qual a quantidade mnima de ADs e de DBAs nesta empresa?

Modelo de Dados

Modelo
Um modelo uma representao do mundo real que considera apenas os aspectos significativos ao que se deseja representar e abstrai os aspectos que no contribuem para os seus objetivos.
Se dois modelos distintos so representaes adequadas do mundo real, o correto ser o mais simples (mais abstraes).

Ex.: E = m C 2

Modelo de Dados
Uma representao do mundo real que considera apenas os aspectos relacionados a dados, sua semntica, sua estrutura, suas regras de negcio e abstrai demais aspectos.

Nveis de abstrao
Modelo de Dados Conceitual
Viso mais prxima do negcio Abstrai aspectos que no dependem do nvel de negcio Ateno: Deve considerar informaes visveis pela rea de negcios que influenciam os aspectos lgicos e fsicos.

Modelo de Dados Lgico


Viso tcnica de sistema Abstrai aspectos fsicos

Modelo de Dados Fsico


Possui os aspectos da implementao fsica do banco de dados

Nveis de abstrao e atuao do AD


Modelo Conceitual Administrador de Dados Modelo Lgico Administrador de Dados Modelo Fsico Administrador de Banco de Dados

Modelos de Dados
Dicionrio de dados Textos descritivos Requisitos de negcio Modelo Entidade Relacionamento Diagramas de Classes Casos de Uso Planilhas eletrnicas com informaes Etc ...

Exerccios
O que difere o Modelo de Dados dos demais modelos utilizados na anlise e projeto de sistema?
Qual seu objetivo? Quais os modelos que se excluem mutuamente e os que se complementam? possvel construir software sem modelagem de dados?

Modelo Entidade e Relacionamento

MER e DER
O Modelo Entidade e Relacionamento (MER) e sua representao grfica, Diagrama de Entidades e Relacionamentos (DER), so considerados as principais ferramentas de modelagem de dados utilizadas atualmente e h mais de 30 anos.

Definies fundamentais
Entidades so as representaes de objetos e seres que possuem caractersticas e relaes entre si. Atributos representam as caractersticas das entidades. Relacionamentos representam a relaes entre as entidades.

Definies fundamentais
Entidades
Carro, Pea, Motorista

Atributos
Carro: cor, modelo, fabricante, ano

Relacionamentos
Carros usam Peas Carros possuem Proprietrios

Exerccios
Um sistema possui o cadastro com mais de 1.000 imveis para venda, seus proprietrios atuais e potenciais compradores. Especifique ENTIDADES, ATRIBUTOS e RELACIONAMENTOS relativos a este tema.

Exerccios
Um sistema universitrio possui o cadastro dos seus 2.000 alunos com cursos e disciplinas nas quais esto matriculados. Especifique ENTIDADES, ATRIBUTOS e RELACIONAMENTOS relativos a este tema.

Processo de Anlise e Modelagem de Dados

Processo de desenvolvimento
Anlise
Requisitos de negcio Modelos viso negcio
Modelo de dados Conceitual Outros modelos

Projeto
Requisitos de sistema Modelos viso tcnica
Modelos de dados Lgico Outros modelos

Desenvolvimento
Implementao de programas Modelo de Dados - Implementao lgica e fsica

Modelos de Dados e Abstraes


Modelo Conceitual Anlise Modelo Lgico Projeto e desenvolvimento Modelo Fsico Desenvolvimento e implantao

Requisitos de Negcio aplicveis ao Modelo de dados


Requisitos de negcio e de sistema
Requisitos de dados
Entidades Relacionamentos Atributos

Regras de negcio
Regras/restries de integridade Regras de informaes derivadas
Dados derivados de dados

Requisitos no funcionais
Requisitos fsicos
Volumes, Performance, Padres de utilizao

Questes operacionais

Exerccios continuao.
Um sistema universitrio possui o cadastro dos seus 2.000 alunos com cursos e disciplinas nas quais esto matriculados.
D exemplos de REQUISITOS NO FUNCIONAIS (Volumes, Performance e de Utilizao do Sistema). Defina algumas potenciais Regras de Integridade, Restries e Regras de Derivao de Informaes. D exemplos de questes operacionais relacionados ao sistema.

Você também pode gostar