You are on page 1of 19

1) Dados - fatos que podem ser gravados e que possuem um significado implcito.

Repr esenta alguns aspectos do mundo real num minimundo ou Universo de discurso Banco de Dados - coleo de dados relacionados SGBD - coleo de programas que permite aos usurios criar e manter um banco de dados . Permite a construo, manipulao e compartilhamento entre usurios do banco de dados Sistema de banco de dados - o banco de dados e o SGBD juntos Catlogo de banco de dados - descrio da estrutura e restries do banco de dados Independncia programa-dados - A estrutura dos arquivos de dados separada do progr ama viso do usurio - Um subconjunto do banco de dados DBA - Administrador do banco de dados. Autoriza, coordena, monitora, adquire re cursos, cuida da segurana, desempenho. Usurio final - usurio que consulta o banco e faz poucas atualizaes Transao elatada - transao j programa e testada Metadados - descreve a estrutura do banco de dados OLAP - online analytical processing OLTP - online transaction processing - deve suportar um grande nmero de transaes si multneas sem gerar retardos CASE - Computer Aided Software Engineering Plataforma Baixa - microcomputadores Plataforma Alta - Servidores, Mainframes, Estaes de Trabalho 2) +--------Alto nvel - modelo de dados conceituais +--------- modelo de dados representacionais +--------Baixo nvel - modelo de dados fsicos +--------Modelo de dados - conjunto de conceitos que podem ser usados para descrever a es trutura de um banco de dados Estrutura de um banco de dados - tipos de dados, relacionamentos e restries que de vem suportar os dados. Os modelos de dados conceituais utilizam conceitos como ENTIDADES, ATRIBUTOS e R ELACIONAMENTOS. Entidade - representa um objeto do mundo real ou um conceito. Atributo - corresponde a alguma propriedade de interesse que ajuda a descrever uma entidade. Relacionamento - entre duas ou mais entidades - mostra uma associao entre elas. Descrio do Banco de Dados - o esquema do banco de dados. definido durante o projet o do BD Arquitetura de Trs-Esquemas (Promove a independncia dos dados) +-----------------------------------------------------------------------------------------------------------+ Nvel Externo abrange os ESQUEMAS EXTERNOS ou VISES de USURIOS. Cada esquema exte rno descreve a parte do banco de dados que um dado grupo de usurios tem interesse e oculta o

restante do banco de dados +-----------------------------------------------------------------------------------------------------------+ Nvel Conceitual possui um ESQUEMA CONCEITUAL/LGICO que descreve a estrutura de todo o banco de dados se concentra na des crio de entidades, tipos de dados, con exes, operaes e restries +-----------------------------------------------------------------------------------------------------------+ Nvel Interno tem um ESQUEMA INTERNO que descreve a estrutura de armazenamento fixo do banco de dados. +-----------------------------------------------------------------------------------------------------------+ Indenpendncia de Dados Lgica Indenpendncia Fsica de Dados Data Definition Language (DDL) - Linguagem de Definio de Dados - usada pelo DBA (e outros) para definir o ESQUEMA CON CEITUAL e INTERNO da base de dados. Storage Definition Language (SDD) - Linguagem de Definio de Armazenamento - Especi fica apenas o ESQUEMA INTERNO View Definition Language (VDL) - Linguagem de Definio de Vises - Especifica as vises dos usurios. Data Manipulation Language (DML) - Linguagem de Manipulao de Dados - Executam as o peraes tpicas de dados como: recuperao, inserso, remoo e modificao DML de Baixo Nvel - DML um-registro-por-vez - usada na linguagem de programao DML de Alto Nvel - DML um-conjunto-por-vez ou orientada-a-conjunto - exemplo: SQL Podemos classificar os SGBDS com base no JETO-RELACIONAL, HIERRQUICO, DE REDE no no no no MODELO DE DADOS: RELACIONAL, OBJETO, OB NMERO DE USURIOS: USURIO NICO, MULTIUSURIO NMERO DE SITES: CENTRALIZADO, DISTRIBUDO CUSTO: TIPO DE ACESSO (ACCESS PATH):

O Modelo de Dados Objeto define um banco de dados em termos de objetos, suas pro priedades e operaes. 3)

O modelo de dados de alto nvel no inclui detalhes de implementao, so fceis de entende , e so teis na comunicao com usurios no tcnicos. Podem ser usados como referncia pa segurar que todos os requisitos so preenchidos e que os requisitos no conflitam en tre si. Permite aos projetistas do banco de dados especificas as propriedades do s dados sem se preocupar com detalhes de armazenamento.

Minimundo \ / V +--------------+ LEVANTAMENTO E ANALISE DE REQUISITOS --------------------+ +--------------+ \ / V Requisito de Dados \ / V +------------+ PROJETO CONCEITUAL +------------+ \ / V Esquema Conceitual Em um modelo de dados De alto nvel \ / V +-----------------+ PROJETO LGICO Mapamento do modelo de dados +-----------------+ \ / V Esquema Lgico \ / V +----------------+ PROJETO FSICO <-------------+ +----------------+ \ / \ / V V +---------------+ Esquema Interno -------------> IMPLEMENTAO DA TRASAO +---------------+ \ / V Programa de Aplicao Esquema Conceitual = descrio concisa dos requisitos de dados do usurio e inclui des cries detalhadas \ / V Requisitos Funcionais \ / V +-----------+ ANLISE FUNCIONAL +-----------+ \ / V Especificao de Transao de alto nvel \ / V +-------------+ PROJETO DE PROGRAMA DA APLICAO +-------------+

