SlideShare uma empresa Scribd logo
1 de 42
Banco de Dados
José Araújo
Última Aula
• Linguagem Pascal
– Variáveis e tipos
– If
– For...To...Do
– While...Do
– Read, ReadLn, Write, WriteLn
• Exercícios
Introdução – Banco de Dados
• Um conjunto de dados, estruturados de forma a
facilitar operações como inserção, busca e
remoção sobre estes dados.
• Um banco de dados é usualmente mantido e
acessado por meio de um software conhecido
como Sistema Gerenciador de Banco de Dados
(SGDB).
SGDB
• Software que auxilia na definição, carga,
recuperação, atualização e manutenção de um
banco de dados.
• Inglês: DataBase Management System
Processamento sem BD
• Dados de diferentes aplicações não estão
integrados.
• Dados estão projetados para atender uma
aplicação específica.
• O mesmo dados é múltiplas vezes representado
nas várias aplicações.
• Redundância não controlada dos dados.
Processamento sem BD
Estoque Financeiro Vendas
Dados Dados Dados
Processamento com BD
Estoque Financeiro Vendas
BD
SGBD
Dados x Informações
• Muitos consideram essas duas palavras como
sendo sinônimas, mais na verdade não são.
• Para entender o que é um banco de dados é
importante entender a diferença entre elas.
Dados x Informações
• Exemplo:
– O número 2001 faz algum sentido?
– “Ano de atentado as torres gêmeas: 2001”
• Agora faz sentido!
– Isso é uma informação
• Banco de dados é umas estrutura de dados
organizada que permite a extração de
informações.
Modelo de Banco de Dados
• Hierárquico
• Rede
• Relacional
• Orientado a Objetos
Modelo Relacional
• É um conceito que define maneiras de armazenar,
manipular e recuperar dados estruturados
unicamente na forma de tabelas construindo um
banco de dados.
Relacional - Características
• Organização dos dados
– Tabela, Campos, Relação, Chave...
• Integridade
– Restrições básicas para dados e
relacionamentos
• Manipulação
– Linguagem
– SQL(Comercial)
Tabelas (ou Entidades)
• Todos os dados de um banco de dados relacional
são armazenados em tabelas.
• Uma tabela é uma simples estrutura de linhas e
coluna.
• Em um banco de dados podem existir uma ou
centenas de tabelas.
Tabelas (ou Entidades)
751
Tabelas (ou Entidades)
Registros (ou Tuplas)
• Cada linha formada por uma lista ordenada de
colunas representa um registro ou tupla.
• Os registros não precisam conter informações em
todas as colunas, podendo assumir valores nulos
quando assim se fizer necessário.
Registros (ou Tuplas)
Colunas (ou Campos)
• As colunas de uma tabela são também chamadas
de Campos.
• Defini o tipo de dados que irá conter.
• Ex.:
– Campo Nome
– Campo Endereço
Registros (ou Tuplas)
Chaves - Integridade
• Tabelas se relacionam umas com as outras através
de chaves. Ela garante a unicidade de cada
registro.
• Temos 2 tipos de chaves:
– Chave Primária: (PK – Primary Key)
– Chave Estrangeira (FK – Foreign Key)
Chave Primária - PK
• É um identificador exclusivo de todas as
informações de cada registro dando-lhe unicidade.
• A chave primária nunca se repetirá.
• A chave pode ser composta.
• Não pode ser nula
• Ex.:
– CPF
– Matricula
– Código do Pedido + Data do Pedido
Chave Estrangeira - FK
• É a chave formada através de um relacionamento
com a chave primária de outra tabela.
• Definir relacionamento entre tabelas é uma tarefa
muito importante e comum.
• Caso a chave primária seja composta na origem, a
chave estrangeira também será.
Simbologia
Relacionamento
• O relacionamento existe quando um ou mais
dados de uma tabela estão relacionados de
alguma forma com um ou mais dados de outra
tabela.
• Ex.:
– Pedido, Itens do Pedido
– Cliente, Endereços
– Alunos, Curso
Tipos de Relacionamentos
• Um para Um (One to One)
• Um para Muitos (One to Many)
• Muitos para Muitos (Many to Many)
Um para Um
• Nesse tipo de relacionamento um dado de uma
tabela equivale a dado de outra tabela
exatamente.
• Ex.:
– Funcionário e Login
– Alunos e Banda da Escola
Um para Um
Um para Muitos
• No relacionamento um para muitos um dado da
tabela pode estar relacionado a diversos dados da
tabela dois.
• Porém cada dado da tabela dois estão
relacionados a apenas um dado da tabela um.
• Ex.:
– Estados e Cidades
Um para Muitos
Muitos para Muitos
• No muitos para muitos os dados da primeira tabela
podem estar relacionados a diversos dados da
segunda tabela e os dados da segunda tabela
podem estar relacionados a diversos dados da
primeira tabela.
• Ex.:
– Clientes, Endereços do Cliente e Endereços
– Alunos, Cursos do Aluno e Cursos
– Pedido, Detalhes do Pedido e Produtos
Muitos para Muitos
Transações
• Transação é um sequência de operações num
SGBD que são tratadas como um bloco único e
indivisível(atômico), durante uma operação com os
dados ou recuperação de falhas.
• Também prover isolamento entre os acessos
concorrentes na mesma massa de dados.
Transações
• Uma Transação apresenta 4 propriedades também
conhecidas pela inicias ACID.
• Acrônimo de :
– Atomicidade
– Consistência
– Isolamento
– Durabilidade
ACID - Atomicidade
• Uma transação deve ser uma unidade atômica de
trabalho; ou todas as suas modificações são
executadas ou nenhuma delas é executada.
• Commit
– Finaliza transação SALVANDO todos os dados
envolvidos.
• Rollback
– Finaliza transação DESCARTANDO todos os
dados envolvidos.
ACID - Consistência
• Quando concluída, uma transação deve deixar
todos os dados em um estado consistente.
• Relacionamentos
• Chaves
• Campos obrigatórios
• Indices
ACID - Isolamento
• Modificações feitas por transações simultâneas
devem ser isoladas das midificações feitas por
qualquer outra transação simultânea.
• Fazer alterações simultâneas na mesma tabela ao
mesmo tempo.
ACID - Durabilidade
• Depois de uma transação ter sido concluída, seus
efeitos ficam permanentes no sistema.
• As modificações persistem até mesmo no caso de
uma queda no sistema.
Tipos de dados
• Quando criamos uma coluna(campo) numa tabela,
precisamos informa qual tipo de dados essa coluna
irá assumir.
• Os principais:
– Varchar – Comprimento variável com limite
– Char – Tamanho fixo, completado com brancos
– Integer – Números inteiros
– Numeric – Ponto flutuante
Tipos de dados
• Mais conhecidos:
– Money – Tipo específico para valores
monetários
– Date – Somente data
– TimeStamp – Data e Hora
– Text – Textos longos sem limites
SQLServer Express
Perguntas?
José Araújo
joseafilho@gmail.com
http://centraldaengenharia.wordpress.com/
http://twitter.com/cengenharia
“Tudo é uma questão de Engenharia!”
“Everything is a matter of Engineering!”
Fim

