Banco de Dados I I Banco de Dados - Conceitos e Definições

Slides:



Advertisements
Apresentações semelhantes
Modelo Relacional e Transformação DER x Relacional
Advertisements

FABAN- UNIESP 2009 Prof. Carlos Alberto Seixas
Base de Dados para a Gestão de Informação de Natureza Pedagógica
Laboratório WEB Professora: Viviane de Oliveira Souza Gerardi.
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Modelo Relacional Renata Viegas.
Evolução dos SGBD’s (2ª Parte).
MODELO RELACIONAL Transparências baseadas no capítulo 3 do livro de KORTH e SILBERCHATZ e capítulo 7 do livro de ELMASRI e NAVATHE Juliana Amaral e Rodrigo.
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
O Modelo E-R Definição: Características
Banco de Dados Microsoft ACCESS Básico
Prof.: Bruno Rafael de Oliveira Rodrigues
SISTEMAS DE INFORMAÇÃO
Sistemas de Informação Redes de Computadores
Modelo Entidade-Relacionamento
Projeto de Banco de Dados
Histórico Etapas da evolução rumo a tomada de decisão:
Maurício Edgar Stivanello
Sistema Gerenciador de Banco de Dados SGBD
Introdução a Bancos de Dados
Professora: Aline Vasconcelos
Profa. Aline Vasconcelos
Prof. Carlos H. Marcondes
FORMAS DE REPRESENTAÇÃO QUE SERVEM PARA DESCREVER AS ESTRUTURAS DAS INFORMAÇÕES CONTIDAS EM UM BD. Modelos de Dados.
Administração de Sistemas de Informação Banco de Dados
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante
Prof. Alfredo Parteli Gomes
SQL Server 2012 Introdução a Modelagem de Dados
Banco de Dados Aplicado ao Desenvolvimento de Software - BDD
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
INTRODUÇÃO ÁS BASES DE DADOS
Profª Daniela TLBD.
Sistemas de Informações Geográficas SIGs.
Banco de dados.
Curso Técnico em Mineração
Contexto da disciplina
A abordagem de banco de dados para gerenciamento de dados
Banco de Dados Aplicado ao Desenvolvimento de Software
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Teste.
TECNOLOGIAS E LINGUAGENS PARA BANCO DE DADOS I
Banco de Dados I I Comandos SQL
Banco de dados 1 Modelagem de Dados Utilizando MER
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Profa. Ana Karina Barbosa Abril/2008
Modelo Relacional Marcelo Mendes Manaus – 2015.
Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional.
Aula 3 – Conceitos de banco de dados relacionais
Projeto de Banco de Dados
B ANCO DE DADOS Modelo Relacional ABTécnico. M ODELOS DE DADOS Apoiando a estrutura de um BD está o modelo de dados: uma coleção de ferramentas conceituais.
B ANCO DE DADOS Introdução ABTécnico. C ONCEITO É uma coleção de dados interrelacionados, representando informações sobre um domínio específico. Exemplos:
Independência dos Dados
Professora: Kelly de Paula Cunha
Projeto de Banco de Dados Ceça Moraes Dezembro/09.
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
Modelagem de Dados Consiste em mapear o mundo real do sistema em um modelo que irá representar a realidade e o relacionamento existente entre os dados.
Modelo Relacional, Chaves e Relacionamentos
Modelo relacional Fundamentos de Banco de Dados
Modelo Relacional Introduzido por Ted Codd, da IBM Research, em Utiliza o conceito de relação matemática. Possui base teórica na teoria dos conjuntos.
 O Modelo E-R (Entidade-Relação)
