Banco de dados aula 2

50
BANCO DE DADOS AULA – 02 – PROF. DAVID FELIPE SANTOS OLIVEIRA

Transcript of Banco de dados aula 2

Page 1: Banco de dados  aula 2

BANCO DE DADOSAULA – 02 – PROF. DAVID FELIPE SANTOS OLIVEIRA

Page 2: Banco de dados  aula 2

DEFINIÇÃO – BANCO DE DADOS

Um banco de dados é uma estrutura logica que armazena um conjunto de dados.

O que é um dado ?

“ Definimos dados como uma representação simbólica ( isto é, feita por um meio de símbolos) quantificada ou quantificável.” (SETZER;SILVA,2012,p.2)

Um dado pode assumir varias formas, se alguém disser “dois”,, “azul”, “avião ” e “IV”. Todos estes são representações de textos ou símbolos, portanto eles são dados. Uma letra, um texto ou um gráfico também são dados.

Page 3: Banco de dados  aula 2

DEFINIÇÃO – BANCO DE DADOS

O banco de dados é uma estrutura logica, isto é , um software que armazena os dados de uma empresa qualquer. Quando o usuário requisita estes dados através no do sistema, eles são expostos de forma organizada na tela do computador de forma que se tornem informações ou seja, tenham sentido.

Um banco de dados ou base de dados BD é uma coleção de dados ou informações relacionadas entre si . GUIMARÃES (2012,p.19).

Page 4: Banco de dados  aula 2

DEFINIÇÃO – BANCO DE DADOS

Para exemplificar a utilização de um BD, imagine uma concessionaria e a sua coleção de carros que estão a venda no pátio. Poderia se dizer que esta empresa tem um sistema de revendas de veículos e naturalmente seu BD vai ter os registros de cada um deles.

Quando um cliente entrar na loja para comprar um carro, o vendedor consulta as informações a respeito daquele veiculo em seu sistema. Essa consulta utiliza a interface do sistema para acessar o BD e retornar essas informações organizadas em forma de lista (TABELA 1) .

Page 5: Banco de dados  aula 2

DEFINIÇÃO – BANCO DE DADOS

Page 6: Banco de dados  aula 2

DEFINIÇÃO – BANCO DE DADOS

Page 7: Banco de dados  aula 2

DEFINIÇÃO BANCO DE DADOS

De acordo com DATE (2004,p.9) existem três classes gerais de usuários.

1. Primeiro, a os programadores de aplicações, responsáveis pela escrita de programas de aplicações de banco de dados em alguma linguagem de programação.

2. Em seguida os usuários finais, que acessam o banco de dados interativamente.

3. O administrador de Banco de Dados, ou DBA (de DATA BASE ADMINISTRATOR).

Page 8: Banco de dados  aula 2

SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD).

Page 9: Banco de dados  aula 2

SGBD

Definição: Sistema Gerenciador de Banco de Dados é uma coleção de programas que permitem aos usuários definirem, construírem e manipularem uma base de dados para o uso das diversas aplicações.

Page 10: Banco de dados  aula 2

SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD).

Page 11: Banco de dados  aula 2

SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD).

O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. É atualmente um dos bancos de dados mais populares , com mais de 10 milhões de instalações pelo mundo. Entre os usuários do banco de dados MySQL estão: NASA, Friendster, Banco Bradesco, Dataprev, HP, Nokia,Sony, Lufthansa, U.S. Army, U.S. Federal Reserve Bank, Associated Press, Alcatel, Slashdot, Cisco Systems,Google e outros.

Oracle é basicamente uma ferramenta cliente/servidor para a gestão de Bases de Dados. É um produto vendido a nível mundial, embora a grande potência que tem e seu elevado preço, faz com que só se veja em empresas muito grandes e multinacionais, por norma geral. No desenvolvimento de páginas web acontece o mesmo: como é um sistema muito caro não está tão espalhado como outras bases de dados, por exemplo, Access, MySQL, SQL Server, etc. 

Page 12: Banco de dados  aula 2

SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD).

O MS SQL Server é um SGBD - sistema gerenciador de Banco de dados relacional desenvolvido pela Microsoft. Foi criado em parceria com a Sybase em 1988 inicialmente para a plataforma OS/2 . Esta parceria durou até 1994, com o lançamento da versão para Windows NT e desde então a Microsoft mantém a manutenção do produto. Como um Banco de dados, é um produto de software cuja principal função é a de armazenar e recuperar dados solicitados por outras aplicações de software, seja aqueles no mesmo computador ou aqueles em execução em outro computador através de uma rede (incluindo a Internet).