Mais conteúdo relacionado

Destaque

Fortes Papo Developer
Fortes Papo DeveloperFortes Papo Developer
Fortes Papo DeveloperJosé Araújo
 
Delphi Conference 2012 - Controlando a Concorrência em Aplicações Multi-Thread
Delphi Conference 2012 - Controlando a Concorrência em Aplicações Multi-ThreadDelphi Conference 2012 - Controlando a Concorrência em Aplicações Multi-Thread
Delphi Conference 2012 - Controlando a Concorrência em Aplicações Multi-ThreadMario Guedes
 
Delphi Conference 2011 - Integração Contínua
Delphi Conference 2011 - Integração ContínuaDelphi Conference 2011 - Integração Contínua
Delphi Conference 2011 - Integração ContínuaJosé Araújo
 
Delphi Conference 2012 - Programação Baseado em Regras com RTTI
Delphi Conference 2012 - Programação Baseado em Regras com RTTIDelphi Conference 2012 - Programação Baseado em Regras com RTTI
Delphi Conference 2012 - Programação Baseado em Regras com RTTIMario Guedes
 
Delphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoDelphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoJosé Araújo
 
9º FireBird Developer Day - Automatizar Manutenção do Banco de Dados
9º FireBird Developer Day - Automatizar Manutenção do Banco de Dados9º FireBird Developer Day - Automatizar Manutenção do Banco de Dados
9º FireBird Developer Day - Automatizar Manutenção do Banco de DadosJosé Araújo
 
