SlideShare une entreprise Scribd logo
1  sur  70
AVEC
Análise e Desenvolvimento de
Sistemas
Professor Daniel Brandão
Disciplina: Banco de dados II
1
Quem sou eu:
Daniel Brandão
•Graduado em Sistemas para Internet (FATESM – 2008)
•Especialização em Tecnologias Para Aplicações Web (UNOPAR
2013)
•Desenvolvedor web/Webdesigner (desde 2004)
•Programador Web (desde 2006)
•Professor AVEC e Instrutor SENAI (desde 2011)
•Como me achar:
•BLOG/Siste: www.danielbrandao.com.br
•E-mail: professordanielbrandao@gmail.com
•Twitter: Twitter.com/Dan85br
2
Ementa
• Linguagem SQL Avançada. Visões, Procedimentos
Armazenados, Cursores, Transações, Gatilhos e Funções de
banco de dados. Conceitos de administração. Projeto e
desenvolvimento para banco de dados.
• Bibliografia Básica:
• SILBERSCHATZ, Abraham et al.; Arquitetura de Sistemas de
Bancos de Dados. São Paulo: Makron Books, 1997.
• DATE, C. J. ; Banco de dados. Rio de Janeiro: Campus, 1990.
• Complementar:
• MACHADO, Felipe Nery R. Banco de dados – Projeto e
implementação. Editora Érica.
• FERRARI , Fabrício Augusto; Crie banco de dados em MySQL:
São Paulo: Digerati Books, 2007.
3
Sobre o que falaremos
A. Introdução e conceito
B. Modelo relacional
C. Conceitos Gerais
D. Dicionário de dados
E. Relações
F. Domínios
G. Esquemas e Instâncias
H. Chaves
I. Integridades
J. Restrições
4
INTRODUÇÃO 5
O que é um banco de dados?
• Podemos entender por banco de dados qualquer sistema que
reúna e mantenha organizada uma série de informações
relacionadas a um determinado assunto em uma determinada
ordem.
• A lista telefônica é um exemplo , nela percebemos que todos
os dados referentes a uma pessoa estão na mesma linha , a
isso chamamos registros..
• O tipo ou categoria da informação (nome, telefone, etc.)
sobre uma pessoa está separada em colunas, as quais
chamamos campos..
• Um Sistema Gerenciador de banco de dados
relacionais(SGBDR) é usado para armazenar as informações
de uma forma que permita às pessoas examiná-las de diversas
maneiras.
6
DADOS X INFORMAÇÕES
• Muitos consideram dados e informações como palavras
sinônimas, mas na verdade não são. Para entender o que
é um banco de dados é muito importante saber a
diferença entre essas duas palavras.
• DADOS: são fatos brutos, em sua forma primária. E
muitas vezes os dados podem não fazer sentido
sozinhos.
• INFORMAÇÕES: consiste no agrupamento de dados
de forma organizada para fazer sentido, gerar
conhecimento. 7
•Por exemplo:
• O número 2001 isoladamente faz algum sentido? Não! Isso é
um dado. E se disséssemos:
• “Ano do atentado terrorista às torres gêmeas: 2001 ?″
• Agora faz sentido! Isso é uma informação. Portanto, um
banco de dados é uma estrutura de dados organizada que
permite a extração de informações.
8
METADADOS
• Todo dado relativo a outro dado é chamado
de metadados. No exemplo anterior do ano 2001 o dado
“Ano do atendado terrorista às torres gêmeas” é um
metadado, pois ele é um dado sobre o dado “2001 . Um″
outro exemplo mais comum em banco de dados: o
campo telefone da tabela cliente tem, entre outros, os
seguinte metadados: nome (telefone), tipo (texto),
tamanho (30 caracteres), obrigatoriedade (não), etc.
• Um banco de dados é formado por dado e metadados.
Sem os metadados não seria possível organizar e extrair
informações de um banco de dados.
9
MODELOS DE BANCO DE DADOS
 Hierárquico
 Rede
 Relacional