de tipos entidade, relacionamentos e restries O Modelo ER descreve os dados como ENTIDADES, RELACIONAMENTOS e ATRIBUTOS. Entidade - objeto bsico do modelo ER. Pode ser um objeto de existncia fsica ou um o bjeto com uma existncia conceitual. Uma entidade possi ATRIBUTOS - propriedades que a descrevem. Cada atr ibuto tem um VALOR. Tipos de Atributos: SIMPLES/COMPOSTO, UNIVALORADO/MULTIVALORADO, ARMA ZENADO/DERIVADO. Atributo Composto - podem ser dividos em subpartes menores, que representam a ma ioria dos atributos bsicos. Podem formar uma hierarquia. O valor de um atributo composto a concatenao dos valores componentes dos seus atributos simples. Atributo Simples ou Atmico - No so divisveis. Atributo Monovalorado - tem um valor nico para uma dada entidade Atributo Multivalorado - podem ter nmeros de valores deifrentes para o atributo. Deve ter um limite inferiore superior para restringir o nmero de valores permitidos a cada ent idade individual Atributo Armazenado Atributo Derivado - Em alguns casos, dois ou mais valores de atributos esto relac ionados. Em outros casos casos o valor pode ser derivado de Entidade s RELACIONADAS. Valores Nulos - Em alguns casos uma entidade pode no ter um valor aplicvel a um at ributo. Atributo Complexo: agrupar atributos composto com (), ex: () agrupar atributos multivalores com {}, ex: {} Um TIPO ENTIDADE - define uma coleo (ou conjunto) de entidades que possuem os mesm os atributos. cada tipo entidade no banco de dados descrito por seu nome e atributos. descreve o ESQUEMA ou conotao para um conjunto de entidades que possuem a mesma estrutura. representado no modelo ER como uma CAIXA RETNGULAR, incluindo o seu nome Os NOMES DOS ATRIBUTOS so colocados em elipses e conectadao ao seu tipo entidade por linhas retas. Os ATRIBUTOS COMPOSTOS so conectados aos seus componentes por linhas retas. Os ATRIBUTOS MULTIVALORADOS so identificados por elipses dupla s. O ATRIBUTO CHAVE identificado com uma linha sublinhando o nom e do atributo. TIPO ENTIDADE FRACA - no possui chave. CONJUNTO DE ENTIDADES - a coleo de todas as entidades de um tipo entidade em parti cular. Ex: EMPREGADO refere-se ao tipo entidade, assim como ao atual conjuto de todas as entidades empregado.

ATRIBUTOS-CHAVE de um Tipo Entidade - uma restrio de unicidade. Seu valor pode ser usado para identificar cada entidade. Algumas vezes, diversos atributos formam u m chave, se este for o caso, ela um atributo composto. Ela deve ser mnima. CONJUNTO DE VALORES (DOMNIO) DE ATRIBUTOS - Cada atributo simples de um tipo enti dade est assiociado a um conjunto de valor ou domnio, que determina o conjunto de valores vlidos para os atributos de cada entidade. Os conjuntos de valores no so mostrad os nos diagramas ER. -----------------------------------------------------------------------------------------------------------------EXEMPLO DE ANLSIE DE REQUISITOS A Empresa est organizada em departamentos. Cada departamento tem um nome nico, um nmero nico e um empregagado que gerencia o departamento. Temos a data em que o emp regado comeou a gerenciar o departamento. E este pode ter diferentes localizaes. Um departamento controla um nmero qualquer de projetos, cada qual com um nico nome , um nico nmero e uma nica localizao. Armazenamos o nome de cada empregado, o nmero do seguro social, endereo, salrio, se xo e data de nascimento. Um empregado est alocado a um departamento, mas pode tra balhar em diversos projetos que no so controlados, necessariamente, pelo mesmo dep artamento. Controlamos o nmero de horas semanais que um empregado trabalha em cad a projeto. Tambm controlamos o supervisor direto de cada empregado. Queremos ter controle dos dependentes de cada empregado para fins de seguro. Gua rdamos o primeiro nome, sexto, data de nascimento de cada dependente, e o parent esco dele com o empregado. -----------------------------------------------------------------------------------------------------------------Quando um atributo de uma entidade refere-se a outra entidade h um relacionamento . Um TIPO RELACIONAMENTO 'R' entre n tipos entidades E1, E2, ..., En, define um co njunto de associaes - ou um CONJUNTO DE RELACIONAMENTOS - entre essas entidades. P ode ser definida como um subconjunto do produto cartesiano de E1xE2x...xEn. Cada um dos tipos entidade dito PARTICIPANTE do tipo relacionamento. Nos DIAGRAMAS ER, os TIPOS RELACIONAMENTO so mostrados como caixas em forma de LO SANGO, que so conectadas por linhas retas s caixas retngulares, que representam as entidades participantes. O GRAU DE UM TIPO RELACIONAMENTO o nmero de entidaes que participam desse relacio namento. Cada tipo entidade que participa de um tipo relacionamento executa um PAPEL part icular no relacionamento. o NOME DO PAPEL significa o papel que uma entidade par ticipante de um tipo entidade executa em cada instncia de relacionamento, e ajuda a explicar o significado do relacionamento. RELACIONAMENTOS RECURSIVOS - o mesmo tipo entidade participa mais de uma vez em um tipo relacionamento em PAPIS DIFERENTES.

RESTRIES ESTRUTURAIS - Limitam a possibilidade de combinaes de entidades. Dois tipos : Razo de Cardinalidade e Participao. A RAZO DE CARDINALIDADE para um relacionamento binrio especifica o nmero MXIMO de in stncias de relacionamento em que uma entidade pode participar. Temos os seguintes tipos 1:1, 1:N, N:1, N:M.

