unidade i - princípios de banco de dados.pdf

43
Sistemas de Banco de Dados Unidade I Unidade I – Princípios de Banco de Dados Princípios de Banco de Dados Prof. Fabrício Alho [email protected] Especialização em Banco de Dados UNAMA - 2012

Upload: ivo-mendes-da-silva

Post on 14-Dec-2014

34 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Unidade I - Princípios de Banco de Dados.pdf

Sistemas de Banco de Dados

Unidade I Unidade I –– Princípios de Banco de DadosPrincípios de Banco de Dados

Prof. Fabrício [email protected]

Especialização em Banco de DadosUNAMA - 2012

Page 2: Unidade I - Princípios de Banco de Dados.pdf

Objetivo de Aprendizagem

� Entender os conceitos aplicados aos Banco de Dados, assim como aspectos funcionais e operacionais;

� Modelar um Projeto de Banco de Dados Relacional;

� Utilizar uma ferramenta CASE para desenvolver a modelagem de um Projeto de Banco de Dados.

Page 3: Unidade I - Princípios de Banco de Dados.pdf

Agenda

� Banco de Dados� Sistema de Banco de Dados� Vantagens de Utilização� Arquitetura de Banco de Dados� Arquitetura de Banco de Dados� Modelagem de Dados� Sistemas Relacionais� Modelo de Entidade e Relacionamento – MER� Exemplos Práticos de Modelagem

Page 4: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Banco de DadosÉ uma coleção de dados interrelacionados, representando informações sobre um domínio específico.informações sobre um domínio específico.

Ex.:• Lista Telefônica• Acervo de uma Biblioteca• Relação de produtos de uma Loja.

Page 5: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Banco de DadosUm banco de dados é uma coleção de dados logicamente relacionados, com algum significado.

Um banco de dados é projetado, construído e Um banco de dados é projetado, construído e preenchido com dados para um propósito específico.� Possui um grupo de usuários e algumas aplicações

concebidas para atender a esses usuários.

Um banco de dados é a representação de algum aspecto do mundo real.� Nos leva a que, qualquer mudança na realidade, provocará

mudanças nessa base de dados.

Page 6: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Aplicações de banco de dados:– Banco: todas as transações– Linhas aéreas: reservas, horários– Universidades: matrículas, registros, notas– Vendas: clientes, produtos, compras– Vendas: clientes, produtos, compras– Revendedores on-line: acompanhamento de pedidos,

recomendações personalizadas– Indústria: produção, estoque, pedidos, cadeia de suprimento– Recursos humanos: registros de empregados, salários,

deduções de impostos.

Os bancos de dados tocam todos os aspectos das nossas vidas.

Page 7: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Sistema de Banco de Dados

Consiste em uma coleção de dados coleção de dados interrelacionados e uma coleção de programas para prover o acesso a esses dados.

Page 8: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Sistema Gerenciador de Banco de Dados - SGBD

É uma coleção de programas que permitem aos usuários definirem, construírem e manipularem uma usuários definirem, construírem e manipularem uma base de dados para o uso das diversas aplicações.

Page 9: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Sistema Gerenciador de Banco de Dados - SGBD

Objetivo principal:– Fornecer uma maneira de recuperar informações de banco de dados que seja tanto conveniente de banco de dados que seja tanto conveniente como eficiente.

Outros Objetivos:– Disponibilizar dados integrados para usuários e aplicações através de interfaces amigáveis;– Garantir a privacidade dos dados através de medidas de segurança como permissões, senhas de acesso e criptografia;

Page 10: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Sistema Gerenciador de Banco de Dados - SGBD

Outros Objetivos:– Permitir compartilhamento dos dados de forma organizada, mediando a comunicação entre aplicações e organizada, mediando a comunicação entre aplicações e banco de dados, administrando acessos concorrentes;– Possibilitar independência dos dados e com isso poupar o usuário da necessidade de conhecer detalhes de implementação interna.

A estrutura geral de um SGBD envolve, basicamente, osseguintes módulos:

– Processamento de Consultas;– Gerenciamento de Armazenamento de Dados;

Page 11: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Sistema Gerenciador de Banco de Dados - SGBD

Programas de aplicação/consulta

Software para processar consultas/programas

Software para acessar dados armazenados

Definição da base de dados armazenada Base de dados armazenada

SGBD

Page 12: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Exemplos de SGBD

��ZIMZIM��FoxProFoxPro��DataflexDataflex

��InformixInformix��SQLSQL--ServerServer��O2O2��DataflexDataflex

��UnifyUnify��DB2DB2��ParadoxParadox��FirebirdFirebird��CACA--OpenIngresOpenIngres��DbaseDbase��JasmineJasmine

��O2O2��OracleOracle��PostgreSQLPostgreSQL��MySQLMySQL��CacheCache��OrionOrion��SybaseSybase��GuptaGupta

