Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros waelson@gmail.com waelson.com.br “Está...

Preview:

Citation preview

Treinamento PHP

Módulo 2PHP Avançado

Waelson Negreiroswaelson@gmail.com

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

Recommended