A RESTRIO DE PARTICIPAO determina se a existncia de uma entidade depende de sua exist cia relacionada outra entidade, pelo tipo relacionamento. Essa restrio determina o nmero MNINO de instncias de relacionamento que cada entidade pode participar, e ta mbm chamada RESTRIO DE CARDINALIDADE MNIMA. H dois tipos de restries de participa e PARCIAL. PARTICIPAO TOTAL - Toda entidade deve estar relacionada com as outras. PARTICIPAO PARCIAL - Algumas entidades esto relacionadas com as outras. Nos DIAGRAMAS ER, a participao TOTAL exibida como uma LINHA DUPLA conectada ao tip o entidade do relacionamento, enquanto a participao PARCIAL representada por uma L INHA NICA. Atributos de Tipos Relacionamentos. Os tipos relacionamentos tambm podem ter atri butos. - Atributos em tipos relacionamentos 1:1 pode ser migrados para qualquer um das entidades participantes - Atributos em tipos relacionamentos 1:N o atributo s pode ser movido para o tipo entidade do lado N do relacionamento. - Atributos em tipos relacionamentos N:M alguns atributos so determinados pe la combinao de entidades participantes de uma instncia de relacionamento, e no por uma entidade nica. Esses atributos d evem ser especificados como atributos d e relacionamentos. TIPO ENTIDADE FRACA - um tipo entidade que no possui atributos-chave. So identific adas por estarem relacionadas a entidades especficas de outro tipo entidade, por meio da combinao com v alores de seus atributos. Uma entidade fraca possui sempre uma restrio de participao tot al (dependncia de existncia). Uma entidade fraca normalmente tem uma CHAVE PARCIAL. No DIAGRAMA ER, tanto o tipo entidade frace quanto seu rel acionamento identificador sero identificados pela BORDA DUPLA no RETNGULO E NO LOSNGO. O atributo chave p arcial ser sublinhado por uma linha slida ou pontilhada. Como prtica geral, dada um descrio narrativa dos requisitos do banco de dados, os S UBSTANTIVOS do texto tendem a originar nomes de TIPOS ENTIDADE e os VERBOS tende m a indicar nomes de TIPOS RELACIONAMENTO. Os nome dos ATRIBUTOS geralmente surg em de substantivos adicionais que descrevem os substantivos correspondentes aos tipos entidade. Em geral, o processo de projeto do esquema deveria ser considerado um processo i terativo de refinamento, no qual um projeto inicial criado e ento iterativamente refinado at que o projeto mais satisfatrio seja alcanado. Alguns dos refinamentos m ais frequentemente usados so: - Um conceito pode ser modelado primeiro como um atributo, e ento pode ser refin ado em um relacionamento porque foi determinado que o atributo uma REFERNCIA A OU TRO TIPO ENTIDADE. comum que um par de tais atributos, que so o inverso um do out

ro, sejam refinados em um relacionamento binrio. - Analogamente, um atributo existente em vrios tipos entidade pode ser promovido ou elevado a um tipo entidade independente. - Um refinado inverso para o caso anterior poder ser aplicado. Chamamos o relacionamento entre uma SUPERCLASSE e qualquer uma de suas SUBCLASSS de RELACIONAMENTO SUPERCLASSE/SUBCLASSE. (IS-A) A ESPECIALIZAO o processo de definir um CONJUTO DE SUBCLASSES de um tipo entidade; esse tipo entidade chamado SUPERCLASSE da especializao. No DIAGRAMA EER, as subclasses que definem uma especializao esto ligadas por linhas a um crculo que repersenta a especializao, o qual est conectado superclasse. Os atributos que se aplicam apenas s entidades de um subclasse em particular so li gados ao retngulo que representa uma subclasse. Esse so chamados ATRIBUTOS ESPECFIC OS ou ATRIBUTOS LOCAIS da subclasse. O processo de especializao permite: Definir um conjunto de sublcasses de um tipo e ntidade; Estabelecer atributos especficos adicionais para cada subclasse; Estabel ecer tipos relacionamento adicionais especficos entre cada subclasse e outros tip o entidade, ou outras subclasses.

A GENERALIZAO o processo contrrio da especializao. a definio de um tipo entidade ir de tipos entidades fornecidos. Restries na Especializao e Generalizao: - Subclasses definidas por predicado. - Subclasses definidas pelo usurio. - Restrio de Disjuno: d - disjuno ou o - sobreposio - Restries de Integralidade: Total ou Parcial ================================================================================ ====================================== 5) Modelo Relacional O modelo relacional representa o banco de dados como uma coleo de RELAES. Quando uma relao pensada como uma TABELA DE VALORES, cada LINHA representa um fato que corresponde a uma entidade ou relacionamento do mundo real. Na terminologia do modelo relacional formal, uma LINHA chamada TUPLA, um CABEALHO de coluna conhecido como ATRIBUTO, e a TABELA chamada RELAO. DOMNIO - Um domnio D um conjunto de valores atmicos. Um mtodo comum para especificar o domnio definr um tipo de dado. Um ESQUEMA DE RELAO indicada por R(A1, A2, ..., An) composto de um nome de relao R e de uma lista de atributos. Cada atributo o nome de um papel desempenhado por al gum domnio D no esquema de relao R. dom(Ai) = domnio do atributo Ai. Um esquema de relao usado para descrever uma relao; R chamado NOME de sua relao. U de uma relao o nmero n de atributos de seu esquema de relao. Exemplo de relao: ALUNO(Nome: string, SSN: string, FoneResidencia: string, Enderec o: string, Idade: integer, MPG: real)

Uma RELAO ou ESTADO DA RELAO do esquema de relao R(A1, A2, ..., An) indicado por r(R)

um conjunto de n-tuplas r = {t1, t2, ..., tm}. Cada n-tupla lista ordenada de v alores t=<v1,v2,...,vn>, em que cada valor vi um elemeto do dom(Ai) ou um valor null especial. O i-simo valor da tupla t, que corresponde ao atributo Ai, referid o como t[Ai]. Uma RELAO r(R) um subconjunto de dom(A1) x dom(A2) x ... x dom(An).

Caractersticas das Relaes: As tuplas so ordenadas. A ordenao dos atributos no impo e. O valor de cada tupla atmico. Valor null usando quando no se conhece o valor do a tributo ou no se aplica tupla. Notao do Modelo Relacional: Um esquema de relao R de grau n indicado por R(A1, A2, ..., An). Uma n-tupla t em uma relao r(R) indica por t = <v1, v2, ... vn>, em que vi o val or do atributo Ai. t[Ai] = t.Ai = t[i] = valor do i-simo atributo da tupla t. t[Ax,Az] = t.(Ax,Az) = valores da subtupla de t. R,Q,S so nomes de relao q,r,s so estados da relao t,u,v so tuplas

