Conceitos Básicos de Banco de Dados



Documentos relacionados
Mapeamento: Modelo Entidade Relacionamento para o Modelo Relacional

Profa. Daniela Barreiro Claro

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Modelo de Dados. Modelos Conceituais

Disciplina de Banco de Dados Parte V

Modelo de Dados. Modelo para organização dos dados de um BD

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Persistência e Banco de Dados em Jogos Digitais

Modelo Relacional. Aécio Costa

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

MODELO RELACIONAL - UFMA

Projeto de Banco de Dados

Banco de Dados I. 1. Conceitos de Banco de Dados

Disciplina de Banco de Dados Introdução

Prof.: Clayton Maciel Costa

Prof. Alexandre Unterstell Banco de Dados I

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian

Prof.: Clayton Maciel Costa

Modelo Entidade-Relacionamento DCC011. Modelo Entidade-Relacionamento. Processo de Projeto de Bancos de Dados

Introdução. Motivação. Sistema Gerenciador de Banco de Dados (SGBD) Banco de Dados (BD) Sistema de Banco de Dados (SBD)

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Curso Superior de Tecnologia em BD

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Bancos de Dados Aula #3 MER Estendido

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Prof.: Clayton Maciel Costa

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Bancos (Bases) de Dados Aula #5 - Projeto do BD Relacional pelo

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Modelos. Comunicação com clientes

Bancos de Dados Aula #1 - Introdução

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

CICLO DE VIDA DE UM BD

Modelos de Dados e Arquitetura de um SGBD. Introdução 1º Bimestre Prof. Patrícia Lucas

Revisão de Banco de Dados

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Introdução Banco de Dados

CEFET.PHB - PI. Plano de Ensino. Banco de Dados. Plano de Ensino. Plano de Ensino. Plano de Ensino - Conteúdo. Plano de Ensino - Conteúdo

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

Introdução à Banco de Dados. Definição

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

SISTEMA GERENCIADOR DE BANCO DE DADOS

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Mapeamento do Modelo Entidade-Relacionamento para o Modelo Relacional

Apresentação. Unimar - Universidade de Marília F.C.T.

GBD PROF. ANDREZA S. AREÃO

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

MC536 Bancos de Dados: Teoria e Prática

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Docente: Éberton da Silva Marinho

Sistemas Gerenciadores de Bancos de Dados

Banco de Dados Lista de Exercícios 01

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

Faculdade Lourenço Filho - ENADE

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Aula 3 SBD Modelo Entidade Relacionamento Parte 1. Profa. Elaine Faria UFU

Banco de Dados 1 2º Semestre

MODELAGEM DE DADOS. Unidade II Arquiteturas do SGBD

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

GBC043 Sistemas de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva UFU/FACOM

BANCO DE DADOS I AULA 3. Willamys Araújo

1) O QUE NÃO É BANCO DE DADOS?

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Introdução a Banco de Dados. Adão de Melo Neto

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

Modelo Relacional. Modelo Relacional. Tabelas

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

Sistemas Gerenciadores de Bancos de Dados

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

Banco de Dados - Senado

LINGUAGEM DE BANCO DE DADOS

MODELAGEM DE DADOS. Banco de Dados I. O uso da análise e do projeto Orientados a Objetos atenuou a separação! Unidade I

Modelo Entidade-Relacionamento

GBC043 - Sistemas de Banco de Dados Mapeamento ER, EER para o Relacional

Ciclo de vida de um banco de dados relacional

Ciclo de Desenvolvimento de Sistemas de BD

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr waltenomartins@yahoo.

Transcrição:

Conceitos Básicos de Banco de Dados Laboratório de Bases de Dados

Sistema de Banco de Dados (SBD) Sistema de armazenamento de dados Objetivos: manter informações torná-las disponível quando necessário Armazenamento não volátil Componentes: banco de dados sistema gerenciador de banco de dados usuários hardware

Sistema de Banco de Dados (SBD) programas de aplicação e usuários finais Sistema Gerenciador de Banco de Dados (SGBD) Banco de Dados + hardware

Banco de Dados (BD) Depósito de dados armazenados Os dados devem ser logicamente coerentes Uma coleção randômica não é um BD SGBD BD1 BD2 BD3 BD4