Page 13: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Cenário Atual

Page 14: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Vantagens de Utilização de um Banco de Dados

Os Dados podem ser Compartilhados� Os Dados podem ser Compartilhados

O compartilhamento significa não O compartilhamento significa não apenas que apenas que as aplicações existentes as aplicações existentes podem compartilhar dados do banco de podem compartilhar dados do banco de dados, mas também que podem ser dados, mas também que podem ser desenvolvidas novas aplicações para desenvolvidas novas aplicações para operar sobre os mesmos dados.operar sobre os mesmos dados.

Page 15: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Compartilhamento de Dados

LAN – Rede Local

Workstations

Servidor

Banco deDados

Page 16: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� A Redundância pode ser Reduzida

Nem toda redundância pode ou deve ser necessariamente eliminada, pois, às vezes, há razões comerciais ou técnicas plausíveis para manter várias comerciais ou técnicas plausíveis para manter várias cópias distintas dos mesmos dados.

Banco deDados

Banco deDados

FUNCIONÁRIOS

MAT NOME SEXO

1 ANA F

2 JOÃO M

3 MARA F

FUNCIONÁRIOS

MAT NOME SEXO

1 ANA F

2 JOÃO M

3 MARA F

Page 17: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� A Inconsistência pode ser Evitada

Um banco de dados que se encontra em um estado inconsistente tem a possibilidade de fornecer informações incorretas ou contraditórias a seus informações incorretas ou contraditórias a seus usuários.

ALUNOS

MATRIC NOME

1 ANA DA SILVA PAES

2 JOÃO DUARTE MENDES

3 MARA DE MEDEIROS

ALUNOS

MATRIC NOME

1 ANA DA SILVA CUNHA

2 JOÃO DUARTE MENDES

3 MARA DE MEDEIROS

Inconsis

tência

Page 18: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� O Suporte a Transações pode ser fornecido

Uma Transação é uma unidade lógica de trabalho, em geral envolvendo diversas operações de banco de geral envolvendo diversas operações de banco de dados.

Page 19: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� A Integridade pode ser mantida

O problema da integridade é o de assegurar que os dados no banco de dados estão corretos.

TURMAS

CODIGO DESCR CURSO

1 ADSIN1P1 1

2 ADSIN1P2 1

3 ADSIN1P3 1

ALUNOS

MATRIC NOME TURMA

1 ANA 1

2 JOÃO 2

3 MARA 4

Turma

Inexistente

Page 20: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� A Segurança pode ser reforçada

Tendo um controle completo sobre o banco de completo sobre o banco de dados, o Administrador de Banco de Dados – DBA pode assegurar que o único meio de acesso ao banco de dados seja através dos canais apropriados.

Page 21: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Os Padrões podem ser reforçadosCom o controle central do banco de dados, o DBA pode garantir que todos os padrões aplicáveis serão observados na representação dos dados.

Page 22: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Arquitetura de Banco de DadosA arquitetura de Sistemas de Banco de Dados é influenciada por aspectos da arquitetura de computador como redes, paralelismo e distribuição;

Podem ser identificadas as seguintes arquiteturas:� Sistemas Centralizados;� Sistemas Cliente Servidor;� Sistemas Paralelos (Multi-processador);� Sistemas Distribuídos.

Page 23: Unidade I - Princípios de Banco de Dados.pdf

Arquitetura de Banco de Dados

� Sistemas Centralizados� Em geral, baseados em mainframes;� O processamento e a interface com o usuário é processada no sistema centralizado. A interface é enviada para um terminal “burro” onde é visualizada pelo usuário;terminal “burro” onde é visualizada pelo usuário;

� O terminal não realiza nenhum processamento, apenas apresenta informações ao usuário. É como se fosse uma “extensão” do monitor de vídeo plugado em um computador central;

� O sistema gerenciador do banco de dados é instalado no sistema central, onde tanto o processamento (back-end) como a interface (front-end) é executada neste computador.

Page 24: Unidade I - Princípios de Banco de Dados.pdf

Arquitetura de Banco de Dados

� Sistemas Cliente-Servidor� Surgiu a partir do advento das redes;� Neste caso existe um servidor responsável pelo processamento das consultas e transações (back-end);

� Existe um computador-cliente (front-end) responsável por � Existe um computador-cliente (front-end) responsável por enviar as consultas e exibir os resultados obtidos a partir do servidor;

� O computador-cliente precisa ter instalado uma parte da tecnologia do SGBD, responsável por fazer a comunicação com o servidor.

Page 25: Unidade I - Princípios de Banco de Dados.pdf

Arquitetura de Banco de Dados

� Sistemas ParalelosVale destacar dois tipos:� Paralelismo com alguns processadores (Granularidade Grossa);� Paralelismo com várias unidades de processamento (Granularidade Fina);

