You are on page 1of 54

Modelagem de Banco de Dados

Prof. Marcos Alexandruk

SUMRIO

1.

INTRODUO DADO INFORMAO CONHECIMENTO BANCO DE DADOS SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS MODELO DE DADOS SISTEMA DE GERENCIAMENTO DE ARQUIVOS MODELO HIERRQUICO MODELO EM REDE MODELO RELACIONAL MODELO ORIENTADO A OBJETOS SISTEMAS OBJETO-RELACIONAIS ABSTRAO DE DADOS NVEL INTERNO NVEL CONCEITUAL NVEL EXTERNO INDEPENDNCIA DE DADOS

1 1 1 1 2 2 2 2 3 3 3 4 4 5 5 5 5 5 7 7 7 7 7 7 8 8 8 8 8 10 10 10 10 10 10 11 11 11

2.

ARQUITETURAS DE SISTEMAS E MODELAGEM DE DADOS ARQUITETURAS DE SISTEMAS SISTEMAS CENTRALIZADOS SISTEMAS CLIENTE-SERVIDOR SISTEMAS PARALELOS SISTEMAS DISTRIBUDOS MODELAGEM DE BANCO DE DADOS LEVANTAMENTO E ANLISE DE REQUISITOS MODELO CONCEITUAL MODELO LGICO MODELO FSICO

3.

MODELO CONCEITUAL DIAGRAMA ENTIDADE-RELACIONAMENTO MER (MODELO ENTIDADE-RELACIONAMENTO) ENTIDADES ATRIBUTOS ATRIBUTO IDENTIFICADOR OU ATRIBUTO DETERMINANTE CARDINALIDADE INTERPRETAO DO DIAGRAMA ENTIDADE-RELACIONAMENTO DIAGRAMA DE OCORRNCIAS

4.

GRAUS DE RELACIONAMENTOS RELACIONAMENTO BINRIO RELACIONAMENTO TERNRIO (N-RIO) AUTORRELACIONAMENTO AUTORRELACIONAMENTO 1:1 AUTORRELACIONAMENTO 1:N AUTORRELACIONAMENTO N:N

14 14 14 15 15 15 15 17 17 17 17 18 18 18 18 19 20 20 20 22 22 22 23 24 24 24 25 25 25 25 25 26 26 26 26 27 27 27 27 28 30

5.

GENERALIZAO/ESPECIALIZAO, ENTIDADE ASSOCIATIVA GENERALIZAO ESPECIALIZAO ESPECIALIZAO TOTAL ESPECIALIZAO PARCIAL MLTIPLOS NVEIS E HERANA MLTIPLA HERANA DE PROPRIEDADES GENERALIZAO/ESPECIALIZAO EXCLUSIVA GENERALIZAO/ESPECIALIZAO NO EXCLUSIVA ENTIDADE ASSOCIATIVA ATRIBUTOS OPCIONAIS ATRIBUTOS COMPOSTOS ATRIBUTOS MULTIVALORADOS

6.

ELABORAO DE DIAGRAMAS ENTIDADE RELACIONAMENTO SISTEMA VIDEO LOCADORA SISTEMA ESCOLA SISTEMA EMPRESA

7.

MODELO RELACIONAL TABELA CHAVE PRIMRIA (PRIMARY KEY) CHAVE NICA (UNIQUE) CHAVE ESTRANGEIRA (FOREIGN KEY) RELACIONAMENTOS RELACIONAMENTO 1:1 RELACIONAMENTO 1:N RELACIONAMENTO N:N NOTAO RESUMIDA PARA MODELOS LGICOS RELACIONAIS INTEGRIDADE DE DADOS INTEGRIDADE DE DOMNIO INTEGRIDADE DE ENTIDADE INTEGRIDADE REFERENCIAL CONSTRAINTS (RESTRIES) NOMENCLATURA DE TABELAS E DE CAMPOS TIPOS DE DADOS

8.

MAPEAMENTO DO MODELO CONCEITUAL PARA O LGICO

RELACIONAMENTOS BINRIOS AUTORRELACIONAMENTOS RELACIONAMENTOS TERNRIOS GENERALIZAO/ESPECIALIZAO 9. MAPEAMENTO DO MODELO CONCEITUAL PARA O LGICO ESTUDOS DE CASO SISTEMA VIDEO LOCADORA SISTEMA ESCOLA SISTEMA EMPRESA 10. NORMALIZAO: CONCEITOS PRELIMINARES NORMALIZAO CHAVES DEPENDNCIA FUNCIONAL (DF) TRANSITIVIDADE DEPENDNCIA FUNCIONAL IRREDUTVEL ESQUERDA DEPENDNCIA MULTIVALORADA (DMV) 11. NORMALIZAO: FORMAS NORMAIS 1FN (PRIMEIRA FORMA NORMAL) 2FN (SEGUNDA FORMA NORMAL) 3FN (TERCEIRA FORMA NORMAL) 12. LGEBRA RELACIONAL SELEO PROJEO PRODUTO CARTESIANO DIFERENA UNIO INTERSECO JUNO JUNO NATURAL DIVISO OPERADORES 13. 14. LGEBRA RELACIONAL - EXERCCIOS SQL STRUCTURED QUERY LANGUAGE

30 31 32 32 33 33 33 33 34 34 34 35 35 35 36 38 38 38 39 42 42 43 43 43 44 44 44 45 45 46 48

15.

SQL STRUCTURED QUERY LANGUAGE EXERCCIOS

MODELAGEM DE BANCO DE DADOS

INTRODUO

Histrico breve sobre banco de dados e conceitos bsicos importantes.

A humanidade sempre procurou manter registros histricos dos eventos mais importantes para que pudessem ser utilizados posteriormente. Exemplos: Pinturas em cavernas, inscries hieroglficas, escritas cuneiformes e a imprensa (a partir do sculo XV). Os computadores inventados e aperfeioados a partir do sculo XX permitiram que os dados fossem armazenados e recuperados com grande rapidez e facilidade. No incio da dcada de 70 surgiram os SGBDs (Sistemas de Gerenciamento de Banco de Dados). Pesquisas na rea resultaram em um conjunto de tcnicas, processos e notaes para a modelagem ou projeto de banco de dados. Observe, a seguir, alguns conceitos importantes: DADO Podemos definir dado como uma seqncia de smbolos quantificados ou quantificveis. Exemplo: texto (as letras so smbolos quantificados). Tambm so dados: fotos, figuras, sons gravados e animao, pois todos podem ser quantificados. Um dado necessariamente uma entidade matemtica e, desta forma, puramente sinttico. Isto significa que os dados podem ser totalmente descritos atravs de representaes formais, estruturais. Sendo ainda quantificados ou quantificveis, eles podem obviamente ser armazenados em um computador e processados por ele. INFORMAO Informao uma abstrao informal (no pode ser formalizada atravs de uma teoria lgica ou matemtica), que est na mente de algum, representando algo significativo para essa pessoa. Se a representao da informao for feita por meio de dados, pode ser armazenada em um computador. Mas, o que armazenado no computador no a informao, mas a sua representao em forma de dados. CONHECIMENTO Conhecimento pode ser caracterizado como uma abstrao interior, pessoal, de algo que foi experimentado, vivenciado, por algum. Nesse sentido, o conhecimento no pode ser descrito; o que se descreve a informao. Tambm no depende apenas de uma interpretao pessoal, como a informao, pois requer uma vivncia do objeto do conhecimento.

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

A informao pode ser inserida em um computador por meio de uma representao em forma de dados (se bem que, estando na mquina, deixa de ser informao). Como o conhecimento no sujeito a representaes, no pode ser inserido em um computador. Um beb tem conhecimento (reconhece a me, sabe que chorando ganha comida, etc.). Mas no podemos dizer que ele tem informaes, pois no associa conceitos. A informao pode ser prtica ou terica; o conhecimento sempre prtico. BANCO DE DADOS: Um banco de dados pode ser definido como: Uma coleo de dados integrados que tem por objetivo atender a uma comunidade de usurios; Um conjunto de dados persistentes e manipulveis que obedecem a um padro de armazenamento. Exemplos: lista telefnica, dicionrio, etc.

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS (SGBD) O Sistema de Gerenciamento de Banco de Dados o software que incorpora as funes de definio, recuperao e alterao de dados em um banco de dados Por que utilizar bancos de dados informatizados? Bancos de dados informatizados apresentam as seguintes vantagens: Compacto (elimina arquivos de papis); Rpido; Integrado (vrios aplicativos utilizam o mesmo repositrio de dados); Compartilhado (vrios usurios podem acessar); Seguro (controle de acesso); Padronizado; Consistente; Suporte a transaes.

MODELO DE DADOS
Modelo de dados refere-se descrio formal da estrutura de um banco de dados. SISTEMA DE GERENCIAMENTO DE ARQUIVOS (FMS File Management System) Foi a primeira forma utilizada para armazenamento de dados. Baseia-se no armazenamento dos dados de forma sequencial em um nico arquivo. Apresenta como vantagem a simplicidade na forma em que os dados so estruturados no arquivo. No entanto, esse sistema no apresenta relao entre os dados, nem mecanismos de busca, classificao e recursos para evitar problemas de integridade.

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

