Curso de Delphi - Banco de Dados

Embed Size (px)

Citation preview

Banco de Dados

Jos Arajo

ltima Aula

Linguagem PascalVariveis e tipos

If

For...To...Do

While...Do

Read, ReadLn, Write, WriteLn

Exerccios

Introduo Banco de Dados

Um conjunto de dados, estruturados de forma a facilitar operaes como insero, busca e remoo 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 definio, carga, recuperao, atualizao e manuteno de um banco de dados.

Ingls: DataBase Management System

Processamento sem BD

Dados de diferentes aplicaes no esto integrados.

Dados esto projetados para atender uma aplicao especfica.

O mesmo dados mltiplas vezes representado nas vrias aplicaes.

Redundncia no controlada dos dados.

Processamento sem BD

EstoqueFinanceiroVendasDadosDadosDados

Processamento com BD

EstoqueFinanceiroVendasBD

SGBD

Dados x Informaes

Muitos consideram essas duas palavras como sendo sinnimas, mais na verdade no so.

Para entender o que um banco de dados importante entender a diferena entre elas.

Dados x Informaes

Exemplo:O nmero 2001 faz algum sentido?

Ano de atentado as torres gmeas: 2001

Agora faz sentido!Isso uma informao

Banco de dados umas estrutura de dados organizada que permite a extrao de informaes.

Modelo de Banco de Dados

Hierrquico

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 - Caractersticas

Organizao dos dadosTabela, Campos, Relao, Chave...

IntegridadeRestries bsicas para dados e relacionamentos

ManipulaoLinguagem

SQL(Comercial)

Tabelas (ou Entidades)

Todos os dados de um banco de dados relacional so 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 no precisam conter informaes em todas as colunas, podendo assumir valores nulos quando assim se fizer necessrio.

Registros (ou Tuplas)

Colunas (ou Campos)

As colunas de uma tabela so tambm chamadas de Campos.

Defini o tipo de dados que ir conter.

Ex.:Campo Nome

Campo Endereo

Registros (ou Tuplas)

Chaves - Integridade

Tabelas se relacionam umas com as outras atravs de chaves. Ela garante a unicidade de cada registro.

Temos 2 tipos de chaves:Chave Primria: (PK Primary Key)

Chave Estrangeira (FK Foreign Key)

Chave Primria - PK

um identificador exclusivo de todas as informaes de cada registro dando-lhe unicidade.

A chave primria nunca se repetir.

A chave pode ser composta.

No pode ser nula

Ex.:CPF

Matricula

Cdigo do Pedido + Data do Pedido

Chave Estrangeira - FK

a chave formada atravs de um relacionamento com a chave primria de outra tabela.

Definir relacionamento entre tabelas uma tarefa muito importante e comum.

Caso a chave primria seja composta na origem, a chave estrangeira tambm ser.

Simbologia

Relacionamento

O relacionamento existe quando um ou mais dados de uma tabela esto relacionados de alguma forma com um ou mais dados de outra tabela.

Ex.:Pedido, Itens do Pedido

Cliente, Endereos

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.:Funcionrio 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.

Porm cada dado da tabela dois esto 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, Endereos do Cliente e Endereos

Alunos, Cursos do Aluno e Cursos

Pedido, Detalhes do Pedido e Produtos

Muitos para Muitos

Transaes

Transao um sequncia de operaes num SGBD que so tratadas como um bloco nico e indivisvel(atmico), durante uma operao com os dados ou recuperao de falhas.

Tambm prover isolamento entre os acessos concorrentes na mesma massa de dados.

Transaes

Uma Transao apresenta 4 propriedades tambm conhecidas pela inicias ACID.

Acrnimo de :Atomicidade

Consistncia

Isolamento

Durabilidade

ACID - Atomicidade

Uma transao deve ser uma unidade atmica de trabalho; ou todas as suas modificaes so executadas ou nenhuma delas executada.

CommitFinaliza transao SALVANDO todos os dados envolvidos.

RollbackFinaliza transao DESCARTANDO todos os dados envolvidos.

ACID - Consistncia

Quando concluda, uma transao deve deixar todos os dados em um estado consistente.

Relacionamentos

Chaves

Campos obrigatrios

Indices

ACID - Isolamento

Modificaes feitas por transaes simultneas devem ser isoladas das midificaes feitas por qualquer outra transao simultnea.

Fazer alteraes simultneas na mesma tabela ao mesmo tempo.

ACID - Durabilidade

Depois de uma transao ter sido concluda, seus efeitos ficam permanentes no sistema.

As modificaes 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 varivel com limite

Char Tamanho fixo, completado com brancos

Integer Nmeros inteiros

Numeric Ponto flutuante

Tipos de dados

Mais conhecidos:Money Tipo especfico para valores monetrios

Date Somente data

TimeStamp Data e Hora

Text Textos longos sem limites

SQLServer Express

Perguntas?

Jos Arajo

[email protected]://centraldaengenharia.wordpress.com/http://twitter.com/cengenharia

Tudo uma questo de Engenharia!Everything is a matter of Engineering!

Fim

Click to edit the title text formatClique para editar o ttulo mestre

Click to edit the title text formatClique para editar o ttulo mestre

Click to edit the title text formatClique para editar o ttulo mestre

Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level

Seventh Outline LevelClique para editar o texto mestre

Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline Level