Modelagem Entidade-Relacionamento (MER)
Banco de Dados I 4P/SI – 2010/02 Prof. Carlos Alberto Seixas.
Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias.
Professor: reno nooblath
Programação para Internet Aula 10 Introdução (Características do BD Relacional e Implementação)
Tecnologias e Linguagens para Banco de Dados I - WEB Prof. João Ricardo Andrêo 29/5/ :40 1 Atividades: 1 - Criar uma base de dados para uma empresa.
Modelagem de Dados Aula 3.
T ABELAS Banco de dados. Banco de dados = Conjunto de dados armazenado eletrônicamente Relação = Conjunto de elementos da mesma estrutura R ELAÇÃO.
Modelagem de Banco de Dados: Conceitos
Universidade de Passo Fundo Tecnologia em Sistemas de Informação TSI109- Fundamentos de Banco de Dados (Restrições de Integridade) Prof. Alexandre Tagliari.
Transcrição da apresentação:

Banco de Dados I I Banco de Dados - Conceitos e Definições Carlos Alberto Seixas

Agenda Revisão dos Conceitos Bancos de Dados e SGBD Comandos SQL - Implementação Práticas

Independência dos Dados A independência dos dados pode ser definida como a imunidade das aplicações à estrutura de armazenamento e à estratégia de acesso às informações;

Exemplo Num SGBD é possível incluir novos campos em uma tabela, dividir uma tabela em duas outras ou ainda unir duas tabelas em uma, criar e destruir índices sem que as aplicações sejam afetadas a não ser em alguns casos específicos;

Abstração de Informação “Habilidade mental que permite aos seres humanos visualizarem os problemas do mundo real com vários graus de detalhe, dependendo do contexto do problema.”

Abstração dos Dados O grande objetivo dos SGBDs é fornecer ao usuário uma visão simplificada dos dados, escondendo toda a complexidade do armazenamento de dados em níveis de abstração que simplificam o acesso às informações;

Níveis de abstração A arquitetura de um banco de dados divide-se em três níveis de abstração: Físico (ou interno), Conceitual Visões (ou externo).

Nível Físico ou interno Este é o nível mais baixo de abstração e descreve como os dados estão realmente armazenados; Neste nível, complexas estruturas de dados e programas trabalham para fornecer informações aos dois outros níveis de forma transparente.

Nível Conceitual Descreve quais dados estão de fato armazenados no banco de dados e as relações que existem entre eles; Os usuários deste nível não precisam se preocupar quanto à forma com que os dados são armazenados no nível físico; O nível conceitual é usado por administradores de bancos de dados que especificam quais informações devem fazer parte do banco de dados e usuários avançados.

Nível de Visões ou Externo É a forma como geralmente os usuários finais vêem as informações contidas no banco de dados; O nível mais alto de abstração é composto de inúmeras visões do mesmo banco de dados; Isto se deve ao fato de que muitos usuários não estão interessados em todas as informações contidas no banco de dados; Em vez disso, precisam apenas de uma parte destas informações; O nível de visões é definido para simplificar a interação entre o usuário final e o banco de dados.

Nível Físico Níveis de Abstração Nível de Visão 1 Nível de Visão 2 3 Nível Conceitual Nível Físico

As Três Abordagens Clássicas O usuário vê o banco de dados segundo um modelo de visões; O modelo de visões e o modelo conceitual são bastante semelhantes, as vezes idênticos; Portanto os conceitos aplicados aqui servem tanto para o nível conceitual quanto para o de visões; Abordagem Relacional; Abordagem Hierárquica; Abordagem em Rede

A Abordagem Hierárquica Esta seção e as seguintes são baseadas em um banco de dados contendo as entidades: Filial, Departamento e Funcionário. Na abordagem hierárquica, como o próprio nome já diz, os dados são organizados de acordo com níveis hierárquicos preestabelecidos; Os primeiros bancos de dados estão baseados nesta abordagem. Segundo Date, “um banco de dados hierárquico, compõe-se de um conjunto ordenado de árvores – mais precisamente, de um conjunto ordenado de ocorrências múltiplas de um tipo único de árvore”.

A Abordagem Hierárquica Na abordagem hierárquica, podemos ver o banco de dados como um único arquivo organizado em níveis. O nível superior que contém a filial é chamado de raiz. Qualquer acesso ao banco de dados deve ser feito a partir dele; Em geral, a raiz pode ter qualquer quantidade de dependentes, e estes, qualquer quantidade de dependentes de nível mais baixo