MODELO HIERRQUICO (HDS Hierarquical Database System) Surgiu na dcada de 1960 com a primeira linguagem de banco de dados: a DL/I desenvolvida pela IBM e a North American Aviation. Organiza os dados de cima para baixo, como uma rvore. Cada registro dividido em partes denominadas segmentos. O banco de dados se assemelha a um organograma com um segmento raiz e um nmero qualquer de segmentos subordinados. Os segmentos so arranjados em estruturas com um segmento superior ligado a um segmento subordinado em um relacionamento pai-filho. Um segmento pai pode ter mais de um filho, mas um segmento filho s pode ter um pai. A desvantagem apresentada rigidez da estrutura de dados, que obriga refazer todo o banco de dados, caso o seguimento raiz ou os seguimentos que possuem dependentes sejam alterados. O sistema comercial mais divulgado do modelo hierrquico foi o IMS (Information Management System) da IBM Corporation. MODELO EM REDE (NDS - Network Database System) Definidos pelo DBTG (DataBase Task Group) do comit do CODASYL (Conference on Data Systems Language) a partir de 1971. Esse modelo uma extenso do modelo hierrquico. Os registros so organizados no banco de dados por um conjunto arbitrrio de grficos. Em outras palavras, um filho pode ter mais de um pai. Esta metodologia torna a pesquisa mais rpida e mais flexvel, pois no depende de um nico n raiz como vetor de inicializao de pesquisa. Entretanto, o modelo em rede ainda apresenta os mesmos problemas com relao ao projeto de estrutura do modelo hierrquico. Qualquer alterao feita em uma classe de dados implica na criao de uma nova estrutura para suportar aquela alterao. No modelo em rede um dos sistemas mais conhecidos o CA IDMS da Computer Associates. MODELO RELACIONAL (Relational Model) Foi apresentado por Edgard F. Codd (IBM) em seu artigo A Relational Model of Data for Large Shared Data Banks (1970). Foi o evento mais importante na histria recente da rea de banco de dados. O objetivo do modelo representar os dados de forma mais simples, atravs de um de conjuntos de tabelas inter-relacionadas. Este modelo abandona os conceitos anteriores, tornando os bancos de dados mais flexveis, tanto na forma de representar as relaes entre os dados, como na tarefa de modificao de sua estrutura, sem ter que reconstruir todo o banco de dados. Os primeiros produtos relacionais comearam a aparecer no final da dcada de 1970. Hoje a maioria dos sistemas de banco de dados relacional: IBM: DB2 Microsoft: SQL Server Oracle: 9i, 10g, 11g MySQL PostgreSQL

A principal linguagem de manipulao de dados em sistemas de bancos de dados relacionais o SQL (Structured Query Language).

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

MODELO ORIENTADO A OBJETOS Surgiu em meados de 1980 para armazenamento de dados complexos, no adequados aos sistemas relacionais. Exemplos: GIS (Geographical Information System) e CAD/CAM/CAE. O modelo de banco de dados orientado a objetos baseado nos conceitos de orientao a objetos j difundidos em linguagens de programao como o SmallTalk e o C++. Seu objetivo principal tratar os tipos de dados complexos como um tipo abstrato (objeto). A filosofia do modelo de dados orientado a objetos consiste em agrupar os dados e o cdigo que manipula estes dados em um nico objeto, estruturando-os de forma que possam ser agrupados em classes. Isso significa que os objetos de banco de dados agrupados podem usar o mesmo mecanismo de herana para definir superclasses e subclasses de objetos, criando assim hierarquias. O OMDG (Object Database Management Group) definiu um padro de estrutura para bancos de dados orientados a objetos. O grupo props um padro conhecido como ODMG-93, atualmente revisado e denominado ODMG 2.0. Quando os bancos de dados orientados a objetos foram introduzidos, algumas das falhas perceptveis do modelo relacional pareceram ter sido solucionadas e acreditava-se que tais bancos de dados ganhariam grande parcela do mercado. Hoje, porm, acredita-se que os bancos de dados orientados a objetos sero usados em aplicaes especializadas, enquanto os sistemas relacionais continuaro a sustentar os negcios tradicionais, onde as estruturas de dados baseadas em relaes so suficientes. Utiliza-se geralmente o diagrama de classes UML como esquema para o modelo de dados orientado a objetos. SISTEMAS OBJETO-RELACIONAIS Fornecedores de bancos de dados relacionais adicionaram a seus produtos capacidade de incorporar objetos mais complexos (imagem, som e vdeo) alm de recursos de orientao a objetos. No entanto, isso no os torna sistemas puramente orientados a objetos, apesar de sua denominao ORDMS Object-Relacional Database Management System (Sistema de Gerenciamento de Banco de Dados Objeto-Relacional). Esses sistemas na realidade implementam uma camada de abstrao de dados em cima de mtodos relacionais, o que torna possvel a manipulao de dados mais complexos. Seguem, portanto, as especificaes da SQL3 que fornecem capacidades estendidas e de objetos adicionadas ao padro SQL. Todas as caractersticas relacionais permanecem, ou seja, as tabelas continuam a existir, porm elas possuem alguns recursos adicionais. Anteriormente, as tabelas apenas podiam conter valores atmicos em seus atributos, agora pode-se definir novos tipos de dados e us-los para receber valores complexos. Alguns Sistemas de Gerenciamento de Banco de Dados Objeto-Relacionais: Informix, IBM DB2, Oracle 10g.

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

ABSTRAO DE DADOS
A arquitetura ANSI/SPARC (American National Standards Institute - Standards Planning And Requirements Committee) se divide em trs nveis: interno, conceitual e externo, embora outros nomes tambm sejam utilizados: NVEL INTERNO (OU DE ARMAZENAMENTO): o nvel mais baixo de abstrao e o mais prximo do armazenamento fsico. Descreve como os dados esto de fato armazenados. NVEL CONCEITUAL (LGICO OU LGICO DE COMUNIDADE): Descreve quais dados esto armazenados e quais os relacionamentos entre eles. uma viso do contedo total do banco de dados. NVEL EXTERNO (LGICO DO USURIO): o nvel mais alto de abstrao e o mais prximo dos usurios. aquele que se ocupa do modo como os dados so vistos por usurios individuais.

Figura 1.1: Arquitetura ANSI/SPARC INDEPENDNCIA DE DADOS: a capacidade de modificar a definio dos esquemas em determinado nvel, sem afetar o esquema do nvel superior: Independncia de dados fsica: a capacidade de modificar o esquema fsico sem que, com isso, qualquer programa ou aplicao precise ser reescrito. Independncia de dados lgica: a capacidade de modificar o esquema lgico sem que, com isso, qualquer programa ou aplicao precise ser reescrito. A independncia lgica mais difcil de ser alcanada, uma vez que as aplicaes so mais fortemente dependentes da estrutura lgica dos dados do que de seu acesso.

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

EXERCCIOS
INDIVIDUAL: 1. Elabore um texto (mais ou menos vinte linhas) discorrendo sobre a importncia dos registros de dados para uma empresa e para a sociedade em geral. 2. Como voc entende por: informao, dado e conhecimento? 3. O que um banco de dados? O que um SGBD (Sistema Gerenciador de Banco de Dados)? 4. Cite cinco razes para utilizar-se um banco de dados computadorizado. 5. Fale brevemente sobre os seguintes modelos de banco de dados: a. hierrquico b. em rede c. relacional 6. Quais so os trs nveis de abstrao de dados? Comente brevemente sobre eles. GRUPO: 1. Forme um grupo com no mximo trs colegas e discutam sobre o texto elaborado por cada participante no item 1 (acima). Elaborem um texto comum ao grupo. LEITURA RECOMENDADA: ROB, PETER; CORONEL, CARLOS. Sistemas de Banco de Dados. So Paulo: Cengage Learning, 2011. (pags. 4- 8 e 31-49) CODD, EDGARD F. A Relational Model of Data for Large Shared Data Banks. Disponvel em: www.unilivros.com.br/pdf/_codd_acm_1970.pdf (idioma: ingls)

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

ARQUITETURAS DE SISTEMAS E MODELAGEM DE DADOS

Apresentao das arquiteturas de sistemas e fundamentos da modelagem de dados. SISTEMAS CENTRALIZADOS Sistemas centralizados so aqueles executados em grandes computadores centrais (mainframes). Os programas de aplicao e os de interface com os usurios, bem como as funcionalidades do SGBD (Sistema Gerenciador de Banco de Dados) so todos processados no sistema central. Os usurios acessam o sistema central via terminais, sem poder de processamento, atravs de uma rede de comunicao. SISTEMAS CLIENTE-SERVIDOR A estrutura fundamental dos sistemas cliente-servidor consiste de estaes de trabalho (normalmente PCs) conectadas via rede aos servidores que tm funcionalidades especficas: servidor de arquivo, de impresso, web, SGBD, etc. As mquinas clientes (estaes de trabalho) oferecem aos usurios as interfaces apropriadas para utilizar os servidores, bem como poder de processamento para executar aplicaes locais. Sistemas cliente-servidor de trs camadas para aplicaes Web Possui uma camada intermediria entre o cliente e o servidor de banco de dados. Essa camada intermediria chamada de servidor de aplicaes ou servidor web e pode armazenar regras de negcio (procedimentos ou restries) que so usadas para acessar os dados no servidor de banco de dados. SISTEMAS PARALELOS Suprem a demanda de aplicaes que geram consultas em bancos de dados muito grandes ou que tenham de processar uma quantidade enorme de transaes por segundo. Sistemas paralelos imprimem velocidade ao processamento e I/O (input/output) por meio do uso em paralelo de diversas CPUs e discos. H diversos modelos arquitetnicos: memria compartilhada, disco compartilhado, etc. SISTEMAS DISTRIBUDOS Em um sistema distribudo o banco de dados armazenado em diversos computadores. Os computadores comunicam-se uns com os outros por intermdio de redes de alta velocidade ou linhas telefnicas. Eles no compartilham memria principal ou discos. Os computadores em um sistema de banco de dados distribudos podem variar, quanto ao tamanho e funes, desde estaes de trabalho at sistemas de grande porte (mainframes).

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

