Você está na página 1de 43

Sistemas de Banco de Dados

Unidade I Princpios de Banco de Dados Prof. Fabrcio Alho fabricioalho@unama.br


Especializao em Banco de Dados UNAMA - 2012

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.

Agenda
Banco de Dados Sistema de Banco de Dados Vantagens de Utilizao Arquitetura de Banco de Dados Modelagem de Dados Sistemas Relacionais Modelo de Entidade e Relacionamento MER Exemplos Prticos de Modelagem

Princpios de Banco de Dados


Banco de Dados
uma coleo de dados interrelacionados, representando informaes sobre um domnio especfico.

Ex.:

Lista Telefnica Acervo de uma Biblioteca Relao de produtos de uma Loja.

Princpios de Banco de Dados


Banco de Dados
Um banco de dados uma coleo de dados logicamente relacionados, com algum significado. Um banco de dados projetado, construdo e preenchido com dados para um propsito especfico.
Possui um grupo de usurios e algumas aplicaes concebidas para atender a esses usurios.

Um banco de dados a representao de algum aspecto do mundo real.


Nos leva a que, qualquer mudana na realidade, provocar mudanas nessa base de dados.

Princpios de Banco de Dados


Aplicaes de banco de dados:
Banco: todas as transaes Linhas areas: reservas, horrios Universidades: matrculas, registros, notas Vendas: clientes, produtos, compras Revendedores on-line: acompanhamento de pedidos, recomendaes personalizadas Indstria: produo, estoque, pedidos, cadeia de suprimento Recursos humanos: registros de empregados, salrios, dedues de impostos.

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

Princpios de Banco de Dados


Sistema de Banco de Dados
Consiste em uma coleo de dados interrelacionados e uma coleo de programas para prover o acesso a esses dados.

Princpios de Banco de Dados


Sistema Gerenciador de Banco de Dados - SGBD
uma coleo de programas que permitem aos usurios definirem, construrem e manipularem uma base de dados para o uso das diversas aplicaes.

Princpios de Banco de Dados


Sistema Gerenciador de Banco de Dados - SGBD
Objetivo principal: Fornecer uma maneira de recuperar informaes de banco de dados que seja tanto conveniente como eficiente. Outros Objetivos: Disponibilizar dados integrados para usurios e aplicaes atravs de interfaces amigveis; Garantir a privacidade dos dados atravs de medidas de segurana como permisses, senhas de acesso e criptografia;

Princpios de Banco de Dados


Sistema Gerenciador de Banco de Dados - SGBD
Outros Objetivos:
Permitir compartilhamento dos dados de forma organizada, mediando a comunicao entre aplicaes e banco de dados, administrando acessos concorrentes; Possibilitar independncia dos dados e com isso poupar o usurio da necessidade de conhecer detalhes de implementao interna. A estrutura geral de um SGBD envolve, basicamente, os seguintes mdulos: Processamento de Consultas; Gerenciamento de Armazenamento de Dados;

Princpios de Banco de Dados


Sistema Gerenciador de Banco de Dados - SGBD

Programas de aplicao/consulta Software para processar consultas/programas SGBD Software para acessar dados armazenados

Definio da base de dados armazenada

Base de dados armazenada

Princpios de Banco de Dados


Exemplos de SGBD
ZIM FoxPro Dataflex Unify DB2 Paradox Firebird CA CA-OpenIngres Dbase Jasmine Informix SQLSQL -Server O2 Oracle PostgreSQL MySQL Cache Orion Sybase Gupta

Princpios de Banco de Dados


Cenrio Atual

Princpios de Banco de Dados


Vantagens de Utilizao de um Banco de Dados
Os Dados podem ser Compartilhados O compartilhamento significa no apenas que as aplicaes existentes podem compartilhar dados do banco de dados, mas tambm que podem ser desenvolvidas novas aplicaes para operar sobre os mesmos dados.

Princpios de Banco de Dados


Compartilhamento de Dados

