500 likes | 619 Views
Apresentação da Disciplina. Disciplina: Banco de Dados Conteúdo Programático e Material Didático: Ftp://ftp.unilins.edu.br/wesley Link Banco de Dados Arquivo: apostilaBD.zip Parte1PS.zip Introdução Modelo Entidade e Relacionamento Enunciados de Exercícios Parte2PS.zip
E N D
Apresentação da Disciplina • Disciplina: Banco de Dados • Conteúdo Programático e Material Didático: • Ftp://ftp.unilins.edu.br/wesley Link Banco de Dados • Arquivo: apostilaBD.zip • Parte1PS.zip • Introdução • Modelo Entidade e Relacionamento • Enunciados de Exercícios • Parte2PS.zip • Modelo Relacional • Álgebra Relacional • Parte3PS.zip • SQL • Parte4PS.zip • Teoria de Normalização • Parte5PS.zip • Conceitos Avançados sobre Modelagem de Dados • BDOO.ps • Banco de Dados Orientado a Objetos • Aulas Práticas
Introdução • Banco de Dados (ou Base de Dados) • é uma coleção de dados relacionados, organizada e armazenada de forma a possibilitar fácil manipulação, incluindo alterações, inserções, remoções e consultas. • Sistema Gerenciador de Bancos de Dados (SGBDs) • conjunto de programas computadorizados que possui uma gama de funções pré-implementadas que gerenciam as operações de inserção, remoção, atualização e consultas dos dados armazenados. • Sistema de Banco de Dados (SBD) • SGBDs + BDs
Introdução • Um SBD busca oferecer: • Rapidez • Disponibilidade Total • Flexibilidade • Integridade • Componentes de um SBD: • Dados • Hardware • Softwares – SGBDs • Usuários • Programadores de aplicações • Usuários Finais • DBA (administrador de banco de dados)
Introdução • Vantagens de se utilizar um Banco de Dados (BD): • Redução de Redundância • Duplicação de dados • Propagação de atualizações • Evitar Inconsistência • Concorrência entre aplicações • Dados podem ser compartilhados de forma controlada • Segurança
Introdução • Pode-se afirmar que quase todas as vantagens e propriedades de um banco de dados são possíveis graças à forma como são esquematizados e estruturados os seus dados. • Esse esquema é elaborado segundo um Modelo de Dados. • Pode-se dividir a arquitetura de um BD em três níveis: • Esquema Interno: • Estrutura de armazenamento físico • Detalhes do armazenamento, caminhos de acesso, etc. • Esquema Conceitual: • Estrutura do banco (descrição das entidades, tipos de dados, relacionamentos, operações de usuários, restrições). • Esquema Externo: • Visões de usuários
Introdução • Essa estrutura em níveis permite a independência de dados. • Independência Lógica de dados – é a capacidade de se alterar o esquema conceitual sem ter que alterar o esquema externo. • Independência Física de dados – é a capacidade de se alterar o esquema interno sem ter que alterar o esquema conceitual ou externo.
Introdução • Esquema • É a descrição de um banco de dados. • Instância de um banco de dados • Os dados que estão armazenados em um determinado momento de tempo no banco de dados constituem uma Instância do banco de dados.
Modelo Entidade e Relacionamento - MER • Peter Chen 1976. • Representação dos dados do mundo real através de: • Entidades • Relacionamentos • Atributos (propriedades das entidades ou dos relacionamentos) • Entidades – conjunto de “coisas” que possuem características comuns (atributos comuns). • Instância – atribuição de valores para os atributos de uma entidade. • Cada atributo deve ser definido como pertencente a um domínio. • Atributo Monovalorado • Atributo Multivalorado • Atributo Derivado • Atributo ou Atributos Chave
Modelo Entidade e Relacionamento - MER • Entidades – conjunto de “coisas” que possuem características comuns (atributos comuns). Entidade CIC = 24.356.732-2 Nome = Luiza Pessoa Sexo = F Atributos Idade = 20 Altura = 1.70
Modelo Entidade e Relacionamento - MER • Relacionamentos – relação entre as entidades • Representam associações entre duas ou mais entidades • Indicam rica semântica • Essa semântica é expressa através de vários conceitos, por exemplo: cardinalidade. • Grau de relacionamento – indica quantas entidades estão por um mesmo relacionamento. • Alguns tipos de Relacionamentos: • 1 para 1 • 1 para N • N para 1 • N para N • Auto-relacionamento • Ternário ... • Mostrar Notação (simbologia). • O Modelo de Entidade e Relacionamento é utilizado pela Análise Essencial e Projeto Estruturado de Sistemas através de seus seguintes diagramas: DER e DED.
Modelo Entidade e Relacionamento - MER • Relacionamentos – relação entre as entidades N 1 Empresa Empregado Trabalha em É feito com / Fornecido por N N Projeto Fornecedor N Peça
Modelo Entidade e Relacionamento - MER • Relacionamentos – relação entre as entidades N N Disciplina Estudante matricula Nome Data Sigla
Modelo Entidade e Relacionamento - MER • Relacionamentos – relação entre as entidades N Pré-req de Disciplina Pré-req Pré-req é N N compra assessora Empresa Promove N vende N
Modelo Entidade e Relacionamento - MER • Exemplo de modelagem utilizando o MER
Modelo Entidade e Relacionamento Estendido – ME-RX O Modelo ER, proposto por Peter Chen em 1976, originalmente incluía somente os conceitos de entidade, relacionamento e atributos; posteriormente outros conceitos foram introduzidos no modelo, tais como: • Atributos compostos • Refinamento do conceito de cardinalidade – Multiplicidade (mínima e máxima) • Abstração de Generalização • Abstração de Agregação
Modelo Entidade e Relacionamento Estendido – ME-RX • Atributos Compostos • Um atributo composto representa um grupo de atributos que possuem uma afinidade em significado ou uso. • Refinamento do conceito de cardinalidade – Multiplicidade (mínima e máxima) • Cardinalidade de atributo: Cardinalidade máxima do atributo maior que 1 indica que o atributo é multivalorado.
Modelo Entidade e Relacionamento Estendido – ME-RX • Cardinalidade de uma Entidade em um Relacionamento
Modelo Entidade e Relacionamento Estendido – ME-RX • Abstração de Agregação Correntista N N C/C Cliente tem Nome Número concessão Código Cartão
Modelo Entidade e Relacionamento Estendido – ME-RX • Abstração de Generalização (hierarquia de Generalização)
Modelo Entidade e Relacionamento Estendido – ME-RX • Propriedades de Cobertura da Generalização • Cobertura TOTAL ou PARCIAL
Modelo Entidade e Relacionamento Estendido – ME-RX • Propriedades de Cobertura da Generalização • Cobertura EXCLUSIVA ou OVERLAPPING (de SOBREPOSIÇÃO)
Modelo Entidade e Relacionamento Estendido – ME-RX • Propriedades de Cobertura da Generalização • Para denotar o tipo de cobertura de uma hierarquia de generalização será usada a seguinte notação: • (t,e) – cobertura total e exclusiva • (t,o) – cobertura total e overlapping • (p,e) – cobertura parcial e exclusiva • (p,o) – cobertura parcial e overlapping
Projeto de Banco de Dados • O projeto de um banco de dados é decomposto em: Projeto Conceitual, Projeto Lógico e Projeto Físico.
Projeto de Banco de Dados • Esquema Conceitual • Descrição em alto nível da estrutura do BD • Independente do SGBD • Um Modelo Conceitual é utilizado para descrever o esquema conceitual (utiliza recursos do MER e ME-RX) • Deve expressar o máximo de semântica envolvida • Fase mais crítica do projeto do BD • Esquema Lógico • Descrição da estrutura do BD que pode ser processada por um SGBD • Esquema Físico • É uma descrição da implementação do BD em memória secundária, descreve a estrutura de armazenamento e métodos de acesso. • O esquema físico é direcionado para um SGBD específico. • Decisões tomadas durante o projeto físico, para melhorar o desempenho, podem afetar a estrutura do esquema lógico
Modelo Relacional (MR) O Modelo Relacional foi apresentado por Codd em 1970. • Os dados são vistos como armazenados em “tabelas” • Uma “tabela” é chamada relação • Uma linha em uma relação representa uma instância, recebendo o nome de tupla • Uma tupla é composta de valores designados atributos • Cada atributo possui seu domínio de atributo • Toda tupla é distinguida das outras através de uma chave • Grau de uma relação é o número de atributos que essa relação possui • Toda essa conceituação têm suas definições baseadas na Teoria Relacional
Modelo Relacional (MR) Exemplo: “tabela” ou Relação Vôos
Modelo Relacional (MR) Exemplo: Atributos Grau da relação = 5
Modelo Relacional (MR) Exemplo: Tupla
Modelo Relacional (MR) Exemplo: Chave
Modelo Relacional (MR) Exemplo: Chave Atributos Tupla “tabela” ou Relação
Modelo Relacional (MR) • Esquemas de Banco de Dados Relacional • Uma base de dados relacional é composta pelas instâncias das suas relações (tabelas), e uma relação (tabela) instanciada é composta por instâncias de suas tuplas (registros) • Um banco de dados relacional usualmente contém muitas relações, com tuplas nas relações que estão relacionadas de várias formas • Restrições de Integridade • Restrições de Integridade são regras a respeito dos valores que podem ser armazenados nas relações e que devem ser sempre satisfeitas, em quaisquer das relações do banco de dados • Existem três restrições consideradas necessárias para um banco de dados relacional: Restrição de Unicidade de Chave, Restrição de Integridade da Entidade e Restrição de Integridade Referencial
Modelo Relacional (MR) • Restrição de Unicidade de Chave • Uma chave primária não pode ter o mesmo valor em duas tuplas distintas da mesma relação • Restrição de Integridade da Entidade • A chave primária de qualquer relação não pode ter valor nulo em nenhuma tupla da relação • Restrição de Integridade Referencial • Envolve duas relações e o conceito de chave estrangeira • É usada para manter a consistência entre tuplas de duas relações
Modelo Relacional (MR) • Existem outra classe de restrições gerais, algumas vezes chamadas de restrições de integridade semântica, que devem ser especificadas e garantidas em um banco de dados relacional. • Exemplo: • “o salário de um empregado não deve exceder o salário de seu supervisor” • “o número máximo de horas que um empregado pode trabalhar em todos os projetos, por semana, é 56”
Mapeamento • MER/ME-RX para MR (Modelo Relacional) gerando o Esquema Lógico para o BD Relacional • Ou ainda DER/DED (representado esquema conceitual) para Esquema Lógico (projeto de BD) • Relacionamento N para 1 e 1 para N • Relacionamento 1 para 1 • Relacionamento N para N • Relacionamento Ternário • Auto-Relacionamento • Hierarquia de Agregação • Hierarquia de Herança • Atributos Compostos e MultiValorados
Mapeamento • Relacionamento N para 1 e 1 para N N 1 Empresa Empregado Trabalha em (1,1) (1,N) @Identificador @Numero NomeFantasia Nome Empresa Empregado @Identificador @Numero #Identificador Banco de Dados X Tabela Empregado Tabela Empresa @Numero Int 04 @Identificador Int 03 Nome Str 50 NomeFantasia Str 50 #Identificador Int 03
Mapeamento • Relacionamento 1 para 1 1 1 Cert. Nasc. Pessoa Trabalha em (0,1) (1,1) @Numero @Rg DataNasc Nome LocalNasc OU Cert. Nasc. Pessoa OU @Numero @Rg #Rg #Numero Banco de Dados Y Tabela Pessoa Tabela Cert. Nasc. @Rg Int 04 @Numero Int 09 Nome Str 50 Nome Str 50 #Rg Int 04
Mapeamento • Relacionamento N para N N N Disciplina Professor ministra (0,N) (1,N) @Codigo @Id Nome Nome @#Id Disciplina Professor @#Codigo @Codigo @Id Prof/Disc Banco de Dados Z Tabela Professor (Normal) Tabela Prof/Disc @#Id Int 04 Tabela Disciplina (Normal) @#Codigo Int 04
Mapeamento • Relacionamento Ternário N N Aluno Atividade realiza @Id @Matricula Descricao Nome N @Codigo Curso Sigla @#Matricula @#Id Aluno Atividade @#Codigo @Id @Matricula Cumprimento @Codigo Curso
Mapeamento • Auto-Relacionamento N Disciplina Pré-req N É como se fosse assim: Disciplina Disciplina Pré-req. (0,N) (1,N) @Codigo @Codigo @#Codigo Pre-Requisito @#Codigo
Mapeamento • Hierarquia de Agregação Consulta N N Medico Paciente consulta @CRM @Rg (0,N) (0,N) Nome Nome (0,N) Gera (1,1) Exame @CodExame
Mapeamento • Hierarquia de Agregação @CodConsulta #Rg Medico Paciente #CRM @CRM @Rg Nome Nome Consulta Exame @CodExame #CodConsulta
Mapeamento • Hierarquia de Herança @Ch a1 a2 C an S1 S2 Sn 1. (cria-se 04 tabelas) C (ch, a1, a2, …, an) Si (ch, atributos de Si) 2. (03 tabela) Ti (ch, a1, a2, …, an, atributos de Si) 3. (01 tabela) T (ch, a1, a2, …, an, atributos de Si, e um atributo “tipo”)
Mapeamento • Herança Múltipla Ch1 C1 C2 Ch2 S C1 (ch1, atributos da entidade C1) C2 (ch2, atributos da entidade C2) S (ch1, ch2, atributos da entidade S) OU S (ch1, ch2, atributos da entidade S)
Mapeamento • Atributos Compostos e MultiValorados Mapeamento da entidade A A (a1, a21, a22) A1 (a1,a3) A2 (a1,a41, a42, a43) - supondo que sejam necessários três atributos (a1, a41, a42) para identificar de forma única a entidade A2
Exercícios • Construir o modelo ou esquema conceitual utilizando o MER e ME-RX (pode ser comparado com o DER), o DED e o Projeto de Banco de Dados (esquema lógico) dos seguintes enunciados: