47
Introdução a Bancos de Introdução a Bancos de Dados (BD’s) Dados (BD’s) Prof. Tales K. Cabral Prof. Tales K. Cabral [email protected] [email protected] 2º Módulo Colégio da Imaculada Colégio da Imaculada Curso Técnico em Informática Curso Técnico em Informática

Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral [email protected] 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Embed Size (px)

Citation preview

Page 1: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Introdução a Bancos de Introdução a Bancos de Dados (BD’s)Dados (BD’s)

Prof. Tales K. CabralProf. Tales K. [email protected]@colegiodaimaculada.com.br

2º Módulo

Colégio da ImaculadaColégio da ImaculadaCurso Técnico em InformáticaCurso Técnico em Informática

Page 2: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 2 de 47.

Banco de Dados, por quê?

Independência entre Dados e Programas

DATA INDEPENDENCE

Page 3: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 3 de 47.

IntroduçãoRepresentação dos dados em computadores antes do conceito de banco de dados

Organização exemplo: Universidade

Controle Acadêmico

Controle Administrativo

Controle de Pessoal

Alunos

Disciplinas

Turmas

Deptos.

Salas

Professores

Institutos

Funcionários

Disciplinas

Turmas

Professores

Deptos.

UNIVERSIDADE

Page 4: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 4 de 47.

Introdução

Situação:* cada aplicação da organização com o seu

conjunto de dados* descrição dos dados fica dentro das aplicações* não existe compartilhamento de dados entre as aplicações

Problemas:* redundância de dados* difícil manutenção dos dados* falta de uma padronização na definição dos dados* não há preocupação com a segurança dos dados (segurança de acesso e segurança contra falhas)

Page 5: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 5 de 47.

Banco de DadosDefinição de Banco de Dados

(BD):

"Uma coleção de dados operacionais inter-relacionados. Estes dados

são armazenados de forma independente dos programas que os utilizam,

servindo assim a múltiplas aplicações de uma organização."

Page 6: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 6 de 47.

Banco de Dados

• Vantagens do uso de BD em relação aos métodos tradicionais, baseados em papéis e arquivos:– é compacto : não há necessidade de arquivos de

papéis volumosos;– é rápido : a máquina recupera e modifica os dados

muito mais rapidamente do que o ser humano;– menos trabalho braçal : arquivamento;– tem fluxo corrente : informações corretas e

atualizadas a qualquer momento.

Page 7: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 7 de 47.

Banco de Dados

Page 8: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 8 de 47.

Banco de Dados

• Vantagens do uso de BD em relação aos sistemas de arquivos tradicionais:

– reduzir a redundância;– a inconsistência pode ser evitada;– compartilhar os dados;– aplicar restrições de segurança;– manter a integridade.

Page 9: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Banco de DadosTabela EMPREGADO

Nome RG CIC Depto.

RG Supervisor Salário

João Luiz 10101010 11111111 1 NULO 3.000,00

Fernando 20202020 22222222 2 10101010 2.500,00

Ricardo 30303030 33333333 2 10101010 2.300,00

Jorge 40404040 44444444 2 20202020 4.200,00

Renato 50505050 55555555 3 20202020 1.300,00

Tabela DEPARTAMENTO Tabela PROJETO

Nome Número RG Gerente Nome Número Localização

Contabilidade 1 10101010 Financeiro 1

5 São Paulo

Engenharia Civil 2 30303030 Motor 3 10 Rio Claro

Engenharia Mecânica

3 20202020 Prédio Central

20 Campinas

Tabela DEPENDENTES

RG Responsável

Nome Dependente

Dt. Nascimento

Relação Sexo

10101010 Jorge 27/12/86 Filho Masculino

10101010 Luiz 18/11/79 Filho Masculino

20202020 Fernanda 14/02/69 Conjuge Feminino

20202020 Angelo 10/02/95 Filho Masculino

30303030 Adreia 01/05/90 Filho Feminino

Exemplo de um Banco de Dados: “Projeto”

Tabela DEPARTAMENTO_PROJETO

Número Depto. Número Projeto

2 5

3 10

2 20

Tabela EMPREGADO_PROJETO

RG Empregado Número Projeto Horas

20202020 5 10

20202020 10 25

30303030 5 35

40404040 20 50

50505050 20 35

Page 10: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 10 de 47.

Exercício:1. Responda (pergunta e resposta no caderno):

