Vous êtes sur la page 1sur 47

Banco de Dados 1

Aula 01 Conceitos de Sistemas de


Banco de Dados
Prof. Diego Rocha Lima

17/05/2017
Plano da disciplina
Contedo:
1. Conceitos de Sistemas de Banco de Dados
2. Modelo entidade-relacionamento
3. Modelo relacional
4. Regras de integridade
5. Projeto de Banco de Dados Relacional
6. SQL
7. Transaes

Metodologia
Aulas tericas
Aulas prticas
Exerccios (avaliativos)
Implementaes (avaliativas)
Prova
Bibliografia base
HEUSER, C. Projeto de Banco de Dados. 6. ed.
Porto Alegre: Bookman, 2008.

SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN, S.


Sistema de Banco de Dados.5. ed. So Paulo:
Editora Campus, 2006.
Introduo
SGBD
(Sistema Gerenciador de Banco de Dados)

Objetivo principal fornecer uma maneira de recuperar


informaes de forma eficiente
SGBDs
Foram projetados para gerenciar muita informao;
Precisam garantir a segurana dos dados
Dados compartilhados entre vrios usurios
Aplicaes

Bancos
Informaes de Clientes, contas e transaes
bancrias
Linhas areas
Reservas e informaes de horrios
Universidades
Informaes de alunos e outros registros
Aplicaes

Carto de Crdito
Compras e gerao de faturas

Telecomunicaes
Registro de chamadas, cobranas, saldos

Finanas
Informaes de valores imobilirios, compra e
venda, financiamentos e transaes
Aplicaes
Vendas
Informaes de cientes, produto e compras.

Indstria
Controlar a produo e gerenciar materiais ou
produtos, estoques

Recursos Humanos
Informaes sobre funcionrios, pagamentos,
benefcios, contracheques
Aplicaes
Em todas as empresas, indstrias ou outras
instituies que utilizam sistemas informatizados,
as pessoas esto utilizando BDs direta ou
indiretamente

Ex.: O sistema acadmico consulta um banco de


dados antes de exibir as notas.
As interfaces ocultam detalhes do acesso ao banco
tornando visvel apenas a parte que interessa ao
usurio
Finalidade
Os SGBDs surgiram como alternativas aos
mtodos antigos de gerenciamento de dados
(guardados em arquivos).
Qualquer alterao nos dados implicava na
criao/edio de arquivos.

Guardar informaes em arquivos traz alguns


problemas.
Dados em arquivos
Redundncia e inconsistncia de dados:
arquivos podem estar duplicados;
informaes podem se apresentar de maneira
diferente nos arquivos
Dificuldade de acesso aos dados:
se o usurio no souber como esto guardados os
dados, ter dificuldade para encontr-los
Dados em arquivos
Problemas de integridade:
Alguns dados possuem restries e alterar essas
restries complicado em arquivos, pois
geralmente necessrio fazer alteraes no
programa

Problemas de atomicidade:
Falhas em programas tornam difcil a recuperao
de dados e informaes. Ex. operaes de
crdito/dbito.
Dados em Arquivos
Anomalias de acesso concorrente:
Problemas podem ocorrer quando muitos
usurios esto acessando os mesmos arquivos
simultaneamente.

Problemas de segurana:
Alguns dados/recursos no podem estar acessvel
a todos os usurios, apenas os que tem permisso
Desenvolvimento de bons SGBDs
Todas essas dificuldade exigiram o
desenvolvimento da Bancos de Dados mais
eficientes.

O que estudamos nas disciplinas de Banco de


Dados so justamente os mtodos, tcnicas, e
algoritmos que nos levam ao desenvolvimento
de SGBDs eficientes.
Conceitos Gerais
Viso de dados
O sistema deve ser capaz de fornecer viso
abstrata de dados, ocultado detalhes de
armazenamento

Abstrao de dados:
As complexidades do sistema so divididas por
nveis para simplificar suas iteraes
Abstrao de dados
Nvel fsico
Nvel mais baixo e descreve como os dados so
armazenados

Nvel lgico
Descreve quais dados so armazenado e suas
relaes existentes, bem como sua estrutura

Nvel de view
Nvel de visualizao dos dados
Nveis de abstrao
Instncias e esquemas
Esquema
Projeto que descreve detalhes do banco
Instncia
Informao armazenada no banco em um determinado
momento.

Analogia:
Esquema: variveis de um programa
Instncia: valor da varivel em um certo momento

Cada nvel de abstrao possui seus esquemas