MODELAGEM DE BANCO DE DADOS


O projeto de um banco de dados ocorre geralmente observando-se as seguintes etapas: LEVANTAMENTO E ANLISE DE REQUISITOS a primeira etapa do projeto de um sistema de aplicao em banco de dados. O analista entrevista o(s) usurio(s) do banco de dados para fazer o levantamento dos requisitos de dados. Esses requisitos devem ser especificados em um formulrio de forma detalhada e completa. importante definir tambm os requisitos funcionais da aplicao, isto , as operaes (transaes) definidas pelo usurio que sero aplicadas ao banco de dados. MODELO CONCEITUAL a prxima etapa do projeto de um sistema de aplicao em banco de dados. Representa ou descreve a realidade do ambiente do problema, constituindo-se em uma viso global dos principais dados e relacionamentos, independente das restries de implementao. uma descrio em alto nvel (macro definio), mas que tem a preocupao de capturar e retratar toda a realidade de uma organizao. O resultado de um modelo conceitual um esquema que representa a realidade das informaes existentes, assim como as estruturas de dados que representam estas informaes. MODELO LGICO Tem seu incio a partir do modelo conceitual, levando em considerao trs abordagens principais: Relacional (atualmente o mais utilizado), Hierrquica e Rede. O modelo lgico descreve as estruturas que estaro contidas no banco de dados, mas sem considerar ainda nenhuma caracterstica especfica de SGBD, resultando em um esquema lgico de dados. MODELO FSICO Parte do modelo lgico e descreve as estruturas fsicas de armazenamento de dados, tais como: tamanhos de campos, ndices, tipos de dados, nomenclaturas, etc. Este modelo detalha o estudo dos mtodos de acesso do SGDB, para elaborao dos ndices de cada informao colocada nos modelos conceitual e lgico. a etapa final do projeto de banco de dados, na qual ser utilizada a linguagem de definio de dados (DDL), para a realizao da montagem do mesmo no nvel de dicionrio de dados.

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

EXERCCIOS
INDIVIDUAL: 1. Descreva brevemente os seguintes sistemas: centralizados, cliente-servidor, paralelos e distribudos. a. Centralizados b. Cliente-servidor c. Paralelos d. Distribudos 2. Quais etapas devem ser observadas na modelagem de dados? Explique cada uma delas. GRUPO: 1. Forme um grupo com no mximo cinco colegas e discutam sobre: Como as corporaes esto utilizando os dados para obter vantagens competitivas? Apresentem um exemplo. Elaborem um texto comum ao grupo. LEITURA RECOMENDADA: SIBERSCHATZ, ABRAHAM; KORTH, HENRY F.; SUDARSHAN, S. Sistema de Banco de Dados. 5 ed. Rio de Janeiro: Elsevier, 2006. (pags. 28-31)

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

MODELO CONCEITUAL
Conceitos fundamentais da modelagem de dados a partir de sua primeira etapa: o modelo conceitual.

MODELO CONCEITUAL Descrio do banco de dados de forma independente de implementao em um SGBD. Registra que dados podem aparecer no banco de dados, mas no registra como estes dados esto armazenados no SGDB (Sistema Gerenciador de Banco de Dados).

DIAGRAMA ENTIDADE-RELACIONAMENTO

Figura 3.1 Diagrama Entidade-Relacionamento MER (Modelo Entidade-Relacionamento) Foi definido por Peter Chen em 1976, e teve como base a teoria relacional criada por Edgard F. Codd (1970). Um MER um modelo formal, preciso, no ambguo. Isto significa que diferentes leitores de um mesmo MER devem sempre entender exatamente o mesmo. Tanto assim, que um MER pode ser usado como entrada de uma ferramenta CASE (Computer Aided Software Engineering) na gerao de um banco de dados relacional. ENTIDADES Representam um conjunto de objetos (tudo que perceptvel ou manipulvel) da realidade modelada sobre os quais deseja-se manter informaes no banco de dados. ATRIBUTOS Dados que so associados a cada ocorrncia de uma entidade ou de um relacionamento. ATRIBUTO IDENTIFICADOR OU ATRIBUTO DETERMINANTE Atributo ou conjunto de atributos e relacionamentos cujos valores distinguem uma ocorrncia da entidade das demais.

2011 Prof. Marcos Alexandruk

10

MODELAGEM DE BANCO DE DADOS

CARDINALIDADE Nmero (mnimo, mximo) de ocorrncias de entidade associadas a uma ocorrncia da entidade em questo atravs do relacionamento. Cardinalidade mnima o nmero mnimo de ocorrncias de entidade que so associadas a uma ocorrncia da mesma (auto-relacionamento) ou de outra(s) entidade(s) atravs de um relacionamento. A cardinalidade mnima 1 recebe a denominao de associao obrigatria, j que ela indica que o relacionamento deve obrigatoriamente associar uma ocorrncia de entidade a outra. A cardinalidade mnima 0 (zero) recebe a denominao de associao opcional. Cardinalidade mxima o nmero mximo de ocorrncias de entidade que so associadas a uma ocorrncia da mesma ou de outra entidade atravs de um relacionamento. Apenas duas cardinalidades mximas so relevantes: a cardinalidade mxima 1 e a cardinalidade mxima n (muitos). INTERPRETAO DO DIAGRAMA ENTIDADE RELACIONAMENTO A figura a seguir apresenta os detalhes necessrios interpretao de um DER (Diagrama Entidade Relacionamento).

Figura 3.2 Interpretao do DER

DIAGRAMA DE OCORRNCIAS
Para fins didticos, pode ser til construir um diagrama de ocorrncias. Neste as ocorrncias de entidades so representadas por crculos brancos e ocorrncias de relacionamentos por crculos pretos. As ocorrncias de entidades participantes de uma ocorrncia de relacionamento so indicadas pelas linhas que ligam o crculo preto aos crculos brancos.

Figura 3.3 Diagrama de Ocorrncias

2011 Prof. Marcos Alexandruk

11

MODELAGEM DE BANCO DE DADOS

EXERCCIOS
INDIVIDUAL: 1. Explique o que um modelo conceitual de dados. 2. Quem apresentou pela primeira vez o MER (Modelo Entidade Relacionamento) e baseando-se em que? 3. Explique com suas palavras cada um dos itens a seguir: a. Entidade b. Atributo c. Identificador de entidade (ou atributo identificador) d. Cardinalidade 4. O que um diagrama de ocorrncias? 5. Quais as vantagens de desvantagens de utilizar-se o RG ou o CPF de um cliente como atributo identificador? Por que muitas empresas atribuem um nmero ou cdigo prprio para identificar seus clientes? GRUPO: Forme um grupo com no mximo trs colegas e resolva os casos a seguir. Elabore o DER (Diagrama Entidade Relacionamento) e o Diagrama de Ocorrncias para cada caso. 1. Vrias empresas possuem frotas de veculos que so identificados atravs da placa (XYZ-1234). So registrados tambm os fabricantes e modelos de cada veculo. Os funcionrios so identificados atravs do nmero de matrcula. So mantidos registros do nome e CPF de cada funcionrio. Criar o DER (Diagrama Entidade Relacionamento) para cada um dos casos descritos a seguir: a. Empresa A: Cada veculo (sem exceo) dirigido por um apenas funcionrio. Todos os veculos esto alocados aos funcionrios. Cada funcionrio pode utilizar apenas um veculo e todos os funcionrios tm veculos pertencentes frota da empresa. Empresa B: Cada veculo (sem exceo) dirigido por um apenas funcionrio. Todos os veculos esto alocados aos funcionrios. Cada funcionrio pode utilizar apenas um veculo, porm alguns funcionrios no tm veculos pertencentes frota da empresa. Empresa C: Cada veculo pode ser dirigido por um ou mais funcionrios. Todos os veculos esto alocados aos funcionrios. Alguns funcionrios podem utilizar mais um veculo e todos os funcionrios tm veculos pertencentes frota da empresa. Empresa D: Cada veculo (sem exceo) dirigido por um apenas funcionrio. Todos os veculos esto alocados aos funcionrios. Alguns funcionrios podem utilizar mais de um veculo, porm alguns funcionrios no tm veculos pertencentes frota da empresa.

b.

c.

d.

2011 Prof. Marcos Alexandruk

12

MODELAGEM DE BANCO DE DADOS

e.

Empresa E: Cada veculo pode ser dirigido por um ou mais funcionrios. Todos os veculos esto alocados aos funcionrios. Cada funcionrio pode utilizar apenas um veculo e todos os funcionrios tm veculos pertencentes frota da empresa. Empresa F: Alguns veculos podem ser dirigidos por mais de um funcionrio. Porm, outros veculos no podem ser alocados aos funcionrios. Cada funcionrio pode utilizar apenas um veculo, porm alguns funcionrios no tm veculos pertencentes frota da empresa.

f.

2. Tomando como base os diagramas a seguir elabore um texto breve (similar aos apresentados nas questes acima) para explicar cada caso. a.

b.

c.

