Você está na página 1de 28

Viso geral

Apresentao da disciplina:
Ol caros alunos,
Estaremos trabalhando juntos na disciplina de Banco
de Dados I. Aqui vamos iniciar o fantstico mundo do
Banco de Dados, explorando seus conceitos,
caractersticas, propriedades, modelos de dados e
explorar
algumas
destas
potencialidades
e
caractersticas que tornam o mundo de banco de
dados to interessante, amplamente comentado, de
altssima responsabilidade e fundamental para o
sucesso de um bom sistema de informao.
Afinal o grande insumo de um computador so os
dados, que devem ser coletados, armazenados,
recuperados, processados e apresentados, tudo isto
de uma forma organizada e criteriosa.

Objetivos:
1. Apresentar a viso geral do sistema de banco
de dados.
2. Apresentar a arquitetura de um SGBD.
3. Apresentar o modelo entidade relacionamento
bsico e estendido.
4. Identificar seus elementos e funcionalidades.
Capacitar o aluno a modelar e construir modelos
conceituais que representem fielmente o banco de
dados a ser construdo.

Contedo Programtico:
1. Banco de Dados I
1.1. Objetivos do Banco de dados
1.2. O Dado
1.3. Sistema de Banco de Dados
1.4. Sistema Gerenciador de Banco de Dados

1.5. Arquitetura
1.6. Atividades realizadas no desenvolvimento de
bancos de dados
1.7. Instncias e Esquemas
1.8. Independncia de Dados
1.9. Linguagem de acesso aos dados
1.10. Gerenciador de banco de dados
1.11. Administrador de banco de dados DBA
1.12. Administrador de dados - AD
1.13. Usurios de banco de dados
1.14. Estrutura geral do sistema
1.15. Modelo de Dados
1.16. Modelo Conceitual
1.17. Modelo Lgico
1.18. Modelo de Banco de Dados
2. Modelo Entidade-Relacionamento
2.1. Entidade
2.2. Relacionamento
2.3. Check List
2.4. Cardinalidade
2.4.1. Cardinalidade Mxima
2.4.1.1. Cardinalidade Mxima 1:1 (um para um)
2.4.1.2. Cardinalidade Mxima 1:n (um para muitos)
2.4.1.3. Cardinalidade Mxima n:n (muitos para
muitos)
2.4.2. Cardinalidade Mnima
2.5. Atributo
2.5.1. Determinante
2.5.2. Composto
2.5.3. Derivado
2.5.4. Multivalorado
2.5.5. Atributo no Relacionamento
2.5.6. Fora da entidade
2.5.7. Relacionamento identificador
2.5.8. Grau de Relacionamento
2.5.8.1. Binrio
2.5.8.1.1. Entre duas entidades distintas

2.5.8.1.2. Entre uma entidade com a mesma


entidade
2.5.8.1.3. Entre mais de duas entidades distintas
3. O Modelo E-R Estendido
3.1. Especializao
3.2. Generalizao
3.3. Herana
3.4. Restries
3.4.1. Quanto quantidade de ocorrncias
relacionamento
3.4.2. Quanto existncia do relacionamento
3.4.2.1. Parcial
3.4.2.2. Total

do

3.4.3. Combinar restries


3.5. Agregao

Metodologia:
Os contedos programticos ofertados nessa
disciplina sero desenvolvidos por meio das TeleAulas de forma expositiva e interativa (chat tira
dvidas
em
tempo
real), Aula
Atividadepor Chat para
aprofundamento
e
reflexo e Web Aulas que estaro disponveis
no Ambiente Colaborar, compostas de contedos
de aprofundamento, reflexo e atividades de
aplicao dos contedos e avaliao. Sero tambm
realizadas atividades de acompanhamento tutorial,
participao emFrum, atividades prticas e
estudos
independentes
(auto
estudo)
alm
do Material do Impresso por disciplina.

Avaliao Prevista:
O sistema de avaliao da disciplina compreende
em assistir a tele-aula, participao no frum,
produo de texto/trabalho no portflio, realizao
de duas avaliaes virtuais, uma avaliao
presencial embasada em todo o material didtico,

tele-aula e webaula da disciplina.

Web aula 1
Origem do Banco de Dados
Sou o professor Roberto Yukio Nishimura,
Administrao da Engenharia de Software.

