You are on page 1of 40

AVM FALCUDADE INTEGRADA

PROGRAMA DE PS-GRADUAO EM BANCO DE DADOS


MARCIO SILVA

PROJETO DE BANCO DE DADOS WEB: ESTUDO DE CASO SITE


IMOBILIRIO

RIO BRANCO (AC)


2013

MARCIO SILVA

PROJETO DE BANCO DE DADOS WEB: ESTUDO DE CASO SITE


IMOBILIRIO

Monografia apresentada AMV Faculdade


Integrada como exigncia parcial obteno
do ttulo de Especialista em Banco de Dados.
Prof. Me. Max Bianchi Godoy.

RIO BRANCO (AC)


2013

MARCIO SILVA

PROJETO DE BANCO DE DADOS WEB: ESTUDO DE CASO SITE


IMOBILIRIO

Monografia aprovada em

de

de 2013.

Banca Examinadora
_____________________________
_____________________________
_____________________________

RIO BRANCO (AC)


2013

DEDICATRIA

AGRADECIMENTOS

A Deus, por sempre me ouvir e dar-me foras para enfrentar os desafios da minha vida.
A minha esposa pelo seu amor e incentivo a sempre buscar aquilo que sonho.
Aos meus pais por terem-me dado a base necessria para que me tornasse quem sou
hoje.
Aos meus amigos por sempre acreditarem em mim.

RESUMO

Esta pesquisa um estudo de caso do site imobilirio Imveis do Acre. Nele, o leitor
pode encontrar alm de outros, discusses sobre os mais importantes temas que
englobam o assunto. A questo sobre os fundamentos de banco de banco de dados,
SGBDs, Modelo de Entidade e Relacionamento e os principais comandos da linguagem
SQL (Structured Query Language) e por ltimo o estudo de caso no qual demonstrado
implementao do banco imobilirio para web utilizando a ferramenta Open Source
MySQL e o DBDesigner 4 para modelagem dos dados.
Palavras-chave: Bancos de dados, Web, Projeto de Banco de Dados, Modelo de
Entidade e Relacionamento, sistemas gerenciadores de bancos de dados, MySQL,
web, SQL, ferramentas Open Source.

SUMRIO

INTRODUO.............................................................................................................6
1.1. Apresentao/Formulao do Problema.................................................................6
1.2. Reviso da Literatura...............................................................................................6
1.3. Justificativa...............................................................................................................7
1.4. Objetivos..................................................................................................................7
1.5. Metodologia de Pesquisa.........................................................................................8
1.6. Descrio dos captulos...........................................................................................8

2 REFERENCIAL TERICO...........................................................................................10
2.1 SISTEMAS DE GENRECIADORES DE BANCO DE DADOS(SGBDs).................11
2.1.1

Abstrao dos dados.................................................................................12

2.2 MODELOS DE DADOS..........................................................................................13


2.2.1

Modelo Relacional......................................................................................14

2.2.2

Modelo de Entidade Relacionamento (MER)...........................................16

2.2.3

Modelo de dados baseado em objeto (OO).............................................18

2.2.4

Modelo de dados semi-estruturado.........................................................21

2.3 PROJETO DE BANCO DE DADOS RELACIONAL..............................................24


2.3.1

Projeto Conceitual......................................................................................24

2.3.2

Projeto Lgico............................................................................................25

2.3.3

Projeto Fsico..............................................................................................27

2.4 LINGUAGEM SQL..................................................................................................28


2.4.1

Comandos da DDL (Definition Data Language)......................................30

2.5 INTERNET E FERRAMENTAS WEB DE BANCO DE DADOS.............................34


REFERNCIAS................................................................................................................35

1 INTRODUO

1.1. Apresentao/Formulao do Problema


A internet representa um mundo novo, repleto de possibilidades, opes de atuao e,
ao que tudo indica veio para ficar. Ao longo dos anos, ela tem sido utilizada como meio
de comunicao, publicidade, entretenimento e ultimamente, para formao em cursos
tcnicos e superiores de forma geral na modalidade distncia. Portanto, assume um
papel fundamental na era digital para a sociedade da informao, pois, possvel
realizar desde transaes bancrias, compra de produtos de todas as categorias, como
por exemplo, notebooks, livros, at veculos novos e usados e dentre outras.
Assim, o acesso a Web possibilita aos internautas armazenar um grande volume de
informaes para acesso pblico ou restrito. Neste caso, uma grande poro dessas
informaes requer gerenciamento, muito do qual oferecido pelos sistemas de bancos
de dados. Portanto, a utilizao de um banco de dados via Web fundamental para o
bom funcionamento de muitas organizaes, pois as informaes podem ser
atualizadas. No entanto, organizar, distribuir e recuperar as informaes de forma
produtiva e concisa e um dos principais objetivos do administrador de banco de dados
(DBA), cuja estrutura baseada em um projeto de banco de dados.
O problema em estudo consiste em responder ao seguinte problema levantado:
importante a necessidade a implementao de projeto de banco de dados para um site
imobilirio?

1.2. Reviso da Literatura


Todo o trabalho foi baseado nos principais autores da literatura de banco de Dados. Os
principais conceitos foram referenciados por Korth e Silberschatz (Sistema de Banco de
Dados). No entanto, o projeto e modelagem do banco de dados foram baseados na

literatura do Felipe Nery Rodrigues Machado (Projeto de Banco de Dados: Uma Viso
Prtica). J a obra do Fabrcio Ferreira Carvalho serviu como base na implementao
do banco de dados usando o SGBD MySQL.

1.3. Justificativa

A utilizao de um banco de dados via Web imprescindvel para o bom funcionamento


de muitas organizaes. A imobiliria Imveis do Acre pensando em proteger a sua
marca, expandir, aumentar lucros e tornar-se mais competitiva, migrou o seu sistema
imobilirio para o mundo virtual atravs das tecnologias PHP e banco de dados MySQL.
Neste caso, ter um web site, proporcionou maior facilidade para a empresa atingir um
pblico-alvo longe do seu alcance, permitindo que seja explorada oportunidades de
mercado em todas as regies. Portanto, a partir do modelo sugerido possvel
modificar as entidades, atributos e relacionamentos para adequar a estrutura de acordo
com outros tipos de sistemas e cenrios onde preciso gerenciar imveis,
proprietrios, clientes e servios e profissionais.