• Qual a necessidade da criação de bancos de dados?• Como era a “organização” antes da criação de

bancos de dados?• Monte, com suas palavras, uma definição para

Banco de Dados.• Quais as vantagens de Bancos de Dados com

relação à utilização de métodos tradicionais?• Crie um banco de dados contendo duas tabelas

(crie as tabelas).• Nomeie o banco de dados;• As tabelas serão “Aluno” e “Professor”;• Inclua campos para as tabelas e alguns exemplos de

atributos (valores dos campos);

Page 11: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 11 de 47.

Modelo Relacional

• Usa um conjunto de tabelas para representar tanto os dados como a relação entre eles.

• Cada tabela possui múltiplas colunas e cada uma possui um nome único (CAMPO)

Page 12: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 12 de 47.

Modelo Relacional (exemplo)

nome rua cidade nro-conta

Mário Av. S.Carlos S.P. 1234

Rui Rua XV S.Carlos 1333

Rui Rua XV S.Carlos 7556

Silvia Av.D.Pedro Itu 5512

Silvia Av.D.Pedro Itu 7556

nro-conta saldo

1234 55,00

1333 600,00

5512 350,00

7556 3.000,00

Page 13: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 13 de 47.

Modelo de Rede

• Representados por um conjunto de registros (como no Pascal) e as relações entre estes registros são representadas por links (ponteiros)

• Registros são organizados no BD por um conjunto arbitrário de grafos

Page 14: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 14 de 47.

Modelo de Rede (exemplo)

1234 55,00

1333 600,00

5512350,00

7556 3.000,00

Mário Av. S.CarlosS.P.

Rui Rua XV S.Carlos

Silvia Av.D.Pedro Itu

Page 15: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 15 de 47.

Modelo Hierárquico

• Similar ao modelo em rede - dados e suas relações serem representadas por registros e links.

• Diferença: no modelo hierárquico os registros estão organizados em árvores ao invés de gráficos arbitrários

Page 16: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 16 de 47.

Modelo Hierárquico (exemplo)

1234 55,00

1333 600,00

5512350,00

7556 3.000,00

7556 3.000,00

Mário Av. S.CarlosS.P.

Rui Rua XV S.Carlos

Silvia Av.D.Pedro Itu

Page 17: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 17 de 47.

Diferença entre modelos

• Modelo relacional difere por não usar nem ponteiros nem links (relaciona os registros por valores próprios a eles)

• Como não é necessário uso de ponteiros: possibilidade do desenvolvimento de fundamentos matemáticos para sua definição

Page 18: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 18 de 47.

Álgebra Relacional

Page 19: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 19 de 47.

Linguagens de Banco de Dados

• Dois tipos de linguagens: 1. específica para os esquemas do BD

(Linguagens de Definição de Dados)

2. para expressar consultas e atualizações (Linguagem de Manipulação dos Dados)

Page 20: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 20 de 47.

Linguagens de Definição de Dados – DDL

• Para expressar a especificação do esquema de dados

• data-definition language (DDL)• resultado da compilação dos parâmetros DDL’s

armazenado em tabelas que constituem o dicionário de dados ou diretório de dados

• dicionário de dados: arquivo de metadados (dados a respeito de dados)- no SGBD o diretório é consultado antes que o dado real seja modificado

Page 21: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 21 de 47.

Linguagens de Definição de Dados – DDL

create table alter tabledrop tablecreate view, drop view

Comandos básicos:

Page 22: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 22 de 47.

Linguagem de Manipulação dos Dados DML

• data-manipulation language (DML)• manipulação de dados:

• recuperação das informações armazenadas no BD

• inserção de novas informações no BD• remoção de informações do BD• modificação das informações do BD

• DML viabiliza o acesso (manipulação) dos dados de forma compatível ao modelo de dados apropriado

Page 23: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 23 de 47.

Linguagem de Manipulação dos Dados DML

Procedurais exigem que o usuário especifique quais dados são necessários, e como obtê-los (passos avançados em bds)

Não Procedurais exigem que se especifique quais dados são necessários, sem especificar como obtê-los (passos simples em bds).

Linguagens de consulta (query) SQL*

* SQL (Structure Query Language) is a database query language that was adopted as an industry standard in 1986.

Page 24: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 24 de 47.

Exercício:

1. Responda (pergunta e resposta no caderno):

• O que são Bancos de Dados Relacionais (que utilizam o Modelo Relacional) ?