Gnostice Suporte completo a PDF e Office - Embarcadero Conference 2015
Gnostice Suporte completo a PDF e Office �- Embarcadero Conference 2015Gnostice Suporte completo a PDF e Office �- Embarcadero Conference 2015
Gnostice Suporte completo a PDF e Office - Embarcadero Conference 2015Vic Fernandes
 
Delphi Conference 2011 - Desmistificando as Expressões Regulares
Delphi Conference 2011 - Desmistificando as Expressões RegularesDelphi Conference 2011 - Desmistificando as Expressões Regulares
Delphi Conference 2011 - Desmistificando as Expressões RegularesMario Guedes
 
Orientação a Objetos no Delphi - Controle de Estoque (III)
Orientação a Objetos no Delphi - Controle de Estoque (III)Orientação a Objetos no Delphi - Controle de Estoque (III)
Orientação a Objetos no Delphi - Controle de Estoque (III)Ryan Padilha
 
Orientação a Objetos no Delphi - Controle de Estoque (II)
Orientação a Objetos no Delphi - Controle de Estoque (II)Orientação a Objetos no Delphi - Controle de Estoque (II)
Orientação a Objetos no Delphi - Controle de Estoque (II)Ryan Padilha
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelRyan Padilha
 
Programação orientada a objetos em delphi
Programação orientada a objetos em delphiProgramação orientada a objetos em delphi
Programação orientada a objetos em delphiHelder Lopes
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Ryan Padilha
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoJosé Araújo
 
Curso De Programação Em DelPhi
Curso De Programação Em DelPhiCurso De Programação Em DelPhi
Curso De Programação Em DelPhiMikeNandes
 

Destaque (20)

Fortes Papo Developer
Fortes Papo DeveloperFortes Papo Developer
Fortes Papo Developer
 
Delphi Conference 2012 - Controlando a Concorrência em Aplicações Multi-Thread
Delphi Conference 2012 - Controlando a Concorrência em Aplicações Multi-ThreadDelphi Conference 2012 - Controlando a Concorrência em Aplicações Multi-Thread
Delphi Conference 2012 - Controlando a Concorrência em Aplicações Multi-Thread
 
Delphi Conference 2011 - Integração Contínua
Delphi Conference 2011 - Integração ContínuaDelphi Conference 2011 - Integração Contínua
Delphi Conference 2011 - Integração Contínua
 
Delphi Conference 2012 - Programação Baseado em Regras com RTTI
Delphi Conference 2012 - Programação Baseado em Regras com RTTIDelphi Conference 2012 - Programação Baseado em Regras com RTTI
Delphi Conference 2012 - Programação Baseado em Regras com RTTI
 
Delphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoDelphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no Código
 
9º FireBird Developer Day - Automatizar Manutenção do Banco de Dados
9º FireBird Developer Day - Automatizar Manutenção do Banco de Dados9º FireBird Developer Day - Automatizar Manutenção do Banco de Dados
9º FireBird Developer Day - Automatizar Manutenção do Banco de Dados
 
Mvc delphi
Mvc delphiMvc delphi
Mvc delphi
 
Git & Delphi
Git & DelphiGit & Delphi
Git & Delphi
 
Delphi XE7 - O que há de novo?
Delphi XE7 - O que há de novo?Delphi XE7 - O que há de novo?
Delphi XE7 - O que há de novo?
 