– Computadores com alguns processadores:– Computadores com alguns processadores:� Permitem que consultas que chegam ao servidor sejam “roteadas” para cada

unidade de processamento;� A consulta em si não é dividida, ela é realizada por um único processador;� O que se consegue é distribuir as consultas entre os diversos processadores;� Este é o cenário mais comum de ser encontrado;

– Computadores com várias unidades de processamento:� Este é um cenário mais específico;� Neste caso as consultas em pedaços de trabalho menores são paralelizadas

entre os diversos processadores;� É empregado em bancos de dados que precisam processar grandes volumes de

dados (Terabytes);

Page 26: Unidade I - Princípios de Banco de Dados.pdf

Arquitetura de Banco de Dados

� Sistemas Distribuídos

� Neste caso os dados são distribuídos em diversos computadores, geralmente separados geograficamente;

� Por exemplo, imagine uma rede de lojas em que cada filial e � Por exemplo, imagine uma rede de lojas em que cada filial e a matriz apresentem seus bancos de dados contendo informações de catálogo de produtos e vendas;

� Distinção entre sistemas paralelos e sistemas distribuídos:� No sistema distribuído, cada nó representa um conjunto separado de “CPU+Memória+Disco”;

� Em sistemas paralelos, partes são compartilhadas entre as unidades de processamento.

Page 27: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Modelo de DadosUm Modelo de Dados é uma coleção de mecanismos para descrever dados, relações de dados, semântica de dados e restrições de consistência;Em Bancos de Dados, alguns modelos empregados são:Em Bancos de Dados, alguns modelos empregados são:� Modelo Relacional;� Modelo de Entidade e Relacionamento;� Modelo de Dados Baseado em Objetos;� Modelo de Dados Semi-estruturados;

Antigamente, estudavam-se também� Modelo de Dados em Rede;� Modelo de Dados Hierárquicos;

Atualmente estes modelos não estão mais em uso.

Page 28: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Modelo de Dados

Modelo de Dados Baseado em Objetos:� Estendem o modelo de dados relacional incluindo orientação

construções para lidar com tipos de dados inseridos.construções para lidar com tipos de dados inseridos.� Fornecem compatibilidade com linguagens relacionais posteriores

existentes.

Modelo de Dados Semi-estruturados:� Permitem uma especificação de dados em que itens de dados

individuais do mesmo tipo possam ter diferentes conjuntos de atributos.

� Uso de XML.

Page 29: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Modelagem de DadosUm elemento ou um conjunto de elementos de representação são agrupados e organizados para representar uma porção do “mundo real”, constituindo um “esquema de dados” compreensível constituindo um “esquema de dados” compreensível pelo gerenciador.

Page 30: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Modelagem de DadosQual o objetivo da modelagem de dados ? Por que modelar ?

�� Representar o ambiente observadoRepresentar o ambiente observado�� Representar o ambiente observadoRepresentar o ambiente observado�� Documentar e normalizarDocumentar e normalizar�� Fornecer processos de validaçãoFornecer processos de validação�� Observar processos de Observar processos de

relacionamentos entre objetosrelacionamentos entre objetos

Page 31: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Modelagem de DadosModelar implica em construir modelos. Podemos definir as etapas envolvidas na construção de modelos em :

1 - Modelo conceitual - Representa as regras de negócio 1 - Modelo conceitual - Representa as regras de negócio sem limitações tecnológicas ou de implementação por isto é a etapa mais adequada para o envolvimento do usuário que não precisa ter conhecimentos técnicos. Neste modelo temos :� Visão Geral do negócio� Facilitação do entendimento entre usuários e desenvolvedores� Possui somente as entidades e atributos principais� Pode conter relacionamentos n para m.

Page 32: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Modelagem de Dados

2- Modelo Lógico - Leva em conta limites impostos por algum tipo de tecnologia de banco de dados. (banco de dados hierárquico , banco de dados relacional ,etc.). Suas dados hierárquico , banco de dados relacional ,etc.). Suas características são :� Deriva do modelo conceitual e via a representação do negócio� Possui entidades associativas em lugar de relacionamentos n:m� Define as chaves primárias das entidades� Normalização até a 3a. forma normal� Adequação ao padrão de nomenclatura� Entidades e atributos documentados

Page 33: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Modelagem de Dados

3- Modelo Físico - Leva em consideração limites impostos pelo SGBD (Sistema Gerenciador de Banco de dados) e pelos requisitos não funcionais dos programas dados) e pelos requisitos não funcionais dos programas que acessam os dados. Características:� Elaborado a partir do modelo lógico� Pode variar segundo o SGBD� Pode ter tabelas físicas (log , lider , etc.)� Pode ter colunas físicas (replicação)