Modelos de dados
So ferramentas conceituais que nos ajudam na
criao de um banco de dados em seus trs
nveis, descrevendo o projeto.

Modelo Relacional
Representao por tabelas e suas relaes. Cada
tabela possui registros e atributos de vrios
tipos. Modelo mais utilizando at hoje.
Modelos de dados
Modelo entidade/relacionamento (E-R)
Representao por entidades/objetos e relaes
entre estes. Uma entidade representa algo do
mundo real o qual se pode dar caractersticas.

Modelo baseado em objetos


Extenso do modelo E-R com caractersticas de
orientao objeto (encapsulamento,
mtodos)
Modelos de dados
Modelo semi-estruturado
Permite especificao dos dados em que itens
individuais do mesmo tipo possam ter
atributos diferentes. A XML um exemplo.

Modelo de Redes e Modelo de dados


hierrquicos so exemplos pouco utilizados
que foram suprimidos pelo mais recentes
Linguagens de bando de dados
Linguagem de definio de dados
Especificar o esquema do banco
Linguagem de manipulao
Para realizar as consultas ao banco

Na prtica so uma linguagem s, mas estudada


de formas separadas.
SQL (Structured Query Language)
Linguagem de manipulao de dados

Permite:
Linguagem de manipulao de dados

Tipos:
Linguagem de definio de dados
Restries de domnio
Domnio dos dados que podem ser armazenados
Integridade Referencial
Dados devem ser ntegros para todas as suas relaes
Assertivas
Condies especficas que o banco precisa fazer mas
que no podem ser especificadas nas restries de
domnio
Autorizao
Usurios deferentes podem ter acessos diferentes ao
dados (leitura, escrita, edio)
Banco de dados Relacional
Baseado em tabelas (linhas x colunas). Cada
coluna representa um atributo
Relaes em BDs
As relaes mantm o banco consistente
Linguagem de manipulao SQL
Linguagem de definio SQL
Operaes fora do SQL
Operaes no tratadas pelo SQL so executas
em uma linguagem de programao, que
posteriormente far a ligao com o banco de
dados.
Linguagens de programao possuem
consultas SQL embutidas
Exemplos:
Open Database Connectivity (ODBC)
Java Database Connectivity (JDBC)
Projetos de Banco de Dados
Envolve todas as etapas da criao de banco de
Dados
1. Especificao das necessidades do usurio
2. Escolha do modelo de dados
3. que e como
Que atributos capturar e como agrup-los
4. Especificao das necessidade funcionais
5. Implementao (fsica e lgica )
Exemplo (instituio bancria)
O banco organizado em agncias
Clientes so identificados por um ID
O banco oferece contas corrente e poupana
O banco oferece emprstimos
Funcionrios tambm possuem um ID
Exemplo no modelo E-R

atributos

Entidade Relao Entidade


atributos
atributos atributos
Instituio bancria (modelo E-R)
Normalizao de dados
Permite retirar as redundncias do banco
Necessidade:
Evitar repetio de informao
Capacidade de representar mais informaes
Exemplos Normalizao

Sem a normalizao fica


complicado manipular
informaes, pois as
mesmas podem estar
redundantes.
Ex.: alterar saldo da conta
A-201
Armazenamento e consulta de dados
Bancos exigem uma quantidade enorme de
espao para armazenamento.
O movimento de dados constante, ento
importante que o banco esteja bem projetado
para evitar lentido.
As vises ajudam a diminuir o trabalho feitos
nos nveis lgico e fsico.
Gerenciador de armazenamento
Gerenciador de armazenamento
Gerenciador de armazenamento
(detalhes de implementao)
Gerenciamento de transao
TUDO ou NADA

Propriedade da ATOMICIDADE

Se uma transao possui 3 operaes, o SGBD


garante que as trs operaes ocorrem, ou
nenhuma
Ex.: operao dbito/crdito
Arquitetura
geral de um
BD

Nvel de view

Nvel Lgico

Nvel Fsico
Nvel Fsico
Nvel Lgico
Nvel de view
Administrador do banco de dados
DBA (Database Administrator )

Responsvel por:
Definir o esquema do banco
Estruturar o armazenamento
Realizar modificaes no esquema
Conceder acesso aos usurios do banco
Manuteno e rotina
Exerccios
SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN, S.
Sistema de Banco de Dados.5. ed. So Paulo:
Editora Campus, 2006.

Exerccios: 1.1 1.11

Entrega: 24/04
Obs.: Exerccios sero debatidos em sala de aula

diego.rocha@ifce.edu.br