RESTRIES DO MODELO RELACIONAL 1. Restries que so inerentes ao modelo de dado. So as RESTRIES INERENTES BASEADAS EM MODELO. 2. Restries que podem ser expressas diretamente nos esquemas do modelo de dado us ando as DDL. RESTRIES BASEADAS EM ESQUEMA: restries de domnio, chave, null, integridade. 3. Restries que no podem ser expressas diretamente nos esquemas do modelo de dado e, por isso, devem ser impostas pelos programas de aplicao. So as R ESTRIES BASEADAS EM APLICAO. RESTRIES DE DOMNIO - especificam que, dentro de cada tupla, o valor de cada atribut o A deve ser um valor atmico do domnio de A. RESTRIES DE CHAVE - duas tuplas no podem ter a mesma combinao de valores para todos o s seus atributos. SUPERCHAVE: subconjunto de atributos de um esquema de relao que formam uma combinao nica. uma restrio de unicidade. Uma chave satisfaz duas restries: 1 - Duas tuplas distintas, em qualquer estado da re lao, no podem ter valores idnticos para todos os atributos da chave. 2 - Ela uma SUPERCHAVE MNIMA - isto , uma superchave da qual no podemos remover quaisquer atributos e ainda manter a restrio de u nidade garantida pela condio 1. Uma chave com vrios atributos exige que todos garatam a pro priedade de unicidade. Em geral, um esquema de relao pode ter mais de uma chave. Ne sse caso, cada uma das chaves camada CHAVE CANDIDATA. comum indicar uma das chaves candi datas como a CHAVE PRIMRIA da relao. A chave primria usada para identificar uma tupla da relao.

RESTRIES DE VALORES NULL - especifica se os valores null so ou no permitidos. RESTRIO DE INTEGRIDADE DE ENTIDADE - Estabelece que nenhum valor de chave primria p ode ser null. RESTRIO DE INTEGRIDADE REFERENCIAL - usada para manter a consistncia entre as tupla s em duas relaes. A restrio de integridade referencial declar a que uma tupla em uma relao, que faz referncia a outra relao, deve se re ferir a uma tupla existente nessa relao. Elas surgem dos relacionamentos entre as entidades representadas em esquemas de relao. Um conjunto de atributos FK do esquema da relao R1 uma CHAVE ESTRANGEIRA de R1, que faz referncia relao R2, se ele satisfazer as duas regras seguintes: 1) Os atributos de FK tm os mesmos domnios que os atributos da chave primria PK de R2. Diz-se que os atributos de FK fazem referncia ou se referem relao R2. 2) Um valor de FK em tupla t1 do estado corrent r1(R1) ou ocorre como valo r de PK para uma tupla t2 no estado corrent r2(R2) ou null. No caso anterior, temos t1[FK] = t2[PK] e dizemos que a tupla t1 faz referncia ou se refere tupla t2.

Nessa definio R1 chamada RELAO REFERNCIA, e R2 a RELAO REFERIDA. Se essas duas forem asseguradas, ento uma RESTRIO DE INTEGRIDADE REFERENCIAL de R1 para R2 dita garantida. OUTROS TIPOS DE RESTRIES: restries de integridade semntica. Podem ser implementadas u sando triggers e assertions. dependncia funcional. Um ESQUEMA DE BANCO DE DADOS RELACIONAL S um conjunto de ESQUEMA DE RELAES, onde S = { R1, R2, ..., Rm}, e um conjunto de RESTRIES DE INTEGRIDADE IC. Um ESTADO DE UM BANCO DE DADOS RELACIONAL, DB de S, um conjunto de estados da re lao DB = { r1, t2, ..., rm }, onde ri o estado de Ri, e de maneira que o estados d a relao ri satisfaam as restries de integridade especificadas em IC. Exemplo: Esquema de Banco de Dados EMPRESA = { EMPREGADO, DEPARTAMENTO, DEPTO_LOCACOES, PROJETO, TRABALHA_EM, DEPENDENTE }. EMPREGADO(PNOME, MINICIAL, UNONE, -SSN-, DATANASC, ENDERECO, SEXO, SALARIO, S UPERSSN, DNO) DEPARTAMENTO(DNOME, -DNUMERO-, GERSSN, GERDATAINICIO) DEPT_LOCALIZACOES(-DNUMERO-, -DLOCALIZACAO-) PROJETO(PJNOME, -PNUMERO-, PLOCALIZACAO, DNUM) TRABALHA_EM(-ESSN-, -PNO-, HORAS) DEPENDENTE(ESSN, NOME_DEPENDENTE, SEXO, DATANASC, PARENTESCO) OPERAES DE ATUALIZAO E TRATAMENTO DE VIOLAES DE RESTRIO

As operaes do modelo relacional podem ser categorizadas em recuperaes e atualizaes. Uma EXPRESSO DA ALGEBRA RELACIONAL forma uma NOVA RELAO depois de aplicar um nmero d e operadores algbricos a um conjunto existente de relaes. Operaes bsicas de atualizao: - insert: insere novas tuplas em uma relao - delete: remove tuplas - modify: muda os valores dos atributos de uma tupla existente. Quando essas operaes so aplicadas, as restries de integridade especificadas no esquem a do banco de dados no devem ser violadas.

OPERAO INSERT - A operao Insert fornece uma lista de valores de atributos para uma n ova tupla t, que inserida na relao R. Insert pode violar qualquer um dos quatro tipos de restries. Se uma insero violar uma ou mais restries, a opo default rejeitar insero.

