Anda di halaman 1dari 55

TECNOLOGIAS E LINGUAGENS

PARA BANCO DE DADOS I

CONCEITOS BSICOS: BANCO DE DADOS


uma coleo de dados inter-relacionados,
representando informaes sobre um domnio
especfico (conceito geral).
um BD representa aspectos do mundo real. Mudanas no
mundo real so refletidas no BD.
um BD uma coleo lgica e coerente de dados com
relacionamentos intrnsecos.

um conjunto de dados sem nenhum relacionamento,


no pode ser considerado um BD.
um BD projetado, construdo e mantido para uma
proposta especfica. direcionado a um grupo de
usurios de uma determinada aplicao.
um BD pode possuir qualquer tamanho/complexidade.
Em outras palavras, um BD tem alguma fonte onde os
dados so derivados, algum grau de interao com
eventos no mundo real, e uma audincia interessada
no contedo desse BD.

CONCEITOS BSICOS: BANCO DE DADOS


Banco de Dados (BD) se transformou em um componente
essencial do dia-a-dia na sociedade moderna.
Exemplos:
ir a um banco para fazer depsito ou retirada de dinheiro.
fazer a reserva em um hotel ou em uma companhia area.
fazer pesquisa de itens em uma biblioteca computadorizada.
pesquisar preos de itens em um supermercado.

As atividades acima so exemplos de aplicaes


tradicionais de BD. Onde a maioria das informaes so
armazenadas atravs de textos ou nmeros.
H poucos anos atrs, a tecnologia permitiu novas
aplicaes para BD
Exemplos:
Banco de dados multimdia: armazena figuras, som e
vdeo.
SIGS - Sistemas de informaes geogrficas:
armazenam e analisam mapas, tempo e imagem de satlite.
Sistemas em tempo real: controle de cho de fbrica e
processos de manufatura.

UM POUCO DE HISTRIA
O primeiro banco de dados teve incio nas dcadas de 60
e 70 na IBM, com pesquisas em automao de tarefas de
escritrio.

Naquela poca, tinha-se que ter muita gente ($$$)


para armazenar e indexar os arquivos.

Em 1970 um pesquisador da IBM - Ted Codd publicou o


primeiro artigo sobre bancos de dados relacionais. Este
artigo tratava sobre uma forma de consultar os dados
(em tabelas) por meio de comandos.

UM POUCO DE HISTRIA
Inicialmente, por ser muito complexo, no foi
aceito nem implantado.
A IBM criou um grupo de pesquisa chamado
System R, com o objetivo de desenvolver um
sistema de BD para ser comercializado.
System R introduziu uma linguagem chamada
Structured Query Language (SQL).

UM POUCO DE HISTRIA
Essa linguagem tornou-se padro internacional
para BD relacional.
O System R passou a se chamar SQL/DS.
SQL/DS evoluiu para DB2, que o banco de
dados comercial da IBM.

SISTEMAS DE ARQUIVOS VS BANCO DE DADOS


Alguns Sistemas de Arquivos: FAT32, NTFS,
Ext2, Ext3, ReiserFS....
Alguns Bancos de Dados: MySQL, SQL Server,
Firebird, PostegreSQL, DB2, Oracle...
Ambos tem um objetivo em comum:
Armazenar dados em sistemas de computao.

SISTEMAS DE ARQUIVOS VS BANCO DE DADOS


Sistemas de arquivos

SISTEMAS DE ARQUIVOS VS BANCO DE DADOS


Banco de Dados
Rapidez no acesso s informaes presentes no Banco
de Dados;
Reduo de problemas de integridade e redundncia;
Diminuio do esforo humano no desenvolvimento;
Utilizao dos dados e controle integrado de
informaes distribudas fisicamente.
Descreve uma coleo lgica e coerente de dados com
algum significado inerente. Uma organizao
randmica de dados no pode ser considerada um
Banco de Dados;
Constri em atendimento a uma proposta especfica.

SISTEMAS DE ARQUIVOS VS BANCO DE DADOS


Processamento de arquivo tradicional
Cada usurio define e implementa os arquivos
necessrios para uma aplicao de software
especfica.

Abordagem de Banco de Dados


Um nico repositrio mantm dados que so
definidos uma vez e depois acessados por vrios
usurios.

