Conceitos Fundamentais de Banco de Dados

Propaganda
Profº MSc. Jeferson Bussula Pinheiro
E-Mail: [email protected]
Bacharel em Ciência da Computação.
UNIDERP – 2001
Especialista em Desenvolvimento para WWW.
UNIDERP – 2003
Mestrando em Produção e Gestão AgroIndustrial
UNIDERP – 2011
Especialista em Segurança.
Academia de Segurança Microsoft TechNet Brasil - 2008
Profissional 5 Estrelas – Active Directory
Win2003/win2008 - Microsoft TechNet Brasil – 2008/2009
Cargos desenvolvidos
Programador , Analista de sistemas
Professor (atual)
Administrador de Redes
Coordenador de Sistemas
Gerente de Desenvolvimento (TCE - atual)
Coordenador de Engenharia da Computação e TADS

Implementar e avaliar a eficiência dos objetos
de banco de dados, implementados segundo
aos princípios dos bancos de dados
relacionais e dos recursos da linguagem SQL.

Abordagem Entidade-Relacionamento;
Fundamentos de Bancos de Dados; Modelos
de Banco de Dados; Normalização de Dados.




Bibliografia Básica:
HEUSER, C. A.. Projeto de Banco de Dados Vol.4. 6 Ed. São Paulo: Bookman, 2008.
ALVES, William Pereira. BANCO DE DADOS. 1
Ed. São Paulo: Érica, 2015.
MANNINO, MICHAEL V.. Projeto,
Desenvolvimento de Aplicações e
Administração de Banco de Dados. 3 Ed. EUA:
McGraw-Hill, 2008.






Bibliografia Complementar:
DENNIS, WIXOM E ROTH, Alan, Barbara e Roberta.
Análise e Projeto de Sistemas. 5 Ed. São Paulo:
LTC, 2014ª.
RAMOS, NETO & VEGA. Linguagens Formais. 1 Ed.
São Paulo: Bookman, 2009.
NULL, LINDA. Princípios Básicos de Arquitetura e
Organização de Computadores. 2 Ed. São Paulo:
Bookman, 2010.
PIZZOLATO E GANDOLPHO, Nelio Domingues e
André Alves. Técnicas de Otimização. 1 Ed. São
Paulo: LTC, 2009.
BROOKSHEAR, J. GLENN. Ciência da Computação.
11 Ed. São Paulo: Bookman, 2013.
PLT

670
SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN,
S. Sistema de Banco de Dados, Elsevier,
2012. PLT 670.

Segundo Korth, um banco de dados “é uma
coleção
de
dados
inter-relacionados,
representando
informações
sobre
um
domínio específico”, ou seja, sempre que for
possível agrupar informações que se
relacionam e tratam de um mesmo assunto,
posso dizer que tenho um banco de dados.


Podemos exemplificar situações clássicas
como uma lista telefônica, um catálogo de
CDs ou um sistema de controle de RH de uma
empresa.
Já um sistema de gerenciamento de banco de
dados (SGBD) é um software que possui
recursos
capazes
de
manipular
as
informações do banco de dados e interagir
com o usuário. Exemplos de SGBDs são:
Oracle, SQL Server, DB2, PostgreSQL, MySQL,
o próprio Access ou Paradox, entre outros.


Por último, temos que conceituar um sistema
de banco de dados como o conjunto de
quatro
componentes
básicos:
dados,
hardware,
software
e
usuários.
Date
conceituou que “sistema de bancos de dados
pode ser considerado como uma sala de
arquivos eletrônica”.
A imagem ilustra os componentes de um
sistema
de
banco
de
dados.

Os objetivos de um sistema de banco de
dados são o de isolar o usuário dos
detalhes internos do banco de dados
(promover a abstração de dados) e
promover a independência dos dados em
relação às aplicações, ou seja, tornar
independente da aplicação, a estratégia de
acesso e a forma de armazenamento.

Os Bancos de dados relacionais (BDR)
surgiram em meados da década de 1970.
Porém, apenas alguns anos mais tarde as
empresas passaram a utilizá-los no lugar de
arquivos.

Simples, para armazenar informações...


Os
Bancos
de
Dados
Relacionais
foram
desenvolvidos para prover acesso facilitado aos
dados, possibilitando que os usuários utilizassem
uma grande variedade de abordagens no
tratamento das informações. Pois, enquanto em
um banco de dados hierárquico os usuários
precisam definir as questões de negócios de
maneira específica, iniciando pela raiz do mesmo,
nos Bancos de Dados Relacionais os usuários
podem fazer perguntas relacionadas aos negócios
através de vários pontos.
A linguagem padrão dos Bancos de Dados
Relacionais é a Structured Query Language, ou
simplesmente SQL, como é mais conhecida.



Um Banco de Dados Relacional segue o Modelo
Relacional.
A arquitetura de um banco de dados relacional
pode ser descrita de maneira informal ou formal.
Na descrição informal estamos preocupados com
aspectos práticos da utilização e usamos os
termos tabela, linha e coluna.
Na descrição formal estamos preocupados com a
semântica formal do modelo e usamos termos
como relação entidade (tabela), tupla(celula),
registro (linhas) e atributo(coluna).

