TECNOLOGIA EM ANLISE DE DESENVOLVIMENTO DE SISTEMAS
SISTEMA DE BANCO DE DADOS
Belo Horizonte/MG 2014
SISTEMA DE BANCO DE DADOS
Monografia apresentada como exigncia para obteno do grau de Bacharelado em curso superior de tecnologia em anlise e desenvolvimento de sistemas na anhanguera educacional - uniderp . Orientador: TUTOR PRESENCIAL: Rogrio de Oliveira Gonalves
Belo Horizonte 2014
RELATRIO FINAL
Monografia apresentada como exigncia para obteno do grau de Bacharelado em curso superior de tecnologia em anlise e desenvolvimento de sistemas na anhanguera educacional - uniderp . Orientador: TUTOR PRESENCIAL: Rogrio de Oliveira Gonalves
Esse trabalho apresenta uma estudo e levantamento de termos utilizados para o desenvolvimento de um sistema de banco de dados para a empresa LFLXZ ltda. Foi apresentado as modelagem necessrias para a implementao do sistema no servio de estacionamento da empresa, demonstrando as entidades, modelos de dados e software necessrios para o desenvolvimento do banco de dados. Mapeamos e demonstramos em representaes grficas o banco de dados necessrio para os modelos relacionais, no se esquecendo das normalizaes que so importantssimas no desenvolvimento de um banco de dados. Arquivamos todo o desenvolvimento em documentao, as operaes realizadas durante a realizao do banco de dados, e apresentamos para ao cliente todo o material necessrio para futuras atualizaes.
This paper presents a study and survey of terms used for the development of a system database for the company LFLXZ ltd. Necessary for implementing the system in valet parking company model was presented, showing the entities, data models and software required for development of the database. Mapped and shown in graphical representations the database required for the relational model, not forgetting of commonalities that are very important in the development of a database. We file all documentation development, operations during the performance of the database and presented to the client all the necessary materials for future updates.
Etapa 01 Introduo a Banco de Dados MER. MER( Modelo Entidade Relacionamento) ................................... 1 Definir, em no mnimo 10 linhas, Modelo de Dados. .......................................................................... 2 Citar os trs modelos de dados mais conhecidos descrevendo suas caractersticas e os softwares SGBD que utilizam cada um dos modelos. ........................................................................................................ 2 Defina qual modelo de dados dever ser utilizado na resoluo do desafio. Por qu? Justificar a resposta com apresentao de exemplo. ............................................................................... 3 Definir Esquema e Instncia em banco de dados, utilizando-se das entidades propostas no desafio para representar e exemplificar suas definies. ..................................................................................... 3 Etapa 02
Criar um quadro para cada entidade proposta no desafio, identificando todos seus atributos com seus devidos tipos, chaves e relacionamentos esperados. ............................................................................... 4 Para a representao grfica do MER existem figuras que simbolizam cada um dos componentes do DER (Diagrama Entidade-Relacionamento). Demonstrar, graficamente, cada um desses smbolos identificando-os com as entidades propostas. ......................................................................................... 4 Apresentar o(s) relacionamento(s) existente(s) entre as duas entidades identificando sua cardinalidade. Justificar o(s) relacionamento(s) apresentado(s) a partir do conceito de relacionamento e cardinalidade. .................................................................................................................................................................. 6 Desenvolver um DER completo (Entidade, Atributos, Chaves, Relacionamento, Cardinalidade, Smbolos etc.) partindo das entidade propostas no desafio e das informaes trabalhadas nos passos anteriores. ................................................................................................................................................ 6 Etapa 03 Descrever sobre cada um dos itens que compem a estrutura do Modelo Relacional, apontando suas funes e relacionando-os com as entidades propostas no desafio.........................................................................................................................................7 Descrever qual(is) limitao(es) existem na execuo do processo de Mapeamento do modelo MER para o Relacional. Justificar sua resposta, utilizando-se tambm de exemplos, tendo em vista que possuem estruturas e caractersticas distintas..............................................8
Criar uma representao grfica que demonstre a converso do DER em Modelo Relacional descrevendo o processo passo a passo. Ao final, apresentar, em apenas um pargrafo, a opinio da equipe quanto ao modelo mais adequado, no ponto de vista de facilidade de compreenso da modelagem e estrutura funcional......................................................................................................................................9 Elaborar um relatrio (Relatrio 03) documentando as informaes levantadas nos passos anteriores, de forma a demonstrar a empresa o desenvolvimento da equipe.Entregar o relatrio ao cliente para apreciao na prxima reunio. Relatrio 03..............................................................................................................................10 Transformar as tuplas no normalizadas das entidades propostas, passando-as para a1 Forma Normal (1FN). Explicar a ao da e0quipe baseando e citando a qual conceito se enquadra a aplicao da 1FN.......................................................................................................................10 Etapa 4
Transformar as tuplas no normalizadas das entidades propostas, passando-as para a1 Forma Normal (1FN). Explicar a ao da equipe baseando e citando a qual conceito se enquadra a aplicao da 1FN..............................................................................................................................................................................10 Agora, com as tuplas na 1FN, a equipe dever coloc-las na 2 Forma normal (2FN).Explicar a ao da equipe baseando e citando a qual conceito se enquadra a aplicao da 2FN....................13 Elaborar um relatrio (Relatrio 04) documentando o passo a passo do desenvolvimento da normalizao. Entregar o relatrio ao cliente para apreciao na prxima reunio.................16 Etapa 5
Aula tema: lgebra Relacional...............................................................................................17 Criar 10 tuplas para cada relao (tabela) de forma que sigam os conceitos tratados anteriormente (chave primria/estrangeira, relacionamento, redundncia e integridade). Proprietrio................................................................................................................................17 Criar uma operao de SELEO para cada relao existente no modelo criado e descrever que ao essa operao est realizando...............................................................................19 Criar uma operao de PROJEO para cada relao existente no modelo criado e descrever que ao essa operao est realizando.................................................................19 Criar uma operao de UNIO para cada relao existente no modelo criado e Descrever que ao essa operao est realizando................................................................20 Criar uma operao de INTERSEO para cada relao existente no modelo criado e descrever que ao essa operao est realizando................................................................21
Etapa 6
Criar uma operao de DIVISO para cada relao existente no modelo criado e descrever que ao essa operao est realizando..............................................................................22 Criar uma operao de DIFERENA para cada relao existente no modelo criado e descrever que ao essa operao est realizando................................................................22 Criar uma operao de JUNO para cada relao existente no modelo criado e descrever que ao essa operao est realizando..............................................................................23
Etapa 01 Introduo a Banco de Dados MER. MER( Modelo Entidade Relacionamento) O primeiro Sistema Gerenciador de Banco de Dados (SGBD) comercial surgiu no final de 1960 com base nos primitivos sistemas de arquivos disponveis na poca, os quais no controlavam o acesso concorrente por vrios usurios ou processos. Os SGBDs evoluram desses sistemas de arquivos de armazenamento em disco, criando novas estruturas de dados com o objetivo de armazenar informaes. Com o tempo, os SGBDs passaram a utilizar diferentes formas de representao, ou modelos de dados, para descrever a estrutura das informaes contidas em seus bancos de dados. Atualmente, os seguintes modelos de dados so normalmente utilizados pelos SGBDs: modelo hierrquico, modelo em redes, modelo relacional (amplamente usado) e o modelo orientado a objetos. Vamos analisar nos comparativos abaixo as vantagens e desvantagens, entre o sistema gerenciados de banco de dados e sistemas de arquivo. SGBD(Sistema Gerenciados de Bando De Dados) Vantagem Desvantagem Os dados podem ser compartilhados. Alto investimento inicial na compra de software e hardware adicionais; Um SGBD multiusurio permitir que mltiplos usurios acessem o banco de dados ao mesmo tempo. Treinamento inicial necessrio aos programadores e usurio. Um SGBD fornece um subsistema de autorizao e segurana, o qual utilizado pelo DBA para criar contas e especificar as restries destas contas. Danos ao banco de dados afetam virtualmente a todos os programas.
Sistemas Arquivos Vantagem Desvantagem Simplicidade tanto para usurio quando para computadores; Torna o sistema mais vulnervel a acidentes de parada total (falta de energia, por exemplo) O acesso a disco tratado de uma forma uniforme.Existe apenas uma interface para acessar os dados de um disco. Torna a transferncia de grandes quantidades de informao mais lenta.
Minimizao do nmero de transferncias entre o disco e a memria (cache hits) Erro em qualquer um dos blocos do arquivo torna impossvel recuperao do restante.
2
Definir, em no mnimo 10 linhas, Modelo de Dados. A modelagem de dados responde a um conjunto de questes especificas, relevantes para qualquer aplicao de processamento de dados( PRESSMAN,2002). So vrios os fatores que tornam a modelagem de dados fundamental para a construo de sistemas de banco de dados. Um desses fatores a necessidade de validar requesitos, e por intermdio da modelagem que se aumenta a probabilidade de encontrar erros, de se identificar inconsistncia e de descobrir omisses, j nas fases iniciais de projeto. Por meio da modelagem de dados, consegue-se identificar quais so os principais objetos de dados a serem processados pelo sistema; qual a composio de cada objeto de dados; que propriedades os descrevem; onde os objetos costumam ficar: quais as relaes entre os objetos e os processos que os transformam ( PRESSMAN,2002). As etapas envolvidas na construo de um modelo podem ser divididas em 3 modelos: Conceitual, lgico e fsico.
Citar os trs modelos de dados mais conhecidos descrevendo suas caractersticas e os softwares SGBD que utilizam cada um dos modelos.
A modelagem de dados normalmente atende a trs perspectivas: Modelagem Conceitual, Modelagem Lgica e a Modelagem Fsica. A modelagem conceitual representado pelos modelos conceituais e lgicos. Por meio desses modelos, descrita a estrutura do banco de dados completo sob o ponto de vista do usurio, omitindo-se detalhes de armazenamento de dados e concentrando na descrio de entidades, atributos, relacionamento. A modelagem conceitual usada como representao de alto nvel e considera exclusivamente o ponto de vista do usurio criador do dado, dentre os sistemas utilizados para facilitar o desenvolvimento desta etapa podemos citar o Visio e o DBDesigner. A modelagem lgica j leva em conta algumas limitaes e implementa reursos como adequao de padro e nomenclatura, para este os sistemas utilizados podem ser os mesmos da modelagem conceitual o Visio e o DBDesigner. A modelagem fsica demonstra como os dados so fisicamente armazenados, leva-se em conta as limitaes impostas pelo SGBD escolhido e deve ser criado sempre com base nos exemplos de modelagem de dados produzidos no modelo lgico, um exemplo de SGBD utilizado nessa etapa o SQL SERVER. 3
Defina qual modelo de dados dever ser utilizado na resoluo do desafio. Por qu? Justificar a resposta com apresentao de exemplo.
Modelo lgico pois, a primeira etapa j foi concluda com a definio das entidades e no momento no necessrio visar qual SGBD ser utilizado. A necessidade atual definir as chaves primrias, estrangeiras e seus respectivos relacionamentos, assim como o tipo de cada atributo, como exemplo ser necessrio haver um relacionamento entre a entidade estacionamento e a entidade vaga pois, no mesmo estacionamento existem varias vagas.
Definir Esquema e Instncia em banco de dados, utilizando-se das entidades propostas no desafio para representar e exemplificar suas definies.
Em qualquer modelo de dados importante distinguir entre a descrio da base de dados e a base de dados propriamente dita. A descrio de uma base de dados chamada Esquema da Base de Dados. Um esquema de base de dados especificado durante o projeto da base de dados, sendo que a expectativa de mudanas no grande. A forma de visualizao de um esquema chamada Diagrama do Esquema. Muitos modelos de dados tm certas convenes para, diagramaticamente, mostrar esquemas especificados no modelo. Os dados atualmente existentes em uma base de dados podem mudar com relativa frequncia. Os dados da base de dados em um particular momento do tempo so chamados Instncias da Base de Dados (ou Ocorrncias ou Estados). A base-esquema algumas vezes chamada de Base-Intencional e uma instncia chamada de Base-Extensional do esquema. Esquema a definio das estruturas que compem o banco de dados, espera-se que o esquema ir sobrar nenhuma ou poucas alteraes depois de implementado, o esquema independe dos dados a serem armazenados, como por exemplo podemos citar a entidade estacionamento e seus respectivos atributos, podendo haver relacionamento com outra entidade. Instancia a materializao do banco de dados composto pelas estruturas mais os dados armazenados, um retrato do banco de dados em um determinado momento, podemos ter a mesma estrutura reaplicada em vrios locais, cada uma com seu conjunto de dados, como exemplo podemos supor que j existem dados armazenados na entidades vaga, em determinado momento o estacionamento conter tais vagas preenchidas. 4
Etapa 02
Criar um quadro para cada entidade proposta no desafio, identificando todos seus atributos com seus devidos tipos, chaves e relacionamentos esperados.
Para a representao grfica do MER existem figuras que simbolizam cada um dos componentes do DER (Diagrama Entidade-Relacionamento). Demonstrar, graficamente, cada um desses smbolos identificando-os com as entidades propostas.
Entidade: Uma entidade um objeto que existe e distinguvel dos outros objetos. Por exemplo, Juberto Nunes com nmero de CPF 123.456.789-00 uma entidade, visto que isso identifica unicamente uma pessoa particular do universo. Assim a conta nmero 40167-9 na agncia Venda Nova uma entidade que identifica unicamente uma conta corrente particular. Uma entidade pode ser concreta, como uma pessoa ou um livro, ou pode ser abstrata, como um feriado ou um conceito. Uma entidade pode ser um objeto com uma existncia fsica - uma pessoa, carro ou empregado - ou pode ser um objeto com existncia conceitual - uma companhia, um trabalho ou um curso universitrio. Exemplos de entidades: Cliente, Produto, Contrato, Vendas, etc.
Representao Grfica. Representam conjunto de relacionamentos.
Atributos: Cada entidade tem propriedades particulares, chamadas atributos, que a descrevem. Por exemplo, uma entidade empregado pode ser descrita pelo seu nome, o trabalho que realiza, idade, endereo e salrio. Uma entidade em particular ter um valor para cada um de seus atributos. Os valores de atributos que descrevem cada entidade ocupam a maior parte dos dados armazenados na base de dados. Formalmente, um atributo uma funo que mapeia um conjunto de entidades em um domnio. Portanto, toda entidade descrita por um conjunto de pares (atributo, valor do atributo), sendo um par para cada atributo do conjunto de entidades. Uma entidade cliente descrita pelo conjunto {(nome, Juberto Nunes), (cpf, 123.456.789-00), (rua, So Paulo), (cidade, Belo Horizonte)}, que significa que a entidade descreve uma pessoa chamada Juberto Nunes, cujo CPF 123.456.789-00, residente So Paulo, em Belo Horizonte.
Representao Grfica.
Atributo Chave: Atributo para uma nica entidade.
Representao Grfica.
Atributo Composto: Alguns atributos podem ser divididos em partes menores com significados independentes. Por exemplo, Endereo da entidade e1 pode ser dividido em Endereo da Rua, Cidade, Estado e CEP. Um atributo que composto de outros atributos mais bsicos chamado composto. Atributos deste tipo formam uma hierarquia.
6
Representao Grfica.
Linhas: Ligam atributos a conjuntos de entidades e conjuntos de entidades a relacionamentos.
Representao Grfica.
Apresentar o(s) relacionamento(s) existente(s) entre as duas entidades identificando sua cardinalidade. Justificar o(s) relacionamento(s) apresentado(s) a partir do conceito de relacionamento e cardinalidade.
(1,1) (1,1) (1,0)
Desenvolver um DER completo (Entidade, Atributos, Chaves, Relacionamento, Cardinalidade, Smbolos etc.) partindo das entidade propostas no desafio e das informaes trabalhadas nos passos anteriores.
tel_celular tipo_veiculo Estacionamento Disponibiliza Vaga Estacionamento Vaga Disponibiliza 7
Etapa 3
Descrever sobre cada um dos itens que compem a estrutura do Modelo Relacional, apontando suas funes e relacionando-os com as entidades propostas no desafio.
O Modelo Relacional A arquitetura de um banco de dados relacional pode ser descrita de maneira informal ouformal. Na descrio informal estamos preocupados com aspectos prticos da utilizao eusamos os termos tabela, linha e coluna. Na descrio formal estamos preocupados com asemntica formal do modelo e usamos termos como relao (tabela), tupla (linhas) e atributo(coluna). Tabelas (ou relaes, ou entidades) Todos os dados de um banco de dados relacional (BDR) so armazenados em tabelas.Uma tabela uma simples estrutura de linhas e colunas. Em uma tabela, cada linha contmum mesmo conjunto de colunas. Em um banco de dados podem existir uma ou centenas de tabelas, sendo que o limite pode ser imposto tanto pela ferramenta de software utilizada, quantos pelos recursos de hardware disponveis no equipamento. As tabelas associam-se entre si atravs de regras de relacionamentos, estas regrasconsistem em associar um ou vrios atributo de uma tabela com um ou vrios atributos deoutra tabela. Exemplo: A tabela cadastro relaciona-se com a tabela vaga no estacionamento. Atravs deste relacionamento esta ltima tabela fornece a lista de vagas para a tabelacadastro. Registros (ou tuplas) Cada linha formada por uma lista ordenada de colunas representa um registro, ou tupla. Os registros no precisam conter informaes em todas as colunas, podendo assumir valoresnulos quando assim se fizer necessrio. Resumidamente, um registro uma instncia de umatabela, ou entidade. Exemplo: O Cliente cpf_proprietario uma instncia (registro) da tabela cadastro, e anro_vaga a instncia (registro) da tabela vaga do Estacionamento. Uma associao entre estas duas tabelas criaria a seguinte instncia de relacionamento: cpf_proprietario o nro_vaga, onde o verbo ser representa uma ligao entre osregistros distintos. Colunas (tribunas) As colunas de uma tabela so tambm chamadas de Atributos. Ao conjunto de valores queum atributo pode assumir chama-se domnio. Por exemplo: em um campo do tipo numrico,sero 8
somente armazenados nmeros, etc. O conceito mais similar a domnio o de tipo abstrato de dados em linguagens de programao, ou seja, so meta-dados (dados acerca de dados). Exemplo: cpf_proprietario, ano_veiculo, placa_veiculo, nro_ficha, telefone(s), nro_ficha, nro_vaga. Chave As tabelas relacionam-se umas as outras atravs de chaves. Uma chave um conjunto de um ou mais atributos que determinam a unicidade de cada registro. Por exemplo, se um banco de dados tem como chaves Nro_vaga e Nro_ficha, sempre que acontecer uma insero de dados o sistema de gerenciamento de banco de dados ir fazer uma consulta para identificar se o registro j no se encontra gravado na tabela. Neste caso, um novo registro no ser criado, resultando esta operao apenas da alterao do registro existente. A unicidade dos registros, determinada por sua chave, tambm fundamental para a criao dos ndices. Temos dois tipos de chaves:
Chave Primria: (PK - Primary Key) a chave que identifica cada registro dando-lhe unicidade. A chave primria nunca se repetir. Chave Secundria: (FK - Foreign Key) a chave formada atravs de um relacionamento com a chave primria de outra tabela. Define um relacionamento entre as tabelas e podem ocorrer repetidas vezes. Caso a chave primria seja composta na origem, a chave estrangeira tambm o ser.
Descrever qual(is) limitao(es) existem na execuo do processo de Mapeamento do modelo MER para o Relacional. Justificar sua resposta, utilizando-se tambm de exemplos, tendo em vista que possuem estruturas e caractersticas distintas.
Grandes partes das extenses aproximaram o MER do modelo Orientado Objeto, no sendo muito utilizados, pois os SGBDs Relacionais no suportam diretamente extenses, ento se faz necessrio antes de implementar mapear estas extenses para o MER original. Uma limitao do modelo E-R que no possvel expressar relacionamentos entre 9
relacionamentos. A agregao uma abstrao atravs das quais relacionamentos so tratados como entidades de nvel superior.
Usando agregao:
Criar uma representao grfica que demonstre a converso do DER em Modelo Relacional descrevendo o processo passo a passo. Ao final, apresentar, em apenas um pargrafo, a opinio da equipe quanto ao modelo mais adequado, no ponto de vista de facilidade de compreenso da modelagem e estrutura funcional.
Modelo DER
10
Modelo Relacional
Elaborar um relatrio (Relatrio 03) documentando as informaes levantadasnos passos anteriores, de forma a demonstrar a empresa o desenvolvimento da equipe.Entregar o relatrio ao cliente para apreciao na prxima reunio.
Relatrio 03
Bem como em relatrios anteriores, se fazendo em comum todo o assunto tratado,foram importante para que se desenvolvessem alguns conceitos, neste, no se fazendo diferente, pois nossa equipe desenvolveu conceitos do Modelo Relacional, sendo aplicados e demonstrados na forma de representao grfica de um banco de dados, sendo assim mapeados os Modelos DER e Relacional.Descrevendo todos os itens que as compem, na forma de uma estrutura Relacional, apontando funes e as relacionando com as entidades propostas no projeto. Descrevendo limitaes existentes na execuo do processo de Mapeamento do modelo MER para o Relacional. Criando representaes grficas e demonstrando converses do DER em Modelo Relacional e assim vice-versa, descrevendo tais processos passo a passo. Apresentando sempre o ponto de vista na facilidade de compreenso da modelagem e estrutura funcional, por parte da equipe.
Etapa 4 Transformar as tuplas no normalizadas das entidades propostas, passando-as para a1 Forma Normal (1FN). Explicar a ao da equipe baseando e citando a qual conceito se enquadra a aplicao da 1FN. 11
Normalizao de dados o processo formal passo a passo que examina os atributos de uma entidade, com o objetivo de evitar anomalias observadas na incluso, excluso e alterao de registros. Uma regra que devemos observar quando do projeto de um Banco de Dados baseado no Modelo Relacional de Dados a de "no misturar assuntos em uma mesma Tabela". Por exemplo: na Tabela Cadastro devemos colocar somente campos relacionados com o assunto de cadastro do cliente. No devemos misturar campos relacionados com outros assuntos. Essa"Mistura de Assuntos" em uma mesma tabela acaba por gerar repetio desnecessria dos dados bem como inconsistncia dos dados. Normalmente aps a aplicao das regras de normalizao de dados, algumas tabelasacabam sendo divididas em duas ou mais tabelas, o que no final gera um nmero maior detabelas do que o originalmente existente. Este processo causa a simplificao dos atributos de uma tabela, colaborando significativamente para a estabilidade do modelo de dados,reduzindo-se consideravelmente as necessidades de manuteno. Objetivos *Minimizao de redundncias e inconsistncias; *Facilidade de manipulaes do banco de dados; *Facilidade de manuteno do sistema de Informao. Uma relao estar na 1 forma normal 1FN, se e somente se todos os domnios bsicos contiverem somente valores atmicos (no contiver grupos repetitivos). Em outras palavras podemos definir que a 1 forma normal no admite repeties ou campos que tenha mais que um valor. Considere a tabela cadastro abaixo: Cadastro : N_ficha; nome; telefone; endereo Agora a tabela com os dados: N_fixa Nome Telefone Endereo 0001 Jorge 9999-9999 Rua So Paulo,380 Contagem 3398-243 0002 Juberto 8989-7895 Rua Ip Amarelo, 132, Vespasiano 4232-233 0003 Carlos 8473-5858 Rua Luiz Carlos,165 Betim 4352-432 12
Tabela desnormalizada, ou seja, no est na 1 forma normal. Analisando teremos: Todos os clientes possuem Rua, CEP e Bairro, e essas informaes esto na mesmaclula da tabela, logo ela no est na 1 forma normal. Para normalizar, deveremos colocarcada informao em uma coluna diferente, como no exemplo a seguir:
N_fixa Nome Telefone Rua Cidade Cep 0001 Jorge 9999-9999 Rua So Paulo, 380 Contagem 3398-243 0002 Juberto 8989-7895 Rua Ip Amarelo, 132 Vespasiano 4232-233 0003 Carlos 8473-5858 Rua Luiz Carlos,165 Betim 4352-432 Tabela ainda no est na 1 forma normal
Mesmo com o ajuste acima, a tabela ainda no est na primeira forma normal, pois h clientes com mais de um telefone e os valores esto em uma mesma clula. Paranormalizar ser necessrio criar uma nova tabela para armazenar os nmeros dos telefones e ocampo-chave da tabela cliente. Veja o resultado a seguir:
N_fixa Nome Rua Cidade Cep 0001 Jorge Rua So Paulo, 380 Contagem 3398-243 0002 Juberto Rua Ip Amarelo, 132 Vespasiano 4232-233 0003 Carlos Rua Luiz Carlos,165 Betim 4352-432 Tabela na 1 forma normal
N_fixa Telefone 0001 9999-9999 0002 8989-7895 0003 8473-5858 Tabela na 1 forma normal
13
No exemplo acima foi gerado uma segunda entidade para que a primeira forma normal fosse satisfeita contudo possvel manter a tabela original, admitindo-se valores duplos em uma mesma coluna, como exemplo o campo telefone assim: 31 9999-999 e 31- 6736-3367. Neste caso a tabela ficaria desnormalizada, mas muitos acabam preferindo assim, principalmente quando h poucos casos de repetio.
Agora, com as tuplas na 1FN, a equipe dever coloc-las na 2 Forma normal (2FN).Explicar a ao da equipe baseando e citando a qual conceito se enquadra a aplicao da 2FN.
Uma tabela est na 2 Forma Normal 2FN se ela estiver na 1FN e todos os atributos no chave forem totalmente dependentes da chave primria (dependente de toda a chave e no apenas de parte dela). Se o nome do produto j existe na tabela produtos, ento no necessrio que ele exista na tabela de produtos. A segunda forma normal trata destas anomalias e evita que valores fiquem em redundncia no banco de dados. Procedimentos: a) Identificar os atributos que no so funcionalmente dependentes de toda a chave primria; b) Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles. A chave primria da nova entidade ser o atributo do qual os atributos do qual os atributos removidos so funcionalmente dependentes. Exemplo de segunda forma normal Considere a tabela vendas abaixo: Estacionamento N_ficha, Cdigo_vaga, Vaga, Quantidade, Valor, Subtotal Agora a tabela com os dados: N_fixa Cdigo Vaga Quantidade Valor Subtotal 0001 52 Visitante 2 50,00 100,00 0002 53 Funcionrio 2 50,00 100,00 0003 54 Avulso 26 200,00 5200,00 0004 55 Executivo 10 300,00 3000,00 Tabela no est na 2 forma normal 14
Analisando teremos: O nome do produto depende do cdigo da vaga, porm no depende de N_ficha que a chave primria da tabela, portanto no est na segunda forma normal. Isto gera problemas com a manuteno dos dados, pois se houver alterao no nome do produto teremos que alterar em todos os registros da tabela venda. Para normalizar esta tabela teremos de criar a tabela Estacionamento que ficar com os atributos Cdigo_vaga e vaga e na tabela Vaga manteremos somente os atributos N_ficha, cdigo_vaga, quantidade, valor e subtotal. Veja o resultado abaixo:
Tabela na 2 forma normal
N_fixa Cdigo Quantidade Valor Subtotal 0001 52 2 50,00 100,00 0002 53 2 50,00 100,00 0003 54 26 200,00 5200,00 0004 55 10 300,00 3000,00 Tabela na 2 forma normal
Conforme visto na primeira forma normal, quando aplicamos normalizao comum gerar novas tabelas a fim de satisfazer as formas normais que esto sendo aplicadas. 2. Com as tuplas na 2FN, a equipe dever coloc-las, quando possvel, agora na 3Forma Normal (3FN). Explicar a ao da equipe baseando e citando a qual conceito seenquadra a aplicao da 3FN. Uma tabela est na 3 Forma Normal 3FN se ela estiver na 2FN e se nenhuma coluna no- chave depender de outra coluna no-chave. Na terceira forma normal temos de eliminar aqueles campos que podem ser obtidos pela equao de outros campos da mesma tabela. Cdigo Vaga 52 Visitante 53 Funcionrio 54 Avulso 55 Executivo 15
Procedimentos: a) Identificar todos os atributos que so funcionalmente dependentes de outros atributos nochave; b) Remov-los. A chave primria da nova entidade ser o atributo do qual os atributos removidos so funcionalmente dependentes. Exemplo de normalizao na terceira forma normal Considere a tabela abaixo:
N_fixa Cdigo Quantidade Valor Subtotal
0001 52 2 50,00 100,00 0002 53 2 50,00 100,00 0003 54 26 200,00 5200,00 0004 55 10 300,00 3000,00 Tabela no est na 3 forma normal
Considerando ainda a nossa tabela Vaga, veremos que a mesma no est na terceira forma normal, pois o subtotal o resultado da multiplicao Quantidade X Valo, desta forma coluna subtotal depende de outras colunas no-chave. Para normalizar esta tabela na terceira forma normal teremos de eliminar a coluna subtotal, como no exemplo a seguir:
Elaborar um relatrio (Relatrio 04) documentando o passo a passo do desenvolvimento da normalizao. Entregar o relatrio ao cliente para apreciao na prxima reunio.
Relatrio 04
Aprendemos nesta etapa, a desenvolver a organizao de entidades no Banco de Dados baseando nas regras de normalizao, fazendo com que minimize a duplicidade dos dados e mantenha as devidas dependncias das informaes nas vrias entidades do Banco de Dados. A proposta dessa etapa transformar tuplas no normalizadas em tuplas na 3 Forma Normal (3FN). Passamos ai, a transformar as tuplas no normalizadas das entidades propostas,passando para a 1 Forma Normal (1FN), e conceituando-as para melhor entendimento de normalizao, j tnhamos as tuplas na 1 Forma Normal, a equipe seguiu o prximo passo e colocamos na 2 Forma Normal(2FN). J o prximo passo era coloc-las na 3 Forma Normal,atravs de conhecimentos extrados de livros e apostilas, podemos enfim deixar bem claro, o que normalizao e de como faremos, para normalizar um Banco de Dados.
17
ETAPA 5. Aula tema: lgebra Relacional.
Esta atividade importante para que voc construa mecanismos de pesquisas capazes de manipular dados existentes em banco de dados. A proposta dessa etapa criar diversas operaes de lgebra relacional que sejam aplicveis em banco de dados, utilizando como base o Modelo Relacional. Para realiz-la importante seguir os passos descritos.
Criar 10 tuplas para cada relao (tabela) de forma que sigam os conceitos tratados anteriormente (chave primria/estrangeira, relacionamento, redundncia e integridade). Proprietrio:
Nro_ficha (PK) Nome- proprietrio Endereo Telefone 1 MOISES RUA A (31)3481001 2 JOSE RUA B (31)3481002 3 MARCOS RUA C (31)3481003 4 LUIZ RUA D (31)3481004 5 DANIEL RUA E (31)3481005 6 GERALDO RUA F (31)3481006 7 GUILHERME RUA G (31)3481007 8 BRUNO RUA H (31)3481008 9 WEMERSOM RUA I (31)3481009 10 ALEX RUA J (31)3481010
18
Veiculo: Placa_veiculo Mod_veiculo Cor_veiculo Tipo_veiculo Ano_veiculo Nro_ficha (FK) NMK-1234 GOL AZUL VW 2003 1 MNH-2354 UNO MARROM FIAT 2005 2 JKU-3467 206 CINZA PEGEOT 2014 3 KIU-5482 FOX PRETO VW 2015 4 OEH-8756 CELTA BRANCO CHEVROLET 2003 5 KIU-8976 KA VERMELHO FORD 2005 6 YUT-8734 CORSA BEGE FORD 2010 7 OMJ-8734 PICANTO ABOBORA KIA 2011 8 OJH-3143 PALIO AMARELO FIAT 2006 9 KYT-IUYT AGILE ROSA CHEFROLET 2014 10
Criar uma operao de SELEO para cada relao existente no modelo criado e descrever que ao essa operao est realizando.
Seleo = Seleciona tuplas da relao argumento que satisfaam condio de seleo; nome_proprietario = Moises (Proprietrio) tipo_veiculo = strada (Veiculo) cod_vag a= 400 (Vaga)
SELECT Nro_ficha, Nome_proprietario, Endereo, Telefone FROM Proprietrio WHERE Nome_proprietario='Moises';
Cada operao apresentada ira selecionar apenas as linhas que contenha a palavra queira encontrar. Como por exemplo, no caso na primeira seleo ( nome proprietrio=Moises(proprietrio))o smbolo mostrado () ,sigma, representa seleo ou a linha que contenha o que esteja procurando, que no caso Maria que est na coluna nome_proprietario, e na tabela, e o resultado apresentado ser a linha que contenha a informao de Moises. Exemplo: Nro_ficha Nome_proprietario Endereo
Telefone 1 Moises Rua A (31)3481001
Criar uma operao de PROJEO para cada relao existente no modelo criado e descrever que ao essa operao est realizando.
Projeo = Produz uma nova relao contendo um subconjunto vertical da relao argumento, sem duplicaes:
p nome_proprietario (Proprietrio p Nro_ficha (Nmero da ficha)
20
p telefone (Telefone)
A operao de projeo apresentada ir projetar apenas as colunas chamadas, por exemplo, na projeo p nome_proprietario (proprietrio) est projetando a coluna nome_proprietario da tabela, que ir ficar assim:
Exemplo: Nome_proprietario MOISES JOSE LUIZ MARCOS DANIEL GERALDO BRUNO ALEX GUILHERME JONATHAM
Criar uma operao de UNIO para cada relao existente no modelo criado e Descrever que ao essa operao est realizando.
Unio = Une duas relaes R e S compatveis em uma relao que contm todas as tuplas pertencentes a R, a S, ou a ambas (R e S):
Proprietrio U veiculo. Proprietrio U vaga. Veiculo U vaga.
SELECT NRO_FICHA, MOD_VEICULO FROM VEICULO. WHERE TIPO_VEICULO='FOX' UNION 21
SELECT NRO_FICHA, MOD_VEICULO FROM VEICULO WHERE TIPO_VEICULO='VW.
A operao de unio ir unir todos os atributos da tabela e ir ficar assim:
Nro_ficha Mod_veiculo 1 FOX 4 GOL
Criar uma operao de INTERSEO para cada relao existente no modelo criado e descrever que ao essa operao est realizando.
Interseo = Une duas relaes R e S compatveis em uma relao que contm todas as tuplas pertencentes a R quanto a S.
SELECT Nro_ficha, v.modelo_veiculo FROM VAGA v, ESTACIONAMENTO e WHERE Nro_ficha = Nro_ficha AND v.tipo_veiculo = CHEFROLET.
Essa operao mostra os valores que contm na primeira e na segunda tabela ao mesmo tempo. Que vai ser:
Nro_ficha Modelo_veiculo 5 CHEVROLET 10 CHEVROLET
22
Etapa 6
Criar uma operao de DIVISO para cada relao existente no modelo criado e descrever que ao essa operao est realizando.
Diviso = Diviso de duas relaes R e S, todos os valores de um atributo em R que fazem referncia a todos os valores de um atributo S; (p nro_vaga, placa_veiculo (VEICULO)) (p nro_vaga (VAGA)) A operao de diviso acima est procurando todos os veculos que esto ocupando as vagas do estacionamento. No caso como todas as vagas esto sendo ocupados por veculos de placas diferentes e estacionados em vagas distintas, a projeo ser a seguinte:
Criar uma operao de DIFERENA para cada relao existente no modelo criado e descrever que ao essa operao est realizando.
Diferena = Une duas relaes R e S compatveis em uma relao que contm todas as tuplas pertencentes a R que no pertencem a S:
(p placa_veiculo (VEICULO)) (p placa_veiculo (VAGA)) No ter resultado nenhum essa operao, pois a operao de diferena das duas tabelas 23
produz como resultado uma tabela que contm as tuplas presentes na primeira tabela (VEICULO) que no constam na segunda (VAGA)
Criar uma operao de JUNO para cada relao existente no modelo criado e descrever que ao essa operao est realizando.
Juno Natural: Concatena tuplas relacionadas de duas relaes em tuplas nicas; Simplifica consultas que requerem produto cartesiano: Forma um produto cartesiano dos argumentos; Faz uma seleo forando igualdade sobre os atributos que aparecem em ambos argumentos; Remove colunas duplicadas. Juno: Concatenao: dos atributos comuns; Dos atributos especificados na condio de juno; Relao Argumento 1(X) condio - juno Relao Argumento2. Estacionamento (Nro_ficha; CPF-proprietario; nome_proprietario; nro_vaga; cod_vaga). Nro_ficha
Cod_vaga Nro_ficha Nome_proprietario 100 1 MOISES 200 2 JOSE 300 3 MARCOS 400 4 LUIZ 500 5 DANIEL 600 6 GERALDO 700 7 GUILHERME 800 8 BRUNO 900 9 WEMERSOM 901 10 ALEX
Estacionamento (X) Vaga:
Nro_ficha Nome_proprietario Endereo Nro_vaga Cod_vaga 1 MOISES RUA A 2003 100 2 JOSE RUA B 2005 200 3 MARCOS RUA C 2014 300 4 LUIZ RUA D 2015 400 5 DANIEL RUA E 2003 500 6 GERALDO RUA F 2005 600 7 GUILHERME RUA G 2010 700 8 BRUNO RUA H 2011 800 9 WEMERSOM RUA I 2006 900 10 ALEX RUA J 2014 901
25
Bibliografia
Disponvel em: https://pt.wikibooks.org/wiki/Sistemas_operacionais/Sistemas_de_arquivos Acesso: 15 de Maro De 2014 Disponvel em: http://pt.slideshare.net/zagari/so08-sistemas-de-arquivos Acesso: 15 de Maro De 2014 Disponvel em: http://www.ic.unicamp.br/~rtorres/mc536A_07s1/relatorio1.pdf Acesso: 18 de Maro de 2014 Disponvel em: http://www.julianoribeiro.com.br/troca/banco_de_dados/material_der.pdf Acesso: 21 de Maro de 2014 Disponvel em: http://www.devmedia.com.br/modelo-entidade-relacionamento-mer-e- diagrama-entidade-relacionamento-der/14332 Acesso: 25 de Maro de 2014 Disponvel em: http://pt.kioskea.net/contents/65-bancos-de-dados-introducao Acesso em 30 de maro de 2014 Disponvel em: http://www.cos.ufrj.br/~marta/BdRel.pdf Acesso em 30 de maro de 2014