especialista

em

Aqui na unidade I vamos tratar da origem do banco de dados e das


ferramentas CASE especficas para modelagem de dados.

O princpio do processamento de dados


Os primeiros computadores trabalhavam com o processamento de
dados seguindo um conceito clssico que permanece at os dias de
hoje.
ENTRADA DE DADOS

PROCESSAMENTO

SADA DE DADOS

Entrada de dados era composta basicamente apenas por nmeros,


que poderiam representar valores a serem somados ou acumulados,
quantidades de que eram totalizadas ou clculos matemticos com
maior rapidez.
Processamento era o programa que o computador executava, no
princpio
eram
instrues
pr-determinadas
e
codificadas
eletronicamente durante a construo do computador, sem a
possibilidade de trocar a programao.
Uma das grandes evolues neste momento foi a possibilidade de
trocar a programao do computador, que era feita mediante a troca
do programa que ficava residente em placas de circuitos eletrnicos.
Estas trocas s eram possveis de serem realizadas pelos prprios
cientistas que construam e operavam estes equipamentos.
Somente com a evoluo do conceito de Sistema Operacional que
os computadores puderam ser preparados para receber uma
programao mais flexvel e que podia ser escrita em uma linguagem

de baixo nvel e que permitia a sua codificao por pessoas treinadas


e preparadas pelos cientistas.
Sada de dados era sem dvida alguma, uma das maiores
dificuldades pois no existiam monitores, discos rgidos, pendrives,
disquetes ou impressoras laser.
No princpio a sada de dados era demonstrada por luzes que
acendiam e apagavam em um determinado painel, onde cada luz em
sua posio representava um valor especfico e esta combinao era
o resultado do processamento de dados.

Evoluo
A evoluo caminhava velozmente a passos inimaginveis. Sugiram os
cartes perfurados, teclados, monitores de vdeo, impressoras, etc.
E dentro desta evoluo surgiu o conceito de arquivos de dados, que
eram nada mais nada menos do que a possibilidade de armazenar
dados em uma organizao fsica inteligvel pelo computador e pelo ser
humano tambm.
Neste momento, os computadores eram utilizados e acessados por
pouqussimas pessoas, a segurana no era algo to preocupante
assim.
Mas quando os computadores deixaram o ambiente militar e passaram
para o ambiente comercial, com o seu uso pelas grandes empresas
americanas, um dos pontos identificados foi a vulnerabilidade que os
arquivos de dados apresentavam.
Os arquivos convencionais, tambm chamados de arquivos seqenciais,
eram uma seqncia de bytes organizados em campos imaginrios e
registros fsicos que separavam um registro do outro.
Era necessria ento uma maior organizao destes dados e tambm
uma maior segurana no acesso dos dados.
Foi quando surgiu o conceito de banco de dados e logo em seguida
vieram os conceitos para modelagem e armazenamento dos dados.
A International Business Machines IBM foi fundada em 1924, foi
precursora no uso de programas especficos para o tratamento de dados
em seus computadores (mainframes), seus estudos iniciaram na dcada

de 70 e no final da dcada de 70 chegava ao mercado as primeiras


verses do DB2, aquele que podemos chamar de primeiro Sistema
Gerenciador de Banco de Dados Relacional.
Aceitao no mercado
O modelo de banco de dados proposto por Peter Chen no incio da dcada de 70,
agora j tinha um software que permitia a sua implementao e este foi talvez a
grande alavanca propulsora na divulgao e distribuio do uso de SGBD.
Nesta mesma poca outra fabricante de computadores, a BURROUGHS
Corporation iniciava o uso de um sistema gerenciador de banco de dados prprio
e que faria um enorme sucesso nas dcadas seguintes, o DMS-II Data
Management System II.
No final da dcada de 80, a BURROUGHS acabou comprando a SPERRY e formou
uma nova empresa, UNISYS Corporation. Esta fuso fez as vendas de mainframes
UNISYS aumentar consideravelmente mundo afora e com isto o software DMS-II
tornou-se muito mais popular, porm ainda no fazia frente ao DB2.
Durante esta batalha travada pelos grandes fabricantes de computadores
mainframes, outra plataforma mais baixa e mais simples, porm com um poder
de processamento semelhante ao dos mainframes, comeou a tomar conta da do
mercado e prometendo custos de aquisio e de manuteno muito mais baratos
que eles.
Esta nova plataforma recebeu o nome de UNIX, que tentava demonstrar uma
unio de padres de mercado e uma independncia dos grandes fabricantes de
computadores (IBM e BURROUGHS) e seus sistemas de arquitetura proprietria.
Neste mesmo perodo, Lawrence Ellison (Larry Ellison) havia identificado esta
necessidade de Mercado e junto com Bob Miner e Ed Oastes, fundaram a ORACLE
Corporation.
A ORACLE apresentava um SGBD relacional para plataformas abertas UNIX e
levava as mesmas caractersticas de relacionamento, segurana, integridade e
confiabilidade que o DB2 e DMS-II apresentavam para os mainframes.
Iniciava-se assim a popularizao dos SGBDs em empresas de mdio porte,
aquelas que no podiam comprar um mainframe mas que tinham as mesmas
necessidades de uma grande empresa.