• Como é representado um CAMPO em um Modelo Relacional?

• Quais as linguagens existentes para se operar com bancos de dados?

• Cite 2 (dois) exemplos de manipulação de dados feitas em um banco de dados.

• Cite 1 (um) exemplo de uma linguagem de consulta a bancos de dados.

Page 25: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 25 de 47.

Gerenciamento de Transações

muitas operações em um BD constituem uma única unidade lógica de trabalho atomicidade consistência durabilidade (persistência)

transaçãotransação: coleção de operações que desempenha uma função lógica única dentro de uma aplicação do sistema de BD

transação = unidade de atomicidade e consistência

Page 26: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 26 de 47.

Administração do armazenamento de dados

(papel do Administrador do BD)interface entre os dados de baixo nível, armazenados

no BD, os programas aplicativos e as consultas submetidas ao sistema

Gerenciamento de autorizações e integridade

Gerenciamento de transações Administração de arquivos Administração de buffer (memória)

Page 27: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 27 de 47.

Contrapartida...• Criação de Pontos de conflito

através do Compartilhamento de Dados;

• Necessidades de especialização tecnológica e profissional;

• Criação de motivos para “conflito Organizacional”.

Page 28: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 28 de 47.

SGBD

Sistema Gerenciador de Banco de Dados

• Software (programa) que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados."É um sistema cujo objetivo principal é

gerenciar o acesso e a correta manutenção dos dados armazenados em um banco de

dados."

Page 29: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 29 de 47.

SGBDUm dos objetivos de um SGBD é prover aos usuários uma visão abstrata dos dados.

– Omitir detalhes de como os dados são armazenados e mantidos.

• Ocultar forma como são cadastrados, alterados ou excluídos;

• Ocultar comandos utilizados para consultas;• Mostrar somente os resultados desejados;

– Esconder a complexidade em diversos níveis de abstração que simplificam a interação do usuário com o sistema de BD.

• Qual o melhor caminho a seguir para executar uma dada operação

Page 30: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 30 de 47.

Alguns SGBD’s Comerciais• Oracle http://www.oracle.com.br • Sybase http://www.sybase.com.br • Informix http://www.informix.com • DB2 http://www.ibm.com.br • Interbase http://www.borland.com.br • MSSqlServer http://www.microsoft.com.br

Page 31: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 31 de 47.

Alguns SGBD’s Livres

• MySQL http://www.mysql.com • PostGreSQL http://www.postgresql.com • Firebird http://www.firebirdsql.org

Page 32: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 32 de 47.

Catálogo

• Contém a definição do Banco de Dados, descrita num (meta-)modelo de dados (específico de cada SGBD, utilizando o mesmo modelo lógico que o usado para a Base de Dados prop. dita).

• Exemplo: Num SGDB “relacional”, o catálogo contém as definições das tabelas, visões, regras de integridade, etc..

O Catálogo é por vezes designado por “Dicionário de Dados”

Page 33: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 33 de 47.

Novas Necessidades

• Evolução dos SGBD’s• Desempenho, Complexidade nas estruturas de

dados, Sofisticação do Processamento, Controle de Integridade dos Dados, ...

• Sistemas de Suporte à Decisão• Interoperabilidade entre SGBD’s, e

entre SGBD’s e outros tipos de sistemas (p.e. WWW)

• Novos tipos de Aplicações

Page 34: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 34 de 47.

Portanto...• Não confunda:

Banco de Dados:

Banco de Dados:

Page 35: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 35 de 47.

SQL

Structure Query Language(Linguagem Estruturada de

Consultas)

• Padrão em SGBDs Relacionais• Implementa operações da álgebra

relacional

Page 36: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 36 de 47.

SQL• Tipos:DDL – Data Definition LanguageLinguagem de Definição de Dados

a) Definiçãode uma relação (ou tabela)Create Table <nome_tabela> ( atribute1 INT(4) UNSIGNED ZEROFILL DEFAULT

'0000' NOT NULL, atribute2 CHAR(20) DEFAULT '' NOT NULL, atribute3 DOUBLE(16,2) DEFAULT '0.00' NOT

NULL, PRIMARY KEY(atribute1, atribute2));

Page 37: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 37 de 47.

SQL

b) Alteração de uma tabelaAlter Table <nome_tabela> add atribute4 INT(6);Alter Table <nome_tabela> drop atribute2;

