Conceitos Básicos de Banco de Dados

Documentos relacionados
Mapeamento: Modelo Entidade Relacionamento para o Modelo Relacional

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

Conceitos Básicos de Banco de Dados

Mapeamento do Modelo Entidade-Relacionamento para o Modelo Relacional

Extensões do Modelo Entidade-Relacionamento

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

Bancos de Dados Aula #2 - Modelos Conceituais de Dados

Bancos (Bases) de Dados Aula #4 Modelo Relacional

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini

MATA60 BANCO DE DADOS Aula 5- Modelo Relacional. Prof. Daniela Barreiro Claro

Modelos Conceituais de Dados

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

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

Abordagem relacional. Capítulo 4

O que é modelo lógico. Tipos de modelo

Modelo Relacional. Relacionamento. Processo de Projeto de. Programa. Modelo Entidade Relacionamento

Revisando Banco de Dados. Modelo Relacional

Modelo Relacional. Banco de Dados 2º trimestre Prof. Patrícia Lucas

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

Banco de dados. Conteúdo: Modelo relacional Prof. Patrícia Lucas

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Gerenciador de Bancos de Dados SQL Server

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

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

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados.

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

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Revisão de Bancos de Dados

GBC043 Sistemas de Banco de Dados

Banco de Dados. Aula 4 - Prof. Bruno Moreno 02/09/2011

MODELAGEM DE DADOS UNIDADE 2 Projeto de Banco de Dados. Luiz Leão

Dependência Funcional e Normalização. Qualidade de um Projeto. Semântica dos Atributos. Dependência Funcional e Normalização

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

MC536. Modelo Relacional

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

P R O J E T O: C A R N A V A L. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Modelo Relacional: Banco de Dados: coleção de relações cada relação tem um nome único.

Modelo Lógico de Dados. Modelo Relacional

Conceitos de Sistemas de Banco de Dados INE 5323

Introdução. Modelo de dados conceitual para o projeto de BD

Generalização/Especialização Opção de mapeamento (8A)

Modelo Entidade Relacionamento Estendido (ERE)

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO PROJETO DE BANCO DE DADOS RELACIONAL. Profº Erinaldo Sanches Nascimento

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

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

Banco de Dados Modelagem de Dados. Prof. Joel da Silva

Modelo Entidade Relacionamento

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Introdução ao Modelo Relacional

Banco de Dados I (MAB489)

Banco de Dados. Aula 6 - Prof. Bruno Moreno 09/09/2011

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1. Prof. Leonardo Vasconcelos

Aula 01 Conceito de Banco de Dados e SGBD

Roteiro da aula. Dependência Funcional e Normalização. Semântica dos Atributos. Qualidade de um Projeto. Dependência Funcional e Normalização

Prof. Fabiano Taguchi

Prof. Fabiano Taguchi

INTRODUÇÃO AO MODELO RELACIONAL

MODELO DE BANCO DE DADOS RELACIONAL

Adriano Maranhão PROFISSIONAIS E ATIVIDADES ENVOLVIDAS EM UM SGBD

Fundamentos de Banco de Dados e Modelagem de Dados

Projeto de Banco de Dados

Arquitetura de um Ambiente de Data Warehousing

Projeto de Banco de Dados

Sistemas de Banco de Dados

GBC043 Sistemas de Banco de Dados

MODELO RELACIONAL Prof.: Jacson Tiola Técnico em Redes de Computadores

PROJETO: CONFERÊNCIA ACADÊMICA. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

Banco de Dados Modelo Relacional, Algebra Relacional, SQL

Ciclo de Desenvolvimento de BD

Modelagem Conceitual parte I

Sistema de Banco de Dados. UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage

2. Conceitos e Arquiteturas de um SGBD

Modelagem Conceitual parte I

Curso: Banco de Dados I. Conceitos Iniciais

Modelo Entidade-Relacionamento. Aécio Costa

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Introdução à Banco de Dados

MODELO RELACIONAL PARTE 2

Parte NORMALIZAÇÃO. As regras mais importantes oferecidas pelo Sistema Gerenciador de Banco de Dados. são:

Banco de Dados e Aplicações em Negócios: Introdução.

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC)

Prof.: Clayton Maciel Costa

Computação Instrumental

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

SQL Linguagem de Definição de Dados

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Professor Carlos Muniz

Sistemas da Informação. Banco de Dados I. Edson Thizon

Faculdade Ieducare 4º Semestre Sistemas de Informação Professor: Rhyan Ximenes

Prof.: Clayton Maciel Costa

Banco de Dados. Modelo de Dados Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

Arquitetura de um Ambiente de Data Warehousing

Transcrição:

Conceitos Básicos de Banco de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

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

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 Profa. Dra. Cristina Dutra de Aguiar Ciferri

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 Profa. Dra. Cristina Dutra de Aguiar Ciferri

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 1 esposa casa nome_pessoa pessoa (código_pessoa, nome_pessoa, código_cônjuge)

Tipo-relacionamento Unário (1:n) supervisionado n empregado 1 supervisiona 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 n tem é 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 n m MÉDICO 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)