Escolar Documentos
Profissional Documentos
Cultura Documentos
So Paulo
2011
Faculdade
de
Tecnologia de So Paulo, como
requisito parcial para a obteno do
grau
de
Tecnlogo
em
Processamento de Dados.
Orientador:
Bernice
So Paulo
2011
Prof.
Paulo
Roberto
AGRADECIMENTOS
RESUMO
ABSTRACT
Currently, to obtain information quickly and reliably is vital to society, especially for
organizations. Databases allow the control and the availability of such information
and therefore have become indispensable elements. Thus, this study aims to
address some of the main topics in that area. However, given the richness of the
subject and, consequently, its length is only focused on the issues that relate to
relational databases. To this end, a literature search was performed in some
reference works. The following text discusses prepared, among others, the concepts
of databases, database systems, semantic modeling, data model, relational model
and structured query language. At the end, it is demonstrated through a case study
approach to the importance of the database. There is also ratified that understanding
of issues relevant to the field of the database enables the development of database
projects more efficient.
Keywords: databases, relational databases, data storage.
SUMRIO
1.
INTRODUO ............................................................................................... 7
2.
2.1.
3.
3.1.
DADOS ........................................................................................................ 10
3.2.
HARDWARE ................................................................................................ 11
3.3.
SOFTWARE ................................................................................................. 11
3.4.
USURIOS .................................................................................................. 12
4.
4.1.
4.2.
5.
6.
6.1.
6.2.
6.3.
6.4.
AUTO-RELACIONAMENTOS ...................................................................... 25
6.5.
6.5.1.
6.5.2.
7.
7.1.
7.2.
7.2.1.
8.
8.1.
8.2.
8.3.
9.
O PADRO-SQL ......................................................................................... 39
9.1.
9.1.1.
9.1.1.1.
9.1.1.2.
9.1.2.
9.1.3.
INSTRUO ALTER.................................................................................... 44
9.2.
9.2.1.
9.2.1.1.
9.2.1.2.
9.2.1.3.
9.2.1.4.
Clusula having.....................................................49
9.2.1.5.
9.2.2.
9.2.3.
9.2.4.
INSTRUO UPDATE................................................................................. 52
10.
10.1.
10.1.1.
TABELAS .................................................................................................. 54
10.1.2.
CONSULTAS ............................................................................................ 55
10.1.3.
FORMULRIOS ........................................................................................ 57
10.1.4.
RELATRIOS ........................................................................................... 58
10.1.5.
MACROS .................................................................................................. 58
10.1.6.
MDULOS ................................................................................................ 58
10.2.
10.3.
11.
12.
REFERNCIAS ........................................................................................... 63
1. INTRODUO
Os bancos de dados esto cada vez mais presentes em nosso dia-a-dia, visto que a
maioria das atividades que realizamos envolvem, direta ou indiretamente, o uso de
uma base de dados. Diante disso, apresentaremos nas sees seguintes uma
introduo aos conceitos fundamentais de banco de dados. Considerando que os
bancos de dados so em sua grande maioria ainda relacionais, esse trabalho os
enfatizar. Assim, o primeiro captulo conceitua banco de dados e tambm discute
as vantagens advindas dessa abordagem. O segundo captulo define sistema de
banco de dados, assim como discorre brevemente sobre cada elemento que o
compe. O terceiro captulo descreve abstrao e modelo de dados para ento
discorrer sobre a arquitetura para sistemas de banco de dados ANSI/SPARC. O
quarto captulo oferece uma viso geral das etapas de desenvolvimento de um
projeto de banco de dados. No quinto e no sexto captulo abordado o Modelo
Entidade-Relacionamento, bem como a tcnica de diagramao correspondente,
que usado para modelar base de dados. O stimo captulo apresenta o Modelo
Relacional. O oitavo captulo contm relato sobre o padro-SQL, linguagem usada
para estruturar e manipular banco de dados relacionais. O ltimo captulo apresenta
um sistema gerenciador de banco de dados relacional - Access - e o seu emprego
para organizar dados em uma instituio.
2. BANCOS DE DADOS
2.1.
PORQUE UTILIZ-LOS
Na forma convencional de
10
3.1.
DADOS
11
3.2.
HARDWARE
3.3.
SOFTWARE
12
uma base de dados. Proteo diz respeito segurana contra falhas de hardware,
software e contra acesso no autorizado. Por manuteno, o suporte para o
crescimento do banco de dados (ELMASRI; NAVATHE, 2011, p. 4).
3.4.
USURIOS
13
4.1.
ESQUEMAS E INSTNCIAS
14
4.2.
15
16
17
18
seja, a deciso sobre principais usurios, quais dados devem ser armazenados e
as operaes a serem realizadas sobre eles;
dados povoamento da base. Pode ocorrer pela carga de dados direta ou pela
converso de arquivos subsistentes;
realizadas nos programas que acessavam o sistema anterior para que eles interajam
com o novo;
seja, verificar se tudo est funcionando em conformidade com o que foi planejado;
19
20
6. O MODELO ENTIDADE-RELACIONAMENTO (E-R)
A abordagem de Entidade-Relacionamento baseada no Modelo EntidadeRelacionamento que foi introduzido por Peter Pin-Shan Chen, em 1976. um
aprimoramento do modelo originalmente proposto, sendo uma das tcnicas de
modelagem semntica mais conhecidas e, possivelmente, uma das mais utilizadas.
DATE (2004, p. 355).
Uma das principais vantagens talvez seja o motivo maior para sua popularidade
que alm de conceitos o modelo ainda conta com uma tcnica de diagramao.
Isto permite registrar e comunicar de forma simplificada os principais aspectos do
projeto de banco de dados DATE (2004, p. 358).
O modelo ER descreve os dados como entidades, relacionamentos e atributos
(ELMASRI; NAVATHE, 2011, p. 132).
6.1.
Uma entidade uma coisa ou um objeto no mundo real que pode ser identificada
de forma unvoca em relao a todos os outros objetos (SILBERSCHATZ; KORTH;
SUDARSHAN, 1999, p. 21).
Por exemplo, cada servidor de uma instituio pblica de ensino uma entidade.
Cada unidade de ensino (campus) desse rgo tambm.
As entidades classificam-se em: entidades regulares ou fortes e entidades fracas.
Para DATE (2004, p. 355), uma entidade fraca uma entidade cuja existncia
depende de alguma outra entidade, no sentido de que ela no pode existir se essa
outra entidade tambm no existir. Os dependentes de um servidor so exemplos
clssicos de entidades fracas, pois existiro se, e somente se, existir a entidade
servidor.
J uma entidade regular ou forte, pode ser definida como uma entidade no fraca.
Por exemplo, um servidor uma entidade forte.
21
6.2.
Simples ou Compostos
22
Por exemplo, o endereo de cada servidor um atributo composto, pois pode ser
dividido em alguns atributos simples, como: Logradouro, Nmero, Complemento,
Bairro, Cidade e Estado.
Monovalorados ou Multivalorados
Um atributo monovalorado aquele que assume um nico valor para uma dada
entidade. Ao passo que, um atributo multivalorado pode ter n valores considerando
uma mesma entidade (SETZER; CORRA DA SILVA, 2005, p. 27).
Exemplificando, o atributo Sexo do conjunto de entidades Servidores um atributo
monovalorado, pois assume um nico valor masculino ou feminino para cada
entidade. Ao contrrio, o atributo Telefone considerado multivalorado, visto que um
servidor pode ter vrios telefones para contato e, consequentemente, esse atributo
assumir n valores.
Armazenados ou Derivados
servidor
um
exemplo
de
atributo
armazenado.
atributo
Nulos
Um atributo nulo usado quando uma entidade no possui valor para determinado
atributo (SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p. 24).
O atributo Nmero_Reservista do conjuntos de entidades Servidores um atributo
nulo, pois no se aplica a todas entidades (servidoras no possuem Carteira de
Reservista).
Chaves ou Determinantes
23
6.3.
24
25
6.4.
AUTO-RELACIONAMENTOS
Relacionamentos entre entidades de mesma categoria denominam-se autorelacionamentos (SETZER; CORRA DA SILVA, 2005, p. 47).
Mas, como compreender um relacionamento entre entidades de tipo?
Segundo ELMASRI e NAVATHE (2011, p. 141), cada tipo de entidade que participa
de um tipo de relacionamento desempenha nele uma funo em particular.
SILBERSCHATZ, KORTH e SUDARSHAN (1999, p. 25), complementam dizendo
que a funo que uma entidade desempenha em um relacionamento chamada
papel. Ento, em um auto-relacionamento (tambm denominado relacionamento
recursivo) as entidades so do mesmo tipo, porm elas tm papis diferentes.
Por exemplo, determinada autarquia federal precisa realizar concurso pblico para
preencher vagas de emprego. Ento, a autoridade mxima do rgo o Reitor
designa uma comisso que ser responsvel por todos os trabalhos referentes ao
processo seletivo. Essa comisso, por sua vez, pode delegar tarefas para grupos de
trabalhos menores. Ento, tem-se o seguinte cenrio: uma comisso coordena
comisses menores, sendo essas ltimas subordinadas quela primeira. Isso pode
ser modelado atravs de um auto-relacionamento, onde o conjunto de entidades
Comisso associa-se a ele mesmo atravs do relacionamento Superviso, de
maneira que Comisso ora desempenha o papel de supervisora, ora de
supervisionada.
6.5.
26
pode
estar
associada
via
um
conjunto
de
relacionamentos
27
28
29
7.1.
pertenam
ao
conjunto
de entidades
Servidores,
eles
formam
30
7.2.
ESPECIALIZAES E GENERALIZAES
Os
smbolos
usados
para
representar
as
subclasses,
seus
atributos
31
generalizao
bottom-up
(do
especfico
para
geral)
determinar quais entidades comporo cada uma das subclasses. Essa determinao
d-se pela escolha de um dos critrios a seguir:
ao valor que determinado atributo assume para uma dada entidade. Ou ainda, de
acordo com o valor de um atributo da superclasse a entidade alocada na
32
Apenas
aquelas
entidades
que
atendam
condio
escolha das entidades que estaro na subclasse. De acordo com os autores, nesses
casos a condio de membro especificada individualmente para cada entidade
pelo
usurio,
no
por
qualquer
condio
que
possa
ser
avaliada
automaticamente.
O segundo tipo de restrio determina se uma dada entidade pode pertencer a mais
de uma subclasse. Assim, as subclasses podem ser:
subclasses.
A
terceira
restrio
especifica
se
toda
entidade
da
superclasse
tem,
obrigatoriamente, que pertencer a uma das subclasses. Essa restrio pode ser:
subclasse.
33
8. O MODELO RELACIONAL
8.1.
O ASPECTO ESTRUTURAL
CARGOS
Codigo
Denominacao
Classe
Categoria
701001
Adminitrador
Tcnico-Administrativo
701010
Bibliotecrio - Documentalista
Tcnico-Administrativo
701244
Tcnico-Administrativo
701405
Auxiliar em Administrao
Tcnico-Administrativo
702001
Docente
34
8.2.
O ASPECTO DE INTEGRIDADE
35
esquema
da
relao
Cargos
ficaria
assim:
Cargos(Codigo,
36
Tendo por base o exposto por SETZER e CORRA DA SILVA (2005, p. 124),
discutiremos os conceitos de chave estrangeira e integridade referencial por meio de
um exemplo.
(a)
NOME
CLASSE
PRONTUARIO
CATEGORIA
DENOMINACAO
CODIGO
CARGOS
OCUPAO
ADMISSAO
SERVIDORES
(b) CARGOS
Codigo
Denominacao
Classe
Categoria
SERVIDORES
Prontuario
Nome
Admissao
Codigo
Considerando a representao acima, interpretamos do Diagrama EntidadeRelacionamento (figura 14a) que cada ente do conjunto de entidades Servidores
ocupa no mnimo e no mximo um cargo. Entretanto, um cargo pode ser ocupado
por nenhum ou muitos servidores. Mapeando essa situao para o Modelo
Relacional,
obtem-se
os
seguintes
esquemas
de
relao:
Cargos(Codigo,
37
8.3.
O ASPECTO MANIPULATIVO
Classe = C (Cargos))
Denominao, Categoria(
38
39
9. O PADRO-SQL
especificar
restries
de
integridade
outros
recursos
mais
9.1.
40
9.1.1.1.
41
dgitos que compe o nmero e d especifica quantos desses dgitos esto direita
(aps o ponto decimal). Um numeric(5,2) permite armazenar um nmero com cinco
dgitos, sendo que dois deles esto aps o ponto decimal, ou seja, o nmero
armazenado deve possuir o seguinte formato 999.99.
Um domnio pode ser declarado e seu nome usado com a especificao do atributo
(ELMASRI; NAVATHE, 2011, p. 61). So os tipos de dados definidos pelo usurio.
Para isso usamos a instruo create domain, conforme abaixo:
create domain <nome do domnio> as <tipo de dado>
Por exemplo, vamos declarar o domnio Moeda e utiliz-lo mais adiante na
especificao do atributo Salario.
create domain Moeda as numeric(9,2)
9.1.1.2.
not null: usada para especificar atributos cujo valor no possa ser vazio, ou
default: define um valor padro para dado atributo. Deste modo, ao se criar
uma nova linha na tabela, esse valor ser automaticamente atribudo coluna caso
nenhum valor seja explicitamente informado. Se a clusula default for omitida, o
valor padro null para aqueles atributos que no contenham a restrio not null.
42
43
44
A instruo alter permite modificar a estrutura de uma tabela, bem como alterar a
definio de outros elementos nomeados de um esquema. Considerando uma
tabela, tem-se a oportunidade de adicionar e excluir colunas, modificar a definio
de colunas, e ainda, acrescentar ou eliminar restries para a tabela (ELMASRI;
NAVATHE, 2011, p. 61).
Entre outras, podemos utilizar o comando alter das seguintes formas:
alter table <nome da tabela> add column <nome da coluna> <tipo de dado>,
alter table <nome da tabela> drop column <nome da coluna>, para remover
45
alter table <nome da tabela> drop constraint <nome da restrio>, para excluir
9.2.
Uma vez definido o banco de dados possvel operar sobre ele atravs das
operaes de manipulao: select, insert, update e delete (DATE, 2004, p. 73).
Select usada para realizar consultas ao banco de dados, enquanto insert, update e
delete
so
aplicadas
na
insero,
atualizao
excluso
de
dados,
respectivamente.
9.2.1.1.
46
47
lista o nome e o salrio bruto anual de cada servidor, sendo essa ltima coluna
obtida pela multiplicao do salrio percebido pela quantidade de meses no ano.
Tabelas (relaes) e colunas (atributos) podem ser renomeadas atravs da clusula
as (SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p. 114). Tomemos como
ilustrao o resultado da consulta realizada acima. Nela a coluna onde aparecer o
salrio bruto anual no ter um nome. Ento, podemos atribu-lo por meio da
clusula as, conforme segue:
select Nome, Salario * 12 as Sal_Bruto_Anual
from Servidores
9.2.1.2.
Clusula where
48
9.2.1.3.
Clusulas group by
de
valores
totalizao
de
quantidades,
respectivamente
49
9.2.1.4.
Clusula having
Imagine que para a consulta anterior seja necessrio encontrar apenas os campi
que possuem trinta ou mais servidores. Para atender essa demanda empregaremos
a clusula having.
Uma clusula having possibilita selecionar somente grupos cujos componentes
atendam a uma determinada condio (SETZER; CORRA DA SILVA, 2005, p.
184). No entanto, importante ressaltar que having e where desempenham funes
50
diferentes. A clusula HAVING est para grupos como a clusula WHERE esta para
linhas; em outras palavras, HAVING usada para eliminar grupos, da mesma
maneira que WHERE usada para eliminar linhas (DATE, 2004, p. 204).
A tabela resultante pode ser obtida da seguinte forma:
select Denominacao, count (Prontuario)
from Servidores, Campi
where CodCampi = Sigla
group by Denominacao
having count (Prontuario) >= 30
9.2.1.5.
Clusula order by
51
O comando insert usado para inserir dados em uma tabela, mais especificamente
inserir linhas na tabela.
No comando de insero podemos informar somente os valores a serem includos,
porm devemos faz-lo na mesma ordem em que as colunas (atributos) aparecem
na tabela. Assim, para acrescentar novos dados tabela Cargos temos que
apresentar valores, obrigatoriamente, na seguinte ordem: em primeiro lugar o cdigo
do cargo; em segundo, sua nomenclatura; em terceiro, a classe a qual ele pertence;
e por ltimo, a categoria na qual ele se enquadra.
insert into Cargos
values (701711, Auxiliar em Enfermagem, C, Tecnico-Administrativo)
Entretanto, tambm possvel determinar a ordem em que os valores sero
acrscidos tabela especificando seus respectivos atributos na instruo insert.
Considerando a tabela Cargos, para incluso dos mesmos valores acima
informados, mas em uma ordem diferente, escreveramos:
insert into Cargos (Denominacao, Categoria, Codigo, Classe)
values (Auxiliar em Enfermagem, Tecnico-Administrativo, 701711, C)
52
53
verses anteriores;
54
Desta forma, para criar e manter de forma otimizada um banco de dados Access
muito recomendado o entendimento e a aplicao de todos os conceitos vistos nos
captulos anteriores: Modelo Entidade-Relacionamento, para a modelagem do banco
de dados; Modelo Relacional, para o mapeamento do Diagrama EntidadeRelacionamento; e SQL, para a construo e manuteno da base de dados.
10.1.1.
TABELAS
55
10.1.2.
CONSULTAS
Uma consulta, para o Access, to somente uma expresso SQL armazenada para
uso posterior CARVALHO (2006, p. 455).
Segundo SETZER e CORRA DA SILVA (2005, p. 229), o Access possibilita a
criao de dois tipos de consulta: seleo e ao. O primeiro tipo permite recuperar
56
Seleo: tem por base a instruo SQL select e usada para selecionar
s tabelas;
Por exemplo, considerando a tabela criada na figura 16 (tabela Campi), suponha que
seja necessrio listar todos seus campos (colunas), porm em ordem ascendente
pelo campo Cidade. Poderamos montar essa consulta conforme ilustrado na figura
18 ou 19 das duas maneiras obteramos o mesmo resultado.
57
10.1.3.
FORMULRIOS
58
10.1.4.
RELATRIOS
10.1.5.
MACROS
10.1.6.
MDULOS
59
60
Desta forma, obrigatrio que haja um controle mensal referente aos processos que
devem ser abertos, os que esto em andamento, assim como aqueles que devem
ser homologados.
Antes do Plano de Expanso da Rede Federal de Educao Tecnolgica plano
que multiplicou o nmero de Institutos Federais em todo o territrio nacional o
Instituto Federal de So Paulo executava todo o processo de avaliaes quase que
de forma manual, contando apenas com os programas Microsoft Word (para montar
relatrios) e Microsoft Excel (para controlar prazos). Entretanto, aps o Plano de
Expanso, essa situao tornou-se insustentvel, visto que o nmero de
contrataes cresceu muito.
Ento, para suprir essa necessidade de organizar dados, foi que se passou a utilizar
o Microsoft Access.
61
62
63
12. REFERNCIAS