LEITURA RECOMENDADA: HEUSER, CARLOS ALBERTO. Projeto de Banco de Dados. 6 ed. So Paulo: Artmed, 2009. (pags. 34-54) DOWNLOAD RECOMENDADO: BrModelo: Ferramenta freeware voltada para ensino de modelagem em banco de dados. Desenvolvida por Carlos Henrique Cndido como trabalho de concluso do curso de ps-graduao em banco de dados (UNVAG-MT e UFSC). Disponvel em: http://sis4.com/brModelo/download.aspx

2011 Prof. Marcos Alexandruk

13

MODELAGEM DE BANCO DE DADOS

GRAUS DE RELACIONAMENTOS

Apresentao dos vrios graus de relacionamentos: binrio, auto relacionamento e ternrio ou n-rio.

GRAUS DE RELACIONAMENTOS O grau de um relacionamento refere-se ao nmero de entidades que participam de um relacionamento. Observe a seguir os diversos graus de relacionamentos: RELACIONAMENTO BINRIO Um relacionamento binrio aquele envolve duas ocorrncias de entidade. Podemos classificar os relacionamentos binrios em: 1:1 (um-para-um): cada ocorrncia de uma entidade relaciona-se com uma e somente uma ocorrncia da outra entidade. 1:N (um-para-muitos): uma ocorrncia da entidade 1 relaciona-se com muitas ocorrncias da entidade 2, mas cada ocorrncia da entidade 2 somente pode estar relacionada com uma ocorrncia da entidade 1. N:N (muitos-para-muitos): em ambos os sentidos encontramos um ou mais relacionamentos de um-para-muitos, isto , uma ocorrncia da entidade 1 relaciona-se com muitas ocorrncias da entidade 2 e vice e versa.

Figura 4.1 Relacionamento Binrio RELACIONAMENTO TERNRIO (N-RIO) Denominamos ternrios os relacionamentos entre trs conjuntos de entidades. Relacionamentos com quatro ou mais conjuntos de entidades so chamados de n-rios. Porm, sua utilizao no recomendada devido a sua complexidade. Sugere-se que sejam quebrados em relacionamentos binrios e/ou ternrios. No exemplo a seguir queremos garantir que a seguinte situao seja representada de forma apropriada: o professor x ministra a disciplina y para a turma z. Esta condio deve ser representada atravs de um relacionamento ternrio.

Figura 4.2 Relacionamento Ternrio

2011 Prof. Marcos Alexandruk

14

MODELAGEM DE BANCO DE DADOS

Observe que no exemplo apresentado, cada par de ocorrncias (turma, disciplina) est associado no mximo um professor. A um par (turma, professor) podem estar associadas muitas disciplinas, ou em outros termos, um professor pode ministrar a uma determinada turma vrias disciplinas. A um par (disciplina, professor) podem estar associados muitas turmas, ou em outros termos, um professor pode uma determinada disciplina a vrias turmas. AUTO RELACIONAMENTO Relacionamento entre ocorrncias de uma mesma entidade. AUTO RELACIONAMENTO 1:1 O diagrama abaixo representa a seguinte situao: uma ocorrncia de pessoa exerce o papel de marido e outra ocorrncia de pessoa exerce o papel de esposa.

Figura 4.3 Auto relacionamento 1:1 AUTO RELACIONAMENTO 1:N Abaixo temos representada a seguinte situao: uma ocorrncia de funcionrio exerce o papel de supervisor e outras ocorrncias de funcionrio exercem o papel de supervisionado.

Figura 4.4 Auto relacionamento 1:N AUTO RELACIONAMENTO N:N E, finalmente, temos representada a seguinte situao: algumas ocorrncias de produto exercem o papel de composto e outras ocorrncias exercem o papel de componente.

Figura 4.5 Auto relacionamento N:N

2011 Prof. Marcos Alexandruk

15

MODELAGEM DE BANCO DE DADOS

EXERCCIOS
INDIVIDUAL: 1. O que voc entende por: a. Relacionamento binrio b. Relacionamento ternrio c. Auto-relacionamento 2. Explique a classificao dos relacionamentos binrios quanto sua cardinalidade mxima (1:1, 1:N e N:N). GRUPO: 1. Forme um grupo com no mximo trs colegas apresente um exemplo para cada um dos seguintes relacionamentos: a. Binrio b. Ternrio c. Auto-relacionamento

2011 Prof. Marcos Alexandruk

16

MODELAGEM DE BANCO DE DADOS

GENERALIZAO/ESPECIALIZAO, ENTIDADE ASSOCIATIVA

Conceitos sobre generalizao/especializao, entidade associativa e atributos opcionais, compostos e multivalorados.

GENERALIZAO/ESPECIALIZAO
Atravs deste conceito possvel atribuir propriedades particulares a um subconjunto das ocorrncias especializadas de uma entidade genrica. Especializao total: para cada ocorrncia da entidade genrica existe sempre uma ocorrncia em uma das entidades especializadas. O exemplo abaixo apresenta uma especializao total: os clientes de uma empresa sero apenas pessoas fsicas ou jurdicas.

Figura 5.1 Especializao Total Especializao parcial: nem toda ocorrncia da entidade genrica possui uma ocorrncia correspondente em uma entidade especializada. O exemplo a seguir apresenta uma especializao parcial: os funcionrios da empresa podero ter outras profisses alm das apresentadas no diagrama abaixo.

Figura 5.2 Especializao Parcial

2011 Prof. Marcos Alexandruk

17

MODELAGEM DE BANCO DE DADOS

MLTIPLOS NVEIS E HERANA MLTIPLA admissvel que uma mesma entidade seja especializao de diversas entidades genrica (herana mltipla). No diagrama abaixo o exemplo de herana mltipla aparece na entidade ANFBIO (que herda tanto de TERRESTRE quanto de AQUTICO).

Figura 5.3 Mltiplos nveis e herana mltipla HERANA DE PROPRIEDADES Herdar propriedades significa que cada ocorrncia da entidade especializada possui, alm de suas propriedades (atributos, relacionamentos e generalizaes/especializaes) tambm as propriedades da ocorrncia da entidade genrica correspondente. GENERALIZAO/ESPECIALIZAO EXCLUSIVA Significa que uma ocorrncia de entidade genrica aparece, para cada hierarquia generalizao/especializao, no mximo uma vez. GENERALIZAO/ESPECIALIZAO NO EXCLUSIVA Neste caso, uma ocorrncia da entidade genrica pode aparecer em mltiplas especializaes. No exemplo a seguir, considera-se o conjunto de pessoas vinculadas a uma universidade. Neste caso a especializao no exclusiva, j que a mesma pessoa pode aparecer em mltiplas especializaes. Uma pessoa pode ser professor de um curso e ser aluno em outro curso (ps-graduao, por exemplo). Por outro lado, uma pessoa pode acumular o cargo de professor em tempo parcial com o cargo de funcionrio, ou, at mesmo, ser professor de tempo parcial em dois departamentos diferentes, sendo portanto duas vezes professor. O principal problema que este tipo de generalizao/especializao apresenta que neste caso as entidades especializadas no podem herdar o identificador da entidade genrica. No caso, o identificador de pessoa no seria suficiente para identificar professor, j que uma pessoa pode ser mltiplas vezes professor.

2011 Prof. Marcos Alexandruk

18

MODELAGEM DE BANCO DE DADOS

Figura 5.4 Generalizao/especializao no exclusiva

ENTIDADE ASSOCIATIVA
Um relacionamento uma associao entre entidades. Na modelagem EntidadeRelacionamento no foi prevista a possibilidade de associar dois relacionamentos entre si. Uma entidade associativa nada mais que a redefinio de um relacionamento, que passa a ser tratado como se fosse tambm uma entidade.

Figura 5.5 Associao entre dois relacionamentos (no possvel)

Figura 5.6 Entidade associativa

2011 Prof. Marcos Alexandruk

19

MODELAGEM DE BANCO DE DADOS

ATRIBUTOS OPCIONAIS Atributos opcionais so aqueles que se aplicam apenas a determinadas ocorrncias de uma entidade, e no a outras. Exemplo: FUNCIONRIO e os registros profissionais em diferentes entidades de classe: CRM, CREA, OAB, etc. Atributos opcionais muitas vezes indicam subconjuntos da entidade que devem ser modelados atravs de especializao.

Figura 5.7 Atributos opcionais x especializao ATRIBUTOS COMPOSTOS Chamamos que atributos compostos queles nos quais o contedo formado por vrios itens menores. Exemplo: ENDEREO composto por: nome do logradouro, nmero, complemento (exemplo: apartamento), bairro, cidade, estado, etc.

Figura 5.8 Atributos compostos ATRIBUTOS MULTIVALORADOS Denominamos atributos multivalorados queles nos quais o contedo formado por mais de um valor. Exemplo: FUNCIONRIO e DEPENDENTE, este ltimo como atributo. Para atributos multivalorados recomenda-se a soluo apresentada na figura a seguir.

Figura 5.9 Atributos multivalorados

2011 Prof. Marcos Alexandruk

20

MODELAGEM DE BANCO DE DADOS

EXERCCIOS
INDIVIDUAL: 1. O que voc entende por: a. b. c. d. e. Generalizao/Especializao Especializao total Especializao parcial Especializao exclusiva Especializao no exclusiva

