O documento apresenta informações sobre o professor Daniel Brandão, incluindo sua formação acadêmica e experiência profissional. A ementa da disciplina Banco de Dados II é descrita, com os principais tópicos a serem abordados e as referências bibliográficas. Por fim, o documento lista os temas que serão discutidos ao longo do curso.
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
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
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
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
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
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
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
Notas del editor
define uma ocorrência de um fato do mundo real ou de um relacionamento entre fatos
define uma ocorrência de um fato do mundo real ou de um relacionamento entre fatos
define uma ocorrência de um fato do mundo real ou de um relacionamento entre fatos
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
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
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
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