10
Modelo Hierárquico
HIERÁRQUICO: é um tipo de sistema de gerenciamento de
banco de dados que conecta registos numa estrutura de dados
em árvore através de ligações de tal modo que cada tipo de
registo tenha apenas um possuidor. A base de dados se baseia
em um Modelo de Entidades e Relacionamentos: cada registro
é uma coleção de atributos (campos), cada um dos quais
contendo somente uma informação; uma ligação é a associação
entre dois registros.
11
Modelo de rede
O modelo em redes surgiu como uma extensão ao modelo hierárquico,
eliminando o conceito de hierarquia e permitindo que um mesmo registro
estivesse envolvido em várias associações. Tanto o Modelo Hierárquico
como o de Redes são orientados a registros, isto é, qualquer acesso à base
de dados – inserção, consulta, alteração ou remoção – é feito em um
registro de cada vez.
Como já foi mencionado, a organização do Modelo em Redes é
semelhante a do Modelo Hierárquico, mas com a diferença de que cada
registro filho pode ser ligado a mais de um registro pai, criando conexões
bastante complexas e são bastante utilizados em sistemas para
computadores de grande porte.
12
O MODELO RELACIONAL 13
Definição
• Banco de dados Modelo Relacional é um conceito abstrato
que define maneiras de armazenar, manipular e recuperar
dados estruturados unicamente na forma de tabelas,
construindo um banco de dados.
• O termo é aplicado aos próprios dados, quando organizados
dessa forma, ou a um Sistema Gerenciador de Banco de
Dados Relacional (SGBDR) – do inglês Relational database
management system (RDBMS) – um programa de
computador que implementa a abstração.
14
Breve histórico
• 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 planos
(do inglês flat file), bancos de dados hierárquicos e em rede.
15
Modelo Relacional -
Características
• Organização dos dados
• conceitos do modelo: atributo, relação, chave, ...
• Integridade
• restrições básicas para dados e relacionamentos
• Manipulação
• linguagens formais (álgebra e cálculo relacional)
• SQL (comercial)
16
Conceitos Gerais: Atributo
• Um item de dado do Banco de Dados (BD)
• Possui um nome e um domínio
• Exemplos
• nome: varchar(20)
• matrícula: integer
• dataNasc: date DataNascMatrículaNome
Conceitos Gerais: Tupla
• Um conjunto de pares (atributo, valor)
• Valor de um atributo
• Definido no momento da criação de uma tupla deve ser:
• compatível com o domínio ou NULL
• Atômico (indivisível)
18
Exemplo: Tupla
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascMatrículaNome
Tupla 1
Atributo: Nome
Valor: Renata
Exemplo: Tupla
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascCPFNome
Tuplas
Dicionário de Dados!
Dentro do contexto de SGBD, um dicionário de dados é um
grupo de tabelas, habilitadas apenas para leitura ou consulta, ou
seja, é uma base de dados.
Dicionário de Dados! Exemplos:
• Definição precisa sobre elementos de dados.
• Perfis de usuários, papéis e privilégios
• Descrição de objetos
• Restrições de integridade
• Pequeno trecho de programa de computador, armazenado em
um SGBD, que pode ser chamado freqüentemente por um
programa principal.
• Índices
Conceitos Gerais: Relação
• Composto por um cabeçalho e um corpo
• Cabeçalho
• número fixo de atributos (grau da relação)
• atributos não-ambíguos
• Corpo
• número variável de tuplas (cardinalidade da relação)
• ordem não é relevante
23
Exemplo Relação
20/02/1985São Diego 310/3401427Maria
03/07/1976Capote Valente, 3502467Vânia
Rua das Flores, 210
Endereço
12/11/198001035Renata
DataNascCPFNome
Aluno
Cabeçalho
Exemplo Relação
20/02/1985São Diego 310/3401427Maria
03/07/1976Capote Valente, 3502467Vânia
Rua das Flores, 210
Endereço
12/11/198001035Renata
DataNascCPFNome
Aluno
Corpo
Revisando...
Conceitos Gerais: Relação
20/02/1985São Diego
310/34
Maria
03/07/1976Capote
Valente, 35
Vânia
Rua das
Flores, 210
Endereço
12/11/1980Renata
DataNascNome
S1 S2 S3
TUPLAS
Conceitos Gerais: Atributos
Definição: dada uma relação
R, define-se como seus
atributos os nomes das
funções que mapeiam os
valores de cada um dos
elementos de cada tupla nos
respectivos conjuntos
S1, S2 , ...., S3 ..
20/02/1985São Diego
310/34
Maria
03/07/1976Capote
Valente, 35
Vânia
Rua das
Flores, 210
12/11/1980Renata
S1 S2 S3
DataNascEndereçoNome DataNascEndereçoNome
Relação
ATRIBUTOS
Conceitos Gerais: Domínios
Definição: Dada uma relação
R, o domínio do atributo Aj, é
o conjunto Sj no qual o
atributo assume valores
20/02/1985São Diego
310/34
Maria
03/07/1976Capote
Valente, 35
Vânia
Rua das
Flores, 210
12/11/1980Renata
S1 S2 S3
DataNascEndereçoNome DataNascEndereçoNome
Relação R
ATRIBUTOS
Domínio
Relembrando...
• Relação é uma Tabela
• Atributo é um Campo (coluna da tabela)
• Tupla é uma linha da tabela
• Domínio: tipo de dado, formato de um atributo
30
Esquema e Instância
• Esquema
• Aluno (nome,matrícula, endereço, DataNasc, Curso)
• Curso (codigo, descrição)
• Instância
• (Daniela, 12345, São Diego, 310, 28/06, 1)
31
Chave
• Conjunto de um os mais atributos de uma relação
• Chave Primária (primary key) – PK
• Chave Estrangeira (foreign key) - FK
32
Chave Primária
• Primary key (PK)
• atributo(s) cujo (conjunto de) valor(es) identifica(m) unicamente uma
tupla em uma relação
• Unicidade de valores na coluna que compõe a chave
33
Chave Primária (PK)
20/02/1985São Diego 310/3401427Maria
03/07/1976Capote Valente, 3502467Vânia
Rua das Flores, 210
Endereço
12/11/198001035Renata
DataNascCPFNome
Aluno
Qual(is) atributo(s) representam unicamente uma tupla?
34
Chave Primária (PK)
20/02/1985São Diego 310/3401427Maria
03/07/1976Capote Valente, 3502467Vânia
Rua das Flores, 210
Endereço
12/11/198001035Renata
DataNascCPFNome
Aluno
Qual(is) atributo(s) representam unicamente uma tupla?
CPF 35
Chave Primária (PK)
20/02/1985São Diego 310/34347685784432Maria
03/07/1976Capote Valente, 35693529876987Vânia
Rua das Flores, 210
Endereço
12/11/1980701034263890Renata
DataNascCPFNome
Aluno
Aluno(CPF, Nome, Endereço, DataNasc)
Chave Primária (PK) –
Composta
Alocação (Cod_Projeto, Cod_Func, DataIni, Tempo)
Um funcionário pode estar em mais de um projeto
37
Chave Primária (PK)
Alocação (Cod_Projeto, Cod_Func, DataIni, Tempo)
Chave primária composta
38
Chave Candidata
• Possui as mesmas propriedades que a chave primária
347685784432
693529876987
701034263890
CPF
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascMatrículaNome
Aluno
39
Chave Candidata
• Possui as mesmas propriedades que a chave primária
347685784432
693529876987
701034263890
CPF
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascMatrículaNome
Aluno
Chaves candidatas
40
Chave Candidata
• Qual escolher para Chave Primária?
• Escolhe-se para chave primária aquela com o atributo único ou
menor número de caracteres
347685784432
693529876987
701034263890
CPF
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascMatrículaNome
41
Chave Candidata
347685784432
693529876987
701034263890
CPF
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascMatrículaNome
Chave Primária
42
Chave Alternativa
347685784432
693529876987
701034263890
CPF
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascMatrículaNome
Chave Primária
Chave alternativa
Chave alternativa: chave candidata que não é primária
43
Chave Estrangeira
• Foreign Key (FK)
• Atributo(s) de uma relação, cujos valores devem
obrigatoriamente aparecer na chave primária de uma relação (da
mesma ou de outra)
• Implementa o relacionamento em um BD relacional
44
Chave Estrangeira (FK)
1
2
1
Curso
347685784432
693529876987
701034263890
CPF
01427Maria
02467Vânia
01035Renata
MatrículaNome
Chave Estrangeira (FK)
1
2
1
Curso
347685784432
693529876987
701034263890
CPF
01427Maria
02467Vânia
01035Renata
MatrículaNome
Ciências Jurídicas e Sociais
Administração de Empresas
Ciência da Computação
Descrição
3
2
1
Codigo
Chave Estrangeira (FK)
Aluno(CPF, Nome, Endereço, DataNasc, #Curso)
Curso (Codigo, Descrição)
47
Chave Estrangeira (FK)
Funcionário (CodFunc, Nome, Endereço, #Cod_Chefe)
2Carlos Gomes, 50Carla4
1
3
4
Cod_Chefe
Anita Garibaldi,
12
Oscar Freire, 10
Av. Joaquim 2
Endereço
Pedro3
João2
Maria1
NomeCodFu
n
Revisando...
• Chave Primária (PK)
• Chave candidata
• Chave alternativa
• Chave Estrangeira (FK)
49
Restrições de Integridade
• É uma regra que deve ser obedecida em todos os
estados válidos da base de dados.
• Garantem que os dados refletem corretamente a
realidade modelada.
• Domínio, Chave Primária, Valores Vazios
• Integridade de Entidade
• Integridade Referencial
• Semântica
50
Restrições de Integridade
• Domínio: conjunto de valores que um atributo pode
assumir
Exemplo: Nome: varchar (20)- Alessandra Vogel
Oliveira
viola a regra
Vazio: define se os atributos podem ou não ser vazios
51
Integridade de Entidade
• Garantia de acesso a todos os dados
sem ambigüidade
• Atributos pertencentes a chave-
primária de uma relação não podem
ter valor nulo
• A chave primária representa uma
entidade na base de dados
Carla4
Pedro3
João2
Maria1
NomeCodFu
n
Integridade Referencial
• Chave estrangeira (FK)
• Garantia de
relacionamentos válidos
• Os valores que aparecem na
FK devem aparecer na PK
da relação referenciada
1
2
1
Curso
347685784432
693529876987
701034263890
CPF
01427Maria
02467Vânia
01035Renata
MatrículaNome
1
2
1
Curso
347685784432
693529876987
701034263890
CPF
01427Maria
02467Vânia
01035Renata
MatrículaNome
Ciências Jurídicas e Sociais
Administração de Empresas
Ciência da Computação
Descrição
3
2
1
Curso
Ciências Jurídicas e Sociais
Administração de Empresas
Ciência da Computação
Descrição
3
2
1
Curso
Integridade Semântica
• Especificada através de regras sobre o esquema do
banco de dados
• Exemplos:
• O salário de um empregado deve ser menor ou igual ao do
seu supervisor
• O número de horas semanais de um empregado em um
projeto não pode ser maior do que 50
54
Restrições de Atualização
• Inserção: insere tuplas em uma relação
• Pode violar 4 restrições de integridade:
55
Restrições de Atualização
• Inserção: insere tuplas em uma relação
• Pode violar 4 restrições de integridade:
• Integridade de Domínio: valor não é do domínio
56
Restrições de Atualização
• Inserção: insere tuplas em uma relação
• Pode violar 4 restrições de integridade:
• Integridade de Domínio
• Integridade de Chave: valor já existe
57
Restrições de Atualização
• Inserção: insere tuplas em uma relação
• Pode violar 4 restrições de integridade:
• Integridade de Domínio
• Integridade de Chave
• Integridade de Entidade: chave primária é nula
58
Restrições de Atualização
• Inserção: insere tuplas em uma relação
• Pode violar 4 restrições de integridade:
• Integridade de Domínio
• Integridade de Chave (ex.: chave duplicada)
• Integridade de Entidade
• Integridade Referencial: valor da FK refere-se a uma tupla que não
existe na relação referenciada
59
Restrições de Atualização
• Exclusão: exclui tuplas de uma relação
• Pode violar :
60
Restrições de Atualização
• Exclusão: exclui tuplas de uma relação
• Pode violar :
Integridade referencial: se a tupla que está sendo excluída está
referenciada por uma FK de outra tupla
61
Restrições de Atualização
• Exclusão:
Ciências Jurídicas e Sociais
Administração de Empresas
Ciência da Computação
Descrição
3
2
1
Curso
1
2
1
Curso
347685784432
693529876987
701034263890
CPF
01427Maria
02467Vânia
01035Renata
MatrículaNome
Restrições de Atualização
• Procedimento a ser adotado:
• Rejeitar a operação
• Excluir em cascata
• Mudar os valores dos atributos referenciados
63
Restrições de Atualização
• Atualização : altera os valores de atributos nas tuplas existentes
• Pode violar:
64
Restrições de Atualização
• Atualização : altera os valores de atributos nas tuplas existentes
• Pode violar:
• Restrição de Domínio para atributos que não são chave
65
Restrições de Atualização
• Atualização : altera os valores de atributos nas tuplas existentes
• Pode violar:
• Restrição de Domínio para atributos que não são chave
• Chave primária e entidade
66
Restrições de Atualização
• Atualização : altera os valores de atributos nas tuplas existentes
• Pode violar:
• Restrição de Domínio para atributos que não são chave
• Chave primária e entidade
• Referencial
67
68
Exercício: Considere o seguinte
esquema relacional:
Categoria(CodCategoria, Descrição)
Cliente (CodCli, Nome, Endereco, CPF, CodCategoria)
Funcionário (CodFunc, Nome, CT, CPF, End, Fone)
Fornecedor (CodFornec, Nome, Cidade)
Produto (CodProd, CodFornec, Nome, Peso, Valor)
69
1) Identificar as chaves primárias e chaves estrangeiras
2) Identificar o que é cada ítem das tabelas a seguir:
• Sistemas de Banco de Dados, Elmasri-Navathe
- 4a. Edição: Capítulo 5
• Php e Mysql - Desenvolvimento Web - 3ª Edição.
Autor: Welling, Luke; Thomson, Laura. Editora:
Campus.
Leitura Complementar
71
Créditos:
Material extraído de pesquisa em Livros e Slides do
Slideshare e de blogs especializados na internet