OPERAO DELETE - A operao Delete pode violar apenas a integridade referencial se a tu pla removida for referida por chaves estrangeiras de outras tuplas do banco de dados. H diversas opes caso uma operao de removeo cause violao. A prime eitar a remoo. A segunda a REMOO EM CASCATA (ou propagao), eliminando as tuplas q ue fazem referncia tupla que est sendo removida. Uma terceira MODIFICAR OS VALORES DOS ATRIBUTOS DE REFERNCIA QU E CAUSAM A VIOLAO. Ou combinar as trs. OPERAO UPDATE - A operao Update usada para mudar os valores de um ou mais atributos em uma tupla de alguma relao R. Mudar um atributo que no nem chave primria nem chave estrangeira geralmente no causam problemas. Quando um atributo de chave estrangeira for modificado, o SGBD dever se certificar de que o novo valor refere-se a uma tupla existente na relao referida (ou null). ================================================================================ ====================================== 6) lgebra Relacional e o Clculo Relacional

Duas linguagens formais do modelo relacional: - LGEBRA RELACIONAL: Essas operaes produzem novas relaes formadas de outras relaes. Operaes: UNION, INTERSECTION, SET DIFFERENCE, CROSS PRODUCT , SELECT, PROJECT, JOIN

- CLCULO RELACIONAL: Prov uma notao declarativa de nvel superior para a especificao consultas relacionais. Clculo Relacional de Tupla Clculo Relacional de Domnio

OPERAO SELEO - A operao seleo usada para seleciona um subconjunto de tuplas de um ue satisfaa uma CONDIO DE SELEO. um operador unrio, e comutativo. R <- SIGMA<condio de seleo>(X)

SIGMA = operador de seleo condio de seleo = expresso booleana X = relao, uma expresso de lgebra relacional OPERAO PROJEO - seleciona certas colunas e descarta outras. um operador unrio. Essa operao remove tuplas repetidas R <- PI<lista de atributos>(R) OPERAO RENAME - Renomei atributos da relao R <- Ps(B1, B2, ..., Bn)(R)

OPERAO JUNO THETA - Produz todas as combinaes de tuplas de R1 e R2 que satisfazem a c ndio de juno Descarta as tuplas null. R <- R1 >< <condio de juno> R2 OPERAO EQUIJOIN - Produz todas as combinaes de tuplas de R1 e R2 que satisfazem uma condio de juno usando apenas comparao de igualdade. R <- R1 >< (atributo de juno) R2

OPERAO JUNO NATURAL - Igual EQUIJOIN, exceto que os atributos de juno de R2 no est cludos na relao resultante; se os atributos da juno tiverem os mesmo s nomes, no precisaro ser especificados de nenhuma forma R <- R1 * <condio de juno> R2 R <- R1 * <atributo de juno> R2 OPERAO UNIO - Produz uma relao que inclui todas as tuplas em R1 ou R2, ou ambas; R1 e R2 devem ser unio compatveis. R <- R1 U R2

OPERAO INTERSEO - Produz uma relao que inclui todas as tuplas em R1 e R2. R1 e R2 dev m ser unio compatveis. R <- R1 u R2

OPERAO DIFERENA - Produz uma relao que inclui todas as tuplas de R1 que no esto em R R1 e R2 devem ser unio compatveis. R <- R1 - R2 OPERAO PRODUTO CARTESIANO - Produz uma relao que tem os atributos de R1 e R2 e inclu i, como tuplas, todas as possveis combinaes de tuplas de R1 e R2. R <- R1 x R2 OPERAO DIVISO - Produz uma relao R(X) que inclui todas as tuplas t[X] em R1(Z) que ap arecem em R1 em combinao com todas as tuplas de R2(Y), em que Z = X u Y.

R(X) <- R1(Z) / R2(Y) FUNO AGREGADA R <- <atributos de agrupamento> F <lista de funo> (R) UM, MAX, AVERAGE, MIN, COUNT OPERAES DE CLAUSURA RECURSIVA OPERAO DE JUNO EXTERNA - Mantm todos as tuplas de R ou S ou ambas. R <- R1 tuplas de R1 R <- R2 >< s tuplas de R2 R <- R2 tuplas de ambas >< R2 FULL OUTER JOIN, mantm as R2 RIGHT OUTER JOIN, mantm a >< R2 LEFT OUTER JOIN, mantm as funo: S

OPERAO UNIO EXTERNA - Une tuplas que no so unio compatveis. deixa null os valores in patveis. ================================================================================ ====================================== 7) Projeto de Banco de Dados Relacional pelo Mapeamento dos Modelos ER e EER. Passo 1: Mapeamento dos Tipos Entidade Regulares. Para cada tipo entidade regular (forte) E de um esquema ER, criar um a relao R que inclua tods os atributos de E. Incluir somente os componentes simples dos atributos compostos. Escolher um dos atributos-chave de E como chave primria de R. Se a chave escolhidade de E for um atributo composto, os atributos s imples componentes vo, juntos, formar a chave primria de R. Se mltiplas chaves forem identificadas para E como chave primria de E durante o projeto conceitual, a informao que descreve os atributos que formam cada uma das chaves adicionais apreendida pe la especificao de chaves secundrias (unique keys) da relao R. Passo 2: Mapeamento dos Tipos Entidade Fracas. Para cada tipo entidade fraca W de um esquema ER, que contm sua respe ctiva entidade forme E, criar uma relao R e nela incluir todos os atributos simples (ou os componentes simples dos atributos compostos) de W como atributos de R. Alm disso, inserir como chave estrangeira de R os atributos que so cha ve primria da(s) relao(es) que correspondem ao mapeamento do tipo entidade(s) forte(s) correspondente(s); isso iden tifica o(s) tipo(s) relacionamento(s) de W. A chave primria de R ;e a combinao da(s) chave(s) primria(s) da(s) forte (s) e da chave parcial do tipo entidade frace W. Se existir um tipo entidade frace E2 cuja entidade forte tambm um tip o entidade frace E1, ento E1 deveria ser mapeada antes de E2, de modo a determinar, primeiro, sua chave primria. Passo 3: Mapeamentos dos Tipos Relacionamento Binrios 1:1. Para cada relacionamento R binrio 1:1 em um esquema ER, identificar a

