treinamento php módulo 2 php avançado waelson negreiros [email protected] waelson.com.br “está...
TRANSCRIPT
Treinamento PHP
Módulo 2PHP Avançado
Waelson [email protected]
waelson.com.br“Está conosco o Senhor dos Exércitos”
Agenda
MySQL Command Line O que é Banco de Dados? Projeto de Banco de Dados
MySQL Command Line
MySQL Command Line
O que é?Ferramenta de linha de comando Interface via shell
MySQL Command Line
Como acessar?No menu executar digite:
cmdCom o prompt aberto digite:
mysql –u root –p
Assegure-se que os binários do MySQL estejamno path do DOS
MySQL Command Line
MySQL Command Line
Como proceder?Use o comando “show databases;”
para listar os bancos de dados existentes
Selecione um banco de dados, para isso use o comando “use <database>;”
Para verificar as tabelas digite “show tables;”
Faça uma consulta teste, digite: “select * from <tabela>;”
Para sair digite “quit”;
MySQL Command Line
Obtendo mais ajudaDigite “help;”
O que é Projeto de Banco?
O que é Projeto de Banco?
Histórico Início da computação:
Dados guardados em arquivos de textoProblemas nesse modelo:
Redundância não-controlada de dados Aplicações devem se preocupar com a forma
de armazenamento dos dados Início dos anos 60:
Primeiros bancos de dados
O que é Projeto de Banco?
Bancos de dados são conjuntos de dados integrados que tem por objetivo atender a uma comunidade de usuários
Redundância controladaDados armazenados de forma mais
consistenteGerenciamento facilitado
O que é Projeto de Banco?
O que é um SGDB?SGBD: Sistema Gerenciador de Banco de
Dados
SGBD é um software que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados
O que é Projeto de Banco?
ExemplosMySQLOracleSQL ServerPostgresDB2SQLite
O que é Projeto de Banco?
Banco de Dados x SGBDBanco de Dados: um modelo, uma abstraçãoSGBD: classe de softwares
O que é Projeto de Banco?
O que é Modelo de Dados?Descrição formal da estrutura de um
banco de dados.
Exemplos: Modelos Navegacionais Modelo Orientado a Objetos Modelo Relacional (mais usado) Modelo de Entidades e Relacionamentos
(conceitual)
Projeto de Banco de Dados
Projeto de Banco de Dados
Atividade de modelagem de dados em vários níveis de abstração
Modelagem Conceitual (projeto conceitual)
Modelagem Lógica (projeto lógico)
Modelagem Física (implementação)
Projeto de Banco de Dados
Modelagem ConceitualAbstração de mais alto nível
Objetivo: Representação dos requisitos de dados do domínio
Independente de modelo de banco de dados
Projeto de Banco de Dados
Vantagens da Modelagem Conceitual Independente de detalhes de
implementação em um SGBD
Facilita a compreensão da semântica dos dados de um domínio
Melhor compreendido por usuários leigos
Projeto de Banco de Dados
Modelagem LógicaRepresentação da modelagem
conceitual em um modelo
Ênfase na eficiência de armazenamento
Evitar: muitas tabelas (e junções); tabelas sub-utilizadas.
Projeto de Banco de Dados
Modelagem FísicaEsquema SQL para a modelagem lógica
Dependente de SGBD
Ênfase na eficiência de acesso Implementação de consultas, índices,...
Projeto de Banco de Dados
Modelo Entidade-RelacionamentoCriado por Peter Chen em 1976
Padrão de modelagem conceitual de BD
Um esquema conceitual de dados é também chamado de esquema ER ou diagrama ER
Projeto de Banco de Dados
Conceitos do Modelo EREntidade
Abstração de um fato do mundo real para o qual se deseja manter seus dados no BD
Simbologia: retângulo nomeado
Projeto de Banco de Dados
Conceitos do Modelo ERRelacionamento
Abstração de uma associação entre (ocorrências de) entidades
Simbologia: losango nomeado
Projeto de Banco de Dados
Conceitos do Modelo ERRelacionamento
Projeto de Banco de Dados
Conceitos do Modelo ERCardinalidade Máxima
Quantidade máxima de ocorrências de entidades que podem estar associadas a uma ocorrência de outra entidade (1 ou N)
Projeto de Banco de Dados
Conceitos do Modelo ERCardinalidade Máxima
Projeto de Banco de Dados
Conceitos do Modelo ERCardinalidade Mínima
Indica se a participação das ocorrências de entidades no relacionamento é obrigatória ou opcional
Projeto de Banco de Dados
Conceitos do Modelo ERCardinalidade Mínima
Projeto de Banco de Dados
Conceitos do Modelo ERAuto-Relacionamento
Representa uma associação entre ocorrências de uma mesma entidade
Exige a identificação de papéis
Projeto de Banco de Dados
Conceitos do Modelo ERAuto-Relacionamento
Projeto de Banco de Dados Conceitos do Modelo ER
Relacionamento “N”-ário Abstração de uma associação entre “N”
(ocorrências de) entidades Exemplo: relacionamento ternário
Projeto de Banco de Dados Conceitos do Modelo ER
Atributo Abstração de uma propriedade de uma
entidade ou de um relacionamento
Projeto de Banco de Dados Conceitos do Modelo ER
Classificação de Atributos obrigatórios X opcionais monovalorados X multivalorados simples X compostos
Projeto de Banco de Dados Conceitos do Modelo ER
Identificação de Entidades Atributos identificadores distinguem
ocorrências de uma entidade umas das outras.
Garantem o acesso individualizado a uma ocorrência de entidade no BD
Projeto de Banco de Dados Conceitos do Modelo ER
Identificação de Relacionamentos Um relacionamento é identificado
implicitamente pelo conjunto de identificadores das ocorrências de entidades que participam dele
Projeto de Banco de Dados Conceitos do Modelo ER
Identificação de Relacionamentos Atributos identificadores adicionais podem
ser necessários para definir a identificação de um relacionamento
Projeto de Banco de Dados Conceitos do Modelo ER
Restrições de Domínio O modelo ER não é capaz de expressar
todas as RIs de um domínio de aplicação Uma documentação em anexo pode ser
necessária
Projeto de Banco de Dados Conceitos do Modelo ER
Restrições de Domínio
Exercício I Administradora de Imóvel
Uma entrevista com o gerente da administradora resultou nas seguintes informações:
A administradora administra condomínios formados por unidades condominiais (lotes);
Cada unidade condominial é de propriedade de uma ou mais pessoas. Uma pessoa pode possuir diversas unidades;
Cada unidade pode estar alugada para no máximo uma pessoa. Uma pessoa pode alugar diversas unidades.
Defina os atributos que julgares necessário.
Exercício II Administradora de Imóvel
Em uma clínica trabalham médicos e existem pacientes internados. Cada médico é identificado pelo seu CRM, possui um nome e recebe um salário na clínica. Um médico tem formação em diversas especialidades (ortopedia, traumatologia, etc), mas só exerce uma delas na clínica. Para todo paciente internado na clínica são cadastrados alguns dados pessoais: nome, RG, CPF, endereço, telefone(s) para contato e data do nascimento. Um paciente tem sempre um determinado médico como responsável (com um horário de visita diário predeterminado), porém vários outros médicos podem participar do seu tratamento. Pacientes estão sempre internados em quartos individuais, que são identificados por um número e ficam em um andar da clínica.
Defina os atributos que julgares necessário.
Projeto de Banco de Dados Modelagem Lógica
Conceitos Chave-Primária:
Conjunto mínimo de um ou mais atributos e relacionamentos cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrência da entidade das demais ocorrências da mesma entidade
Chave-Estrangeria conjunto de um ou mais atributos e relacionamentos
cujos valores aprecem necessariamente em outra entidade como chave-primária (Primary Key)
Projeto de Banco de Dados Modelagem Conceitual
Relacionamento “um-para um”
Projeto de Banco de Dados Modelagem Conceitual
Relacionamento “um-para-muitos”
Projeto de Banco de Dados Modelagem Conceitual
Relacionamento “muitos-para-muitos”
Projeto de Banco de Dados Modelagem Conceitual
Auto-Relacionamento “um-para-muitos”
Projeto de Banco de Dados Modelagem Conceitual
Auto-Relacionamento “muitos-para-muitos”
Bibliografia Melo, Tiago. Projeto de Banco de Dados, 2009 MySQL Dev, www.mysql.org IMasters, http://imasters.uol.com.br