Gnostice Suporte completo a PDF e Office - Embarcadero Conference 2015
Gnostice Suporte completo a PDF e Office �- Embarcadero Conference 2015Gnostice Suporte completo a PDF e Office �- Embarcadero Conference 2015
Gnostice Suporte completo a PDF e Office - Embarcadero Conference 2015
 
Delphi Conference 2011 - Desmistificando as Expressões Regulares
Delphi Conference 2011 - Desmistificando as Expressões RegularesDelphi Conference 2011 - Desmistificando as Expressões Regulares
Delphi Conference 2011 - Desmistificando as Expressões Regulares
 
Orientação a Objetos no Delphi - Controle de Estoque (III)
Orientação a Objetos no Delphi - Controle de Estoque (III)Orientação a Objetos no Delphi - Controle de Estoque (III)
Orientação a Objetos no Delphi - Controle de Estoque (III)
 
Linguagem Delphi-Introdução
Linguagem Delphi-IntroduçãoLinguagem Delphi-Introdução
Linguagem Delphi-Introdução
 
Orientação a Objetos no Delphi - Controle de Estoque (II)
Orientação a Objetos no Delphi - Controle de Estoque (II)Orientação a Objetos no Delphi - Controle de Estoque (II)
Orientação a Objetos no Delphi - Controle de Estoque (II)
 
Oo delphi
Oo delphiOo delphi
Oo delphi
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
 
Programação orientada a objetos em delphi
Programação orientada a objetos em delphiProgramação orientada a objetos em delphi
Programação orientada a objetos em delphi
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de Programacao
 
Curso De Programação Em DelPhi
Curso De Programação Em DelPhiCurso De Programação Em DelPhi
Curso De Programação Em DelPhi
 

Semelhante a Curso de Delphi - Banco de Dados

Banco de Dados.pptx
Banco de Dados.pptxBanco de Dados.pptx
Banco de Dados.pptxBrunoWuo
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoDaniel 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
 
Data warehouse & olap
Data warehouse & olapData warehouse & olap
Data warehouse & olapBrian Supra
 
por_detras_dos_relatorios
por_detras_dos_relatoriospor_detras_dos_relatorios
por_detras_dos_relatoriosarthurjosemberg
 
Sistemas de Base de Dados
Sistemas de Base de DadosSistemas de Base de Dados
Sistemas de Base de DadosMariana Hiyori
 
Introdução a banco de dados
Introdução a banco de dadosIntrodução a banco de dados
Introdução a banco de dadosOdwald Schreder
 
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
 
Capítulo 05 - Fundamentos da inteligência de negócios: gestão da informação e...
Capítulo 05 - Fundamentos da inteligência de negócios: gestão da informação e...Capítulo 05 - Fundamentos da inteligência de negócios: gestão da informação e...
Capítulo 05 - Fundamentos da inteligência de negócios: gestão da informação e...Everton Souza
 
Primeira Aula BANCO DE DADOS II_2024.pptx
Primeira Aula BANCO DE DADOS II_2024.pptxPrimeira Aula BANCO DE DADOS II_2024.pptx
Primeira Aula BANCO DE DADOS II_2024.pptxsuellencarolinerosa
 
Oficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQLOficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQLRaphael Donaire Albino
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosdiogocbj
 
Bancos de Dados para Bibliotecarios
Bancos de Dados para BibliotecariosBancos de Dados para Bibliotecarios
Bancos de Dados para BibliotecariosLuciano Ramalho
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 

Semelhante a Curso de Delphi - Banco de Dados (20)

Banco de Dados.pptx
Banco de Dados.pptxBanco de Dados.pptx
Banco de Dados.pptx
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
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árquico
 
Data warehouse & olap
Data warehouse & olapData warehouse & olap
Data warehouse & olap
 
Sql
SqlSql
Sql
 
por_detras_dos_relatorios
por_detras_dos_relatoriospor_detras_dos_relatorios
por_detras_dos_relatorios
 
Banco de dados 1
Banco de dados 1Banco de dados 1
Banco de dados 1
 
