Você está na página 1de 10

!"#$%&'(&)"'%*&+&,&+#-.

%'/01%&
!

Durante as ltimas dcadas cresceu o emprego de bancos de dados como mecanismo para gerenciar as informaes de qualquer tipo de organizao, sejam escolas, fbricas, lojas de varejo, etc. A quantidade de informaes com que tais organizaes lidam nos dias atuais gera uma situao em que a administrao dessas organizaes s possvel por meio da informatizao. O emprego da tecnologia de banco de dados o elemento da informtica que permite o gerenciamento desses grandes volumes de dados. Fala-se em tecnologia de banco de dados porque se refere a um conjunto de recursos, contemplando desde aqueles que permitem o armazenamento dos dados propriamente ditos at o seu gerenciamento. A Figura 1 mostra a representao dos dados em sistemas computacionais, antes do conceito de banco de dados. No exemplo, apresentado o caso de uma Universidade e os sistemas que realizam o gerenciamento de suas informaes. Cada aplicao mantm seus dados de forma isolada, mesmo que as informaes manipuladas possam ser compartilhadas entre todas elas. Na situao apresenta no contexto da Figura 1, cada aplicao da organizao mantm o seu conjunto de dados. Nesse caso, a descrio dos dados fica dentro das aplicaes e no existe compartilhamento deles entre as aplicaes. Os problemas advindos dessa situao so: replicao do conjunto de dados armazenados no sistema: cada aplicao mantm os dados de que necessita, mesmo que sejam os mesmos dados que outra aplicao tambm precisa manipular. Com isso, os dados esto replicados, considerando o sistema como um todo. difcil manuteno dos dados: o fato de os dados estarem replicados em locais distintos, sendo mantidos por diferentes aplicaes, torna a tarefa de manuteno mais difcil, pois cada alterao feita em uma das rplicas deveria ser feita tambm nas demais.
denise! 8/8/11 18:58 Comment [1]: "#$!%&%'()*%!+,(-!.$/!)(&$! 0(!1*/02*/(!(!%$3'2*/(-!!./$4(%%*)!*%! &53$/)*67(%!0(!,)*!$/8*5&9*6#$:!! denise! 8/8/11 18:58 Comment [2]: ;)!./$<=()*!+,(!>!'/*'*0$! (!/(%$=?&0$!.$/!)(&$!0(!,)!%&%'()*! 4$).,'*4&$5*=:!!

UNIVERSIDADE Controle Acadmico Alunos Turmas Controle Administrativo Disciplinas Deptos. Turmas Controle de Pessoal Institutos Funcionrios Deptos. Professores Professores Disciplinas Salas

Figura 1: Sistemas de uma Universidade sem uso de BD1 falta de padronizao na definio dos dados: como os dados so definidos dentro de cada aplicao, pode ser que cada uma delas os defina de uma forma diferente. Por exemplo, uma determinada aplicao pode armazenar o endereo de uma pessoa como um conjunto de caracteres simplesmente e outra aplicao como um conjunto de elementos individuais, como rua, nmero, complemento e CEP separadamente. Surge ento a necessidade de manter-se uma melhor organizao e gerncia sobre os dados.

!"#$%&'(&)"'%*&
A definio de Banco de Dados (BD) e que atende a essa necessidade : Uma coleo de dados inter-relacionados logicamente, e suas descries, projetados para atender s necessidades de informao das organizaes (CONNOLLY, 2010). Com a aplicao desse conceito, possvel manter os dados armazenados de forma controlada e compartilhada entre as aplicaes. Os dados so armazenados de forma independente das aplicaes, ou seja, h uma padronizao e independncia na estruturao dos dados, ao invs de cada aplicao definir internamente como eles sero armazenados. E, por fim, as aplicaes no se preocupam com a gerncia dos dados.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@