1.4. Objetivos

O objetivo geral da pesquisa apresentar toda a implementao do projeto de banco


de dados web para o sistema de controle de servios da imobiliria Imveis do Acre,
cuja principal funo gerenciar a locao e vendas de casas, apartamentos, terrenos
e outros imveis tanto para os proprietrios como para inquilinos. Para alcanar esse
feito, so destacados os seguintes objetivos especficos:

Mostrar a aplicabilidade das teorias de projetos de bancos de dados na


implementao do portal imobilirio Imveis do Acre;

Identificar as principais tecnologias utilizadas no desenvolvimento de banco de


dados para Web;

Apresentar os principais comandos de manipulao de dados e a estrutura


completa do banco imobilirio.

1.5. Metodologia de Pesquisa


Metodologia de Pesquisa: o desenvolvimento do trabalho baseia-se em pesquisas
realizadas em livros especializados nos assuntos referentes Projeto de Banco de
Dados e Crie Banco de Dados em MySQL, em trabalhos acadmicos, fruns, revistas e
Internet.
Primeiramente realizou-se o levantamento bibliogrfico e a escrita da monografia,
atentando aos principais conceitos, projeto de banco de dados e as principais
ferramentas de desenvolvimento Web. Depois, foi realizada uma pesquisa de campo,
onde foram identificadas as informaes mais relevantes e a regra de negcio da
empresa Imveis do Acre atravs de entrevistas e preenchimento de questionrios dos
funcionrios da empresa Imveis do Acre.

1.6. Descrio dos captulos

A fim de melhor entender o trabalho, o mesmo foi estruturado em dois captulos alm
dessa introduo e da concluso.
O captulo 2 apresenta um rpido histrico de banco de dados, os principais tipos de
banco de dados, os conceitos de projeto conceitual, fsico e lgico. Os principais
Sistemas de Gerenciamento de Dados e suas vantagens. Tambm foram enfatizados

os principais comandos da linguagem SQL, tais como Linguagem de manipulao de


dados (DML) e Linguagem de criao dos dados (DDL) e o Modelo de Entidade e
Relacionamento (MER) para mostrar o projeto conceitual do banco de dados
Imobilirio.
O captulo 3 se concentra no estudo de caso da empresa Imveis do Acre.
Levantamento dos requisitos e a regra de negcio do site imobilirio. Portanto, tambm
enfatizado toda a estrutura do projeto conceitual, fsico e lgico, O Modelo de Entidade
e Relacionamento, a estrutura do banco de dados e os comandos da Linguagem SQL
aplicado no site imobilirio.
O captulo 4 apresenta as consideraes finais deste trabalho, informando os
resultados alcanados e sugestes de trabalhos futuros.

10

2 REFERENCIAL TERICO

Desde o incio da evoluo dos computadores, sabemos que qualquer sistema bsico
feito para aceitar entrada de dados, efetuar processamento e processar sadas dos
dados. Com o passar do tempo, identificou-se a necessidade de armazenamento e a
recuperao das informaes passaram a desempenhar um papel fundamental no
mundo da informtica.
Para que uma organizao cresa no mercado empresarial e saiba lidar com novas
tecnologias, ela deve se preocupar especialmente, com o modo de organizar suas
informaes. A forma mais eficaz de gerenciamento de informaes realizada atravs
de um banco de dados, que alm de interligar todo trabalho da organizao, reduz
custos, elimina duplicao de tarefas, permite uma previso de crescimento da
empresa e ajuda na elaborao de estratgias.
Segundo Silberschatz (2006), um banco de dados um conjunto de dados interrelacionados a um determinado assunto ou finalidade, devendo ser capaz de gerenciar
todas as informaes contidas em todas as tabelas que o compem. Estes dados so
armazenados de forma independente dos programas que o utilizam, servindo assim a
mltiplas aplicaes de uma organizao No entanto, necessrio buscar novas
implementaes em seu desenvolvimento, pois, para cada modelo de banco de dados
existem vantagens ou desvantagens.
Segundo Silberschatz (2006), os sistemas de banco de dados surgiram em resposta
aos mtodos mais antigos de gerenciamento computadorizado de dados comerciais: os
sistemas de arquivos. Esse sistema de processamento de arquivos um meio bastante
primitivo de armazenamento de dados, pois os dados so mantidos em blocos noestruturados. Silberschatz (2006), afirma que o sistema de arquivos armazena

11

registros permanentes em vrios arquivos e precisa de diferentes programas de


aplicao para extrair e acrescentar registros nos arquivos apropriados.

2.1 SISTEMAS DE GENRECIADORES DE BANCO DE DADOS(SGBDs)

Silberschatz (2006) define um sistema de gerenciamento de banco de dados (SGBD)


como uma coleo de dados inter-relacionados e um conjunto de programas para
acessar esses dados. O principal objetivo gerenciar o acesso e a correta manuteno
dos dados armazenados. Assim, ele deve disponibilizar uma interface, via linguagens,
que permita a comunicao com aplicao.
Sistemas de banco de dados so desenvolvidos para administrar grandes volumes de
informaes e devem prover a segurana da informao armazenada, mesmo em
quedas do sistema ou em tentativas de acesso no autorizado. O objetivo principal
prover um ambiente que seja adequado e eficiente para uso no armazenamento e na
recuperao da informao e fornecer ao usurio uma viso abstrata dos dados, isto ,
o sistema trata de encapsular os detalhes das informaes armazenadas.
No incio da dcada de 70, houve um investimento considervel de pesquisa na rea de
banco de dados. Esse investimento resultou em um tipo de SGBD relacional, com o
objetivo de facilitar a programao de aplicaes de banco de dados. No entanto, os
primeiros sistemas eram caros e difceis de usar, requerendo especialistas qualificados
para administra-lo.
No incio da dcada de 80, houve o declnio no custo das plataformas de
hardware/software para executar SGBD relacional e consequentemente o SGBD do tipo
relacional passou a dominar o mercado e torna-se padro internacional. O
desenvolvimento de sistemas de informao ocorre hoje quase que exclusivamente
sobre banco de dados, com uso de SGBD relacional.