2. O que uma entidade associativa. 3. Explique o que so: a. Atributos opcionais b. Atributos compostos c. Atributos multivalorados GRUPO: 1. Forme um grupo com no mximo trs colegas apresente um exemplo para cada um dos seguintes casos: a. Generalizao/Especializao b. Entidade com atributo opcional c. Entidade com atributo composto d. Entidade com atributo multivalorado

2011 Prof. Marcos Alexandruk

21

MODELAGEM DE BANCO DE DADOS

ELABORAO DE DIAGRAMAS ENTIDADE RELACIONAMENTO

Estudos de caso com a aplicao de Diagramas Entidade Relacionamento.

EXERCCIOS
INDIVIDUAL:

SISTEMA VIDEO LOCADORA


Uma locadora de vdeos possui aproximadamente 5000 DVDs. O objetivo do sistema manter um controle das locaes efetuadas pelos clientes. Cada DVD possui um cdigo exclusivo e contm somente um filme. Para cada filme, necessrio saber seu ttulo e sua categoria (comdia, drama, aventura, etc.). Cada filme recebe um identificador prprio. H pelo menos um DVD de cada filme. Os clientes frequentemente desejam encontrar os filmes estrelados pelos seus atores prediletos. Por isso, necessrio manter a informao dos atores que estrelam em cada filme. Nem todo filme possui atores (exemplo: documentrios). Para cada ator os clientes s vezes desejam saber o nome real, alm do nome artstico e a data de nascimento. A locadora possui aproximadamente 3000 clientes cadastrados. Somente clientes cadastrados podem alugar DVDs. Para cada cliente necessrio saber seu nome, seu telefone, seu email e seu endereo. Cada cliente recebe um nmero de associado. Um cliente pode alugar vrios DVDs em um instante do tempo. necessrio manter os registros histricos das locaes com as datas de retirada e entrega dos DVDs.

SISTEMA ESCOLA
Uma escola de informtica oferece vrios cursos livres com durao entre trinta e sessenta dias. Cada curso recebe um cdigo identificador. Professores so contratados para ministrar um ou mais cursos e, portanto necessrio saber quais cursos cada professor est habilitado a ministrar. Os professores recebem um nmero de matrcula. A escola deseja manter tambm registrado o nome, endereo, telefone, email de todos os seus professores. H vrias turmas para cada curso. Cada turma, identificada por um cdigo, tem apenas um professor e est alocada em apenas uma sala. Porm, uma sala pode ser alocada para mais de uma turma em diferentes perodos. Um aluno pode matricular-se simultaneamente em vrios cursos e, portanto, pertencer a mais de uma turma. No momento da matrcula o aluno recebe um RA (vlido para um ou mais cursos). A escola mantm registrado o nome, endereo, telefone, email, RG e CPF de todos os seus alunos.

2011 Prof. Marcos Alexandruk

22

MODELAGEM DE BANCO DE DADOS

SISTEMA EMPRESA
Uma empresa organizada em departamentos. Cada departamento possui um nome e um cdigo nico e pode ter vrias localidades (cidades). Os projetos existentes na empresa so, obrigatoriamente, controlados por um departamento, e cada projeto possui um nome, um cdigo nico e uma nica localizao (cidade), que pode ser diferente das possveis localidades do departamento que o controla. Alguns departamentos no possuem projetos sob sua responsabilidade. No caso dos empregados da empresa armazenado nmero de matricula, nome, endereo, salrio, sexo e data de nascimento. Quase todos os empregados tm um outro empregado que o seu supervisor direto, e consequentemente, somente alguns so supervisores. Em funo da cadeia hierrquica existem empregados que no possuem supervisores. A maioria dos empregados so alocados a um departamento, ou seja, pode at existir um empregado sem departamento, mas todo departamento deve possuir empregados alocados a ele, alm disso, todo departamento tem um chefe que o gerencia, a partir de uma data, pois a empresa implementa um sistema de rodzio na chefia dos departamentos, o rodzio na chefia determina que um empregado s pode ser chefe de somente um departamento. Um empregado pode trabalhar em mais de um projeto, mesmo que no seja do seu departamento, dedicando algumas horas por semana em cada um dos projetos. E, claro, alguns empregados no esto empenhados em nenhum projeto. Por outro lado, todo projeto tem pelo menos um ou mais empregados trabalhando nele. A empresa oferece alguns benefcios sociais aos dependentes dos seus empregados, caso ele possua. Para tanto, mantido para cada dependente do empregado o nome do dependente, o sexo, a data de nascimento e o grau de parentesco. GRUPO: 1. Forme um grupo com no mximo trs colegas, especifique um sistema e elabore o DER (Diagrama Entidade Relacionamento).

2011 Prof. Marcos Alexandruk

23

MODELAGEM DE BANCO DE DADOS

MODELO RELACIONAL

Apresentao da prxima etapa do projeto de banco de dados: o modelo lgico (relacional).

A prxima etapa do projeto de banco de dados envolve o chamado modelo lgico. Atualmente, grande parte dos sistemas de banco de dados utiliza o modelo relacional. Um banco de dados relacional composto por tabelas (tambm denominadas relaes). Observe a seguir alguns conceitos importantes para pleno entendimento do modelo relacional:

TABELA
Estrutura bi-dimensional composta por linhas (tuplas) e campos (ou atributos).

Figura 7.1 Tabela

CHAVE PRIMRIA (PK Primary Key)


Atributo atravs do qual seja possvel identificar determinado registro. Uma chave primria no pode ser repetida, ou seja, o conjunto de valores que constituem a chave primria deve ser nico dentro de uma tabela. Chave primria simples: apenas um atributo (campo) compe a chave primria. Chave primria composta: mais de um atributo compe a chave primria.

Figura 7.2 Chave Primria

2011 Prof. Marcos Alexandruk

24

MODELAGEM DE BANCO DE DADOS

CHAVE NICA (Unique)


Utilizada quando determinado campo no deve ser repetido e no chave primria. Aumenta a consistncia do banco de dados. Exemplo: Cadastro de funcionrios. Cada funcionrio recebe um cdigo nico, que a chave primria. Para maior segurana e consistncia podemos optar que o campo CPF tambm seja nico, evitando que o mesmo funcionrio seja cadastrado duas vezes.

Figura 7.3 Chave nica

CHAVE ESTRANGEIRA (FK Foreign Key)


Utilizada quando queremos que o valor de um atributo seja validado a partir do valor de atributo de outra tabela. Criamos assim uma relao de dependncia (um relacionamento) entre as tabelas. Exemplo: Antes de efetuar a alocao de um funcionrio em um departamento, necessrio que o departamento em questo conste na tabela de departamentos.

Figura 7.4 Chave Estrangeira

RELACIONAMENTOS
Associao estabelecida entre campos comuns de duas tabelas. Dessa forma permitimos o estabelecimento de correspondncia entre registros de diferentes tabelas. Os relacionamentos apresentam a seguinte classificao quanto sua cardinalidade: Relacionamento um-para-um (1:1) Cada ocorrncia de uma tabela relaciona-se com uma e somente uma ocorrncia da outra tabela. Relacionamento um-para-muitos (1:N) Uma ocorrncia da tabela pai relaciona-se com muitas ocorrncias da tabela filho, mas cada ocorrncia da tabela filho somente pode estar relacionada com uma ocorrncia da tabela pai.

2011 Prof. Marcos Alexandruk

25

MODELAGEM DE BANCO DE DADOS

Relacionamento muitos-para-muitos (N:N) Apresenta em ambos os sentidos um ou mais relacionamentos de um-para-muitos. No modelo relacional no possvel efetuar este tipo de relacionamento de forma direta. Neste caso, deve-se construir uma terceira tabela (tabela de associao ou tabela de detalhes). Essa tabela deve possuir chave primria composta de dois campos e as chaves estrangeiras provenientes das duas tabelas originais. Concluindo, um relacionamento de muitos-para-muitos deve ser dividido em dois relacionamentos de um-para-muitos com uma terceira tabela.

NOTAO RESUMIDA PARA MODELOS LGICOS RELACIONAIS


Notao compacta, til para discusses sobre a estrutura geral do banco de dados, utilizada quando no se deseja entrar no nvel maior de detalhamento. Observe o exemplo a seguir:
Departamento (CodDept, Nome) Funcionario (CodFunc, Nome, CPF, CodDept) CodDept referencia Departamento

A notao resumida acima representa o seguinte relacionamento entre as tabelas Departamento e Funcionario:

Figura 7.5 Relacionamento Departamento x Funcionario Observe que atravs da notao resumida no possvel determinar se o relacionamento do tipo 1:1 ou 1:N (como no caso representado na figura acima).

INTEGRIDADE DE DADOS
Impor a integridade de dados garante a qualidade dos dados em um banco de dados. Os dados devem refletir corretamente a realidade representada pelo banco e tambm devem ser consistentes entre si. INTEGRIDADE DE DOMNIO Zela pelos valores ideais e necessrios para um atributo. Para isso definimos algumas regras de validao por meio de expresses compostas de valores constantes. Exemplos: No permitir um estoque negativo Impedir uma data de nascimento superior data atual No permitir que o valor de um produto seja negativo

2011 Prof. Marcos Alexandruk

26

MODELAGEM DE BANCO DE DADOS

INTEGRIDADE DE ENTIDADE Tem o objetivo de validar os valores permitidos a partir de valores j inseridos na prpria entidade. Aps uma auto-consulta a entidade vai permitir ou no a gravao do novo registro. Exemplos: No permitir duas pessoas com o mesmo CPF Impedir a locao uma fita que j est locada