Servidor
Banco de Dados

LAN Rede Local

Workstations

Princpios de Banco de Dados


A Redundncia pode ser Reduzida
Nem toda redundncia pode ou deve ser necessariamente eliminada, pois, s vezes, h razes comerciais ou tcnicas plausveis para manter vrias cpias distintas dos mesmos dados.
FUNCIONRIOS MAT 1 2 3 NOME ANA JOO MARA SEXO F M F Banco de Dados Banco de Dados

FUNCIONRIOS MAT 1 2 3 NOME ANA JOO MARA SEXO F M F

Princpios de Banco de Dados


A Inconsistncia pode ser Evitada
Um banco de dados que se encontra em um estado inconsistente tem a possibilidade de fornecer informaes incorretas ou contraditrias a seus usurios.
ALUNOS MATRIC 1 2 3 NOME ANA DA SILVA CUNHA JOO DUARTE MENDES MARA DE MEDEIROS ALUNOS MATRIC 1 2 3 NOME ANA DA SILVA PAES JOO DUARTE MENDES MARA DE MEDEIROS

Inconsis tncia

Princpios de Banco de Dados


O Suporte a Transaes pode ser fornecido
Uma Transao uma unidade lgica de trabalho, em geral envolvendo diversas operaes de banco de dados.

Princpios de Banco de Dados


A Integridade pode ser mantida
O problema da integridade o de assegurar que os dados no banco de dados esto corretos.

ALUNOS MATRIC 1 2 3 NOME ANA JOO MARA TURMA 1 2 4 Turma Inexistente

TURMAS CODIGO 1 2 3 DESCR ADSIN1P1 ADSIN1P2 ADSIN1P3 CURSO 1 1 1

Princpios de Banco de Dados


A Segurana pode ser reforada
Tendo um controle 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 atravs dos canais apropriados.

Princpios de Banco de Dados


Os Padres podem ser reforados
Com o controle central do banco de dados, o DBA pode garantir que todos os padres aplicveis sero observados na representao dos dados.

Princpios de Banco de Dados


Arquitetura de Banco de Dados
A arquitetura de Sistemas de Banco de Dados influenciada por aspectos da arquitetura de computador como redes, paralelismo e distribuio; Podem ser identificadas as seguintes arquiteturas: Sistemas Centralizados; Sistemas Cliente Servidor; Sistemas Paralelos (Multi-processador); Sistemas Distribudos.

Arquitetura de Banco de Dados


Sistemas Centralizados
Em geral, baseados em mainframes; O processamento e a interface com o usurio processada no sistema centralizado. A interface enviada para um terminal burro onde visualizada pelo usurio; O terminal no realiza nenhum processamento, apenas apresenta informaes ao usurio. como se fosse uma extenso do monitor de vdeo 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.

Arquitetura de Banco de Dados


Sistemas Cliente-Servidor
Surgiu a partir do advento das redes; Neste caso existe um servidor responsvel pelo processamento das consultas e transaes (back-end); Existe um computador-cliente (front-end) responsvel 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, responsvel por fazer a comunicao com o servidor.

Arquitetura de Banco de Dados


Sistemas Paralelos
Vale destacar dois tipos:
Paralelismo com alguns processadores (Granularidade Grossa); Paralelismo com vrias unidades de processamento (Granularidade Fina);

Computadores com alguns processadores:


Permitem que consultas que chegam ao servidor sejam roteadas para cada unidade de processamento; A consulta em si no dividida, ela realizada por um nico processador; O que se consegue distribuir as consultas entre os diversos processadores; Este o cenrio mais comum de ser encontrado;

Computadores com vrias unidades de processamento:


Este um cenrio mais especfico; Neste caso as consultas em pedaos de trabalho menores so paralelizadas entre os diversos processadores; empregado em bancos de dados que precisam processar grandes volumes de dados (Terabytes);

Arquitetura de Banco de Dados


Sistemas Distribudos
Neste caso os dados so distribudos em diversos computadores, geralmente separados geograficamente; Por exemplo, imagine uma rede de lojas em que cada filial e a matriz apresentem seus bancos de dados contendo informaes de catlogo de produtos e vendas; Distino entre sistemas paralelos e sistemas distribudos: No sistema distribudo, cada n representa um conjunto separado de CPU+Memria+Disco; Em sistemas paralelos, partes so compartilhadas entre as unidades de processamento.

Princpios de Banco de Dados


Modelo de Dados
Um Modelo de Dados uma coleo de mecanismos para descrever dados, relaes de dados, semntica de dados e restries de consistncia; Em Bancos de Dados, alguns modelos empregados so:
Modelo Modelo Modelo Modelo Relacional; de Entidade e Relacionamento; de Dados Baseado em Objetos; de Dados Semi-estruturados;

Antigamente, estudavam-se tambm


Modelo de Dados em Rede; Modelo de Dados Hierrquicos;

Atualmente estes modelos no esto mais em uso.

Princpios de Banco de Dados


Modelo de Dados
Modelo de Dados Baseado em Objetos:
Estendem o modelo de dados relacional incluindo orientao construes para lidar com tipos de dados inseridos. Fornecem compatibilidade com linguagens relacionais posteriores existentes.

Modelo de Dados Semi-estruturados:


Permitem uma especificao de dados em que itens de dados individuais do mesmo tipo possam ter diferentes conjuntos de atributos. Uso de XML.

Princpios de Banco de Dados


Modelagem de Dados
Um elemento ou um conjunto de elementos de representao so agrupados e organizados para representar uma poro do mundo real, constituindo um esquema de dados compreensvel pelo gerenciador.

Princpios de Banco de Dados


Modelagem de Dados
Qual o objetivo da modelagem de dados ? Por que modelar ?
Representar o ambiente observado Documentar e normalizar Fornecer processos de validao Observar processos de relacionamentos entre objetos

Princpios de Banco de Dados


Modelagem de Dados
Modelar implica em construir modelos. Podemos definir as etapas envolvidas na construo de modelos em : 1 - Modelo conceitual - Representa as regras de negcio sem limitaes tecnolgicas ou de implementao por isto a etapa mais adequada para o envolvimento do usurio que no precisa ter conhecimentos tcnicos. Neste modelo temos :
Viso Geral do negcio Facilitao do entendimento entre usurios e desenvolvedores Possui somente as entidades e atributos principais Pode conter relacionamentos n para m.

Princpios de Banco de Dados


Modelagem de Dados
2- Modelo Lgico - Leva em conta limites impostos por algum tipo de tecnologia de banco de dados. (banco de dados hierrquico , banco de dados relacional ,etc.). Suas caractersticas so :
Deriva do modelo conceitual e via a representao do negcio Possui entidades associativas em lugar de relacionamentos n:m Define as chaves primrias das entidades Normalizao at a 3a. forma normal Adequao ao padro de nomenclatura Entidades e atributos documentados

Princpios de Banco de Dados


Modelagem de Dados
3- Modelo Fsico - Leva em considerao limites impostos pelo SGBD (Sistema Gerenciador de Banco de dados) e pelos requisitos no funcionais dos programas que acessam os dados. Caractersticas:
Elaborado a partir do modelo lgico Pode variar segundo o SGBD Pode ter tabelas fsicas (log , lider , etc.) Pode ter colunas fsicas (replicao)

Princpios de Banco de Dados


Sistema Relacionais
Em sistemas relacionais, as estruturas fsicas de armazenamento encontradas no banco de dados possuem caractersticas particulares, como:

Tabelas: Arquivo de dados, contendo um conjunto de ocorrncias que definem um grupo especfico dentro do sistema. Chave Candidata: So as possveis chaves de identificao de uma nica ocorrncia de uma tabela. Chave Primria: uma chave candidata, selecionada por melhor convenincia (facilidade de utilizao, menor possibilidade de erros, etc.). Toda tabela precisa possuir, obrigatoriamente, uma chave primria.