12

Um SGBD geralmente interage com diversas aplicaes de uma organizao e com os


meios de armazenamentos de dados. Portanto, as interaes ocorrem de forma
abstrata, ocultando os detalhes dos dados. Silberschatz (2006) define que a finalidade
de um sistema de banco de dados fornecer aos usurios uma viso abstrata dos
dados, ou seja, o sistema oculta certos detalhes de como os dados so armazenados e
mantidos.

2.1.1 Abstrao dos dados

A abstrao de dados permite-nos isolar a utilizao dos dados do modo como eles
esto armazenados, ocultar detalhes complexos e simplificar o processo de interao
com os usurios. Portanto, o sistema de banco de dados deve garantir uma viso
totalmente abstrata do banco de dados para o usurio. Neste caso, saber qual a
unidade de armazenamento que est sendo usada para armazenar os dados torna-se
irrelevante para usurio. Assim, a abstrao dos dados definida basicamente em trs
nveis de dados (Silberschatz, 2006 p. 27).

Nvel fsico: o menos abstrato, em que define efetivamente de que maneira os


dados esto armazenados;

Nvel lgico: considerado intermedirio, suporta uma descrio de mais alto nvel
em relao ao nvel fsico, ou seja, define quais os dados que esto
armazenados e qual o relacionamento entre eles;

Nvel de viso do usurio: definido o mais alto em abstrao, sendo particular de


cada aplicao que manipula dados. Assim, as partes do banco de dados que o
usurio tem acesso de acordo com a necessidade individual de cada usurio ou
grupo de usurios.

13

Figura 1 Nveis de abstrao de dados.


Fonte: http://www.devmedia.com.br/conceitos-fundamentais-de-banco-de-dados/1649 (01/05/2013 as
17h).

2.2 MODELOS DE DADOS

Segundo Silberschatz (2006), um Modelo de Dados uma coleo de ferramentas


conceituais para escrever dados, relaes de dados, semntica de dados e restries
de consistncia. Alm disso, um modelo de dados permite descrever o projeto de banco
de dados nos trs nveis.

Silberschatz classifica os modelos de dados em quatro

categorias: Modelo relacional, de entidade/relacionamento, baseado em objeto e


modelo de dados semi-estruturado.

14

2.2.1 Modelo Relacional

O modelo relacional caracteriza-se por uma coleo de tabelas, onde cada qual
designada por um nome nico. Uma vez que uma tabela uma coleo de
relacionamentos, existe uma correspondncia entre o conceito de tabela e o conceito
matemtico de relao. Por essa correspondncia entre tabela e relao, originou-se o
nome modelo relacional. Esse modelo apresenta trs aspectos:

Aspectos estruturais: formalizam matematicamente a maneira como os dados


esto organizados no modelo. Esta formalizao baseada na teoria dos
conjuntos;

Aspectos de integridade: descrevem os procedimentos para garantia de


integridade de dados quando da ocorrncia de operaes de atualizao de
informaes;

Aspectos de manipulao: descrevem as linguagens formais e comerciais


definidas para o modelo.

A estrutura do modelo relacional baseia-se em cinco conceitos: domnio, atributo, tupla,


relao e chave.

Domnio: compreende um tipo de dado predefinido mais um conjunto de


restries de integridade que limitam os valores permitidos ara este tipo de
dados;

Atributo: caractersticas que descrevem as entidades (informaes que vo ser


armazenadas sobre as entidades). Portanto, em uma tabela representa uma

15

coluna e podem representar um valor de acordo com o domnio associado ou


null1;

Tupla: um conjunto de atributos que so ordenados em pares de domnio e


valor;

Relao: uma associao entre duas ou mais entidades;

Chave: a identificao de um objeto real definida por um atributo ou conjunto


de atributos, cujos valores individualizam uma nica ocorrncia dessa entidade 2.
Este conceito fundamental no modelo para garantir identificao de tuplas e
estabelecer relacionamentos entre relaes. De modo que, todo par de tuplas s
pode ter valor nico.

Cdigo Nome
Crdito
1
Mrcio Silva
2.000,00
2
Maria Jos
1.500,00
3
Sebastio Jos 4.000,00
4
Paulo Srgio
500,00
1
Mrcio Silva
6.000,00
Tabela 1 - Relao de crditos dos clientes de um banco.

No exemplo da tabela acima podemos observar que o cliente Mrcio Silva possui dois
crditos lanados com valores diferentes, pois nenhum par de tuplas em uma relao
pode ter exatamente o mesmo valor para todos os atributos. Assim, no modelo
relacional temos dois tipos de chaves:

Chave primria ou superchave (pk): segundo Silberschatz (2006), uma


superchave um conjunto de um ou mais atributos que, tomados coletivamente,
nos permite identificar unicamente a tupla, ou seja, o valor da pk de uma tupla

Null indica ausncia de valor ou valor desconhecido.

Entidade alguma coisa (objeto significante) sobre a qual a informao precisa ser conhecida ou
mantida

16

nunca se repetir nas demais tuplas da mesma relao. Uma pk escolhida


dentre vrias chaves candidatas3, que podem estar presentes na relao;

Chave estrangeira (fk): atributo ou grupo de atributos de uma relao R1 que


estabelece um relacionamento de equivalncia, por valor, com uma pk de uma
relao R2. Portanto, a chave estrangeira serve como uma forma de transformar
um relacionamento fraco entre entidades em um relacionamento forte.

2.2.2 Modelo de Entidade Relacionamento (MER)

Segundo Silberschatz (2006), o modelo de entidade-relacionamento baseia-se na