Sistema Gerenciador de Banco de Dados (SGBD) Coleção de programas para: criar manter o banco de dados Camada existente entre os dados e os usuários Isola os usuários dos detalhes de hardware Atende às solicitações dos usuários

Sistema Gerenciador de Banco de Dados (SGBD) Recursos: adição de novos arquivos inserção de dados recuperação de dados atualização dos dados eliminação dos dados criação de visões atribuição de privilégios...

Usuários Administrador do BD coordena e monitora o uso do BD tem conhecimento total do BD Projetista do BD identifica os dados a serem armazenados no BD escolhe as estruturas apropriadas para representar e armazenar esses dados Programador de aplicações escreve os programas aplicativos Usuário final

Hardware Volumes de armazenamento secundário Dispositivos de entrada e saída Canais de entrada e saída Controladores de dispositivos Processador + memórias associadas... ULA registradores unidade de controle

Arquitetura de Três Níveis visão_1 visão_2 visão_n nível conceitual nível físico Arquitetura ANSI-X3-SPARC

Arquitetura de Três Níveis Objetivo separar as aplicações dos usuários do BD físico prover uma visão abstrata dos dados Três níveis de abstração organização física dos dados esquema interno organização lógica global dos dados esquema conceitual organização lógica particular dos dados esquema externo (visão)

Arquitetura de Três Níveis Esquema interno dados armazenados na memória secundária contém definições de estruturas de dados e mecanismos de acesso Esquema conceitual definição do conteúdo da informação utiliza o conceito de modelo de dados independe de estruturas de dados e mecanismos de acesso Esquema externo usuário apenas vê parte dos dados visões: também chamadas de subesquemas

Instância Instâncias e Esquemas coleção de informações armazenadas no BD em um determinado momento também chamado de extensão do BD sofre alterações constantemente Esquema projeto do BD, incluindo as entidades e os relacionamentos entre estas também chamado de intenção do BD não sofre alterações com freqüência

Estado do Banco de Dados Os dados armazenados em um BD em um determinado momento Estado vazio após a criação do BD Estado inicial após o povoamento (ou carregamento) do BD com os dados iniciais Novo estado após cada operação realizada nos dados do BD Estado atual estado do BD em um determinado momento

Projeto de Banco de Dados Laboratório de Bases de Dados

Projeto de Banco de Dados Objetivo da abordagem de BD oferecer abstração dos dados separar aplicações dos usuários dos detalhes de hardware ferramenta utilizada modelo de dados Modelo de dados conjunto de ferramentas conceituais para a descrição dos dados, dos relacionamentos existentes entre os dados, da semântica e das restrições que atuam sobre estes

Modelos de Dados: Categorias Divisão baseada nos tipos de conceitos oferecidos pelo modelo para descrever a estrutura do banco de dados Modelo de dados conceitual modelo de alto nível oferece conceitos próximos aos usuários Modelo Entidade-Relacionamento (ER)

Modelos de Dados: Categorias Modelo de dados de implementação oferece conceitos que podem ser facilmente utilizados por usuários finais não estão distantes da forma na qual os dados estão organizados no computador é implementado de maneira direta Modelo Relacional

Modelos de Dados: Categorias Modelo de dados físico modelo de dados físico descreve como os dados estão armazenados fisicamente no computador SGBDR (Sistema Gerenciador de Banco de Dados Relacional) Oracle

Projeto de Banco de Dados minimundo independe do SGBD depende do SGBD conjunto de necessidades esquema conceitual esquema em linguagem de implementação análise de requisitos projeto conceitual mapeamento projeto físico Modelo ER Modelo Relacional Modelo ER Modelo Relacional

Modelo Relacional Relação esquema R: utilizada para descrever uma relação denotada por R(A 1, A 2,..., A n ) formada por um nome de relação R uma lista de atributos A 1, A 2,..., A n para cada atributo A i (1 i n) dom(a i ): domínio de A i domínio: conjunto de valores atômicos caracteriza a intenção do BD

Modelo Relacional Relação r da relação esquema R(A 1, A 2,..., A n ) representa a instância da relação denotada por r(r) formada por um conjunto de n-tuplas r = {t 1, t 2,..., t m } cada n-tupla t é uma lista de n valores t = <v 1, v 2,..., v n > v i (1 i n) é um elemento de dom(a i ) ou um valor nulo (i.e., null) caracteriza a extensão do BD

Restrições sobre uma Relação Domínio dentro de cada tupla, o valor de cada atributo A deve ser um valor atômico de dom(a) Chave primária identifica de forma única cada tupla da relação Valor nulo permitido: null (default) não permitido: not null Integridade de entidade nenhum valor de chave primária pode ser nulo

Restrições entre duas Relações Integridade referencial mantém a consistência entre as tuplas nas duas relações declara que uma tupla em uma relação, a qual faz referência a uma outra relação, deve se referir a uma tupla existente nessa segunda relação definida entre a chave estrangeira (FK) de uma relação esquema R 1 e a chave primária (PK) de uma relação esquema R 2

Restrições entre duas Relações FK de R 1 é chave estrangeira de R 1, que faz referência à PK de R 2, se: os atributos de FK têm os mesmos domínios que os atributos de PK um valor de FK em uma tupla t 1 do estado corrente de r 1 (R 1 ) ocorre como um valor de PK para alguma tupla t 2 no estado corrente r 2 (R 2 ) ou tem o valor null

Aspectos Adicionais Opções para remoção/atualização CASCADE SET NULL SET DEFAULT

Mapeamento do Modelo Entidade-Relacionamento para o Modelo Relacional Laboratório de Bases de Dados

Tipo-Entidade Forte EMPREGADO CPF_empregado nome_empregado empregado (CPF_empregado, nome_empregado)

Tipo-Entidade Fraca CPF_empregado nome_empregado EMPREGADO 1 possui n DEPENDENTE nome_dependente sexo_dependente empregado (CPF_empregado, nome_empregado) dependente (CPF_empregado, nome_dependente, sexo_dependente)

Tipo-Relacionamento (1:1) CPF_empregado nome_empregado EMPREGADO 1 gerencia 1 DEPARTAMENTO sigla_depto nome_depto empregado (CPF_empregado, nome_empregado, sigla_depto) departamento (sigla_depto, nome_depto, CPF_empregado) empregado (CPF_empregado, nome_empregado) departamento (sigla_depto, nome_depto, CPF_empregado) empregado (CPF_empregado, nome_empregado, sigla_depto) departamento (sigla_depto, nome_depto)

Tipo-Relacionamento (1:1) CPF_empregado nome_empregado EMPREGADO 1 gerencia 1 DEPARTAMENTO sigla_depto nome_depto - não pode existir departamento sem gerente - pode existir empregado que não gerencia o departamento empregado (CPF_empregado, nome_empregado) departamento (sigla_depto, nome_depto, CPF_empregado) - entidades de departamento: participação total - entidades de empregado: participação parcial

Tipo-Relacionamento (1:n) EMPREGADO n 1 trabalha DEPARTAMENTO CPF_empregado nome_empregado sigla_depto nome_depto empregado (CPF_empregado, nome_empregado, sigla_depto) departamento (sigla_depto, nome_depto)

Atributo de Tipo-Relacionamento (1:1 e 1:n) EMPREGADO n 1 trabalha DEPARTAMENTO CPF_empregado nome_empregado data_início sigla_depto nome_depto empregado (CPF_empregado, nome_empregado, sigla_depto, data_início) departamento (sigla_depto, nome_depto)

Tipo-Relacionamento (m:n) EMPREGADO m desenvolve n PROJETO CPF_empregado nome_empregado horas_trabalhadas nro_projeto nome_projeto empregado (CPF_empregado, nome_empregado) projeto (nro_projeto, nome_projeto) desenvolve (CPF_empregado, nro_projeto, horas_trabalhadas)

Tipo-relacionamento Unário (1:1) marido 1 pessoa código_pessoa casa 1 esposa nome_pessoa pessoa (código_pessoa, nome_pessoa, código_cônjuge)

Tipo-relacionamento Unário (1:n) supervisionado n empregado supervisiona 1 supervisor código_emp nome_emp empregado (código_emp, nome_emp, código_supervisor)

