Anda di halaman 1dari 5

BANCO DE DADOS I

MÓDULO 1: Introdução + Modelo Entidade -Relacionamento

RESUMO
Neste módulo será feita uma apresentação inicial sobre Sistemas Gerenciadores de Banco
de Dados, seu uso, vantagens, breve histórico e principais conceitos.
A seguir, serão introduzidos os conceitos e as características do Modelo Entidade-
Relacionamento, com suas principais abstrações e recursos.

OBJETIVO
O objetivo da exposição introdutória é o de situar o assunto no contexto geral da
computação, destacando as principais funções e utilidades dos Sistemas Gerenciadores de
Banco de Dados (SGBD).
O objetivo do estudo do Modelo Entidade-Relacionamento é a preparação do aluno para
capacitá-lo ao projeto de bases de dados, através da modelagem de sistemas com o
Diagrama Entidade-Relacionamento.

CONTEÚDO
Bancos de dados, juntamente com toda a tecnologia associada aos mesmos,
consolidaram, nas últimas décadas, seu papel preponderante nas mais variadas áreas
onde são utilizados sistemas informatizados: negócios, engenharia, medicina, educação e
pesquisa, entre outras. Por isso, faz-se imprescindível para o profissional de computação
o conhecimento das suas características principais, assim como dos aspectos mais
relevantes relacionados ao seu projeto, uso, aplicação e gerenciamento.
Banco de Dados (ou Base de Dados) é uma coleção de dados relacionados entre si,
organizada e armazenada de forma a possibilitar uma fácil manipulação.
Sistema Gerenciador de Banco de Dados (SGBD) é um conjunto de programas que
têm por função criar e manter um banco de dados, através de operações de inserção,
remoção, atualização e consulta aos dados armazenados.
São exemplos de SGBDs comerciais: Oracle, SQLServer, Informix, Paradox, Open
Ingres, Interbase, Sybase, DB2, Jasmine e O2.
À associação de um banco de dados com seu respectivo SGBD damos o nome de
Sistema de Banco de Dados (SBD).
Apesar de representar para a empresa um sistema a mais a ser assimilado, gerenciado
e suportado tecnicamente, o uso de um SGBD traz vantagens de importância indiscutível.
Dentre elas, podemos citar:
§ Independência de Dados : Evita que, caso algum programa precise de alguma
alteração na estrutura dos dados armazenados, todos os outros programas que
acessam os mesmos dados tenham que ser alterados também.
§ Consistência: Sempre que a mesma informação é gravada, mesmo que em locais
diferentes, ela tem o mesmo valor.
§ Integração: Não há redundância gerada pelo armazenamento da mesma
informação em locais diferentes.
§ Sistemas Distribuídos: Dados são utilizados em ambientes distribuídos de forma
organizada e coerente.
§ Compartilhamento: Controle de concorrência em ambientes multiusuário,
assegurando coerência de atualizações simultâneas sem bloqueio
desnecessário do acesso compartilhado.
§ Representação de Relacionamentos Complexos: Capacidade de representar
uma variedade de relacionamentos complexos entre dados, assim como a sua
recuperação e alteração de maneira fácil e eficaz.
§ Segurança: Recursos para executar restrições específicas de acesso aos dados
tanto por usuário, quanto por tipo de operação.
Breve histórico do desenvolvimento dos SGBDs:
1961 CODASYL - conceituação de SGBD e modelos de dados. Proposta do
Modelo de Rede.
1968 Primeiro SGBD comercialmente disponível: IMS (IBM). Modelo Hierárquico.
1970 Proposta do Modelo Relacional. Protótipos de SGBDRs: Ingres (Universidade
de Berkeley) e Sistema R (IBM).
1976 Proposta do Modelo Entidade-Relacionamento. Introdução dos conceitos de
Modelos Conceituais (modelagem semântica).
198_ Primeiros SGBDRs de grande porte disponíveis: DB2 (IBM) e Oracle.
Propostas de Modelos Orientados a Objetos.
199_ Modelo Relacional-Objeto. Bancos para aplicações especiais (multimídia,
web, espaço-temporais, etc).
Os modelos conceituais caracterizam-se por serem independentes do SGBD que
será utilizado para a implantação do banco. Possuem alta capacidade de representação
dos elementos do mundo real que compõem a abstração.
Dentro os modelos inicialmente propostos, aquele que permanece atualmente com
utilização generalizada é o Modelo Entidade-Relacionamento (MER), que trata os
objetos do mundo real como sendo entidades que possuem atributos e associam-se
através de diferentes relacionamentos.
A representação gráfica desses elementos relativamente a um banco de dados
específico constitui-se no chamado Diagrama Entidade-Relacionamento (DER).
Entidades do mundo real podem associar-se entre si. Num MER, essas associações
são chamadas de Relacionamentos. Por exemplo, o aluno Pedro está matriculado na
disciplina Inglês. Isso significa que existe um relacionamento entre essas duas entidades. Se
existe um relacionamento entre duas ou mais entidades, então os respectivos conjuntos de
entidades estarão associados através de um Conjunto de Relacionamentos .
Exemplo 1:

N 1
Nota Fiscal Possui Cliente

A modelagem de um banco de dados deve considerar as características de entidades e