percepo de um universo, constitudo por um grupo bsico de objetos, chamados
entidades e por relacionamentos entre estes objetos. Essa abordagem foi criada por
Peter Chen em 1976, considerada como um padro para a modelagem conceitual.
Portanto, o modelo foi desenvolvido a fim de facilitar o projeto de banco de dados
permitindo a especificao de um esquema de empreendimento, cuja representao
grfica corresponde estrutura lgica global do banco de dados.
A estrutura lgica de um banco de dados pode ser expressa graficamente por um
diagrama de entidade e relacionamento (DER), consistindo na coleo de objetos
bsicos denominados entidades, e em relacionamentos entre esses objetos e portanto,
uma forma de representao grfica do conhecimento que se tem sobre um ambiente
(realidade) qualquer. No Diagrama de Entidade Relacionamento (DER), uma entidade
representada atravs de um retngulo que contm o nome da entidade.
Segundo Oliveira (2002) uma Entidade um agrupamento lgico de informaes interrelacionadas necessrias para a execuo das atividades do sistema e quando
transposta ao modelo fsico (ao banco de dados), passa a ser chamar de tabela. Assim,
uma entidade alguma coisa (objeto significante) sobre a qual a informao precisa ser
3

So as possveis chaves de identificao de uma nica ocorrncia de uma tabela.

17

conhecida ou mantida e possui propriedades ou atributos utilizadas para descreve-la.


Existem trs tipos de entidade:

Entidade primria: aquela cuja chave de identificao feita exclusivamente


atravs de seus atributos, como por exemplo, o CPF do cliente;

Entidade dependente: aquela cuja existncia depende de outra, ou seja, a


parte da chave de identificao da entidade est condicionada a da entidade da
qual ela depende;

Entidade associativa: aquela cuja chave de identificao obtida atravs da


concatenao das chaves de identificao das entidades que ela associa.

Segundo Heuser um relacionamento um conjunto de associaes entre entidades.


Assim, cada tipo entidade que participa de um tipo relacionamento realiza um papel no
relacionamento. Machado e Abreu (2004), afirma o grau do relacionamento ou
Cardinalidade o nmero de ocorrncias que uma entidade est associada, com
ocorrncias de outra entidade. Assim, existe trs graus de relacionamento, que so:

Um-para-um (1x1): cada objeto de uma entidade relaciona-se com um e somente


um elemento de outra entidade;

Um-para-muitos (1xN): indica a quantidade mxima de ocorrncias de entidades


que podem estar associadas a uma ocorrncia da outra entidade ( 1 ou n). Como
por exemplo, o relacionamento entre as entidades Clientes e Fatura ser 1 x N,
pois um cliente relaciona-se com muitas faturas, mas cada fatura ter apenas um
cliente;

18

Muito-para-muitos (mxn): Segundo Oliveira (2002) esse relacionamento ocorre


sempre que uma entidade se relaciona com vrias tuplas de outra entidade e
esta, por sua vez, relacionar-se com vrias tuplas daquela entidade.

2.2.3 Modelo de dados baseado em objeto (OO)

Segundo Silberschatz (2006) esse modelo pode ser analisado como uma extenso do
modelo de Entidade Relacionamento (E-R) com noes de encapsulamento, mtodos
(funes) e identidade de objeto. Portanto, o modelo de dados relacional de objeto
combina recurso do modelo relacional e orientado a objeto. Contudo, o modelo
orientado a objetos define um banco de dados baseado em objetos e suas
propriedades nas operaes.
De modo geral, a orientao de objetos corresponde organizao de sistemas como
uma coleo de objetos capazes de executar suas prprias operaes e propriedades.
No entanto, esse procedimento tambm inclui certo nmero de conceitos bsicos,
princpios e mecanismos prprios que diferenciam dos demais modelos. Segundo a
SQL Magazine 75, os conceitos da orientao a objetos surgiram da necessidade em
se enfatizar unidades discretas, e obter a reutilizao de cdigo, mantendo-se a
qualidade do software.
A grande diversidade na terminologia de orientao a objetos e a viabilidade deste novo
modelo de dados iniciou-se no final da dcada de 80 e portanto, basicamente a grande
maioria das solues era experimental. No entanto, o Manifesto de Atkinson foi o
importante marco para determinar uma variedade de caractersticas obrigatrias para
que um sistema pudesse ser considerado um BDOO.

19

Segundo o artigo SQL Magazine 02 - Bancos de Dados Orientados a Objetos: Uma


Introduo, um banco de dados orientado a objeto deveria, entre outras coisas, ser
capaz de armazenar as informaes como objetos de classes, sendo que tais classes
poderiam ser organizadas na forma de uma hierarquia de generalizao-especializao
e o conjunto de caractersticas obrigatrias so complementadas por caractersticas
opcionais, as quais incluam, por exemplo, a Herana Mltipla.
Segundo o artigo SQL Magazine 02 - Bancos de Dados Orientados a Objetos: Uma
Introduo, no modelo de dados orientado a objetos, os dados so armazenados em
objetos, porm cada objetos so regidos pelas caractersticas determinadas por suas
respectivas classes. Assim, os conceitos essenciais do paradigma de objetos, tais como
abstrao, objetos, classes, encapsulamento, polimorfismo, herana, troca de
mensagens entre objetos e persistncia de dados so presentes em nvel de banco de
dados.

Abstrao: so basicamente as propriedades comuns de um conjunto de objetos,


que permite a gerao de tipos baseada em hierarquias de tipos e de
relacionamentos. Os principais conceitos de abstrao utilizados em banco de
dados so generalizao4 e agregao5;

Objetos: so abstraes de dados do mundo real, com uma interface de nomes


de operaes e um estado local que permanece oculto. Assim, objetos so os
elementos capazes de representar uma entidade que esteja no domnio de
interesse do problema analisado. No entanto, as entidades presentadas por
objetos podem ser concretas ou abstratas. Um objeto tem um estado interno
descrito por atributos que podem apenas ser acessados ou modificados atravs
de operaes definidas pelo criador do objeto. Um objeto individual chamado