Tipo-relacionamento Unário (m:n) tem como pré-requisito m disciplina tem n é pré-requisito código_disc nome_disc disciplina (código_disc, nome_disc) pré_requisito (código_disc, código_pré_requisito)

Tipo-relacionamento Ternário tipo-entidade_a x chave-a atributos_a y ABC z chave-b atributos_b tipo-entidade_b tipo-entidade_c chave-c atributos_c tabelas relativas aos tipos-entidade tipo-entidade_a (chave-a, atributos_a) tipo-entidade_b (chave-b, atributos_b) tipo-entidade_c (chave-c, atributos_c) + ABC (chave-a, chave-b, chave-c) + integridade referencial

Generalização/Especialização EMPREGADO CPF_empregado nome_empregado tipo_empregado SECRETÁRIO TÉCNICO ENGENHEIRO idioma grau_técnico tipo_engenheiro empregado (CPF_empregado, nome_empregado, tipo_empregado) secretário (CPF_empregado, idioma) técnico (CPF_empregado, grau_técnico) engenheiro (CPF_empregado, tipo_engenheiro)

Outras Formas de Mapeamento EMPREGADO CPF_empregado nome_empregado tipo_empregado SECRETÁRIO TÉCNICO ENGENHEIRO idioma grau_técnico tipo_engenheiro secretário (CPF_empregado, nome_empregado, idioma) técnico (CPF_empregado, nome_empregado, grau_técnico) engenheiro (CPF_empregado, nome_empregado, tipo_engenheiro)

Outras Formas de Mapeamento EMPREGADO CPF_empregado nome_empregado tipo_empregado SECRETÁRIO TÉCNICO ENGENHEIRO idioma grau_técnico tipo_engenheiro empregado (CPF_empregado, nome_empregado, tipo_empregado, idioma, grau_técnico, tipo_engenheiro)

Outras Formas de Mapeamento EMPREGADO CPF_empregado nome_empregado tipo_empregado SECRETÁRIO TÉCNICO ENGENHEIRO idioma grau_técnico tipo_engenheiro empregado (CPF_empregado, nome_empregado) SeTeEn (CPF_empregado, idioma, grau_técnico, tipo_engenheiro, tipo_empregado)

Atributo Tipo-Empregado Atributo único tipo-empregado assume valores diferentes, de acordo com o tipo do empregado Diversos atributos tipo_emps, tipo_empt, tipo_empe,... cada um dos atributos assume valor 0 ou 1, de acordo com o tipo do empregado abordagem muito mais flexível, principalmente para hierarquias com restrição de sobreposição

Agregação CPF_pessoa CGC_univ nome_pessoa data_ingresso nome_univ PESSOA n ingressa m UNIVERSIDADE ALUNO m orienta n PROFESSOR CPF_professor nome_professor

Mapeamento pessoa (CPF_pessoa, nome_pessoa) universidade (CGC_univ, nome_univ) ingressa/aluno (CPF_pessoa, CGC_univ, data_ingresso) professor (CPF_professor, nome_professor) orienta (CPF_pessoa, CGC_univ, CPF_professor)

Agregação CMR_médico hora data + CPF_paciente nome_médico nome_paciente MÉDICO n atende m PACIENTE ATENDIMENTO médico (CRM_médico, nome_médico) paciente (CPF_paciente, nome_paciente) atendimento (CRM_médico, CPF_paciente, data, hora)

Agregação CMR_médico hora data + CPF_paciente nome_médico nome_paciente MÉDICO n m atende obs ATENDIMENTO médico (CRM_médico, nome_médico) PACIENTE paciente (CPF_paciente, nome_paciente) atendimento (CRM_médico, CPF_paciente, data, hora) atende (CRM_médico, CPF_paciente, obs)

Agregação CMR_médico hora data + CPF_paciente nome_médico nome_paciente MÉDICO n atende m PACIENTE obs ATENDIMENTO médico (CRM_médico, nome_médico) nro_atendimento paciente (CPF_paciente, nome_paciente) atendimento (CRM_médico, CPF_paciente, data, hora, nro_atendimento) atende (CRM_médico, CPF_paciente, obs)