O DB2 é um Sistema Gerenciador de Banco de Dados Relacionais (SGDBR) produzido pela IBM. Existem diferentes versões do DB2 que rodam desde num simples PDA|computador de mão, até em potentes mainframes e funcionam em servidores baseados em sistemas Unix, Windows, ou Linux.

O PostgreSQL é um sistema de gerenciamento de banco de dados objeto-relacional (SGBDOR), baseado no POSTGRES Versão 4.2 desenvolvido pelo Departamento de Ciência da Computação da Universidade da Califórnia em Berkeley. O POSTGRES foi pioneiro em vários conceitos que somente se tornaram disponíveis muito mais tarde em alguns sistemas de banco de dados comerciais.

Page 13: Banco de dados  aula 2

SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD).

Page 14: Banco de dados  aula 2

MODELAGEM DE DADOS

Para quem não sabe, a modelagem de dados é um processo no qual você projeta ou planeja o modelo a ser utilizado para a construção da sua base de dados (BANCO DE DADOS), de forma que reflita os conceitos do negócio a ser atendido. É muito importante que haja um perfeito entendimento e compreensão das necessidades de informação do negócio que está sendo atendido pelo projeto do banco de dados. Para isso, é necessário um bom levantamento de requisitos, atividade que é feita pelo analista de requisitos que atua junto ao  analista de negócios a fim de descobrir os requisitos de informação que devem ser atendidos no projeto do banco de dados.

Page 15: Banco de dados  aula 2

MODELAGEM DE DADOS

Modelagem de dados – Funciona como receita, isto é, uma preparação para criação de um banco de dados propriamente dito. A modelagem precede a criação do BD. É imprescindível conhecer e entender seu funcionamento . A mesma dividida em três partes.

A parte inicial é independente do SGBD , ou seja, o modelo é mais teórico a ponto de não interferir na escolha da tecnologia a ser aplicada.

A partir do modelo logico o quadro muda pois a tecnologia passa a ditar as regras do desenvolvimento, tornando o modelo mais especificamente voltado para o SGBD. Figura a seguir retrata essa separação.

Page 16: Banco de dados  aula 2

MODELAGEM DE DADOS

Page 17: Banco de dados  aula 2

ESTRUTURA DE UM BANCO DE DADOS

Colunas (ou atributos)

Cada tabela possui colunas (ou podemos chamar campos), que são os nomes dos dados que serão armazenados. Cada coluna representa uma informação ou atributo da linha.

Cada campo (ou atributo) possuem propriedades, como por exemplo o tipo de dados a ser armazenado (caracter, numérico, data), se é de preenchimento obrigatório e o tamanho.

Page 18: Banco de dados  aula 2

ESTRUTURA DE UM BANCO DE DADOS

Linhas (ou tuplas ou ocorrência de entidade)

As tabelas (ou entidades) também possuem linhas (ou tuplas) que são os registros contendo dados que estão armazenados em cada campo da tabela.

Então podemos dizer que tabela (ou entidade) é:

– Um objeto criado para armazenar os dados fisicamente

– Os dados são armazenados em linhas (tuplas) e colunas (atributos)

– Os dados de uma tabela normalmente descrevem um único assunto tal como clientes, vendas, produtos, curso, aluno, disciplina, bilhete, filme, cinema, sessão, viagem, hotel, voo, etc.

Page 19: Banco de dados  aula 2

MODELAGEM DE DADOS

Para quem não sabe, a modelagem de dados é um processo no qual você projeta ou planeja o modelo a ser utilizado para a construção da sua base de dados (BANCO DE DADOS), de forma que reflita os conceitos do negócio a ser atendido. É muito importante que haja um perfeito entendimento e compreensão das necessidades de informação do negócio que está sendo atendido pelo projeto do banco de dados. Para isso, é necessário um bom levantamento de requisitos, atividade que é feita pelo analista de requisitos que atua junto ao  analista de negócios a fim de descobrir os requisitos de informação que devem ser atendidos no projeto do banco de dados.

Page 20: Banco de dados  aula 2

MODELAGEM DE DADOS

• Modelo para organização dos dados de um BD

– define um conjunto de conceitos para a representação de dados• exemplos: entidade, tabela, atributo, ...