Consolidao no mercado
Diante no novo cenrio de computao apresentado pelos
computadores
de
mdio
porte
(plataforma
UNIX)
e
microcomputadores pessoais (IBM-PC compatvel) que iniciou na
dcada de 80 e se consolidou na dcada de 90, o uso de SGBD
tambm teve uma evoluo.
No incio da dcada de 90, duas empresas brigavam pelo mercado de
SGBD em plataforma UNIX, a ORACLE e a SYBASE.
A SYBASE tinha uma participao acionria controlada pela Microsoft.
No final da dcada de 90, esta unio foi desfeita. O cdigo fonte
original do SYBASE SQL Server foi passado para a SYBASE e para a
Microsoft, que de modo independente iniciavam uma nova
caminhada.
A SYBASE continuava no mundo UNIX com o SQL Server, porm sem
o aporte financeiro da Microsoft. Esta ausncia fez com que o produto
ficasse estagnado no tempo, sem apresentar novas caractersticas e
demonstrar evoluo, comeou a perder mercado para a ORACLE.
A Microsoft pegou a sua copia e transps para o mundo Windows e
deu o nome de Microsoft SQL Server. A verso do SQL Server 2000 j
apresentava algumas caractersticas diferentes do produto original e
na sua verso 2003 o distanciamento era maior ainda.
Quem se aproveitou desta situao no mercado foi a ORACLE, que
consolidou a sua presena no mundo UNIX e conseguiu aumentar a
sua participao no mercado Windows.
Neste perodo tambm, a IBM passou por uma reestruturao interna
enorme e o seu produto DB2 foi portado para estes dois ambientes
operacionais tambm, UNIX e Windows, desta forma ela garantia
uma compatibilidade com sua verso para mainframes e ganhava a
confiana dos seus clientes.
Agora, neste inicio de sculo, tem surgido alguns software de SGBD,
que com o conceito de FREE (grtis) esto ocupando uma boa fatia
do mercado na preferncia dos usurios. Afinal o fator grtis muito
forte.

Para conter estes avanos, a ORACLE, a IBM e a Microsoft tambm


disponibilizaram verso grtis de seus SGBDs, limitados em nmero
de conexes, tamanho do banco de dados, volume de transaes.
Assim, eles garantem que, quem no pode pagar tambm pode usar
seus produtos e quando o seu volume de dados aumentar significa
que a empresa cresceu tambm e agora vai poder pagar.

Espero que tenham gostado desta web aula, aguardo


vocs no nosso frum.

Web Aula 2
Ferramentas CASE para modelagem de
dados
Modelagem de dados
No princpio da modelagem de banco de dados, quando um projeto
de banco de dados era executado, o resultado final desta modelagem
era um diagrama entidade relacionamento (tambm conhecido por
DER) e a partir deste diagrama, os comandos SQL necessrios para a
materializao do banco de dados eram escritos.
Este DER era feito em papel mesmo, seja em um papal A4 (o mais
comum) ou em uma cartolina (quando o projeto era grande).
Ainda no existiam recursos computacionais para automatizar a
construo destes diagramas.
Para a montagem do desenho era utilizada uma rgua de fluxograma,
com os smbolos j pr-determinados.
Os principais smbolos eram: Retngulo, Losango, Elipse e a Linha.

