Multi-core Parallelization in Clojure - a Case Study
Banco De Dados Básico
1. Banco de Dados
Banco de Dados
Básico
Unicamp – Centro de Computação
Objetivos
Banco de Dados
Introduzir conceitos básicos de Modelo
de dados
Introduzir conceitos básicos de Banco
de dados
Capacitar o aluno a construir o modelo físico
de uma base de dados
1
2. Banco de Dados
Banco de dados
É uma coleção de dados inter-relacionados,
¡
representando informações sobre um domínio
específico
Exemplos :
¡
Lista Telefônica
Fichas do acervo de uma biblioteca
Sistema de Banco de Dados
Banco de Dados
Consiste em uma coleção de dados
inter-relacionados e uma coleção de programas
para prover o acesso a esses dados. O objetivo
principal de um sistema de banco de dados é
possibilitar um ambiente que seja adequado e
eficiente para uso na recuperação e
armazenamento de informações.
2
3. Níveis de abstração
Seres,Objetos, Representa organi-
Mundo
Organismos, Fatos zação e suas altera-
Real
ções
Banco de Dados
Informações
Informais MODELO Descrição de Estrutu-
DESCRITIVO ras e Procedimentos
Informações Estruturas de Informa-
MODELO
Formais CONCEITUAL
ções e Definições de
Manipulação
Dados MODELO Estruturas Externas de
OPERACIONAL Dados
Bits e Bytes MODELO Estruturas Internas
INTERNO de Arquivos
Dados
Dado - conjunto de símbolos “arranjados” a fim de representar a
Banco de Dados
informação fora da mente humana.
Elemento de Dado - subconjunto de símbolos que compõem um dado
com significado específico, mas não representa
a informação completa.
No exemplo :
O número de alunos matriculados na disciplina mate01 no
primeiro semestre / 97 é 57.
Quais são os elementos de dados??
Disciplina : mate01
Período : primeiro semestre /97
Matriculados : 57
3
4. Modelo de Dados
objeto” do mundo real :
Entidade um ser, um fato, coisa,
organismo social, etc.
Banco de Dados
informações que se deseja
Atributo guardar sobre
o objeto
associação existente entre
Relacionamento elementos de entidades
¢
¢ £
£ ¤
¤
£
¤ £ ¥
¤ ¥
Cardinalidade número de ocorrências
¥
¥ ¦
¦
¥
¥
possíveis de cada entidade
envolvida num relacionamento
Exemplos
1 N
Banco de Dados
Departamentos lotação
Funcionários
1 chefia
1
Departamentos Funcionários
N matrí
N
Alunos cula Disciplinas
4
5. Dados Cadastrais do Funcionário
Matrícula
Matrícula: Nome:
Data Nasc: Nacionalidade: Sexo:
Est.Civil: RG: CIC:
Banco de Dados
Endereço: Telef:
Data Admissão:
Cargos Ocupados
Cargo: Dt Início: Dt Fim:
Cargo: Dt Início: Dt Fim:
Departamentos de lotação
Depto: Dt Início: Dt Fim:
Depto: Dt Início: Dt Fim:
Dependentes
Nome: Data Nasc:
Nome: Data Nasc:
N lotação
N
Departamentos
Matrícula Código depto
Descrição
Código Depto
Dt Inicio
Banco de Dados
Dt fim
Funcionários
Matricula
Nome
Data Nasc
Nacionalidade N
Sexo
Estado civil ocupação N Cargos
Rg
Cic
Endereço Código cargo
Telefone Matrícula
Descrição
Data Admissão Código Cargo
Dt Inicio
Dt fim
1
Matrícula
tem
N Nome Dependente
Dt Nascimento
Dependentes
5
6. Sistema Gerenciador de
Banco de Dados Banco de Dados
São softwares que permitem a definição de
§
estruturas para armazenamento de informações
e fornecimento de mecanismos para manipula-las.
Exemplos :
§
Access
DB2
Oracle
Características de um SGBD
Integridade
§
Banco de Dados
Restrições
§
Segurança/Privacidade
§
Restauração
§
Reorganização
§
Eficiência
§
6
8. Exemplo
• Tabela de Clientes
colunas
Banco de Dados
RG Nome Cidade Telef
12345 João da Silva Campinas 2639900
linhas
89476 Maria Barreto São Paulo 5764928
27489 José Buscapé Valinhos 9913421
Chave Primária
Permite a classificação única de cada registro
Banco de Dados
de uma tabela
Exemplos de chave primária:
RG
CPF
Matrícula
RA
8
9. Tabelas Resultantes
Lotação
Funcionários Departamentos
Matrícula
Matricula Código Depto Código depto
Nome Dt Inicio Descrição
Banco de Dados
Data Nasc Dt fim
Nacionalidade
Sexo
Estado civil
Rg Ocupação
Cic
Cargos
Endereço Matrícula
Telefone Código Cargo
Código cargo
Data Admissão Dt Inicio
Descrição
Dt fim
Dependentes
Matrícula
Nome Dependente
Dt Nascimento
Visões
Banco de Dados
Tabela lógica de um banco de Dados,
não contém dados
9
10. Tipos de Visão
Visão Idêntica
Banco de Dados
Tabela Visão
A B C A B C
Tipos de Visão
Visão por Seleção de Colunas
Banco de Dados
Tabela Visão
A B C A C
10
11. Tipos de Visão
Visão por seleção de Linhas
Banco de Dados
Tabela Visão
A B C A B C
Tipos de Visão
Visão por Seleção de Linhas e Colunas
Banco de Dados
Tabela Visão
A B C A B
11
12. Tipos de Visão
Visão por junção de Tabelas
Tabela 1
A B C
Banco de Dados
Visão
A B C X Y
Tabela 2
A X Y
Índice
É uma ferramenta usada pelo gerenciador de
Banco de Dados para facilitar a busca de
Banco de Dados
linhas dentro de uma tabela
Índice Único
Índice criado a partir da chave primária,
não permite a inclusão de linhas duplicadas
Índice de Performance
Facilita a busca de linhas na tabela
12
13. No exemplo
Lotação
Funcionários Departamentos
Matrícula
Matricula Código Depto Código depto
Nome Dt Inicio Descrição
Banco de Dados
Data Nasc Dt fim
Nacionalidade
Sexo
Estado civil
Rg Ocupação
Cic Cargos
Endereço Matrícula
Telefone Código Cargo Código cargo
Data Admissão Dt Inicio Descrição
Dt fim
Dependentes
Matrícula
Nome Dependente
Dt Nascimento
Ficha Médica
Número paciente: Nome:
Data Nasc: Sexo: Convênio:
Est.Civil: RG: Telef:
Banco de Dados
Endereço:
Consultas
Núm Consulta Data Médico Diagnóstico
Exames
Núm Consulta Exame Data Resultados
13
14. Modelo de dados
N pertence
1
Banco de Dados
Convênio
Paciente
1 agenda
N
Consulta
N
1
atende
N
Exame solicita
1
Médico
Tabelas
Consulta Exame
Paciente num-consulta num-consulta
Banco de Dados
num-pac tipo-exame
cod-médico data
num-pac data resultado
nome-pac diagnóstico
sexo
data-nasc
cod-convênio
endereço Médico
RG
est-civil cod-médico
telefone Convênio nome
cod-convênio
nome
14