Corresponde associao " um" onde, a partir de propriedades comuns de diferentes entidades,
criada uma outra entidade. Como por exemplo, uma pessoa um funcionrio, uma pessoa um aluno.
5

O processo inverso a especializao. A agregao corresponde associao "parte de".

20

de instncia ou ocorrncia de objeto e sua parte estrutural similar noo de


entidade no modelo Entidade-Relacionamento. Contudo, os objetos complexos
so formados por construtores (conjuntos, listas, tuplas, registros, colees,
arrays6) aplicados a objetos simples (inteiros, booleanos, strings). Nos modelos
orientados a objetos, os construtores so em geral ortogonais, isto , qualquer
construtor pode ser aplicado a qualquer objeto;

Classes: a abstrao de um conjunto de objetos, que so agrupados por


possurem similaridades em termos de comportamento e caractersticas, ou seja,
um conjunto de objetos que possui o mesmo tipo (atributos, relacionamentos,
operaes);

Encapsulamento: a distino entre a especificao e a implementao das


operaes de um objeto, alm de prover a modularidade que permite uma
melhor estruturao e segurana das aplicaes complexas dentro do sistema;

Polimorfismo: a caracterstica que uma mesma operao poder se comportar


de diferentes formas em classes distintas e um mesmo nome pode ser usado por
mais de uma operao definida sobre diferentes objetos, caracterizando
sobrecarga (overloading). Assim, no polimorfismo tem-se tambm a passagem
de diferentes tipos de objetos como parmetros enviados a outros objetos;

Herana: uma tcnica que permite a transferncia de propriedades estruturais


e de comportamento de uma superclasse 7 para suas subclasses8. As principais
vantagens de herana so prover uma maior expressividade na modelagem dos
dados, facilitar a reusabilidade de objetos e definir classes por refinamento,
podendo fatorar especificaes e implementaes como na adaptao de

Um array constitudo por elementos, dimenses e agrupam elementos com o mesmo tipo de dados.

uma classe que a partir da qual todas as suas caractersticas so herdadas por suas subclasses

uma nova classe que herda caractersticas de sua classe superclasse.

21

mtodos gerais para

casos particulares, redefinindo-os para estes, e

simplificando a evoluo e a reusabilidade de esquemas de banco de dados.


Portanto, existe dois tipos de herana, simples e mltipla;

Mtodos: especificam a maneira pela qual os dados de um objetos so


manipulados e executados. Contudo, diferentes mtodos podem ser usados para
executar a mesma operao;

Mensagens: corresponde a forma mais usada para se ativar os mtodos. Num


Sistema Gerenciador de Banco de Dados Orientado a Objetos (SGBDOO) os
objetos se comunicam e so ativados atravs de mensagens enviadas entre
eles;

2.2.4 Modelo de dados semi-estruturado

Segundo Silberschatz (2006) o modelo de dados semi-estruturado permite a


especificao dos dados em que itens de dados individuais do mesmo tipo possam ter
diferentes conjuntos de atributos. Assim, geralmente para representar os dados semiestruturado utilizado a Extensible Markup Language (XML), que de certa forma
oposto dos modelos de dados citados at o presente trabalho.
A Extensible Markup Language (XML) no foi desenvolvida inicialmente como uma
tecnologia para banco de dados. Segundo Silberschatz (2006), ela tem suas razes no
gerenciamento de documentos, sendo derivada de uma linguagem para estruturar
grandes documentos, conhecida com Standard Generalized Markup Language (SGML).

22

O XML derivado de uma linguagem inventada pela IBM nos anos 70. A linguagem de
IBM chama-se GML (General Markup Language) e surgiu pela necessidade que tinham
na empresa de armazenar grandes quantidades de informao de temas diversos. Em
meados da dcada de 1990, o World Wide Web Consortium (W3C) comeou a
trabalhar em uma linguagem de marcao que combinasse a flexibilidade da SGML
com a simplicidade da HTML, cujo principal princpio erar criar uma linguagem que
pudesse ser lida por software, e integrar-se com as demais linguagens.
Silberschatz (2006) ao contrrio da SGML e HTML, o XML alm representar muitos
outros tipos de dados estruturados, tambm pode representar dados de banco de
dados. Portanto, ela particularmente importante como um formato de dados, quando
uma aplicao precisa se comunicar com outra aplicao ou integrar informaes de
vrias outras aplicaes.
No processamento eletrnico de documentos, uma linguagem de marcao uma
descrio formal de qual parte do documento contedo, qual parte marcao e o
que significa a marcao segundo Silberschatz (2006). No entanto, toda informao
processada com grande facilidade, porque tudo est organizado de uma maneira
lgica.
Para Silberschatz (2006), a famlia de linguagens de marcao toma a forma de tags
delimitadas em sinais < e >. No XML, as tags so usadas em pares, com <tag> e </tag>
delimitando o incio e o final da parte do documento qual a tag se refere. Assim, um
documento XML pode conter muitos tipos de informao e precisam ter um nico
elemento raiz, que compreende todos os outros elementos no documento. No exemplo
abaixo, o elemento <clientes> forma o elemento raiz aninhados corretamente.

<Clientes>
<Codigo>0001</Codigo>
<Nome>Mrcio Silva</Nome>

23

<Endereco>Avenida Cear, n 50, centro</Endereco>


<Cidade>Rio Branco</Cidade>
<Uf>AC</Uf>
<Cep>69900-000</Cep>
<Telefone>68999-9999</Telefone>
<Email>mrcio.silva@ac.gov.br</Email>
</Clientes>
Um documento XML quando comparado ao armazenamento de dados em banco
relacional, pode no ser to eficiente, pois os nomes de tag so repetidos em todo o
documento. No entanto, quando eles so utilizados para trocar dados entre
organizaes ou armazenar informaes estruturadas em arquivos apresenta vantagem
significativa por ter presena das tags que tornar a mensagem auto documentvel, o
formato do documento no ser rgido e permitir estruturas aninhadas.
Os documentos XML, por padro podem ser criados sem qualquer esquema associado.
Porm, para Silberschatz (2006) os bancos de dados possuem esquemas, que so
usados para restringir quais informaes podem ser armazenadas no banco de dados e
restringir os tipos de dados das informaes armazenadas.

24

2.3 PROJETO DE BANCO DE DADOS RELACIONAL

Os Bancos de Dados so componentes de fundamental importncia para os sistemas


de informao na atualidade. Nas organizaes necessrio sempre ter um sistema de
segurana para que todas as informaes possam ser armazenadas ou recuperadas de
um ou mais local. Portanto, o principal objetivo gerar um banco de dados que permita
armazenar informaes sem redundncia e recuper-las com facilidade.
O projeto de banco de dados apresenta-se com uma atividade essencial na fase de
desenvolvimento de sistemas, pois todos os dados de uma cooperao estaro de
alguma forma organizada e mantida em bancos de dados. Um projeto de um sistema
de informaes uma atividade complexa que inclui planejamento, especificaes e
desenvolvimento de vrios componentes. Para Machado e Abreu (1996), o projeto de
banco de dados envolve a estruturao em trs etapas de projeto: conceitual, lgico e
fsico.

2.3.1 Projeto Conceitual

O projeto conceitual tem seu incio a partir das abstraes do mundo real e resulta no
esquema conceitual de banco de dados. Um esquema conceitual geralmente uma
representao grfica da estrutura do banco de dados e, no depende do SGBD
adotado para implementao. Assim, ao analisar uma coleo de requisitos de dados,
de acordo com a necessidade da organizao, o projetista de banco de dados ir criar
um esquema conceitual que satisfaa os requisitos.
Nesta fase do projeto, realiza-se a modelagem dos dados, ou seja, os dados so
abstrados do mundo real e organizados de acordo com os requisitos. No entanto, na

25

modelagem de um banco de dados devemos primeiramente ter conhecimento do


ambiente real ao qual ser aplicado o modelo. Durante o processo, dever ser usado s
regras inerentes ao ambiente de aplicao do banco de dados.
Um modelo de dados de alto nvel oferece ao projetista de banco de dados, os
conceitos que o possibilitam identificarem as necessidades dos usurios e como o
banco ser estruturado para atender plenamente a todos os requisitos. Geralmente,
esse neste processo realizam-se as entrevistas, questionrios para avaliao do
projetista.
Atualmente, existem diversas tcnicas para projetar um esquema conceitual, mais a
maioria segue uma abordagem incremental, onde se inicia com um modelo derivado
dos requisitos e sucessivamente se aplicam modificaes, refinamentos ou novas
abstraes, at se obter o esquema final. Uma das tcnicas mais utilizadas dentre os
profissionais da rea a abordagem entidade-relacionamento (ER), onde o modelo
representado graficamente atravs do diagrama entidade-relacionamento (DER)..
Um diagrama que represente os requisitos de dados do problema em questo
elaborado nessa fase. Esse diagrama possui o nome de Diagrama de Entidade e
Relacionamento (DER) e, vrios so os conceitos utilizados na sua elaborao:
entidade, relacionamento, agregao, entidade fraca, atributos, entre outros.

2.3.2 Projeto Lgico

Segundo Jnior, o projeto lgico consiste no mapeamento do esquema conceitual para


o modelo de dados do SGBD adotado, resultando em um esquema lgico. Um
esquema lgico uma descrio da estrutura do banco de dados que pode ser
processada por um SGBD e o tipo que ele trata poder ser relacional, orientado a
objetos, hierrquico, etc.

26

Um projeto lgico tem como finalidade avaliar o projeto conceitual de acordo com as
necessidades de uso do banco de dados pelos usurios e aplicaes, realizando
possveis refinamentos com a finalidade de melhorar o desempenho das operaes, ou
seja, descrever o banco de dados no nvel do SGBD. Assim, podemos dizer que o
projeto lgico gera o esquema lgico e depende do modelo de dados escolhido, mas
no do SGBD. No entanto, quando o modelo de dados escolhido o relacional, ento
tm-se um a elaborao de um novo diagrama, denominado Diagrama de Estrutura de
Dados (DED), que segundo Jnior, representa os dados modelados segundo o modelo
relacional e sua implementao pode ser realizada atravs de uma ferramenta CASE.
A transformao do esquema conceitual para o esquema fsico ocorre em duas fases,
onde a primeira no considera nenhuma caracterstica especfica e dependncia
relacionadas a implementao do SGBD escolhido, e a segunda, consiste no
ajustamento do esquema lgico s suas particularidades.
De forma geral, vrias regras de traduo simples e direta do esquema conceitual para
o esquema lgico so adotadas. Assim, as entidades e relacionamentos do DER
(Diagrama de Entidade e Relacionamento) so mapeadas e originam tabelas no DED
(Diagrama de Estrutura de Dados), onde os atributos identificadores das entidades
correspondem s chaves primrias das tabelas derivadas.
Em regra geral, os relacionamento um-para-um (1x1) e um-para-muitos (1xn) no
originam tabelas. A representao do relacionamento feita com a incluso na tabela
derivada da entidade do lado n de um atributo correspondente chave primria da
entidade do lado

1, com a funo de chave estrangeira. No entanto, os

relacionamentos muito-para-muitos (mxn) e com grau 3 (ternrio) ou superior do


origem a uma nova tabela. A sua chave primria derivada da concatenao dos
atributos identificadores das entidades relacionadas.

27

2.3.3 Projeto Fsico

O projeto fsico inicia-se a partir do esquema lgico e resulta no esquema fsico. Um


