You are on page 1of 20

unesp

Banco de Dados I
(Introduo)

Ronaldo Celso Messias Correia


Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Objetivos da Disciplina
Propiciar ao aluno conhecimento abrangente
de um Sistema de Gerncia de Banco de Dados Propiciar um estudo aprofundado de diferentes modelos de dados dentre eles os modelos Entidade-Relacionamento e Relacional Utilizar softwares para anlise e prtica de conceitos Estudados Definir e implementar um esquema de um banco de dados para uma determinada aplicao.
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Avaliaes
Avaliao escrita englobando todo contedo
programtico Implementao de um projeto em um SGBD Relacional. Consiste nas seguintes etapas:

Descrio do problema: descrio geral do ambiente a ser modelado, objetivos, funcionalidades e relatrios esperados ; Definio do modelo E/R em alguma notao Implementao em um SGBD Relacional

Seminrios
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Avaliaes - Critrios
As notas de todas as atividades iro variar de 0 (zero) a 10,0 (dez) As notas das atividades em grupo sero atribudas individualmente A mdia final ser calculada da seguinte maneira:
MF = (Mb1 + Mb2)/2 Mbn = (Pbn * Coefn) Coefn = 0,8 + (0,4 * NTn / 10) Onde: MF = Mdia Final Mb = Mdia Bimestral Coefn = Coeficiente multiplicativo, que varia de 0,8 a 1,2. NTn = Mdia das notas das atividades prticas do bimestre Vale observar que as mdias bimestrais podem assumir valores entre ZERO e DEZ. Caso o aluno no obtenha a nota mnima para aprovao, ser oferecida uma terceira avaliao (EXAME) e a Mdia Final passa a ser obtida pela expresso: MFnova = (MFanterior + EXAME)/2
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Bibliografia
SILBERSCHATZ, A., e KORTH, S. e
SUDARSHAN, S. Sistema de Banco de Dados, 5a edio, Editora Campus, 2006. NAVATHE, S. e ELMASRI, R. Fundamentals of Database Systems, 4a edio, Addison Wesley, 2004. DATE, C. Introduo a Sistemas de Banco de Dados, Campus, 2000.
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Conceitos
Diferena entre Informao e Dado

Informao: qualquer fato ou conhecimento do mundo real e que pode ou no ser registrado /armazenado Dado: a representao da informao, que pode estar registrado em papel, num quadro de aviso ou no disco rgido do computador Exemplo:
Informao: Est muito quente hoje Dado: A tempera hoje de 38 graus Celsius

O computador armazena e processa dados e no informaes


Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Conceitos
Banco de Dados:

uma coleo de dados relacionados O uso do termo mais restrito em virtude das seguintes caractersticas:
Um BD representa algum aspecto do mundo real, o qual

chamamos de Minimundo ou Universo de Discurso


um conjunto lgico e ordenado de dados que possuem

algum significado inerente


Um BD projetado, construdo e povoado com dados que

possuem objetivos especficos

Ingredientes necessrios em um BD:


Uma fonte de dados da qual derivamos os dados A interao com o mundo real Pblico que demonstra interesse nos dados contidos no

Banco
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

Conceitos
Terminologia Bsica

unesp
tupla registro

Campo: unidade bsica de informao mnima com significado Registro: conjunto de campos Arquivo: conjunto de registros Banco de Dados (BD): conjunto de arquivos e as formas de manipulao Campo: atributo Registro: tupla Arquivo: tabela ou relao Domnio: contedo da relao
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

Nome Endereo Telefone Cidade Estado N

Terminologia Relacioal

campos atributo

unesp
Conceitos
Sistema Gerenciador de Banco de Dados (SGBD)

uma coleo de programas que permite aos usurios criar e manter um banco de dados um sistema de sofware que facilita os processos de definio, construo, manipulao e compartilhamento de bancos de dados entre vrios usurios e aplicaes
Definio: Especificao dos tipos de dados, das estruturas das

tabelas e das restries que devem ser impostas aos dados que sero armazenados Construo: Processo de acumular os dados num meio de armazenamento controlado pelo SGBD Manipulao: Operaes como atualizao do banco de dados (incluso, excluso e alterao de registros) e extrao de dados, como consultas e relatrios impressos Compartilhamento: Permite aos mltiplos usurios e programas acessar, de forma concorrente, o banco de dados

Ex: Oracle, SQL Server, PostgreSQL, MYSQL, Interbase, Sybase, Firebird, etc..
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Conceitos
Comparao com o Processamento Tradicional de Arquivos