SGBD
um conjunto de aplicaes usado para
gerenciar um Banco de Dados:
armazenar, recuperar e modificar informaes.
proporcionar um ambiente conveniente e eficiente
para recuperar e armazenar informaes de um
banco de dados.
manipular grande volume de informaes.
prover segurana s informaes armazenadas.
controlar concorrncia, evitando resultados anmalos
na atualizao de informaes no BD.
prover mecanismos para criao e manipulao de
estruturas de armazenamento de informao.
restringir acesso a dados de usurios no
autorizados.

SGBD
Um SGBD um software de propsito geral que
facilita os seguintes processos:
Definio
Construo
Manipulao

um meio conveniente e eficiente para


recuperao e armazenamento.
IMPORTANTE: No necessrio usar um SGBD
para implementar um banco de dados.

SGBDS

SGBD - ATORES
Programador de Aplicaes
Definio e implementao de programas que
USAM a base de dados
Programas enviam solicitaes de servios ao SGBD

Trabalham sobre a definio lgica ou sobre


uma viso externa especfica

Usurio Final
Usam a base de dados para suas funes do diaa-dia
Interagem com o sistema a partir de
uma estao de trabalho
aplicao
linguagem de consulta interativa

SGBD - ATORES
Administrador do Banco de Dados (DBA)
Pessoa(s) que detm a responsabilidade (tcnica)
central sobre os dados

Definio do esquema
conjunto de descries escritas com a DDL que so
armazenadas no Dicionrio de Dados

Definio da estrutura de armazenamento


Requisitos de espao de armazenamento, desempenho,
concorrncia, criao ou no de ndices, etc.

Monitorar desempenho
Modificao do esquema e Reorganizao fsica
desempenho e alterao nos requisitos funcionais

Concesso de autorizao de acesso a dados


Especificao de restrio de integridade
Definio de estratgias de recuperao de dados

SGBD - ATORES
Projetista do Banco de Dados
Identificar requisitos informacionais da
corporao
Escolher estruturas apropriadas para
representao da informao
Interagir com o usurio
Pode ser confundido com o papel de DBA

QUANDO USAR UM SGBD


Controlar redundncia
Aumento da consistncia atravs de uma maior
integrao e centralizao dos dados

Restringir acesso no autorizado


Persistncia dos dados (alm da execuo)
Representao de relaes complexas entre os
dados
Estabelecimento de regras e padres
Fornecer back-up e recuperao
Controle de acesso concorrente
Esforo reduzido de desenvolvimento para
aplicaes orientadas a dados

RAZES PARA NO UTILIZAR UM SGBD


Custo maior que o benefcio !!!
custo de HW, SW e treinamento.
solues genricas para definir e processar dados.
custo pela segurana, controle de concorrncia,
recuperao, manuteno de integridade, etc.

Base de dados e aplicaes simples, bem


definidas, e sem previso de alterao a mdio
prazo.
Aplicaes com requisitos de desempenho (ex:
tempo real).
Aplicaes mono-usurio.

TRABALHO
Dissertar sobre os SGBDs: MySQL, SQL Server,
PostgreSQL e Oracle sobre suas principais
caractersticas, custo para aquisio, empresas
que os utilizam, seus diferenciais de mercado e,
baseado em sua anlise fazer uma concluso de
qual voc escolheria e porque?

Entrega: at 06/08 pelo e-mail:


jose.zerbetto@etec.sp.gov.br

MODELOS DE BANCO DE DADOS


Modelo de banco de dados uma descrio dos
tipos de informaes que esto armazenadas em
um banco de dados.
Por exemplo, pode informar que o banco
armazena informaes sobre produtos e que, para
cada produto, so armazenados seu cdigo, preo
e descrio.
O modelo no informa QUAIS produtos esto
armazenados, apenas que tipo de informaes
contm.

MODELO DE BANCO DE DADOS


Para construir um modelo de dados, usa-se uma
linguagem de modelagem de dados.
Existem linguagens textuais e linguagens
grficas.
possvel descrever os modelos em diferentes
nveis de abstrao e com diferentes objetivos.
Cada descrio recebe o nome de esquema de
banco de dados.