esquema fsico uma descrio da implementao do banco de dados e direcionado
de acordo com SGBD especfico. As decises tomadas durante esta etapa do projeto
para melhorar o desempenho podem alterar o esquema lgico, ou seja, realizado um
refinamento do projeto para assegurar os critrios de performance desejados.
O refinamento das informaes realizado atravs na normalizao das informaes
detalhadas sobre a empresa real para a qual iremos modelar o banco de dados, cujo
principal objetivo evitar informaes repetidas, dificuldade na recuperao de
informaes desperdia de espao e principalmente redundncia dos dados.
Uma vez que o projeto fsico completado, os esquemas lgico e fsico so expressos
usando linguagem de definio de dados SQL (Structured Query Language) para o
Sistema de Gerenciamento de Banco de Dados (SGBD) adotado. Assim, o banco de
dados, as tabelas, ndices primrios (pk), chave estrangeira (fk) so criados e os dados
inseridos nas tabelas ser testado de forma operacional.

28

Figura 2.0
Fonte: http://www.itnerante.com.br/profiles/blogs/coment-rio-prova-stn-2013-esaf-questes-de-bd

2.4 LINGUAGEM SQL

Os bancos de dados so desenvolvidos para administrar grandes volumes de


informaes e com o aumento da sua utilizao nas mais diversas aplicaes, um
padro para manipulao das informaes de um banco de dados foi necessrio. Desta
forma o primeiro padro de linguagem a surgir foi a SQL (Structured Query Language)
no final da dcada de 80.

29

A empresa IBM desenvolveu a verso original da SQL, originalmente chamada de


SEQUEL (Structured English Query Language), como parte do projeto R no incio da
dcada de 1970. Porm, com a sua evoluo o seu nome mudou para SQL (Structured
Query Language), que se estabeleceu claramente como a linguagem padro para
banco de dados relacional.
Definido pela ANSI (American National Standards Institute) este primeiro padro SQL foi
publicado em 1986 e ficou conhecido como SQL-86. Aps algumas melhorias
realizadas, um novo padro foi adotado sendo chamado ento de SQL-89. J em 1992
o modelo foi definido. Este novo modelo ficou conhecido como SQL-92. Na atualidade,
a SQL pode ser considerada um padro para manipulao de banco de dados.
A linguagem SQL corresponde a uma linguagem de consulta de dados, que apresenta
um conjunto de comandos de manipulao de banco de dados utilizado para criar e
manter a estrutura desse banco de dados, alm de executar operaes de incluso,
excluso, alterao e pesquisar informaes no banco de dados. A linguagem SQL no
uma linguagem de programao autnoma, pois necessrio utilizar uma linguagem
de programao tradicional (Java, C#, PHP e outras) e embutir comandos SQL para
manipular os dados. Segundo Oliveira (2002), a linguagem SQL dividida trs
componentes:

DDL (Definition Data Language): so todos os comandos usados para criar e


alterar tabelas que compem o banco de dados, ou seja, os comandos que
definem a estrutura dos dados;

DML (Data Manipulation Language): so todos os componentes que permite a


manipulao dos dados armazenados no banco dedados;

DCL (Data Control Language): trata-se de um conjunto de comandos usado em


sistemas multiusurio para definir os privilgios acesso aos dados a cada
usurio.

30

2.4.1 Comandos da DDL (Definition Data Language)

A Linguagem de Definio de Dados DDL SQL permite a especificao de um conjunto


de relaes, tais como: informaes sobre o esquema, domnio dos valores associados
a cada atributo, restries de integridade, o conjunto dos ndices, estrutura de
armazenamento fsico e informaes de segurana e autorizao.
Para Oliveira (2002), o trabalho de criao do banco de dados, deve-se inicialmente
transformar o modelo lgico, representado pelo (MER) e pela Normalizao de Dados,
no modelo fsico que ser implementado com DDL. Portanto, praticamente todo o
trabalho de programao em BD se inicia com a criao do banco de dados e das
tabelas. Para Oliveira (2002), os principais comandos DDL so:

CREATE TABLE: utilizado para definir a estrurua de uma tabela, de uma viso
ou de um ndice. A sintaxe do comando a seguinte:
CREATE TABLE

<nome-tabela>

(<nome-coluna1>, <tipo-do-dado> [NOT NULL]


PRIMARY KEY <nome-coluna-chave>
FOREIGN KEY <nome-coluna-chave-strangeira) REFERENCES
<nome-tabela-pai> ON DELETE [RESTRICT] ou [CASCADE]
ou [SET NULL]
Onde:
a) nome-tabela: No pode coincidir com o nome de outros objetos do
banco de dados de um mesmo esquema;
b) nome-coluna: Deve ser nico e exclusivo na tabela;
c) tipo-do-dado: Clusula que define os domnios e tamanho dos campos
definidos para a tabela. Os domnios mais comuns so: char, varchar,
int, smallint, numeric, real, float;
d) NOT NULL: exige o preenchimento do campo no momento da incluso;

31

e) PRIMARY KEY <nome-coluna-chave>: essa clusula define o campo


da tabela que ser chave primria, ou seja, um valor do registro que
jamais poder ser repetido na mesma coluna, como por exemplo o
CPF;
f) FOREIGN

KEY

<nome-coluna-chave-strangeira)

REFERENCES

<nome-tabela-pai>: defini para o banco de dados as colunas que so


chaves estrangeiras, ou seja, os campos que so chaves primrias de
outras tabelas. Na opo REFERENCES deve ser especificado a
tabela na qual a coluna a chave primria
g) ON DELETE: esta opo especifica os procedimentos que devem ser
feitos pelo SGBD quando houver uma excluso de um registro na
tabela pai quando existe um registro correspondente nas tabelas filhas.
As opes disponveis so RESTRICT (no permite a excluso na
tabela pai), CASCADE (realiza a excluso em todas as tabelas filhas)
ou SET NULL (atribui o valor nulo nas colunas das tabelas filhas que
contenha o valor da chave que ser excluda na tabela pai).

ALTER TABLE: altera a estrutura de uma tabela acrescentando, alterando,


retirando e alterando nomes, formatos das colunas e integridade referencial
definas em uma determinada tabela. A sua sintaxe :
ALTER TABLE <nome-tabela>
OPERADOR nome-campo
O OPERADOR representa as operaes realizada com o atributo. Portanto,
as operaes podem ser o ADD para inserir um atributo, DELETE para
excluir, MODIFY para modificar a coluna e o RENAME para trocar o nome do
campo;