Contenu connexe

Tendances

Aula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de DadosAula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de DadosHenrique Nunweiler
 
Banco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoBanco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoLeinylson Fontinele
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completothomasdacosta
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Modelo Conceitual MER
Modelo Conceitual MERModelo Conceitual MER
Modelo Conceitual MERJoel Santos
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Leinylson Fontinele
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosLeinylson Fontinele
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Apostila de Banco de Dados
Apostila de Banco de Dados Apostila de Banco de Dados
Apostila de Banco de Dados info_cimol
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de DadosRoberto Grande
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Leinylson Fontinele
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitualMario Sergio
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoLeinylson Fontinele
 

Tendances (20)

Aula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de DadosAula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de Dados
 
Banco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoBanco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - Apresentação
 
Introdução a Bancos de Dados
Introdução a Bancos de DadosIntrodução a Bancos de Dados
Introdução a Bancos de Dados
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completo
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Modelo Conceitual MER
Modelo Conceitual MERModelo Conceitual MER
Modelo Conceitual MER
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
 
Apostila de Banco de Dados
Apostila de Banco de Dados Apostila de Banco de Dados
Apostila de Banco de Dados
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitual
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
 

En vedette

Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLDaniel Brandão
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebDaniel Brandão
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalDaniel Brandão
 