MODELO CONCEITUAL
uma descrio de banco de dados de forma
independente de implementao num sistema de
gerenciamento.
Registra QUE dados podem aparecer no banco,
mas no registra COMO estes dados esto
armazenados no SGBD.

MODELO CONCEITUAL
Exemplo de um modelo conceitual textual:
1) Cadastro de Clientes
Dados necessrios: nome completo, tipo de
pessoa (fsica ou jurdica), endereo, bairro,
cidade, estado, telefone, email, nome de contato.
2) Pedido
Dados necessrios: cdigo do produto,
quantidade, cdigo do cliente, cdigo do vendedor.

EXERCCIO DE FIXAO
Descreva um modelo conceitual textual para
armazenar os dados de livros, autores e editoras.

RESPOSTA PROVVEL
Cadastro de Livros: Ttulo, subttulo, autor,
editora, nmero de pginas, preo de compra, j
foi lido, ISBN, nmero de pginas, ano de
publicao, nmero da edio...
Cadastro de Autores: Nome completo, data de
nascimento, nacionalidade, gnero literrio...
Cadastro de Editoras: Nome, cnpj, endereo,
bairro, cep, cidade, estado...

MODELO LGICO
Compreende uma descrio das estruturas que
sero armazenadas no banco e que resulta numa
representao grfica dos dados de uma maneira
lgica, inclusive nomeando os componentes e
aes que exercem uns sobre os outros.

MODELO LGICO
Exemplo de um modelo lgico

MODELO LGICO
O modelo lgico tambm pode ser representado
assim:
- TipoDeProduto (CodTipoProd, DescrTipoProd)
- Produto (CodProd, DescrProd, PrecoProd,
CodTipoProd)
CodTipoProd referencia TipoDeProduto

MODELO LGICO
A tcnica de modelagem mais difundida a
abordagem entidade-relacionamento (ER). Nesta
tcnica, um modelo conceitual usualmente
representado atravs de um diagrama, chamado
diagrama entidade-relacionamento (DER).
Por enquanto iremos estudar apenas o modelo
relacional, no qual os dados esto organizados em
forma de tabelas.

MODELO FSICO
uma descrio de um banco de dados no nvel
de abstrao visto pelo usurio do SGBD. Assim,
esse modelo depende do SGBD que est sendo
usado.
Aqui so detalhados os componentes da
estrutura fsica do banco, como tabelas, campos,
tipos de valores, ndices, etc.
Nesse estgio estamos prontos para criar o banco
de dados propriamente dito, usando o SGBD
preferido.

MODELO FSICO
Exemplo de tabelas em um BD Relacional.
Tipo de Produto
Cdigo

Descrio

Computador

Impressora

Produto
Cdigo

Descrio

Preo

CdigoDoTipo

10

Desktop

1.200,00

20

Laptop

1.800,00

30

Impr. Jato Tinta

300,00

40

Impr. Laser

500,00

MODELO FSICO
Detalhamento de uma tabela
Cadastro de paciente
Nome do campo

Endereo

Tamanho do
campo

Cdigo do paciente

Numrico

5 dgitos

Nome do paciente

Alfanumrico

50 caracteres

Endereo

Alfanumrico

50 caracteres

Bairro

Alfanumrico

40 caracters

Cidade

Alfanumrico

40 caracteres

Estado

Alfanumrico

2 caracteres

CEP

Alfanumrico

9 caracteres

Data de Nascimento Data

10 caracteres

MODELO ENTIDADE-RELACIONAMENTO
A tcnica de modelagem mais usada a
Abordagem Entidade-Relacionamento (ER). O
modelo de dados representado graficamente
atravs de um Diagrama de EntidadeRelacionamento (DER).
Essa abordagem foi criada por Peter Chen (1976)
considerada como um padro para a modelagem
conceitual.

MODELO ENTIDADE-RELACIONAMENTO
O modelo Entidade-Relacionamento (E-R) tem
por base que o mundo real formado por um
conjunto de objetos chamados de entidades e pelo
conjunto dos relacionamentos entre esses objetos;
O objetivo do modelo E-R representar a
estrutura lgica do banco de dados de uma
empresa, especificando o esquema da empresa,
quais as entidades e como elas se relacionam
entre si.