relacionamentos, que sejam relevantes para o contexto que está sendo descrito. Essas
características são representadas através dos Atributos.
Os atributos podem referir-se a conjuntos de entidades ou a conjuntos de
relacionamentos. De acordo com o caso, eles são chamados, respectivamente, de Atributos
de Entidades e Atributos de Relacionamentos.
Exemplo 2:
nro_matr cod_disc

M N Disciplina
Aluno Matricula-se
nome nome
nota
data_nasc carga_hor

nome
código

Pessoa fones

salário
endereço
cep
rua
nro cidade

Agregação é uma abstração na qual um relacionamento é tratado como uma entidade


de nível superior. A situação mais comum envolvendo a necessidade da criação de uma
agregação é quando há a necessidade de se criar um relacionamento entre uma entidade e
um relacionamento existente.
Exemplo 3:
Correntista

endereço nro_conta saldo


M N
Cliente é titular Conta Corrente

cod_chi nome cod_agência

1 senha

concessão

N
cartão magnético

cod_cartão data_validade

Com a abstração de Generalização, é possível modelar a superentidade contendo os


atributos que são comuns a todas as suas subentidades e as subentidades contendo apenas
os seus atributos particulares. Convenciona-se que as subentidades "herdarão" os atributos
da superentidade.
Exemplo 4:
cod_usuário
usuário

Especialização
Generalização
nome
tipo

aluno professor funcionário


nro_matr titulação depto

EXERCÍCIO RESOLVIDO
Controle de Projetos de uma Empresa
§ O banco de dados armazena informações a respeito dos funcionários, departamentos
e projetos da empresa.
§ A empresa é organizada em deptos. Cada depto tem um nome, um número e um
gerente. Armazena-se a data em que o gerente iniciou no depto. Armazenam-se
também os nros das salas que pertencem a cada depto.
§ Um depto controla vários projetos, os quais possuem nome, nro, duração e
orçamento.
§ Sobre os funcionários, armazenam-se nome, endereço, sexo, salário, nroINSS e data
de nascimento. Todo funcionário é locado em um depto, mas pode trabalhar em
diversos projetos, inclusive em projetos controlados por outros deptos. Armazena-se
também o nro de horas que o funcionário trabalha em cada projeto. Cada funcionário
possui um supervisor.
§ Os dependentes dos funcionários são cadastrados também, com nome, sexo, data de
nascimento e grau de parentesco com o funcionário.

DER:
data_início nro_INSS
nro_depto supervisiona
nome nome nome parentesco
gerencia 1 N
1 1
departamento funcionário possui dependente
1 N 1 N
1 possui N
salas sexo sexo
data_nasc
data_nasc
horas_trab
participa ender
controla
logradouro CEP
nro_proj cidade
nome
N projeto M

duração
EXERCÍCIOS PROPOSTOS

1. Sistema Acadêmico
§ Cadastro de Alunos (nro de matricula, nome, endereço, dta nascimento, etc).
§ Cadastro de Cursos (código, nome, duração, área, coordenador, mensalidade, etc). O
coordenador de cada curso é um professor.
§ Cadastro de Professores (código, nome, área, titulação, etc). Os professores podem
ministrar diferentes disciplinas em diferentes cursos.
§ Cadastro de Disciplinas (código, nome, carga horária, tipo, etc). Algumas disciplinas
podem ser ministradas em mais de um curso e podem ser ministradas por mais de um
professor.
§ Manter informações sobre quais disciplinas cada aluno está cursando ou já cursou,
nesse caso, com as respectivas notas obtidas.
§ Manter informações sobre quais professores ministram quais disciplinas, com os
respectivos horários.

2. Agência de Turismo
§ Cadastro das cidades que fazem parte da programação da agência, contendo nome,
estado e nro de habitantes.
§ Dentre os pontos turísticos de cada cidade, deseja-se manter informações específicas
sobre hotéis, restaurantes e museus.
§ Sobre hotéis deseja-se guardar nome, endereço, categoria (nro de estrelas), tipos de
apartamentos e valor da diária (de acordo com o tipo de apartamento).
§ Sobre os restaurantes, deseja-se guardar nome, endereço e categoria (simples, luxo,
etc).
§ Sobre os museus deseja-se guardar nome, endereço e descrição geral.
§ Além disso, deseja-se cadastrar as companhias aéreas, com nome, sede e tipo de
vôo,.
§ Manter informações sobre quais cias servem cada cidade, com os respectivos
horários de vôo.

3. Campeonato de Futebol
§ Cadastro das Equipes (código, nome, estado, patrocinador, técnico, capitão, etc).
§ Cadastro dos Juízes (código, nome, idade, etc).
§ Cadastro dos Jogadores de cada equipe (código, nome, posição, salário, nro da
camisa, etc).
§ Manter controle das partidas realizadas (data, cidade, juíz, equipes, etc).
§ Manter controle dos gols marcados em cada partida (equipe, jogador, tempo, hora).

CONSULTAS RECOMENDADAS
Referências Básicas:
Capítulos 1 e 2: Silberschatz, A. Sistema de Banco de Dados – Makron Books, 1999, 3.ed. São
Paulo.
Slides de Aula: BD 1.ppt e BD 2.ppt
Referências Complementares:
Capítulos 1, 2 e 3: Elmasri, R. Fundamentos de Sistemas de Bancos de Dados, LTC, 2001, Rio de
Janeiro.

Anda mungkin juga menyukai