No processamento tradicional de arquivos os usurios definem os arquivos necessrios para cada aplicao especfica, resultando em redundncia e desperdicio de espao de armazenamento No enfoque de BD no armazenado somente o banco em si, mas sim a estrutura do banco de dados e uma descrio completa (Catalogo do Sistema) Acesso no requer conhecimento destas estruturas (Independncia dos Dados)
Quando houver alterao na estrutura de dados os

programao no precisam ser alterados

As informaes do catalogo so chamadas de Metadados


Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Conceitos
Consistncia de Dados

o estado ou carter do que coerente, do que tem solidez, veracidade, credibilidade, estabilidade, realidade Consistncia: sempre que a mesma informao armazenada, mesmo que em locais diferentes (redundncia), ela tem o mesmo valor Quando os dados se encontram em um estado inconsistente, informaes incorretas ou contraditrias podem ser fornecidas aos usurios

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Conceitos
Consistncia de Dados

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Vantagens de Utilizar um SGBD
Independncia entre programas e dados

Catalogo que consiste de metadados dados sobre os dados Funes / procedimentos de manipulao dos dados armazenados tambm fazem parte do BD Controle de acesso mais especializado Mesmo conjunto de dados pode ser apresentado a usurios diferentes de forma distinta

Independncia entre operaes e programas

Segurana

Suporte a Vises

Facilidades de Backup e Restaurao Fornecimento de Mltiplas Interfaces aos Usurios


Baseadas em Menus e formulrios (GUIs Graphical USer Interface) Linguagens de consulta e interfaces de linguagem de programao
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
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

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Profissionais envolvidos:
DBA (Administrador de Banco de Dados)

Responsvel por autorizar o acesso, coordenar e monitorar seu uso, e por adquirir recursos de software e hardware Avaliar o desempenho e problemas de segurana do sistema Responsvel por escolher as estruturas para representar e armazenar dados e vises Aplicaes de BD: usurios leigos Linguagens de BD: usurios casuais a sofisticados Determinam as necessidades dos usurios finais e implementam as aplicaes Projetam e implementam os mdulos e interfaces do SGBD, como um pacote Programas que facilitam o projeto e uso de um sistema de banco de dados, aprimorando seu desempenho
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

Projetista do BD:

Usurio Final: podem integrar com o BD atravs de:


Analistas de Sistemas e programadores:

Projetistas do SGBD

Desenvolvedores de Ferramentas:

unesp
Profissionais envolvidos:
DBA (Administrador de Banco de Dados)

Responsvel por autorizar o acesso, coordenar e monitorar seu uso, e por adquirir recursos de software e hardware Avaliar o desempenho e problemas de segurana do sistema Responsvel por escolher as estruturas para representar e armazenar dados e vises Aplicaes de BD: usurios leigos Linguagens de BD: usurios casuais a sofisticados Determinam as necessidades dos usurios finais e implementam as aplicaes Projetam e implementam os mdulos e interfaces do SGBD, como um pacote Programas que facilitam o projeto e uso de um sistema de banco de dados, aprimorando seu desempenho
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

Projetista do BD:

Usurio Final: podem integrar com o BD atravs de:


Analistas de Sistemas e programadores:

Projetistas do SGBD

Desenvolvedores de Ferramentas:

unesp
Sistema de Banco de Dados
um ambiente de hardware e de software composto por
dados armazenados em um banco de dados (BD), pelo software de gerncia do banco de dados (SGBD) e os programas de aplicao Configurao de um Sistema de Banco Simplificado

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp

Modelo de Dados
Uma coletnea de conceitos que podem ser utilizados
para descrever a estrutura de um banco de dados (tipos de dados, relacionamentos e restries) e tambm um conjunto de operaes bsicas para especificar recuperaes e atualizaes no banco de dados Modelo de Dados - Categorias:

Modelos de dados conceituais (alto nvel)


Possuem conceitos que descrevem os dados como os usurios os

percebem: entidades, atributos e relacionamentos


Modelos lgicos baseados em objetos

Modelos de dados representacionais (ou de implementao)


Descrevem a forma como os dados esto organizados dentro do

computador
Modelos lgicos baseados em registros

Modelos de dados fsicos (baixo nvel)


Descrevem detalhes de como os dados esto armazenados no

computador
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Sistema de Banco de Dados
Em qualquer modelo de dados importante distinguir
entre a descrio do banco de dados e o banco de dados de fato Esquema

a descrio do banco de dados definido durante o projeto do banco de dados e no se espera que seja alterado frequentemente Em linguagem de programao equivalente a definio de um tipo de dados o banco de dados em si Em uma linguagem de programao, isto equivalente a uma declarao de uma varivel do tipo definido e o seu valor