– existem modelos para diferentes níveis de abstração de representação de dados

• modelos conceituais• modelos lógicos• modelos físicos

– organização dos arquivos de dados em disco (organização seqüencial, uso de índices hashing ou B-trees, ...)

– não são manipulados por usuários ou aplicações queacessam o BD

Page 21: Banco de dados  aula 2

MODELAGEM DE DADOS

Qual o objetivo da modelagem de dados? Por que modelar os dados do ambiente de negócios?

- Representar os conceitos do ambiente de negócios observado

- Documentar e normalizar os dados no modelo de dados

- Fornecer processos de validação

- Observar fatos no ambiente de negócios e identificar relacionamentos entre os objetos do ambiente de negócios.

- Representar as regras de negócio que regulam os processos no ambiente de negócios

Page 22: Banco de dados  aula 2

MODELAGEM DE DADOS

Modelo conceitual – levantamento de requisitos é o nome dado à tarefa de analisar o ambiente, aplicar a abstração e transformar o resultado da analise em um modelo chamado de conceitual. Esse modelo cria o conceito, isto é, as definições principais da empresa em relação a necessidade. É como se fosse um espelho da empresa, detalhando cada objeto importante dentro do ambiente observado.

Page 23: Banco de dados  aula 2

 MODELO E-R

Modelo baseado na percepção do mundo real, que consiste em um conjunto de objetos básicos chamados entidades e nos relacionamentos entre esses objetos

Facilitar o projeto de banco de dados, possibilitando a especificação da estrutura lógica geral do banco de dados

Page 24: Banco de dados  aula 2

ENTIDADES - DEFINIÇÃO

São objetos do “mundo real” sobre os quais deseja-se manter informações no banco de dados. Conjunto de objetos (coisas, tudo que é perceptível, manipulável) da realidade modelada sobre os quais deseja-se manter informações no banco de dados.

Uma entidade tem um conjunto de propriedades, e os valores para alguns conjuntos dessas propriedades devem ser únicos. Uma entidade pode ser completa, como uma pessoa ou um livro, ou pode ser abstrata como um empréstimo, uma viagem de férias ou um conceito.

Page 25: Banco de dados  aula 2

ESTRATÉGIAS PARA RECONHECER ENTIDADES

As coisas tangíveis: aquilo que pode ser tocado.

– avião, carro, cachorro, gato, livro, caderno....

Funções: todo o tipo de papel, atribuição, classificação, ou outra característica qualquer que para um dado elemento, especifique não sua existência mas sua atuação no ambiente em que está inserido.

– Departamento de uma empresa, o autor de um livro, um médico

Eventos ou ocorrências: são ações ou fatos que uma vez ocorrendo possuem características próprias sobre as quais podemos fazer alguma referência.– um vôo comercial, um acidente de trânsito, um jogo de futebol...

Page 26: Banco de dados  aula 2

ATRIBUTOS

Uma entidade é representada por um conjunto de atributos Para cada atributo há um conjunto de valores permissíveis (domínio).

– Um atributo é um dado que é associado a cada ocorrência de uma entidade ou de um relacionamento Atributos e valores, juntos, descrevem as instâncias/ocorrências de uma entidade

Page 27: Banco de dados  aula 2

ATRIBUTOS

Propriedades que descrevem entidades.

Exemplo de atributos para entidade escritor:

• Nome• Nacionalidade• Data de nascimento• Local de nascimento• Data de morte• Heterônimo

Todo objeto para ser uma entidade possui atributos e seus valores. –Vamos imaginar um funcionário de uma empresa. O que caracteriza o funcionário?

Page 28: Banco de dados  aula 2

ATRIBUTOS

Page 29: Banco de dados  aula 2

ATRIBUTOS

Valores de atributos para entidade escritor:

Nome: Fernando Pessoa Nacionalidade: portuguesa Data de nascimento: 13 de Junho de 1888 Local de nascimento: Lisboa Data de morte: 30 de Novembro de 1935 Heterônimo: Álvaro de Campos, RicardoReis, Alberto Caeiro

Page 30: Banco de dados  aula 2

ATRIBUTOS

Dado que é associado a cada ocorrência de uma entidade ou de um relacionamento. Os atributos são as propriedades das entidades.

Page 31: Banco de dados  aula 2

ATRIBUTO SIMPLES

Atributo simples –Ocorre quando uma característica da entidade é representada por um único atributo.

