proj_bd.pdf

5
UC Projeto de Banco de Dados Docente: André Luiz Silva de Moraes 4º sem– Análise e Desenvolvimento de Sistemas Pág | 14 Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004. Roteiro 2 – Conceitos Gerais Objetivos: Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e interfaces do banco de dados; o Modelagem de bancos de dados – projetos: conceitual, lógico e físico; o Classificação dos sistemas gerenciadores de bancos de dados; Utilizar o workbench para realizar a modelagem de bancos de dados. Ferramentas necessárias Navegador, Bibliografias de livros da faculdade. Introdução Este roteiro explora conceitos sobre SGBDs necessários para o entendimento, uso e projeto de Bancos de dados. Também explora a instalação de algumas ferramentas que serão utilizadas pela unidade curricular ao longo do semestre. Arquitetura de Bancos de dados A arquitetura dos SGBDs tem evoluído desde os primeiros sistemas monolíticos, nos quais todo o software GBD era um sistema altamente integrado, até os mais modernos, que têm um projeto modular, com arquitetura cliente/servidor. Geralmente em arquiteturas básicas Cliente/Servidor a funcionalidade do sistema é distribuída entre dois tipos de módulos: O módulo cliente: que normalmente é projetado para executar em uma estação de trabalho ou computador pessoal oferecendo interação ao usuário através de interfaces amigáveis baseadas em menus e indicações visuais. O módulo servidor: responsável pelo armazenamento dos dados, acesso, pesquisa e outras funções. Modelos de dados, esquemas e instâncias Em bancos de dados é comum o uso da abordagem oferecendo algum nível de abstração de dados. Isto significa que estamos suprimindo detalhes da organização e armazenamento dos dados, destacando recursos essenciais para um melhor conhecimento desses dados. Um modelo de dados significa uma coleção de conceitos que podem ser utilizados para descrever a estrutura de um banco de dados e oferece meios para alcançar a abstração desejada. Existem os modelos de dados de alto nível ou conceitual e modelos de dados de baixo nível ou físicos. Modelos de dados de alto nível ou conceitual: oferecem conceitos que são próximos ao modelo como mitos usuários percebem os dados. Geralmente estes modelos utilizam conceitos como entidades, atributos e relacionamentos. Destes conceitos básicos podemos destacar: Entidade: representa um objeto ou conceito do mundo real, como um funcionário ou um projeto do minimundo (situação ampla para um projeto de banco de dados) que é descrito no banco de dados. Em modelagens simples, pode-se comparar a nomenclatura entidade à tabela. Atributo: representa alguma propriedade, como o nome ou salário do funcionário. Relacionamento: representa uma associação entre uma ou entidades, por exemplo, um relacionamento trabalha-em entre um funcionário e um projeto. Modelos de dados de baixo nível ou físicos: oferecem conceitos que descrevem os detalhes de como os dados são armazenados no computador, costumam ser voltados para especialistas de computadores. Descrevem o armazenamento dos dados como arquivos no computador, com informações no formato de registro, ordenações de registro e caminhos de acesso.

