BANCO DE DADOS Araújo Lima Ago / 2017 Araújo
Índice 3.Modelos de dados 4.Modelo Relacional Modelo Conceitual Modelo Lógico Modelo Físico Classificação de Bancos de Dados Hierárquico Rede Relacional 4.Modelo Relacional Introdução Conceitos Básicos Restrições de Integridade Araújo
3.MODELO DE DADOS Modelo Conceitual Modelo Lógico Modelo Físico Araújo
MODELOS DE DADOS ... Compõe-se de: Estruturas de dados Operações Ferramenta usada para descrever a estrutura de um BD Compõe-se de: Estruturas de dados Operações Restrições de integridade Araújo
... MODELOS DE DADOS ... Modelo Conceitual descreve dados num nível de abstração muito próximo do mundo real, independente de tecnologia Exemplo: Modelo Entidade e Relacionamento (MER) Mundo real Conceitual Lógico Físico Araújo
... MODELOS DE DADOS ... Modelo Lógico descreve dados ao nível de registro mais próximo da implementação física. Exemplo: Modelo Relacional Modelo Rede Modelo Hierárquico Mundo real Conceitual Lógico Físico Araújo
... MODELOS DE DADOS ... Modelo Físico descreve as estruturas de dados ao nível de armazenamento físico dos dados, definindo: Tipo e tamanho de dados Índices Mundo real Conceitual Lógico Físico Araújo
... MODELOS DE DADOS ... Mundo real Modelo de Dados Fase do Projeto de BD Modelo Entidade Relacionamento Conceitual Relacional Rede Hierárquico Lógico Físico Físico Araújo
... MODELOS DE DADOS ... Esquema do Banco de Dados Descrição gráfica ou textual de um Banco de Dados conforme um modelo de dados Exemplo de esquema relacional: FUNCIONARIO(matric, nome, salario, dep) DEPARTAMENTO(dep, descricao) DEPENDENTE(matric, sequenc, nomed,sexd) Araújo
... MODELOS DE DADOS ... Araújo
... MODELOS DE DADOS Araújo
CLASSIFICAÇÃO DE BANCO DE DADOS Hierárquico Rede Relacional Araújo
CLASSIFICAÇÃO DE BD ... HIERÁRQUICO ... Entidades implementadas como registros e relacionamentos “pai-filho” como ponteiros Restrições de Integridade: exceto raiz, qualquer registro deve ter um pai ao excluir um registro pai os filhos são excluídos automaticamente Operações: get first, get next, ... Araújo
... CLASSIFICAÇÃO DE BD ... ... HIERÁRQUICO ... Dados armazenados usando estruturas embutidas Usuário vê BD como um conjunto de árvores (relacionamentos 1 : n) Ligações explícitas via ponteiros no nível físico Navegação através de ponteiros e de responsabilidade do programador Rapidez nas consultas Interface unicamente via programação Araújo
... CLASSIFICAÇÃO DE BD ... ... HIERÁRQUICO Departamentos Produção Administrativo Funcionários ... Dé Jô Ed Lu Zé Departamentos Produção Administrativo Projetos ... Pro X Pro Y Pro A Pro B Araújo
... CLASSIFICAÇÃO DE BD ... REDE ... Entidades como coleções de registros e relacionamentos como ligações pai-filho Restrições de Integridade: relacionamento m : n não pode ser representado por um único tipo de ligação Operações: get, find, store, ... Araújo
... CLASSIFICAÇÃO DE BD ... ... REDE Dados organizados em uma rede de nós e links Usuário vê BD como um conjunto de grafos (relacionamentos m : n) Ligações explícitas via ponteiros no nível físico Navegação através de ponteiros e de responsabilidade do programador Araújo
... CLASSIFICAÇÃO DE BD ... RELACIONAL ... Entidades como tabelas e relacionamentos como colunas em pares de tabelas Restrições de Integridade: - componente de PK (primary key) não pode ser null para cada valor de FK em uma tabela deve existir um valor igual em outra tabela (PK ou atributo UNIQUE) Operações: seleção, projeção, junção, união ... Araújo
... CLASSIFICAÇÃO DE BD ... ... RELACIONAL Dados armazenados de forma tabular Usuário vê BD como um conjunto de tabelas Ligações implícitas compartilhando chaves num nível lógico Navegação automática: otimizador de consulta (query) Linguagem de consulta declarativa de alto nível Araújo
... CLASSIFICAÇÃO DE BD ... MER RELACIONAL REDE HIERÁRQUICO {ENTIDADES} {TABELAS} {GRAFOS} {ÁRVORES} ENTIDADE LINHA REGISTRO REGISTRO RELACION. IMPLÍCITO EXPLÍCITO EXPLÍCITO (PARES COLUNAS) (PONTEIROS) (PONTEIROS) ATRIBUTO COLUNA CAMPO CAMPO Araújo
... CLASSIFICAÇÃO DE BD ... A 1 A B C 2 B 1 3 C 1 E 4 D 2 5 E 2 3 D MER RELACIONAL Araújo
... CLASSIFICAÇÃO DE BD ... A A B B C C E D D E MER REDE Araújo
... CLASSIFICAÇÃO DE BD ... A A C B B C E D E E D Redundante MER HIERÁRQUICO Modelo Hierárquico usa relacionamentos 1: N (um pai tem N filhos e um filho tem só um pai) Araújo
... CLASSIFICAÇÃO DE BD ... SGBD´S HIERÁRQUICOS IMS (IBM) SYSTEM 2000 (SAS) TDMS (BURROUGHS) MARS VI (CDC) RFMS (UNIV. TEXAS) Araújo
... CLASSIFICAÇÃO DE BD ... SGBD´S REDE IDS II (BULL) DMS II (UNISYS) IDMS (CULLINAME) DMS 1100 (UNIVAC) DBMS-11 (DEC) TOTAL (CINCON) ADABAS (SOFTWARE AG) Araújo
... CLASSIFICAÇÃO DE BD ... SGBD´S RELACIONAIS ORACLE INGRES DB2 SQL SERVER POSTGRESQL MySQL Araújo
... CLASSIFICAÇÃO DE BD ... SGBD OBJETO RELACIONAL (SGBDOR) Combina o modelo relacional com orientação a objeto Extensão do modelo relacional Suporta consultas e tipos de dados complexos Usa SQL-1999 (SQL – 3) que tem extensões de orientação a objeto Araújo
... CLASSIFICAÇÃO DE BD ... SGBD OBJETO RELACIONAL (SGBDOR) INFORMIX Universal Server ORACLE (a partir da versão 8) DB2 Universal Database POSTGRESQL Araújo
... CLASSIFICAÇÃO DE BD SGBD ORIENTADO A OBJETO (SGBDOO) GEMSTONE OBJECT STORE JASMINE VERSANT POET IRIS O2 Araújo
4.MODELO RELACIONAL Introdução Conceitos Básicos Restrições de Integridade Araújo
Modelo Relacional ... O modelo relacional foi proposto em um paper clássico, por Ted Codd, em 1970 O modelo tem como base matemática a teoria dos conjuntos e usa o conceito de relação matemática que se assemelha a uma tabela O modelo relacional usa as operações da Álgebra Relacional (seleção, projeção, junção, união, interseção, diferença, divisão) Araújo
... Modelo Relacional ... Os elos (relacionamentos) são implícitos (via pares de colunas) O usuário vê o banco de dados como um conjunto de relações (tabelas) relação (tabela) FUNCIONÁRIOS MAT NOME DEPART 100 ANA VEN 200 EDU PRO 300 ARI ADM 400 EVA O&M atributos (colunas) tuplas (linhas) valor de atributo domínios (valores) Araújo
... Modelo Relacional ... Domínio – conjunto de valores atômicos. Ex.: - conjunto de nomes dos funcionários (Ari, Edu,...) - conjunto de códigos de departamentos (VEN, PRO, ADM) - conjunto de valores para sexo: M ou F Esquema de uma relação: R (a1, a2, .....,an) Ex.: Func (mat, nom, sal, sex, depart) Grau de uma relação – número de atributos da tupla da relação. Grau da relação acima = 5 Cardinalidade de uma relação – número de tuplas da relação. Araújo
... Modelo Relacional ... RELAÇÃO - subconjunto do produto cartesiano dos domínios R D1 X D2 X ..... X Dn Produto cartesiano dos domínios - 64 tuplas (43) Relação Func (mat, nom, dep) - 4 tuplas 100 200 300 400 ANA EVA ARI EDU ADM O&M PRO VEN MATRÍCULAS NOMES DEPARTAMENTOS Araújo
... Modelo Relacional ... Relação Func (matricula, nome, departamento) - 4 tuplas matricula nome departamento 100 Ana ADM 200 Eva O&M 300 Ari PRO 400 Edu VEN 100 200 300 400 ANA EVA ARI EDU ADM O&M PRO VEN MATRÍCULAS NOMES DEPARTAMENTOS Araújo
... Modelo Relacional ... Produto cartesiano- 64 tuplas Araújo matricula nome departamento 100 Ana ADM (1) (1) O&M (1) (2) PRO (1) (3) VEN (1) (4) Eva ADM . . . VEN (4) (08) Ari ADM . . . VEN (4) (12) Edu ADM . . . VEN (4) (16) 200 Ana . . . Edu ADM . . . VEN (16) (32) 300 e 400 ADM . . . VEN (32) (64) Araújo
... Modelo Relacional ... UMA RELAÇÃO PODE SER REPRESENTADA SOB A FORMA DE TABELA, ONDE: - Cada coluna representa um atributo - Cada linha representa uma ocorrência de: * UMA ENTIDADE * UM RELACIONAMENTO - Linha (tupla) é um conjunto de atributos Araújo
... Modelo Relacional ... - DOMÍNIO - conjunto de valores do atributo UMA RELAÇÃO PODE SER REPRESENTADA SOB A FORMA DE TABELA, ONDE: ... - DOMÍNIO - conjunto de valores do atributo - GRAU DE UMA RELAÇÃO - número de atributos da tupla da relação - CHAVE PRIMÁRIA - um ou mais atributos que identificam uma única tupla da relação - EX.: ALUNO (MAT, NOM, DT-NASC, SEXO) Araújo
... Modelo Relacional ... Esquema relacional Func (mat, nom, sal, sex, dtNasc, cdD, matChef) Depa (cdD, dsD, orcamento) Depe (mat, seq, nmD, sexD, parentesco) Proj (cdP, dsP) FunPro (mat, cdP, horasTrab) Curso (cdC, dsC, cargaHoraria) FunCurs (mat, cdC, dtC, nota) cd - codigo; dt - data; ds - descrição; nm - nome Araújo
... Modelo Relacional ... Esquema relacional Func (mat, nom, sal, sex, dtNasc, cdD, matChef) Depa (cdD, dsD, orcamento) Depe (mat, seq, nmD, sexD, parentesco) Proj (cdP, dsP) FunPro (mat, cdP, horasTrab) Curso (cdC, dsC, cargaHoraria) FunCurs (mat, cdC, dtC, nota) Identificar os relacionamentos no esquema acima Qual o grau da relação FUNC ? Araújo
... Modelo Relacional ... Propriedades das relações Não pode haver tupla duplicada na relação (relação é um conjunto de tuplas e os elementos de um conjunto são distintos) Não pode haver nome de atributo duplicado na relação Não importa a ordem das tuplas na relação Não importa a ordem dos atributos na tupla Os valores dos atributos são atômicos (atributos não compostos) Os atributos da relação não podem ser multivalorados Araújo
... Modelo Relacional ... chave primária - conjunto de atributos que identificam uma única tupla numa relação ex.: cdD, matric, matric +numDep chave candidata- conjunto de atributos que podem ser chave primária numa relação ex.: cdD, matric, RG, CPF, matric + numDep... Departamento(cdD, nmD) Funcionario(matric, nome, cdD, RG, CPF) Dependente(matric, numDep, nomeDep, dtNasc) Araújo
... Modelo Relacional ... chave estrangeira - conjunto de atributos que são chave primária em outra relação ou na mesma relação ex.: cdD em Funcionario , matricDoChefe em Funcionario e matric em Dependente Departamento (cdD, nmD) Funcionario (matric, nome, cdD, matricDoChefe) Dependente (matric, numDep, nomeDep, dtNasc) Araújo
... Modelo Relacional ... QUAIS AS CHAVES PRIMÁRIAS DAS RELAÇÕES ABAIXO ? PEDIDO (nr-ped, nr-cliente, dt-ped, vl-ped) HIST-ALUNO (mat, nom, cd-disciplina, nota, periodo) VENDA (nr-ped, nr-cli, nr-vendedor, cd-item, qt-vendida, preço-unit, vl-item) Araújo
... Modelo Relacional Integridade de Entidade Restrições de integridade no modelo relacional Integridade de Entidade nenhum atributo componente da chave primária pode ser null (sem valor) Integridade Referencial a cada valor de chave estrangeira em uma relação, deve corresponder igual valor de chave primária em outra ou na mesma relação Araújo
Exemplo de BD Relacional... mat nom sal sex cdd matChef 100 ZE 900 M P 120 110 SA 1000 M V 120 120 LU 1100 F P 140 130 ED 1200 M V 140 140 JO 1300 M V NULL FUNC DEPA cdd dsd matGer P Produção 120 V Vendas 140 Identificar: 1) Chaves primárias e estrangeiras 2) Relacionamentos Araújo
... Exemplo de BD Relacional Araújo