Sistemas de Base de Dados
Sistemas de Base de DadosSistemas de Base de Dados
Sistemas de Base de Dados
 
Introdução a banco de dados
Introdução a banco de dadosIntrodução a banco de dados
Introdução a banco de dados
 
Slide da aula 04
Slide da aula 04Slide da aula 04
Slide da aula 04
 
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
 
Capítulo 05 - Fundamentos da inteligência de negócios: gestão da informação e...
Capítulo 05 - Fundamentos da inteligência de negócios: gestão da informação e...Capítulo 05 - Fundamentos da inteligência de negócios: gestão da informação e...
Capítulo 05 - Fundamentos da inteligência de negócios: gestão da informação e...
 
Primeira Aula BANCO DE DADOS II_2024.pptx
Primeira Aula BANCO DE DADOS II_2024.pptxPrimeira Aula BANCO DE DADOS II_2024.pptx
Primeira Aula BANCO DE DADOS II_2024.pptx
 
Oficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQLOficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQL
 
Sql
SqlSql
Sql
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dados
 
Bancos de Dados para Bibliotecarios
Bancos de Dados para BibliotecariosBancos de Dados para Bibliotecarios
Bancos de Dados para Bibliotecarios
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
Aula 06 - TEP - Introdução SQLite
Aula 06 - TEP - Introdução SQLiteAula 06 - TEP - Introdução SQLite
Aula 06 - TEP - Introdução SQLite
 
Data WareHOuse
Data WareHOuseData WareHOuse
Data WareHOuse
 