Instncia

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Arquitetura de Trs Esquemas
Esquemas podem ser definidos em Trs-nveis

Proposta para auxiliar na realizao e visualizao das seguintes caractersticas:


Independncia de dados e operao de programas Suporte a mltiplas vises Uso do catlogo para armazenar a descrio do banco de dados

O objetivo separar o usurio da aplicao do banco de dados fsico


1. Nvel Interno esquema interno

Descreve a estrutura de armazenamento fsico do banco de dados Utiliza um modelo de dados fsico Descreve a estrutura da base de dados sem detalhes de estrutura de armazenamento fsico Que dados esto armazenados e como esto relacionados Descreve as vises dos usurios: a parte da base de dados em que cada grupo de usurios tem interesse Descrio de sub-esquemas
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

2. Nvel Conceitual esquema conceitual ou lgico


3. Nvel Externo esquema externo (vises dos usurios)


10

unesp
Sistema de Banco de Dados
Arquitetura de Trs-nveis (ou trs-esquemas)
NVEL EXTERNO
Mapeamento externo/conceitual

Viso 1

Viso 2

Viso 3

NVEL CONCEITUAL
Mapeamento conceitual/interno

Esquema Conceitual

Fsica
NVEL INTERNO

Banco de Dados Armazenado


Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Sistema de Banco de Dados
Independncia de Dados

a capacidade de mudar o esquema em um nvel do sistema de banco de dados sem que ocorram alteraes do esquema no prximo nvel mais alto Independncia de dados lgica
Refere-se a capacidade de modificar o esquema lgico sem que, com

isso, qualquer programa de aplicao precise ser reescrito

Independncia de dados fsica


Refere-se a capacidade de modificar o esquema fsico sem que, com

isso, qualquer programa de aplicao precis ser reescrito

O conceito de independncia de dados de vrias formas similar ao conceito de tipo abstrato de dados empregado nas linguagens de programao

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

11

unesp Sistema de Banco de Dados

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp Sistema de Banco de Dados

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

12

unesp Sistema de Banco de Dados

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Sistema de Banco de Dados
Projeto Conceitual

Independente de SGBD Modelo Conceitual MER Esquema Lgico Mapeamento do Modelo Conceitual para modelo do SGBD Ex: Modelo Relacional Estruturas Fsicas de Armazenamento
Organizao de registros fsicos ndices

Projeto Lgico

Projeto Fsico

Critrios
Tempo de resposta Espao utilizado Nmero de transaes
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

13

unesp
Linguagens de Banco de Dados
Linguagem de Definio de Dados (DDL)

Permite especificar o esquema do banco de dados, atravs de um conjunto de definies de dados O compilador DDL do SGBD processa e identifica os os comandos, que so armazenados no catlogo (metadados) Permite ao usurio acessar ou manipular os dados Uma consulta (query) um comando que requisita uma recuperao de informao A parte de uma DML que envolve recuperao de informao chamada linguagem consulta DMLs procedurais: exigem que o usurio especifique quais dados so necessrios, e como obt-los
Algebra Relacional SQL

Linguagem de Manipulao de Dados (DML)


DMLs no procedurais: exigem que o usurio especifique quais dados so necessrios, sem especificar como obt-los
Clculo Relacional
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

Componentes de um SGDB

unesp

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

14

unesp
Componentes de um SGDB
Processador de Consultas

Compilador DML
Analisa sintaticamente e semanticamente comandos DML

expressos em uma linguagem de consulta (ex. SQL)


Traduz estes comandos para uma das formas de representao

interna de consultas (ex. lgebra relacional)

Pr-Compilador DML
Inseridos em programas de aplicao, traduz comandos DML em

chamadas a procedimentos (rotinas) na linguagem hospedeira

Interpretador DDL
Interpreta comandos DDL e os armazena no catlogo Tabelas contendo meta-dados Descrio do banco de dados Esquema

Mecanismo de Consultas
Responsvel pela otimizao e gerao de planos de execuo

de consultas
Executam instrues geradas pelo compilador DML
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Componentes de um SGDB
Sistema de Armazenamento

Gerenciador de transaes
Controle de concorrncia Recuperao do banco de dados aps falha (estado

consistente)

Gerenciador de arquivos (File System)


Responsvel pelo armazenamento fsico em disco Gerencia a alocao de espao em disco

Gerenciador de buffer
Responsvel para recuperar objetos em disco e carreg-los

na memria principal em forma de pginas

SGBD possui uma rea de buffer em memria principal

Mapeamento: Bloco

(disco)

Pgina (buffer do SGBD)

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

15

unesp
Componentes de um SGDB
Arquivos de dados + ndices + Catlogo