Princpios de Banco de Dados


Sistema Relacionais

Sistemas Relacionais

Banco de Dados

Princpios de Banco de Dados


Entidades e Relacionamentos
O termo entidade usado comumente no meio de banco de dados para indicar qualquer objeto distinguvel que deva ser representado no banco de dados. Os relacionamentos expressam uma necessidade de um gerenciamento integrado dos dados, fazendo com que exista uma ligao entre as informaes de entidades bsicas diferentes.

Princpios de Banco de Dados


Entidades e Relacionamentos

Banco de Dados

Viso Abstrata dos Dados

Princpios de Banco de Dados


Modelo de Entidade e Relacionamento MER
O principal propsito do MER representar os objetos de dados e suas relaes, sendo que cada entidade termina representada pelo menos por uma tabela de dados

Princpios de Banco de Dados


Modelo de Entidade e Relacionamento MER

Princpios de Banco de Dados


Modelo de Entidade e Relacionamento MER
Regras aplicadas aos relacionamentos entre tabelas:
Relacionamento 1:N (Um para Muitos) A Chave-Primria(PK) da tabela de dados com o lado 1 do relacionamento exportada para a tabela com o lado N. Relacionamento 1:1 (Um para Um) A Chave-Primria(PK) da tabela de dados A exportada para a tabela de dados B ou aplica-se o inverso. Relacionamento N:N (Muitos para Muitos) gerada um tabela de dados resultante, onde nela encontra-se a Chave-Primria(PK) de ambas as tabelas relacionadas, formando assim, uma Chave-Primria Composta. O Relacionamento N:N deve ser desmembrado em dois relacionamentos de 1:N.

Princpios de Banco de Dados


Exerccio 01 - Modelagem de Dados
O Departamento de Vendas da Indstria Beleza Ltda, aps estudos de mercado, verificou que para atingir seus objetivos seria necessrio adquirir frota de veculos prprios para motorizar seus vendedores. O mercado consumidor foi dividido em regies de venda; foram estabelecidos percursos de entrega abrangendo pontos estratgicos dessas regies e vendedores foram designados para cobrir estes percursos. Um sistema deve ser construdo para administrao da nova sistemtica de vendas adotada pela empresa. Aps entrevistas com o gerente da rea, foram obtidas as seguintes informaes:
cada regio identificada por um cdigo; uma regio composta de vrios pontos estratgicos; as regies no tm pontos estratgicos em comum; o vendedor tem a responsabilidade de cobrir uma regio; uma regio pode ser coberta por vrios vendedores; a cada dia, um veculo fica sob responsabilidade de um vendedor; um vendedor pode vender quaisquer itens ativos da tabela de produtos; o vendedor responsvel pela identificao de cada cliente consumidor na nota fiscal; a nota fiscal contendo identificao do vendedor, itens e quantidades vendidas exigida para comprovao da venda

Princpios de Banco de Dados


Exerccio 02 - Modelagem de Dados
A proposta tem como produto uma soluo Web que servir na organizao dos dados persistentes gesto acadmica dos alunos de Ps-Graduao da UNAMA. As principais funcionalidades desta soluo contemplam rotinas do controle acadmico institucional. Aps entrevistas com o gerente da rea, foram obtidas as seguintes informaes:
Cadastro / Consulta de Cadastro / Consulta de Cadastro / Consulta de Cadastro / Consulta de Cadastro / Consulta de Cadastro / Consulta de Cadastro / Consulta de Manter Mdulos; Manter Usurios; Manter Permisses; Relatrios Diversos. Cursos; Turmas; Alunos; Professores; Disciplinas; Notas dos Alunos em cada Disciplina; Faltas dos Alunos em cada Disciplina;

Dvidas

?
Perguntas
Contatos: fabricioalho@unama.br (91) 8148-8694