001 - Curitiba 001- Comercial 002- Administrativo 001- João 002- Antonio

A Abordagem em Rede No modelo em rede as informações são representadas por uma coleção de registros e o relacionamento entre elas é formado através de ligações (link); Extensão do modelo hierárquico; É uma relação membro-proprietário, na qual um membro pode ter muitos proprietários. Em um bd estruturado como um modelo em rede há freqüentemente mais de um caminho para acessar um determinado elemento de dado. A principal diferença entre a abordagem hierárquica e a em rede é que um registro-filho tem exatamente um pai na abordagem hierárquica, enquanto na estrutura de rede um registro-filho pode ter qualquer número de pais.

001- Comercial 003- Industrial 001 - João 001- Londrina 002- Antonio 002- Curitiba 002 - Administrativo 003- Industrial 001- Comercial 001 - João 002- Antonio 003- Pedro 004- Maria

A Abordagem Relacional Um banco de dados relacional consiste em uma coleção de tabelas, cada uma designada por um nome único. Tabelas Uma tabela é uma representação bi-dimensional de dados composta de linhas e colunas; Uma tabela de alunos de uma escola é apresentada a seguir.

Aluno Num-Matricula Nome-Aluno Sexo-Aluno 1 Maria F 2 João M 3 Pedro 4 Carla 5 Sandra Regras: Nomes de tabelas devem ser únicos no banco de dados; De preferência a nomes curtos.

Atributos ou Colunas Considerando a tabela Aluno; Ela tem três colunas Num_Matrícula, Nome_Aluno e Sexo_Aluno; A cada uma destas colunas damos o nome de atributo; Um nome de atributo deve ser único em uma tabela e dizer exatamente o tipo de informação que ele representa.

Atributos ou Colunas Regras: Uma coluna (atributo) não segue um ordenamento especifico; Nome de uma coluna deve expressar exatamente o que armazena; Sempre que possível utilizar prefixos padronizados, Cod-Dept, Nome-Funcionário, Qtde-Estoque

Linhas, Registros ou Tuplas A tabela Aluno possui cinco registros; Cada registro representa um relacionamento entre um conjunto de valores; A este relacionamento damos o nome de registro, linha ou ainda Tupla; Cada linha da tabela é única e possui um atributo identificador (Num_Matrícula); Este atributo identificador é chamado de chave primária. Regras: Em uma tabela não devem existir linhas duplicadas; As linhas de uma tabela não seguem uma ordem especifica.

Domínio A tabela Aluno possui três atributos; Para cada atributo existe um conjunto de valores permitidos chamado domínio daquele atributo; Para o atributo Num_Matrícula o domínio é o conjunto de números naturais; Para o atributo Nome_Aluno o domínio é qualquer nome válido; Enquanto que para Sexo_Aluno o domínio são os mnemônicos M ou F.

Chave Primaria Uma chave primária ou chave candidata é uma coluna ou um grupo de colunas que assegura a unicidade das linhas dentro de uma tabela; Uma chave primária que tenha mais de uma coluna é chamada de chave primária composta; Chaves primárias são geralmente indicadas pela sigla PK (primary key) imediatamente abaixo do cabeçalho da coluna apropriada. Veja os exemplos:

Cod-Empregado é uma chave simples ou compacta Cod-Empregado Cod-Dept Nome-Empregado Tel-Empregado PK Cod-Empregado é uma chave simples ou compacta Salário Cod-Empregado Cod-Dept Salario PK A combinação das colunas Cod-Empregado e Cod-Dept formam uma chave primaria composta.