Page 34: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Sistema RelacionaisEm sistemas relacionais, as estruturas físicas de armazenamento encontradas no banco de dados possuem características particulares, como:

� Tabelas: Arquivo de dados, contendo um conjunto de ocorrências que definem um grupo específico dentro do sistema. de ocorrências que definem um grupo específico dentro do sistema.

� Chave Candidata: São as possíveis chaves de identificação de uma única ocorrência de uma tabela.

� Chave Primária: É uma chave candidata, selecionada por melhor conveniência (facilidade de utilização, menor possibilidade de erros, etc.). Toda tabela precisa possuir, obrigatoriamente, uma chave primária.

Page 35: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Sistema Relacionais

� Sistemas Relacionais

Banco deDados

Page 36: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Entidades e RelacionamentosO termo entidade é usado comumente no meio de banco de dados para indicar qualquer objeto distinguível que deva ser representado no banco de dados. dados. Os relacionamentos expressam uma necessidade de um gerenciamento integrado dos dados, fazendo com que exista uma ligação entre as informações de entidades básicas diferentes.

Page 37: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Entidades e Relacionamentos

Banco deDados

Visão Abstrata dos

Dados

Page 38: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Modelo de Entidade e Relacionamento – MER

O principal propósito do MER é representar os objetos de dados e suas relações, sendo que cada entidade termina representada pelo menos por uma tabela de dadosdados

Page 39: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Modelo de Entidade e Relacionamento – MER

Page 40: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Modelo de Entidade e Relacionamento – MERRegras aplicadas aos relacionamentos entre tabelas:

�� Relacionamento 1:N (Um para Muitos)Relacionamento 1:N (Um para Muitos)A Chave-Primária(PK) da tabela de dados com o lado 1 do relacionamento é exportada para a tabela com o lado N.relacionamento é exportada para a tabela com o lado N.

�� Relacionamento 1:1 (Um para Um)Relacionamento 1:1 (Um para Um)A Chave-Primária(PK) da tabela de dados A é exportada para a tabela de dados B ou aplica-se o inverso.

�� Relacionamento N:N (Muitos para Muitos)Relacionamento N:N (Muitos para Muitos)É gerada um tabela de dados resultante, onde nela encontra-se a Chave-Primária(PK) de ambas as tabelas relacionadas, formando assim, uma Chave-Primária Composta. O Relacionamento N:N deve ser desmembrado em dois relacionamentos de 1:N.

Page 41: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Exercício 01 - Modelagem de DadosO Departamento de Vendas da Indústria Beleza Ltda, após estudos de mercado, verificou que para atingir seus objetivos seria necessário adquirir frota de veículos próprios para motorizar seus vendedores. O mercado consumidor foi dividido em regiões de venda; foram estabelecidos percursos de entrega abrangendo pontos estratégicos dessas regiões e vendedores foram designados para cobrir estes percursos. Um sistema deve ser construído para administração da nova sistemática de vendas adotada pela empresa. Após entrevistas com o sistemática de vendas adotada pela empresa. Após entrevistas com o gerente da área, foram obtidas as seguintes informações: � cada região é identificada por um código; � uma região é composta de vários pontos estratégicos; � as regiões não têm pontos estratégicos em comum; � o vendedor tem a responsabilidade de cobrir uma região; � uma região pode ser coberta por vários vendedores; � a cada dia, um veículo fica sob responsabilidade de um vendedor; � um vendedor pode vender quaisquer itens ativos da tabela de produtos; � o vendedor é responsável pela identificação de cada cliente consumidor na nota

fiscal; � a nota fiscal contendo identificação do vendedor, itens e quantidades vendidas

é exigida para comprovação da venda

Page 42: Unidade I - Princípios de Banco de Dados.pdf

Princípios de Banco de Dados

� Exercício 02 - Modelagem de DadosA proposta tem como produto uma solução Web que servirá na organização dos dados persistentes à gestão acadêmica dos alunos de Pós-Graduação da UNAMA. As principais funcionalidades desta solução contemplam rotinas do controle acadêmico institucional. Após entrevistas com o gerente da área, foram obtidas as seguintes informações: � Cadastro / Consulta de Cursos;� Cadastro / Consulta de Cursos;� Cadastro / Consulta de Turmas;� Cadastro / Consulta de Alunos;� Cadastro / Consulta de Professores;� Cadastro / Consulta de Disciplinas;� Cadastro / Consulta de Notas dos Alunos em cada Disciplina;� Cadastro / Consulta de Faltas dos Alunos em cada Disciplina;� Manter Módulos;� Manter Usuários;� Manter Permissões;� Relatórios Diversos.

Page 43: Unidade I - Princípios de Banco de Dados.pdf

Dúvidas

????????Perguntas

Contatos: [email protected]

(91) 8148-8694