Professional Documents
Culture Documents
Banco de Dados:
Banco de Dados
Banco de Dados:
Armrios
Pastas
Fichas
Campos
Banco de Dados
Banco de Dados
Campos o que define o contedo (Dados) (Atributos do(s) registro(s) a ser(em) armazenados ou Campos...)
Banco de Dados
Banco de Dados
Empregados
Tabela
Nome
Joo Azevedo Mrcia Parra Marcos Guerra Julia Silva
Data Nascimento
15/11/1977 10/02/1970 25/12/1970 18/09/1960 25/09/1972
Idade
28 35 34 44 32
Nacionalidade
Brasileira Brasileira Brasileira Brasileira Portuguesa
Fichas de 5 Empregados
Registros
Nome: Filiao Pai: Me: Data Nascimento Idade Nacionalidade
Nome:
Julia Silva
Campos ou Atributos
Domnios
Banco de Dados
Banco de Dados
Empregados
Nome
Joo Azevedo Mrcia Parra Marcos Guerra Julia Silva Julia Silva
Data Nascimento
15/11/1977 10/02/1970 25/12/1970 18/09/1960 25/09/1972
Idade
28 35 34 44 32
Nacionalidade
Brasileira Brasileira Brasileira Brasileira Portuguesa
Data Nascimento
15/11/1977 10/02/1970 25/12/1970 18/09/1960 25/09/1972
Idade
28 35 34 44 32
Nacionalidade
Brasileira Brasileira Brasileira Brasileira Portuguesa
Banco de Dados
Banco de Dados
Empregados
Nome
Joo Azevedo Mrcia Parra Marcos Guerra Julia Silva Julia Silva
Empregados
Cdigo Empregado
100 101 102 103 104
Data Nascimento
15/11/1977 10/02/1970 25/12/1970 18/09/1960 25/09/1972
Idade
28 35 34 44 32
Nacionalidade
Brasileira Brasileira Brasileira Brasileira Portuguesa
Nome
Joo Azevedo Mrcia Parra Marcos Guerra Julia Silva Julia Silva
Data Nascimento
15/11/1977 10/02/1970 25/12/1970 18/09/1960 25/09/1972
Idade
28 35 34 44 32
Nacionalidade
Brasileira Brasileira Brasileira Brasileira Portuguesa
Pergunta: Em que Ano nasceu Jlia Silva? Resposta: Qual delas...? A de cdigo 103 ou 104?
Banco de Dados
Empregados
Cdigo Empregado
100 101 102 103 104
Nome
Joo Azevedo Mrcia Parra Marcos Guerra Julia Silva Julia Silva
Data Nascimento
15/11/1977 10/02/1970 25/12/1970 18/09/1960 25/09/1972
Idade
28 35 34 44 32
Nacionalidade
Brasileira Brasileira Brasileira Brasileira Portuguesa
TODA Tabela (ou Entidade) deve OBRIGATORIAMENTE possuir uma Chave Primria que o campo ou o meio pela qual se distingue um registro dos outros.
Banco de Dados
O DER um diagrama que tem a finalidade de modelar (ou representar) uma situao real de maneira que todos possam entender esta situao para implement-la independente de Mquina/Equipamento, Software, ...
Banco de Dados
Entidade
Dependente
Banco de Dados
Banco de Dados
Entidade
Dependente
Solicita
Relacionamento
Solicita
Banco de Dados
Banco de Dados
Entidade Relacionamento
Dependente
Cardinalidades
Solicita
Solicita
Banco de Dados
Banco de Dados
Conforme a descrio: ... onde os Clientes solicitam os seus Produtos, conforme os tipos, modelos e pela quantidade...
Cliente
Solicita
Banco de Dados
Exerccios
Com suas palavras defina:
a) b)
1.
2.
Defina as tabelas e seus atributos dos casos a seguir, e insira 5 registros em cada uma das tabelas:
a)
Conforme a descrio: ... onde os Clientes solicitam os seus Produtos, conforme os tipos, modelos e pela quantidade...
Verbo
Uma empresa deseja automatizar seu cadastro de clientes, junto com o setor de vendas. O gerente do setor de estoque ficou com muita inveja do sistema informatizado do cadastro de clientes do exerccio anterior. Sabe-se que o setor de estoque tem uma relao direta com os fornecedores, os quais fornecem os produtos para venda. Uma escola precisa automatizar todo seu sistema. Defina as tabelas necessrias para criar o banco de dados.
b)
c)
Banco de Dados
Conforme a descrio: ... onde os Clientes solicitam os seus Produtos, conforme os tipos, modelos e pela quantidade...
Verbo Relacionamento
Solicita
Conforme a descrio: ... onde os Clientes solicitam os seus Produtos, conforme os tipos, modelos e pela quantidade...
Substantivo
Solicita
Banco de Dados
Banco de Dados
Conforme a descrio: ... onde os Clientes solicitam os seus Produtos, conforme os tipos, modelos e pela quantidade...
Substantivo Entidades
Cliente Solicita Produtos
Conforme a descrio: ... onde os Clientes solicitam os seus Produtos, conforme os tipos, modelos e pela quantidade...,
Adjetivos
Cliente Solicita Produtos
Banco de Dados
Banco de Dados
Conforme a descrio: ... onde os Clientes solicitam os seus Produtos, conforme os tipos, modelos e pela quantidade...,
Adjetivos Atributos Entidades
Cliente Solicita Produtos
Conforme a descrio: ... onde os Clientes solicitam os seus Produtos, conforme os tipos, modelos e pela quantidade...,
Importante:
Como toda Entidade/Tabela deve Possuir uma Chave Primria...
Cliente Solicita Produtos
Banco de Dados
Banco de Dados
Conforme a descrio: ... onde os Clientes solicitam os seus Produtos, conforme os tipos, modelos e pela quantidade...,
Importante:
Como toda Entidade/Tabela deve Possuir uma Chave Primria...
Cliente Cdigo Cliente Solicita Produtos Cdigo Produto Tipos Modelos Quantidade
Conforme a descrio: ... onde os Clientes solicitam os seus Produtos, conforme os tipos, modelos e pela quantidade...,
Dica...
Advrbios Atributos (Relacionamento)...
Cliente Cdigo Cliente Solicita Produtos Cdigo Produto Tipos Modelos Quantidade
Banco de Dados
Banco de Dados
1:1 quando o elemento da entidade X est relacionado com apenas um elemento da entidade Y (relacionada com ela) e vice versa.
1:1 quando o elemento da entidade X est relacionado com apenas um elemento da entidade Y (relacionada com ela) e vice versa. 1:N quando o elemento da entidade X est relacionado com vrios elementos da entidade Y (relacionada com ela), mas o elemento da entidade Y est relacionado com apenas este UM elemento da entidade X.
Banco de Dados
Banco de Dados
1:1 quando o elemento da entidade X est relacionado com apenas um elemento da entidade Y (relacionada com ela) e vice versa. 1:N quando o elemento da entidade X est relacionado com vrios elementos da entidade Y (relacionada com ela), mas o elemento da entidade Y est relacionado com apenas este UM elemento da entidade X. N:N quando vrios elementos da entidade X esto relacionados com vrios elementos da entidade Y (relacionada com ela) e os elementos da entidade Y tambm esto relacionados com vrios elementos da entidade X.
Solicita
Banco de Dados
Banco de Dados
Solicita
Solicita
Banco de Dados
Banco de Dados
Definindo...
Chave Estrangeira o atributo que Chave Primria de uma Entidade que passa para a outra Entidade com a qual ela est relacionada. Formando assim um elo (ou o relacionamento) entre elas.
Cliente
Cliente
Solicita
Solicita
Cdigo Cliente
Cdigo Cliente
Banco de Dados
Definindo...
Chave Estrangeira o atributo que Chave Primria de uma Entidade que passa para a outra Entidade com a qual ela est relacionada. Formando assim um elo (ou o relacionamento) entre elas. N N Produtos Chave Alternativa o Cliente atributo queSolicita vir a ser chave pode Cdigo Produto primria, ou seja, na falta Cdigo Cliente de um atributo para ser a chave Tipos Modelos primria da tabela este pode servir para fazer este papel. Quantidade Ex. CGC, CNPJ, etc.
Definindo...
Chave Estrangeira o atributo chave (primria) de uma Entidade que passa para a outra entidade a qual ela est relacionada. Formando assim um elo (ou o relacionamento) entre elas. N N Produtos Chave Alternativa o Cliente atributo queSolicita vir a ser chave pode Cdigo Produto primria, ou seja, na falta Cdigo Cliente de um atributo para ser a chave Tipos Modelos primria da tabela este pode servir para fazer este papel. Quantidade Ex. CGC, CNPJ, etc. Chave Secundria um segundo atributo que tambm chave numa tabela (Relacionada com Chave Estrangeira).
Banco de Dados
Possui
ou
Chave Estrangeira
Podemos construir (ou representar) a situao da seguinte forma:
Chave Estrangeira
Podemos construir (ou representar) a situao da seguinte forma:
Banco de Dados
Banco de Dados
Consulta
Consulta
Cdigo Mdico
ou
Chave Estrangeira
Podemos construir (ou representar) a situao da seguinte forma: Podemos construir (ou representar) a situao da seguinte forma:
Banco de Dados
Conclundo...
N:N ... muitas vezes, acaba-se gerando uma nova Entidade (Chamada Atributos de Relacionamento) e passando para ela as Chaves Primrias de cada entidade envolvida. (Principalmente quando existem muitas se relacionando)...
Mdico
Consulta
Banco de Dados
Solicita
Cliente
Solicita
Banco de Dados
Banco de Dados
Cliente
Solicita
Cliente
Solicita
Banco de Dados
Banco de Dados
Cliente
Solicita
Banco de Dados
Banco de Dados
Cliente
Solicita
Cliente
Solicita
Cdigo Cliente Nome Endereo Numero Bairro CEP Conta Corrente Saldo Conta Corrente Agncia Endereo Agncia
Cdigo Cliente Nome Endereo Numero Bairro CEP Conta Corrente Saldo Conta Corrente Agncia Endereo Agncia
Banco de Dados
Banco de Dados
Contas
Possui
Cliente
Solicita
Conta Corrente Saldo Conta Corrente Agncia Endereo Agncia Cdigo Cliente
Chave Estrangeira
10
Banco de Dados
Banco de Dados
Contas
Possui
Cliente
Solicita
Contas
Possui
Cliente
Solicita
Conta Corrente Saldo Conta Corrente Agncia Endereo Agncia Cdigo Cliente
Conta Corrente Saldo Conta Corrente Agncia Endereo Agncia Cdigo Cliente
Banco de Dados
Banco de Dados
Contas
Possui
Cliente
Solicita
N
Pertence
1
Agncia
Pertence
1
Agncia Cdigo Agncia Endereo Agncia
Chave Estrangeira
Cdigo Agncia Endereo Agncia
Banco de Dados
Banco de Dados
Conclundo...
Na modelagem final teremos as seguintes Tabelas: Agncias, Contas, Clientes, Produtos e N N N Contas Possui Cliente Solicita Solicitao Clientes
Conta Corrente Saldo Conta Corrente Cdigo Cliente Cdigo Agncia Cdigo Cliente Nome Endereo Numero Bairro CEP
Conclundo...
Na modelagem final teremos as seguintes Tabelas e seus Atributos: Agncias (CdigoAgncia, EndereoAgncia,...); Contas (ContaCorrente, SaldoCC, CdigoCliente, CdigoAgncia,...); Clientes (CdigoCliente, Nome, Endereo, Nmero, Bairro, CEP,...); Produtos (CdigoProduto, Tipos, Modelos, Quantidade,...). N N N N Contas Possui Cliente Solicita Produtos Solicitao Clientes (CdCliente, CdProdutos, DataSolicitao,...).
Conta Corrente Saldo Conta Corrente Cdigo Cliente Cdigo Agncia Cdigo Cliente Nome Endereo Numero Bairro CEP Cd.Cliente Cd.Produtos Data Solicitao Cdigo Produto Tipos Modelos Quantidade
Pertence
Pertence
1
Agncia Cdigo Agncia Endereo Agncia
1
Agncia Cdigo Agncia Endereo Agncia
11
Banco de Dados
Tipos do MySQL...
O MySQL suporta um certo nmero de TIPOS de campos que podem ser agrupados em trs categorias: Tipos Numricos, Tipos de Data e Hora, Tipos String (caracteres).
Tipos do MySQL...
Tipos Numricos
INTEGER [(M)] = Representa um inteiro de tamanho normal TINYINT [(M)] = Representa um inteiro de tamanho muito pequeno SMALLINT [(M)] = Representa um inteiro de tamanho pequeno MEDIUMINT [(M)] = Representa um inteiro de tamanho mdio BIGINT [(M)] = Representa um inteiro grande FLOAT [(M,D)] = Representa um nmero de ponto-flutuante com preciso simples DOUBLE [(M,D)] ou DOUBLE PRECISION [(M,D)] ou REAL [(M,D)] = Representa um nmero de ponto-flutuante com preciso dupla DECIMAL [(M,[D])] ou NUMERIC [(M,D)] = Representa um nmero de ponto-flutuante armazenado com um string (1 byte por digito, ponto decimal, ou sinal -)
Banco de Dados
Tipos do MySQL...
Tipos Numricos Definindo...
Tipo
INTEGER [(M)] TINYINT [(M)] SMALLINT [(M)] MEDIUMINT [(M)] BIGINT [(M)] FLOAT [(M,D)]
Tipos do MySQL...
Tipos Data e Hora
DATE = Representa uma data no formato YYYY-MM-DD DATETIME = Representa uma combinao de data e hora no formato YYYY-MM-DD HH:MM:SS TIME = Representa um horrio no formato HH:MM:SS YEAR = Representa um ano no horrio YYYY TIMESTAMP [(M)] = Representa data e hora corrente no formato YYYYMMDDhhmmss ou TIMESTAMP (14) = YYYYMMDDHHMMSS TIMESTAMP (12) = YYMMDDHHMMSS TIMESTAMP (10) = YYMMDDHHMM TIMESTAMP (8) = YYYYMMDD TIMESTAMP (6) = YYMMDD TIMESTAMP (4) = YYMM TIMESTAMP (2) = YY
Bytes
4 1 2 3 8 4
De
At
-2147483648 2147483647 -128 127 -32768 32767 -8388608 8388607 -9223372036854775808 9223372036854775807 -3.402823466E+38 1.175494351E-38, 0 e 1.175494351E-38 3.402823466E+38
DECIMAL [(M,[D])]
M (<3.23) ou M+2
Banco de Dados
Tipos do MySQL...
Tipos Data e Hora Definindo...
Tipo
DATE DATETIME TIME YEAR TIMESTAMP
Tipos do MySQL...
Tipos String (Caracteres ou Alfanumricos)
CHAR [(M)] = Representa uma String de caracteres de tamanho fixo (0 a 255 caracteres) VARCHAR [(M)] = Representa uma String de caracteres de tamanho varivel (0 a 255 caracteres) BLOB ou TEXT = Representa um valor BLOB (ou texto) de tamanho normal (0 a 65535 caracteres) TINYBLOB ou TINYTEXT = Representa um valor de tamanho pequeno (0 a 255 caracteres) MEDIUMBLOB ou TINYTEXT = Representa um valor de tamanho mdio (0 a 16777215 caracteres) LONGBLOB ou LONGTEXT = Representa um valor de tamanho grande (0 a 4294967295 caracteres) ENUM (valor1,valor2,...) = Representa uma enumerao. Permite especificar uma lista de valores, dos quais um pode ser atribudo coluna. SET (valor1,valor2,...) = Representa um grupo. Permite especificar uma lista de valores, dos quais um ou mais podem ser atribudo coluna.
Bytes
3 8 3 1 4
De
1000-01-01 1000-01-01 00:00:00 -838:59:59 1900 19700101000000
At
9999-12-31 9999-12-31 23:59:59 -838:59:59 2155 algum dia do ano 2037
12
Banco de Dados
Tipos do MySQL...
Tipos String (Caracteres/Alfanumricos) Definindo...
Tipo
CHAR VARCHAR BLOB TEXT TINYTEXT/BLOB TINYTEXT/BLOB LONGTEXT/BLOB ENUM SET
Bytes
M M+1 M+2 M+21 M+1 M+3 M+4 1 p/enum de 2 1 p/sets de 2 3 4 8
De
0 0 0 0 0 0 0 1 256 1 9 17 25 33
At
255 255 65535 65535 255 16777215 4294967295 255 65535 8 membros 16 membros 24 membros 32 membros 64 membros
13