INTEGRIDADE REFERENCIAL Zela pela consistncia dos registros de uma entidade a partir de valores provenientes de outras entidades, isto , determinado registro vai depender diretamente de um registro de outra tabela. Exemplos: Um registro em uma tabela pai pode ter um ou mais registros em uma tabela filho. Um registro em uma tabela filho sempre tem um registro coincidente em uma tabela pai. Para a incluso de um registro em uma determinada tabela filho, necessrio que exista um registro pai coincidente. Um registro pai s poder ser excludo se no possuir nenhum registro filho.

CONSTRAINTS (RESTRIES)
Observe a seguir as principais constraints ou restries utilizadas nos bancos de dados relacionais, principalmente durante o processo de criao das tabelas, para implementar os tipos de integridade anteriormente descritos: TIPO PRIMARY KEY FOREIGN KEY UNIQUE CHECK NOT NULL ARMAZENA Identifica a chave primria da tabela Identifica a chave estrangeira Indica que os valores na coluna no podem ser repetidos Especifica os valores que uma coluna pode assumir Indica que o campo no pode receber valores nulos Tabela 7.1 Principais tipos de restries

NOMENCLATURA DE TABELAS E DE CAMPOS


Os sistemas gerenciadores de bancos de dados geralmente impem certas restries quanto aos caracteres vlidos para denominar tabelas, campos (colunas), bem como outros objetos do banco de dados. Observe a seguir o que deve ser evitado: No utilizar caracteres especiais (exceto o underscore _); Comear com uma letra e no com um nmero; Evitar acentuao e ; No utilizar espaos.

2011 Prof. Marcos Alexandruk

27

MODELAGEM DE BANCO DE DADOS

TIPOS DE DADOS
Durante a criao das tabelas do banco de dados necessrio informar que tipo de dados cada coluna dever armazenar. A tabela a seguir apresenta alguns tipos de dados compatveis com o Oracle, um dos principais sistemas de gerenciamento de banco de dados atualmente utilizado: TIPO CHAR VARCHAR2 NUMBER DATE ARMAZENA Cadeia de caracteres de tamanho fixo Cadeia de caracteres de tamanho varivel Valores numricos (inteiros e ponto flutuante) Data e hora (inclusive minutos e segundos) Tabela 7.2 Tipos de dados (Oracle)

EXERCCIOS
INDIVIDUAL: 1. O que um banco de dados relacional? 2. O que uma tabela no contexto dos bancos de dados relacionais? 3. Explique o que voc entende por cada um dos seguintes termos: a. Chave primria b. Chave nica c. Chave estrangeira 4. O que so relacionamentos? Como podemos classific-los quanto cardinalidade? 5. Que soluo deve ser adotada no modelo relacional para relacionamentos com cardinalidade N:N (muitos para muitos)? 6. O que voc entende por: a. Integridade de domnio b. Integridade de entidade c. Integridade referencial 7. Explique o que h de errado nos casos apresentados a seguir: a.

2011 Prof. Marcos Alexandruk

28

MODELAGEM DE BANCO DE DADOS

b.

c.

8. Utilize a notao resumida para representar os casos a seguir conforme o modelo relacional: a.

b.

2011 Prof. Marcos Alexandruk

29

MODELAGEM DE BANCO DE DADOS

MAPEAMENTO DO MODELO CONCEITUAL PARA O LGICO

Apresentao dos mapeamentos do modelo conceitual para o lgico relacional dos diversos tipos de relacionamentos.

RELACIONAMENTOS BINRIOS
Cardinalidade mxima 1:1

Cardinalidade mxima 1:N

2011 Prof. Marcos Alexandruk

30

MODELAGEM DE BANCO DE DADOS

Cardinalidade mxima N:N

Relacionamento com atributo identificador

AUTO-RELACIONAMENTOS
Cardinalidade mxima 1:1

Cardinalidade mxima 1:N

2011 Prof. Marcos Alexandruk

31

MODELAGEM DE BANCO DE DADOS

Cardinalidade mxima N:N

RELACIONAMENTOS TERNRIOS

GENERALIZAO/ESPECIALIZAO

2011 Prof. Marcos Alexandruk

32

MODELAGEM DE BANCO DE DADOS

MAPEAMENTO DO MODELO CONCEITUAL PARA O LGICO

ESTUDOS DE CASO
Estudos de caso com a aplicao de mapeamento do modelo conceitual para o modelo lgico (relacional).

EXERCCIOS
INDIVIDUAL: 1. Faa o mapeamento do modelo conceitual para o modelo lgico (relacional) dos seguintes cases anteriormente estudados: a. Sistema vdeo locadora b. Sistema escola c. Sistema empresa GRUPO: 1. Faa o mapeamento do modelo conceitual para o modelo lgico (relacional) do case elaborado anteriormente pelo seu grupo.

2011 Prof. Marcos Alexandruk

33

MODELAGEM DE BANCO DE DADOS

10

NORMALIZAO: CONCEITOS PRELIMINARES


Apresentao de conceitos necessrios para compreender melhor o processo de normalizao de tabelas.

NORMALIZAO
Conceito introduzido em 1970 por Edgard F. Codd. Processo matemtico formal com fundamento na teoria dos conjuntos.

O processo de normalizao aplica uma srie de regras sobre as tabelas de um banco de dados para verificar se estas foram corretamente projetadas. Os objetivos principais da normalizao de tabelas so os seguintes: Garantir a integridade dos dados, evitando que informaes sem sentido sejam inseridas. Organizar e dividir as tabelas da forma mais eficiente possvel, diminuindo a redundncia e permitindo a evoluo do banco de dados. 1FN 2FN 3FN FNBC 4FN 5FN 1 Forma Normal 2 Forma Normal 3 Forma Normal Forma Normal de Boyce e Codd 4 Forma Normal 5 Forma Normal

So seis as formas normais mais utilizadas:

Nota: As trs primeiras formas normais atendem maioria dos casos de normalizao. Uma forma normal engloba todas as anteriores, isto , para que uma tabela esteja na 2FN, ela obrigatoriamente deve estar na 1FN e assim por diante. Normalmente aps a aplicao das regras de normalizao, algumas tabelas acabam sendo divididas em duas ou mais tabelas. Este processo colabora significativamente para a estabilidade do modelo de dados e reduz consideravelmente as necessidades de manuteno. CHAVES Chave candidata: Atributo ou conjunto de atributos que so nicos para cada registro. Para cada tabela podemos ter uma ou vrias chaves desse tipo. Exemplo: codigo e cpf. Chave primria: Entre as chaves candidatas, escolhemos uma para ser o identificador principal da tabela. Este atributo passa a ser chamado de chave primria (PK Primary Key). Chaves alternativas: So as chaves candidatas que no foram definidas como chave primria. Chave estrangeira: o atributo ou conjunto de atributos que faz a ligao com a chave primria de outra tabela.

2011 Prof. Marcos Alexandruk

34

MODELAGEM DE BANCO DE DADOS

DEPENDNCIA FUNCIONAL (DF) Sempre que um atributo X identifica um atributo Y, dizemos que entre eles h uma dependncia funcional. Temos, portanto, que X o determinante e que Y o dependente. A representao : XY (l-se X determina Y ou Y dependente de X). cidadeestado No exemplo a seguir, estado funcionalmente dependente de cidade ou ainda cidade determina estado.
CIDADE Campinas Natal Niteri ESTADO So Paulo Rio Grande do Norte Rio de Janeiro

Tabela 10.1 Dependncia Funcional TRANSITIVIDADE Se um atributo X determina Y e se Y determina Z, podemos dizer que X determina Z de forma transitiva, isto , existe uma dependncia funcional transitiva de X para Z. cidade estado estado pas cidade pas (cidade determina pas de forma transitiva)
CIDADE Campinas Miami ESTADO So Paulo Florida PAIS Brasil EUA

Tabela 10.2 Transitividade DEPENDNCIA FUNCIONAL IRREDUTVEL ESQUERDA O lado esquerdo de uma dependncia funcional irredutvel quando o determinante est em sua forma mnima, isto , quando no possvel reduzir a quantidade de atributos determinantes sem perder a dependncia funcional. {cidade, estado} pas estado pas
CIDADE ESTADO Campinas So Paulo Miami Florida

(no est na forma irredutvel esquerda, pois podemos ter somente o estado como determinante) (est na forma irredutvel esquerda)

PAIS Brasil EUA

ESTADO So Paulo Florida

PAIS Brasil EUA

Tabela 10.3 No irredutvel esquerda

Tabela 10.4 Irredutvel esquerda

Nota: Nem sempre estar na forma irredutvel esquerda significa possuir um determinante com apenas uma coluna.

2011 Prof. Marcos Alexandruk

35

MODELAGEM DE BANCO DE DADOS

DEPENDNCIA MULTIVALORADA (DMV) A DMV uma ampliao da Dependncia Funcional (DF). Na DMV o valor de um atributo determina um conjunto de valores de um outro atributo. representada por XY (X multidetermina Y ou Y multidependente de X). DF: {CPF}{Nome} Temos somente um nome para cada CPF Temos vrios dependentes para cada pessoa
DEPENDENTE Antonio Santos Beatriz Santos Claudio Santos

DMV: {CPF}{Dependente}
CPF 111222333-00

Tabela 10.5 Dependncia Multivalorada