Regras Valores de chave primária não podem ser nulos (NN – Not Null): Um valor nulo é uma lacuna em uma coluna de uma tabela. Valores de chaves primarias não podem ser nulos porque uma linha sem chave primaria não se distingue de outras linhas da mesma tabela; Colunas com chaves primarias não podem ter valores duplicados (ND – No Duplicate): Um valor duplicado é um valor exatamente igual a outro de uma ou mais linhas da mesma coluna na mesma tabela; Se a coluna possui valores duplicados esta não pode servir de identificador da linha;

Regras Chaves primarias não podem ser alteradas (NC – No Change): O conteúdo de uma chave primaria não pode sofrer alterações.

Recomendações Selecione chaves primarias absolutamente disciplinadas e que permaneçam únicas; Selecione chaves primarias que não tenham qualquer tendência a alterações; Se possível seleciona chaves primarias simples; De preferência a colunas numéricas para chaves primarias; Selecione chaves primarias que sejam familiares; Se não houver nenhuma coluna com chave primaria candidata, utilize chaves primarias atribuídas pelo sistema.

Chave Estrangeira Uma chave estrangeira é uma coluna ou grupo de colunas que pode ou não ser chave primária da tabela em questão, mas, com certeza é chave primária de outra tabela; Uma chave estrangeira formada por mais de uma coluna é chamada de chave estrangeira composta. Chaves estrangeiras são indicadas pela sigla FK (Foreign Key) abaixo do cabeçalho da coluna apropriada.

Cod-Dept Nome-Dept PK Cod-Empregado Nome-Empregado Cod-dept PK FK Departamento Cod-Dept Nome-Dept PK Empregado Cod-Empregado Nome-Empregado Cod-dept PK FK

Cliente Cod-Cliente Nome-Cliente PK Cod-Produto Nome-Produto Qtde-Estoque PK Venda Cod-Cliente Cod-Produto Qtde-Pedida PK+ FK

Restrições de Integridade Um dos principais objetivos de um SGBD é a integridade dos dados. Um banco de dados íntrego é um banco que reflete corretamente a realidade representada pelo banco de dados. Para garantir a integridade de um banco de dados os SGBD oferecem o mecanismo de restrição de integridade.

Restrições de Integridade Uma regra que deve ser obedecida em todos estados válidos da base de dados (pode envolver uma ou mais linhas de uma ou mais tabelas).

Restrições de Integridade Na abordagem relacional, costuma-se classificar as restrições em quatro categorias: Integridade de domínio: Especificam qual valor um atributo pode admitir; Ex.: numero inteiro, valores alfanuméricos, data.... O atributo nome_cliente e nome_empregado podem ter o mesmo domínio: o conjunto de todos os nomes de pessoas, campo alfanumérico tamanho 40.

Restrições de Integridade Integridade de vazio: Especificam se os atributos podem ou não serem vazios, isto é, se podem conter valores nulos. Integridade de Chave: Valores da chave primaria (PK) devem ser únicos. Integridade Referencial: Os valores que aparecem nos atributos em uma chave estrangeira devem aparecer na chave primaria da tabela referenciada.

Restrições de Integridade Todas essas restrições são garantidas automaticamente pelo SGBD. As restrições que não se encaixam em nenhuma das categorias acima são chamadas de restrições semânticas, isto é, restrições criadas pelo programador. Ex.: Um empregado do departamento “Finanças” não pode ter a categoria funcional “Engenheiro”... Um empregado não pode ter salário maior que seu superior imediato.

Regras Entidades têm existência própria e não são subordinadas a qualquer outra coisa; Entidades podem ser concretas ou abstratas; Informações sobre entidades, tais como o nome de uma pessoa, não são consideradas entidades, mas sim, atributos de entidades.

Atributos Atributos nulos. É usado quando uma entidade não possui valor para um determinado atributo. Ex.: se um empregado não possui dependentes, o valor do atributo nome_dependente para esse dependente será nulo, ou que o valor do atributo é desconhecido. Atributo derivado. O valor de um atributo pode ser derivado do valor de outros atributos. Ex. o valor do atributo tempo_de_casa pode ser derivado do valor do atributo data_contratação e da data_corrente.