Modelo Relacional Normalizado-MRN

  • View
    8.101

  • Download
    119

Embed Size (px)

Text of Modelo Relacional Normalizado-MRN

SISTEMA DE ENSINO PRESENCIAL CONECTADO TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS AUTOR: NEI FBIO PIEDADE SANTOS

BANCO DE DADOS II

Itaberaba 2010

NEI FABIO PIEDADE SANTOS

BANCO DE DADOS II

Trabalho apresentado ao Curso Tecnologia em Analise e desenvolvimento de Sistema da UNOPAR - Universidade Norte do Paran, para a disciplina de BANCO DE DADOS II, Orientador: Roberto Yukio Nishimura

Itaberaba 2010

3

Indice1.0.0-Introduo...................................................................................4 1.0.1-Modelo Relacional Normalizado-MRN .....................................5 1.0.2-Modelo conceitual.......................................................................7 1.0.3-Modelo lgico..............................................................................7 1.0.4-Modelo fsico...............................................................................8 1.0.5 -SQL..............................................................................................8 1.1.0- Linguagem de definio de dados -DDL..............................10 1.1.1 - Declaraes Create................................................................10 1.1.2- Declaraes Drop....................................................................11 1.1.3 -Linguagem de manipulao de dados - DML.......................12 1.1.4-Linguagem de controle de dados DCL................................12 1.1.5Processamento de transaes de banco de Dados.............13 1.2.0-Propriedades ACID...................................................................15 1.2.1-Modelo de armazenamento de um banco de dados............. 18

1.2.2-Componentes do processamento de transaes...19 1.2.3-Controle de Concorrncia..........................................23 1.2.4-Escalonamento (schedules)......................................24 1.2.5-Escalonamento no serial.........................................25 1.3.0-Concluso...................................................................28 1.3.1 Bibliografia..................................................................29

4

1.0.0- IntroduoAo iniciar o trabalho ser feito um apanhado geral, abordarei as fazes de um projeto de banco de dados, conceito, utilizao, funcionalidades e principais objetivos alcanados com a implementao do Modelo Relacional Normalizado MRN, Padro SQL, Processamento de Transaes e Controle de Concorrncia.

5

1.0.1- Modelo Relacional Normalizado-MRNIntroduziremos nosso trabalho fazendo as seguintes perguntas: O que o Modelo Relacional Normalizado MRN? Para que serve? Qual a funcionalidade do MRN? Quais so os objetivos? Quais so os ganhos ao fazer a normalizao do Banco de Dados? O modelo relacional Normalizado um modelo de dados, adequado a ser o modelo subjacente de um Sistema Gerenciador de Banco de Dados (SGBD), que se baseia no princpio em que todos os dados esto guardados em tabelas (ou, matematicamente falando, relaes). Toda sua definio terica e baseada na lgica de predicados e na teoria dos conjuntos. O conceito foi criado por Edgar Frank Codd em 1970, sendo descrito no artigo "Relational Model of Data for Large Shared Data Banks". Na verdade, o modelo relacional foi o primeiro modelo de dados descrito teoricamente, os bancos de dados j existentes passaram ento a ser conhecidos como (modelo hierrquico, modelo em rede ou Codasyl e modelo de listas invertidas). O MRN apareceu devido s seguintes necessidades: aumentar a independncia dos dados nos sistemas operacionais de banco de dados; prover um conjunto de funes apoiadas em lgebra relacional para armazenamento e recuperao de dados; permitir processamento AD HOC(Em engenharia de software, a expresso ad hoc utilizada para designar ciclos completos de construo de softwares que no foram devidamente projetado em razo da necessidade de atender a uma demanda especfica do usurio, ligada a prazo, qualidade ou custo). O modelo relacional revelou-se ser o mais flexvel e adequados ao solucionar os vrios problemas que se colocam no nvel de concepo e implementao da Base de Dados. A estrutura fundamental do modelo relacional a relao (tabela). Uma relao e construda por um ou mais atributos (campos) que traduzem o tipo de dados a armazenar. Cada instancia do esquema (linha) e chamada de tupla (registro). O modelo relaciona no tem caminhos pr-definidos para se fazer

6 acesso aos dados como nos modelos que o procedem. O modelo relacional implementa estruturas de dados organizados em relaes. Porem, para trabalhar com essas tabelas, algumas restries precisam ser impostas para evitar aspectos indesejveis, como: repetio de informao, incapacidade de representar parte da informao e perda de informao. Essas restries so: Integridade referencial, chaves e integridades de junes de relaes.

Tabela de Modelo Relacional normalizado Cliente Conta corrente O Modelo Entidade Relacionamento a base para a criao de um banco de dados. Para realizarmos um projeto de banco de dados, podemos dividi-lo em trs partes: inicialmente o modelo conceitual, depois o modelo lgico, e finalmente o modelo fsico. Realizar os trs modelos de extrema importncia para que o analista de sistemas compreenda a base de dados que ele vai criar. O administrador de banco de dados (DBA) e o administrador de dados(AD) conseque separar muito bem esses trs modelos.