Transcript of proj_bd.pdf

  • UC Projeto de Banco de Dados Docente: Andr Luiz Silva de Moraes

    4 sem Anlise e Desenvolvimento de Sistemas

    P g | 14

    Facu

    ldad

    e de

    Tec

    nolo

    gia

    SE

    NA

    C P

    ELO

    TAS

    - C

    rede

    ncia

    do p

    ela

    Por

    taria

    n.

    3.07

    1, d

    e 01

    de

    outu

    bro

    de 2

    004.

    Roteiro 2 Conceitos Gerais

    Objetivos: Explorar conceitos gerais de bancos de dados;

    o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e interfaces do banco de dados;

    o Modelagem de bancos de dados projetos: conceitual, lgico e fsico; o Classificao dos sistemas gerenciadores de bancos de dados;

    Utilizar o workbench para realizar a modelagem de bancos de dados. Ferramentas necessrias Navegador, Bibliografias de livros da faculdade.

    Introduo Este roteiro explora conceitos sobre SGBDs necessrios para o entendimento, uso e projeto de Bancos de dados. Tambm explora a instalao de algumas ferramentas que sero utilizadas pela unidade curricular ao longo do semestre.

    Arquitetura de Bancos de dados

    A arquitetura dos SGBDs tem evoludo desde os primeiros sistemas monolticos, nos quais todo o software GBD era um sistema altamente integrado, at os mais modernos, que tm um projeto modular, com arquitetura cliente/servidor. Geralmente em arquiteturas bsicas Cliente/Servidor a funcionalidade do sistema distribuda entre dois tipos de mdulos:

    O mdulo cliente: que normalmente projetado para executar em uma estao de trabalho ou computador pessoal oferecendo interao ao usurio atravs de interfaces amigveis baseadas em menus e indicaes visuais.

    O mdulo servidor: responsvel pelo armazenamento dos dados, acesso, pesquisa e outras funes.

    Modelos de dados, esquemas e instncias

    Em bancos de dados comum o uso da abordagem oferecendo algum nvel de abstrao de dados. Isto significa que estamos suprimindo detalhes da organizao e armazenamento dos dados, destacando recursos essenciais para um melhor conhecimento desses dados. Um modelo de dados significa uma coleo de conceitos que podem ser utilizados para descrever a estrutura de um banco de dados e oferece meios para alcanar a abstrao desejada. Existem os modelos de dados de alto nvel ou conceitual e modelos de dados de baixo nvel ou fsicos.

    Modelos de dados de alto nvel ou conceitual: oferecem conceitos que so prximos ao modelo como mitos usurios percebem os dados. Geralmente estes modelos utilizam conceitos como entidades, atributos e relacionamentos. Destes conceitos bsicos podemos destacar:

    Entidade: representa um objeto ou conceito do mundo real, como um funcionrio ou um projeto do minimundo (situao ampla para um projeto de banco de dados) que descrito no banco de dados. Em modelagens simples, pode-se comparar a nomenclatura entidade tabela.

    Atributo: representa alguma propriedade, como o nome ou salrio do funcionrio.

    Relacionamento: representa uma associao entre uma ou entidades, por exemplo, um relacionamento trabalha-em entre um funcionrio e um projeto.

    Modelos de dados de baixo nvel ou fsicos: oferecem conceitos que descrevem os detalhes de como os dados so armazenados no computador, costumam ser voltados para especialistas de computadores. Descrevem o armazenamento dos dados como arquivos no computador, com informaes no formato de registro, ordenaes de registro e caminhos de acesso.

  • UC Projeto de Banco de Dados Docente: Andr Luiz Silva de Moraes

    4 sem Anlise e Desenvolvimento de Sistemas

    P g | 15

    Facu

    ldad

    e de

    Tec

    nolo

    gia

    SE

    NA

    C P

    ELO

    TAS

    - C

    rede

    ncia

    do p

    ela

    Por

    taria

    n.

    3.07

    1, d

    e 01

    de

    outu

    bro

    de 2

    004.

    Esquemas

    Em bancos de dados importante distinguir entre a descrio do banco de dados e o prprio banco de dados. A descrio o chamado esquema de banco de dados (squema database), que especificado durante o projeto de banco de dados e no se espera que mude com frequncia. Em alguns softwares utilizados na modelagem de bancos de dados costuma utilizar a nomenclatura squema para definir a descrio de todos os elementos que compem o banco de dados.

    Os dados em um banco de dados armazenados em um determinado momento no tempo so chamados de estado ou instante do banco de dados ou ainda so chamados de conjunto atual de instncias ou ocorrncias no banco de dados. O estado do banco de dados alterado pelo simples fato de alterao das informaes constantes, como a insero de um novo registro ou alterao de uma informao de um registro. O SGBD parcialmente responsvel para garantir o estado de um banco de dados como vlido, ou seja, que satisfaa as descries e restries especificadas no esquema, tambm chamados de Metadados. O esquema de um banco de dados s vezes chamado de inteno e o estado de extenso do esquema.

    Linguagens e interfaces do banco de dados

    Um SGBD necessita oferecer linguagens e interfaces apropriadas para cada categoria de usurio. Quando um projeto de banco de dados finalizado e um SGBD escolhido para implement-lo, o primeiro passo especificar esquemas conceituais e internos para o banco de dados e quaisquer mapeamentos entre os dois. Em muitos casos no h uma separao estrita entre de nveis, ento utilizada uma linguagem chamada de Linguagem de Definio de Dados (Data Definition Language DDL), e utilizada pelo DBA e projetistas de banco de dados para definir os dois esquemas.

    Em SGBDs que mantm a separao entre o nvel conceitual e interno, a DDL utilizada apenas para especificar o esquema conceitual, neste caso, o esquema interno do SGBD definido com uso da Linguagem de Definio de Armazenamento (Storage Definition Language SDL). Na maioria dos bancos de dados relacionais no existe linguagem que utilize SDL. Na realidade os SGBDs relacionais acabam utilizando totalmente a DDL para definir quaisquer tipos de esquemas, e fazem uso da linguagem SQL para a realizao destas tarefas.

    Aps a definio de bancos de dados necessria a utilizao de algo para poder manipular os seus dados, neste caso entra em ao a Linguagem de Manipulao de dados (Data Manipulation Language DML) para estas finalidades, a manipulao inclui tarefas de recuperao, insero, excluso e modificao dos dados.

    O maior exemplo de linguagem de banco de dados a linguagem de banco de dados SQL, que representa uma combinao de DDL, DML e VDL, bem como as instrues para especificao de restries e demais funcionalidades inerentes de bancos de dados.

    O ambiente do sistema de banco de dados

    Um SGBD consiste em um software complexo, e para poder explorar seus componentes necessrio representa-lo em um diagrama estendido capaz de separar as suas funcionalidades e detalhes de sua implementao.

  • UC Projeto de Banco de Dados Docente: Andr Luiz Silva de Moraes

    4 sem Anlise e Desenvolvimento de Sistemas

    P g | 16

    Facu

    ldad

    e de

    Tec

    nolo

    gia

    SE

    NA

    C P

    ELO

    TAS

    - C

    rede

    ncia

    do p

    ela

    Por

    taria

    n.

    3.07

    1, d

    e 01

    de

    outu

    bro

    de 2

    004.

    O banco de dados e o catlogo do SGBD geralmente so armazenados em disco. O seu acesso controlado pelo sistema operacional (SO) que escalona a leitura/escrita em disco.

    Um gerenciador de dados armazenados controla o acesso s informaes do SGBD, tanto para o catlogo quanto para o banco de dados.

    O compilador DDL processa as definies de esquema especificadas e armazena as descries dos esquemas no catlogo do SGBD.

    Uma interface de consulta interativa utilizada por usurios casuais do banco de dados, esta interao realizada atravs de consultas analisadas e validadas por um compilador de consulta, e um otimizador de consulta responsvel, como o prprio nome diz, por otimizar a consulta realizada atravs de procedimentos internos e direcionados ao processador de dados em tempo de execuo, no visveis ao usurio do banco de dados.

    O pr-compilador responsvel por extrair comandos DML de um programa de aplicao escrito em linguagem de programao hospedeira (java, C++, PHP), estes comandos so enviados ao compilador DML para serem compilados em cdigo objeto para o acesso ao banco de dados.

  • UC Projeto de Banco de Dados Docente: Andr Luiz Silva de Moraes

    4 sem Anlise e Desenvolvimento de Sistemas

    P g | 17

    Facu

    ldad

    e de

    Tec

    nolo

    gia

    SE

    NA

    C P

    ELO

    TAS

    - C

    rede

    ncia

    do p

    ela

    Por

    taria

    n.

    3.07

    1, d

    e 01

    de

    outu

    bro

    de 2

    004.

    O restante do programa enviado ao compilador da linguagem hospedeira, os cdigos objeto para comandos DML so ligados formando uma transao programada. Cada execuo no banco considerada uma transao programada.

    Na parte inferior encontrado o processador de banco de dados em tempo de execuo, responsvel por executar comandos privilegiados, planos de consultas executveis e transaes programadas com parmetros em tempo e execuo, trabalhando em conjunto com o catlogo do sistema.

    Ferramentas, ambientes de aplicao e facilidades de comunicaes

    Normalmente, para um projeto de banco de dados necessrio o uso de ferramentas que facilitem o seu planejamento, manuteno e implementao posterior. So utilizadas normalmente diversas ferramentas CASE (utilizadas na engenharia de software) na fase de projeto dos sistemas de bancos de dados. O SGBD tambm precisa realizar a interface com o software de comunicaes, cuja funo permitir que os usurios em locais remotos do sistema de banco de dados acessem o banco de dados por meio de terminais de computador, estaes de trabalho ou computadores pessoais.

    Alguns SGBDs fornecem ferramentas nativas para realizar o seu controle e/ou manuteno de configuraes e informaes de seus bancos de dados, mas existem tambm algumas ferramentas que podem auxiliar no projeto e manuteno de modelos de bancos de dados como por exemplo a ferramenta Workbench (http://www.mysql.com/products/workbench).

    Classificao de Sistemas gerenciadores de bancos de dados

    Vrios critrios so normalmente utilizados para classificar os SGBDs; O primeiro o modelo de dados no qual o SGBD baseado. O principal modelo de dados utilizado comercialmente o modelo de dados relacional. O modelo de dados de objeto foi implementado em alguns sistemas comerciais, mas no tem seu uso generalizado.

    Os SBDs relacionais esto evoluindo continuamente e incorporando muitos dos conceitos que foram desenvolvidos nos bancos de dados de objeto, criando uma nova classe chamada de SGBDs objeto-relacional. Desta forma, o primeiro critrio de classificar bancos de dados pelo seu modelo de dados: relacionais, objeto, objeto-relacional, entre outros.

    O segundo critrio utilizado o nmero de usurios do banco: monousurio e multiusurio.

    O terceiro critrio o nmero de locais sobre os quais o banco de dados est distribudo:

    Centralizado: se os dados estiverem armazenados em um nico computador;

    Distribudo: onde pode ter o banco de dados real e o software de SGBD distribudos por vrios locais, conectados por uma rede de computadores. Ainda assim, divididos em:

    o Homogneos: utilizando o mesmo software SGBD em todos os locais;

    o Heterogneos: utilizado um software SGBD diferente em cada local.

    O quarto critrio o custo: visto que existem SGBDs de cdigo aberto e proprietrios, porm sempre que se desejar funes avanadas para administrao ou manuteno de grandes quantidade de dados, processamento paralelo, replicao, distribuio, capacidade mvel, etc, so parmetros que sempre levam em considerao a adoo de bancos de dados profissionais um custo pelas funcionalidades.

  • UC Projeto de Banco de Dados Docente: Andr Luiz Silva de Moraes

    4 sem Anlise e Desenvolvimento de Sistemas

    P g | 18

    Facu

    ldad

    e de

    Tec

    nolo

    gia

    SE

    NA

    C P

    ELO

    TAS

    - C

    rede

    ncia

    do p

    ela

    Por

    taria

    n.

    3.07

    1, d

    e 01

    de

    outu

    bro

    de 2

    004.

    Tarefas: Execute as tarefas tericas a seguir:

    1) Definir os seguintes termos:

    Conceito Descrio

    Modelo de dados

    Esquema de banco de dados

    Esquema conceitual

    DDL

    DML

    Linguagem Hospedeira

    Estado de banco de dados

    Classificao de SGBDs

    2) Quais so os critrios utilizados para a classificao de um banco de dados? Na sua opinio, qual pode ser considerado um critrio principal, tente explicar.

    3) Pesquise 3 ferramentas CASE que podem ser utilizadas para o desenvolvimento de projetos de banco de dados ou tambm para outras tarefas de manuteno/projeto/administrao. Adicione os seus endereos de web e duas funcionalidades que cada uma permite realizar em um banco de dados.

    Execute as tarefas tericas a seguir:

    4) Abra o software Dia e realize a modelagem conceitual de um banco de dados para controlar veculos que alugam espao por tempo determinado em um estacionamento. O banco de dados deve armazenar os dados dos veculos que podem ser motos, carros, caminhes e bicicletas, e tambm os dados dos clientes que fizeram a locao do espao. Nomeie o arquivo da modelagem como roteiro2-modelagem-estacionamento.

    Referncias Captulo 2: Elmasri, Navathe Sistemas de banco de dados 6 Edio; Mysql Workbench, disponvel em http://www.mysql.com/products/workbench/ Material disponibilizado em aula;