OBJETIVOS
• Entender o que é um Modelo Relacional
• Detalhar os conceitos de Atributo, Domínio, Tupla, Chave Primária e Chave Estrangeira
• Utilizar ferramenta para definir um modelo relacional
AGENDA
• INTRODUÇÃO
• TABELAS
• ATRIBUTOS / DOMÍNIO / TUPLA
• PRÁTICA
• TIPOS E PROPRIEDADES DOS DADOS
• CHAVE PRIMÁRIA
• CHAVE ESTRANGEIRA
INTRODUÇÃO
•
O
projeto lógico
é uma transição entre o
projeto conceitual
e o
físico
,
ou seja, estamos saindo do projeto conceitual (independente de
SGDB) para o físico (especifico de SGDB)
•
O
Modelo Relacional
representa os dados num Banco de Dados
como uma coleção de
relações
e seus
relacionamentos
INTRODUÇÃO
•
Na aula anterior vimos que o Modelo Entidade-Relacionamento
(MER) permite criarmos qualquer tipo de relacionamento
•
Nem sempre todos os relacionamentos podem ser
implementados num
modelo relacional
da maneira como foi
definido antes (no MER)
• Limitações em função da natureza dos problemas (no plano conceitual, é possível fazer muitas coisas; porém no plano físico nem sempre é
possível implementá-las)
• Limitações pelas características do SGBD
ANÁLISE DE REQUISITOS
MODELO
CONCEITUAL
PROJETO LÓGICO
PROJETO FÍSICO
TABELAS
• As relações do Modelo Relacional são também chamadas de Tabelas
• Funcionários, Alunos, Clientes, Cursos,...
• Como armazenar informações em Tabelas? Através dos atributos , que são todas as informações inerentes a todas as relações existentes em um Banco de Dados
ATRIBUTOS
• São todas as informações que existem em uma tabela
• Também chamadas de campos
• Notação no MER
TIPOS DE ATRIBUTOS
• Simples ou Composto
• Simples: não pode ser dividido
• Composto: Pode ser referido em partes (Nome: Prenome / sobrenome)
• Monovalorado ou Multivalorado
• Monovalorado: Só possui um valor para uma instância da realidade (Ex: CPF) • Multivalorado: Pode possuir vários valores para uma instância da realidade (Ex:
ATRIBUTOS (CONT.)
• Obrigatório: não pode ter o valor nulo ou não informado – vazio (Ex: Nome do Funcionário, RG)
DOMÍNIO
• São todos os valores possíveis que um atributo pode receber
• Define o tipo e o formato do dado
• Exemplos:
• CEP: Qualquer número, no formato nnnnn-nnn
TUPLAS
• Representam o conjunto de atributos de uma ocorrência de uma tabela
• São os registros de uma tabela
MATRICULA NOME CURSO DATA
MATRIC
TELEFONE ...
201602RC01 JOÃO C 09/01/2016 81992371413 ... 201602RC02 MARIA G 11/01/2016 81986437793 ... 201602RC03 GILDA H 12/01/2016 81999876880 ...
ATRIBUTO (CAMPO)
Luiz Fernando F Miranda 15
16
Ao clicar com o botão direito do mouse sobre a tabela criada, escolha a opção
Edit Table
. Uma aba na parte inferior aparecerá
Clique com o botão direito do mouse sobre a tabela e escolha a
opção
Edit Table
. Uma aba na parte inferior aparecerá com o
ASSOCIADO. Para isso, ir para a aba Columns.
TIPOS DE DADOS
• Os mais utilizados:
TIPOS
DESCRIÇÃO
INT
Valores numéricos inteiros (de 2147483648 a
-2147483647)
VARCHAR
Cadeia de caracteres alfanuméricos de tamanho
variável entre 1 e 255 caracteres
(armazenamento mais “econômico”)
DECIMAL
Valores numéricos com casas decimais
PROPRIEDADE DOS DADOS
Sigla
Nome
Descrição
PK
PRIMARY KEY
chave primária
NN
NOT NULL
conteúdo obrigatório diferente
de vazio
UQ
UNIQUE INDEX
Cria/remove index
BIN
BINARY Armazena dados nos formato binárioUN
UNSIGNED Não armazena números negativosZF
ZEROFILL Preenchimento de zeros à esquerdaCHAVE PRIMÁRIA
• Recurso utilizado para distinguir uma ocorrência dentro das entidades
• É o atributo que identifica univocamente cada tupla (registro) de uma tabela (identificador individual do registro)
• Não haverá conteúdos idênticos de campos que são chaves primárias
• É uma coluna ou uma combinação de colunas cujos valores distinguem uma linha (registro) das demais dentro de uma tabela
CHAVE PRIMÁRIA (CONT.)
• Exemplos de informações potenciais para serem chaves primárias:
• CPF • CNPJ
• Matrícula do Funcionário • Matrícula do Aluno
• Número da conta bancária (Banco-Agência-Conta) • Código da peça
CHAVE PRIMÁRIA (CONT.)
• Restrições de integridade para a formação de chaves primárias:
• Unicidade (Não permite que a chave candidata a ser chave primária não possua o mesmo valor em duas ou mais tuplas distintas)
• Não pode ter valor NULO (diferente de 0 ou espaços)
CHAVE PRIMÁRIA (CONT.)
Código Categoria
A SÓCIO ATLETA
C SÓCIO COLABORADOR D SÓCIO DEPENDENTE
CATEGORIAS DE SÓCIOS
Matrícula Nome Data Admissão Cod.Categ
00102845 KARLA PATRÍCIA 19/09/2011 C 00102846 VALTER
MEDEIROS
21/09/2011 D
00102847 PEDRO CARLOS 25/09/2011 D 00102848 JOSÉ MARCOS 28/09/2011 A
CHAVE PRIMÁRIA (CONT.)
Código Categoria
A SÓCIO ATLETA
C SÓCIO COLABORADOR D SÓCIO DEPENDENTE
CATEGORIAS DE SÓCIOS
Matrícula Nome Data Admissão Cod.Categ
00102845 KARLA PATRÍCIA 19/09/2011 C 00102846 VALTER MEDEIROS 21/09/2011 D 00102847 PEDRO CARLOS 25/09/2011 D 00102848 JOSÉ MARCOS 28/09/2011 A
CADASTRO DE
SÓCIOS
Atualização em
cascata (ou por
propagação)
CHAVE PRIMÁRIA (CONT.)
Código Categoria
A SÓCIO ATLETA
C SÓCIO COLABORADOR
CATEGORIAS DE SÓCIOS
Matrícula Nome Data Admissão Cod.Categ
00102845 KARLA PATRÍCIA 19/09/2011 C 00102848 JOSÉ MARCOS 28/09/2011 A
CHAVE PRIMÁRIA (CONT.)
• Observação:
• Dois ou mais atributos, em conjunção, podem ser definidos como chaves primárias (também conhecido como SUPERCHAVE ou CHAVE COMPOSTA)
Exemplos:
• Código e Título de um Livro (para distinguir edições diferentes de uma publicação)
CHAVE PRIMÁRIA (CONT.)
CHAVE ESTRANGEIRA
• No Modelo Relacional é FUNDAMENTAL a integridade das informações armazenadas
• Essa integridade se faz, dentre outras situações, quando as informações em uma tabela se relacionam com outras informações em outras tabelas
CHAVE ESTRANGEIRA (CONT.)
Relação entre Associado e Dependente
• É preciso saber qual é o associado pelo qual o dependente depende
• Então definimos que toda a matricula que for cadastrada na tabela Dependente deve estar cadastrada na tabela Associado
• Isso garante que um dependente esteja sempre “ligado” a um Associado
CHAVE ESTRANGEIRA (CONT.)
MIGRAÇÃO MER
MR
Primeiro Passo – Mapear entidades
• O primeiro conceito que devemos ter em mente é o conceito de entidade. No Modelo Relacional, entidades são mapeadas para tabelas (cada
entidade do modelo ER será mapeado para uma tabela no Modelo Relacional)
MIGRAÇÃO MER
MR (CONT.)
Segundo Passo – Identificar atributos simples
• No Modelo Relacional os atributos possuem um domínio definido (indicar no MySql Workbench o tipo de dado que o atributo irá armazenar)
• Ex: Entidade Associado
Tabela Associado• Atributo Nome Coluna Nome – Alfanumérico
MIGRAÇÃO MER
MR (CONT.)
Terceiro Passo – Identificar atributos compostos
• É aquele onde seu conteúdo é formado por vários itens menores. Para mapear atributos compostos no Modelo Relacional, você deve definir na tabela apenas os atributos simples do atributo composto.
• Ex: Entidade Associado
Tabela AssociadoMIGRAÇÃO MER
MR (CONT.)
• No MER os atributos chaves são sublinhados (ou destacados com cor escura).
• No modelo Relacional são mapeados para chaves primárias
• Ex: Matrícula Coluna matricula será chave primária da tabela ASSOCIADO
Quarto Passo
–
MIGRAÇÃO MER
MR (CONT.)
Quinto Passo – Identificar atributos multivalorados
• É aquele onde seu conteúdo é formado por vários valores. Por exemplo, o associado pode possuir mais de um nº de telefone
• Para fazer o mapeamento do atributo multivalorado para o Modelo
MIGRAÇÃO MER
MR (CONT.)
Ex: Criar a tabela ASSOC-TELEFONE
• Criar atributos matricula e telefone
ATIVIDADE
• Crie um Modelo Relacional de um sistema escolar, com base no Modelo Entidade-Relacionamento criado na aula anterior.
• Crie as tabelas com atributos, chaves primárias e estrangeiras