aula 01 revisão
DESCRIPTION
Aula 01 da disciplina de Laaboratório de Banco de dados, trazendo uma pequena revisão sobre os conceitos básicos, e a modelagem Entidade - RelacioamentoTRANSCRIPT
Apresentação
• Franklin Matos Correia• Bacharel em Ciência da Computação
Faculdade Ruy Barbosa – 2009
• Especialista em Engenharia de SoftwareFaculdade Ruy Barbosa 2013
Apresentação
• Analista de Sistemas• Vivo ( Analista de Sistemas )• Ufba ( Analista de Sistemas )• Altis – IBM (Programador web)
• Linguagens• Java - Intermediário• Php - Básico• Asp (clássico) - Básico
O que temos para hoje
• Banco de Dados (BD’s)• O que é?• Como era feito o armazenamento antes de surgirem os BD’s?• Funções básicas
• Projeto de Banco de Dados• Conceitos Básicos de MER• Exemplo• Atividade prática
Sistema de Banco de Dados• O que é um banco de dados?
• Um conjunto de informações manipuláveis, de mesma natureza, inseridas em um mesmo local, obedecendo a um padrão de armazenamento.
• O que é um banco de dados?
• Uma coleção de dados inter-relacionados, representando informações sobre um domínio específico.• Agenda telefônica?• Lista de compras?• Livro de romance?• Dicionário?
Sistema de Banco de Dados
• Banco de Dados• Conjunto de dados organizados tecnicamente, de maneira a
permitir a geração da informação, sua atualização e extração de acordo com a demanda gerencial
Sistema de Banco de Dados
• Banco de Dados• Dados
• Matéria bruta que é feita de informação. Valores fisicamente registrados no banco de dados.
• Informação• Dado que significa alguma coisa para alguém e é utilizado em algum
contexto.
Sistema de Banco de Dados
• Como era feito o armazenamento dos dados antes?
• Uso de arquivos sequenciais e planilhas• Os dados eram inseridos de forma incremental, usando o conceito de
filas.
• Problema com armazenamento em arquivos sequenciais?• Para se ler um arquivo que foi inserido por ultimo era necessário
percorrer todo o arquivo linha a linha.• Queda de desempenho – arquivos grandes• Desorganização dos dados• Analista “dono” do sistema• Falta de padronização da informação (tamanho de campos....)• Redundância e inconsistência dos dados• Falta de segurança
Sistema de Banco de Dados
• Banco de dados informatizado
• Rapidez no acesso• Integração e compartilhamento• Integridade: regras para armazenamento• padronização
Sistema de Banco de Dados
Banco de dados informatizado
• Abordagem de banco de dados• Redução de redundância ou redundância controlada• Maior controle sobre a integridade dos dados• Maior controle sobre a segurança dos dados• Transparência dos dados quanto às aplicações• Desenvolvimento mais produtivo e flexível
Sistema de Banco de Dados
• Sistema Gerenciador de Banco de Dados (SGBD)
• Localiza-se entre o banco de dados físico e os usuários do sistema.
• O SGBD é composto por um conjunto de arquivos inter-relacionados e um conjunto de programas que permitem aos usuários acessar e modificar esses arquivos
Sistema de Banco de Dados
Sistema de Banco de Dados• Funções Básicas de um SGBG
• Integridade semântica• Segurança• Concorrência• Independência
• Integridade semântica
• Garantia de dados corretos com relação ao domínio da aplicação• Exemplo: estados válidos para os dados:
• Sexo não pode ser preenchido com A ou B e sim com Masculino ou Feminino• Relacionamento válidos entre dados de tabelas:
• Turma N : 1 Disciplina (apenas professores especialistas lecionam as disciplinas de TIC)
• Especificação de regras• Testes, ações
Funções básicas de um SGBD
• Segurança dos dados• Evitar violação de consistência dos dados• Segurança de acesso (usuários e aplicações)
• Matrizes de autorização• Visões
• Segurança contra falha (Recovery)• Monitoração de transações
• Transação é um conjunto de operações realizadas no BD• Princípio do “tudo ou nada”.
• Categoria de falhas• Transação, sistema e meio de armazenamento
• Manutenção de histórico de atualizações (log’s) e backup do BD
Funções básicas de um SGBD
Exemplo de registro de histórico
Funções básicas de um SGBD• Concorrência
• Evitar conflito de acesso simultâneo a dados por transações (scheduler)
• Principais técnicas• Bloqueio (lock) e timestamp
• Independência• Transparência da organização dos dados
• O usuário não sabe de que forma os dados estão sendo armazenados
• Níveis de independência• Independência Física
• Transparência de organização física dos dados• Exemplo: organização dos arquivos e indexação
• Independência lógica• Transparência do esquema lógico do BD• Exemplo: visões (vários esquemas externos)
Funções básicas de um SGBD
Projeto de Banco de Banco de DadosAnálise de Requisitos
Projeto Conceitual
Projeto lógico
Projeto Físico
Escopo
Requisitos BD
Esquema ER
Esquema relacional
Esquema relacional + índices
Conceitos Básicos de ER• Entidade (tabela):
• Objeto com existência de mundo real• Exemplos:
• Aluno, Professor, Disciplina, Turma, Sala,....
• Atributo ( coluna / campo)• Descreve uma propriedade de uma entidade ou relacionamento• Possui um conjunto de valores• Exemplo:
• Professor (nome, telefone, turno, curso, disciplina)
• Classificação dos atributos
• Simples ou compostos• Monovalorados ou multivalorados• Não nulos• Derivados
• Exemplos:• Matricula: atributo simples, monovalorado e não nulo de aluno• Horário: atributo composto, multivalorado e não nulo de turma• Semestre: atributo simples, monovalorado e não nulo de coordenação
Conceitos Básicos de ER
• Tabelas : • Telefones, compromissos
• Campos:• (Telefones) : nome, telefone, endereço• (Compromissos) : data, hora, compromisso
• Registo:• Cada telefone e cada compromisso anotado
Exemplo – Banco Agenda de Contatos
Id Nome Endereço Telefone
1 João Antônio Av. Presidente Vargas nº 350
(74)9980-5145
2 Maria Joaquina Rua João das botas nº 101
(74)9130-2221
Exemplo – Banco Agenda de Contatos
Id Nome Endereço Telefone
1 João Antônio Av. Presidente Vargas nº 350
(74)9980-5145
2 Maria Joaquina Rua João das botas nº 101
(74)9130-2221
Exemplo – Banco Agenda de Contatos
Tupla / Registro
Id Nome Endereço Telefone
1 João Antônio Av. Presidente Vargas nº 350
(74)9980-5145
2 Maria Joaquina Rua João das botas nº 101
(74)9130-2221
Exemplo – Banco Agenda de Contatos
Campo / Atributo / Coluna
Conceitos Básicos de ER
• Chave primária (PK)
• Campo que identifica o registro na tabela• Nunca deve ficar em branco• Geralmente é um campo que se auto- incrementa• Seu valor é único na tabela
Id Nome Endereço Telefone
1 João Antônio Av. Presidente Vargas nº 350
(74)9980-5145
2 Maria Joaquina Rua João das botas nº 101
(74)9130-2221
Id é a Pk da tabela de telefones
Conceitos Básicos de ER
Exemplo de Chave Primária
Conceitos Básicos de ER
• Tipos de Chave primária (PK)
• PK simples: apenas um único campo (o mais comum)• PK composta: 2 ou mais campos
• Exemplo: Agencia e Conta Bancária
• Chave única• Assim como a chave primária ela não pode se repetir porém pode
estar em branco
• Chave Estrangeira• Chave primária de outra tabela
em um relacionamento.
Conceitos Básicos de ER
• Esquema conceitual ER:
• Esquema de entidades
• Esquema de relacionamentos
• Definição do domínio
Conceitos Básicos de ER
• Esquema de Entidades
• Descrição de um conjunto de entidades do mesmo tipo, incluindo• O nome para o conjunto• A lista de atributos
Conceitos Básicos de ER
• Esquema de Relacionamentos
• Descrição de um conjunto de relacionamentos do mesmo tipo, incluindo• O nome para o conjunto• A lista de esquema de entidades e seus papeis (se não for definido
um papel assume-se o nome do conjunto)• A lista de atributos
Conceitos Básicos de ER
• Definição do domínio
• Definição do domínio a ser usada ao longo da definição do esquema ER
Conceitos Básicos de ER
Modelo Entidade - Relacionamento
Exemplo de Modelo Conceitual ER
• Estados do BD• Associa a cada esquema de entidades E um conjunto de
entidades s(E).
• Associa a cada conjunto de relacionamentos R entre E1,... En um subconjunto s(R) do produto cartesiano s(E1) x...x s(En)
• Associa cada atributo A de um esquema de entidades ou de relacionamentos S uma função S(A) de s(E) em D
Conceitos Básicos de ER
Modelo Entidade - Relacionamento
Exemplo de Estado de um Banco de Dados
• Notação• Seja
• E um esquema de entidades• K=(K1,...,Km) uma lista de atributos de E• Di o domínio de Ki• s um estado do BD• r uma entidade (ou relacionamento) em s(E)
• Então r[K] = (s(K1),...,s(Km)) denota a tupla de valores dos atributos em K
• (semelhantemente para um esquema de relacionamento)
Conceitos Básicos de ER
Conceitos Básicos de ER
Exemplo
Resolução