UMC
SI
Prof. Bene
MODELAGEM
ESTRUTURADA DE
SISTEMAS
UMC
SI
Conceito
“Habilidade mental que permite aos seres
humanos visualizarem os problemas do
mundo real com vários graus de detalhe,
dependendo do contexto do problema.”
(J.Rumbaugh)
UMC
SI
Conceito
(Henry F. Korth)Visão 1
Visão 2
Visão 3
Nível Conceitual
Nível Físico
UMC
SI
Instâncias e Esquemas
Instância: coleção de informações armazenadas no
banco de dados em um instante particular.
Esquema: concepção global do banco de dados.
Esquema = Definição, Modelo
Instância = Valor, Conteúdo
Cliente (Saldo, Idade)
João (500.00, 35) Ana (1200.00, 29)UMC
SI
Independência de Dados
“É a capacidade de modificar uma definição de
esquema em um nível, sem afetar a definição de
esquema em um nível mais alto”
Independência de dados FÍSICA:
Capacidade de modificar o esquema físico sem precisar
reescrever os programas de aplicação
Independência de dados LÓGICA:
Capacidade de modificar o esquema conceitual sem a
necessidade de reescrever os programas de aplicação
UMC
SI
Linguagem de Definição de Dados
(Data Definition Language - DDL)
“Linguagem que define as aplicações, arquivos e campos
que irão compor o banco de dados (comandos de criação
e atualização da estrutura dos campos dos arquivos).”
EX:
Create Table (comando SQL que cria tabela)
Create Index (comando SQL que cria índice em uma
tabela)
UMC
SI
Linguagem de Definição de Dados
(Data Definition Language - DDL)
Onde ficam armazenadas estas definições?
Onde ficam armazenadas estas definições?
Dicionário de Dados (Data Dictionary - DD): arquivo que
contém metadados; isto é, “dados acerca de dados”. Este
arquivo é consultado antes de dados reais serem lidos ou
modificados no sistema de banco de dados.
UMC
SI
Linguagem de Manipulação de Dados
(Data Manipulation Language - DML)
“Linguagem que permite aos usuários acessar ou
manipular dados organizados por um modelo de
dados apropriado.”
UMC
SI
Linguagem de Manipulação de Dados
(Data Manipulation Language - DML)
O que é a manipulação de dados?
O que é a manipulação de dados?
• A recuperação da informação armazenada no banco
de dados.
• A inserção de novas informações no banco de dados.
• A remoção de informações do banco de dados.
UMC
SI
Linguagem de Manipulação de Dados
(Data Manipulation Language - DML)
Existem dois tipo básicos e DML:
• Procedimental ou Procedural: requer do usuário a
especificação de quais dados são desejados e
como chegar até eles (EX: Álgebra Relacional).
• Não-Procedimental ou Não-Procedural: requer do
usuário a especificação de quais dados são
desejados, sem especificar como chegar até eles
(EX: Cálculo Relacional).
UMC
SI
Sistema Gerenciador de Banco de Dados (SGBD)
“Um SGBD é uma coleção de programas que permitem
ao usuário definir, construir e manipular Bases de
Dados para as mais diversas finalidades.”
Um conceito que deverá ficar bastante claro inicialmente é o que envolve a separação clara entre os Gerenciadores de Base de Dados dos
Gerenciadores de Arquivo.
Sistemas em "Banco de Dados" baseados em Btrieve e dBase (Fox e Clipper), podem no máximo simular as características típicas de um
ambiente de Banco de Dados. As linguagens Delphi (utiliza opcionalmente o padrão dBase) e o VB (que utiliza o Access), recomendam a utilização de Banco de Dados reais, porém utilizam àqueles "Banco de Dados" que
possuem algumas características de Bancos de Dados, mas possuem
UMC
SI
Sistema Gerenciador de Banco de Dados (SGBD)
Características Gerais de um SGBD:
• Interação com o gerenciador de arquivos
• Garantia de Integridade
• Garantia de Segurança
• Recuperação e Backup
• Controle de Concorrência
• Interface de Manipulação
UMC
SI
Administradores e Usuários de Banco de Dados
Administrador de Dados:
Desenvolve e administra centralizadamente estratégias,
procedimentos,
práticas
e
planos
capazes
de
disponibilizar os dados corporativos necessários, quando
necessários,
com
integridade,
privacidade,
documentação e compartilhamento. Participa dos
levantamentos de dados, e regras de negócio da
empresa. Elabora e/ou acompanha a confecção de
modelos. Participa da compatibilização do planejamento
de sistemas com os modelos lógicos. Participa de
pesquisa de softwares de apoio, relacionados a área de
AD, assim como SGBD.
UMC
SI
Administradores e Usuários de Banco de Dados
Níveis de Abstração de Informação
Administrador de Banco de Dados:
Define a criação do esquema original do banco de dados,
a partir dos modelos lógicos. Definição da estrutura de
armazenamento e do método de acesso. Modificação da
organização física e do esquema. Concessão de
autorização para acesso a dados. Especificação de
restrições e integridades.
UMC
SI
Administradores e Usuários de Banco de Dados
Usuários:
• Programadores de Aplicação
• Usuários Ocasionais
• Usuários Simples
• Usuários Especializados
UMC
SI
Estrutura Geral de Sistema
Componentes Funcionais de um SGBD:
• Gerenciador de Arquivos: gerencia a alocação de espaço e armazenamento em disco e estruturas de dados.
• Gerenciador do Banco de Dados: proporciona interface entre os dados de baixo nível e os programas de aplicação e consultas.
• Processador de Consultas: traduz comandos de uma linguagem de consulta em instruções de baixo nível para que o GBD entenda. Tenta otimizar os pedidos de consulta dos usuários.
• Pré-Compilador DML: compila comandos DML em rotinas da linguagem do host. Precisa interagir com o processador de consultas para gerar código apropriado.
• Compilador DDL: converte comandos DDL em um conjunto de tabelas contendo metadados, que são armazenados no DD.
UMC
SI
Estrutura Geral de Sistema
• Arquivo de Dados:
armazenam os dados propriamente ditos. • Dicionário de Dados:
armazena informações sobre a estrutura do banco de dados. • Índices:
proporcionam acesso rápido aos itens de dados com valores específicos.
Estruturas de Dados de um SGBD:
UMC
SI
Níveis de Abstração de Informação
Vantagens dos Bancos de Dados
• Redução ou Eliminação de Redundâncias
• Eliminação de Inconsistências
• Compartilhamento dos Dados
• Restrições de Segurança
• Padronização dos Dados
• Independência dos Dados
• Manutenção da Integridade
UMC
SI
Modelagem de Dados
É um metodo de análise de sistemas que
busca especificar, a apartir de dados
relevantes, a perspectiva dos dados,
permitindo organizá-los em estruturas
bem definidas, estabelecendo as regras
UMC
SI
Modelos de Dados
Mundo
Real
Modelo
Conceitual
Modelo
Lógico
Modelo
Físico
Implementação
seres, objetos, organismos, fatos organizaçãoinformações informais descrições das estruturas edas transações
informações formais estruturas de informações; especificações de manipulação
dados
estruturas externas de dados; especificações e programas de manipulação
UMC
SI
Modelos de Dados
Independência de Hardware e Software Independência de HardwareMundo
Real
Modelo
Conceitual
Modelo
Lógico
Modelo
Físico
Implementação
UMC
SI
• Modelo Conceitual de Dados
– Elaboração do Modelo Conceitual – Independe do SGBD
• Modelo Lógico de Dados
– Falta de terminologia uniforme – Diferentes para os vários SGBD’s – Depende do modelo lógico do SGBD
• Modelo Físico
– Depende de características do hardware
Mundo Real Modelo Conceitual Modelo Lógico Modelo Físico Implementação
Modelos de Dados
UMC
SI
• Observações:
– Uma mudança no Modelo Conceitual acarreta uma mudança no Modelo Lógico, porém a reciproca não é verdadeira;
– Uma mudança no modelo Lógico acarreta uma mudança no Modelo Físico, porém a reciproca não é verdadeira;
– Se criarmos uma nova entidade no Modelo Conceitual, ela deverá também ser criada no Modelo Lógico. Mundo Real Modelo Conceitual Modelo Lógico Modelo Físico Implementação
Modelos de Dados
UMC
SI
Representa o chamado nível conceitual, o
que procura espelhar a realidade,
independentemente de restrições de
implementação, segundo uma visão global
do sistema sob análise
UMC
SI
Princípios
– Base para compreensão mais formal da empresa – Passo no projeto de banco de dados
– Compreendido por leigos em computação – É essencial que seja:
• Simples • Abrangente
• Amplamente utilizado
• Reflita características mais do mundo real
UMC
SI
Podemos estabelecer que o modelo conceitual de dados deve
satisfazer os seguintes requisitos:
– Expandir a mobilidade do analista no reconhecimento dos requisitos de informação;
– Capturar ao máximo a semântica do mundo real durante o processo de modelagem;
– Tornar fácil o entendimento, através de uma representação formalizada que possa ser entendida por usuários;
– Tornar possível a transformação ‘direto’ do modelo conceitual para o modelo lógico.
UMC
SI
• Modelos Lógicos de Dados de um SGBD
– Os principais Modelos Lógicos de Dados:
• Rede; Hierárquico; Relacional; Orientado a Dados
– OS principais Sistemas Gerenciadores de Banco de Dados
Relacionais
• Oracle; DB2; Informix; SQL Server; (há no mercado aproximadamente 150)
Modelo Lógico de Dados
As características básicas das estruturas de dados
utilizadas para especificação do esquema interno
dependem fundamentalmente, do Modelo Lógico de
UMC
SI
• Estruturas Lógicas
– São as representações das entidades do mundo real a
serem utilizadas pelos programas de aplicação
– É através das estruturas lógicas que um programa de
aplicação se comunica com o SGBD para receber ou
transferir dados;
• Estruturas Físicas
– São as represntações internas dos dados
– É através das estruturas físicas que o SGBD armazena e
manipula os dados nos meios de armazenamento.
UMC
SI
Descreve as estruturas físicas de armazenamento de
dados, projetados de acordo com os requisitos de
processamento e uso dos recursos computacionais.
UMC
SI
• Aspectos relevantes na definição do modelo físico
– CPU (RISC, Intel, …)
– Armazenamento (RAID, Ótico, …) – Ambiente (Distribuído, Centralizado)
• Aspectos conjuntos de ambiente
– Estruturas de armazenamento, endereçamento, acesso e alocação física, tratamento de transações, mecanismos de recuperação e back-up, …
UMC
SI
• Conceitos Básicos
– Componentes do Modelo Conceitual
• Entidade• Atributos
• Relacionamentos • Domínios
– Classificação das Entidades
– Diagrama Entidade-Relacionamento (DER)
– Classificação dos Relacionamentos.
UMC
SI
Entidades
– Representação abstrata de um objeto do mundo
real (coisa, ser, organismo social, fato, etc) sobre o
qual a empresa tem interesse em guardar
informações, pode ser identificado e possui
características próprias.
UMC
SI
Nome:João Cidade:São Paulo Estado:SP Telefone: (011) xxxxEntidade
Exemplos:Abordagem Entidade Relacionamento
Nome: Cidade: Estado: Telefone: Nome:Maria Cidade:Rio de Janeiro Estado:RJ
Telefone: (021) 22222Nome:PedroCidade:Belo Hrozonte Estado:MG
Telefone: (031) 2969040
CLIENTE
Entidade
UMC
SI
Entidade
Representação Gráfica:
Abordagem Entidade Relacionamento
nome_da_entidade
UMC
SI
Entidade
Tipos de entidade: • Entidade Forte:
– É a entidade que não depende de uma outra entidade para existir
Abordagem Entidade Relacionamento
nota_fiscal
UMC
SI
Entidade
Tipos de entidade: • Entidade Fraca:
– É a entidade que depende de uma outra entidade para existir (a chamada
entidade-pai)
Abordagem Entidade Relacionamento
item_nota_fiscal
UMC
SI
Relacionamento
Relação de dependência de existência:
– É o tipo de relacionamento existente entre uma fraca e
entidade-pai.
Abordagem Entidade Relacionamento
empregado dependente Entidade-pai Entidade-filho ou entidade fraca possui
1
n
UMC
SI
Atributos
Definição:
– São os itens de dados
– Descrevem, caracterizam ou identificam uma entidade.
Exemplo:
Entidade: CLIENTE Entidade: EMPREGADO
Abordagem Entidade Relacionamento
Atributos: código do Cliente nome do Cliente endereço do Cliente limite de Crédito Atributos: num_matricula nom_empregado dat_nascimento dat_admissao sal_bruto
UMC
SI
Atributos
Atributo Identificador
Para identificar e individualizar cada componente de uma entidade, é necessário estabelecer uma referência que personalize o conjuto.
Abordagem Entidade Relacionamento
Antonio
Maria
UMC
SI
Atributos
Atributo Qualificador
Utilizado para descrever ou qualificar uma entidade.
Abordagem Entidade Relacionamento
Peso - 82
Sexo - Feminino
UMC
SI
Relacionamento entre Entidades
• Algumas informações só são completas quando consideramos
simultaneamente atributos de duas ou mais entidades. Nestes
casos, dizemos que existe um relacionamento entre as
entidades.
• Exemplos:
– O empregado Paulo trabalha na loja da Savassi. – O empregado Pedro chefia a loja da Savassi.
– O cliente Furukawa é o nosso maior fornecedor de cabos de fibra. – O Grupo Gerdau vendeu 2 toneladas de aço CA 50 para a Mendes Jr.
UMC
SI
Relacionamento entre Entidades
– Descrevem regras de associação entre entidades
– Representam um traço contínuo ligando uma entidade a outra, apresentando uma origem e um destino.
– Um relacionamento estabelece quando uma entidade apresenta atributos importados de outra entidade.
Abordagem Entidade Relacionamento
A possui B
A pertence B
UMC
SI
Relacionamento entre Entidades
– Exemplo: • Fato:
– O empregado Pedro trabalha na loja da Savassi • Representação do Relacionamento:
• Ocorrências:
Pedro loja da Savassi
Abordagem Entidade Relacionamento
UMC
SI
Relacionamento entre Entidades
– Cardinalidade:
• Indica a multiplicidade do relacionamento, ou seja, qual o número de ocorrências de cada uma das entidades que pode estar associado a uma mesma ocorrência da outra entidade. • Quantidade de correspondência de uma tupla da entidade A
nas tuplas equivalentes da entidade B.
• Define a ligação lógica existente entre as entidades • É representada por 1 (um) ou N (muitos).
• 1:1 um para um • 1:N um para muitos • M:N muitos para muitos
UMC
SI
Relacionamento entre Entidades
– Representações:
Cardinalidade
Abordagem Entidade Relacionamento
,1
,n
:1
:n
UMC
SI
Relacionamento entre Entidades
– Exemplo de Relacionamento:
Abordagem Entidade Relacionamento
pedido cliente item_pedido produto n faz 1 n contém 1 1 possui n
UMC
SI
Relacionamento entre Entidades
– Opcionalidade:
• Indica se sempre deve ou não existir pelo menos uma
ocorrência de cada entidade envolvida no relacionamento; • Em caso afirmativo, o relacionamento é considerado
obrigatório, senão, é opcional;
• É representada por 0 (opcional) ou 1 (obrigatório).
UMC
SI
Relacionamento entre Entidades
– Representações:
Opcionalidade
Abordagem Entidade Relacionamento
0,
1,
0:
1:
UMC
SI
Relacionamento entre Entidades
– Cardinalidade + Opcionalidade
• Documentação das regras de negócio:
Abordagem Entidade Relacionamento
A
0:1
BA
1:1
BA
0:n
BA
1:n
BA entidade A poderá ou não ter correspondente na entidade B A entidade A terá sempre correspondente na entidade B A entidade A poderá ou não ter correspondentes na entidade B A entidade A terá sempre de 1 a
UMC
SI
Relacionamento entre Entidades
– Exemplo de Relacionamento:
Abordagem Entidade Relacionamento
pedido cliente item_pedido produto 0,n faz 1,1 0,n contém 1,1 1,1 possui 1,n
UMC
SI
Relacionamento entre Entidades
– Exemplo de Relacionamento:
• 0,1 (Mínimo 0 e Máximo 1)
Abordagem Entidade Relacionamento
empregado cert_reservista 1,1 possui 0,1
Isabel
Maria
Ana
José
João
CR08273
CR09867
possui possuiOcorrências de relacionamentos:
UMC
SI
Relacionamento entre Entidades
– Exemplo de Relacionamento:
• 0,n (Mínimo 0 e Máximo n)
Abordagem Entidade Relacionamento
empregado dependente 1,1 possui 0,n
Isabel
Maria
Ana
José
João
possuiOcorrências de relacionamentos:
Julinha
Flavinha
Carlinhos
Paulinha
Pedrinho
UMC
SI
Relacionamento entre Entidades
– Exemplo de Relacionamento:
• 1,n (Mínimo 1 e Máximo n)
Abordagem Entidade Relacionamento
pedido item_pedido 1,1 possui 1,n
Pedido 3
Pedido 2
Pedido 1
Ocorrências de relacionamentos:
Óleo
Biscoito
Maionese
Margarina
Sabão
UMC
SI
Relacionamento entre Entidades
– Exemplo de Relacionamento:
• Um aluno pode cursar uma ou mais disciplinas e uma disciplina pode ter um ou mais alunos.
Abordagem Entidade Relacionamento
UMC
SI
Relacionamento entre Entidades
– Entidade Associativa:
• É aquela que não existe por si só e sua existência está
condicionada a existência de duas ou mais entidades, a partir das quais ela é concebida.
Abordagem Entidade Relacionamento
aluno 1,n aluno_disciplina 1,n disciplina
aluno 1,1 aluno_disciplina 1,1 disciplina
UMC
SI
Relacionamento entre Entidades
– Exemplo de Relacionamento:
• 0:1 (Mínimo 1 e Máximo n)
Abordagem Entidade Relacionamento
turma disciplina 1,n possui 1,n
Turma C
Turma B
Turma A
Ocorrências de relacionamentos:
Inglês
Biologia
Química
Física
Estatística
UMC
SI
Diagrama Entidade-Relacionamento
Abordagem Entidade Relacionamento
empregado
departamento
1,n 1,1Entidades
Relacionamento PossuiCardinalidade
Opcionalidade
UMC
SI
Regras de Integridade
– Atributo Identificador (Chave Primária)
• É uma chave que apresenta um valor diferente para cada registro;
• Identifica de maneira precisa um registro em um arquivo; • Composta por uma ou mais colunas;
• Deve ter o menor tamanho possível. – Elo de ligação (Chave Estrangeira)
• Identifica um conjunto de registros;
• Pode ou não ter valor(es) diferente(s) para cada registro.
UMC
SI
Regras de Integridade
– Atributo Identificador:
• É aquele atributo que identifica de forma única cada
ocorrência na entidade.
Abordagem Entidade Relacionamento
e
mpregado – Atributo Identificador #num_matricula – Atributos nom_empregado dat_nascimento dat_admissão sal_brutoUMC
SI
Regras de Integridade
– Atributos Compostos ou Concatenados:
• Quando o identificador é formado por mais de um atributo
na formação do atributo identificador.
Abordagem Entidade Relacionamento
dependente
– Atributo Identificador # num_matricula # cod_dependente – Atributos nom_dependente dat_nascimentoUMC
SI
Regras de Integridade
• Elo de Ligação
– É um atributo importado de outra entidade, para implementar logicamente o relacionamento 1,n
Abordagem Entidade Relacionamento
departamento
– Atributo Identificador # cod_depto – Atributos nom_depto sgl_deptoempresa
– Atributo Identificador # cod_empresa – Atributos nom_empresa * departamento.cod_deptoUMC
SI
Regras de Integridade
• Elo de Ligação (chave estrangeira)
– É um atributo importado de uma relação cujos valores correspondem a valores de chave primária de outra relação.
– O elo de ligação não precisa, necessáriamente, fazer parte da chave primária de sua relação.
Abordagem Entidade Relacionamento
cod_emp nome cod_depto
5540 João 35
7935 Pedro 21
5892 Ana 11
8100 André 21
cod_dept nom_dept
11 Finanças
21 Engenharia
35 TI
empregado
departamento
Atributo identificadorUMC
SI
Relacionamento entre Entidades
• Implementação Implícita
– Possível para relacionamentos 1,1 e 1,N;
– O relacionamento é implementado com a transposição da chave de uma Tabela “A” para uma Tabela “B”.
Modelo conceitual
Implementação do modelo relacional
empregado (#matricula, nome)
dependente (#codigo, nome, grau-de-parentesco, *matricula)
Abordagem Entidade Relacionamento
empregado
1:1
0:n
dependenteUMC
SI
Relacionamento entre Entidades
• Implementação Explícita
– O relacionamento é implementado com a criação de uma nova relação sem entidade correspondente no DER;
– A Tabela “R” tem como chave a concatenação das chaves das outras duas relações;
– Atributos do relacionamento dão origem a colunas na nova relação.
Modelo conceitual
Abordagem Entidade Relacionamento
UMC
SI
Relacionamento entre Entidades
• Implementação Explícita (cont.)
Modelo conceitual
Implementação do modelo relacional
fornecedor (#fornecedor, nome, telefone) peça (#peça, nome, peso)
fornecedor_peça (#(*fornecedor, *peça), quantidade)
Abordagem Entidade Relacionamento
fornecedor 1,1 fornecedor_peça 1,1 peça
1,n 1,n
UMC
SI
Atributos
• Propriedades de Atributos:
– Definição:
• Descrição que represente claramente seu propósito e alcance.
– Tipo:
• Numérico; • Alfanumérico; • Alfabético; • Memorando; • Data; • Binário.UMC
SI
Atributos
• Propriedades de Atributos (cont.): – Formato:
• (999.999,99) • (dd/mm/yy)
– Domínio:
• Conjunto de valores possíveis para uma dada coluna de uma relação. • Duas ou mais colunas podem ser definidas sobre um mesmo
domínio.
– De 10 a 20; – > 100 e < 1000;
– (José, Maria, Antonio, Pedro).