Exemplo: Matricula, Nome, Sexo, Salário.

Page 32: Banco de dados  aula 2

ATRIBUTO COMPOSTO

atributo complexo: composto de outros atributos (endereço composto de (rua, cidade, CEP);

Page 33: Banco de dados  aula 2

ATRIBUTO MULTIVALORADO

Os atributos multivalorados são tratados pelos seus detalhes, seu conteúdo é formado por mais de um valor.

Exemplo: Telefone. Um empregado poderá ter mais de um número de telefone.

Page 34: Banco de dados  aula 2

OUTROS TIPOS DE ATRIBUTOS

Atributo monovalorado: atributo que tem um único valor. Exemplo: local de nascimento.

Atributo armazenado: por exemplo data de nascimento.

Atributo derivado: por exemplo idade derivada a partir de data de nascimento e data atual.

Atributo null: por exemplo, uma entidade professor pode não ter telefone celular.

Atributo Identificador (Chave) - Atributo (ou combinação de atributos) que identifica univocamente uma instância deEntidade uma entidade pode tem mais de uma

Page 35: Banco de dados  aula 2

RELACIONAMENTOS

Relacionamento é uma associação entre entidades Cada tipo entidade que participa de um tipo relacionamento executa um papel no relacionamento.

Papéis não são necessários em relacionamentos cujas entidades associadas sejam distintas.Exemplos de Relacionamento :

Page 36: Banco de dados  aula 2
Page 37: Banco de dados  aula 2

CARDINALIDADES

A cardinalidade é um conceito importante para ajudar a definir o relacionamento, ela define o número de ocorrências em um relacionamento. Para determinarmos a cardinalidade, deve-se fazer algumas perguntas relativa ao relacionamento em ambas às direções.

Restrição de participação (também chamada de restrição de cardinalidade mínima).

Restrições estruturais: razão de cardinalidade + restrição de participação.

Especifica o número máximo de instâncias de relacionamento em que uma entidade pode participar:

• um-para-um (1:1)• um-para-muitos (1:N)• ou muitos-para-um(N:1)• muitos-para-muitos (N:M)

Page 38: Banco de dados  aula 2

RELACIONAMENTOS 1:1

Page 39: Banco de dados  aula 2

RELACIONAMENTOS N:1

Page 40: Banco de dados  aula 2

RELACIONAMENTOS N:M

Page 41: Banco de dados  aula 2

NOTAÇÃO

Page 42: Banco de dados  aula 2

• O Supermercado possui vários funcionários. Esses funcionários são identificados por um código. Ainda serão registrados nesses funcionários o nome de cada um, o cargo que eles ocupam, o salário e o telefone.

• O Supermercado ainda deseja guardar as informações de seus fornecedores. Eles devem possuir um código para identificá-los, o nome da empresa fornecedora, o endereço e os telefones disponíveis da mesma empresa para contato.

• O Supermercado também exige que o sistema em questão guarde as vendas ocorridas entre os fornecedores e o próprio supermercado. Tal venda deve conter um código de identificação, qual funcionário participou dessa venda, qual a empresa que vendeu o produto, o valor total da venda e a data que a mesma ocorreu.

Estudo de Caso: Um Supermercado

Page 43: Banco de dados  aula 2

Relembrando:

–O Supermercado possui vários funcionários. Esses funcionários são identificados por um código. Ainda serão registrado nesses funcionários o nome de cada um, o cargo que eles ocupam, o salário e o telefone.

Page 44: Banco de dados  aula 2

O Supermercado ainda deseja guardar as informações de seus fornecedores. Eles devem possuir um código para identificá-los, o nome da empresa fornecedora, o endereço e os telefones disponíveis da mesma empresa para contato.

Page 45: Banco de dados  aula 2

O Supermercado também exige que o sistema em questão guarde as vendas ocorridas entre os fornecedores e o próprio supermercado. Tal venda deve conter um código de identificação, qual funcionário participou dessa venda, qual a empresa que vendeu o produto, o valor total da venda e a data que a mesma ocorreu.

Page 46: Banco de dados  aula 2

CARDINALIDADE

Cardinalidades

A cardinalidade é um conceito importante para ajudar a definir o relacionamento, ela define o número de ocorrências em um relacionamento.

Para determinarmos a cardinalidade, deve-se fazer algumas perguntas relativa ao relacionamento em ambas às direções.

Page 47: Banco de dados  aula 2

EXERCÍCIOS

1. Elabore um modelo de entidade única para cada caso abaixo. Identifique o nome da entidade, cada atributo (campo) das entidades, o tipo e o tamanho de cada. Faça a representação gráfica da entidade e seu dicionário de dados.

a) Navio: um navio tem um nome, um código de registro, uma capacidade de transporte e um ano de construção.