7 O primeiro passo e fazer o modelo conceitual; depois que ele j estiver completo podemos transform-lo em um modelo lgico, em que a estrutura fica mais evidente para os analistas de sistemas e programadores. Uma vez definido qual o SGBD a se utilizado , podemos passar esse modelo lgico para o fsico. Com o modelo fsico concludo, j e possvel escrever os comandos necessrios para a criao do esquema no banco de dados. Hoje em dia existem ferramentas CASE que auxiliam o dia a dia dos analistas , DBAs e ADs.

1.0.2- Modelo conceitualNo modelo conceitual, iniciamos a analise sob o ponto de vista do nosso usurio, o principal ciente para o sistema de banco de dados que ser desenvolvido. Aqui a modelagem e livre para identificara as entidades, os atributos e os relacionamentos de acordo com a descrio textual narrativa do sistema. Nesse aspecto, o nosso usurio deve olhar para o modelo e compreender totalmente como os seus dados esto sendo modelados. Aqui ainda nos nus preocupados com as caractersticas dos atributos, seu tipo de dados ou mesmo suas restries de mapeamento. O nosso ponto de vista a compreenso conceitual dos dados que sero armazenados no banco de dados.

1.0.3- Modelo lgicoNo modelo lgico, comeamos a organizar melhor os dados que sero armazenados e, identificamos os tipos dos atributos e algumas regras bsicas que podem ser implementadas dentro do prprio banco de dados (preenchimento obrigatrio do campo, valores default(valores esquecidos que deixaram de fazer ou declarar), listas e valores possveis). Nesta fase, interessante e altamente recomendadas que sejam aplicadas as formas normais atravs do Modelo Relacional Normalizado, isso evita maiores problemas na fase do modelo fsico. Quando estamos determinando os tipos de atributos, a relevncia fica em alguns tipos bsicos, como numricos, alfabticos, alfanumricos, booleano, data, valor, binrio, etc. Ex.: no cadastro de clientes, precisamos de informaes bsicas

8 como nome, RG, CPF, endereo e telefone. O atributo nome ser alfanumrico com 50 caracteres, o atributo RG ser numrico com 10 posies , o CPF ser numricos com 14 posies, o endereo ser alfanumricos com 50 caracteres e o telefone ser alfanumricos com 14 posies. Aqui ainda no sabemos qual ser o SGBD adotado para a fase de implementao. Isso permite manter um modelo de dados independente e que possa satisfazer a diversas necessidades, evitando assim a manuteno de diversos modelos, um para cada SGBD demarcado.

1.0.4-Modelo fsicoNo modelo fsico, a preocupao j fica mais direcionada s caractersticas de armazenamento fsico do banco de dados. Quando um atributo e tipificado como alfanumrico, necessrio verificar com o SGBD trata esse tipo de dados (ex. varcher, char, string); o mesmo acontece se o tipo for numrico (ex. number, real, integer). Nessa hora devemos pensar se mais vantajoso armazenar as tabelas separadas dos ndices em discos diferentes, ou se devemos separar uma tabela em mais tabelas, segmentando e fragmentando, assim, o seu armazenamento. quando algumas regras de normalizao so questionadas, pois o que pode ser correto como normalizao pode no ser to prtico ou til no dia a dia. Ser que vale apena trabalhar com o modelo desnormalizado, se podemos quebrar algumas dessas regras de modo consciente?

1.0.5- SQLO SQL, que a sigla para Structured Query Language, uma linguagem padro para acesso a banco de dados, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulao de dados (DML - Data Manipulation Language) para suas primeiras tentativas de desenvolvimento de bancos de dados relacionais. A grande vantagem do SQL sobre modelos de dados anteriores que as operaes realizadas sobre os dados so especificadas numa linguagem no procedural e conjuntos de dados so manipulados com um nico comando. Isto faz com que os programadores no tenham de navegar por uma estrutura

9 complexa de banco de dados, reduzindo a quantidade de cdigo necessrio para acessar os dados. O SQL tornou-se de fato o padro depois de 1986, quando o American National Standards Institute (ANSI), a organizao responsvel pelos padres industriais nos Estados Unidos, endossou o SQL como linguagem padro para os bancos de dados relacionais. Desde ento, o SQL j sofreu duas atualizaes oficiais, uma em 1989, e outra em 1992. A reviso de 1992, SQL-92 (ANSI X3.135-1992) o padro usado atualmente, mas desde 1993 h um trabalho sendo desenvolvido para atualizar o padro de modo que este atenda s caractersticas das ltimas verses de bancos de dados relacionais lanadas no mercado. O novo