!A%'*!3&8,/*!3$&!(B'/*C0*!0(!)*'(/&*=!0&0D'&4$!(=*<$/*0$!.(=$!./$3(%%$/!E$5*=0$!0$%!"*5'$%!F(==$! G;H"IJ:!

Na Figura 2, os mesmos dados da aplicao exemplo para o caso de uma Universidade so apresentados, mas atendendo ao conceito de banco de dados. As caixas, no desenho, representam o compartilhamento dos dados entre as aplicaes.
Alunos Disciplinas Professores Turmas Deptos. Controle Acadmico Controle Administrativo Salas Institutos Funcionrios Controle de Pessoal

Figura 2: Sistemas de uma Universidade com uso de BD2 O gerenciamento do acesso e manuteno dos dados armazenados em um banco de dados feito por sistema chamado de Sistema Gerenciador de Banco de Dados (SGBD).

23*-(4"&5(.(#$3"'%.&'(&!"#$%&'(&)"'%*&625!)7&
Segundo (SILBERSCHATZ, 2006), um Sistema Gerenciador de Banco de Dados (SGBD) um conjunto de programas que gerencia o acesso aos dados armazenados em Banco de Dados (BD). Pode-se dizer que o SBGD possibilita diferentes vises de um banco de dados. O nvel Fsico o nvel mais baixo de abstrao e define como os dados esto armazenados. O nvel Conceitual (ou Lgico) define os dados que so armazenados no banco de dados e o relacionamento entre eles. E o nvel de Viso (ou Externo) permite a visualizao de apenas alguns detalhes dos dados e o usurio (aplicao) tem acesso de acordo com a necessidade. A Figura 3, abaixo, apresenta os elementos que compem um sistema de banco de dados simplificado, considerando o trs nveis explicitados anteriormente.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
K

!A%'*!3&8,/*!3$&!(B'/*C0*!0(!)*'(/&*=!0&0D'&4$!(=*<$/*0$!.(=$!./$3(%%$/!E$5*=0$!0$%!"*5'$%!F(==$! G;H"IJ:!

Figura 3: elementos de um sistema de banco de dados simplificado (ELMASRI, 2005)

!"#$%&#'(%)')*+,)*,"-,./01,
Um SGBD, para permitir a interao entre os programas de aplicao/usurios e o banco de dados, deve possuir as seguintes funcionalidades bsicas: Mtodos que permitam a definio dos dados e os mtodos de acesso a eles. Usualmente isso feito por meio de uma Linguagem de Definio de Dados (DDL Data Definition Language). A linguagem padro para interao com um banco de dados SQL (Structured Query Language). DDL a poro de SQL, ou seja, o conjunto de instrues de SQL que permite fazer a definio dos dados que ficaro armazenados no banco de dados. A linguagem SQL ser vista em detalhes na disciplina. O resultado produzido pela definio o que se chama de esquema do banco de dados e fica armazenado no Dicionrio de Dados. Mtodos que permitam a manipulao dos dados armazenados no banco de dados. Essa funcionalidade realizada por meio de uma Linguagem de Manipulao de Dados (DML - Data Manipulation Language), que a poro de SQL que permite inseres de novos dados no banco de dados, remoes e alteraes. Mecanismos para realizar um processamento eficaz de consultas. O volume de dados em banco de dados muito grande, por isso, faz-se

necessrio que o SGBD fornea mecanismos eficientes para processar e recuperar os dados. Mecanismos para controle e gerenciamento dos dados armazenados no banco de dados. Tais mecanismos podem contemplar: restries de integridade, ou seja, regras que so definidas sobre os dados para regular as operaes que podem ser realizadas sobre eles; controle de acesso, garantindo que somente usurios autorizados tenham acesso e direito manipulao de pores especficas do banco de dados; controle de concorrncia, permitindo que os dados sejam compartilhados entre as aplicaes, mas garantindo que nenhum erro seja gerado decorrente desse compartilhamento; sistemas de recuperao de falhas, garantindo a recuperao do banco de dados aps a ocorrncia de qualquer falha que venha a interromper o funcionamento normal do sistema.

2+"34%&+,)&,./01,,
Um SGBD um sistema bastante complexo e exige que uma srie de tarefas especficas sejam realizadas para permitir tanto a configurao do prprio sistema, quanto a criao e manuteno dos bancos de dados por ele gerenciados. Para que as tarefas sejam realizadas de maneira satisfatria, os atores e papis envolvidos so os seguintes: Administrador do Banco de Dados (DBA Database Administrator): controle de diversas funcionalidades do SGBD definio e modificao do esquema do banco de dados definio e modificao da estrutura de armazenamento e mtodos de acesso aos dados concesses de autorizao de acesso especificao de restries de integridade definio de estratgias de recuperao de falhas
denise! 8/8/11 18:58 Comment [3]: o processo de construo de um modelo com as informaes usadas em uma organizao, independente do SGBD. denise! 8/8/11 18:58 Comment [4]: o processo de produo de uma descrio da implementao do banco de dados em um SGBD especfico.!

Projetistas do Banco de Dados, responsveis tanto pelo projeto conceitual/lgico quando projeto fsico do banco de dados. Desenvolvedores das aplicaes, responsveis por desenvolver os programas que, por meio do SGBD, realizao o acesso e manipulao dos dados armazenados no banco de dados.

Usurios finais, que interagem direto com os dados do banco de dados, seja por meio de interfaces de programas desenvolvidos especificamente para esse uso ou, no caso de usurios especializados, por meio da interface do prprio SGBD.

8.3#$39"3*&:"*(*&'%&9.%;(-%&'(&/4&<"#$%&'(&'"'%*&
O projeto de um banco de dados envolve diversas etapas, as quais esto descritas na Figura 5. O processo todo inicia pelo levantamento dos requisitos de dados daquilo que se deseja que conste no banco de dados. De posse desses requisitos, inicia-se a fase de construo do projeto do banco de dados. Entretanto, em paralelo ao levantamento dos requisitos de dados, importante tambm realizar o levantamento dos requisitos funcionais, que daro origem ao projeto dos programas de aplicao que iro atuar sobre o banco de dados. Para compreender melhor todas as etapas apresentadas na Figura 5, so apresentados alguns conceitos a seguir.

Figura 5: principais fases do projeto de um banco de dados (ELMASRI, 2005)

5&)*(&+,)*,1')&+,,
Os dados precisam estar organizados de alguma forma para que possam ser utilizados. O modelo de dados descreve a forma lgica como os dados so organizados nas estruturas de armazenamento. Os modelos de dados mais conhecidos so: modelo hierrquico, modelo em redes, modelo relacional e modelos ps-relacionais (orientado a objetos, objeto/relacional e semiestruturados). A Figura 4 apresenta a evoluo e principais caractersticas dos modelos de dados e SGBDs que os suportam.

Perodo Incio da dcada de 60 Metade da dcada de 60

Modelo Sistemas de arquivos Modelos de dados hierrquico e em redes

Caractersticas Precursores dos SGBDs. Abordagem descentralizada: cada departamento armazenava e controlava seus prprios dados. Representam a primeira gerao de SGBDs. O principal sistema que segue o modelo hierrquico o IMS da IBM e o principal sistema que segue o modelo em redes o IDMS/R da Computer Associates. Estes tipos de sistemas falhavam muito em relao independncias dos dados e, por isso, requeriam que programas complexos fossem desenvolvidos para processar os dados

1970

Modelo Relacional

Publicao do trabalho original de E. F. Codd, intitulado A relational model of data for large shared data Banks, que declara as fraquezas dos SGBDs de primeira gerao. Durante este perodo, dois principais prottipos sugiram: o projeto Ingres da Universidade da Califrnia, em Berkeley (iniciado em 1970) e o projeto System R do laboratrio de pesquisa da IBM, em San Jos (iniciado em 1974), o qual desencadeou o desenvolvimento da linguagem SQL. Publicao do artigo de Peter Chen, intitulado The EntityRelationship model Toward a unified view of data. A modelagem ER torna-se uma componente significante na metodologia do projeto de banco de dados.

Dcada de 70

Prottipos de SGBDs Relacionais (SGBDRs)

1976

Modelo ER foi proposto

1979

SGBDs Comerciais aparecem

Sistemas como Oracle, Ingres e DB2 comeam a aparecer. Eles representam a segunda gerao dos SGDBs. SQL padronizada pela ISSO (International Standards Organization). Comeam a aparecer os Sistemas Gerenciados de Bancos de Dados Orientados a Objetos e Sistemas Gerenciados de Bancos de Dados Objeto Relacionais (Oracle 8 apresenta o conceito de objetos em 1997).

1987 1990s

Padro SQL (ISO) SGBDOO e SGBDOR aparecem

Figura 4: desenvolvimento histrico dos modelos e tipos de SGBDs (CONNOLLY, 2010)

5&)*('6*-,)*,)')&+,
um mtodo que permite modelar ou ilustrar o banco de dados. Normalmente realizado por meio de uma forma grfica, mas outras formas de comunicao so tambm desejveis, pois os diagramas podem no ser totalmente compreensveis. Diagramas ER (DER) uma tcnica grfica que facilita o processo de

modelagem. DER considerado um modelo semntico para banco de dados, cujo objetivo explicitar o significado dos dados. Esta tcnica ser apresentada mais adiante. Quando se inicia a discusso a respeito do contedo de um banco de dados, a modelagem de dados ajuda na deciso de quais dados se relacionam com outros no nvel conceitual. preciso decidir qual o nvel de abstrao dos modelos que se est construindo, quanto mais longe se fica dos detalhes concretos dos modelos lgicos de dados (hierrquico, relacional, etc.) e dos detalhes fsicos (tipos de dados, etc.), mais fcil ser para fazer mudanas no modelo e chegar a sua verso final.

74&8*9&,)&,0'#$&,)*,1')&+,
o processo de criar um projeto para um banco de dados que ir dar suporte aos objetivos e operaes de uma organizao. Ele inclui o projeto conceitual, lgico e fsico do banco de dados.

74&8*9&,:&#$*%9"'(,)&,;'#$&,)*,)')&+,
o processo de construo de um modelo com as informaes usadas em uma organizao, independente de todas as consideraes fsicas.

74&8*9&,<=6%$&,)&,0'#$&,)*,1')&+,
o processo de construo de um modelo com as informaes usadas em uma organizao baseado em um modelo de dados especfico (relacional, por exemplo), mas independente de um SGBD especfico a de outras consideraes fsicas.

74&8*9&,!>+%$&,)&,0'#$&,)*,1')&+,
o processo de produo de uma descrio da implementao do banco de dados em um meio de armazenamento; descreve as estruturas de armazenamento e os mtodos de acesso usados para se obter acesso eficiente aos dados.

5'?*'-*#9&,
o processo de escolha de um modelo de dados e transformao do modelo conceitual em um modelo lgico/fsico.

=($%4(#'"0>(*&9"."&$%49?(4(#-"01%&'(&(*-/'%*&.(:(.(#-(*&"%*& -(4"*&"<%.'"'%*&
Codd, E. F. 1970. A relational model of data for large shared data banks. Commun. ACM 13, 6 (Jun. 1970), 377-387. Disponvel em: http://doi.acm.org/10.1145/362384.362685>. Acesso em: 23 jun. 2010. Chen, P. P. 1976. The entity-relationship modeltoward a unified view of data. ACM Trans. Database Syst. 1, 1 (Mar. 1976), 9-36. Disponvel em: <http://doi.acm.org/10.1145/320434.320440> . Acesso em: 23 jun. 2010.

& =(*/4%&&
Foram apresentados os principais conceitos da rea de banco de dados. importante que tenham sido assimilados os seguintes conceitos, que sero necessrios para a compreenso dos contedos apresentados mais adiante na disciplinas:
!

Banco de Dados (BD) Sistema Gerenciador de Banco de Dados (SGBD) Modelo de dados Modelagem de dados Projeto conceitual, lgico e fsico de banco de dados.