Arquivo de dados
Armazena o prprio banco de dados

ndices
Estruturas de ndices para os arquivos de dados Proporcionam acesso rpido aos itens de dados

Catlogo
Armazena esquema do banco de dados (meta-dados)

Nomes das tabelas Atributos de cada tabela Definio de ndice para uma tabela, etc

Dados Estatsticos
Informaes utilizadas pelo processador de consultas para seleo de

meios eficientes para execuo de uma consulta


Exemplo:

Cardinalidade de uma tabela

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Arquiteturas do Banco de Dados
A arquitetura de um sistema de banco
de dados bastante influenciada pelo sistema de computador subjacente em que o sistema de banco de dados executado:

Centralizada Cliente-servidor Paralelo (multiprocessador) Distribudo


Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

16

unesp
Arquiteturas do Banco de Dados
As aplicaes so particionadas em duas ou trs partes

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Modelos Lgicos baseados em registros
Descrio dos dados nos nveis conceitual e externo O banco de dados estruturado em registros de
formatos fixos, de diversos tipos Cada tipo de registro tem sua coleo de campos ou atributos, de tamanho fixo H linguagens para expressar consultas e atualizaes no banco de dados Os trs modelos mais comumente utilizados so:

Relacional Rede Hierrquico

O modelo relacional o mais utilizado atualmente

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

17

unesp
Modelo Relacional
Utiliza um conjunto de tabelas para representar tanto os dados como a relao entre eles Cada tabela possui mltiplas colunas e cada uma possui um nome nico Conjunto de operadores

lgebra Relacional e Clculo Relacional Integridade de chave primria Integridade Referencial


CPF
015425446 154879984 015425446

Restries de Integridade

Nome
Jos Maria Jos

Rua
Rua das Flores Rua Linda Rua das Flores

Cidade
So Paulo Bauru So Paulo

Nr_Conta
5418-7 4876-9 8745-6

Nr_Conta
5418-7 4876-9 8745-6

Saldo
541,20 145,00 235,90

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Modelo Rede
Os dados so representados por um conjunto de
registros Cada registro uma coleo de campos (atributos), cada qual contendo somente um valor As relaes entre os registros so representados por links (ligaes) Um link uma ssociao entre dois registros
Nome
Jos

CPF
015425446

Rua
Rua das Flores Rua Linda

Cidade
So Paulo

Nr_Conta
5418-7

Saldo
541,20 145,00 235,90

Maria

154879984

Bauru

4876-9 8745-6

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

18

unesp
Modelo Hierrquico
similar ao modelo em rede, pois os dados e suas relaes so representados, respectivamente, por registros e links A diferena que os registros esto organizados em rvores
Jos 015425446 ........... Maria 154879984 ...........

5418-7

541,20

8745-6

235,90

4876-9

145,00

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Histria dos Sistemas de Banco de Dados
Dcada de 1950 e incio da dcada de 1960:
Processamento de dados usando fitas magnticas para armazenamento
Fitas fornecem apenas acesso seqencial

Cartes perfurados para entrada

Final da dcada de 1960 e dcada de 1970:


Discos rgidos permitem acesso direto aos dados Modelos de dados de rede e hierrquico em largo uso Ted Codd define o modelo de dados relacional
Ganharia o ACM Turing Award por este trabalho IBM Research inicia o prottipo do System UC Berkeley inicia o prottipo do Ingres

Processamento de transao de alto desempenho (para a poca)


Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

19

unesp
Histria dos Sistemas de Banco de Dados
Dcada de 1980:
Prottipos relacionais de pesquisa evoluem para sistemas comerciais
SQL se torna o padro do setor

Sistemas de banco de dados paralelos e distribudos Sistemas de banco de dados orientados a objeto

Dcada de 1990:
Grandes aplicaes de suporte a deciso e explorao de dados Grandes data warehouses de vrios terabytes Surgimento do comrcio Web

Dcada de 2000:
Padres XML e XQuery Administrao de banco de dados automatizada
Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

unesp
Exerccios
O que voc entende por Banco de Dados? E SGBD? Explique cada um dos nveis de abstrao de um BD definido
pelo ANSI/SPARC.

Comente a seguinte afirmao: o esquema de um banco em um


modelo relacional armazenado como se fosse um dado convencional. Relacione trs funcionalidades providas por um SGBD. Escolha dois modelos de dados lgicos e discorra sobre eles. Quais as principais diferenas entre os modelos de rede e os modelos hierrquico? Defina os seguintes termos pertinentes a linguagens de consultas em BD: DDL, DML e SQL.

Ronaldo Celso Messias Correia ronaldo@fct.unesp.br

20

You might also like