b) Carro: um carro tem um fabricante, um nome de série e um modelo (exemplo: Honda Accord DX, no qual Honda é o fabricante, Accord é o nome de série e DX é o modelo). Um carro também possui um código de identificação do veículo, a placa e a cor.

c) Restaurante: um restaurante tem um endereço, uma capacidade, um número de telefone e um estilo de comida (por exemplo: francesa, russa, chinesa).

Page 48: Banco de dados  aula 2

Exercicio

EXERCÍCIOS

1 ) Faça a análise dos problemas abaixo e identifique as cardinalidades máximas e mínimas. Faça a representação gráfica(modelagem) . Não esqueça das perguntas, para identificar as cardinalidades.

a) FUNCIONÁRIO TRABALHA EM UM DEPARTAMENTO

b) FORNECEDOR FORNECE PRODUTO

c) UM GERENTE CHEFIA UMA SEÇÃO

d) UM ALUNO SE MATRICULA EM UM CURSO

Page 49: Banco de dados  aula 2

Exercicio

Questão 2 – Uma farmácia possui várias filiais. Os dados de cada filial são o código da filial, endereço, telefone e nome do gerente responsável. A farmácia comercializa, em cada filial, dois tipos de produtos: medicamentos e produtos de perfumaria. Todos os produtos possuem um código, nome e preço. No caso dos medicamentos, os mesmos possuem o nome do labotatorio, farmeceutico responsavel, data de validade e uma classificação como o tipo de faixa (preta, vermelha, etc) em que se enquadra o remédio. Os perfumes por sua vez são categorizados em Masculino, Feminino e Intantil. Toda venda de produto para um cliente deve ter data, nome do cliente, valor da venda e forma de pagamento que pode ser feita com cartao de credito, cartao de debito ou dinheiro. Uma venda de medicamento pode ser feita a um cliente, com ou sem receita médica, sendo que os medicamentos que são vendidos somente com receita médica precisam ter tipo de faixa preta. Os dados da receita são data da receita,  nome do paciente e CRM do médico. Todos os medicamentos são fornecidos por um determinado fabricante, que pode fornecer muitos medicamentos. Os dados do fabricante são: CNPJ, nome do fabricante, endereço, telefone e email.

Pede-se: 

– Identifique as entidades

– Identifique os relacionamentos entre as entidades

– Identifique os atributos das entidades e relacionamentos, se houver.

– Identifique as Regras de Negócio

- Elabore o diagrama de entidade e relacionamentos para o mini-mundo

Page 50: Banco de dados  aula 2

EXERCICIO

Elabore um diagrama de entidade e relacionamentos para atender as necessidades de informação de uma biblioteca universitária. São elas:· O cadastro dos usuários com endereço completo, inclusive com a informação do curso do usuário e data de início e de término previsto;· Cada usuário poderá fazer empréstimo de uma ou mais obras. Cada obra poderá ser emprestada mais de uma vez ao mesmo usuário.· O cadastro das obras que constam no acervo da biblioteca, com o titulo, codigo ISBN, ano de publicacao, edição, editora, autor e a devida classificação. As obras são clasificadas como: livros científicos, coleções, matemarica, historia, filosofia, economia, administracao e negocios, engenharia, sociologia, literatura, artes, periódicos científicos, periódicos informativos, entretenimento, etc.;· A língua em que encontra-se a obra. Exemplo: inglês, espanhol, português, etc.;· O(s) autor(es) da obra, ou seja, cada obra poderá possuir um ou mais autores e cada autor poderá ter escrito uma ou mais obras. Para o cadastro de autores deverão constar o nome e a nacionalidade do mesmo;· As editoras das obras com a respectiva cidade. Cada editora poderá estar ligado a uma ou mais obras porém cada obra está associada a somente uma editora.Para resolver o caso acima, siga os passos:1 - Identifique as entidades que deverão ser criadas.2 - Efetue os relacionamentos entre as entidades identificadas3 - Identifique para cada entidade e relacionamento os atributos;4 - Identifique para cada entidade o atributo que será o identificador das ocorrencias da entidade;