s relaes S e T que correspondem aos tipos entidade participantes de R. H trs escolhas possveis: (1) a da chave estrangeira; (2) a do relacionamento incorporado; (3) a da refncia cruzada ou da relao de relacionamento. A primeira opo a mais usada e deve ser seguida, exceto se houver condies especiais, que sero discutidas a seguir. 1. ESCOLHA DA CHAVE ESTRANGEIRA: Escolher uma das relaes - S, digamos - e nela inserir, como chave estrangeira, a chave primria de T. melhor escolher, entre os tip os entidade, aquela com PARTICIPAO TOTAL em R para exercer o papel de S. Incluir todos os atributos simples (ou os compomentes simples dos atributos compostos) do tipo relacionamento 1:1 R como atributos de S. 2. OPO DA RELAO UNIFICADA: Uma possibilidade para o mapeamento de um tip o relacionamento 1:1 incorporar o tipo relacionamento e os dois tipos entidade envolvidos a uma nica relao. Essa opo pode ser apropriada quando AMB AS AS PARTICIPAES SO TOTAIS.

3. OPO REFERNCIA CRUZDA OU RELAO DE RELACIONAMENTO: A terceira opo uma eira relao R com a finalidade de servir de referncia cr uzada s chaves primrias das duas relaes S e T que mapeiam os tipo ent idade. A relao R cha mada RELAO DE RELACIONAMENTO, porque cada tupla em R representa uma instncia do relacionamento, que relaciona uma tupla de S a uma tupla de T. Passo 4: Mapeamento dos Tipos Relacionamento Binrio 1:N. Para cada tipo relacionamento R binrio 1:N regular, identificar a rel ao S que representa o tipo entidade participante do lado N do tipo relacionamento. Inserir em S, como chave estrangeira, a chave primria da relao T que re presenta o outro tipo entidade participante em R. Incluir qualquer atributo simples (ou componentes simples de atribut os compostos) do tipo relacionamento 1:N como atributo de S. Uma alternativa para evitar muitos campos null seria criar uma refern cia cruzada criando uma relao R, separada, cujos atributos seriam as chaves de S e T, e cuja chave primria seria a mesma chave d e S.

Passo 5: Mapeamento dos Tipos Relacionamento Binrio N:M. Para cada tipo relacionamento R binrio N:M, criar uma relao S para repr esentar R. Inserir, como chave estrangeira em S, as chaves primrias das relaes que representam os tipos entidade participantes do relacionamento; a combinao (concatenao) delas formar a chave primria de S Tambm deve ser includos quaisquer atributos simples do tipo relacionam ento n:M (ou os componentes dos atributos compostos)

como atributos de S. Passo 6: Mapeamento de Atributos Multivalorados. Para cada atributo multivalorado A, criar uma nova relao R. Essa relao dever conter um atributo correspondente a A, mais a chave pr imria K - como chave estrangeira em R - da relao que representa o tipo entidade ou o tipo relacionamento que tem A co mo atributo. A chave primria de R a combinao de A e K. Se o atributo multivalorado for um atributo composto, incluiremos se us componentes simples.

Passo 7: Mapeamento dos Tipos Relacionamento N-rio. Para cada tipo relacionamento R N-rio, em que n > 2, criar uma nova r elao S para representar R. Incluir, como chave estrangeira em S, as chaves primrias das relaes que representam os tipos entidade participantes. Inclur, tambm, qualquer atributo simples do tipo relacionamento n-rio (ou os componentes simples dos atributos compostos) como atributos de S. A chave primria de S , normalmente, a combinao de todas as chaves estran geiras que fazem referncia s relaes representantes dos tipos entidade participantes. Entretanto, se as restries de cardinalidade em qualquer um tipos tipos entidade E participantes em R forem 1, ento a chave primria de S no deve incluir a chave estrangeira que faz referncia relao E' correspondente a E. ================================================================================ ====================================== 10) Dependncia Funcional e Normalizao em um Banco de Dados Quatro medidas informais para mensurar a qualidade de um projeto de esquema de r elao. - Semntica dos atributos. - Reduo dos valores redundantes nas tuplas. - Reduo de valores null nas tuplas. - Impedimento para a gerao de valores ilegtimos nas tuplas. Semntica dos atributos - Sempre que agrupamos os atributos para formar um esquema de relao, pressupomos que esses atributos possuam algum significado no mundo real e que haja uma interpr etao associada a eles. Esse significado, ou semntica, especifica como interpretar os valores dos atributos a rmazenados em uma tupla da relao. Se o modelo conceitual for feito cuidadosamente, seguindo a sistemtic do mapea mento para as relaes, a maioria da semntica ter sido considerada e o modelo resultante dever apresenta um si gnificado claro. Em geral, quanto mais fcil for explicar a semntica da re lao, melhor ser o modelo de esquema da relao. DIRETRIZ 1 - Modelar um esquema de relao de modo que seja fcil explicar seu significado. No combine os atributos de diferentes tipos entidade e relaci onamentos dentro de uma nica relao. Intuitivamente, se um esquema de relao corresponder a um tipo

entidade ou a um tipo relacionamento, haver uma justificativa para seu significado. Caso contrrio, se a relao corresponde a uma mistura de entidade s e relacionamentos, resultaro em ambiguidades semnticas e a relao no poder ser explicada facilmente. Informaes Redundantes em Tuplas - Uma meta para o modelo de um esquema minimizar o espao de armazenamento usado pelas relaes bsicas. Por exemplo, compare o espao usado Anomalias de Insero - causa trabalho redundante nas inseres Anomalias de Excluso. Anomalias de Atualizao. DIRETRIZ 2 - Modelar esquemas de relao bsicas de forma que nenhuma anomalia de insero, excluso ou alterao possa ocorrer nas relaes. Se houver a possibilidade de ocorrer alguma anomalia, regist re-a claramente e tenha certeza de que os programas que atualizam o banco de dados operaro corretamente.