MODELO ENTIDADE-RELACIONAMENTO
O modelo E-R chamado de Modelagem
Conceitual, cujo objetivo representar de uma
forma abstrata, independente da implementao
em computador, os dados que sero armazenados
no banco de dados.

ENTIDADE
um objeto ou evento do mundo real sobre o qual
desejamos manter um registro;
representada por um retngulo;
caracterizada por seus atributos;

Ex: Aluno, Carro, Produto, Funcionrio, etc

ATRIBUTO
uma propriedade ou caracterstica que descreve
uma entidade. Tambm chamado de campo ou
coluna (tabelas).
Exemplo: atributos da entidade ALUNO:
nome, data de nascimento, telefone, endereo, etc

ATRIBUTO-CHAVE
um atributo que deve possuir um valor nico em
todo conjunto de entidades. Este atributo utilizado
para identificar unicamente um registro da tabela.

Ex: matrcula, cpf, cdigo, renavam, chassi, etc

Diferenciamos um atributo chave dos demais


atributos colocando um * (asterisco) antes do nome do
atributo ou sublinhando este.

RELACIONAMENTO
uma relao entre uma, duas ou vrias entidades.
Geralmente associamos atravs da ao (verbo) entre
as entidades;
representado por um losango;
Exemplos:

Pai possui Filho


Cliente realiza pedido
Vendedor vende produto

GRAU DO RELACIONAMENTO
a quantidade de entidades que esto ligadas ao
relacionamento.

RELACIONAMENTO UNRIO (GRAU 1)


Uma entidade se relaciona com ela mesma.

RELACIONAMENTO BINRIO (GRAU 2)


um relacionamento que liga 2 tipos diferentes
de entidades. o mais comum dos
relacionamentos.

RELACIONAMENTO TERNRIO (GRAU 3)


um relacionamento em que trs entidades
esto interligadas por um mesmo
relacionamento.

CARDINALIDADE
Cardinalidade (mxima) define a quantidade
de ocorrncias de uma entidade que poder estar
associada a outra entidade.
Ex.: Um vendedor pode vender apenas um tipo
de produto? Ou dois? Ou trs?
Um produto pode ser vendido por apenas um
vendedor, ou por todos?

CARDINALIDADE
Relacionamento binrio Um-para-Um (1:1) Indica que uma ocorrncia da entidade A pode se
relacionar exclusivamente com uma ocorrncia da
entidade B e vice versa.

CARDINALIDADE
Ex.: Um vendedor ocupa um nico escritrio e
um escritrio pode ser ocupado por um nico
vendedor.

CARDINALIDADE
Relacionamento binrio Um-para-Muitos
(1:n) uma ocorrncia da entidade A pode se
relacionar com vrias ocorrncias da entidade B,
porm o inverso no permitido.
Ex. Um vendedor atende muitos clientes. Porm,
cada cliente tem um vendedor especfico.

CARDINALIDADE
Rel. binrio Muitos-para-Muitos (n:m) uma
ocorrncia da entidade A pode se relacionar com
muitas ocorrncias da unidade B e vice versa.
Ex.: Um vendedor atende muitos clientes, e um
cliente pode ser atendido por diversos
vendedores.

CARDINALIDADE
Na prtica, o relacionamento n:m dividido em
duas relaes 1:n e uma nova entidade criada
para representar o relacionamento.

CARDINALIDADE
Cardinalidade (mnima) define o nmero
mnimo de ocorrncias de entidade que precisam
estar associadas a outra entidade (em carter
obrigatrio).
S consideramos duas cardinalidades mnimas: 0
e 1.
Escreve-se: 0..1 1..1 0..n 1..n 0..* 1..* etc...

CARDINALIDADE
Ex.: Um vendedor ocupa um nico escritrio,
porm obrigatrio que ele tenha um escritrio.
(L-se no mnimo Um, no mximo Um).
Um escritrio pode ser ocupado por um nico
vendedor, porm pode ser que a sala esteja vazia,
ainda sem vendedor. (L-se no mnimo Zero, no
mximo Um).

CARDINALIDADE

EXERCCIO
Desenhar o DER para as seguintes situaes:
Exerccio_der.doc

FERRAMENTAS CASE

Anda mungkin juga menyukai