O sistema de banco de dados deve garantir
uma visão totalmente abstrata do banco de
dados para o usuário, ou seja, para o usuário
do banco de dados pouco importa qual
unidade de armazenamento está sendo usada
para guardar seus dados, contanto que os
mesmos estejam disponíveis no momento
necessário, a abstração se dá em três níveis.



Nível de visão do usuário: as partes do banco
de dados que o usuário tem acesso de acordo
com a necessidade individual de cada usuário
ou grupo de usuários;
Nível conceitual: define quais os dados que
estão armazenados e qual o relacionamento
entre eles;
Nível físico: é o nível mais baixo de
abstração, em que define efetivamente de
que maneira os dados estão armazenados.
Visão1
Visão 2
Visão 3
Nível
Conceitual
Armazenamento das
informações
Nível Físico
Visão n

Todo bom sistema de banco de dados deve
apresentar
um
projeto,
que
visa
a
organização das informações e utilização de
técnicas para que o futuro sistema obtenha
boa
performance
e
também
facilite
infinitamente as manutenções que venham a
acontecer.

Modelagem conceitual;

Projeto lógico.


Estas duas etapas se referem a um sistema de
banco de dados ainda não implementado, ou
seja, que ainda não exista, um novo projeto.
Para os casos em que o banco de dados já
exista, mas é um sistema legado, por
exemplo, ou um sistema muito antigo sem
documentação, o processo de projeto de
banco de dados se dará através da utilização
de uma técnica chamada de Engenharia
Reversa,
que
será
visto
em
outra
oportunidade.


É a descrição do BD de maneira independente
ao SGBD, ou seja, define quais os dados que
aparecerão no BD, mas sem se importar com
a implementação que se dará ao BD. Desta
forma, há uma abstração em nível de SGBD.
Uma das técnicas mais utilizadas dentre os
profissionais da área é a abordagem
entidade-relacionamento (ER), onde o modelo
é representado graficamente através do
diagrama entidade-relacionamento (DER) á
uma abstração em nível de SGBD.
Exemplo de diagrama entidade relacionamento
O modelo acima, entre outras coisas, nos traz
informações sobre Alunos e Turmas. Para cada
Aluno, será armazenado seu número de
matrícula, seu nome e endereço, enquanto para
cada turma, teremos a informação de seu
código, a sala utilizada e o período.


Evolua o modelo anterior de forma que seja
possível lançar notas para cada uma das
disciplinas do acadêmico.
Favor entregarem seus modelos ao final da
aula de segunda-feira (04/03/2013).


Descreve o BD no nível do SGBD, ou seja,
depende do tipo particular de SGBD que será
usado. Não podemos confundir com o
Software que será usado. O tipo de SGBD que
o modelo lógico trata é se o mesmo é
relacional, orientado a objetos, hierárquico,
etc.
Abordaremos o SGBD relacional, por serem os
mais difundidos. Nele, os dados são
organizados em tabelas (bidimensional).
Aluno
ra
nome
endereco
17868
Jeferson Pinheiro
Semiramis
277864
Eike Batista
Rua da Varzea
873647
Anderson Silva
Santa Mônica
turma
cod_turma
sala
periodo
1
332
Diurno
2
321
Noturno
falar sobre
domínios


O modelo lógico do BD relacional deve definir
quais as tabelas e o nome das colunas que
compõem estas tabelas.
Para o nosso exemplo, poderíamos definir
nosso modelo lógico conforme o seguinte:
Aluno(ra, nome, endereco)
Turma (cod_turma, sala, periodo)

É importante salientar que os
detalhes internos de armazenamento,
por exemplo, não são descritos no
modelo lógico, pois estas informações
fazem parte do modelo físico, que
nada mais é que a tradução do
modelo lógico para a linguagem do
software escolhido para implementar
o sistema.


Todos os dados de um banco de dados
relacional (BDR) são armazenados em tabelas.
Uma tabela é uma simples estrutura de linhas
e colunas. Em uma tabela, cada linha contém
um mesmo conjunto de colunas. Em um
banco de dados podem existir uma ou
centenas de tabelas, sendo que o limite pode
ser imposto tanto pela ferramenta de
software utilizada, quanto pelos recursos de
hardware disponíveis no equipamento.


Cada linha formada por uma lista ordenada
de colunas representa um registro, ou tupla.
Os registros não precisam conter informações
em todas as colunas, podendo assumir
valores nulos quando assim se fizer
necessário.

As colunas de uma tabela são também
chamadas de atributos. Ex.: O campo Nome,
ou endereço de uma tabela de um BD
relacional.

As tabelas relacionam-se umas as outras
através de chaves. Uma chave é um conjunto
de um ou mais atributos que determinam a
unicidade de cada registro.
◦ Chave primária: (PK - Primary Key) é a chave que
identifica cada registro dando-lhe unicidade. A
chave primária nunca se repetirá.
◦ Chave Estrangeira: (FK - Foreign Key) é a chave
formada através de um relacionamento com a chave
primária de outra tabela. Define um relacionamento
entre as tabelas e pode ocorrer repetidas vezes.
Caso a chave primária seja composta na origem, a
chave estrangeira também o será.
Korth, H.F. e Silberschatz, A.; Sistemas de
Bancos de Dados, Makron Books, 2a. edição
revisada, 1994.
Date, C.J.; Int. a Sistemas de Bancos de Dados,
tradução da 4a.edição norte-americana,
Editora Campus, 1991.
Download