Valores nulls em Tuplas - Em alguns projetos de esquemas, podemos agrupar muitos atributos em uma relao gorda. Se muitos dos atributos no se aplicarema todas as tuplas da relao, acabaremos com muitos nulls nessas tuplas. Isso pode causar desperdcio de espao no armazenamento, a lm de gerar problemas de entendimento do significado dos atributos e da especificao de operaes de JOIN no nvel l ico. DIRETRIZ 3 - At onde for possvel, evite colocar os atributos em uma relao bsic a cujos valores frequentemente possam ser nulos. Se os nulls forem inevitveis, tenha certeza de que eles se ap licam somente em casos excepcionais e no na maioria das tuplas da relao.

Gerao de Tuplas Ilegtimas - Representam informao ilegtimas ou erradas, que no so v DIRETRIZ 4 - Projete os esquemas de relaes de forma que possam ser unidos ( join) com igualdade de condies sobre atributos que sejam chaves primrias ou chaves estrangeiras, de modo a garan tir que nenhuma tupla ilegtima seja gerada. Evite as relaes que contenham o relacionamento entre os atribu tos que no sejam combinaes (chave estrangeira, chave primria), porque as junes sobre esses atributos podem pro duzir tuplas ilegtimas. DEPENDNCIA FUNCIONAL e Normalizao

Uma dependncia funcional uma restrio entre dois conjuntos de atributos do banco de dados. Suponha que o esquema do banco de dados relacional possua n atributos A1, A2, .. . An; vamos pensar em um banco de dados com um esquema de relao universal R(A1, A2, ..., An). Assim, uma dependncia funcional denotada por X -> Y entre dois conjuntos de atrib utos X e Y, que so subconjuntos de R, especificam uma restrio nas possveis tuplas que forem um estado da relao r de R. A restrio que para quais qu r tuplas t1 e t2 em r que tenham t1[X] = t2[X], elas

tambm tem de ter t1[Y] = t2[Y]. Isto , os valores de Y so determinados por X. Denotamos por F o conjunto de dependncias funcionais que so especificadas no esque ma de relao R. O fecho de F, F+, o conjunto de todas as dependncias funcionais de F, bem como to das as dependncias que podem ser inferidas para F. Regras de inferncia para DF e DMV: - Se Y est contido em X, ento X -> Y - Se X -> Z, ento XZ -> YZ - Se X -> Y e Y -> Z, ento X -> Z - Se X -> YZ, ento X -> Y - Se X -> Y e X -> Z, ento X -> YZ - Se X -> Y e WY -> Z, ento WX -> Z Se X Se X Se X Se X Se X X -> Z ->> ->> ->> ->> ->> Y, ento X ->> (R - (X u Y)) Y e Z est_contido_em W, ento WX ->> YZ Y e Y ->> Z, ento X ->> (Z - Y) Y, ento X ->> Y Y e existir W com (W n Y) = vazio e W -> Z e Z est_contido_em Y, ento

Um conjunto de dependncias funcionais F cobre outro conjunto de DF E, se toda DF em E est em F+. Dois conjuntos de DF E e F so equivalentes se E+ = F+ Cobertura mnima de um conjunto de DF E um conjunto de dependncias funcionais F que satisfaa a propriedade de que toda DF de E pertence ao fecho F+ de F.

Objetivos da Normalizao: minimizar a redundncia, minimizar as anomalias de insero, ex cluso e atualizao. Desnomalizao a armazenagem de junes das relaes de formas normais em relaes bsica Uma SUPERCHAVE de um esquema de relao R = { A1, A2, ..., An } um conjunto de atrib utos S contidos em R que contenham a propriedade na qual no haver duas tuplas t1 e t2, em qualquer estado da relao r de R, cuja t1[S] = t2[S] . Uma CHAVE K uma superchave com a propriedade adicional de que a remoo de qualquer atributo de K far com que K no seja mais uma superchave. Se um esquema de relao tiver mais de uma chave, cada uma delas chamada CHAVE CANDI DATA. Uma das chaves candidatas arbitrariamente designada para ser a CHAVE PRIMRIA, e a s outras so conhecidas como chaves secundrias.

Um atributo de um esquema de relao R chamado ATRIBUTO PRIMRIO de R se for membro de alguma chave candidata de R. Um atributo dito NO PRIMRIO se no for um atributo primrio - isto , se no for membro alguma chave candidata. DEPENDNCIA MULTIVALORADA (DMV): Consequncia da 1FN. Assim preciso repetir cada val or de um atributo. Uma dependncia multivalorada X ->> Y especificad a no esquema de relao R, no qual X e Y so ambos subconjuntos R, especifica a seguinte restrio para qualquer es tado r de R: se duas tuplas t1 e t2 existirem em r tal que t1[X] = t2[X], ento duas tuplas t3 e t4 tambm dev em existir em r com as seguintes propriedades, onde usamos Z para denotar (R - (X u Y)). [t1,t2,t3 e t4 no so necessariamente distintas] t3[X] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] e t4[Y] = t2[Y]

t3[Z] = t2[Z] e t4[Z] = t1[Z] Sempre que X ->> Y ocorrer, dizemos que X multi determina Y.