EXERCCIOS
INDIVIDUAL: Responda s seguintes perguntas: 1. 2. 3. 4. O que voc entende por normalizao de tabelas? Quais os principais objetivos da normalizao de tabelas? O que ocorre normalmente aps a aplicao das regras de normalizao? Explique os seguintes conceitos: a. Dependncia Funcional b. Transitividade c. Dependncia Funcional Irredutvel Esquerda d. Dependncia Multivalorada

GRUPO: 1. Forme um grupo com no mximo trs colegas e apresente um exemplo para cada um dos seguintes tipos de dependncia funcional: a. b. c. d. Dependncia Funcional Transitividade Dependncia Funcional Irredutvel Esquerda Dependncia Multivalorada

2011 Prof. Marcos Alexandruk

36

MODELAGEM DE BANCO DE DADOS

11

NORMALIZAO: FORMAS NORMAIS

Aplicao das trs primeiras Formas Normais em uma tabela no normalizada. muito comum que os funcionrios dos diversos departamentos de uma empresa utilizem tabelas frequentemente geradas em planilhas eletrnicas (exemplo: Excel) para armazenamento de dados. Embora esta soluo seja til para vrias situaes, medida que a quantidade de dados cresce, podem ocorrer problemas relacionados manuteno dos dados. O problema torna-se ainda mais grave ao tentar-se passar os dados de uma planilha eletrnica para uma ou mais tabelas em um sistema de banco de dados sem observar-se algumas regras ou normas bsicas. Neste processo muito importante a aplicao de um conjunto de normas ou regras conhecidas como Formas Normais. Uma empresa de engenharia pode, por exemplo, utilizar os seguintes formulrios para controle de seus projetos:
PROJETO NR_PROJ NOME_PROJ LOCAL_PROJ 101 102 103 Antonio Beatriz Claudio 001 Alfa So Paulo CARGO Analista Pleno VL_HORA 35,00 NR_PROJ NOME_PROJ LOCAL_PROJ 102 103 104 Beatriz Claudio Daniela PROJETO 002 Beta Jundia CARGO Analista Pleno VL_HORA 35,00

ID_FUNC NOME_FUNC

ID_FUNC NOME_FUNC

Analista Pleno 35,00 Analista Senior 50,00

Analista Senior 35,00 Analista Senior 50,00

Figura 11.1- Formulrios para controle de projetos Observe a seguir a planilha elaborada para controle dos vrios projetos da empresa:
NR_PROJ 001 NOME_PROJ LOCAL_PROJ Alfa So Paulo ID_FUNC 101 102 103 102 103 104 NOME_FUNC Antonio Beatriz Claudio Beatriz Claudio Daniela CARGO Analista Pleno Analista Pleno Analista Senior Analista Pleno Analista Senior Analista Senior VL_HORA 35,00 35,00 50,00 35,00 50,00 50,00

002

Beta

Jundia

Tabela 11.1 Controle de projetos Porm, medida que a quantidade de projetos e funcionrios alocados neles cresce, observou-se que seria necessrio utilizar um sistema de banco de dados. Para garantir a integridade e controlar a redundncia dos dados aplicou-se tabela acima as seguintes Formas Normais:

2011 Prof. Marcos Alexandruk

37

MODELAGEM DE BANCO DE DADOS

1 FN: PRIMEIRA FORMA NORMAL


Uma tabela est na 1FN (Primeira Forma Normal) quando no possui tabelas aninhadas. A tabela para controle de projetos apresenta a seguinte tabela aninhada:
ID_FUNC 101 102 103 102 103 104 NOME_FUNC Antonio Beatriz Claudio Beatriz Claudio Daniela CARGO Analista Pleno Analista Pleno Analista Senior Analista Pleno Analista Senior Analista Senior VL_HORA 35,00 35,00 50,00 35,00 50,00 50,00

Tabela 11.2 Tabela aninhada No se deve simplesmente separar a tabela acima do restante da tabela de controle de projetos, porque, neste caso, no seria mais possvel determinar em quais projetos cada funcionrio trabalhou. Para que isso no ocorra, preciso incluir a coluna NR_PROJ na tabela que ser denominada PROJETO_FUNCIONARIO:
PROJETO_FUNCIONARIO NR_PROJ 001 001 001 002 002 002 ID_FUNC 101 102 103 102 103 104 NOME_FUNC Antonio Beatriz Claudio Beatriz Claudio Daniela CARGO Analista Pleno Analista Pleno Analista Senior Analista Pleno Analista Senior Analista Senior VL_HORA 35,00 35,00 50,00 35,00 50,00 50,00

Tabela 11.3 PROJETO_FUNCIONARIO Consequentemente, a segunda tabela apresentar a seguinte estrutura:


PROJETO NR_PROJ 001 002 NOME_PROJ Alfa Beta LOCAL_PROJ So Paulo Jundia

Tabela 11.4 PROJETO

2 FN: SEGUNDA FORMA NORMAL


Uma tabela est na 2FN (Segunda Forma Normal) quando, alm de estar na Primeira Forma Normal, no contm dependncias parciais. Uma dependncia funcional parcial ocorre quando uma coluna depende apenas de uma parte da Chave Primria COMPOSTA. (Veja o tpico da aula anterior: Dependncia Funcional Irredutvel Esquerda.)

2011 Prof. Marcos Alexandruk

38

MODELAGEM DE BANCO DE DADOS

Portanto, toda tabela que est na Primeira Forma Normal e que possui Chave Primria SIMPLES (formada por uma coluna) j est na Segunda Forma Normal. Analisando a tabela PROJETO_FUNCIONARIO nota-se que as colunas (ou atributos) NOME_FUNC, CARGO e VL_HORA dependem apenas de uma parte da Chave Primria, ou seja, do ID_FUNC. Portanto ao aplicarmos a 2FN (Segunda Forma Normal) teremos:
FUNCIONARIO ID_FUNC 101 102 103 104 NOME_FUNC Antonio Beatriz Claudio Daniela CARGO Analista Pleno Analista Pleno Analista Senior Analista Senior VL_HORA 35,00 35,00 50,00 50,00

Tabela 11.6 FUNCIONARIO A tabela PROJETO_FUNCIONARIO apresentar, portanto a seguinte estrutura aps a aplicao da Segunda Forma Normal:
PROJETO_FUNCIONARIO NR_PROJ 001 001 001 002 002 002 ID_FUNC 101 102 103 102 103 104

Tabela 11.6 PROJETO_FUNCIONARIO

3 FN: TERCEIRA FORMA NORMAL


Uma tabela est na 3FN (Terceira Forma Normal) quando, alm de estar na 2FN (Segunda Forma Normal), no contm dependncias transitivas. Uma dependncia funcional transitiva ocorre quando uma coluna, alm de depender da Chave Primria da tabela, depende tambm de outra(s) coluna(s) da tabela. (Veja o tpico da aula anterior: Dependncia Funcional Transitiva.) A tabela FUNCIONARIO apresenta uma dependncia funcional transitiva. Observe que o VL_HORA no depende diretamente do ID_FUNC. VL_HORA depende diretamente do CARGO. Portanto ao aplicar-se a 3FN (Terceira Forma Normal) teremos uma tabela que pode ser denominada CARGO_SALARIO com a seguinte estrutura:
CARGO_SALARIO CARGO Analista Pleno Analista Senior VL_HORA 35,00 50,00

Tabela 11.7 CARGO_SALARIO

2011 Prof. Marcos Alexandruk

39

MODELAGEM DE BANCO DE DADOS

A tabela FUNCIONARIO aps a aplicao da Terceira Forma Normal apresentar a estrutura a seguir:
FUNCIONARIO ID_FUNC 101 102 103 104 NOME_FUNC Antonio Beatriz Claudio Daniela CARGO Analista Pleno Analista Pleno Analista Senior Analista Senior

Tabela 11.8 FUNCIONARIO Observe a seguir quais foram as tabelas geradas aps a aplicao das trs primeiras Formas Normais (FN1, FN2 e FN3) e compare com a tabela controle de projeto anteriormente apresentada.
PROJETO NR_PROJ 001 002 NOME_PROJ Alfa Beta LOCAL_PROJ So Paulo Jundia

FUNCIONARIO ID_FUNC 101 102 103 104 NOME_FUNC Antonio Beatriz Claudio Daniela CARGO Analista Pleno Analista Pleno Analista Senior Analista Senior

PROJETO_FUNCIONARIO NR_PROJ 001 001 001 002 002 002 ID_FUNC 101 102 103 102 103 104

CARGO_SALARIO CARGO Analista Pleno Analista Senior VL_HORA 35,00 50,00

IMPORTANTE: O exemplo apresentado tem objetivo exclusivamente didtico para esclarecimento dos conceitos envolvidos na aplicao de cada uma das trs primeiras Formas Normais. Outros detalhes deveriam ser levados em considerao para o desenvolvimento de um sistema completo. Exemplo: armazenar os valores histricos dos salrios, quantidade de horas de cada funcionrio nos respectivos projetos, etc.

2011 Prof. Marcos Alexandruk

40

MODELAGEM DE BANCO DE DADOS

EXERCCIOS
INDIVIDUAL: 1. Explique quando uma tabela esta em conformidade com cada uma das seguintes Formas Normais: a. 1FN (Primeira Forma Normal) b. 2FN (Segunda Forma Normal) c. 3 FN (Terceira Forma Normal) 2. Aplique as trs primeiras Formas Normais tabela de pedidos:
NR_PEDIDO DATA_PEDIDO ID_CLIENTE NOME_CLIENTE COD_PROD 001 10/01/2011 1003 Ernesto P-31 P-42 P-67 P-42 P-67 P-85 NOME_PROD Caderno Caneta Lpis Caneta Lpis Lapiseira QUANT VL_UNIT 2 1 5 2 3 1 15,00 3,00 1,00 3,00 1,00 5,00