Erp Customizar Ou Nao Customizar
Erp Customizar Ou Nao CustomizarErp Customizar Ou Nao Customizar
Erp Customizar Ou Nao CustomizarAndre Dourado
 
Desenvolvimento de Software
Desenvolvimento de SoftwareDesenvolvimento de Software
Desenvolvimento de SoftwareAdilmar Dantas
 
Mudança do Modelo de Gestão Organizacional
Mudança do Modelo de Gestão OrganizacionalMudança do Modelo de Gestão Organizacional
Mudança do Modelo de Gestão OrganizacionalAdão Ladeira
 
Engenharia de Software - Ian Sommerville
Engenharia de Software - Ian SommervilleEngenharia de Software - Ian Sommerville
Engenharia de Software - Ian SommervilleTiago Canabarro
 
Análise de sistemas aula 2
Análise de sistemas   aula 2Análise de sistemas   aula 2
Análise de sistemas aula 2Mário Gomes
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraNatanael Simões
 
Banco de Dados 01 - Semana 01
Banco de Dados 01 - Semana 01Banco de Dados 01 - Semana 01
Banco de Dados 01 - Semana 01Eder Samaniego
 
Atividade banco de dados 2
Atividade banco de dados 2Atividade banco de dados 2
Atividade banco de dados 2Carlos Melo
 
Banco de dados aula 2
Banco de dados   aula 2Banco de dados   aula 2
Banco de dados aula 2danitrani
 
Banco de dados Aula 1
Banco de dados Aula 1Banco de dados Aula 1
Banco de dados Aula 1Bruno Strik
 
Apostila xp programação ágil
Apostila xp   programação ágilApostila xp   programação ágil
Apostila xp programação ágilDaniel Brandão
 
Fórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelFórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelDaniel Brandão
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringDaniel Brandão
 

En vedette (20)

Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
 
Tipos de dados em MySQL
Tipos de dados em MySQLTipos de dados em MySQL
Tipos de dados em MySQL
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - Relacional
 
Erp Customizar Ou Nao Customizar
Erp Customizar Ou Nao CustomizarErp Customizar Ou Nao Customizar
Erp Customizar Ou Nao Customizar
 
Desenvolvimento de Software
Desenvolvimento de SoftwareDesenvolvimento de Software
Desenvolvimento de Software
 
Mudança do Modelo de Gestão Organizacional
Mudança do Modelo de Gestão OrganizacionalMudança do Modelo de Gestão Organizacional
Mudança do Modelo de Gestão Organizacional
 
Engenharia de Software - Ian Sommerville
Engenharia de Software - Ian SommervilleEngenharia de Software - Ian Sommerville
Engenharia de Software - Ian Sommerville
 
Análise de sistemas aula 2
Análise de sistemas   aula 2Análise de sistemas   aula 2
Análise de sistemas aula 2
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
 
Banco de dados
Banco de dados   Banco de dados
Banco de dados
 
Banco de Dados 01 - Semana 01
Banco de Dados 01 - Semana 01Banco de Dados 01 - Semana 01
Banco de Dados 01 - Semana 01
 
Atividade banco de dados 2
Atividade banco de dados 2Atividade banco de dados 2
Atividade banco de dados 2
 
Introdução ao banco de dados
Introdução ao banco de dadosIntrodução ao banco de dados
Introdução ao banco de dados
 
Banco de dados aula 2
Banco de dados   aula 2Banco de dados   aula 2
Banco de dados aula 2
 
Banco de dados Aula 1
Banco de dados Aula 1Banco de dados Aula 1
Banco de dados Aula 1
 
Apostila xp programação ágil
Apostila xp   programação ágilApostila xp   programação ágil
Apostila xp programação ágil
 
Fórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelFórmulas Condicionais em Excel
Fórmulas Condicionais em Excel
 
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e Querystring
 

Similaire à Introdução ao Banco de dados - Prof. Daniel Brandão

Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dadosEdgar Stuart
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dadosessa
 
Banco de dados
Banco de dadosBanco de dados
Banco de dadospadinho
 
Introdução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de DadosIntrodução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de Dadosinfo_cimol
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01Rangel Javier
 
Bancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosBancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosLuciano Ramalho
 
Conceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosConceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosPatrícia Morais
 
Armazenamento de dados Sistema de Informacao
Armazenamento de dados   Sistema de InformacaoArmazenamento de dados   Sistema de Informacao
Armazenamento de dados Sistema de InformacaoJefferson Martins
 
Bancos de Dados para Bibliotecarios
Bancos de Dados para BibliotecariosBancos de Dados para Bibliotecarios
Bancos de Dados para BibliotecariosLuciano Ramalho
 
Isc aula 5 - estrutura e organização da informação
Isc   aula 5 - estrutura e organização da informaçãoIsc   aula 5 - estrutura e organização da informação
Isc aula 5 - estrutura e organização da informaçãoFábio Andrade
 
Sistemas de Informações - Aula 05: Banco de Dados e Redes
Sistemas de Informações - Aula 05: Banco de Dados e RedesSistemas de Informações - Aula 05: Banco de Dados e Redes
Sistemas de Informações - Aula 05: Banco de Dados e RedesMarcus Araújo
 

Similaire à Introdução ao Banco de dados - Prof. Daniel Brandão (20)

Modelos de base de dados
Modelos de base de dadosModelos de base de dados
Modelos de base de dados
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dados
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dados
 
Data WareHOuse
Data WareHOuseData WareHOuse
Data WareHOuse
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Apostila de bd
Apostila de bdApostila de bd
Apostila de bd
 
Introdução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de DadosIntrodução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de Dados
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01
 
Bancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosBancos de Dados para Bibliotecários
Bancos de Dados para Bibliotecários
 
Conceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosConceitos essenciais de bases de dados
Conceitos essenciais de bases de dados
 
Slide da aula 04
Slide da aula 04Slide da aula 04
Slide da aula 04
 
Bd ii material
Bd ii   materialBd ii   material
Bd ii material
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Armazenamento de dados Sistema de Informacao
Armazenamento de dados   Sistema de InformacaoArmazenamento de dados   Sistema de Informacao
Armazenamento de dados Sistema de Informacao
 
Sql - introdução
Sql -  introduçãoSql -  introdução
Sql - introdução
 
Bancos de Dados para Bibliotecarios
Bancos de Dados para BibliotecariosBancos de Dados para Bibliotecarios
Bancos de Dados para Bibliotecarios
 
Aula 01 Revisão
Aula 01   RevisãoAula 01   Revisão
Aula 01 Revisão
 
Isc aula 5 - estrutura e organização da informação
Isc   aula 5 - estrutura e organização da informaçãoIsc   aula 5 - estrutura e organização da informação
Isc aula 5 - estrutura e organização da informação
 
Sistemas de Informações - Aula 05: Banco de Dados e Redes
Sistemas de Informações - Aula 05: Banco de Dados e RedesSistemas de Informações - Aula 05: Banco de Dados e Redes
Sistemas de Informações - Aula 05: Banco de Dados e Redes
 

Plus de Daniel Brandão

PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosDaniel Brandão
 
Introdução ao editor de texto Word
Introdução ao editor de texto WordIntrodução ao editor de texto Word
Introdução ao editor de texto WordDaniel Brandão
 
CSS - Módulo Básico de WEB
CSS - Módulo Básico de WEBCSS - Módulo Básico de WEB
CSS - Módulo Básico de WEBDaniel Brandão
 
Apostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a EducaçãoApostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a EducaçãoDaniel Brandão
 
Introducao a Programacao Web - HTML
Introducao a Programacao Web - HTMLIntroducao a Programacao Web - HTML
Introducao a Programacao Web - HTMLDaniel Brandão
 
Sistemas operacionais de redes II
Sistemas operacionais de redes IISistemas operacionais de redes II
Sistemas operacionais de redes IIDaniel Brandão
 
Sistemas Operacionais em redes
Sistemas Operacionais em redesSistemas Operacionais em redes
Sistemas Operacionais em redesDaniel Brandão
 
Notas sobre Sistemas Operacionais
Notas sobre Sistemas Operacionais Notas sobre Sistemas Operacionais
Notas sobre Sistemas Operacionais Daniel Brandão
 
Introdução a Banco de Dados
Introdução a Banco de DadosIntrodução a Banco de Dados
Introdução a Banco de DadosDaniel Brandão
 
Assistente de programação visual gráfica
Assistente de programação visual gráficaAssistente de programação visual gráfica
Assistente de programação visual gráficaDaniel Brandão
 
Logotipos e seus significados
Logotipos e seus significadosLogotipos e seus significados
Logotipos e seus significadosDaniel Brandão
 
Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - ResumoDaniel Brandão
 
Tipos de dados do MySQL 5
Tipos de dados do MySQL 5Tipos de dados do MySQL 5
Tipos de dados do MySQL 5Daniel Brandão
 
Resumo sistemas operacionais
Resumo sistemas operacionaisResumo sistemas operacionais
Resumo sistemas operacionaisDaniel Brandão
 
Sistemas operacionais mobile
Sistemas operacionais mobileSistemas operacionais mobile
Sistemas operacionais mobileDaniel Brandão
 
Protocolos de Redes: TFTP e DHCP
Protocolos de Redes: TFTP e DHCPProtocolos de Redes: TFTP e DHCP
Protocolos de Redes: TFTP e DHCPDaniel Brandão
 

Plus de Daniel Brandão (20)

PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de Dados
 
Introdução ao editor de texto Word
Introdução ao editor de texto WordIntrodução ao editor de texto Word
Introdução ao editor de texto Word
 
CSS - Módulo Básico de WEB
CSS - Módulo Básico de WEBCSS - Módulo Básico de WEB
CSS - Módulo Básico de WEB
 
Apostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a EducaçãoApostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a Educação
 
Introducao a Programacao Web - HTML
Introducao a Programacao Web - HTMLIntroducao a Programacao Web - HTML
Introducao a Programacao Web - HTML
 
Sistemas operacionais de redes II
Sistemas operacionais de redes IISistemas operacionais de redes II
Sistemas operacionais de redes II
 
Sistemas Operacionais em redes
Sistemas Operacionais em redesSistemas Operacionais em redes
Sistemas Operacionais em redes
 
Notas sobre Sistemas Operacionais
Notas sobre Sistemas Operacionais Notas sobre Sistemas Operacionais
Notas sobre Sistemas Operacionais
 
Painél semântico
Painél semânticoPainél semântico
Painél semântico
 
Modelo de briefing
Modelo de briefingModelo de briefing
Modelo de briefing
 
Introdução a Banco de Dados
Introdução a Banco de DadosIntrodução a Banco de Dados
Introdução a Banco de Dados
 
Assistente de programação visual gráfica
Assistente de programação visual gráficaAssistente de programação visual gráfica
Assistente de programação visual gráfica
 
Logotipos e seus significados
Logotipos e seus significadosLogotipos e seus significados
Logotipos e seus significados
 
Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - Resumo
 
Registros no windows 7
Registros no windows 7Registros no windows 7
Registros no windows 7
 
Tipos de dados do MySQL 5
Tipos de dados do MySQL 5Tipos de dados do MySQL 5
Tipos de dados do MySQL 5
 
Introdução à Web
Introdução à WebIntrodução à Web
Introdução à Web
 
Resumo sistemas operacionais
Resumo sistemas operacionaisResumo sistemas operacionais
Resumo sistemas operacionais
 
Sistemas operacionais mobile
Sistemas operacionais mobileSistemas operacionais mobile
Sistemas operacionais mobile
 
Protocolos de Redes: TFTP e DHCP
Protocolos de Redes: TFTP e DHCPProtocolos de Redes: TFTP e DHCP
Protocolos de Redes: TFTP e DHCP
 