DEPENDNCIA DE JUNO: Uma dependncia de juno (DJ), denotada por DJ(R1, R2, ..., Rn), es ecificada em um esquema de relao R, especifica uma restrio nos estados r de R. A restrio diz que todo estado legal r de R deveria ter uma decomposio de juno no aditiva para R1, R2, ..., Rn, ou seja, para todo r que tenhamos *(pi R1 (r), pi R2 (r), ..., pi Rn (r)) = r Observe que uma DMV um caso especial de DJ no qual n = 2. Isto , DJ(R1,R2) implica na DMV (R1 n R2) ->> (R1 - R2). Uma dependncia de juno DJ(R1, R2, ..., Rn), especificada sob re um esquema de relao R, trivial se um dos esquemas de relao Ri de DJ(R1, R2, ..., Rn) for igual a R. PRIMEIRA FORMA NORMAL: Estabelece-se que o domnio de um atributo s deva incluir os valores atmicos (simples, indivisveis) e que o valor de qualquer atributo em uma tupla deve ter um nico valor no d omnio daquele atributo. A primeira forma normal desaprova atributos multivalorado s e relaes dentro de relaes. Normalizando para a 1FN: H tres formas de normalizar uma relao R que no esteja na p rimeira forma normal: 1) Remover o atributo que viola a 1FN e coloc-lo em uma relao separada ao lado da chave de R. E a chave primria desta nova relao a combinao entre a chave de K e o atri buto. 2) Ampliar a chave com o atributo que viola a 1FN para separar as tuplas. 3) Definir um nmero mximo de valores para o atributo que viola a 1FN. SEGUNDA FORMA NORMAL: baseada no conceito de dependencia funcional total. uma dependencia funcional X -> Y ser uma dependncia funciona l TOTAL se a remoo de qualquer atributo A de X implicar que a dependncia no mais ser assegurada, isto , para qualquer atri buto A pertencente a X, (X-{A}) no determina funcionalmente Y. Uma dependncia funcional X -> Y uma dependncia PARCIAL se um atributo A pertence a X puder ser removido de X e a dependncia mesmo assim continuar existindo. UM ESQUEMA DE RELAO R EST NA 2FN se todo atributo no primrio A de R tem dependncia funcional total da chave primria de R.

Normalizando para a 2FN: A normalizao feita criando vrias relaes em 2FN nas quais o atributos no primrios s estaro associados parte chave primria com a qual possurem dependncia funcional to tal. TERCEIRA FORMA NORMAL: baseada no conceito de dependncia transitiva. Uma dependncia funcional X -> Y, em um esquema de relao R, s er uma DEPENDNCIA TRANSITIVA se exisitr um conjunto de atributos Z que no nem chave candidata nem um subconjunto de qualquer chave de R, e ambas X->Z e Z -> Y forem asseguradas. UM ESQUEMA RE RELAO R EST NA 3FN se satisfazera 2FN e se nen hum atributo no primrio de R for transitivamente dependente

da chave primria. FORMA NORMAL DE BOYCE-CODD: uma forma mais rgida que a 3FN. Se uma relao est na form a de boyce-codd, ela tambm est na 3FN. UM ESQUEMA DE RELAO R EST NA BCFN sempre que uma dependn cia funcional no trivial X -> A for mantida em R, ento X ser uma superchave de R. QUARTA FORMA NORMAL: Um esquema de relao R est na 4FN em relao a um conjunto F de dep endncias (que inclui dependncias funcionais e multivaloradas ) se, para cada dependncia multivalorada no trivi al X ->> Y em F+, X for uma superchave de R. QUINTA FORMA NORMAL: Um esquema de onjunto de dependncias funcionais se, para cada de F+, todo Ri for uma superchave relao R est na 5FN ou (PJFN, FNPJ) em relao a um c multivaloradas e de juno dependncia de juno no trivial DJ(R1, R2, ..., Rn) de R. Aes Normalizao Forma uma nova relao

Teste para a Forma Normal: 1FN A relao no deve conter os atributos no ara cada atributo atmicos ou relaes aninhadas (s conter relao aninhada. os atributos atmicos). 2FN Para as relaes que possuem chaves primrias uma nova relao para com vrios atributos, nenhum atributo cial com se(s) atributo(s) externo chave deve ser funcionamente ssegurar-se de que manteve dependente de parte da chave primria. ave primria original e atributos que possuam dependncia

no atmico ou para cad

Decompor e montar cada chave par dependentes. A a relao com a ch com todos os funcional to

tal com ela. 3FN As relaes no devem ter atributos que no a relao que contenha o(s) pertenam a uma chave, funcionalmente determinados chave que determina(m) funcionalmente por outro atributo que tamb'em no pertena a uma ributo(s). chave (ou por um conjunto de atributos no-chave). Isto , no deve haver depedncia transitiva entre um atributo no-chave e uma chave primria. Decompor e montar um atributo(s) noo(s) outro(s) at

Exemplo de Normalizao: Considere a relao universal R = { A, B, C, D, E, F, G, H, I, J } e o conjunto de dependncias funcionais F = { {A,B}->{C} , {A}->{D,E} , {B}->{F} , {F}->{G,H}, {D}->{I,J} }. Qual a chave de R? Decomponha R em relaes na 2FN e, depois, na 3FN. 1) Para encontrar a chave, precisamos do fecho de cada atributo atmico. {A}+ = {A,D,E,I,J} {B}+ = {B,F,G,H} {C}+ = {C} {D}+ = {D,I,J}

{E}+ {F}+ {G}+ {H}+ {I}+ {J}+

= = = = = =

{E} {F,G,H} {G} {H} {I} {J}

2) Como ainda no encontramos um fecho que possui todos os atributos da relao, con tinuamos com processo procurando o fecho de pares de atributos. {A,B}+ = {A,B,C,D,E,F,G,H,I,J} 3) Pronto! Encontramos um fecho com todos os atributos da relao. A chave {A,B} 4) Como todos os atributos so atmicos, j estamos na 1FN. Para normalizar para 2FN precisamos eliminar a dependncia parcial da chave primria A,B. As dependncias funcionais que violam a 2FN so: {A} -> {D,E,I,J} {B} -> {F,G,H} Logo temos as seguintes relaes: R1(-A-,-B-,C) R2(-A-,D,E,I,J) R3(-B-,F,G,H) 5) Pronto! Temos trs relaes na 2FN, mas h as seguintes violaes da 3FN (dependncia nsitiva): {D} -> {I,J} {F} -> {G,H} Decompondo teremos as seguintes relaes em 3FN: R1(-A-, -B-, C) R2.1(-A-, D, E) R2.2(-D-, I, J) R3.1(-B-, F) R3.2(-F-, G ,H) As relaes tambm esto na BCNF.

You might also like