Você está na página 1de 25

1

Universidade Luterana do Brasil


Curso de Sistemas de Informao
Banco de Dados I
Agosto - 2005
Gustavo Zanini Kantorski
gustavoz@cpd.ufsm.br








2
Objetivo
Objetivos Especficos:
Ressaltar a importncia da gerncia de dados em uma aplicao
computacional; conceituar BD e SGBD;
descrever as funes e a estrutura de um SGBD;
analisar as caractersticas dos SGBDS que utilizam abordagem
relacional;
capacitar o aluno a representar, por meio de diagrama Entidade-
Relacionamento, problemas de mdia complexidade;
habilitar o aluno a executar a transformao do modelo conceitual para o
lgico;
efetuar a normalizao de um esquema conceitual at a terceira forma
normal (3FN);
capacitar o aluno utilizao da linguagem relacional SQL para a criao
de estruturas (DDL), manipulao de dados (DML), vises e permisses de
acesso (DCL); apresentar lgebra relacional.
A disciplina tem por objetivo transmitir ao aluno os conhecimentos
bsicos sobre bancos de dados e SGBD, ressaltando os aspectos de
modelagem e manipulao de dados.








3
Ementa
Introduo aos SGBDs
Gerncia de dados antes do conceito de BD
Conceitos de BD e SGBD
Noes gerais de um sistema de BD
Modelo Entidade-Relacionamento (E-R)
Modelagem Conceitual
Primitivas bsicas do modelo E-R
Restries de Integridade
Mecanismos de Abstrao
Uso de uma ferramenta de modelagem
Modelo Relacional
Conceitos Bsicos
Regras de Integridade
Transformao de Diagramas ER para Modelo Relacional
Normalizao de Relaes at 3FN








4
Ementa
Linguagem SQL

Linguagem de Definio de Dados (DDL):
CREATE TABLE, ALTER TABLE e DROP TABLE;

Linguagem de Manipulao de Dados (DML):
SELECT, INSERT, UPDATE e DELETE;

Vises e Linguagem de Controle de Dados (DCL):
CREATE VIEW, DROP VIEW, GRANT e REVOKE;

lgebra Relacional:
PROJEO, SELEO,
PRODUTO CARTESIANO, JUNO NATURAL









5
Bibliografia
Bsica:
HEUSER, Carlos Alberto. Projeto de Bancos de Dados. Ed. Sagra-
Luzzatto, 2001.5 edio.
KORTH, Henry F. e SILBERSCHATZ, Abraham. Sistema de Bancos
de Dados. So Paulo: Makron Books, 1999. 3 edio revisada

Complementar:
DATE, C. J. Introduo a Sistemas de Bancos de Dados. Rio de
Janeiro: Campus, 2000. 7 edio.
ULLMAN, J. A First Course in Database Systems. Upper Saddle
River: Prentice Hall, 2002. 2 edio.
ELMASRI, R. & NAVATHE, S.B. Fundamentals of database systems.
Redwood City: The Benjamin/Cummings, 2003.4 edio.









6
Conceitos Fundamentais
Traditional Database Applications
Multimedia Databases
Geographic Information Systems (GIS)
Data Warehouses e On-Line Analytical
Processing (OLAP)
Active Database Technology








7
Conceitos Fundamentais
Banco de Dados
Dados
Sistema Gerenciador de Banco de Dados
Sistema de Banco de Dados
Definio
Construo
Manipulao








8
Conceitos Fundamentais
Definio do BD
armazenado
BD
armazenado
SGBD




Software p/ processar
Consultas e Programas
Software p/ acessar
Dados Armazenados
Programas de Aplicao/Consultas
Sistema
de BD
Usurios/Programadores








9
Conceitos Fundamentais
Histria
Processamento de Arquivos

X

Bancos de Dados








10
Conceitos Fundamentais
Processamento de Arquivos
Inconsistncias e Redundncia
Dificuldade de Acesso aos Dados
Isolamento de Dados
Problemas de Integridade
Problemas de Atomicidade
Problemas de Segurana








11
Conceitos Fundamentais
Banco de Dados
Controle de Redundncia
Controle a Acesso no Autorizado
Independncia de Programao e Dados
Permitir Inferncia
Integridade Referencial
Backup e Recovery
Prover vrias Interfaces de Usurio








12
Conceitos Fundamentais
Banco de Dados
Abstrao de Dados
Suporte de mltiplas vises de usurio
Reduzir o tempo de desenvolvimento
de aplicaes
Compartilhamento de dados sobre
mltiplas transaes








13
Conceitos Fundamentais
Atores
Administrador do Banco de Dados
Usurios
Programadores de Aplicao
Usurios Sofisticados
Usurios Especialistas
Usurios Navegantes