O Retngulo representava as entidades identificadas e mapeadas


para o modelo do banco de dados.
O Losango representava o relacionamento entre as entidades,
geralmente atreladas a uma regra de negcio.
A Elipse representava um atributo associado a uma entidade ou a um
relacionamento.
A Linha era a conexo entre a entidade e os atributos, entre a
entidade e o relacionamento.
Algumas variaes nesta representao tinham significados prprios e
no entraremos em detalhes agora, apenas citaremos.
Elipse tracejada, Elipse com dois anis, Retngulos com duas linhas,
Losangos com duas linhas, etc.

A evoluo da microinformtica
A evoluo da microinformtica trouxe recursos computacionais para
o dia a dia de um escritrio que jamais poderamos imaginar.
Surgiram programas para facilitar o desenho e um dos mais
conhecidos foi oFLOW CHART, que era nada mais nada menos do
que a transposio de uma ferramenta para desenhos.
O FLOW
CHART realizava
apenas
desenhos,
sem
nenhum
comprometimento lgico ou fsico com relao as regras de
modelagem de dados.
Programas especficos para a rea de engenharia de software
comearam a surgir e facilitar o dia a dia dos analistas e
programadores.
Estes programas tambm so conhecidos como ferramentas CASE.
O uso de ferramentas CASE Computer Aided Software Engineering
(engenharia
de
software
auxiliada
por
computador)
(http://pt.wikipedia.org/wiki/Ferramenta_CASE) na modelagem de
banco de dados tem promovido um ganho de produtividade e maior
controle sobre o desenvolvimento.

Esta evoluo deu se de forma mais intensa no final da dcada de 90


com
o
surgimento
de
ferramentas
como ERWIN, System
Architect e o Oracle Designer.
Estas ferramentas permitiam a evoluo do projeto lgico at o
projeto fsico, chegando a gerar um relatrio com os
comandos SQL necessrio para a implementao final.
Engenharia progressiva e engenharia regressiva
A engenharia progressiva consiste basicamente em transformar um
diagrama entidade relacionamento DER em uma seqncia de
comandos inteligveis por um determinado SGBD, com a sua sintaxe
correta.
Desta forma, existe um ganho de produtividade por parte dos analistas
e administradores de banco de dados, j que os comandos sero
gerados de uma forma mais rpida e com a sintaxe correta.
Uma ferramenta CASE que seja multi banco, inclusive pode a partir de
um nicoDER, gerar vrios scripts de sada diferentes para cada banco
de dados.
Uma segunda evoluo nas ferramentas CASE permitiu a integrao
com os bancos de dados j existentes e com isto, durante um processo
de gerao de scripts, o banco de dados era consultado, gerando assim
apenas os comandos necessrios para as alteraes, sem a
necessidade de adaptar o script que antes era gerado como se fosse
um banco novo.
Uma terceira evoluo foi quando as ferramentas CASE permitiram a
realizao da engenharia reversa de um banco de dados. Ou seja, a
partir de um banco de dados existente, a ferramenta faz a leitura do
dicionrio de dados deste banco, identificando as tabelas, os
relacionamentos, s chaves primrias e estrangeiras, enfim, as regras
de negcio e automaticamente gerava o Diagrama Entidade
Relacionamento no modelo fsico. Se fosse necessrio a engenharia
reversa poderia at chegar no modelo lgico.
Graas a engenharia reversa proporcionada pelas ferramentas CASE,
tornou-se possvel gerar documentaes de sistemas e bancos de
dados adquiridos de terceiros e que no possuam uma documentao
apropriada.

Algumas das ferramentas CASE para modelagem de dados


A cada dia surgem novas ferramentas CASE para modelagem de
dados, algumas so pagas e com licenas controladas, outras so
totalmente grtis e tambm tem aquelas cujos fabricantes liberam
para teste por um perodo ou ento limitam o tamanho do diagrama de
banco de dados e depois pedem para regularizar a licena, liberando o
uso ento.
ERWIN All Fusion ERWIN Data Modeler da empresa CA,
conhecido popularmente como ERWIN. (http://www.ca.com/us/datamodeling.aspx)
ORACLE DESIGNER ORACLE DESIGNER 10g Release 2 da
empresa ORACLE CORPORATION, conhecido popularmente como
Designer. Foi uma das primeiras ferramentas CASE a integrar-se
diretamente com um SGBD, no caso o ORACLE, possibilitava a gerao
de formulrios e relatrios com a integrao nas ferramentas ORACLE
DEVELOPER
FORMS
e
REPORTS.
(http://www.oracle.com/technology/products/designer/index.html)
DBDESIGNER um produto Open Source voltado para banco de
dados MySQL. (http://www.fabforce.net/dbdesigner4/)
DIAGRAM DESIGNER da empresa MeeSoft, um freeware
tambm e que permite trabalhar com o modelo lgico e o fsico.
(http://meesoft.logicnet.dk/DiagramDesigner/)
BR MODELO ferramenta desenvolvida por Carlos Henrique Candido,
sob orientao do prof. Dr. Ronaldo dos Santos Mello.
(http://chcandido.tripod.com/)
(http://sis4.com/brModelo/download.aspx)
Esta foi uma pequena amostragem de ferramentas CASE
especificamente utilizadas na modelagem de banco de dados. Existem
diversas outras ferramentas no mercado, que vo desde a atuao em
um SGBD especfico at um ambiente multi banco.
A evoluo constante neste mundo faz com que um software moderno
hoje, seja considerado ultrapassado amanh, por isso mesmo no
podemos afirmar que um determinado software melhor do que outro.
O que podemos afirmar que um determinado software melhor que
outro para uma situao especfica e num determinado instante.
Espero que tenham gostado desta web-aula,
aguardo vocs no nosso frum.

Web Aula 2

Web Aula 1
Utilizando uma ferramenta
modelagem de dados.

CASE

para

Apresentao
Ol caros alunos,
Fazer a modelagem de um banco de dados um processo trabalhoso onde
o seu modelo modificado diversas vezes at chegar ao ponto ideal ou ao
ponto onde estabelecido um marco de evoluo.
Neste momento, importante a definio do escopo do projeto para que
os limites da modelagem sejam devidamente estabelecidos.
Aqui pretendemos demonstrar um roteiro de transformao de um modelo
conceitual para um modelo lgico, utilizando uma ferramenta CASE.

Definio da ferramenta CASE


Para este exemplo vamos utilizar a ferramenta CASE BR Modelo.
(http://chcandido.tripod.com/) (http://sis4.com/brModelo/download.aspx)
Vamos partir do princpio onde o cenrio a automao de um controle de carros e
os acessrios instalados em um carro.

Lembrando apenas que a regra bem simples, um carro pode ter 0 (zero) ou N
(muitos) acessrios e que um determinado acessrio s pode pertencer a um nico
carro.

Para a entidade carro, os atributos so:

placa_carro (atributo identificador) representando a placa de identificao


do carro, ex. AAA0123

modelo_carro representado o modelo do carro, ex. Palio

cor_carro representando a cor predominante do carro, ex. Prata

preo_carro representando o valor do carro, ex. R$ 50.000,00

marca_carro representando a marca do carro, ex. Fiat

Para a entidade aces_do_carro, os atributos so:

cdigo_acessorio_carro (atributo identificador) representando um cdigo


identificador do acessrio do carro, ex. 001

placa_carro (atributo identificador) representando a placa de identificao


do carro ao qual este acessrio est atrelado, ex. AAA0123

descrio_acessrio_carro representando a descrio textual do acessrio

instalado no carro, ex. bancos em couro

valor_acessrio_carro representando o valor do acessrio instalado no


carro, ex. R$ 2.500,00

Reparem que neste momento no identificamos se os atributos so numricos,


alfanumricos, booleanos, etc.

Transformao do modelo conceitual para o modelo lgico


Para realizarmos a transformao do modelo conceitual para o modelo lgico, voc
deve clicar na opo Esquema Conceitual na barra de opes da tela principal.
Em seguida, um submenu aparecer para voc, escolha a ltima opo no final
deste submenu Gerar Esquema Lgico.

Ao realizar esta escolha, a transformao ser efetuada e um novo diagrama


apresentado, agora no plano lgico.

Identificao dos atributos no modelo lgico


Agora no modelo lgico necessrio identificar cada um dos atributos
com suas caractersticas lgicas, suas propriedades e seus domnios.

Na figura a seguir, na linha em evidncia, a caracterizao do atributo


placa_carro com um tipo TEXTO(1).

Veja que a identificao da caracterstica de chave primria e chave


estrangeira j so citadas e requeridas nesta fase do projeto.

Finalizando Identificao dos atributos no modelo lgico


O atributo placa_carro o escolhido para ser a chave primria da
nossa entidade Carro.
Sua identificao atravs de um Asterisco sua esquerda.

Veja que no Esquema, a opo Chave Primria fica marcada com SIM.

Quando feito o relacionamento com a entidade Aces_do_carro, a


chave primria de Carro doada para a entidade Aces_do_carro como
uma chave estrangeira (Foreign Key), como ele deve fazer parte da
chave primria de Aces_do_carro, este atributo aparece duas vezes na
entidade Aces_do_carro.

Quando o atributo possui dois Asteriscos sua esquerda, representa


ser uma chave estrangeira.

Para o atributo preo_carro, vamos atribuir a condio de um atributo


numrico, com 9 casas inteiras e duas decimais.

Com isto podemos definir qualquer tipo de atributo com qualquer tipo
de dado, deixando a fase de modelagem bem livre para pensar e
analisar as melhores alternativas para o banco de dados.
Espero que tenham gostado desta web-aula,
aguardo vocs no nosso frum.

Web Aula 2

Gerao de Scripts
Apresentao
Ol caros alunos,
Depois que o modelo entidade relacionamento foi normalizado segundo as
regras do modelo relacional normalizado, podemos passar para a gerao dos
comandos de criao do banco de dados.
Para esta web aula, vamos utilizar uma ferramenta CASE que faz a interao
com um SGBD, o DB Designer.

DB Designer
O download da ferramenta DB Designer
linkhttp://www.fabforce.net/dbdesigner4/.

pode

ser

feito

Depois de instalado a ferramenta, vamos abrir um projeto novo.


Vamos continuar com o modelo de carro e acessrios do carro.
Este o modelo final a ser alcanado.

pelo

Para criar uma tabela nova, na barra de ferramentas lateral, clicar em


new table e depois clicar na rea de trabalho da ferramenta.

Criando o script do banco de dados


Neste ponto, j estamos com o nosso diagrama final pronto para
a gerao dos comandos que sero utilizados no banco de dados.
A ferramenta possibilita a gerao automtica destes comandos,
o passo que chamamos de engenharia progressiva.
Na tela principal, no menu superior, clique em File.

Abre-se uma barra de opes, leve o mouse at export.


Uma outra barra de opes surge, clique em SQL create script.

Agora, vamos para o processo final de gerao do script.


Na janela que aparece voc pode marcar apenas algumas tabelas
do seu diagrama ou deixar a opo All Tables para uma gerao
completa.
Voc pode escolher a gerao das chaves primrias e dos ndices
tambm, caso julgue necessrio ou adequado ao momento.
Clique em Save script to file para que os comandos sejam
gravado em um arquivo.

Voc pode escolher o diretrio que deseja gravar ajustando


Salvar em: e escolher o nome do arquivo tambm, no nome do
objeto.
A extenso do arquivo sempre .SQL.

Analisando o script gerado


Depois que o script gerado, fora da ferramenta DB Designer, podemos
abrir o arquivo script e ver o contedo do resultado gerado.
Utilizando o Windows Explorer, v at o diretrio escolhido por voc e
localize o arquivo com o nome usado l no processo de gerao do script.
Aps localizar o arquivo, de um duplo clique no arquivo e vamos ver o
contedo.
Voc pode utilizar o bloco de notas ou o wordpad, interessante que voc
tambm deixe associado a extenso .sql ao bloco de notas para facilitar
em outras vezes que voc for realizar o mesmo processo.

Veja que os comandos de criao das tabelas carro e aces_do_carro esto


completos, com a defino da chave primria, chave estrangeira em
aces_do_carro tambm.

Agora s aplicar este arquivo dentro do SGBD.


Um ltimo detalhe, como o DB Designer uma ferramenta CASE
destinado ao banco de dados MySQL, os comandos esto com a sintaxe
para este SGBD.
Eventuais ajustes de sintaxe podem ser necessrios caso o SGBD seja
outro.

Espero que tenham gostado desta web-aula,


aguardo vocs no nosso frum.

Você também pode gostar