Curso de Delphi - Banco de Dados

  • 2. Última Aula • Linguagem Pascal – Variáveis e tipos – If – For...To...Do – While...Do – Read, ReadLn, Write, WriteLn • Exercícios
  • 3. Introdução – Banco de Dados • Um conjunto de dados, estruturados de forma a facilitar operações como inserção, busca e remoção sobre estes dados. • Um banco de dados é usualmente mantido e acessado por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGDB).
  • 4. SGDB • Software que auxilia na definição, carga, recuperação, atualização e manutenção de um banco de dados. • Inglês: DataBase Management System
  • 5. Processamento sem BD • Dados de diferentes aplicações não estão integrados. • Dados estão projetados para atender uma aplicação específica. • O mesmo dados é múltiplas vezes representado nas várias aplicações. • Redundância não controlada dos dados.
  • 6. Processamento sem BD Estoque Financeiro Vendas Dados Dados Dados
  • 7. Processamento com BD Estoque Financeiro Vendas BD SGBD
  • 8. Dados x Informações • Muitos consideram essas duas palavras como sendo sinônimas, mais na verdade não são. • Para entender o que é um banco de dados é importante entender a diferença entre elas.
  • 9. Dados x Informações • Exemplo: – O número 2001 faz algum sentido? – “Ano de atentado as torres gêmeas: 2001” • Agora faz sentido! – Isso é uma informação • Banco de dados é umas estrutura de dados organizada que permite a extração de informações.
  • 10. Modelo de Banco de Dados • Hierárquico • Rede • Relacional • Orientado a Objetos
  • 11. Modelo Relacional • É um conceito que define maneiras de armazenar, manipular e recuperar dados estruturados unicamente na forma de tabelas construindo um banco de dados.
  • 12. Relacional - Características • Organização dos dados – Tabela, Campos, Relação, Chave... • Integridade – Restrições básicas para dados e relacionamentos • Manipulação – Linguagem – SQL(Comercial)
  • 13. Tabelas (ou Entidades) • Todos os dados de um banco de dados relacional são armazenados em tabelas. • Uma tabela é uma simples estrutura de linhas e coluna. • Em um banco de dados podem existir uma ou centenas de tabelas.
  • 16. Registros (ou Tuplas) • Cada linha formada por uma lista ordenada de colunas representa um registro ou tupla. • Os registros não precisam conter informações em todas as colunas, podendo assumir valores nulos quando assim se fizer necessário.
  • 18. Colunas (ou Campos) • As colunas de uma tabela são também chamadas de Campos. • Defini o tipo de dados que irá conter. • Ex.: – Campo Nome – Campo Endereço
  • 20. Chaves - Integridade • Tabelas se relacionam umas com as outras através de chaves. Ela garante a unicidade de cada registro. • Temos 2 tipos de chaves: – Chave Primária: (PK – Primary Key) – Chave Estrangeira (FK – Foreign Key)
  • 21. Chave Primária - PK • É um identificador exclusivo de todas as informações de cada registro dando-lhe unicidade. • A chave primária nunca se repetirá. • A chave pode ser composta. • Não pode ser nula • Ex.: – CPF – Matricula – Código do Pedido + Data do Pedido
  • 22. Chave Estrangeira - FK • É a chave formada através de um relacionamento com a chave primária de outra tabela. • Definir relacionamento entre tabelas é uma tarefa muito importante e comum. • Caso a chave primária seja composta na origem, a chave estrangeira também será.
  • 24. Relacionamento • O relacionamento existe quando um ou mais dados de uma tabela estão relacionados de alguma forma com um ou mais dados de outra tabela. • Ex.: – Pedido, Itens do Pedido – Cliente, Endereços – Alunos, Curso
  • 25. Tipos de Relacionamentos • Um para Um (One to One) • Um para Muitos (One to Many) • Muitos para Muitos (Many to Many)
  • 26. Um para Um • Nesse tipo de relacionamento um dado de uma tabela equivale a dado de outra tabela exatamente. • Ex.: – Funcionário e Login – Alunos e Banda da Escola
  • 28. Um para Muitos • No relacionamento um para muitos um dado da tabela pode estar relacionado a diversos dados da tabela dois. • Porém cada dado da tabela dois estão relacionados a apenas um dado da tabela um. • Ex.: – Estados e Cidades
  • 30. Muitos para Muitos • No muitos para muitos os dados da primeira tabela podem estar relacionados a diversos dados da segunda tabela e os dados da segunda tabela podem estar relacionados a diversos dados da primeira tabela. • Ex.: – Clientes, Endereços do Cliente e Endereços – Alunos, Cursos do Aluno e Cursos – Pedido, Detalhes do Pedido e Produtos
  • 32. Transações • Transação é um sequência de operações num SGBD que são tratadas como um bloco único e indivisível(atômico), durante uma operação com os dados ou recuperação de falhas. • Também prover isolamento entre os acessos concorrentes na mesma massa de dados.
  • 33. Transações • Uma Transação apresenta 4 propriedades também conhecidas pela inicias ACID. • Acrônimo de : – Atomicidade – Consistência – Isolamento – Durabilidade
  • 34. ACID - Atomicidade • Uma transação deve ser uma unidade atômica de trabalho; ou todas as suas modificações são executadas ou nenhuma delas é executada. • Commit – Finaliza transação SALVANDO todos os dados envolvidos. • Rollback – Finaliza transação DESCARTANDO todos os dados envolvidos.
  • 35. ACID - Consistência • Quando concluída, uma transação deve deixar todos os dados em um estado consistente. • Relacionamentos • Chaves • Campos obrigatórios • Indices
  • 36. ACID - Isolamento • Modificações feitas por transações simultâneas devem ser isoladas das midificações feitas por qualquer outra transação simultânea. • Fazer alterações simultâneas na mesma tabela ao mesmo tempo.
  • 37. ACID - Durabilidade • Depois de uma transação ter sido concluída, seus efeitos ficam permanentes no sistema. • As modificações persistem até mesmo no caso de uma queda no sistema.
  • 38. Tipos de dados • Quando criamos uma coluna(campo) numa tabela, precisamos informa qual tipo de dados essa coluna irá assumir. • Os principais: – Varchar – Comprimento variável com limite – Char – Tamanho fixo, completado com brancos – Integer – Números inteiros – Numeric – Ponto flutuante
  • 39. Tipos de dados • Mais conhecidos: – Money – Tipo específico para valores monetários – Date – Somente data – TimeStamp – Data e Hora – Text – Textos longos sem limites
  • 42. Fim