DROP TABLE: exclui a estrutura e os dados existentes em uma tabela.


Assim, aps a execuo deste comando estaro apagados todos os dados,
estrutura e ndices de acessos que estejam a ele associado. A sua sintaxe :
DROP TABLE <nome-tabela>

32

CREATE INDEX: cria uma estrutura de ndice de acesso para um


determinado campo da tabela. Portanto, um ndice de acesso permite um
acesso mais rpido aos dados em uma operao de seleo. Os ndices
podem ser criados a partir de um ou mais campos de uma tabela. A sua
sintaxe :
CREATE [UNIQUE] INDEX < nome-ndice >
ON < nome-tabela > (< nome-coluna > [ASC | DESC])
Onde:
a) UNIQUE identifica que esse ndice no permite repetio de contedo na
chave. Porm, se o ndice no for especificado, admitir repetio;
b) ASC determina que a ordem de indexao ascendente;
c) DESC determina que a ordem de indexao descendente.

DROP INDEX: apaga uma estrutura de ndice de acesso para uma determinada
coluna em uma tabela. A sua sintaxe : DROP INDEX <nome-ndice>.

2.4.2 Comandos da DML (Data Manipulation Language)

Os comandos da DML so usados para manipular os dados depois que as tabelas do


banco de dados, relacionamentos, ndices e etc.. Os comandos SQL que manipulam
dados so os populares SELECT, INSERT, UPDATE e DELETE. Em ingls esses
comandos so chamados de Data Manipulation Language o que explica a abreviao
DML.

SELECT: seleciona um conjunto de registros em uma ou mais tabelas que


atenda a uma determinada condio definida pelo comando. A sintaxe desse
comando muito rica em opes e, em cada dialeto, apresenta funcionalidades
adicionais que a tornam ainda mais verstil e rpidas para realizar buscas
detalhadas no banco de dados. A sintaxe bsica :
SELECT * FROM nome-tabela WHERE <condio-de-pesquisa>

33

INSERT: inclui um novo registro em uma tabela do banco de dados. A sintaxe


bsica : INSERT INTO <nome-tabela> (coluna1, coluna2,...,conlunaN)
VALUES (valor1, valor2, ..., valor);

UPDATE: atualiza os dados de um ou mais registros em uma tabela do banco


de dados. A sintaxe bsica desse comando :
UPDATE <nome-tabela>
SET

<nome-coluna> = <contedo-coluna>

WHERE <condio>;

DELETE: deleta um ou mais registros em tabela do banco de dados. A sintaxe


bsico do comando : DELETE FROM <nome-tabela> WHERE <condio>.

2.4.3 Comandos da DCL (Data Control Language)

Segundo Oliveira (2002), principal funo de um comando DCL prov a segurana


interna do banco de dados. Assim, com o banco de dados pronto e rodando
importante definir quem poder acess-lo, os direitos e privilgios para cada usurio
que acessa o banco. Os comandos responsveis pelo controle dos dados so:

GRANT: usado para atribuir direitos a outros usurios. A sintaxe bsica desse
comando :
GRANT <tipo-direito> ON <nome-tabela> TO < nome-usurio >;
Onde o tipo-direito pode ser:
a) Direitos relacionados a objetos: SELECT, INSERT, UPDATE, DELETE,
REFERENCES e ALL PRIVILEGES; e
b) Direitos de sistemas que variam de acordo com o SGBD

34

REVOKE: usado para revogar direitos anteriormente concedidos ao usurio. A


sintaxe bsica :
REVOKE <tipo-direito> ON <nome-tabela> FROM <nome-usurio>;

http://www.devmedia.com.br/quick-tips-introducao-ao-sql-parte-i/16408
http://www.devmedia.com.br/busca/?txtsearch=sql

35

36

2.5 INTERNET E FERRAMENTAS WEB DE BANCO DE DADOS

37

REFERNCIAS

GUIMARES, Clio. Fundamentos de banco de dados. UNICAMP. 2003.


ELMASRI, R. e NAVATHE, S.B. Sistemas de Banco de Dados. 4a.edio, 2005.
KORTH, H.F. e Silberschatz, A. Sistemas de Bancos de Dados. Makron Books,
5.edio, 2006.
MACHADO, Felipe Nery Rodrigues; ABREU, Maurcio Pereira de. Projeto de Banco de
Dados: Uma Viso Prtica. 11. ed. So Paulo: rica, 2004.
FERRARI, Fabrcio Augusto. Crie Banco de Dados em MySQL. So Paulo. Digerati
Books, 2007, 128p.
OLIVEIRA, Celso Henrique Poderoso. Modelagem e Linguagem SQL: Curso Prtico.
2002. Novatec.
HEUSER, Carlos Alberto. Projeto de Banco de Dados. Srie livros didticos. 4 ed.
Instituto de Informtica UFRGS. Editora Sagra-Luzzatto.
NIEDERAUER, Juliano. Web Interativo com Ajax e PHP. So Paulo. Novatec Editora,
2011.
BEIGHLEY, Lynn; MORRISON, Michael. Use a cabea! PHP & MYSQL. Alta Books,
2011.
Modelo orientado a objeto: acessado 05/05/2013 as 14h
http://www.ufpa.br/sampaio/curso_de_sbd/bdoo/apostila/basico.html
http://www.devmedia.com.br/introducao-a-orientacao-a-objetos-e-uml-sql-magazine75/16820 revista sql magazine 75

38

Leia mais em: artigo SQL Magazine 02 - Bancos de Dados Orientados a Objetos: Uma
Introduo

http://www.devmedia.com.br/artigo-sql-magazine-02-bancos-de-dados-

orientados-a-objetos-uma-introducao/7623#ixzz2SRXhwSjd

Srgio Ricardo Borges Jnior. Banco de Dados. www.ensinalegal.net

http://www.itnerante.com.br/profiles/blogs/coment-rio-prova-stn-2013-esaf-quest-es-debd

You might also like