c) Remoção da tabelaDrop Table <nome_tabela>;

Page 38: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 38 de 47.

SQL• Tipos:DML – Data Manipulation LanguageLinguagem de Manipulação de Dados

a) Comandos de Atualização do BD

a.1) Inserção de TuplasInsert Into <nome_tabela> values

(123,’A’,1.05,555),(456,’B’,2,333);

a.2) Alteração de TuplasUpdate <nome_tabela> set {atributox} where {condicao};

Page 39: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 39 de 47.

SQL

a) Comandos de Atualização do BDa.3) Remoção de Tuplas

Delete from <nome_tabela> where {condição};

Page 40: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 40 de 47.

SQL

b) Comando de Consulta (Query Language)

Comando SELECT

b.1) Selecionar todas as tuplas de uma tabelaSELECT * from <nome_tabela>;

b.2) Selecionar todas as tuplas que obedeçam 1 condição:SELECT * from <nome_tabela> where {condição};

b.3) Existem vários outros tipos de consultas...

Page 41: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 41 de 47.

MySQL

SISTEMA GERENCIADOR DE BD FREE.

Comando SELECT

b.1) Selecionar todas as tuplas de uma tabelaSELECT * from <nome_tabela>;

b.2) Selecionar todas as tuplas que obedeçam 1 condição:SELECT * from <nome_tabela> where {condição};

b.3) Existem vários outros tipos de consultas...

Page 42: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 42 de 47.

MySQLChave Primária

A função da chave primária é identificar univocamente uma linha da tabela. Cada tabela deve possuir uma chave primária. Quando se define um atributo como chave primaria, fica implícito as cláusulas UNIQUE e NOT NULL para este atributo, não sendo necessário a especificação destas.

create table cliente(codigo number(5) primary key, nome char(30) not null, sexo char(1) CHECK(sexo IN (‘M’, ‘F’)), CPF number(11) UNIQUE, endereco char(40), cidade char(20) DEFAULT ‘Maceio’

);

Page 43: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 43 de 47.

MySQLChave Primária• Opcionalmente pode-se definir a chave primária após a

especificação de todos os atributos da tabela.

create table cliente(codigo number(5), nome char(30) not null, sexo char(1) CHECK(sexo IN (‘M’, ‘F’)), CPF number(11) UNIQUE, endereco char(40), cidade char(20) DEFAULT ‘Maceio’, primary key (codigo) )

);

Page 44: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 44 de 47.

MySQLIntegridade referencial

Freqüentemente desejamos assegurar que o valor de um determinado campo de uma tabela esteja presente na chave primária de outra tabela. Este campo é chamado chave estrangeira (FOREIGN KEY).A SQL original padrão não incluía instruções para especificar chaves estrangeiras. Um aperfeiçoamento posterior foi aprovado como uma adição ao padrão. Este recurso permite a especificação de chaves primárias e estrangeiras como parte da instrução create table.

create table movimento(agencia number(5) references agencias(codigo),conta number(7) references contas(numero),valor number(16,2),primary key (agencia, conta)

);

Page 45: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 45 de 47.

MySQLIntegridade referencial• Assim como na definição da chave primária,

pode-se definir a chave estrangeira após a especificação de todos os campos (domínio) da tabela.

create table movimento(agencia number(5) conta number(7) valor number(16,2), primary key (agencia, conta) foreign key (agencia) references agencias, foreign key (conta) references contas

);

Page 46: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 46 de 47.

MySQLIntegridade referencial• Chave estrangeira: exemplo:

create table movimento (agenciax number(5)contax number(7)valor number(16,2),primary key (agenciax, contax),foreign key (agenciax) references agencias (agencia),foreign key (contax) references contas (conta)

);

Page 47: Introdução a Bancos de Dados (BD’s) Prof. Tales K. Cabral talescabral@colegiodaimaculada.com.br 2º Módulo Colégio da Imaculada Curso Técnico em Informática

Slide nº 47 de 47.

Referências Bibliográficas•Tutoriais, apostilas e cursos sobre Bancos de Dados e SQL. Disponível em: http://www.devmedia.com.br/portal/ Disponível em: http://www.apostilando.com/sessao.php?cod=18 Disponível em: http://www.sobresites.com/bancodedados/bancodedados.htm

• Organização de Banco de Dados. Profa. Denise Bandeira – Unisinos/2007. Disponível em: http://inf.unisinos.br/~bandeira