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.
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.
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
SGBDS
SGBD - ATORES
Programador de Aplicaes
Definio e implementao de programas que
USAM a base de dados
Programas enviam solicitaes de servios ao SGBD
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
Monitorar desempenho
Modificao do esquema e Reorganizao fsica
desempenho e alterao nos requisitos funcionais
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
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?
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
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
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;
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.
RELACIONAMENTO
uma relao entre uma, duas ou vrias entidades.
Geralmente associamos atravs da ao (verbo) entre
as entidades;
representado por um losango;
Exemplos:
GRAU DO RELACIONAMENTO
a quantidade de entidades que esto ligadas ao
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