002

11/01/2011

1007

Fabiana

3. Aplique as trs primeiras Formas Normais tabela de departamentos:


COD_DEPT 1011 LOCAL So Paulo ID_GERENTE NOME_GERENTE TIPO_FONE 35215 Geraldo Residencial Comercial Celular Residencial 1021 Rio de Janeiro 47360 Horacia Comercial Celular COD_AREA 12 11 11 21 22 21 NR_FONE 5555-1234 5555-4321 5555-9876 5555-5678 5555-3659 5555-2345

GRUPO: 1. Forme um grupo com no mximo trs colegas e aplique tabela abaixo as trs primeiras Formas Normais (1FN, 2FN e 3FN):
COD_CURSO NOME_CURSO COD_TURMA NR_SALA COD_DISC 1005_3A3 1005 TADS 1005_3B3 231 230 3523 5282 8346 3523 5282 8346 1250_4A1 1250 FEGAIRC 1250_4B1 381 380 4639 6395 9578 4639 6395 9578 NOME_DISC Algoritmos Banco de Dados ID_PROF 105 118 NOME_PROF Ildemar Joselia Kleudir Lucimar Joselia Kleudir Lucimar Marcelo Nilmara Lucimar Osvaldo Nilmara

Empreendedorismo 126 Algoritmos 133 Banco de Dados 118 Empreendedorismo 126 Clculo 133 Lgica Digital Redes de Dados Clculo Lgica Digital Redes de Dados 142 158 133 165 158

2011 Prof. Marcos Alexandruk

41

MODELAGEM DE BANCO DE DADOS

12

LGEBRA RELACIONAL

Apresentao das operaes da lgebra relacional: seleo, projeo, produto cartesiano, diferena, unio, interseco, juno e diviso.

Desenvolvida para descrever operaes sobre uma base de dados relacional; Cada operador toma uma ou duas relaes como sua entrada e produz uma nova relao como sua sada; Linguagem da consulta terica, usurios no a utilizam diretamente; usada internamente em todos os SGBDRs (Sistemas Gerenciadores de Bancos de Dados Relacionais).

CARACTERSTICAS
Constituda de cinco operadores fundamentais: Seleo (sigma) Projeo (pi) Produto cartesiano X Diferena Unio Trs operadores derivados: Interseco Juno Diviso

SELEO
Produz uma nova relao apenas com as tuplas (linhas) da primeira relao (tabela) que satisfazem a uma determinada condio (tambm chamada de predicado).
R
A a1 a2 B b1 b2

(A=a1)(R)
A a1 B b1

Tabela 12.1 - Seleo

2011 Prof. Marcos Alexandruk

42

MODELAGEM DE BANCO DE DADOS

PROJEO
Produz uma nova relao com apenas alguns atributos da primeira relao, removendo as tuplas duplicadas.
R
A a1 a2 B b1 b2

(B)(R)

B b1 b2

Tabela 12.2 - Projeo

PRODUTO CARTESIANO
Produz uma nova relao com todas as possveis tuplas resultantes da combinao de duas tuplas, uma de cada relao envolvida na operao.
R
A a1 a2 S C c2 c3 D d2 d3 B b1 b2 A a1 a1 a2 a2

(R X S)
B b1 b1 b2 b2 C c2 c3 c2 c3 D d2 d3 d2 d3

Tabela 12.3 Produto cartesiano

DIFERENA
Produz uma nova relao com todas as tuplas da primeira relao que no aparecem na segunda relao. As duas relaes devem ter o mesmo nmero de atributos (colunas) e mesmos domnios para as colunas correspondentes.
R
A a1 a2 S A a2 a3 B b2 b3 B b1 b2

(R - S)
A a1 B b1

Tabela 12.4 Diferena

2011 Prof. Marcos Alexandruk

43

MODELAGEM DE BANCO DE DADOS

UNIO
Produz uma nova relao composta por todas as tuplas da primeira relao seguidas por todas as tuplas da segunda relao. Tuplas comuns s duas relaes aparecero apenas uma vez no resultado. As duas relaes devem ter o mesmo nmero de atributos (colunas) e mesmos domnios para as colunas correspondentes.
R
A a1 a2 S A a2 a3 B b2 b3 B b1 b2

(R
A a1 a2 a3

S)
B b1 b2 b3

Tabela 12.5 Unio

INTERSECO
Produz uma nova relao com a interseco das tuplas da primeira relao com as tuplas da segunda, ou seja, apenas com as tuplas que aparecem nas duas relaes. As duas relaes devem ter o mesmo nmero de atributos e mesmos domnios para as colunas correspondentes.
R
A a1 a2 S A a2 a3 B b2 b3 B b1 b2

(R
A a2

S)
B b2

Tabela 12.5 Interseco

JUNO
Produz uma nova relao com as tuplas resultantes da combinao de duas tuplas, uma de cada relao envolvida na operao que satisfazem a uma determinada condio.
R
A a1 a2 S C b2 b1 D d2 d3 B b1 b2 A a1 a2

R X S [B = C]
B b1 b2 C b1 b2 D d3 d2

Tabela 12.6 Juno

2011 Prof. Marcos Alexandruk

44

MODELAGEM DE BANCO DE DADOS

JUNO NATURAL
Juno na qual h uma igualdade predefinida entre os atributos de mesmo nome presentes na primeira e na segunda relao (atributos de juno). Estes atributos s aparecem uma vez no resultado.
R
A a1 a2 S C b2 b1 D d2 d3 B b1 b2 A a1 a2

R*S
B b1 b2 D d3 d2

Tabela 12.6 Juno natural

DIVISO
Produz uma relao S contendo todas as tuplas de A (dividendo) que aparecem em R (mediador) com todas as tuplas de B (divisor).
A
A a1 a2 a3 a4 a5 A a1 a1 a1 a1 a2 a2 a3 a4 a4

R
B b1 b2 b3 b4 b1 b2 b2 b2 b4

B
B b1

S
A a1 a2

B B b2 b4

S A a1 a4

B B b1 b2 b3 b4

S A a1

Tabela 12.7 Diviso

2011 Prof. Marcos Alexandruk

45

MODELAGEM DE BANCO DE DADOS

OPERADORES
Os seguintes operadores so utilizados na lgebra relacional:
OPERADORES DE COMPARAO OPERADOR DESCRIO igual menor menor ou igual maior maior ou igual

= < <= > >= <>


ou

diferente

Tabela 12.8 Operadores de comparao

OPERADORES LGICOS OPERADOR DESCRIO e (and) ou (or) no (not) Tabela 12.9 Operadores lgicos

OPERADOR DE ATRIBUIO OPERADOR DESCRIO "recebe"

Tabela 12.10 Operador de atribuio

Armazena o resultado de uma expresso algbrica em uma varivel de relao. Permite, portanto, o processamento de uma consulta por etapas. SOFTWARE RECOMENDADO WinRDBI (Windows Relational DataBase Interpreter) http://www.eas.asu.edu/~winrdbi/ Arizona State University Relational Algebra

2011 Prof. Marcos Alexandruk

46

MODELAGEM DE BANCO DE DADOS

EXERCCIOS
INDIVIDUAL: 1. Associe as operaes da lgebra relacional com as suas respectivas descries:
OPERAO 1 Seleo DESCRIO
Produz uma relao S contendo todas as tuplas de A (dividendo) que aparecem em R (mediador) com todas as tuplas de B (divisor). Produz uma nova relao com as tuplas resultantes da combinao de duas tuplas, uma de cada relao envolvida na operao que satisfazem a uma determinada condio. Produz uma nova relao composta por todas as tuplas da primeira relao seguidas por todas as tuplas da segunda relao. Tuplas comuns s duas relaes aparecero apenas uma vez no resultado. Produz uma nova relao com todas as possveis tuplas resultantes da combinao de duas tuplas, uma de cada relao envolvida na operao. Produz uma nova relao apenas com as tuplas (linhas) da primeira relao que satisfazem a uma determinada condio. Produz uma nova relao com apenas alguns atributos da primeira relao, removendo as tuplas duplicadas.

Projeo

Produto cartesiano

Diferena

Unio

Interseco

Juno

Produz uma nova relao com todas as tuplas da primeira relao que no aparecem na segunda relao. Produz uma nova relao com a interseco das tuplas da primeira relao com as tuplas da segunda, ou seja, apenas com as tuplas que aparecem nas duas relaes. Juno na qual h uma igualdade predefinida entre os atributos de mesmo nome presentes na primeira e na segunda relao. Estes atributos s aparecem uma vez no resultado.

Juno natural

Diviso

2011 Prof. Marcos Alexandruk

47

MODELAGEM DE BANCO DE DADOS

13

LGEBRA RELACIONAL - EXERCCIOS

Exemplos e exerccios envolvendo as principais operaes da lgebra relacional.

14

SQL STRUCTURED QUERY LANGUAGE

Apresentao dos principais comandos da linguagem SQL relacionando-os com a lgebra relacional.

15

SQL STRUCTURED QUERY LANGUAGGE - EXERCCIOS

Exerccios envolvendo os principais comandos da linguagem SQL.

2011 Prof. Marcos Alexandruk

48