Introdução ao Banco de dados - Prof. Daniel Brandão

  • 1. AVEC Análise e Desenvolvimento de Sistemas Professor Daniel Brandão Disciplina: Banco de dados II 1
  • 2. Quem sou eu: Daniel Brandão •Graduado em Sistemas para Internet (FATESM – 2008) •Especialização em Tecnologias Para Aplicações Web (UNOPAR 2013) •Desenvolvedor web/Webdesigner (desde 2004) •Programador Web (desde 2006) •Professor AVEC e Instrutor SENAI (desde 2011) •Como me achar: •BLOG/Siste: www.danielbrandao.com.br •E-mail: professordanielbrandao@gmail.com •Twitter: Twitter.com/Dan85br 2
  • 3. Ementa • Linguagem SQL Avançada. Visões, Procedimentos Armazenados, Cursores, Transações, Gatilhos e Funções de banco de dados. Conceitos de administração. Projeto e desenvolvimento para banco de dados. • Bibliografia Básica: • SILBERSCHATZ, Abraham et al.; Arquitetura de Sistemas de Bancos de Dados. São Paulo: Makron Books, 1997. • DATE, C. J. ; Banco de dados. Rio de Janeiro: Campus, 1990. • Complementar: • MACHADO, Felipe Nery R. Banco de dados – Projeto e implementação. Editora Érica. • FERRARI , Fabrício Augusto; Crie banco de dados em MySQL: São Paulo: Digerati Books, 2007. 3
  • 4. Sobre o que falaremos A. Introdução e conceito B. Modelo relacional C. Conceitos Gerais D. Dicionário de dados E. Relações F. Domínios G. Esquemas e Instâncias H. Chaves I. Integridades J. Restrições 4
  • 6. O que é um banco de dados? • Podemos entender por banco de dados qualquer sistema que reúna e mantenha organizada uma série de informações relacionadas a um determinado assunto em uma determinada ordem. • A lista telefônica é um exemplo , nela percebemos que todos os dados referentes a uma pessoa estão na mesma linha , a isso chamamos registros.. • O tipo ou categoria da informação (nome, telefone, etc.) sobre uma pessoa está separada em colunas, as quais chamamos campos.. • Um Sistema Gerenciador de banco de dados relacionais(SGBDR) é usado para armazenar as informações de uma forma que permita às pessoas examiná-las de diversas maneiras. 6
  • 7. DADOS X INFORMAÇÕES • Muitos consideram dados e informações como palavras sinônimas, mas na verdade não são. Para entender o que é um banco de dados é muito importante saber a diferença entre essas duas palavras. • DADOS: são fatos brutos, em sua forma primária. E muitas vezes os dados podem não fazer sentido sozinhos. • INFORMAÇÕES: consiste no agrupamento de dados de forma organizada para fazer sentido, gerar conhecimento. 7
  • 8. •Por exemplo: • O número 2001 isoladamente faz algum sentido? Não! Isso é um dado. E se disséssemos: • “Ano do atentado terrorista às torres gêmeas: 2001 ?″ • Agora faz sentido! Isso é uma informação. Portanto, um banco de dados é uma estrutura de dados organizada que permite a extração de informações. 8
  • 9. METADADOS • Todo dado relativo a outro dado é chamado de metadados. No exemplo anterior do ano 2001 o dado “Ano do atendado terrorista às torres gêmeas” é um metadado, pois ele é um dado sobre o dado “2001 . Um″ outro exemplo mais comum em banco de dados: o campo telefone da tabela cliente tem, entre outros, os seguinte metadados: nome (telefone), tipo (texto), tamanho (30 caracteres), obrigatoriedade (não), etc. • Um banco de dados é formado por dado e metadados. Sem os metadados não seria possível organizar e extrair informações de um banco de dados. 9
  • 10. MODELOS DE BANCO DE DADOS  Hierárquico  Rede  Relacional 10
  • 11. Modelo Hierárquico HIERÁRQUICO: é um tipo de sistema de gerenciamento de banco de dados que conecta registos numa estrutura de dados em árvore através de ligações de tal modo que cada tipo de registo tenha apenas um possuidor. A base de dados se baseia em um Modelo de Entidades e Relacionamentos: cada registro é uma coleção de atributos (campos), cada um dos quais contendo somente uma informação; uma ligação é a associação entre dois registros. 11
  • 12. Modelo de rede O modelo em redes surgiu como uma extensão ao modelo hierárquico, eliminando o conceito de hierarquia e permitindo que um mesmo registro estivesse envolvido em várias associações. Tanto o Modelo Hierárquico como o de Redes são orientados a registros, isto é, qualquer acesso à base de dados – inserção, consulta, alteração ou remoção – é feito em um registro de cada vez. Como já foi mencionado, a organização do Modelo em Redes é semelhante a do Modelo Hierárquico, mas com a diferença de que cada registro filho pode ser ligado a mais de um registro pai, criando conexões bastante complexas e são bastante utilizados em sistemas para computadores de grande porte. 12
  • 14. Definição • Banco de dados Modelo Relacional é um conceito abstrato que define maneiras de armazenar, manipular e recuperar dados estruturados unicamente na forma de tabelas, construindo um banco de dados. • O termo é aplicado aos próprios dados, quando organizados dessa forma, ou a um Sistema Gerenciador de Banco de Dados Relacional (SGBDR) – do inglês Relational database management system (RDBMS) – um programa de computador que implementa a abstração. 14
  • 15. Breve histórico • 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 planos (do inglês flat file), bancos de dados hierárquicos e em rede. 15
  • 16. Modelo Relacional - Características • Organização dos dados • conceitos do modelo: atributo, relação, chave, ... • Integridade • restrições básicas para dados e relacionamentos • Manipulação • linguagens formais (álgebra e cálculo relacional) • SQL (comercial) 16
  • 17. Conceitos Gerais: Atributo • Um item de dado do Banco de Dados (BD) • Possui um nome e um domínio • Exemplos • nome: varchar(20) • matrícula: integer • dataNasc: date DataNascMatrículaNome
  • 18. Conceitos Gerais: Tupla • Um conjunto de pares (atributo, valor) • Valor de um atributo • Definido no momento da criação de uma tupla deve ser: • compatível com o domínio ou NULL • Atômico (indivisível) 18
  • 21. Dicionário de Dados! Dentro do contexto de SGBD, um dicionário de dados é um grupo de tabelas, habilitadas apenas para leitura ou consulta, ou seja, é uma base de dados.
  • 22. Dicionário de Dados! Exemplos: • Definição precisa sobre elementos de dados. • Perfis de usuários, papéis e privilégios • Descrição de objetos • Restrições de integridade • Pequeno trecho de programa de computador, armazenado em um SGBD, que pode ser chamado freqüentemente por um programa principal. • Índices
  • 23. Conceitos Gerais: Relação • Composto por um cabeçalho e um corpo • Cabeçalho • número fixo de atributos (grau da relação) • atributos não-ambíguos • Corpo • número variável de tuplas (cardinalidade da relação) • ordem não é relevante 23
  • 24. Exemplo Relação 20/02/1985São Diego 310/3401427Maria 03/07/1976Capote Valente, 3502467Vânia Rua das Flores, 210 Endereço 12/11/198001035Renata DataNascCPFNome Aluno Cabeçalho
  • 25. Exemplo Relação 20/02/1985São Diego 310/3401427Maria 03/07/1976Capote Valente, 3502467Vânia Rua das Flores, 210 Endereço 12/11/198001035Renata DataNascCPFNome Aluno Corpo
  • 27. Conceitos Gerais: Relação 20/02/1985São Diego 310/34 Maria 03/07/1976Capote Valente, 35 Vânia Rua das Flores, 210 Endereço 12/11/1980Renata DataNascNome S1 S2 S3 TUPLAS
  • 28. Conceitos Gerais: Atributos Definição: dada uma relação R, define-se como seus atributos os nomes das funções que mapeiam os valores de cada um dos elementos de cada tupla nos respectivos conjuntos S1, S2 , ...., S3 .. 20/02/1985São Diego 310/34 Maria 03/07/1976Capote Valente, 35 Vânia Rua das Flores, 210 12/11/1980Renata S1 S2 S3 DataNascEndereçoNome DataNascEndereçoNome Relação ATRIBUTOS
  • 29. Conceitos Gerais: Domínios Definição: Dada uma relação R, o domínio do atributo Aj, é o conjunto Sj no qual o atributo assume valores 20/02/1985São Diego 310/34 Maria 03/07/1976Capote Valente, 35 Vânia Rua das Flores, 210 12/11/1980Renata S1 S2 S3 DataNascEndereçoNome DataNascEndereçoNome Relação R ATRIBUTOS Domínio
  • 30. Relembrando... • Relação é uma Tabela • Atributo é um Campo (coluna da tabela) • Tupla é uma linha da tabela • Domínio: tipo de dado, formato de um atributo 30
  • 31. Esquema e Instância • Esquema • Aluno (nome,matrícula, endereço, DataNasc, Curso) • Curso (codigo, descrição) • Instância • (Daniela, 12345, São Diego, 310, 28/06, 1) 31
  • 32. Chave • Conjunto de um os mais atributos de uma relação • Chave Primária (primary key) – PK • Chave Estrangeira (foreign key) - FK 32
  • 33. Chave Primária • Primary key (PK) • atributo(s) cujo (conjunto de) valor(es) identifica(m) unicamente uma tupla em uma relação • Unicidade de valores na coluna que compõe a chave 33
  • 34. Chave Primária (PK) 20/02/1985São Diego 310/3401427Maria 03/07/1976Capote Valente, 3502467Vânia Rua das Flores, 210 Endereço 12/11/198001035Renata DataNascCPFNome Aluno Qual(is) atributo(s) representam unicamente uma tupla? 34
  • 35. Chave Primária (PK) 20/02/1985São Diego 310/3401427Maria 03/07/1976Capote Valente, 3502467Vânia Rua das Flores, 210 Endereço 12/11/198001035Renata DataNascCPFNome Aluno Qual(is) atributo(s) representam unicamente uma tupla? CPF 35
  • 36. Chave Primária (PK) 20/02/1985São Diego 310/34347685784432Maria 03/07/1976Capote Valente, 35693529876987Vânia Rua das Flores, 210 Endereço 12/11/1980701034263890Renata DataNascCPFNome Aluno Aluno(CPF, Nome, Endereço, DataNasc)
  • 37. Chave Primária (PK) – Composta Alocação (Cod_Projeto, Cod_Func, DataIni, Tempo) Um funcionário pode estar em mais de um projeto 37
  • 38. Chave Primária (PK) Alocação (Cod_Projeto, Cod_Func, DataIni, Tempo) Chave primária composta 38
  • 39. Chave Candidata • Possui as mesmas propriedades que a chave primária 347685784432 693529876987 701034263890 CPF 20/02/198501427Maria 03/07/197602467Vânia 12/11/198001035Renata DataNascMatrículaNome Aluno 39
  • 40. Chave Candidata • Possui as mesmas propriedades que a chave primária 347685784432 693529876987 701034263890 CPF 20/02/198501427Maria 03/07/197602467Vânia 12/11/198001035Renata DataNascMatrículaNome Aluno Chaves candidatas 40
  • 41. Chave Candidata • Qual escolher para Chave Primária? • Escolhe-se para chave primária aquela com o atributo único ou menor número de caracteres 347685784432 693529876987 701034263890 CPF 20/02/198501427Maria 03/07/197602467Vânia 12/11/198001035Renata DataNascMatrículaNome 41
  • 44. Chave Estrangeira • Foreign Key (FK) • Atributo(s) de uma relação, cujos valores devem obrigatoriamente aparecer na chave primária de uma relação (da mesma ou de outra) • Implementa o relacionamento em um BD relacional 44
  • 46. Chave Estrangeira (FK) 1 2 1 Curso 347685784432 693529876987 701034263890 CPF 01427Maria 02467Vânia 01035Renata MatrículaNome Ciências Jurídicas e Sociais Administração de Empresas Ciência da Computação Descrição 3 2 1 Codigo
  • 47. Chave Estrangeira (FK) Aluno(CPF, Nome, Endereço, DataNasc, #Curso) Curso (Codigo, Descrição) 47
  • 48. Chave Estrangeira (FK) Funcionário (CodFunc, Nome, Endereço, #Cod_Chefe) 2Carlos Gomes, 50Carla4 1 3 4 Cod_Chefe Anita Garibaldi, 12 Oscar Freire, 10 Av. Joaquim 2 Endereço Pedro3 João2 Maria1 NomeCodFu n
  • 49. Revisando... • Chave Primária (PK) • Chave candidata • Chave alternativa • Chave Estrangeira (FK) 49
  • 50. Restrições de Integridade • É uma regra que deve ser obedecida em todos os estados válidos da base de dados. • Garantem que os dados refletem corretamente a realidade modelada. • Domínio, Chave Primária, Valores Vazios • Integridade de Entidade • Integridade Referencial • Semântica 50
  • 51. Restrições de Integridade • Domínio: conjunto de valores que um atributo pode assumir Exemplo: Nome: varchar (20)- Alessandra Vogel Oliveira viola a regra Vazio: define se os atributos podem ou não ser vazios 51
  • 52. Integridade de Entidade • Garantia de acesso a todos os dados sem ambigüidade • Atributos pertencentes a chave- primária de uma relação não podem ter valor nulo • A chave primária representa uma entidade na base de dados Carla4 Pedro3 João2 Maria1 NomeCodFu n
  • 53. Integridade Referencial • Chave estrangeira (FK) • Garantia de relacionamentos válidos • Os valores que aparecem na FK devem aparecer na PK da relação referenciada 1 2 1 Curso 347685784432 693529876987 701034263890 CPF 01427Maria 02467Vânia 01035Renata MatrículaNome 1 2 1 Curso 347685784432 693529876987 701034263890 CPF 01427Maria 02467Vânia 01035Renata MatrículaNome Ciências Jurídicas e Sociais Administração de Empresas Ciência da Computação Descrição 3 2 1 Curso Ciências Jurídicas e Sociais Administração de Empresas Ciência da Computação Descrição 3 2 1 Curso
  • 54. Integridade Semântica • Especificada através de regras sobre o esquema do banco de dados • Exemplos: • O salário de um empregado deve ser menor ou igual ao do seu supervisor • O número de horas semanais de um empregado em um projeto não pode ser maior do que 50 54
  • 55. Restrições de Atualização • Inserção: insere tuplas em uma relação • Pode violar 4 restrições de integridade: 55
  • 56. Restrições de Atualização • Inserção: insere tuplas em uma relação • Pode violar 4 restrições de integridade: • Integridade de Domínio: valor não é do domínio 56
  • 57. Restrições de Atualização • Inserção: insere tuplas em uma relação • Pode violar 4 restrições de integridade: • Integridade de Domínio • Integridade de Chave: valor já existe 57
  • 58. Restrições de Atualização • Inserção: insere tuplas em uma relação • Pode violar 4 restrições de integridade: • Integridade de Domínio • Integridade de Chave • Integridade de Entidade: chave primária é nula 58
  • 59. Restrições de Atualização • Inserção: insere tuplas em uma relação • Pode violar 4 restrições de integridade: • Integridade de Domínio • Integridade de Chave (ex.: chave duplicada) • Integridade de Entidade • Integridade Referencial: valor da FK refere-se a uma tupla que não existe na relação referenciada 59
  • 60. Restrições de Atualização • Exclusão: exclui tuplas de uma relação • Pode violar : 60
  • 61. Restrições de Atualização • Exclusão: exclui tuplas de uma relação • Pode violar : Integridade referencial: se a tupla que está sendo excluída está referenciada por uma FK de outra tupla 61
  • 62. Restrições de Atualização • Exclusão: Ciências Jurídicas e Sociais Administração de Empresas Ciência da Computação Descrição 3 2 1 Curso 1 2 1 Curso 347685784432 693529876987 701034263890 CPF 01427Maria 02467Vânia 01035Renata MatrículaNome
  • 63. Restrições de Atualização • Procedimento a ser adotado: • Rejeitar a operação • Excluir em cascata • Mudar os valores dos atributos referenciados 63
  • 64. Restrições de Atualização • Atualização : altera os valores de atributos nas tuplas existentes • Pode violar: 64
  • 65. Restrições de Atualização • Atualização : altera os valores de atributos nas tuplas existentes • Pode violar: • Restrição de Domínio para atributos que não são chave 65
  • 66. Restrições de Atualização • Atualização : altera os valores de atributos nas tuplas existentes • Pode violar: • Restrição de Domínio para atributos que não são chave • Chave primária e entidade 66
  • 67. Restrições de Atualização • Atualização : altera os valores de atributos nas tuplas existentes • Pode violar: • Restrição de Domínio para atributos que não são chave • Chave primária e entidade • Referencial 67
  • 68. 68
  • 69. Exercício: Considere o seguinte esquema relacional: Categoria(CodCategoria, Descrição) Cliente (CodCli, Nome, Endereco, CPF, CodCategoria) Funcionário (CodFunc, Nome, CT, CPF, End, Fone) Fornecedor (CodFornec, Nome, Cidade) Produto (CodProd, CodFornec, Nome, Peso, Valor) 69 1) Identificar as chaves primárias e chaves estrangeiras 2) Identificar o que é cada ítem das tabelas a seguir:
  • 70. • Sistemas de Banco de Dados, Elmasri-Navathe - 4a. Edição: Capítulo 5 • Php e Mysql - Desenvolvimento Web - 3ª Edição. Autor: Welling, Luke; Thomson, Laura. Editora: Campus. Leitura Complementar 71 Créditos: Material extraído de pesquisa em Livros e Slides do Slideshare e de blogs especializados na internet