14
Conceitos Fundamentais
Atores
Administrador do Banco de Dados
Coordena todas as atividades do sistema de BD. O DBA possui um
timo entendimento dos recursos da empresa e suas
necessidades.
As obrigaes do DBA so:
Definio do Esquema do BD
Definio dos mtodos de acesso e estruturas de
armazenamento
Modificao na organizao fsica e de esquema
Concesso de autorizao a usurios para acesso ao BD
Especificao de restries de integridade
Agir como ligao entre os usurios
Monitorar desempenho








15
Conceitos Fundamentais
Quando no usar um SGBD ?
As aplicaes so simples e no
necessitam modificaes
Necessita-se de um rigoroso tempo de
resposta para aplicaes
Acesso multi-usurio para dados no
requerido








16
Conceitos Fundamentais
Modelo de Dados, Esquema e Instncias
Modelo de Dados: Coleo de conceitos que so usados
para descrever a estrutura de um banco de dados, isto ,
descrever os dados, o relacionamento entre os dados, a
semntica dos dados e as restries dos dados.
Modelo Relacional
Modelo de Dados de Entidade-Relacionamento
(principaklmente para projeto de banco de dados)
Modelo de Dados baseado em Objetos (Orientado a
Objetos e Objeto Relacional)
Modelo de Dados Semiestruturados (XML)
Outros modelos mais antigos:
Modelo de RedeNetwork model
Modelo Hierrquico








17
Conceitos Fundamentais
Modelo de Dados, Esquema e Instncias
Esquema:
Projeto geral do banco de dados. Esquemas
so alterados com pouca frequncia.
Instncia:
Conjunto de informaes contidas em
determinado banco de dados em um dado
momento. Tambm chamado de Estado do
Banco de Dados.








18
Conceitos Fundamentais
Um exemplo
Banco de Dados de Universidade
Estudantes
Cursos
Sees
Notas








19
Elementos
de Dados
ESTUDANTE NomeEstudante NumeroEstudante Classe
Smith 17 1
Brown 8 2
CURSO NomeCurso NumeroCurso Depto Creditos
Introduo CS1310 CS 4
Estrutura de Dados CS3320 CS 4
Matemtica MATH2410 MATH 3
Bancos de Dados CS3380 CS 3
SECAO IdSecao NumeroCurso Semestre Ano Professor
85 MATH2410 1 98 King
92 CS1310 1 98 Anderson
102 CS3320 2 99 Knuth
112 MATH2410 1 99 Chang
119 CS1310 1 99 Anderson
135 CS3380 1 99 Stone
NOTAS NumeroEstudante IdDisciplina Nota
17 112 B
17 119 C
8 85 A
8 92 A
8 102 B
8 135 A
PREREQUISITOS NumeroCurso NumeroPreReq
CS3380 CS3320
CS3380 MATH2410
CS3320 CS1310








20
PREREQCURSO CursoNome NumeroCurso NumeroPreReq
CS3320 Banco de Dados CS3380
CS3380
MATH2410
Estrutura de Dados CS3320 CS1310
Vises
Redundncias
NOTAS_RELAT NumeroEstudante NomeEstudante IdSecao NumeroCurso Nota
17 Smith 112 MATH2410 B
17 Smith 119 CS1310 C
8 Brown 85 MATH2410 A
8 Brown 92 CS1310 A
8 Brown 102 CS3320 B
8 Brown 135 CS3380 A
NOTAS_RELAT NumeroEstudante NomeEstudante IdSecao NumeroCurso Nota
17 Brown 112 MATH2410 B
Conceitos Fundamentais
Um exemplo








21
Conceitos Fundamentais
Arquitetura de SGBD
Esquema Interno
Esquema Conceitual
Viso
Externa
Viso
Externa
Usurios
Finais
Nvel Externo
Mapeamento
externo/conceitual
Nvel Conceitual
Mapeamento
conceitual/interno
Nvel Interno








22
Conceitos Fundamentais
Independncia de Dados
O que Independncia de Dados ?
Independncia de Dados Lgica
Independncia de Dados Fsica
a capacidade de modificar a definio dos
esquemas em determinado nvel, sem afetar o
esquema do nvel superior.








23
Conceitos Fundamentais
Interfaces e Linguagens de Bancos de Dados
Linguagens de Bancos de Dados
Data Definition Language (DDL)
Data Manipulation Language (DML)
Linguagem para manipular e acessar os dados
organizados em um modelo de dados. Conhecida
como linguagem de consulta. Podem ser procedurais
e no procedurais. Exemplo: SQL
Linguagem para a definio do esquema do BD. O
compilador DDL gera um conjunto de tabelas que so
armazenadas em um dicionrio de dados, que contm
os meta-dados.








24
Conceitos Fundamentais
Interfaces e Linguagens de Bancos de Dados
Interfaces de Bancos de Dados
Graphical User Interfaces (GUI)
Natural Language Interfaces
Interfaces for the DBA








25