DCC011:
DCC011:
Introdução a Banco de Dados
Mirella Moro
mirella@dcc.ufmg.brSumário
Sumário
DCC011 Conceitos Básicos O que é um banco de dados
Como manipular um banco de dados
Projeto de Banco de Dados
Tópicos Importantes
Aplicações
Aplicações
Banco de Dados no DCC/UFMG
2
DCC011
DCC011
DCC011 – Intro. Banco de Dados
DCC011 Intro. Banco de Dados
Objetivo Objetivo
Introduzir os fundamentos que permitam ao aluno adquirir o domínio básico da
aluno adquirir o domínio básico da tecnologia de banco de dados.
Ementa
Conceitos básicos de banco de dados. Modelos de dados e linguagens. Projeto de bancos de dados. Novas tecnologias e aplicações de banco de dados.
4
Programa
Programa
Introdução
C it bá i b d d d i t d b d d d i t d
Conceitos básicos: banco de dados, sistema de banco de dados, sistema de gerência de banco de dados. Características da abordagem de banco de dados. Modelos de dados, esquemas e instâncias. Arquitetura de um sistema de banco de dados. Componentes de um sistema de gerência de banco de dados
banco de dados.
Modelos de Dados e Linguagens
Modelo entidade-relacionamento (ER): conceitos básicos, restrições de integridade, notação gráfica, conceitos adicionais. Modelagem usando UML. Modelo relacional: conceitos básicos restrições de integridade álgebra Modelo relacional: conceitos básicos, restrições de integridade, álgebra relacional, operações de atualização. A linguagem SQL.
Projeto de Bancos de Dados
Visão geral do processo de projeto de bancos de dados. Projeto lógico de bancos de dados relacionais: mapeamentos ER/relacional definição de bancos de dados relacionais: mapeamentos ER/relacional, definição de esquemas em SQL. Normalização.
Novas Tecnologias e Aplicações de Banco de Dados
Gerenciamento de dados massivos. Bancos de dados não-relacionais (aka NoSQL) 5 NoSQL)
Avaliação
Avaliação
Provas 70 t 70 pontos Trabalhos Práticos 20 pontos 20 pontos Exercícios e Participação 10 pontos 10 pontos www dcc ufmg br/ mirella www.dcc.ufmg.br/~mirella 6Bibliografia
Bibliografia
Texto Básico Texto Básico
Elmasri, R.; Navathe, S. B. Sistemas de Banco de Dados, 6a Ed. Pearson Education, 2010. de Dados, 6a Ed. Pearson Education, 2010.
Textos Complementares
Garcia-Molina, H.; Ullman, J. D.; Widom, J. Database Systems: The Complete Book, Prentice-Hall, Upper Saddle River, NJ. 2001.
Ramakrishnan, R.; Gehrke, J. Database Management Systems. , ; , g y McGraw-Hill, Boston, MA, 2003.
Silberchatz, A.; Korth, H. F.; Sudarshan, S. Database Systems Concepts, 5th Ed. McGraw-Hill, New York, NY, 2005.
7
p , , , ,
# Data Aula
1 25/08 Introdução
2 27/08 C it bá i ONLINEONLINE 2 27/08 Conceitos básicosONLINEONLINE 3‐5 01‐08/09 Modelo ER 6‐8 10‐17/09 Modelo relacional
ivo)
9 22/09 Revisão 10 24/09 Prova 1 11‐14 29/09‐06/10 Álgebra Relacionalentat
i
11 14 29/09 06/10 Álgebra Relacional 14‐18 08‐22/10 SQL 19 27/10 Revisão 20 29/10 Prova 2a (t
e
20 29/10 Prova 2 21 03/11 Mapeamento ER/relacional 22‐24 05‐12/11 Normalizaçãogram
a
25 17/11 Conceitos avançados 26 19/11 Revisão 27 24/11 Prova 3ono
g
27 24/11 Prova 3 28‐29 26/11‐01/12 Apresentações 30 03/12 Prova de reposiçãoCr
o
Observações
Observações
Página da disciplina: http://www dcc ufmg br/ mirella/ http://www.dcc.ufmg.br/~mirella/ Três provas, individuais e sem consulta
A prova 3 abordará toda a matéria
A prova 3 abordará toda a matéria
Dois trabalhos práticos
TP1 (individual) = uso da linguagem SQL
TP1 (individual) = uso da linguagem SQL
TP2 (em dupla) = projeto + implementação de uma pequena aplicação de banco de dados
Exercícios e Participação Listas de exercícios 9 Atividades complementares
Exercício 1
é
(entrega via Moddle, até 01/09 @ 23:55)
Responda individualmente a cada uma das perguntas abaixo. "Copy-and-paste" não será aceito!Seja criativo e objetivo em suas respostas!
1. Por que o sistema de matrículas da UFMG utiliza um SGBD para gerenciar seus dados em vez de utilizar um sistema de arquivos robusto?
2. Quais as opções de carreira em BD ou o que faz um profissional de BD?
3. Quais são os temas de pesquisa em BD na UFMG e quem são seus pesquisadores?
FONTES
SLIDES DCC011 AULA 1
SBC Horizontes Dezembro/2008:Qual o Papel de um DBA?, por Carina F. Dorneles e Ronaldo S. Mello.
Prof. João Eduardo Ferreira,Introdução a Banco de Dados, CAPÍTULO 2 Í
Edilberto Magalhães Silva,Introdução a Banco de Dados, CAPÍTULO 2
10
Conceitos Básicos
Conceitos Básicos
O que é um banco de dados?
Como manipular um banco de dados?
Como manipular um banco de dados?
13
Problemas com Fichário?
Problemas com Fichário?
Uma gaveta aberta por vez Uma pessoa por vez acessandop p Busca praticamente sequencial Quem pode atualizar cada ficha? Posso tirar duas fichas ao mesmo tempo? Duas pessoas podem ter a mesma ficha? Duas pessoas podem ter a mesma ficha? E se enquanto uma pessoa está com a ficha,
uma outra acessa o fichário, não encontra a ficha, então cria uma nova ficha; então cria uma nova ficha; quando a uma devolver a ficha, serão duas fichas diferentes para o mesmo cliente! E d fi h ? E se perde a ficha? E se pega fogo em tudo?
E SE EU PRECISAR DE FICHÁRIOS DIFERENTES PARA DADOS DIFERENTES?
14
Universidade
Professores
Disciplinas
Turmas
Cursos
Alunos
p
Curriculo
Horários
15Dados
Dados
16Dados
Dados
17Questões
Questões
Dados necessários?
Dados necessários?
Modelagem de dados?
E it d d dâ i b i t Evitando redundância, obviamente
Consulta a dados?
Atualização de dados?
Controle de acesso?
Controle de acesso?
Alunos não acessam os mesmos dados que professores... Ou que funcionários...
p q
...
Banco de Dados
Banco de Dados
• Fornece acesso fi i t seguro e eficiente a grandes quantidades de dados de dados • Resolve problemas Armazenamento – Armazenamento – Consulta eficiente – Acesso e atualização çcom segurança: por múltiplos usuários
M lh d
• Melhor do que usar
fichários e arquivos... 19
Definições Preliminares
Definições Preliminares
[Chu 1985]
[Chu, 1985]
Um banco de dados é um conjunto de arquivos relacionados entre si
arquivos relacionados entre si.
[Date, 1975]
Um banco de dados é uma coleção de dados
Um banco de dados é uma coleção de dados operacionais usados pelas aplicações de uma determinada organização
determinada organização.
20
Outra Definição
Outra Definição
[Elmasri & Navathe 2000]
[Elmasri & Navathe, 2000]
Um banco de dados é uma coleção de dados relacionados
Entretanto, um BD possui as seguintes propriedades implícitas:
1. Representa aspectos do mundo real (mini-mundo ou universo de discurso)
2. É uma coleção de dados logicamente coerentes u a o eção de dados og a e e oe e es com algum significado inerente
3. É projetado, construído e instanciado (“povoado”) para uma aplicação específica
21 para uma aplicação específica
Banco de Dados por tudo
Banco de Dados por tudo
Informática Banco de Dados
Informática Banco de Dados
Economia, Engenharia, Medicina, Direito,
Educação
Educação, …
Qualquer aplicação precisa de dados
Dados precisam ser armazenados,
p
,
gerenciados, consultados, recuperados
SGBD
22
SGBD
Sist. de Gerência de Banco de Dados
Sist. de Gerência de Banco de Dados
Um sistema de gerência de banco de dados U s ste a de ge ê c a de ba co de dados (SGBD) é um conjunto de programas que permite criar e manter (manipular) um banco de dados
dados
BD + SGBD = sistema de banco de dados
Usuários/Programadores Consultas/Programas
SGBD
MS Access Oracle IBM DB2 M SQL Banco Catálogo My SQL PostgreSQL Banco de Dados Catálogo (Meta-Dados)Usuários / Programadores
Administrador (DBA) Administra o BD e o SGBD
Autorizar acesso ao BD, coordenar e monitorar a utilização, adquirir hw e sw
Resolver problemas: violação de segurança, tempo de resposta Projetista
Projetista
Identificar os dados e escolher estruturas apropriadas para representar e armazenar
Antes de implementar/instanciar o BDAntes de implementar/instanciar o BD
Analista sistema e Programadores aplicações (eng. sw)
Analistas: necessidades dos usuários + especificações acesso padrão
p
Programadores: implementam as especificações, testes, documentos, manutenção
Usuário final
l l õ l ó
25
Acessar o BD: consultas, atualizações, relatórios …
Exemplo de um Banco de Dados
Exemplo de um Banco de Dados
Empregado Departamento
NumEmp NomeEmp Salário Dept
032 J Silva 380 21
074 M Reis 400 25
NumDept NomeDept Ramal 21 Pessoal 142 25 Financeiro 143 28 Té i 144 089 C Melo 520 28 092 R Silva 480 25 112 R Pinto 390 21 121 V Simão 905 28 28 Técnico 144 121 V Simão 905 28 130 J Neves 640 28
Esquema do banco de dados
Dept Salário NomeEmp NumEmp Empregado Departamento 26 Ramal NomeDept NumDept
Vantagens de usar um BD
Vantagens de usar um BD
Controle de redundância dos dadosCo t o e de edu dâ c a dos dados Controle de acesso (segurança)
Armazenamento persistente dos dadosp
Existência de múltiplas interfaces para os usuários
Representação de relacionamentos complexos entre os dados
Manutenção de restrições de integridade
Manutenção de restrições de integridade
Acesso multi-usuário (controle de concorrência e recuperação de falhas)
27
recuperação de falhas)
Projeto de Banco de Dados
Projeto de Banco de Dados
Projeto de Banco de Dados
Visão E t 1 Visão E t 2 Externa1 Externa2 requisitos requisitos Projeto Conceitual Esquema Conceitual INDEPENDENTE Projeto Lógico Conceitual Esquema INDEPENDENTE de SGBD Projeto Física Esquema Lógico Esquema Físico DEPENDENTE 29 de SGBDProjeto de Bancos de Dados
Mini-Mundo Análise de Análise de Requisitos Requisitos do BD Requisitos Funcionais Projeto Conceitual Esquema Conceitual (em um modelo de dados de alto nível)
Análise Funcional
Especificação das Transações (em alto nível) Independente de SGBD
Projeto Lógico
Esquema Lógico (em um modelo de dados lógico) Específico para um SGBD
(em um modelo de dados lógico)
Projeto Físico Projeto das Aplicações
30 Esquema Físico
(para um SGBD específico)
Implementação
Tópicos Importantes
Tópicos Importantes
Tópicos Importantes
Tópicos Importantes
Estruturas de armazenamento de dados
Estruturas de armazenamento de dados
Modelagem e projeto de bancos de dados
Modelos de dados
Modelos de dados
Linguagens
P
t d
lt
Processamento de consultas
Controle de concorrência
Segurança e integridade
Recuperação de falhas
32Aplicações
Aplicações
Aplicações
Aplicações
Bancos de dados multimídia – figuras
Bancos de dados multimídia figuras,
videos, sons, voz
GIS Sistemas de informações geográficas
GIS, Sistemas de informações geográficas
– mapas, dados meteorológicos, imagens
satélite
satélite
34
Aplicações
Aplicações
Automação administrativa (ex., bancos,
hospitais, bibliotecas, empresas, etc.)
Gerência de dados científicos (ex., Genoma)
Ge ê c a de dados c e t cos (e , Ge o a)
Projeto assistido por computador (ex., aviões,
circuitos integrados)
circuitos integrados)
Comércio eletrônico
Bibli t
di it i
Bibliotecas digitais
Sistemas de apoio a decisão
Aplicações, exemplos
Aplicações, exemplos
Aplicaçãop ç Dados Aplicações bancárias R d ô contas bancárias agências ô Reservas de vôos vôospassageiros pilotos Aplicações hospitalares pilotos pacientes médicos é Universidades remédios estudantes turmas turmas professores
Banco de Dados no DCC/UFMG
Banco de Dados no DCC/UFMG
Disciplinas no DCC
Disciplinas no DCC
Graduação
ç
Introdução a Bancos de Dados
Tópicos Avançados em Bancos de Dados
Pós-Graduação
Bancos de Dados
Tópicos em Bancos de Dados
Gerência de Dados da Web bl Bibliotecas Digitais 38
Grupo de Pesquisa no DCC
Grupo de Pesquisa no DCC
Alberto Laender M d l & P j t BD Clodoveu Davis Jr. G tModelagem & Projeto BD Gerência de Dados Web Modelagem, Extração e Integração de Dados Web
Geoprocessamento
Sistemas Informação Geográfica Bancos de Dados Geográficos Dados Espaciais
Berthier Ribeiro-Neto
(licenciado)
Gerência de Dados Web
Mirella M. Moro
Gerência de Dados Web Processamento de Consultas Gerência de Dados Web
Recuperação de Informação Processamento de Consultas Redes Sociais Sistemas de Recomendação Marcos A. Gonçalves Bibliotecas Digitais Recuperação de Informação Gerência de Dados Web
Rodrygo Santos
Recuperação de Informação Sistemas de Recomendação
39 Gerência de Dados Web
Linhas de pesquisa: Mirella
Linhas de pesquisa: Mirella
Gerência de dados da Web
Gerência de dados da Web
Processamento de Consultas
Biblioteca Digital BDBCompBiblioteca Digital BDBComp
Redes Sociais
Redes Sociais AcadêmicasRedes Sociais Acadêmicas
Índices de Produtividade
Sistemas de RecomendaçãoS ste as de eco e dação