Notes de l'éditeur

  1. define uma ocorrência de um fato do mundo real ou de um relacionamento entre fatos
  2. define uma ocorrência de um fato do mundo real ou de um relacionamento entre fatos
  3. define uma ocorrência de um fato do mundo real ou de um relacionamento entre fatos
  4. Nesse caso, cada chave da relação é chamada de CHAVE CANDIDATA . n A chave candidata escolhida para identificar as tuplas de uma relação é chamada de CHAVE PRIMÁRIA. Em geral, entre todas as chaves candidatas, escolhe-se para chave primária aquela com o menor número de atributo
  5. Nesse caso, cada chave da relação é chamada de CHAVE CANDIDATA . n A chave candidata escolhida para identificar as tuplas de uma relação é chamada de CHAVE PRIMÁRIA. Em geral, entre todas as chaves candidatas, escolhe-se para chave primária aquela com o menor número de atributo
  6. Nesse caso, cada chave da relação é chamada de CHAVE CANDIDATA . n A chave candidata escolhida para identificar as tuplas de uma relação é chamada de CHAVE PRIMÁRIA. Em geral, entre todas as chaves candidatas, escolhe-se para chave primária aquela com o menor número de atributo
  7. Nesse caso, cada chave da relação é chamada de CHAVE CANDIDATA . n A chave candidata escolhida para identificar as tuplas de uma relação é chamada de CHAVE PRIMÁRIA. Em geral, entre todas as chaves candidatas, escolhe-se para chave primária aquela com o menor número de atributo